From 8a8d8d09abd67f98a01c9c59a8da10c74e769d4b Mon Sep 17 00:00:00 2001 From: zhaozhaozz <6450679+zhaozhaozz@users.noreply.github.com> Date: Thu, 5 Nov 2026 12:11:42 +0000 Subject: [PATCH] Add guided Feishu application integration Feishu was only a custom group webhook. Owners who want a Bot to answer in Feishu chats, use cards and work with calendars or documents had no supported path. Extend the existing Feishu channel with application connections: - A six-step long-connection guide (seven for an HTTP event address) behind one Connect entry, with permission import JSON, live connection state and polled event status. - Credentials kept in an encrypted per-instance vault, never in state projections or Bot environments. The long connection uses the official SDK; HTTP mode uses a separate event-only listener. - Inbound messages persisted before acknowledgement, deduplicated across restarts, routed per chat to a local Bot and answered in their thread through a durable outbox with Get reactions. - Cards bound to the original message and the actual linked clicker. - Per-Bot, per-product calendar, document, table, sheet, meeting and task tools. Ask-mode writes go through the native approval seam. - The gateway admits the authenticated `feishu` endpoint, documented in the OpenAPI contract. Docker: install ds-bot's runtime dependencies in the image, because `link:` installs none of them and the Feishu SDK import is lazy, and fail the build when a declared dependency is missing. The local override publishes the console on all interfaces and requires an explicit trusted host so browser API requests are admitted. A dial that cannot import the SDK is reported as a missing install, not as a network or credential failure. No console links are sent into Feishu: an attachment over the Feishu limits fails as a tool error. --- .github/scripts/docker-profile.test.mjs | 26 +- .github/scripts/openapi.test.mjs | 3 + Dockerfile | 9 + changelog.d/docker-local-api-trust.fixed.md | 1 + changelog.d/docker-runtime-deps.fixed.md | 1 + changelog.d/feishu-migration.added.md | 1 + core/client.js | 1758 ++-- core/index.js | 3 +- core/src/client/cells.js | 15 +- core/src/client/connectors.js | 12 +- core/src/client/feishu-copy.js | 63 + core/src/client/feishu-setup.js | 109 + core/src/client/i18n.js | 12 + core/src/client/index.js | 3 +- core/src/client/member-status.js | 2 +- core/src/client/styles.js | 56 + core/src/client/workbench/app.js | 16 +- .../client/workbench/native-conversation.js | 13 +- core/src/client/workbench/native-source.js | 3 +- core/src/host/approvals.js | 5 +- core/src/host/authz.js | 2 + core/src/host/channel.js | 11 +- core/src/host/connectors.js | 17 +- core/src/host/constants.js | 2 +- core/src/host/delivery.js | 9 +- core/src/host/feishu-api.js | 32 + core/src/host/feishu-calendar.js | 75 + core/src/host/feishu-format.js | 111 + core/src/host/feishu-http.js | 19 + core/src/host/feishu-sdk.js | 15 +- core/src/host/feishu-service.js | 491 ++ core/src/host/feishu-tools.js | 180 + core/src/host/feishu-vault.js | 50 + core/src/host/remote-chat.js | 7 +- core/src/host/resume.js | 11 +- core/src/host/secrets.js | 2 +- core/src/host/tools.js | 1 + core/src/host/turns.js | 22 +- core/src/host/workbench-gateway.js | 1 + core/src/host/workbench-personal.js | 4 +- core/src/shared/feishu.js | 37 + core/test/feishu-migration.test.js | 450 + core/test/feishu-setup.test.js | 87 + core/test/feishu.test.js | 15 +- core/test/install.test.js | 6 + core/test/run-bot-tools.test.js | 4 +- core/workbench-native.css | 56 + core/workbench-native.js | 2 +- core/workbench.js | 31 +- docker/compose.local.yaml | 22 + docker/profile.mjs | 13 + docs/docker.md | 9 + docs/docker.zh.md | 9 + docs/feishu.md | 43 + docs/openapi/flybot.openapi.json | 340 +- docs/subsystems/backend-service.md | 8 + docs/subsystems/core-client.md | 6 + docs/subsystems/core-host.md | 14 + docs/subsystems/install.md | 4 + docs/subsystems/project-workbench.md | 8 + docs/third-party-bot-integration.md | 4 +- patches/ds-bot/0001-core-fixes.patch | 175 +- patches/ds-bot/0002-flybot-api-host.patch | 11 +- patches/ds-bot/0003-flybot-api-client.patch | 85 +- patches/ds-bot/0005-social-seams.patch | 34 +- patches/ds-bot/0008-client-bundle.patch | 7766 +++++++++-------- patches/ds-bot/0014-flybot-branding.patch | 6 +- .../ds-bot/files/src/client/feishu-copy.js | 63 + .../ds-bot/files/src/client/feishu-setup.js | 109 + .../ds-bot/files/src/client/workbench/app.js | 16 +- .../client/workbench/native-conversation.js | 13 +- .../src/client/workbench/native-source.js | 3 +- patches/ds-bot/files/src/host/authz.js | 2 + patches/ds-bot/files/src/host/feishu-api.js | 32 + .../ds-bot/files/src/host/feishu-calendar.js | 75 + .../ds-bot/files/src/host/feishu-format.js | 111 + patches/ds-bot/files/src/host/feishu-http.js | 19 + patches/ds-bot/files/src/host/feishu-sdk.js | 15 +- .../ds-bot/files/src/host/feishu-service.js | 491 ++ patches/ds-bot/files/src/host/feishu-tools.js | 180 + patches/ds-bot/files/src/host/feishu-vault.js | 50 + patches/ds-bot/files/src/host/remote-chat.js | 7 +- .../files/src/host/workbench-gateway.js | 1 + .../files/src/host/workbench-personal.js | 4 +- patches/ds-bot/files/src/shared/feishu.js | 37 + .../files/test/feishu-migration.test.js | 450 + .../ds-bot/files/test/feishu-setup.test.js | 87 + patches/ds-bot/files/test/feishu.test.js | 15 +- .../ds-bot/files/test/run-bot-tools.test.js | 4 +- patches/ds-bot/files/workbench-native.css | 56 + patches/ds-bot/files/workbench-native.js | 2 +- patches/ds-bot/files/workbench.js | 31 +- scripts/api-contracts.mjs | 2 + 93 files changed, 9980 insertions(+), 4313 deletions(-) create mode 100644 changelog.d/docker-local-api-trust.fixed.md create mode 100644 changelog.d/docker-runtime-deps.fixed.md create mode 100644 changelog.d/feishu-migration.added.md create mode 100644 core/src/client/feishu-copy.js create mode 100644 core/src/client/feishu-setup.js create mode 100644 core/src/host/feishu-api.js create mode 100644 core/src/host/feishu-calendar.js create mode 100644 core/src/host/feishu-format.js create mode 100644 core/src/host/feishu-http.js create mode 100644 core/src/host/feishu-service.js create mode 100644 core/src/host/feishu-tools.js create mode 100644 core/src/host/feishu-vault.js create mode 100644 core/src/shared/feishu.js create mode 100644 core/test/feishu-migration.test.js create mode 100644 core/test/feishu-setup.test.js create mode 100644 docker/compose.local.yaml create mode 100644 docs/feishu.md create mode 100644 patches/ds-bot/files/src/client/feishu-copy.js create mode 100644 patches/ds-bot/files/src/client/feishu-setup.js create mode 100644 patches/ds-bot/files/src/host/feishu-api.js create mode 100644 patches/ds-bot/files/src/host/feishu-calendar.js create mode 100644 patches/ds-bot/files/src/host/feishu-format.js create mode 100644 patches/ds-bot/files/src/host/feishu-http.js create mode 100644 patches/ds-bot/files/src/host/feishu-service.js create mode 100644 patches/ds-bot/files/src/host/feishu-tools.js create mode 100644 patches/ds-bot/files/src/host/feishu-vault.js create mode 100644 patches/ds-bot/files/src/shared/feishu.js create mode 100644 patches/ds-bot/files/test/feishu-migration.test.js create mode 100644 patches/ds-bot/files/test/feishu-setup.test.js diff --git a/.github/scripts/docker-profile.test.mjs b/.github/scripts/docker-profile.test.mjs index 2346e4718..a39dcf6b1 100644 --- a/.github/scripts/docker-profile.test.mjs +++ b/.github/scripts/docker-profile.test.mjs @@ -4,7 +4,7 @@ import assert from 'node:assert/strict' import { mkdtempSync, mkdirSync, writeFileSync, readFileSync, rmSync } from 'node:fs' import { tmpdir } from 'node:os' import { join } from 'node:path' -import { imagePackages, linkPackages, prepareProfile } from '../../docker/profile.mjs' +import { imagePackages, linkPackages, missingDependencies, prepareProfile } from '../../docker/profile.mjs' const root = new URL('../../', import.meta.url) const read = (path) => readFileSync(new URL(path, root), 'utf8') @@ -27,6 +27,30 @@ test('imagePackages lists the unpacked packages by name', () => { } finally { rmSync(dir, { recursive: true, force: true }) } }) +test('missingDependencies names each declared runtime dependency a package does not carry', () => { + const dir = packagesDir() + try { + const core = join(dir, 'ds-bot-0.2.1') + writeFileSync(join(core, 'package.json'), JSON.stringify({ name: 'ds-bot', dependencies: { '@larksuiteoapi/node-sdk': '1.0.0', ws: '8.0.0' }, peerDependencies: { '@deepseek-ai/dsh-llm': '*' } })) + assert.deepEqual(missingDependencies(imagePackages(dir)), ['ds-bot -> @larksuiteoapi/node-sdk', 'ds-bot -> ws'], 'a linked package brings none of its dependencies') + for (const dep of ['@larksuiteoapi/node-sdk', 'ws']) { + mkdirSync(join(core, 'node_modules', dep), { recursive: true }) + writeFileSync(join(core, 'node_modules', dep, 'package.json'), '{}') + } + assert.deepEqual(missingDependencies(imagePackages(dir)), [], 'peers are not checked: the DSH profile provides them') + } finally { rmSync(dir, { recursive: true, force: true }) } +}) + +test('the image installs ds-bot runtime dependencies from the lockfile and checks them', () => { + // Without this the Feishu long connection fails in the container: the SDK import is lazy, so + // the image starts healthy and only the connection reports an error. + const dockerfile = read('Dockerfile') + assert.match(dockerfile, /cd core \\\n && npm ci --omit=dev --ignore-scripts/, 'the pinned runtime dependencies, without build tools or install scripts') + assert.match(dockerfile, /mv node_modules "\$\(echo \/out\/ds-bot-\*\)\/node_modules"/, 'next to the linked package, where its imports resolve') + assert.match(dockerfile, /missingDependencies\(imagePackages\('\/out'\)\)/, 'the build stops on a missing dependency') + assert.match(read('core/.npmrc'), /^legacy-peer-deps=true$/m, 'the @deepseek-ai peers stay out of the image package') +}) + test('a new profile gets the web bundles plus every image package, linked', () => { const next = linkPackages(undefined, [{ name: 'ds-bot', dir: '/opt/p/core' }, { name: '@flybot/tree', dir: '/opt/p/tree' }]) assert.deepEqual(next.dependencies, { 'ds-bot': 'link:/opt/p/core', '@flybot/tree': 'link:/opt/p/tree' }) diff --git a/.github/scripts/openapi.test.mjs b/.github/scripts/openapi.test.mjs index 01a0f12ba..2ee2f0659 100644 --- a/.github/scripts/openapi.test.mjs +++ b/.github/scripts/openapi.test.mjs @@ -41,6 +41,9 @@ test('FBA safe/watch contracts preserve native asymmetries and human/host-only b assert.deepEqual(op('project-role').humanRoles, ['owner']) for (const endpoint of ['personal-agent-token-create', 'personal-agent-delegation-set', 'project-close-prepare', 'project-close-confirm', 'project-terminal-open', 'project-agent-history']) assert.equal(op(endpoint).personalAgent.watch, false, endpoint) assert.deepEqual(op('personal-agent-propose-task').security, [{ personalAgentToken: [] }]) + assert.equal(op('feishu').personalAgent.safe, false) + assert.equal(op('feishu').personalAgent.watch, false) + assert.deepEqual(op('feishu').security, [{ memberSession: [] }]) for (const name of ['claim', 'handoff.offer', 'handoff.accept', 'complete', 'arbitrate', 'split']) assert.throws(() => op('project-development', 'command', name), /Unspecified/) assert.equal(spec.components.schemas.PersonalAgentTokenCreateResult.properties.token.readOnly, true) assert.equal(spec.components.schemas.PersonalAgentTokenCreateResult.properties.token.writeOnly, undefined) diff --git a/Dockerfile b/Dockerfile index e10b85bcb..9d167e3a3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,15 @@ RUN node .github/scripts/check-pack.mjs /pkgs \ && for tgz in /pkgs/*.tgz; do \ dir="/out/$(basename "$tgz" .tgz)"; mkdir -p "$dir" && tar -xzf "$tgz" -C "$dir" --strip-components=1; \ done +# The profile links these packages, and a `link:` installs none of a linked package's own +# dependencies. So ds-bot's runtime ones (the Feishu long-connection SDK, the Claude and Codex +# executor SDKs) go into its node_modules here, at the versions core/package-lock.json pins; +# core/.npmrc keeps the @deepseek-ai peers out, DSH provides those. The build stops if any +# image package still lacks a declared dependency. +RUN cd core \ + && npm ci --omit=dev --ignore-scripts --no-audit --no-fund \ + && mv node_modules "$(echo /out/ds-bot-*)/node_modules" \ + && node --input-type=module -e "import { imagePackages, missingDependencies } from '/src/docker/profile.mjs'; const missing = missingDependencies(imagePackages('/out')); if (missing.length) { console.error('runtime dependencies missing from the image: ' + missing.join(', ')); process.exit(1) }" # Stage 2: the runtime. FROM ${NODE_IMAGE} diff --git a/changelog.d/docker-local-api-trust.fixed.md b/changelog.d/docker-local-api-trust.fixed.md new file mode 100644 index 000000000..ff665c83b --- /dev/null +++ b/changelog.d/docker-local-api-trust.fixed.md @@ -0,0 +1 @@ +Require an explicit trusted browser address for the local Docker override so signing in through a published port also permits authenticated API and WebSocket requests, while other hosts and cross-origin requests remain blocked. diff --git a/changelog.d/docker-runtime-deps.fixed.md b/changelog.d/docker-runtime-deps.fixed.md new file mode 100644 index 000000000..dcde78ab3 --- /dev/null +++ b/changelog.d/docker-runtime-deps.fixed.md @@ -0,0 +1 @@ +The Docker image now carries the FlyBot core's runtime dependencies. The profile links the packages, and a link installs none of their own dependencies, so a container started healthy but could not open the Feishu long connection (and could not load the Claude or Codex executor SDKs). The build now fails if a declared dependency is missing, and a Feishu connection that fails because the SDK is absent says so in the diagnostics instead of pointing at the network and credentials. diff --git a/changelog.d/feishu-migration.added.md b/changelog.d/feishu-migration.added.md new file mode 100644 index 000000000..32ac37210 --- /dev/null +++ b/changelog.d/feishu-migration.added.md @@ -0,0 +1 @@ +Add guided Feishu application setup with long-connection and HTTP reception, persistent threaded Bot routing, rich messages and attachments, linked card submissions, delivery reactions, and application-scoped calendar, document, table, meeting and task tools with native write approvals. Retain custom bot webhooks and add a local Docker port-publishing override. Use one Connect entry with compact permission choices, optional JSON preview and responsive setup navigation. diff --git a/core/client.js b/core/client.js index d7d5f3936..7de042523 100644 --- a/core/client.js +++ b/core/client.js @@ -39,9 +39,126 @@ __export(index_exports, { }); module.exports = __toCommonJS(index_exports); +// src/client/feishu-copy.js +var FEISHU_ZH = { + "Optional tools": "按需选择", + "Select the tools you need. The permission JSON updates automatically.": "勾选需要的工具,权限 JSON 会自动更新。", + "Clipboard is unavailable. Copy the selected JSON below.": "无法访问剪贴板,请手动复制已选中的权限 JSON。", + "Base permissions are always included.": "已包含全部基础权限", + "View permission JSON": "查看权限 JSON", + "Open Feishu Open Platform": "打开飞书开放平台", + "Long connection": "长连接", + "Event address": "事件地址", + "Recommended · no public address": "推荐 · 无需公网地址", + "Requires a public HTTPS address": "需要公网 HTTPS 地址", + "Connection steps": "接入步骤", + "Step {current} of {total}": "第 {current} 步,共 {total} 步", + "Previous step": "上一步", + "Check App ID and App Secret. A nonexistent App ID may be reported as an internal error.": "App ID 或 App Secret 不正确,请在应用的“凭证与基础信息”页面重新复制。App ID 不存在时,飞书可能只返回“内部错误”。", + "FlyBot cannot reach open.feishu.cn. Check the server network or proxy.": "FlyBot 服务器连不上 open.feishu.cn,请检查服务器的网络或代理设置。", + "Credentials accepted, but Bot information is unavailable. Enable the Bot capability and publish a version. You can continue now and test again after publishing.": "凭据正确,但还读不到机器人:应用还没有开启机器人能力,或开启后还没有发布版本。可以先继续下一步,发布版本后再测试。", + "Apply for the missing app permission, publish a new version, wait for approval, then check permissions again.": "请在飞书开放平台申请缺少的应用权限并发布新版本;需要管理员审批时等待通过,再重新检测。", + "The application has reached its long-connection limit (up to 50 connections).": "应用的长连接数已达上限(最多 50 个连接)。", + "Could not connect to open.feishu.cn; check the server network, proxy and application credentials.": "连不上 open.feishu.cn,请检查服务器网络、代理和应用凭据。", + "The Feishu long-connection SDK is not installed on the FlyBot server. Reinstall FlyBot, or rebuild the image if it runs in Docker.": "FlyBot 服务器上没有安装飞书长连接 SDK。请重新安装 FlyBot;用 Docker 运行时请重新构建镜像。", + "Operation failed; check network, permissions and published app version": "操作失败,请检查网络、应用权限及已发布的应用版本。", + "Conversation handlers": "会话处理的 Bot", + "Conversation handler": "处理的 Bot", + "Follow the default Bot": "跟随默认 Bot", + "Reply in thread": "回复消息串", + "Connection name": "接入名称", + "App has read-only permission": "只开通了只读", + "Also process other robots that mention this robot (up to 8 consecutive requests)": "其他机器人 @ 这个机器人时,也交给 Bot 处理(连续最多 8 次)", + "Files": "文件", + "Setup guide": "设置引导", + "Connect Feishu": "接入飞书", + "New connection": "新建接入", + "Prepare a public event address": "准备公网事件地址", + "Create an app on Feishu Open Platform": "在飞书开放平台创建应用", + "Enter credentials and test connection": "填写凭据并测试连接", + "Subscribe to message events and card callbacks": "订阅消息事件与卡片回调", + "Publish an app version": "发布应用版本", + "Choose the Bot represented by the robot": "选择机器人代表的 Bot", + "Try it in Feishu": "在飞书中试一试", + "Long connection (recommended, no public address)": "长连接(推荐,不需要公网地址)", + "Event address (HTTP, needs a public address)": "事件地址(HTTP,需要公网地址)", + "Create an internal app, add the Bot capability, and apply for the permissions below. Do not configure events yet.": "创建企业自建应用,在“添加应用能力”中添加机器人,按下方列表申请权限并设置通讯录权限范围。先不要配置事件订阅。", + "Only Feishu (open.feishu.cn) is supported; Lark is not supported.": "只支持飞书(open.feishu.cn),不支持 Lark 国际版。", + "Copy permission JSON": "复制权限 JSON", + "Copied": "已复制", + "Extended permissions (Feishu tools)": "扩展权限(飞书工具)", + "Calendar": "日历", + "Documents and wiki": "文档与知识库", + "Bitable": "多维表格", + "Spreadsheets": "电子表格", + "Video meetings": "视频会议", + "Tasks": "任务", + "Import this JSON in Permission management → Batch import/export. Set the contact data scope to people who will use the robot.": "在“权限管理 → 批量导入/导出”中粘贴 JSON 并申请开通;在“数据权限”中把通讯录权限范围设为会使用机器人的成员。", + "Public HTTPS event origin": "公网 HTTPS 事件地址前缀", + "Forward only the event port to a public HTTPS address. Do not expose the FlyBot console. Leave Encrypt Key empty.": "准备公网可以访问的 HTTPS 地址,只转发事件端口,不开放控制台。Encrypt Key 保持为空:FlyBot 不接收加密推送的事件。", + "Credentials are encrypted on the platform and cannot be viewed after saving. Bots never receive them.": "FlyBot 加密保存凭据,保存后不能再查看。凭据只留在平台,不交给 Bot。", + "Leave saved credentials blank to keep them. Switching receiving methods reuses the same Feishu application and conversations.": "已有凭据留空即沿用;切换接收方式沿用原来的飞书应用和会话,不需要重新创建。", + "Switching to a long connection deletes the saved Verification Token.": "改用长连接后,原来保存的 Verification Token 会被删除。", + "Save and test connection": "保存并测试连接", + "Connection to Feishu": "与飞书的连接", + "Refreshes every 3 seconds": "每 3 秒刷新", + "Connected": "已连接", + "Connecting…": "正在连接…", + "Connection failed": "连接失败", + "Wait until connected: Feishu only allows saving the long connection subscription after FlyBot connects. Check credentials and network if it keeps waiting.": "还没有连上:飞书只有在 FlyBot 连上之后,才允许把订阅方式保存为长连接。如果一直停在这里,检查 App ID、App Secret,以及服务器能否访问 open.feishu.cn。", + "Now set Events and callbacks → Event configuration → Use long connection to receive events, then save.": "现在到“事件与回调 → 事件配置”,把订阅方式设为“使用长连接接收事件”并保存。", + "Add Receive message v2.0 (im.message.receive_v1).": "添加事件“接收消息 v2.0”(im.message.receive_v1)。", + "In Callback configuration, use the long connection and add Card action trigger (card.action.trigger).": "在“回调配置”中选择“使用长连接接收回调”并保存,添加“卡片回传交互”(card.action.trigger)。", + "In both Event configuration and Callback configuration, select Send to developer server, use the same address below, and save.": "在“事件配置”和“回调配置”中分别选择“将事件/回调发送至开发者服务器”,填写下方同一个请求地址并保存。", + "Address verified": "请求地址已通过验证", + "Waiting for address verification": "等待飞书验证请求地址;失败时检查 Verification Token,并返回上一步修改。", + "Received an event": "已收到飞书事件", + "No event received yet": "尚未收到飞书事件", + "Without card.action.trigger, cards can display but buttons and forms do not respond. Neither test connection nor connected status checks callback subscriptions.": "没有订阅 card.action.trigger 时,卡片能显示,但按钮和表单没有反应。测试连接、基础权限检测和“已连接”都不检测回调订阅。", + "Connect each Feishu app to only one FlyBot instance; multiple instances split incoming messages.": "同一个飞书应用只接到一个 FlyBot:同时接到多个实例时,消息会被随机分走。", + "Create and publish a version in Version management and release. Include the required members or departments. Wait for enterprise approval if required.": "在“版本管理与发布”中创建版本,在可用范围中选择能使用机器人的成员或部门,申请线上发布;需要审核时等待企业管理员通过。", + "Permissions, Bot capability, events and callbacks take effect after publishing. Publish again after any change.": "权限、机器人能力、消息事件和卡片回调订阅在发布后才生效;之后修改也要重新发布版本。", + "Test connection": "测试连接", + "One Feishu application represents one Bot. Group mentions and private messages go to the selected local Bot.": "一个飞书应用就是一个机器人。群里 @ 它的消息和发给它的私聊消息交给选中的本地 Bot 处理,回复以机器人的身份发出。", + "Choose a Bot": "选择 Bot", + "Add the application under Group settings → Group robots. Mention it in the group, or send a private message.": "在“群设置 → 群机器人”中添加这个应用,在群里 @ 机器人,或直接私聊它。", + "Ask the Bot to send a card with a submit button. Click it and confirm Submitted. Ordinary chat success does not verify card callbacks.": "请机器人发送一张带提交按钮的卡片,实际点击并确认出现“已提交”提示;普通聊天成功不能代替卡片交互验证。", + "Each group or private chat keeps one FlyBot conversation; thread replies return to the original thread. Message edits and recalls are not synchronized.": "一个群聊或私聊对应一个 FlyBot 会话;消息串中的回复发回原消息串。不同步消息的编辑和撤回。", + "Who may send messages": "谁可以发消息", + "Allow an open_id": "允许发消息的 open_id", + "Allowed senders can send messages; this does not grant platform identity or approval authority.": "白名单只表示允许发消息,不等于平台用户或审批权限。", + "Identity linking": "身份关联", + "Feishu open_id": "飞书 open_id", + "Platform member": "平台成员", + "Link identity": "关联身份", + "Link to an existing signed-in platform member. No external members or new login accounts are created. Unlinked card submissions and meeting bookings are refused.": "关联到已有平台成员,不创建外部成员或新登录账号。未关联的卡片提交和视频会议预约会被拒绝。", + "Feishu tools": "飞书工具", + "Disabled": "禁用", + "Read only": "只读", + "Read/write, ask before writes": "读写,写入需询问", + "Read/write": "读写", + "Permissions of the Feishu application": "飞书应用的权限", + "Check permissions again": "重新检测", + "App permission not granted": "飞书应用未开通", + "Diagnostics": "诊断记录", + "Delivery records": "投递记录", + "Cards": "卡片", + "Delete connection": "删除接入", + "Later": "稍后继续", + "Next": "下一步", + "Back": "上一步", + "Finish": "完成", + "Save": "保存", + "App ID must be cli_ followed by 16 hexadecimal characters": "App ID 必须是 cli_ 加 16 位十六进制字符。", + "Enter the App Secret": "请填写 App Secret。", + "Enter the Verification Token": "请填写 Verification Token。", + "Prepare a public HTTPS event address": "请先准备公网可以访问的 HTTPS 事件地址。" +}; + // src/client/i18n.js var NAMESPACE = "ds-bot"; var ZH = { + ...FEISHU_ZH, // Workflows settings (#1364). The page lists factory pipelines and your own graphs. Workflows: "工作流", "A workflow is a group of your Bots. Drag the flowchart to change who hands work to whom.": "工作流是一组你的 Bot。拖动流程图,改谁把工作交给谁。", @@ -1573,6 +1690,15 @@ function installLocale(locale) { if (typeof off === "function") off(); }; } +function installBrowserLocale(tag) { + const active = typeof tag === "string" ? tag : "en"; + return installLocale({ + getLocale: () => ({ active }), + register: () => () => { + }, + bind: () => (key, params) => fill(active.startsWith("zh") ? ZH[key] ?? key : key, params) + }); +} function t(key, params) { return bound ? bound(key, params) : fill(key, params); } @@ -2286,8 +2412,8 @@ function bodyOf(def, paint, flat = false) { return ""; } } -var eyeMarkup = ([cx, cy, w, h50, tilt]) => ``; -var happyEyeMarkup = ([cx, cy, w, h50, tilt]) => ``; +var eyeMarkup = ([cx, cy, w, h51, tilt]) => ``; +var happyEyeMarkup = ([cx, cy, w, h51, tilt]) => ``; var maskBox = (size) => `maskUnits="userSpaceOnUse" x="${-size}" y="${-size}" width="${size * 3}" height="${size * 3}"`; var holes = (def, eyes) => `${eyes}`; var MASK_ID = "%MASK%"; @@ -3099,29 +3225,29 @@ function inviteCountdown(expiresAt, offsetMs = 0) { const total = Math.max(1, Math.ceil(left / 1e3)); return `${Math.floor(total / 60)}:${String(total % 60).padStart(2, "0")} left to join`; } -function RoomInvitePreview({ h: h50, preview, kind = "face-link-preview", busy = false, joinLabel = "Join", clearLabel = "Clear", showClear = true, onJoin, onClear, now } = {}) { - if (!preview || typeof h50 !== "function") return null; +function RoomInvitePreview({ h: h51, preview, kind = "face-link-preview", busy = false, joinLabel = "Join", clearLabel = "Clear", showClear = true, onJoin, onClear, now } = {}) { + if (!preview || typeof h51 !== "function") return null; const at = `${kind}`; const child = (name) => `${at}-${name}`; const countdown = now === void 0 ? inviteCountdown(preview.expiresAt, preview.clockOffsetMs) : inviteCountdownAt(preview.expiresAt, preview.clockOffsetMs, now); - return h50( + return h51( "div", { className: "fs-preview", "data-flybot": at, role: "status" }, - h50("div", { className: "fs-preview-name", "data-flybot": child("name") }, preview.name || "Face-to-face room"), - preview.lead ? h50("div", { className: "fs-preview-meta", "data-flybot": child("lead") }, `Lead: ${preview.lead}`) : null, - preview.people ? h50("div", { className: "fs-preview-meta", "data-flybot": child("members") }, preview.people) : null, - preview.expiresAt ? h50("div", { className: "fs-preview-meta", "data-flybot": child("expiry") }, countdown) : null, - onJoin || onClear ? h50( + h51("div", { className: "fs-preview-name", "data-flybot": child("name") }, preview.name || "Face-to-face room"), + preview.lead ? h51("div", { className: "fs-preview-meta", "data-flybot": child("lead") }, `Lead: ${preview.lead}`) : null, + preview.people ? h51("div", { className: "fs-preview-meta", "data-flybot": child("members") }, preview.people) : null, + preview.expiresAt ? h51("div", { className: "fs-preview-meta", "data-flybot": child("expiry") }, countdown) : null, + onJoin || onClear ? h51( "div", { className: "fs-preview-foot", "data-flybot": child("foot") }, - showClear && onClear ? h50("button", { + showClear && onClear ? h51("button", { type: "button", className: "fs-btn fs-btn-sm", "data-flybot": child("clear"), disabled: !!busy, onClick: onClear }, clearLabel) : null, - onJoin ? h50("button", { + onJoin ? h51("button", { type: "button", className: "fs-btn fs-btn-sm fs-btn-primary", "data-flybot": child("join"), @@ -3751,12 +3877,12 @@ function liveSprings(apply2) { const dt = Math.min(0.5, Math.max(1e-3, (now - last) / 1e3)); last = now; const steps = Math.ceil(dt * 240); - const h50 = dt / steps; + const h51 = dt / steps; let moving = false; for (const value of values.values()) { for (let index = 0; index < steps; index += 1) { - value.v += (-value.k * (value.x - value.to) - value.c * value.v) * h50; - value.x += value.v * h50; + value.v += (-value.k * (value.x - value.to) - value.c * value.v) * h51; + value.x += value.v * h51; } if (Math.abs(value.x - value.to) < 0.05 && Math.abs(value.v) < 1) { value.x = value.to; @@ -4496,6 +4622,62 @@ button.bt-set-row:hover{background:var(--bt-hover)} .bt-connector[data-state=error] .bt-connector-status{color:#e02135;white-space:normal} .bt-connector-actions{flex:none;display:flex;gap:6px} .bt-connector-form{display:flex;flex-direction:column;gap:8px;padding-left:48px;animation:bt-q-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},bt-veil-in .2s ease-out} +.bt-feishu-setup{container-type:inline-size;min-width:0;width:100%;max-width:960px;box-sizing:border-box;padding:20px;border:1px solid var(--bt-line);border-radius:14px;background:var(--bt-card);color:var(--bt-ink);font:13px/1.6 ui-sans-serif,system-ui,sans-serif;overflow-wrap:anywhere;animation:bt-veil-in .16s ease-out} +.bt-feishu-setup *{box-sizing:border-box} +.bt-feishu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--bt-line)} +.bt-feishu-header h3{padding:0;margin:0 0 4px;font-size:17px;line-height:24px;font-weight:650;letter-spacing:-.02em} +.bt-feishu-header>.bt-input{width:220px;max-width:45%;flex:none} +.bt-feishu-setup .bt-set-hint{margin:0;font-size:12px;line-height:1.7;color:var(--bt-ink-2)} +.bt-feishu-body{display:flex;flex-direction:column;gap:22px;padding-top:18px} +.bt-feishu-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px} +.bt-feishu-modes button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:11px 14px;border:1px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color .12s,border-color .12s} +.bt-feishu-modes button:hover{background:var(--bt-hover)} +.bt-feishu-modes button[aria-pressed=true]{border-color:var(--bt-accent);background:color-mix(in srgb,var(--bt-accent) 6%,var(--bt-card));box-shadow:0 0 0 1px var(--bt-accent)} +.bt-feishu-modes strong{font-size:13px;font-weight:600}.bt-feishu-modes small{color:var(--bt-ink-2);font-size:11px} +.bt-feishu-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:start} +.bt-feishu-progress{min-width:0}.bt-feishu-progress ol{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0} +.bt-feishu-progress li{min-width:0}.bt-feishu-progress button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-2);font:inherit;font-size:12px;line-height:19px;text-align:left;cursor:pointer} +.bt-feishu-progress button:hover:not(:disabled){background:var(--bt-hover)} +.bt-feishu-progress button[aria-current=step]{background:color-mix(in srgb,var(--bt-accent) 7%,var(--bt-card));color:var(--bt-accent);font-weight:600} +.bt-feishu-progress button:disabled{opacity:.48;cursor:default} +.bt-feishu-step-number{display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border:1px solid var(--bt-line-2);border-radius:50%;font-size:11px;font-variant-numeric:tabular-nums} +.bt-feishu-progress [aria-current=step] .bt-feishu-step-number{background:var(--bt-accent);border-color:var(--bt-accent);color:white} +.bt-feishu-progress [data-done=true] .bt-feishu-step-number{border-color:transparent;background:var(--bt-hover);color:var(--bt-ink-2)} +.bt-feishu-step{min-width:0}.bt-feishu-step-heading{margin-bottom:16px}.bt-feishu-eyebrow{display:block;margin-bottom:4px;color:var(--bt-ink-2);font-size:11px} +.bt-feishu-step h4{margin:0;font-size:16px;line-height:24px;font-weight:650;letter-spacing:-.02em} +.bt-feishu-step-content>div{display:flex;flex-direction:column;align-items:stretch;gap:14px} +.bt-feishu-external{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;align-self:flex-start;border:1px solid var(--bt-line-2);border-radius:8px;padding:7px 11px;color:var(--bt-ink);font-size:12px;font-weight:500;text-decoration:none} +.bt-feishu-external:hover{background:var(--bt-hover)}.bt-feishu-external span{color:var(--bt-ink-2)} +.bt-feishu-permissions{display:flex;flex-direction:column;gap:10px;padding-top:5px}.bt-feishu-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.bt-feishu-section-head strong{font-size:13px;font-weight:600} +.bt-feishu-optional{color:var(--bt-ink-2);font-size:11px}.bt-feishu-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px} +.bt-feishu-permission{display:flex;align-items:center;gap:9px;min-width:0;min-height:42px;margin:0;padding:9px 11px;border:1px solid var(--bt-line);border-radius:9px;background:var(--bt-card);font-size:12px;line-height:20px;cursor:pointer;transition:background-color .12s,border-color .12s} +.bt-feishu-permission:hover{border-color:var(--bt-line-2);background:var(--bt-hover)} +.bt-feishu-permission[data-checked=true]{border-color:color-mix(in srgb,var(--bt-accent) 55%,var(--bt-line));background:color-mix(in srgb,var(--bt-accent) 5%,var(--bt-card))} +.bt-feishu-setup input[type=checkbox]{appearance:auto;flex:none;width:15px;height:15px;min-height:0;margin:0;padding:0;border-radius:4px;accent-color:var(--bt-accent);cursor:pointer} +.bt-feishu-permission-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px} +.bt-feishu-setup .bt-feishu-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:6px;flex:none;width:auto;min-height:34px;height:auto;margin:0;padding:6px 12px;border:1px solid var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:12px;font-weight:500;cursor:pointer;box-shadow:none} +.bt-feishu-setup .bt-feishu-button:hover:not(:disabled){background:var(--bt-hover)}.bt-feishu-setup .bt-feishu-button:disabled{opacity:.4;cursor:default} +.bt-feishu-setup .bt-feishu-primary{background:var(--bt-accent);border-color:var(--bt-accent);color:#fff;padding-inline:18px} +.bt-feishu-setup .bt-feishu-primary:hover:not(:disabled){background:color-mix(in srgb,var(--bt-accent) 88%,#000)} +.bt-feishu-setup .bt-feishu-quiet{border-color:transparent;background:transparent;color:var(--bt-ink-2)} +.bt-feishu-setup :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--bt-accent);outline-offset:3px} +.bt-feishu-setup details{min-width:0}.bt-feishu-setup summary{cursor:pointer;font-size:12px;font-weight:500;line-height:20px;padding:8px 0;color:var(--bt-ink-2)} +.bt-feishu-json{border:0}.bt-feishu-setup .bt-feishu-json summary{padding:2px 0;color:var(--bt-accent);font-weight:400} +.bt-feishu-setup .bt-feishu-json textarea{width:100%;height:180px;min-height:120px;max-height:320px;margin-top:10px;padding:12px;border:1px solid var(--bt-line);border-radius:8px;background:var(--bt-sidebar);color:var(--bt-ink-2);font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical;white-space:pre;overflow:auto;overflow-wrap:normal} +.bt-feishu-field,.bt-feishu-setup .bt-q-field{display:flex;flex-direction:column;flex:initial;gap:6px;min-width:0;min-height:0;margin:0;padding:0;border:0;cursor:default;color:var(--bt-ink-2);font-size:12px} +.bt-feishu-setup .bt-input{min-width:0;height:38px;padding:0 11px;font-size:13px;border-color:var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink)} +.bt-feishu-field+.bt-feishu-field{margin-top:2px}.bt-feishu-setup .bt-input:disabled{opacity:.65;background:var(--bt-sidebar)} +.bt-feishu-check{display:flex;align-items:flex-start;gap:9px;font-size:12px}.bt-feishu-check input{margin-top:3px!important} +.bt-feishu-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--bt-line)} +.bt-feishu-footer>div{display:flex;align-items:center;gap:6px}.bt-feishu-result,.bt-feishu-error{margin:14px 0 0;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.6;background:var(--bt-sidebar);color:var(--bt-ink-2)} +.bt-feishu-result[data-success=true]{color:var(--bt-ink);border:1px solid var(--bt-line)}.bt-feishu-error{color:#d33e4e;background:color-mix(in srgb,#e5484d 7%,var(--bt-card))} +.bt-feishu-management{border-top:1px solid var(--bt-line);padding-top:8px}.bt-feishu-management>details+details{border-top:1px solid var(--bt-line)} +.bt-feishu-management>details>summary{padding:12px 0;color:var(--bt-ink)}.bt-feishu-management>details[open]{display:flex;flex-direction:column;gap:10px;padding-bottom:14px} +.bt-feishu-management>details>fieldset{min-width:0;margin:4px 0;padding:12px;border:1px solid var(--bt-line);border-radius:10px}.bt-feishu-management legend{font-size:12px;font-weight:600;padding-inline:4px} +.bt-feishu-management fieldset>.bt-q-field+.bt-q-field{margin-top:10px}.bt-feishu-setup code,.bt-feishu-setup pre{white-space:pre-wrap;overflow-wrap:anywhere}.bt-feishu-setup ul{padding-left:18px;margin:4px 0} +.bt-feishu-webhook{margin-top:18px;padding-top:10px;border-top:1px solid var(--bt-line)}.bt-feishu-webhook[open]{display:flex;flex-direction:column;gap:12px}.bt-feishu-webhook>summary{color:var(--bt-ink-2)} +@container (max-width:640px){.bt-feishu-layout{display:flex;flex-direction:column;gap:18px}.bt-feishu-progress{width:100%}.bt-feishu-progress ol{flex-direction:row;gap:5px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.bt-feishu-progress li{flex:1}.bt-feishu-progress button{justify-content:center;padding:5px;gap:7px}.bt-feishu-step-label{display:none}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{display:block;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-feishu-progress li:has([aria-current=step]){flex:4}.bt-feishu-step{width:100%}.bt-feishu-header{flex-direction:column;gap:10px}.bt-feishu-header>.bt-input{max-width:100%;width:100%}} +@container (max-width:340px){.bt-feishu-modes{gap:8px}.bt-feishu-modes button{padding:9px 10px}.bt-feishu-modes small{font-size:10px}.bt-feishu-permission{padding:8px}.bt-feishu-footer>div{gap:2px}.bt-feishu-footer .bt-feishu-button{padding-inline:9px}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{max-width:90px}} .bt-connector-form-row{display:flex;align-items:center;gap:6px} .bt-connector-apps{display:flex;flex-direction:column;gap:8px} .bt-connector-link{flex:1;font-size:12px;color:var(--bt-ink-2)} @@ -5426,7 +5608,7 @@ function QuestionView({ question, onAnswer, onDismiss, ownAnswer = false, raised }; useOptionKeys(options.length, (index) => choose(options[index].label), ownRef); const ownLetter = options.length > 0 ? keyLetter(options.length) : void 0; - const field = ownAnswer ? (0, import_react6.createElement)("textarea", { + const field2 = ownAnswer ? (0, import_react6.createElement)("textarea", { ref: ownRef, rows: 1, value: own, @@ -5465,12 +5647,12 @@ function QuestionView({ question, onAnswer, onDismiss, ownAnswer = false, raised selected && !raised ? (0, import_react6.createElement)("span", { className: "bt-q-check", title: t("Selected") }, (0, import_react6.createElement)(CheckIcon)) : null ); }); - if (raised && field) { + if (raised && field2) { rows.push((0, import_react6.createElement)( "label", { key: "own", className: "bt-q-opt bt-q-ownrow", "data-filled": custom !== "" ? "" : void 0 }, ownLetter ? (0, import_react6.createElement)("span", { className: "bt-key", "aria-hidden": true }, ownLetter) : null, - (0, import_react6.createElement)("span", { className: "bt-q-body" }, field) + (0, import_react6.createElement)("span", { className: "bt-q-body" }, field2) )); } let foot = null; @@ -5507,10 +5689,10 @@ function QuestionView({ question, onAnswer, onDismiss, ownAnswer = false, raised (0, import_react6.createElement)("button", { type: "button", className: "bt-q-x", "aria-label": t("Dismiss question"), title: t("Dismiss"), onClick: onDismiss }, (0, import_react6.createElement)(CloseIcon)) ), rows.length > 0 ? (0, import_react6.createElement)("div", { className: "bt-q-list", role: "group" }, rows) : null, - field && !raised ? (0, import_react6.createElement)( + field2 && !raised ? (0, import_react6.createElement)( "div", { className: "bt-q-custom" }, - (0, import_react6.createElement)("label", { className: "bt-q-field" }, field), + (0, import_react6.createElement)("label", { className: "bt-q-field" }, field2), !multi && canSubmit ? (0, import_react6.createElement)("button", { type: "submit", className: "bt-q-submit" }, t("Submit")) : null ) : null, foot @@ -6370,6 +6552,7 @@ function AssistantCell({ node, groupPart, sessionId, openFile, fileMentions, use const closing = useClosingText(node, useTurnData); const hidden = Boolean(roster.roomsById[sessionId]) || isHiddenTurn(roster, sessionId, data.turn); const person = typedBy(roster, sessionId, data.turn); + const feishu = roster.feishuTurns?.[sessionId]?.[data.turn]; const texts2 = groupPart === "reasoning" ? [] : data.blocks.filter((block) => block.kind === "text" && block.text.trim() !== "").map((block, index) => index === 0 ? stripTrace(block.text) : block.text).filter((text2) => text2.trim() !== ""); const running = data.status === "running"; useLiveNote(actions, sessionId, `text:${node.key ?? data.seq}`, !hidden && running && texts2.length > 0 ? { text: true } : null); @@ -6380,8 +6563,10 @@ function AssistantCell({ node, groupPart, sessionId, openFile, fileMentions, use const selfId = roster.byId[sessionId]?.id ?? sessionId; const bubbles = texts2.length ? person ? (0, import_react9.createElement)(PersonMessage, { name: person, texts: texts2, roster, selfId, actions, sessionId, msgKey: `${sessionId}:${data.turn}:${node.key ?? data.seq ?? ""}`, useUi }) : (0, import_react9.createElement)(Bubbles, { texts: texts2, roster, selfId, actions, streaming: running, sessionId, msgKey: `${sessionId}:${data.turn}:${node.key ?? data.seq ?? ""}`, useUi, mentions, lead: friendLead(roster.byId[sessionId], texts2) }) : null; return (0, import_react9.createElement)( - import_react9.Fragment, - null, + feishu ? "div" : import_react9.Fragment, + feishu ? { id: `feishu-message-${feishu.messageId ?? data.turn}`, "data-feishu-root": feishu.rootId ?? "" } : null, + feishu?.rootId ? (0, import_react9.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", title: feishu.rootId, onClick: () => document.getElementById(`feishu-message-${feishu.rootId}`)?.scrollIntoView?.({ block: "center" }) }, t("Reply in thread")) : null, + feishu?.attachments?.length ? (0, import_react9.createElement)(RemoteFiles, { files: feishu.attachments, appId: feishu.appId, plugin: "feishu", botId: selfId }) : null, relays.map((relay) => { const source = relay.source; const sender = roster.byId[source.senderSessionId] ?? { id: source.senderSessionId, name: source.senderName ?? t("a Bot"), color: "gray" }; @@ -6549,7 +6734,7 @@ function RemoteMessage({ source, text: text2, roster, actions, sessionId, msgKey carrier ? (0, import_react9.createElement)("span", { className: "bt-remote-handle" }, t("via {name}", { name: carrier })) : null ), (0, import_react9.createElement)(Bubbles, { texts: [stripTrace(text2)], roster, selfId: bot.id, actions, sessionId, msgKey, useUi, lead: (0, import_react9.createElement)("span", { className: "bt-lead", title: person }, (0, import_react9.createElement)(PersonMark, { name: person })) }), - files.length ? (0, import_react9.createElement)(RemoteFiles, { files, plugin: member?.plugin ?? "social", botId: roster.byId[sessionId]?.id ?? sessionId }) : null + files.length ? (0, import_react9.createElement)(RemoteFiles, { files, appId: source.feishu?.appId, plugin: source.feishu ? "feishu" : member?.plugin ?? "social", botId: roster.byId[sessionId]?.id ?? sessionId }) : null ); } const mark = (0, import_react9.createElement)(BotMark, { bot, size: 22 }); @@ -6565,7 +6750,7 @@ function RemoteMessage({ source, text: text2, roster, actions, sessionId, msgKey (0, import_react9.createElement)("span", { className: "bt-remote-handle", title: source.remote.home ?? handle, "aria-label": t("Friend's Bot") }, (0, import_react9.createElement)(GlobeMark), handle) ), (0, import_react9.createElement)(Bubbles, { texts: [stripTrace(text2)], roster, selfId: bot.id, actions, sessionId, msgKey, useUi, lead }), - files.length ? (0, import_react9.createElement)(RemoteFiles, { files, plugin: member?.plugin ?? "social", botId: roster.byId[sessionId]?.id ?? sessionId }) : null + files.length ? (0, import_react9.createElement)(RemoteFiles, { files, appId: source.feishu?.appId, plugin: source.feishu ? "feishu" : member?.plugin ?? "social", botId: roster.byId[sessionId]?.id ?? sessionId }) : null ); } function FirstContact({ source, roster, sessionId }) { @@ -6582,14 +6767,14 @@ function GlobeMark() { (0, import_react9.createElement)("path", { d: "M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18" }) ); } -function RemoteFiles({ files, plugin, botId }) { +function RemoteFiles({ files, plugin, botId, appId }) { const [busy, setBusy] = (0, import_react9.useState)(""); const [error, setError] = (0, import_react9.useState)(""); const download2 = async (file) => { setBusy(file.id); setError(""); try { - const got = await call(`flybot/${plugin}/attachment`, { id: file.id, botId }); + const got = plugin === "feishu" ? await call("feishu", { operation: "attachment", appId, attachmentId: file.id }) : await call(`flybot/${plugin}/attachment`, { id: file.id, botId }); const value = got?.value ?? got; const bytes = Uint8Array.from(atob(value.content_base64), (c) => c.charCodeAt(0)); const url = URL.createObjectURL(new Blob([bytes], { type: "application/octet-stream" })); @@ -6855,6 +7040,10 @@ var SILENT_REGISTRATION_TOOLS = /* @__PURE__ */ new Set([ "track_tasks", "request_secret", "list_secrets", + "feishu_apps", + "feishu_tool", + "feishu_card", + "feishu_file", "group_relay", "read_own_chat", "read_group_chat", @@ -7761,7 +7950,7 @@ function useNow(active) { return now; } var since = (now, at) => typeof at === "number" && now - at >= 6e4 ? ` · ${elapsedLabel(now - at)}` : ""; -var alwaysChoices = (approval, bot) => bot?.remote ? [] : [ +var alwaysChoices = (approval, bot) => bot?.remote || approval.tool === "feishu_tool" ? [] : [ ["always-bot", "Always allow for this Bot"], ...approval.roomId ? [["always-room", "Always allow for this group"]] : [] ]; @@ -9980,18 +10169,18 @@ function UpdateButton({ useUpdate, actions }) { const [box, setBox] = (0, import_react17.useState)(null); const [error, setError] = (0, import_react17.useState)(""); const [dshError, setDshError] = (0, import_react17.useState)(""); - const button = (0, import_react17.useRef)(null); + const button2 = (0, import_react17.useRef)(null); (0, import_react17.useEffect)(() => { if (!open) return void 0; const onDown = (event) => { - if (event.target instanceof Element && (event.target.closest(".bt-update-pop") || button.current?.contains(event.target))) return; + if (event.target instanceof Element && (event.target.closest(".bt-update-pop") || button2.current?.contains(event.target))) return; setOpen(false); }; const onKey = (event) => { if (event.key === "Escape") { event.stopPropagation(); setOpen(false); - button.current?.focus(); + button2.current?.focus(); } }; window.addEventListener("mousedown", onDown); @@ -10008,7 +10197,7 @@ function UpdateButton({ useUpdate, actions }) { if (!update?.available && !dshRow && phase === "idle" && dshPhase === "idle") return null; const cloudPhase = phase === "installing" || dshPhase === "installing" ? "installing" : phase !== "idle" ? phase : dshPhase; const toggle = () => { - const rect = button.current?.getBoundingClientRect(); + const rect = button2.current?.getBoundingClientRect(); if (rect) setBox({ left: Math.max(8, Math.min(rect.left, window.innerWidth - 288)), top: rect.bottom + 6 }); setOpen((value) => !value); }; @@ -10028,7 +10217,7 @@ function UpdateButton({ useUpdate, actions }) { import_react17.Fragment, null, (0, import_react17.createElement)("button", { - ref: button, + ref: button2, type: "button", className: "bt-round bt-update", "data-phase": cloudPhase, @@ -10175,7 +10364,7 @@ function AccountLauncher({ seat = true, settingsOpen, openSettings, openOnboardi return () => actions.seatAccount(false); }, [seat]); const [box, setBox] = (0, import_react17.useState)(null); - const button = (0, import_react17.useRef)(null); + const button2 = (0, import_react17.useRef)(null); (0, import_react17.useEffect)(() => { if (settingsOpen) setOpen(false); }, [settingsOpen]); @@ -10196,14 +10385,14 @@ function AccountLauncher({ seat = true, settingsOpen, openSettings, openOnboardi (0, import_react17.useEffect)(() => { if (!open) return void 0; const onDown = (event) => { - if (event.target instanceof Element && (event.target.closest(".bt-account-menu") || button.current?.contains(event.target))) return; + if (event.target instanceof Element && (event.target.closest(".bt-account-menu") || button2.current?.contains(event.target))) return; setOpen(false); }; const onKey = (event) => { if (event.key === "Escape") { event.stopPropagation(); setOpen(false); - button.current?.focus(); + button2.current?.focus(); } }; window.addEventListener("mousedown", onDown); @@ -10214,7 +10403,7 @@ function AccountLauncher({ seat = true, settingsOpen, openSettings, openOnboardi }; }, [open]); const toggle = () => { - const rect = button.current?.getBoundingClientRect(); + const rect = button2.current?.getBoundingClientRect(); if (rect) setBox({ left: rect.left, bottom: window.innerHeight - rect.top + 5 }); setOpen((value) => !value); }; @@ -10235,7 +10424,7 @@ function AccountLauncher({ seat = true, settingsOpen, openSettings, openOnboardi null, (0, import_react17.createElement)( "button", - { ref: button, type: "button", className: "bt-account", "aria-label": t("Account"), "aria-haspopup": "menu", "aria-expanded": open, onClick: toggle }, + { ref: button2, type: "button", className: "bt-account", "aria-label": t("Account"), "aria-haspopup": "menu", "aria-expanded": open, onClick: toggle }, (0, import_react17.createElement)("span", { className: "bt-you", "aria-hidden": true }, (0, import_react17.createElement)(BotMark, { look: MAIN_LOOK, size: 24 })) ), open && box ? (0, import_react_dom4.createPortal)((0, import_react17.createElement)( @@ -10246,7 +10435,7 @@ function AccountLauncher({ seat = true, settingsOpen, openSettings, openOnboardi import_react17.Fragment, { key: index }, index > 0 ? (0, import_react17.createElement)("div", { className: "bt-menu-sep", role: "separator" }) : null, - group.map(([label, Icon, run, hint]) => (0, import_react17.createElement)("button", { + group.map(([label, Icon, run, hint2]) => (0, import_react17.createElement)("button", { key: label, type: "button", role: "menuitem", @@ -10254,7 +10443,7 @@ function AccountLauncher({ seat = true, settingsOpen, openSettings, openOnboardi setOpen(false); void Promise.resolve(run()).catch((error) => actions.reportError(error, "menu")); } - }, (0, import_react17.createElement)(Icon), (0, import_react17.createElement)("span", { className: "bt-menu-label" }, label), hint ? (0, import_react17.createElement)("span", { className: "bt-menu-hint" }, hint) : null)) + }, (0, import_react17.createElement)(Icon), (0, import_react17.createElement)("span", { className: "bt-menu-label" }, label), hint2 ? (0, import_react17.createElement)("span", { className: "bt-menu-hint" }, hint2) : null)) )) ), document.body) : null ); @@ -11935,12 +12124,12 @@ function ComposerPlus({ sessionId, inputActions, useRoster, actions }) { const roster = useRoster((value) => value); const [open, setOpen] = (0, import_react21.useState)(null); const [shown, leaving] = useLinger(open, 120); - const button = (0, import_react21.useRef)(null); + const button2 = (0, import_react21.useRef)(null); const menu = (0, import_react21.useRef)(null); (0, import_react21.useEffect)(() => { if (!open) return void 0; const onDown = (event) => { - if (![button.current, menu.current].some((node) => node?.contains(event.target))) setOpen(null); + if (![button2.current, menu.current].some((node) => node?.contains(event.target))) setOpen(null); }; const onKey = (event) => { if (event.key === "Escape") { @@ -11962,12 +12151,12 @@ function ComposerPlus({ sessionId, inputActions, useRoster, actions }) { setOpen(null); return; } - const rect = button.current.getBoundingClientRect(); + const rect = button2.current.getBoundingClientRect(); setOpen({ left: rect.left, bottom: window.innerHeight - rect.top + 8 }); }; const attach = () => { setOpen(null); - button.current?.closest("[data-composer-card]")?.querySelector("input[type=file]")?.click(); + button2.current?.closest("[data-composer-card]")?.querySelector("input[type=file]")?.click(); }; const schedule = () => { setOpen(null); @@ -11982,7 +12171,7 @@ function ComposerPlus({ sessionId, inputActions, useRoster, actions }) { import_react21.Fragment, null, (0, import_react21.createElement)("button", { - ref: button, + ref: button2, type: "button", className: "bt-plus", "aria-label": t("Add"), @@ -12569,20 +12758,20 @@ var Caret = () => (0, import_react22.createElement)("svg", { className: "bt-mode function useAnchoredMenu() { const [place, setPlace] = (0, import_react22.useState)(null); const [shownPlace, leaving] = useLinger(place, MENU_EXIT_MS); - const button = (0, import_react22.useRef)(null); + const button2 = (0, import_react22.useRef)(null); const menu = (0, import_react22.useRef)(null); const close = () => setPlace(null); (0, import_react22.useEffect)(() => { if (place === null) return void 0; const onDown = (event) => { - if (menu.current?.contains(event.target) || button.current?.contains(event.target)) return; + if (menu.current?.contains(event.target) || button2.current?.contains(event.target)) return; close(); }; const onKey = (event) => { if (event.key === "Escape") { event.stopPropagation(); close(); - button.current?.focus(); + button2.current?.focus(); } }; const onScroll = (event) => { @@ -12598,17 +12787,17 @@ function useAnchoredMenu() { }; }, [place]); const open = () => { - const rect = button.current.getBoundingClientRect(); + const rect = button2.current.getBoundingClientRect(); const width = Math.max(240, rect.width); const left = Math.max(8, Math.min(rect.right - width, window.innerWidth - width - 8)); const below = window.innerHeight - rect.bottom; setPlace(below >= 260 || below >= rect.top ? { left, width, top: rect.bottom + 4, maxHeight: below - 16, "--bt-origin": "top right" } : { left, width, bottom: window.innerHeight - rect.top + 4, maxHeight: rect.top - 16, "--bt-origin": "bottom right" }); }; - return { isOpen: place !== null, shownPlace, leaving, button, menu, open, close }; + return { isOpen: place !== null, shownPlace, leaving, button: button2, menu, open, close }; } function ModelMenu({ bot, roster, actions, run, wide = false, onPick, onPickEffort }) { if (bot?.remote !== void 0) return null; - const { isOpen, shownPlace, leaving, button, menu, open, close } = useAnchoredMenu(); + const { isOpen, shownPlace, leaving, button: button2, menu, open, close } = useAnchoredMenu(); const shown = modelOf(bot, roster); const current = bot.model ?? bot.appliedModel; const served = servedOf(roster, current); @@ -12641,7 +12830,7 @@ function ModelMenu({ bot, roster, actions, run, wide = false, onPick, onPickEffo (0, import_react22.createElement)( "button", { - ref: button, + ref: button2, type: "button", className: "bt-model-trigger", "data-wide": wide || void 0, @@ -12959,7 +13148,7 @@ var import_react_dom9 = require("react-dom"); var folderName = (path) => String(path).replace(/[\\/]+$/, "").split(/[\\/]/).pop() || String(path); var Tick = ({ on }) => (0, import_react24.createElement)("span", { className: "bt-model-tick", "aria-hidden": true }, on ? (0, import_react24.createElement)(CheckIcon) : null); function FolderMenu({ value, group = false, actions, run, onPick, wide = false }) { - const { isOpen, shownPlace, leaving, button, menu, open, close } = useAnchoredMenu(); + const { isOpen, shownPlace, leaving, button: button2, menu, open, close } = useAnchoredMenu(); const [info, setInfo] = (0, import_react24.useState)(null); const [view, setView] = (0, import_react24.useState)("list"); const [draft, setDraft] = (0, import_react24.useState)(""); @@ -13066,7 +13255,7 @@ function FolderMenu({ value, group = false, actions, run, onPick, wide = false } (0, import_react24.createElement)( "button", { - ref: button, + ref: button2, type: "button", className: "bt-model-trigger", "data-wide": wide || void 0, @@ -14307,7 +14496,7 @@ var standingOf = (target, roster) => { function StandingApprovalsCard({ scope, target, roster, actions, run, Card: Card2 }) { const grants = scope === "room" ? standingOf(target, roster) : target?.standingApprovals ?? []; if (grants.length === 0) return null; - const hint = scope === "room" ? t("Your Bots in this group do these without asking.") : t("This Bot does these without asking."); + const hint2 = scope === "room" ? t("Your Bots in this group do these without asking.") : t("This Bot does these without asking."); return (0, import_react29.createElement)( Card2, { title: t("Always allowed") }, @@ -14318,7 +14507,7 @@ function StandingApprovalsCard({ scope, target, roster, actions, run, Card: Card "span", { className: "bt-set-copy" }, (0, import_react29.createElement)("span", { className: "bt-bs-label" }, grant.label || grant.kind), - (0, import_react29.createElement)("span", { className: "bt-set-hint" }, hint) + (0, import_react29.createElement)("span", { className: "bt-set-hint" }, hint2) ), (0, import_react29.createElement)("button", { type: "button", @@ -14387,11 +14576,11 @@ function InlineText({ label, value, placeholder, required = false, maxLength, mu } }); } -function Row({ label, hint, stack = false, children }) { +function Row({ label, hint: hint2, stack = false, children }) { return (0, import_react30.createElement)( "label", { className: stack ? "bt-set-row bt-bs-row bt-bs-stack" : "bt-set-row bt-bs-row" }, - (0, import_react30.createElement)("span", { className: "bt-set-copy" }, (0, import_react30.createElement)("span", { className: "bt-bs-label" }, label), hint ? (0, import_react30.createElement)("span", { className: "bt-set-hint" }, hint) : null), + (0, import_react30.createElement)("span", { className: "bt-set-copy" }, (0, import_react30.createElement)("span", { className: "bt-bs-label" }, label), hint2 ? (0, import_react30.createElement)("span", { className: "bt-set-hint" }, hint2) : null), children ); } @@ -14405,11 +14594,11 @@ function Switch({ on, label, disabled, onChange }) { (0, import_react30.createElement)("span", { className: "bt-switch-knob", "aria-hidden": true }) ); } -function SwitchRow({ label, hint, on, disabled, onChange, showLabel = true }) { +function SwitchRow({ label, hint: hint2, on, disabled, onChange, showLabel = true }) { return (0, import_react30.createElement)( "div", { className: "bt-set-row bt-bs-row" }, - (0, import_react30.createElement)("span", { className: "bt-set-copy" }, showLabel ? (0, import_react30.createElement)("span", { className: "bt-bs-label" }, label) : null, hint ? (0, import_react30.createElement)("span", { className: "bt-set-hint" }, hint) : null), + (0, import_react30.createElement)("span", { className: "bt-set-copy" }, showLabel ? (0, import_react30.createElement)("span", { className: "bt-bs-label" }, label) : null, hint2 ? (0, import_react30.createElement)("span", { className: "bt-set-hint" }, hint2) : null), (0, import_react30.createElement)(Switch, { on, label, disabled, onChange }) ); } @@ -15235,7 +15424,7 @@ function CommandPalette({ start, token, roster, actions, useSessions }) { } return JSON.stringify(hits); }); - const matchesName = (...fields) => wanted === "" || fields.some((field) => (field ?? "").toLowerCase().includes(wanted)); + const matchesName = (...fields) => wanted === "" || fields.some((field2) => (field2 ?? "").toLowerCase().includes(wanted)); const sections = []; const people2 = [ ...roster.bots.filter((bot) => isListedRemoteChat(bot) && matchesName(bot.name, bot.role, pickerBotLabel(bot))).map((bot) => ({ @@ -17904,8 +18093,305 @@ button.bt-us-row:hover{background:var(--bt-hover)} @media (prefers-reduced-motion:reduce){.bt-us *,.bt-us *::before{animation:none!important;transition:none!important}} `; -// src/client/connectors.js +// src/shared/feishu.js +var APP_ID = /^cli_[0-9a-f]{16}$/i; +var BASE_SCOPES = ["im:message.group_at_msg:readonly", "im:message.p2p_msg:readonly", "im:message:send_as_bot", "im:message.reactions:write_only", "im:resource", "im:message:readonly", "im:chat:readonly", "contact:contact.base:readonly", "contact:user.base:readonly", "im:message.group_msg.include_bot:read"]; +var PRODUCTS = [ + { id: "calendar", label: "Calendar", scopes: ["calendar:calendar"] }, + { id: "docs", label: "Documents and wiki", scopes: ["docx:document", "drive:drive", "wiki:wiki"] }, + { id: "bitable", label: "Bitable", scopes: ["bitable:app"] }, + { id: "sheets", label: "Spreadsheets", scopes: ["sheets:spreadsheet"] }, + { id: "meeting", label: "Video meetings", scopes: ["vc:reserve"] }, + { id: "task", label: "Tasks", scopes: ["task:task:write"] } +]; +var STEPS = ["Create an app on Feishu Open Platform", "Enter credentials and test connection", "Subscribe to message events and card callbacks", "Publish an app version", "Choose the Bot represented by the robot", "Try it in Feishu"]; +var setupSteps = (mode) => mode === "http" ? ["Prepare a public event address", ...STEPS] : [...STEPS]; +var permissionJSON = (selected = []) => JSON.stringify({ scopes: { tenant: [.../* @__PURE__ */ new Set([...BASE_SCOPES, ...PRODUCTS.filter((p) => selected.includes(p.id)).flatMap((p) => p.scopes)])], user: [] } }, null, 2); +function scopeGranted(scope, list = []) { + if (scope === "im:message:readonly") return ["im:message:readonly", "im:message", "im:message.history:readonly"].some((s) => list.includes(s)); + if (scope === "im:message.reactions:write_only") return list.includes(scope) || list.includes("im:message"); + return list.includes(scope); +} +function productAccess(product, list = []) { + if (product.scopes.every((s) => list.includes(s))) return "write"; + if (["meeting", "task"].includes(product.id)) return "disabled"; + return product.scopes.every((s) => list.includes(s) || list.includes(`${s}:readonly`)) ? "read" : "disabled"; +} +function validateCredentials({ appId, appSecret, verificationToken }, mode) { + if (!APP_ID.test(appId ?? "")) throw new Error("App ID must be cli_ followed by 16 hexadecimal characters"); + if (typeof appSecret !== "string" || !appSecret.trim()) throw new Error("Enter the App Secret"); + if (!["socket", "http"].includes(mode)) throw new Error("Choose a receiving method"); + if (mode === "http" && !verificationToken?.trim()) throw new Error("Enter the Verification Token"); +} +function publicAddress(value) { + try { + const u = new URL(value); + return u.protocol === "https:" && !u.username && !u.password && !u.hash && !u.search && !/^(localhost$|127\.|10\.|0\.|192\.168\.|172\.(1[6-9]|2\d|3[01])\.|\[|169\.254\.)/.test(u.hostname) && !u.hostname.endsWith(".local"); + } catch { + return false; + } +} + +// src/client/feishu-setup.js var import_react39 = require("react"); +var button = (text2, onClick, disabled = false, variant = "") => (0, import_react39.createElement)("button", { type: "button", className: `bt-soft bt-soft-sm bt-feishu-button ${variant}`, onClick, disabled }, t(text2)); +var hint = (key) => (0, import_react39.createElement)("p", { className: "bt-set-hint" }, t(key)); +var field = (label, value, change, type = "text", disabled = false) => (0, import_react39.createElement)("label", { className: "bt-feishu-field" }, (0, import_react39.createElement)("span", {}, t(label)), (0, import_react39.createElement)("input", { className: "bt-input", type, value, disabled, autoComplete: type === "password" ? "new-password" : "off", "aria-label": t(label), onChange: (e) => change(e.target.value) })); +function FeishuSetup({ actions, roster, onClose }) { + const [apps, setApps] = (0, import_react39.useState)([]), [members, setMembers] = (0, import_react39.useState)([]), [selected, setSelected] = (0, import_react39.useState)(""), [step, setStep] = (0, import_react39.useState)(0); + const [mode, setMode] = (0, import_react39.useState)("socket"), [appId, setAppId] = (0, import_react39.useState)(""), [secret, setSecret] = (0, import_react39.useState)(""), [token, setToken] = (0, import_react39.useState)(""), [url, setUrl] = (0, import_react39.useState)(""), [name, setName] = (0, import_react39.useState)("Feishu"); + const [botId, setBotId] = (0, import_react39.useState)(""), [openId, setOpenId] = (0, import_react39.useState)(""), [memberId, setMemberId] = (0, import_react39.useState)(""), [extensions, setExtensions] = (0, import_react39.useState)([]), [copied, setCopied] = (0, import_react39.useState)(false); + const [busy, setBusy] = (0, import_react39.useState)(false), [error, setError] = (0, import_react39.useState)(""), [result, setResult] = (0, import_react39.useState)(null), [webhook, setWebhook] = (0, import_react39.useState)(""); + const initial = (0, import_react39.useRef)(true); + const app = apps.find((a) => a.id === selected), steps = setupSteps(mode), offset = mode === "http" ? 1 : 0, n = step - offset; + const load = (0, import_react39.useCallback)(async () => { + const out = await actions.feishu({ operation: "list" }); + setApps(out.apps ?? []); + setMembers(out.members ?? []); + if (initial.current) { + initial.current = false; + const queryId = new URLSearchParams(window.location.search).get("feishu-app"); + const saved = out.apps?.find((a) => a.id === queryId) ?? out.apps?.[0]; + if (saved) { + setSelected(saved.id); + setAppId(saved.id); + setMode(saved.mode); + setStep(saved.step ?? 0); + setBotId(saved.botId ?? ""); + setUrl(saved.publicUrl ?? ""); + setName(saved.name ?? "Feishu"); + } + } + }, [actions]); + (0, import_react39.useEffect)(() => { + void load().catch((e) => setError(hostText(e.message))); + const timer = setInterval(() => { + void load().catch(() => { + }); + }, 3e3); + return () => clearInterval(timer); + }, [load]); + const run = async (fn) => { + setBusy(true); + setError(""); + try { + const value = await fn(); + await load(); + return value; + } catch (e) { + setError(hostText(e.message)); + return void 0; + } finally { + setBusy(false); + } + }; + const select = (id) => { + const saved = apps.find((a) => a.id === id); + setSelected(id); + setAppId(id); + setMode(saved?.mode ?? "socket"); + setStep(saved?.step ?? 0); + setBotId(saved?.botId ?? ""); + setUrl(saved?.publicUrl ?? ""); + setName(saved?.name ?? "Feishu"); + setSecret(""); + setToken(""); + setResult(null); + }; + const advance = async (target) => { + if (selected) await run(() => actions.feishu({ operation: "configure", appId: selected, step: target, ...botId ? { botId } : {} })); + setStep(target); + }; + const save = () => void run(async () => { + const out = await actions.feishu({ operation: "save", appId, appSecret: secret, verificationToken: token, mode, publicUrl: url, name, step: offset + 2 }); + setApps(out.apps); + setSelected(appId); + setSecret(""); + setToken(""); + setResult(out.test); + setStep(offset + (out.test?.credentialError ? 1 : 2)); + }); + const action = (payload) => void run(() => actions.feishu({ appId: selected, ...payload })); + const copyPermissions = async (event) => { + const section = event.currentTarget.closest(".bt-feishu-permissions"); + setError(""); + try { + if (!navigator.clipboard?.writeText) throw new Error("Clipboard unavailable"); + await navigator.clipboard.writeText(permissionJSON(extensions)); + setCopied(true); + } catch { + const preview = section.querySelector(".bt-feishu-json"), textarea = preview.querySelector("textarea"); + preview.open = true; + textarea.focus(); + textarea.select(); + setCopied(false); + setError(t("Clipboard is unavailable. Copy the selected JSON below.")); + } + }; + const permissionPicker = (0, import_react39.createElement)( + "section", + { className: "bt-feishu-permissions" }, + (0, import_react39.createElement)("div", { className: "bt-feishu-section-head" }, (0, import_react39.createElement)("strong", {}, t("Extended permissions (Feishu tools)")), (0, import_react39.createElement)("span", { className: "bt-feishu-optional" }, t("Optional tools"))), + hint("Select the tools you need. The permission JSON updates automatically."), + (0, import_react39.createElement)("div", { className: "bt-feishu-permission-grid" }, PRODUCTS.map((p) => (0, import_react39.createElement)( + "label", + { key: p.id, className: "bt-feishu-permission", "data-checked": extensions.includes(p.id) }, + (0, import_react39.createElement)("input", { type: "checkbox", checked: extensions.includes(p.id), onChange: (e) => { + setExtensions(e.target.checked ? [...extensions, p.id] : extensions.filter((x) => x !== p.id)); + setCopied(false); + } }), + (0, import_react39.createElement)("span", {}, t(p.label)) + ))), + (0, import_react39.createElement)( + "div", + { className: "bt-feishu-permission-copy" }, + button(copied ? "Copied" : "Copy permission JSON", copyPermissions), + (0, import_react39.createElement)("span", { className: "bt-set-hint" }, t("Base permissions are always included.")) + ), + (0, import_react39.createElement)("details", { className: "bt-feishu-json" }, (0, import_react39.createElement)("summary", {}, t("View permission JSON")), (0, import_react39.createElement)("textarea", { className: "bt-input", readOnly: true, rows: 8, value: permissionJSON(extensions), "aria-label": t("Copy permission JSON") })), + hint("Import this JSON in Permission management → Batch import/export. Set the contact data scope to people who will use the robot.") + ); + let content; + if (step === 0 && mode === "http") content = (0, import_react39.createElement)("div", {}, hint("Forward only the event port to a public HTTPS address. Do not expose the FlyBot console. Leave Encrypt Key empty."), field("Public HTTPS event origin", url, setUrl)); + else if (n === 0) content = (0, import_react39.createElement)( + "div", + {}, + hint("Create an internal app, add the Bot capability, and apply for the permissions below. Do not configure events yet."), + (0, import_react39.createElement)("a", { className: "bt-feishu-external", href: "https://open.feishu.cn/app", target: "_blank", rel: "noopener noreferrer" }, t("Open Feishu Open Platform"), (0, import_react39.createElement)("span", { "aria-hidden": true }, "↗")), + permissionPicker + ); + else if (n === 1) content = (0, import_react39.createElement)( + "div", + {}, + hint("Credentials are encrypted on the platform and cannot be viewed after saving. Bots never receive them."), + hint("Leave saved credentials blank to keep them. Switching receiving methods reuses the same Feishu application and conversations."), + app?.mode === "http" && mode === "socket" ? hint("Switching to a long connection deletes the saved Verification Token.") : null, + field("Connection name", name, setName), + field("App ID", appId, setAppId, "text", !!selected), + field("App Secret", secret, setSecret, "password"), + mode === "http" ? field("Verification Token", token, setToken, "password") : null, + appId && !APP_ID.test(appId) ? hint("App ID must be cli_ followed by 16 hexadecimal characters") : null, + button("Save and test connection", save, busy || !APP_ID.test(appId) || !selected && !secret.trim() || mode === "http" && (!publicAddress(url) || !token && app?.mode !== "http"), "bt-feishu-primary") + ); + else if (n === 2) content = (0, import_react39.createElement)( + "div", + {}, + mode === "socket" ? (0, import_react39.createElement)( + "div", + {}, + (0, import_react39.createElement)("strong", {}, t("Connection to Feishu")), + (0, import_react39.createElement)("p", { role: "status" }, t(app?.connection === "ready" ? "Connected" : app?.connection === "error" ? "Connection failed" : "Connecting…")), + hint("Refreshes every 3 seconds"), + app?.connection === "ready" ? hint("Now set Events and callbacks → Event configuration → Use long connection to receive events, then save.") : hint("Wait until connected: Feishu only allows saving the long connection subscription after FlyBot connects. Check credentials and network if it keeps waiting."), + hint("In Callback configuration, use the long connection and add Card action trigger (card.action.trigger).") + ) : (0, import_react39.createElement)("div", {}, hint("In both Event configuration and Callback configuration, select Send to developer server, use the same address below, and save."), (0, import_react39.createElement)("code", {}, `${url.replace(/\/$/, "")}/api/feishu/events/${selected}`), hint(app?.verifiedAt ? "Address verified" : "Waiting for address verification")), + hint("Add Receive message v2.0 (im.message.receive_v1)."), + hint("Without card.action.trigger, cards can display but buttons and forms do not respond. Neither test connection nor connected status checks callback subscriptions."), + hint("Connect each Feishu app to only one FlyBot instance; multiple instances split incoming messages."), + hint(app?.lastEventAt ? "Received an event" : "No event received yet") + ); + else if (n === 3) content = (0, import_react39.createElement)("div", {}, hint("Create and publish a version in Version management and release. Include the required members or departments. Wait for enterprise approval if required."), hint("Permissions, Bot capability, events and callbacks take effect after publishing. Publish again after any change."), button("Test connection", () => void run(async () => { + const out = await actions.feishu({ operation: "test", appId: selected }); + setResult(out); + }), busy)); + else if (n === 4) content = (0, import_react39.createElement)("div", {}, hint("One Feishu application represents one Bot. Group mentions and private messages go to the selected local Bot."), (0, import_react39.createElement)("select", { className: "bt-input", "aria-label": t("Choose a Bot"), value: botId, onChange: (e) => setBotId(e.target.value) }, (0, import_react39.createElement)("option", { value: "" }, t("Choose a Bot")), ownBots(roster).filter((b) => !b.projectAgent && !b.ephemeral).map((b) => (0, import_react39.createElement)("option", { key: b.id, value: b.id }, b.name)))); + else content = (0, import_react39.createElement)("div", {}, hint("Add the application under Group settings → Group robots. Mention it in the group, or send a private message."), hint("Ask the Bot to send a card with a submit button. Click it and confirm Submitted. Ordinary chat success does not verify card callbacks."), hint("Each group or private chat keeps one FlyBot conversation; thread replies return to the original thread."), (0, import_react39.createElement)("ul", {}, (app?.recent ?? []).map((e) => (0, import_react39.createElement)("li", { key: e.id }, `${e.text ?? ""} · ${e.status}`)))); + const identity = (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Identity linking")), hint("Link to an existing signed-in platform member. No external members or new login accounts are created. Unlinked card submissions and meeting bookings are refused."), field("Feishu open_id", openId, setOpenId), (0, import_react39.createElement)("select", { className: "bt-input", value: memberId, "aria-label": t("Platform member"), onChange: (e) => setMemberId(e.target.value) }, (0, import_react39.createElement)("option", { value: "" }, t("Platform member")), members.map((m) => (0, import_react39.createElement)("option", { key: m.id, value: m.id }, m.name))), button("Link identity", () => action({ operation: "identity", openId, ...memberId ? { memberId } : {} }), busy || !openId), (0, import_react39.createElement)("ul", {}, (app?.identities ?? []).map((i) => (0, import_react39.createElement)("li", { key: i.openId }, `${i.openId} → ${i.memberId}`)))); + return (0, import_react39.createElement)( + "section", + { className: "bt-feishu-setup", "aria-label": t("Connect Feishu") }, + (0, import_react39.createElement)( + "header", + { className: "bt-feishu-header" }, + (0, import_react39.createElement)("div", {}, (0, import_react39.createElement)("h3", {}, t("Connect Feishu")), hint("Only Feishu (open.feishu.cn) is supported; Lark is not supported.")), + apps.length ? (0, import_react39.createElement)("select", { className: "bt-input", value: selected, onChange: (e) => select(e.target.value), "aria-label": t("Connect Feishu") }, (0, import_react39.createElement)("option", { value: "" }, t("New connection")), apps.map((a) => (0, import_react39.createElement)("option", { key: a.id, value: a.id }, `${a.name} (${a.id})`))) : null + ), + app?.linkOnly ? (0, import_react39.createElement)("div", { className: "bt-feishu-body" }, identity, button("Later", onClose, false, "bt-feishu-quiet")) : (0, import_react39.createElement)( + "div", + { className: "bt-feishu-body" }, + (0, import_react39.createElement)("div", { className: "bt-feishu-modes", role: "group", "aria-label": t("How to connect") }, ["socket", "http"].map((m) => (0, import_react39.createElement)("button", { + key: m, + type: "button", + "aria-pressed": mode === m, + "aria-label": t(m === "socket" ? "Long connection (recommended, no public address)" : "Event address (HTTP, needs a public address)"), + onClick: () => { + setMode(m); + setStep(m === "http" ? 0 : selected ? 1 : 0); + } + }, (0, import_react39.createElement)("strong", {}, t(m === "socket" ? "Long connection" : "Event address")), (0, import_react39.createElement)("small", {}, t(m === "socket" ? "Recommended · no public address" : "Requires a public HTTPS address"))))), + (0, import_react39.createElement)( + "div", + { className: "bt-feishu-layout" }, + (0, import_react39.createElement)("nav", { className: "bt-feishu-progress", "aria-label": t("Connection steps") }, (0, import_react39.createElement)("ol", {}, steps.map((title, i) => (0, import_react39.createElement)("li", { key: title }, (0, import_react39.createElement)("button", { + type: "button", + "aria-label": t(title), + "aria-current": step === i ? "step" : void 0, + "data-done": i < step, + disabled: i > offset + 1 && !selected, + onClick: () => setStep(i) + }, (0, import_react39.createElement)("span", { className: "bt-feishu-step-number", "aria-hidden": true }, i < step ? "✓" : i + 1), (0, import_react39.createElement)("span", { className: "bt-feishu-step-label" }, t(title))))))), + (0, import_react39.createElement)( + "div", + { className: "bt-feishu-step" }, + (0, import_react39.createElement)("div", { className: "bt-feishu-step-heading" }, (0, import_react39.createElement)("span", { className: "bt-feishu-eyebrow" }, t("Step {current} of {total}", { current: step + 1, total: steps.length })), (0, import_react39.createElement)("h4", {}, t(steps[step]))), + (0, import_react39.createElement)("div", { className: "bt-feishu-step-content" }, content), + result ? (0, import_react39.createElement)("p", { className: "bt-feishu-result", role: "status", "data-success": result.ok }, result.ok ? `${t("Connected")} ${result.bot ?? ""}` : hostText(result.error)) : null, + (0, import_react39.createElement)( + "footer", + { className: "bt-feishu-footer" }, + button("Previous step", () => setStep(Math.max(0, step - 1)), step === 0 || busy), + (0, import_react39.createElement)("div", {}, button("Later", onClose, false, "bt-feishu-quiet"), step < steps.length - 1 ? button("Next", () => void advance(step + 1), busy || n === 3 && !result?.ok || n === 1 && (!selected || app?.mode !== mode) || n === 4 && !botId || mode === "http" && step === 0 && !publicAddress(url) || n > 1 && !selected, "bt-feishu-primary") : button("Finish", onClose, false, "bt-feishu-primary")) + ) + ) + ), + app ? (0, import_react39.createElement)( + "div", + { className: "bt-feishu-management" }, + (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Who may send messages")), hint("Allowed senders can send messages; this does not grant platform identity or approval authority."), (0, import_react39.createElement)("label", { className: "bt-feishu-check" }, (0, import_react39.createElement)("input", { type: "checkbox", checked: app.allowBots === true, onChange: (e) => action({ operation: "configure", allowBots: e.target.checked }) }), t("Also process other robots that mention this robot (up to 8 consecutive requests)")), field("Allow an open_id", openId, setOpenId), button("Allow", () => action({ operation: "allow", openId }), busy || !openId), (app.allowed ?? []).map((id) => (0, import_react39.createElement)("p", { key: id }, id, button("Block", () => action({ operation: "allow", openId: id, enabled: false }), busy)))), + identity, + (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Conversation handlers")), [...new Set((app.recent ?? []).map((e) => e.chatId).filter(Boolean))].map((chatId) => (0, import_react39.createElement)("label", { key: chatId, className: "bt-q-field" }, chatId, (0, import_react39.createElement)("select", { className: "bt-input", value: app.chatBots?.[chatId] ?? "", "aria-label": `${t("Conversation handler")} ${chatId}`, onChange: (e) => action({ operation: "configure", chatId, botId: e.target.value || null }) }, (0, import_react39.createElement)("option", { value: "" }, t("Follow the default Bot")), ownBots(roster).filter((b) => !b.projectAgent && !b.ephemeral).map((b) => (0, import_react39.createElement)("option", { key: b.id, value: b.id }, b.name)))))), + (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Permissions of the Feishu application")), permissionPicker, button("Check permissions again", () => action({ operation: "scopes" }), busy), (0, import_react39.createElement)("ul", {}, BASE_SCOPES.filter((s) => !scopeGranted(s, app.scopes)).map((s) => (0, import_react39.createElement)("li", { key: s }, s)))), + (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Feishu tools")), ownBots(roster).filter((b) => !b.projectAgent && !b.ephemeral).map((b) => (0, import_react39.createElement)("fieldset", { key: b.id }, (0, import_react39.createElement)("legend", {}, b.name), PRODUCTS.map((p) => (0, import_react39.createElement)( + "label", + { key: p.id, className: "bt-q-field" }, + t(p.label), + productAccess(p, app.scopes) !== "write" ? (0, import_react39.createElement)("small", {}, t(productAccess(p, app.scopes) === "read" ? "App has read-only permission" : "App permission not granted")) : null, + (0, import_react39.createElement)("select", { className: "bt-input", "aria-label": `${b.name} ${t(p.label)}`, value: app.grants?.[b.id]?.[p.id] ?? "disabled", onChange: (e) => action({ operation: "grant", botId: b.id, product: p.id, mode: e.target.value }) }, [["disabled", "Disabled"], ["read", "Read only"], ["ask", "Read/write, ask before writes"], ["write", "Read/write"]].map(([v, label]) => (0, import_react39.createElement)("option", { key: v, value: v }, t(label)))) + ))))), + (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Diagnostics")), (0, import_react39.createElement)("ul", {}, (app.diagnostics ?? []).map((d, i) => (0, import_react39.createElement)("li", { key: i }, `${d.kind}: ${hostText(d.message)} ${d.code ?? ""} ${d.detail ?? ""}`)))), + (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Delivery records")), (app.outbox ?? []).map((o) => (0, import_react39.createElement)("p", { key: o.id }, `${o.id}: ${o.status}`, o.status === "failed" ? button("Try again", () => action({ operation: "retry", outboxId: o.id })) : null))), + (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Files")), (app.files ?? []).map((file) => button(file.name, () => void run(async () => { + const value = await actions.feishu({ operation: "attachment", appId: app.id, attachmentId: file.id }); + const bytes = Uint8Array.from(atob(value.content_base64), (c) => c.charCodeAt(0)); + const href = URL.createObjectURL(new Blob([bytes])); + const a = Object.assign(document.createElement("a"), { href, download: value.name ?? file.name }); + a.click(); + setTimeout(() => URL.revokeObjectURL(href), 1e4); + })))), + (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Cards")), (app.cards ?? []).map((c) => (0, import_react39.createElement)(CardPanel, { key: c.id, card: c, action }))), + button("Delete connection", () => void run(async () => { + await actions.feishu({ operation: "delete", appId: selected }); + select(""); + }), busy) + ) : null + ), + !app ? (0, import_react39.createElement)("details", { className: "bt-feishu-webhook" }, (0, import_react39.createElement)("summary", {}, t("Custom bot webhook")), field("Webhook URL", webhook, setWebhook, "password"), button("Connect", () => void run(() => actions.connectorConnect("feishu", { mode: "webhook", credentials: { webhook } })), busy || !webhook)) : null, + error ? (0, import_react39.createElement)("p", { className: "bt-feishu-error", role: "alert" }, error) : null + ); +} +function CardPanel({ card, action }) { + const [fields, setFields] = (0, import_react39.useState)({}); + return (0, import_react39.createElement)( + "article", + {}, + (0, import_react39.createElement)("strong", {}, card.card.title ?? "FlyBot"), + (card.card.blocks ?? []).map((b, i) => b.type === "input" ? field(b.label ?? b.name, fields[b.name] ?? "", (value) => setFields({ ...fields, [b.name]: value })) : (0, import_react39.createElement)("pre", { key: i }, b.text ?? JSON.stringify(b))), + (card.card.actions ?? []).map((a) => button(a.label ?? a.id, () => action({ operation: "card-action", cardId: card.id, action: a.id, fields }), card.closed)) + ); +} + +// src/client/connectors.js +var import_react40 = require("react"); var TOKEN_URL = "https://github.com/settings/personal-access-tokens/new"; var COMPOSIO_KEY_URL = "https://platform.composio.dev/"; var FEISHU_WEBHOOK_URL = "https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot"; @@ -17939,17 +18425,17 @@ var APPS = [ ["youtube", "YouTube"] ]; var appName = (slug) => APPS.find(([id]) => id === slug)?.[1] ?? slug; -var GitHubMark = () => (0, import_react39.createElement)( +var GitHubMark = () => (0, import_react40.createElement)( "svg", { width: 20, height: 20, viewBox: "0 0 16 16", fill: "currentColor", "aria-hidden": true }, - (0, import_react39.createElement)("path", { d: "M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" }) + (0, import_react40.createElement)("path", { d: "M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" }) ); -var FeishuMark = () => (0, import_react39.createElement)( +var FeishuMark = () => (0, import_react40.createElement)( "svg", { width: 20, height: 20, viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": true }, - (0, import_react39.createElement)("path", { d: "M3.2 6.6c3 .1 6.4 1.5 8.6 3.9-1.9.4-3.5 1.4-4.7 2.9-1.9-.6-3.4-1.9-3.9-3.6-.2-.7-.2-1.5 0-3.2z" }), - (0, import_react39.createElement)("path", { d: "M16.8 5.4c-2.9.2-5.6 1.5-7.4 3.4 1.7 1.2 3.1 2.8 3.9 4.9 2.2-1.1 3.8-3.2 4-5.6.1-.9-.1-1.9-.4-2.7z" }), - (0, import_react39.createElement)("path", { d: "M8.6 12.1c.9.7 1.7 1.6 2.2 2.7-1.1.2-2.3 0-3.3-.6.2-.8.6-1.5 1.1-2.1z" }) + (0, import_react40.createElement)("path", { d: "M3.2 6.6c3 .1 6.4 1.5 8.6 3.9-1.9.4-3.5 1.4-4.7 2.9-1.9-.6-3.4-1.9-3.9-3.6-.2-.7-.2-1.5 0-3.2z" }), + (0, import_react40.createElement)("path", { d: "M16.8 5.4c-2.9.2-5.6 1.5-7.4 3.4 1.7 1.2 3.1 2.8 3.9 4.9 2.2-1.1 3.8-3.2 4-5.6.1-.9-.1-1.9-.4-2.7z" }), + (0, import_react40.createElement)("path", { d: "M8.6 12.1c.9.7 1.7 1.6 2.2 2.7-1.1.2-2.3 0-3.3-.6.2-.8.6-1.5 1.1-2.1z" }) ); var MARKS = { github: GitHubMark, composio: ConnectorIcon, feishu: FeishuMark }; var ABOUT = { @@ -17969,11 +18455,11 @@ function statusText2(connector) { } function CredentialField({ credential, value, onChange, onEnter, autoFocus }) { const label = t(credential.label); - if (credential.masked) return (0, import_react39.createElement)(MaskedInput, { value, onChange, onEnter, label, autoFocus }); - return (0, import_react39.createElement)( + if (credential.masked) return (0, import_react40.createElement)(MaskedInput, { value, onChange, onEnter, label, autoFocus }); + return (0, import_react40.createElement)( "label", { className: "bt-q-field" }, - (0, import_react39.createElement)("input", { + (0, import_react40.createElement)("input", { className: "bt-input", type: "text", value, @@ -17989,31 +18475,31 @@ function CredentialField({ credential, value, onChange, onEnter, autoFocus }) { ); } function AllowedSenders({ connector, actions, run, busy }) { - const [openId, setOpenId] = (0, import_react39.useState)(""); + const [openId, setOpenId] = (0, import_react40.useState)(""); const allowed = connector.allowed ?? []; const refused = connector.inbound?.refusedSenders ?? []; const allow = (id) => void run(actions.connectorAllow(connector.id, id)); - return (0, import_react39.createElement)( + return (0, import_react40.createElement)( "div", { className: "bt-connector-allowed" }, - (0, import_react39.createElement)("span", { className: "bt-connector-person-title" }, t("Who may talk to the Bots")), - allowed.length === 0 && refused.length === 0 ? (0, import_react39.createElement)("span", { className: "bt-set-hint" }, t("Nobody yet. A message from anyone else starts no turn.")) : null, - allowed.map((entry) => (0, import_react39.createElement)( + (0, import_react40.createElement)("span", { className: "bt-connector-person-title" }, t("Who may talk to the Bots")), + allowed.length === 0 && refused.length === 0 ? (0, import_react40.createElement)("span", { className: "bt-set-hint" }, t("Nobody yet. A message from anyone else starts no turn.")) : null, + allowed.map((entry) => (0, import_react40.createElement)( "div", { key: entry.openId, className: "bt-connector-person" }, - (0, import_react39.createElement)("span", { className: "bt-connector-person-name" }, entry.name ?? entry.openId), - (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => void run(actions.connectorBlock(connector.id, entry.openId)) }, t("Block")) + (0, import_react40.createElement)("span", { className: "bt-connector-person-name" }, entry.name ?? entry.openId), + (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => void run(actions.connectorBlock(connector.id, entry.openId)) }, t("Block")) )), - refused.map((entry) => (0, import_react39.createElement)( + refused.map((entry) => (0, import_react40.createElement)( "div", { key: entry.openId, className: "bt-connector-person" }, - (0, import_react39.createElement)("span", { className: "bt-connector-person-name" }, entry.name ?? entry.openId), - (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => allow(entry.openId) }, t("Allow")) + (0, import_react40.createElement)("span", { className: "bt-connector-person-name" }, entry.name ?? entry.openId), + (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => allow(entry.openId) }, t("Allow")) )), - (0, import_react39.createElement)( + (0, import_react40.createElement)( "div", { className: "bt-connector-form-row" }, - (0, import_react39.createElement)("input", { + (0, import_react40.createElement)("input", { className: "bt-input", type: "text", value: openId, @@ -18028,7 +18514,7 @@ function AllowedSenders({ connector, actions, run, busy }) { } } }), - (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || openId.trim() === "", onClick: () => { + (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || openId.trim() === "", onClick: () => { allow(openId.trim()); setOpenId(""); } }, t("Allow")) @@ -18038,20 +18524,20 @@ function AllowedSenders({ connector, actions, run, busy }) { var APP_STATUS = { ready: () => t("Ready"), "sign-in": () => t("Needs sign-in") }; function AppChip({ name, status, onRemove }) { const label = APP_STATUS[status]?.(); - return (0, import_react39.createElement)( + return (0, import_react40.createElement)( "button", { type: "button", className: "bt-state bt-app-chip", "aria-pressed": true, "data-status": status ?? "unknown", title: t("Remove {app}", { app: name }), onClick: onRemove }, name, - label ? (0, import_react39.createElement)("span", { className: "bt-app-status" }, ` · ${label}`) : null + label ? (0, import_react40.createElement)("span", { className: "bt-app-status" }, ` · ${label}`) : null ); } function AppPicker({ apps, onChange, search, statuses = {} }) { - const [query, setQuery] = (0, import_react39.useState)(""); - const [found, setFound] = (0, import_react39.useState)(null); - const [failed, setFailed] = (0, import_react39.useState)(null); - const names = (0, import_react39.useRef)(new Map(APPS)); - const asked = (0, import_react39.useRef)(0); - (0, import_react39.useEffect)(() => { + const [query, setQuery] = (0, import_react40.useState)(""); + const [found, setFound] = (0, import_react40.useState)(null); + const [failed, setFailed] = (0, import_react40.useState)(null); + const names = (0, import_react40.useRef)(new Map(APPS)); + const asked = (0, import_react40.useRef)(0); + (0, import_react40.useEffect)(() => { const text2 = query.trim(); if (text2 === "" || search === void 0) { setFound(null); @@ -18078,13 +18564,13 @@ function AppPicker({ apps, onChange, search, statuses = {} }) { const needle = query.trim().toLowerCase(); const local = APPS.filter(([slug, name]) => needle === "" || slug.includes(needle) || name.toLowerCase().includes(needle)).map(([slug, name]) => ({ slug, name })); const results = (found ?? local).filter((app) => !picked.has(app.slug)); - return (0, import_react39.createElement)( + return (0, import_react40.createElement)( "div", { className: "bt-connector-apps" }, - apps.length > 0 ? (0, import_react39.createElement)("div", { className: "bt-states", "aria-label": t("Picked apps") }, apps.map((slug) => (0, import_react39.createElement)(AppChip, { key: slug, name: nameOf(slug), status: statuses[slug], onRemove: () => onChange(apps.filter((app) => app !== slug)) }))) : null, - (0, import_react39.createElement)("input", { className: "bt-input", type: "search", value: query, spellCheck: false, "aria-label": t("Search apps"), placeholder: t("Search Composio apps"), onChange: (event) => setQuery(event.target.value) }), - failed ? (0, import_react39.createElement)("span", { className: "bt-set-hint" }, t("Could not search Composio: {error}", { error: failed })) : null, - (0, import_react39.createElement)("div", { className: "bt-states", "aria-label": t("Apps to add") }, results.length === 0 ? (0, import_react39.createElement)("span", { className: "bt-set-hint" }, t("No apps match")) : results.map((app) => (0, import_react39.createElement)("button", { key: app.slug, type: "button", className: "bt-state", "aria-pressed": false, onClick: () => { + apps.length > 0 ? (0, import_react40.createElement)("div", { className: "bt-states", "aria-label": t("Picked apps") }, apps.map((slug) => (0, import_react40.createElement)(AppChip, { key: slug, name: nameOf(slug), status: statuses[slug], onRemove: () => onChange(apps.filter((app) => app !== slug)) }))) : null, + (0, import_react40.createElement)("input", { className: "bt-input", type: "search", value: query, spellCheck: false, "aria-label": t("Search apps"), placeholder: t("Search Composio apps"), onChange: (event) => setQuery(event.target.value) }), + failed ? (0, import_react40.createElement)("span", { className: "bt-set-hint" }, t("Could not search Composio: {error}", { error: failed })) : null, + (0, import_react40.createElement)("div", { className: "bt-states", "aria-label": t("Apps to add") }, results.length === 0 ? (0, import_react40.createElement)("span", { className: "bt-set-hint" }, t("No apps match")) : results.map((app) => (0, import_react40.createElement)("button", { key: app.slug, type: "button", className: "bt-state", "aria-pressed": false, onClick: () => { names.current.set(app.slug, app.name); onChange([...apps, app.slug]); } }, app.name))) @@ -18092,22 +18578,22 @@ function AppPicker({ apps, onChange, search, statuses = {} }) { } function AppStatusList({ apps, statuses }) { if (apps.length === 0 || Object.keys(statuses).length === 0) return null; - return (0, import_react39.createElement)("ul", { className: "bt-connector-app-list", "aria-label": t("App status") }, apps.map((slug) => (0, import_react39.createElement)( + return (0, import_react40.createElement)("ul", { className: "bt-connector-app-list", "aria-label": t("App status") }, apps.map((slug) => (0, import_react40.createElement)( "li", { key: slug, className: "bt-connector-app", "data-status": statuses[slug] ?? "unknown" }, - (0, import_react39.createElement)("span", { className: "bt-connector-app-name" }, appName(slug)), - (0, import_react39.createElement)("span", { className: "bt-app-status" }, APP_STATUS[statuses[slug]]?.() ?? "") + (0, import_react40.createElement)("span", { className: "bt-connector-app-name" }, appName(slug)), + (0, import_react40.createElement)("span", { className: "bt-app-status" }, APP_STATUS[statuses[slug]]?.() ?? "") ))); } function ConnectorRow({ connector, roster, actions }) { - const [form, setForm] = (0, import_react39.useState)(false); - const [bots, setBots] = (0, import_react39.useState)(false); - const [token, setToken] = (0, import_react39.useState)(""); - const [apps, setApps] = (0, import_react39.useState)(() => connector.apps ?? []); - const [picking, setPicking] = (0, import_react39.useState)(false); - const [busy, setBusy] = (0, import_react39.useState)(false); - const [error, setError] = (0, import_react39.useState)(null); - const [message, setMessage] = (0, import_react39.useState)(""); + const [form, setForm] = (0, import_react40.useState)(() => !!(connector.id === "feishu" && actions.feishu && typeof window !== "undefined" && window.location && new URLSearchParams(window.location.search).has("feishu-app"))); + const [bots, setBots] = (0, import_react40.useState)(false); + const [token, setToken] = (0, import_react40.useState)(""); + const [apps, setApps] = (0, import_react40.useState)(() => connector.apps ?? []); + const [picking, setPicking] = (0, import_react40.useState)(false); + const [busy, setBusy] = (0, import_react40.useState)(false); + const [error, setError] = (0, import_react40.useState)(null); + const [message, setMessage] = (0, import_react40.useState)(""); const run = (task, after) => { setBusy(true); setError(null); @@ -18118,16 +18604,17 @@ function ConnectorRow({ connector, roster, actions }) { const gateway = connector.id === "composio"; const sender = connector.kind === "sender"; const channel = connector.kind === "channel"; + const guided = channel && actions.feishu; const modes = connector.modes ?? []; - const [mode, setMode] = (0, import_react39.useState)(() => connector.mode ?? modes[0]?.id); - const [values, setValues] = (0, import_react39.useState)({}); + const [mode, setMode] = (0, import_react40.useState)(() => connector.mode ?? modes[0]?.id); + const [values, setValues] = (0, import_react40.useState)({}); const chosen = modes.find((entry) => entry.id === mode) ?? modes[0]; - const field = (name) => values[name] ?? ""; + const field2 = (name) => values[name] ?? ""; const setField = (name, value) => setValues((current) => ({ ...current, [name]: value })); - const filled = chosen !== void 0 && chosen.credentials.every((credential) => field(credential.name).trim() !== ""); - const [statuses, setStatuses] = (0, import_react39.useState)({}); + const filled = chosen !== void 0 && chosen.credentials.every((credential) => field2(credential.name).trim() !== ""); + const [statuses, setStatuses] = (0, import_react40.useState)({}); const appsKey = (connector.apps ?? []).join(","); - (0, import_react39.useEffect)(() => { + (0, import_react40.useEffect)(() => { if (!gateway || connector.state !== "ready" || appsKey === "" || actions.connectorAppStatus === void 0) { setStatuses({}); return void 0; @@ -18142,12 +18629,12 @@ function ConnectorRow({ connector, roster, actions }) { live = false; }; }, [gateway, connector.state, appsKey, picking]); - const search = (0, import_react39.useCallback)((query) => actions.connectorAppSearch(connector.id, query, connector.state === "off" ? token : void 0), [connector.id, connector.state, token]); + const search = (0, import_react40.useCallback)((query) => actions.connectorAppSearch(connector.id, query, connector.state === "off" ? token : void 0), [connector.id, connector.state, token]); const connect = () => { if (busy) return; if (channel) { if (chosen === void 0 || !filled) return; - const credentials = Object.fromEntries(chosen.credentials.map((credential) => [credential.name, field(credential.name)])); + const credentials = Object.fromEntries(chosen.credentials.map((credential) => [credential.name, field2(credential.name)])); void run(actions.connectorConnect(connector.id, { mode: chosen.id, credentials }), () => { setValues({}); setForm(false); @@ -18176,52 +18663,54 @@ function ConnectorRow({ connector, roster, actions }) { const canPost = sender || channel && connector.mode === "webhook"; const perBot = !sender && (!channel || connector.mode === "app"); const Mark = MARKS[connector.id]; - const row = (0, import_react39.useRef)(null); + const row = (0, import_react40.useRef)(null); useMorph(row, `${form}:${picking}:${bots}:${error !== null}:${connector.state}:${mode}`); - return (0, import_react39.createElement)( + return (0, import_react40.createElement)( "div", { ref: row, className: "bt-connector", "data-state": connector.state }, - (0, import_react39.createElement)( + (0, import_react40.createElement)( "div", { className: "bt-connector-head" }, - (0, import_react39.createElement)("span", { className: "bt-connector-mark" }, Mark ? (0, import_react39.createElement)(Mark) : null), - (0, import_react39.createElement)( + (0, import_react40.createElement)("span", { className: "bt-connector-mark" }, Mark ? (0, import_react40.createElement)(Mark) : null), + (0, import_react40.createElement)( "span", { className: "bt-connector-text" }, - (0, import_react39.createElement)("span", { className: "bt-connector-name" }, connector.name), - (0, import_react39.createElement)("span", { className: "bt-connector-status" }, statusText2(connector)) + (0, import_react40.createElement)("span", { className: "bt-connector-name" }, connector.name), + (0, import_react40.createElement)("span", { className: "bt-connector-status" }, statusText2(connector)) ), - (0, import_react39.createElement)( + (0, import_react40.createElement)( "span", { className: "bt-connector-actions" }, - connector.state === "error" ? (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => void run(actions.connectorRetry(connector.id)) }, t("Try again")) : null, - on && gateway && !picking ? (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => { + connector.state === "error" ? (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => void run(actions.connectorRetry(connector.id)) }, t("Try again")) : null, + on && gateway && !picking ? (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => { setApps(connector.apps ?? []); setPicking(true); } }, t("Choose apps")) : null, - on && perBot ? (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", "aria-expanded": bots, onClick: () => setBots((value) => !value) }, bots ? t("Done") : t("Choose Bots")) : null, - on ? (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => void run(actions.connectorDisconnect(connector.id)) }, t("Disconnect")) : form ? null : (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => setForm(true) }, t("Connect")) + on && perBot ? (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", "aria-expanded": bots, onClick: () => setBots((value) => !value) }, bots ? t("Done") : t("Choose Bots")) : null, + guided ? (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", "aria-expanded": form, onClick: () => setForm((value) => !value) }, t("Connect")) : null, + on ? (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => void run(actions.connectorDisconnect(connector.id)) }, t("Disconnect")) : form || guided ? null : (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => setForm(true) }, t("Connect")) ) ), - on && gateway && !picking ? (0, import_react39.createElement)(AppStatusList, { apps: connector.apps ?? [], statuses }) : null, - on && perBot ? (0, import_react39.createElement)("span", { className: "bt-connector-uses" }, usageText(roster, connector.id)) : null, - on && bots ? (0, import_react39.createElement)(ConnectorBots, { connector, roster, actions, run, SwitchRow }) : null, - on && channel && connector.mode === "app" ? (0, import_react39.createElement)(AllowedSenders, { connector, actions, run, busy }) : null, - on && canPost ? (0, import_react39.createElement)( + on && gateway && !picking ? (0, import_react40.createElement)(AppStatusList, { apps: connector.apps ?? [], statuses }) : null, + on && perBot ? (0, import_react40.createElement)("span", { className: "bt-connector-uses" }, usageText(roster, connector.id)) : null, + on && bots ? (0, import_react40.createElement)(ConnectorBots, { connector, roster, actions, run, SwitchRow }) : null, + on && channel && !connector.managed && connector.mode === "app" ? (0, import_react40.createElement)(AllowedSenders, { connector, actions, run, busy }) : null, + on && canPost ? (0, import_react40.createElement)( "div", { className: "bt-connector-form" }, - (0, import_react39.createElement)("label", { className: "bt-q-field" }, (0, import_react39.createElement)("input", { className: "bt-input", type: "text", value: message, "aria-label": t("Message to send to Feishu"), placeholder: t("Type a message for the Feishu group"), onChange: (event) => setMessage(event.target.value) })), - (0, import_react39.createElement)( + (0, import_react40.createElement)("label", { className: "bt-q-field" }, (0, import_react40.createElement)("input", { className: "bt-input", type: "text", value: message, "aria-label": t("Message to send to Feishu"), placeholder: t("Type a message for the Feishu group"), onChange: (event) => setMessage(event.target.value) })), + (0, import_react40.createElement)( "div", { className: "bt-connector-form-row" }, - (0, import_react39.createElement)("span", { className: "bt-connector-link" }), - (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || message.trim() === "" || actions.connectorSend === void 0, onClick: () => void run(actions.connectorSend(connector.id, message), () => setMessage("")) }, t("Send")) + (0, import_react40.createElement)("span", { className: "bt-connector-link" }), + (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || message.trim() === "" || actions.connectorSend === void 0, onClick: () => void run(actions.connectorSend(connector.id, message), () => setMessage("")) }, t("Send")) ) ) : null, - !on && form ? (0, import_react39.createElement)( + channel && form && actions.feishu ? (0, import_react40.createElement)(FeishuSetup, { actions, roster, onClose: () => setForm(false) }) : null, + !on && form && (!channel || !actions.feishu) ? (0, import_react40.createElement)( "div", { className: "bt-connector-form" }, - channel ? (0, import_react39.createElement)("div", { className: "bt-states", role: "group", "aria-label": t("How to connect") }, modes.map((entry) => (0, import_react39.createElement)("button", { + channel ? (0, import_react40.createElement)("div", { className: "bt-states", role: "group", "aria-label": t("How to connect") }, modes.map((entry) => (0, import_react40.createElement)("button", { key: entry.id, type: "button", className: "bt-state", @@ -18232,67 +18721,67 @@ function ConnectorRow({ connector, roster, actions }) { setError(null); } }, t(entry.label)))) : null, - channel ? (chosen?.credentials ?? []).map((credential, index) => (0, import_react39.createElement)(CredentialField, { + channel ? (chosen?.credentials ?? []).map((credential, index) => (0, import_react40.createElement)(CredentialField, { key: credential.name, credential, - value: field(credential.name), + value: field2(credential.name), onChange: (value) => setField(credential.name, value), onEnter: connect, autoFocus: index === 0 - })) : (0, import_react39.createElement)("label", { className: "bt-q-field bt-secret-field" }, (0, import_react39.createElement)(MaskedInput, { value: token, onChange: setToken, onEnter: connect, label: gateway ? t("Composio API key") : t("GitHub token"), autoFocus: true })), - gateway ? (0, import_react39.createElement)(AppPicker, { apps, onChange: setApps, search: token.trim() === "" ? void 0 : search }) : null, - (0, import_react39.createElement)( + })) : (0, import_react40.createElement)("label", { className: "bt-q-field bt-secret-field" }, (0, import_react40.createElement)(MaskedInput, { value: token, onChange: setToken, onEnter: connect, label: gateway ? t("Composio API key") : t("GitHub token"), autoFocus: true })), + gateway ? (0, import_react40.createElement)(AppPicker, { apps, onChange: setApps, search: token.trim() === "" ? void 0 : search }) : null, + (0, import_react40.createElement)( "div", { className: "bt-connector-form-row" }, - (0, import_react39.createElement)( + (0, import_react40.createElement)( "a", { className: "bt-connector-link", href: channel ? chosen?.link ?? FEISHU_WEBHOOK_URL : gateway ? COMPOSIO_KEY_URL : TOKEN_URL, target: "_blank", rel: "noopener noreferrer" }, channel ? t(chosen?.linkLabel ?? "Get a webhook URL in Feishu") : gateway ? t("Get a Composio API key") : t("Create a token on GitHub") ), - (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => { + (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => { setForm(false); setToken(""); setValues({}); setError(null); } }, t("Cancel")), - (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || (channel ? !filled : token.trim() === ""), onClick: connect }, busy ? t("Connecting…") : t("Connect")) + (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || (channel ? !filled : token.trim() === ""), onClick: connect }, busy ? t("Connecting…") : t("Connect")) ) ) : null, - on && gateway && picking ? (0, import_react39.createElement)( + on && gateway && picking ? (0, import_react40.createElement)( "div", { className: "bt-connector-form" }, - (0, import_react39.createElement)(AppPicker, { apps, onChange: setApps, search, statuses }), - (0, import_react39.createElement)("span", { className: "bt-set-hint" }, t("The first time a Bot uses an app, it shows a sign-in link in the chat.")), - (0, import_react39.createElement)( + (0, import_react40.createElement)(AppPicker, { apps, onChange: setApps, search, statuses }), + (0, import_react40.createElement)("span", { className: "bt-set-hint" }, t("The first time a Bot uses an app, it shows a sign-in link in the chat.")), + (0, import_react40.createElement)( "div", { className: "bt-connector-form-row" }, - (0, import_react39.createElement)("span", { className: "bt-connector-link" }), - (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => { + (0, import_react40.createElement)("span", { className: "bt-connector-link" }), + (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => { setPicking(false); setError(null); } }, t("Cancel")), - (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || apps.length === 0, onClick: saveApps }, busy ? t("Connecting…") : t("Save")) + (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || apps.length === 0, onClick: saveApps }, busy ? t("Connecting…") : t("Save")) ) ) : null, - error ? (0, import_react39.createElement)("div", { className: "bt-connector-error", role: "alert" }, error) : null + error ? (0, import_react40.createElement)("div", { className: "bt-connector-error", role: "alert" }, error) : null ); } function ConnectorsPage({ roster, actions }) { const list = roster?.connectors ?? []; - return (0, import_react39.createElement)( + return (0, import_react40.createElement)( "section", { className: "bt-set-section" }, - (0, import_react39.createElement)("div", { className: "bt-set-card bt-connectors-card" }, list.length === 0 ? (0, import_react39.createElement)("div", { className: "bt-set-row" }, (0, import_react39.createElement)("span", { className: "bt-set-hint" }, t("No connectors"))) : list.map((connector) => (0, import_react39.createElement)(ConnectorRow, { key: connector.id, connector, roster, actions }))) + (0, import_react40.createElement)("div", { className: "bt-set-card bt-connectors-card" }, list.length === 0 ? (0, import_react40.createElement)("div", { className: "bt-set-row" }, (0, import_react40.createElement)("span", { className: "bt-set-hint" }, t("No connectors"))) : list.map((connector) => (0, import_react40.createElement)(ConnectorRow, { key: connector.id, connector, roster, actions }))) ); } // src/client/feedback.js -var import_react40 = require("react"); -var FeedbackIcon = () => (0, import_react40.createElement)( +var import_react41 = require("react"); +var FeedbackIcon = () => (0, import_react41.createElement)( "svg", { width: 15, height: 15, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true }, - (0, import_react40.createElement)("path", { d: "M4 4.5h12a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H9l-3.5 3v-3H4a1 1 0 0 1-1-1v-7a1 1 0 0 1 1-1z" }), - (0, import_react40.createElement)("path", { d: "M10 7v2.6M10 11.4h.01" }) + (0, import_react41.createElement)("path", { d: "M4 4.5h12a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H9l-3.5 3v-3H4a1 1 0 0 1-1-1v-7a1 1 0 0 1 1-1z" }), + (0, import_react41.createElement)("path", { d: "M10 7v2.6M10 11.4h.01" }) ); function download(name, text2) { const url = URL.createObjectURL(new Blob([text2], { type: "text/plain;charset=utf-8" })); @@ -18315,16 +18804,16 @@ function entrySummary(entry) { } var SOURCES = { turn: "Model call", host: "FlyBot", api: "FlyBot", browser: "This window" }; function FeedbackPage({ actions, run, Section, Row: Row4 }) { - const [what, setWhat] = (0, import_react40.useState)(""); - const [report, setReport] = (0, import_react40.useState)(null); - const [preview, setPreview] = (0, import_react40.useState)(false); - const [note, setNote] = (0, import_react40.useState)(""); + const [what, setWhat] = (0, import_react41.useState)(""); + const [report, setReport] = (0, import_react41.useState)(null); + const [preview, setPreview] = (0, import_react41.useState)(false); + const [note, setNote] = (0, import_react41.useState)(""); const fetchReport = () => actions.diagnostics({ client: clientFacts(), clientErrors: clientErrors() }).then((next) => { setReport(next); return next; }); const load = () => fetchReport().then(() => void 0); - (0, import_react40.useEffect)(() => { + (0, import_react41.useEffect)(() => { void run(load()); }, []); const copyReport = () => run(fetchReport().then(async (next) => { @@ -18332,7 +18821,7 @@ function FeedbackPage({ actions, run, Section, Row: Row4 }) { setNote(copied ? t("Copied the diagnostics.") : t("Could not copy. Select the text below and copy it.")); if (!copied) setPreview(true); })); - const [issueLink, setIssueLink] = (0, import_react40.useState)(null); + const [issueLink, setIssueLink] = (0, import_react41.useState)(null); const openIssue = () => { const win = window.open("", "_blank"); if (win !== null) win.opener = null; @@ -18360,59 +18849,59 @@ function FeedbackPage({ actions, run, Section, Row: Row4 }) { const total = (report?.total ?? 0) + browserErrors.length; const shown = entries2.slice(0, 8); return [ - (0, import_react40.createElement)( + (0, import_react41.createElement)( Section, { key: "report", title: t("Report a problem") }, - (0, import_react40.createElement)( + (0, import_react41.createElement)( "div", { className: "bt-set-row bt-set-paste bt-fb-what" }, - (0, import_react40.createElement)( + (0, import_react41.createElement)( "label", { className: "bt-set-copy", htmlFor: "bt-fb-what" }, - (0, import_react40.createElement)("span", null, t("What happened?")), - (0, import_react40.createElement)("span", { className: "bt-set-hint" }, t("What you did, what you expected, and what happened instead. It goes into the issue.")) + (0, import_react41.createElement)("span", null, t("What happened?")), + (0, import_react41.createElement)("span", { className: "bt-set-hint" }, t("What you did, what you expected, and what happened instead. It goes into the issue.")) ), - (0, import_react40.createElement)("textarea", { id: "bt-fb-what", className: "bt-input bt-input-area", value: what, maxLength: WHAT_MAX, placeholder: t("For example: I asked Writer in the group chat and it showed an error."), onChange: (event) => setWhat(event.target.value) }) + (0, import_react41.createElement)("textarea", { id: "bt-fb-what", className: "bt-input bt-input-area", value: what, maxLength: WHAT_MAX, placeholder: t("For example: I asked Writer in the group chat and it showed an error."), onChange: (event) => setWhat(event.target.value) }) ), - (0, import_react40.createElement)( + (0, import_react41.createElement)( Row4, { label: t("Diagnostics"), hint: t("Versions, system, models, and the latest errors. Saved keys, tokens, and your home folder are hidden.") }, - (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => setPreview(!preview), "aria-expanded": preview }, preview ? t("Hide") : t("Show")), - (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: copyReport }, t("Copy")) + (0, import_react41.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => setPreview(!preview), "aria-expanded": preview }, preview ? t("Hide") : t("Show")), + (0, import_react41.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: copyReport }, t("Copy")) ), - preview ? (0, import_react40.createElement)("div", { className: "bt-set-row bt-fb-preview" }, (0, import_react40.createElement)("pre", { tabIndex: 0, "aria-label": t("Diagnostics") }, report?.markdown || t("Loading…"))) : null, - (0, import_react40.createElement)( + preview ? (0, import_react41.createElement)("div", { className: "bt-set-row bt-fb-preview" }, (0, import_react41.createElement)("pre", { tabIndex: 0, "aria-label": t("Diagnostics") }, report?.markdown || t("Loading…"))) : null, + (0, import_react41.createElement)( Row4, { label: t("GitHub issue"), hint: t("Opens a new issue in the FlyBot repository with all of this filled in. Nothing is sent until you submit it there.") }, - (0, import_react40.createElement)("button", { type: "button", className: "bt-fb-primary", onClick: openIssue }, t("Report on GitHub")) + (0, import_react41.createElement)("button", { type: "button", className: "bt-fb-primary", onClick: openIssue }, t("Report on GitHub")) ) ), - note ? (0, import_react40.createElement)( + note ? (0, import_react41.createElement)( "div", { key: "note", className: "bt-note bt-fb-note", role: "status" }, note, - issueLink ? [" ", (0, import_react40.createElement)("a", { key: "link", href: issueLink, target: "_blank", rel: "noopener noreferrer" }, t("Open the issue"))] : null + issueLink ? [" ", (0, import_react41.createElement)("a", { key: "link", href: issueLink, target: "_blank", rel: "noopener noreferrer" }, t("Open the issue"))] : null ) : null, - (0, import_react40.createElement)( + (0, import_react41.createElement)( Section, { key: "errors", title: report ? t("Recent errors · {count}", { count: total }) : t("Recent errors") }, - shown.length === 0 ? (0, import_react40.createElement)(Row4, { label: t("No errors recorded."), hint: t("Failed model calls and FlyBot problems show here, newest first.") }) : shown.map((entry, index) => (0, import_react40.createElement)( + shown.length === 0 ? (0, import_react41.createElement)(Row4, { label: t("No errors recorded."), hint: t("Failed model calls and FlyBot problems show here, newest first.") }) : shown.map((entry, index) => (0, import_react41.createElement)( "div", { key: `${entry.time}-${index}`, className: "bt-set-row bt-fb-entry", title: entry.text }, - (0, import_react40.createElement)("span", { className: "bt-fb-dot", "data-level": entry.level, "aria-hidden": true }), - (0, import_react40.createElement)( + (0, import_react41.createElement)("span", { className: "bt-fb-dot", "data-level": entry.level, "aria-hidden": true }), + (0, import_react41.createElement)( "div", { className: "bt-set-copy" }, - (0, import_react40.createElement)("span", { className: "bt-fb-text" }, entrySummary(entry)), - (0, import_react40.createElement)("span", { className: "bt-set-hint" }, [whenText2(entry.time), entry.bot, entry.where, t(SOURCES[entry.source] ?? "FlyBot")].filter(Boolean).join(" · ")) + (0, import_react41.createElement)("span", { className: "bt-fb-text" }, entrySummary(entry)), + (0, import_react41.createElement)("span", { className: "bt-set-hint" }, [whenText2(entry.time), entry.bot, entry.where, t(SOURCES[entry.source] ?? "FlyBot")].filter(Boolean).join(" · ")) ), - entry.code ? (0, import_react40.createElement)("span", { className: "bt-tag bt-fb-code" }, entry.status ? `${entry.code} ${entry.status}` : entry.code) : null + entry.code ? (0, import_react41.createElement)("span", { className: "bt-tag bt-fb-code" }, entry.status ? `${entry.code} ${entry.status}` : entry.code) : null )), - (0, import_react40.createElement)( + (0, import_react41.createElement)( Row4, { label: t("Error log"), hint: t("Kept on this computer across restarts, up to about 1 MB.") }, - (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: downloadLog }, t("Download")), - (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: clearLog, disabled: !report || total === 0 }, t("Clear")) + (0, import_react41.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: downloadLog }, t("Download")), + (0, import_react41.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: clearLog, disabled: !report || total === 0 }, t("Clear")) ) ) ]; @@ -18420,8 +18909,8 @@ function FeedbackPage({ actions, run, Section, Row: Row4 }) { var TOAST_MS = 6e3; function ErrorToast({ useUi, actions }) { const toast = useUi((state) => state.toast); - const [leaving, setLeaving] = (0, import_react40.useState)(false); - (0, import_react40.useEffect)(() => { + const [leaving, setLeaving] = (0, import_react41.useState)(false); + (0, import_react41.useEffect)(() => { if (!toast) return void 0; setLeaving(false); const fade = setTimeout(() => setLeaving(true), TOAST_MS); @@ -18433,15 +18922,15 @@ function ErrorToast({ useUi, actions }) { }, [toast?.token]); if (!toast) return null; const info = toast.tone === "info"; - return (0, import_react40.createElement)( + return (0, import_react41.createElement)( "div", { className: "bt-toast", role: info ? "status" : "alert", "data-tone": toast.tone, "data-leaving": leaving || void 0 }, - (0, import_react40.createElement)("span", { className: "bt-toast-text" }, toast.text), - info ? null : (0, import_react40.createElement)("button", { type: "button", className: "bt-toast-link", onClick: () => { + (0, import_react41.createElement)("span", { className: "bt-toast-text" }, toast.text), + info ? null : (0, import_react41.createElement)("button", { type: "button", className: "bt-toast-link", onClick: () => { actions.dismissToast(toast.token); actions.openSettings("feedback"); } }, t("Details")), - (0, import_react40.createElement)("button", { type: "button", className: "bt-icon-btn bt-toast-close", "aria-label": t("Dismiss"), onClick: () => actions.dismissToast(toast.token) }, (0, import_react40.createElement)(CloseIcon)) + (0, import_react41.createElement)("button", { type: "button", className: "bt-icon-btn bt-toast-close", "aria-label": t("Dismiss"), onClick: () => actions.dismissToast(toast.token) }, (0, import_react41.createElement)(CloseIcon)) ); } var FEEDBACK_CSS = ` @@ -18472,7 +18961,7 @@ var FEEDBACK_CSS = ` `; // src/client/about.js -var import_react41 = require("react"); +var import_react42 = require("react"); var starCount = (count) => new Intl.NumberFormat(dateLocale(), { notation: "compact", maximumFractionDigits: 1 }).format(count); function botHint(update) { if (update.phase === "installing") return t("Updating FlyBot core…"); @@ -18507,9 +18996,9 @@ function dshHint(dsh, shown) { var linkProps = (href) => ({ className: "bt-soft bt-soft-sm bt-about-link", href, target: "_blank", rel: "noopener noreferrer" }); function AboutPage({ useUpdate, actions, run, Section, Row: Row4 }) { const update = useUpdate((value) => value) ?? {}; - const [checking, setChecking] = (0, import_react41.useState)(false); - const [stars, setStars] = (0, import_react41.useState)(null); - (0, import_react41.useEffect)(() => { + const [checking, setChecking] = (0, import_react42.useState)(false); + const [stars, setStars] = (0, import_react42.useState)(null); + (0, import_react42.useEffect)(() => { let live = true; actions.repoStars().then((count) => { if (live && Number.isInteger(count)) setStars(count); @@ -18530,29 +19019,29 @@ function AboutPage({ useUpdate, actions, run, Section, Row: Row4 }) { const dshPhase = dsh?.phase ?? "idle"; const dshNew = showsDshRow(dsh, update.app); const dshShown = dshNew && dsh.available; - const botControl = phase === "installed" ? null : update.available || phase === "installing" ? (0, import_react41.createElement)( + const botControl = phase === "installed" ? null : update.available || phase === "installing" ? (0, import_react42.createElement)( "button", { type: "button", className: "bt-fb-primary", disabled: phase === "installing", onClick: () => run(actions.installUpdate()) }, phase === "installing" ? t("Updating…") : phase === "failed" ? t("Try again") : t("Update") - ) : (0, import_react41.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: checking || update.enabled === false, onClick: check }, checking ? t("Checking…") : t("Check for updates")); - const dshControl = !dshNew || dshPhase === "installed" ? null : dsh.kind === "app" ? dsh.available ? (0, import_react41.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.openAppUpdates(dsh.verified)) }, t("Open updates")) : null : dsh.available || dshPhase !== "idle" ? (0, import_react41.createElement)( + ) : (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: checking || update.enabled === false, onClick: check }, checking ? t("Checking…") : t("Check for updates")); + const dshControl = !dshNew || dshPhase === "installed" ? null : dsh.kind === "app" ? dsh.available ? (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.openAppUpdates(dsh.verified)) }, t("Open updates")) : null : dsh.available || dshPhase !== "idle" ? (0, import_react42.createElement)( "button", { type: "button", className: "bt-fb-primary", disabled: dshPhase === "installing", onClick: () => run(actions.installDshUpdate()) }, dshPhase === "installing" ? t("Updating…") : dshPhase === "failed" ? t("Try again") : t("Update") ) : null; const repo = update.repoUrl; return [ - (0, import_react41.createElement)( + (0, import_react42.createElement)( "div", { key: "hero", className: "bt-about-hero" }, - (0, import_react41.createElement)("span", { className: "bt-about-mark" }, (0, import_react41.createElement)(FlyBotMark, { size: 52 })), - (0, import_react41.createElement)( + (0, import_react42.createElement)("span", { className: "bt-about-mark" }, (0, import_react42.createElement)(FlyBotMark, { size: 52 })), + (0, import_react42.createElement)( "div", { className: "bt-about-copy" }, - (0, import_react41.createElement)("span", { className: "bt-about-name" }, t("FlyBot")), - update.current ? (0, import_react41.createElement)("span", { className: "bt-about-version" }, versionLine(update)) : null + (0, import_react42.createElement)("span", { className: "bt-about-name" }, t("FlyBot")), + update.current ? (0, import_react42.createElement)("span", { className: "bt-about-version" }, versionLine(update)) : null ), - repo ? (0, import_react41.createElement)( + repo ? (0, import_react42.createElement)( "a", { className: "bt-star", @@ -18562,23 +19051,23 @@ function AboutPage({ useUpdate, actions, run, Section, Row: Row4 }) { title: t("Star FlyBot on GitHub"), "aria-label": stars === null ? t("Star FlyBot on GitHub") : `${t("Star FlyBot on GitHub")} · ${t("{count} stars", { count: stars })}` }, - (0, import_react41.createElement)("span", { className: "bt-star-main" }, (0, import_react41.createElement)("span", { className: "bt-star-icon" }, (0, import_react41.createElement)(StarLineIcon)), "Star"), - stars === null ? null : (0, import_react41.createElement)("span", { className: "bt-star-count" }, starCount(stars)) + (0, import_react42.createElement)("span", { className: "bt-star-main" }, (0, import_react42.createElement)("span", { className: "bt-star-icon" }, (0, import_react42.createElement)(StarLineIcon)), "Star"), + stars === null ? null : (0, import_react42.createElement)("span", { className: "bt-star-count" }, starCount(stars)) ) : null ), - repo ? (0, import_react41.createElement)("p", { key: "ask", className: "bt-about-ask" }, t("If FlyBot helps you, a star on GitHub helps more people find it.")) : null, - (0, import_react41.createElement)( + repo ? (0, import_react42.createElement)("p", { key: "ask", className: "bt-about-ask" }, t("If FlyBot helps you, a star on GitHub helps more people find it.")) : null, + (0, import_react42.createElement)( Section, { key: "updates", title: t("Updates") }, - (0, import_react41.createElement)(Row4, { label: t("FlyBot core"), hint: botHint(update) }, botControl, update.available && update.notesUrl ? (0, import_react41.createElement)("a", linkProps(update.notesUrl), t("What's new")) : null), - dsh?.current ? (0, import_react41.createElement)(Row4, { label: t("DeepSeek Harness (underlying)"), hint: dshHint(dsh, dshShown) }, dshControl) : null + (0, import_react42.createElement)(Row4, { label: t("FlyBot core"), hint: botHint(update) }, botControl, update.available && update.notesUrl ? (0, import_react42.createElement)("a", linkProps(update.notesUrl), t("What's new")) : null), + dsh?.current ? (0, import_react42.createElement)(Row4, { label: t("DeepSeek Harness (underlying)"), hint: dshHint(dsh, dshShown) }, dshControl) : null ), - (0, import_react41.createElement)( + (0, import_react42.createElement)( Section, { key: "links", title: t("Links") }, - repo ? (0, import_react41.createElement)(Row4, { label: t("Source code"), hint: repo.replace(/^https:\/\//, "") }, (0, import_react41.createElement)("a", linkProps(repo), (0, import_react41.createElement)(GitHubMark), t("Open"))) : null, - update.notesUrl ? (0, import_react41.createElement)(Row4, { label: t("Release notes") }, (0, import_react41.createElement)("a", linkProps(update.notesUrl), t("Open"))) : null, - (0, import_react41.createElement)(Row4, { label: t("Report a problem") }, (0, import_react41.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => actions.openSettings("feedback") }, t("Open"))) + repo ? (0, import_react42.createElement)(Row4, { label: t("Source code"), hint: repo.replace(/^https:\/\//, "") }, (0, import_react42.createElement)("a", linkProps(repo), (0, import_react42.createElement)(GitHubMark), t("Open"))) : null, + update.notesUrl ? (0, import_react42.createElement)(Row4, { label: t("Release notes") }, (0, import_react42.createElement)("a", linkProps(update.notesUrl), t("Open"))) : null, + (0, import_react42.createElement)(Row4, { label: t("Report a problem") }, (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => actions.openSettings("feedback") }, t("Open"))) ) ]; } @@ -18607,19 +19096,19 @@ var ABOUT_CSS = ` `; // src/client/settings.js -var import_react42 = require("react"); +var import_react43 = require("react"); var capitalize2 = (word) => word[0].toUpperCase() + word.slice(1); var SETTINGS_PAGES = [["general", "General"], ["bots", "Bots"], ["groups", "Group chats"], ["projects", "Projects"], ["connectors", "Connectors"], ["capabilities", "Capabilities"], ["schedules", "Scheduled tasks"], ["workflows", "Workflows"], ["usage", "Usage"], ["secrets", "Secrets"], ["feedback", "Feedback"], ["about", "About FlyBot"]]; var PAGE_ICONS = { ...SETTINGS_ICONS, projects: FolderIcon, connectors: ConnectorIcon, workflows: WorkflowIcon, capabilities: PlugIcon, schedules: ClockIcon, secrets: KeyIcon, feedback: FeedbackIcon, about: InfoIcon }; function SetSection({ title, children }) { - return (0, import_react42.createElement)("section", { className: "bt-set-section" }, (0, import_react42.createElement)("h3", null, title), (0, import_react42.createElement)("div", { className: "bt-set-card" }, children)); + return (0, import_react43.createElement)("section", { className: "bt-set-section" }, (0, import_react43.createElement)("h3", null, title), (0, import_react43.createElement)("div", { className: "bt-set-card" }, children)); } -function SetRow({ label, hint, children }) { - return (0, import_react42.createElement)( +function SetRow({ label, hint: hint2, children }) { + return (0, import_react43.createElement)( "div", { className: "bt-set-row" }, - (0, import_react42.createElement)("div", { className: "bt-set-copy" }, (0, import_react42.createElement)("span", null, label), hint ? (0, import_react42.createElement)("span", { className: "bt-set-hint" }, hint) : null), - children ? (0, import_react42.createElement)("div", { className: "bt-set-control" }, children) : null + (0, import_react43.createElement)("div", { className: "bt-set-copy" }, (0, import_react43.createElement)("span", null, label), hint2 ? (0, import_react43.createElement)("span", { className: "bt-set-hint" }, hint2) : null), + children ? (0, import_react43.createElement)("div", { className: "bt-set-control" }, children) : null ); } var NOTIFY_KINDS = [ @@ -18631,35 +19120,35 @@ function GeneralPage({ roster, actions, run }) { const prefs = roster.prefs ?? {}; const themes = allThemes(); const current = themes[prefs.theme] ? prefs.theme : "deepseek"; - const [custom, setCustom] = (0, import_react42.useState)(prefs.accent ?? "#4d6bfe"); - const timer = (0, import_react42.useRef)(0); - (0, import_react42.useEffect)(() => () => clearTimeout(timer.current), []); + const [custom, setCustom] = (0, import_react43.useState)(prefs.accent ?? "#4d6bfe"); + const timer = (0, import_react43.useRef)(0); + (0, import_react43.useEffect)(() => () => clearTimeout(timer.current), []); const pickCustom = (value) => { setCustom(value); clearTimeout(timer.current); timer.current = setTimeout(() => run(actions.setPrefs({ accent: value })), 350); }; return [ - (0, import_react42.createElement)( + (0, import_react43.createElement)( SetSection, { key: "look", title: t("Appearance") }, - (0, import_react42.createElement)( + (0, import_react43.createElement)( SetRow, { label: t("Theme"), hint: t("Colors for the whole team, on every device.") }, - (0, import_react42.createElement)( + (0, import_react43.createElement)( "select", { className: "bt-select", "aria-label": t("Theme"), value: current, onChange: (event) => run(actions.setPrefs({ theme: event.target.value })) }, - Object.entries(themes).map(([id, theme]) => (0, import_react42.createElement)("option", { key: id, value: id }, t(theme.label))) + Object.entries(themes).map(([id, theme]) => (0, import_react43.createElement)("option", { key: id, value: id }, t(theme.label))) ) ), - (0, import_react42.createElement)( + (0, import_react43.createElement)( SetRow, { label: t("Accent"), hint: t("Unread marks, badges, and the brand mark.") }, - (0, import_react42.createElement)( + (0, import_react43.createElement)( "div", { className: "bt-swatches" }, - (0, import_react42.createElement)("button", { type: "button", className: "bt-swatch bt-swatch-default", title: t("Theme accent"), "aria-label": t("Theme accent"), "aria-pressed": !prefs.accent, onClick: () => run(actions.setPrefs({ accent: null })) }), - ACCENT_INKS.map((ink) => (0, import_react42.createElement)("button", { + (0, import_react43.createElement)("button", { type: "button", className: "bt-swatch bt-swatch-default", title: t("Theme accent"), "aria-label": t("Theme accent"), "aria-pressed": !prefs.accent, onClick: () => run(actions.setPrefs({ accent: null })) }), + ACCENT_INKS.map((ink) => (0, import_react43.createElement)("button", { key: ink, type: "button", className: "bt-swatch", @@ -18669,28 +19158,28 @@ function GeneralPage({ roster, actions, run }) { style: { background: INKS[ink][0] }, onClick: () => run(actions.setPrefs({ accent: INKS[ink][0] })) })), - (0, import_react42.createElement)( + (0, import_react43.createElement)( "label", { className: "bt-swatch bt-swatch-custom", title: t("Custom accent"), "data-on": Boolean(prefs.accent) && !ACCENT_INKS.some((ink) => INKS[ink][0] === prefs.accent) }, - (0, import_react42.createElement)("input", { type: "color", value: custom, "aria-label": t("Custom accent"), onChange: (event) => pickCustom(event.target.value) }) + (0, import_react43.createElement)("input", { type: "color", value: custom, "aria-label": t("Custom accent"), onChange: (event) => pickCustom(event.target.value) }) ) ) ) ), // One switch for every system notification (#353), then one per kind (#469). - (0, import_react42.createElement)( + (0, import_react43.createElement)( SetSection, { key: "notify", title: t("Notifications") }, - (0, import_react42.createElement)(SwitchRow, { + (0, import_react43.createElement)(SwitchRow, { label: t("In other chats"), hint: t("When your Bots finish, fail, or wait for your approval while you are in another chat or app."), on: prefs.notifications !== false, onChange: (on) => run(actions.setPrefs({ notifications: on })) }), - NOTIFY_KINDS.map(([kind, label, hint]) => (0, import_react42.createElement)(SwitchRow, { + NOTIFY_KINDS.map(([kind, label, hint2]) => (0, import_react43.createElement)(SwitchRow, { key: kind, label: t(label), - hint: hint ? t(hint) : void 0, + hint: hint2 ? t(hint2) : void 0, disabled: prefs.notifications === false, on: prefs.notify?.[kind] !== false, onChange: (on) => run(actions.setPrefs({ notify: { [kind]: on } })) @@ -18703,52 +19192,52 @@ function MainBotsSection({ roster, actions, run }) { const [first, ...others] = mains; const own = roster.bots.filter((bot) => !bot.remote); const candidates = own.filter((bot) => !isMainOf(roster, bot.id)); - return (0, import_react42.createElement)( + return (0, import_react43.createElement)( SetSection, { title: t("Main Bot") }, - (0, import_react42.createElement)( + (0, import_react43.createElement)( SetRow, { label: t("Main Bot"), hint: first ? t("First in the sidebar. Pick another Bot to hand it the role; {name} then stops being a Main Bot.", { name: first.name }) : void 0 }, - (0, import_react42.createElement)("select", { + (0, import_react43.createElement)("select", { className: "bt-select", "aria-label": t("Main Bot"), value: first?.id ?? "", onChange: (event) => run(actions.setMain(event.target.value, true, first ? { replace: first.id } : {})) - }, first ? null : (0, import_react42.createElement)("option", { value: "" }, t("Choose a Bot…")), own.map((bot) => (0, import_react42.createElement)("option", { key: bot.id, value: bot.id }, bot.name))) + }, first ? null : (0, import_react43.createElement)("option", { value: "" }, t("Choose a Bot…")), own.map((bot) => (0, import_react43.createElement)("option", { key: bot.id, value: bot.id }, bot.name))) ), - others.map((bot) => (0, import_react42.createElement)( + others.map((bot) => (0, import_react43.createElement)( SetRow, { key: bot.id, label: bot.name, hint: t("Also a Main Bot.") }, - (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.setMain(bot.id, true, { primary: true })) }, t("Move to first")), - (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.setMain(bot.id, false)) }, t("Remove Main Bot role")) + (0, import_react43.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.setMain(bot.id, true, { primary: true })) }, t("Move to first")), + (0, import_react43.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.setMain(bot.id, false)) }, t("Remove Main Bot role")) )), - candidates.length > 0 ? (0, import_react42.createElement)( + candidates.length > 0 ? (0, import_react43.createElement)( SetRow, { label: t("Add a Main Bot"), hint: t("Main Bots can create and change Bots, and run every group chat.") }, - (0, import_react42.createElement)("select", { + (0, import_react43.createElement)("select", { className: "bt-select", "aria-label": t("Add a Main Bot"), value: "", onChange: (event) => { if (event.target.value) void run(actions.setMain(event.target.value, true)); } - }, (0, import_react42.createElement)("option", { value: "" }, t("Choose a Bot…")), candidates.map((bot) => (0, import_react42.createElement)("option", { key: bot.id, value: bot.id }, bot.name))) + }, (0, import_react43.createElement)("option", { value: "" }, t("Choose a Bot…")), candidates.map((bot) => (0, import_react43.createElement)("option", { key: bot.id, value: bot.id }, bot.name))) ) : null ); } var MOTIONS = [["quiet", "Quiet"], ["normal", "Normal"], ["lively", "Lively"]]; function MotionSection({ roster, actions, run }) { const motion = roster.prefs?.motion === "quiet" || roster.prefs?.motion === "lively" ? roster.prefs.motion : "normal"; - return (0, import_react42.createElement)( + return (0, import_react43.createElement)( SetSection, { title: t("Animation") }, - (0, import_react42.createElement)( + (0, import_react43.createElement)( SetRow, { label: t("Bot animation") }, - (0, import_react42.createElement)(Segmented, { label: t("Bot animation"), value: motion, className: "bt-motion-seg" }, MOTIONS.map(([id, label]) => (0, import_react42.createElement)("button", { + (0, import_react43.createElement)(Segmented, { label: t("Bot animation"), value: motion, className: "bt-motion-seg" }, MOTIONS.map(([id, label]) => (0, import_react43.createElement)("button", { key: id, type: "button", "aria-pressed": motion === id, @@ -18760,69 +19249,69 @@ function MotionSection({ roster, actions, run }) { ); } function BotsPage({ roster, actions, run }) { - const [creating, setCreating] = (0, import_react42.useState)(false); + const [creating, setCreating] = (0, import_react43.useState)(false); return [ - (0, import_react42.createElement)(MainBotsSection, { key: "main", roster, actions, run }), - (0, import_react42.createElement)(MotionSection, { key: "motion", roster, actions, run }), - creating ? (0, import_react42.createElement)(CreateBot, { key: "create", roster, actions, inline: true, onBack: () => setCreating(false), onCreated: (bot) => actions.openSettings("bots", bot.id) }) : (0, import_react42.createElement)( + (0, import_react43.createElement)(MainBotsSection, { key: "main", roster, actions, run }), + (0, import_react43.createElement)(MotionSection, { key: "motion", roster, actions, run }), + creating ? (0, import_react43.createElement)(CreateBot, { key: "create", roster, actions, inline: true, onBack: () => setCreating(false), onCreated: (bot) => actions.openSettings("bots", bot.id) }) : (0, import_react43.createElement)( "div", { key: "new", className: "bt-actions" }, - (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm bt-with-icon", onClick: () => setCreating(true) }, (0, import_react42.createElement)(PlusIcon), t("New Bot")) + (0, import_react43.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm bt-with-icon", onClick: () => setCreating(true) }, (0, import_react43.createElement)(PlusIcon), t("New Bot")) ), - (0, import_react42.createElement)( + (0, import_react43.createElement)( SetSection, { key: "bots", title: t("Bots · {count}", { count: roster.bots.filter((bot) => !bot.remote).length }) }, - roster.bots.filter((bot) => !bot.remote).map((bot) => (0, import_react42.createElement)( + roster.bots.filter((bot) => !bot.remote).map((bot) => (0, import_react43.createElement)( "button", { key: bot.id, type: "button", className: "bt-set-row", onClick: () => actions.openSettings("bots", bot.id) }, - (0, import_react42.createElement)( + (0, import_react43.createElement)( "span", { className: "bt-set-bot" }, - (0, import_react42.createElement)(BotAvatar, { bot, size: 28, badge: false, live: false }), - (0, import_react42.createElement)("span", { className: "bt-row-title" }, bot.name), - bot.role ? (0, import_react42.createElement)("span", { className: "bt-tag" }, bot.role) : null, - isMainOf(roster, bot.id) ? (0, import_react42.createElement)("span", { className: "bt-tag" }, t("Main Bot")) : null, - bot.hidden && !isMainOf(roster, bot.id) ? (0, import_react42.createElement)("span", { className: "bt-tag" }, t("Hidden")) : null + (0, import_react43.createElement)(BotAvatar, { bot, size: 28, badge: false, live: false }), + (0, import_react43.createElement)("span", { className: "bt-row-title" }, bot.name), + bot.role ? (0, import_react43.createElement)("span", { className: "bt-tag" }, bot.role) : null, + isMainOf(roster, bot.id) ? (0, import_react43.createElement)("span", { className: "bt-tag" }, t("Main Bot")) : null, + bot.hidden && !isMainOf(roster, bot.id) ? (0, import_react43.createElement)("span", { className: "bt-tag" }, t("Hidden")) : null ), - (0, import_react42.createElement)("span", { className: "bt-chevron" }, (0, import_react42.createElement)(ChevronRightIcon)) + (0, import_react43.createElement)("span", { className: "bt-chevron" }, (0, import_react43.createElement)(ChevronRightIcon)) )) ) ]; } function GroupsPage({ roster, actions, run }) { - const [creating, setCreating] = (0, import_react42.useState)(false); + const [creating, setCreating] = (0, import_react43.useState)(false); return [ - creating ? (0, import_react42.createElement)(NewGroupForm, { key: "create", roster, actions, run, onCancel: () => setCreating(false), onCreated: (room2) => actions.openSettings("groups", room2.id) }) : (0, import_react42.createElement)( + creating ? (0, import_react43.createElement)(NewGroupForm, { key: "create", roster, actions, run, onCancel: () => setCreating(false), onCreated: (room2) => actions.openSettings("groups", room2.id) }) : (0, import_react43.createElement)( "div", { key: "new", className: "bt-actions" }, - (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm bt-with-icon", disabled: roster.bots.length < 2, title: roster.bots.length < 2 ? t("A group chat needs at least two Bots") : void 0, onClick: () => setCreating(true) }, (0, import_react42.createElement)(PlusIcon), t("Create group chat")) + (0, import_react43.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm bt-with-icon", disabled: roster.bots.length < 2, title: roster.bots.length < 2 ? t("A group chat needs at least two Bots") : void 0, onClick: () => setCreating(true) }, (0, import_react43.createElement)(PlusIcon), t("Create group chat")) ), - (0, import_react42.createElement)( + (0, import_react43.createElement)( SetSection, { key: "groups", title: t("Group chats · {count}", { count: roster.rooms.length }) }, - roster.rooms.length === 0 ? (0, import_react42.createElement)(SetRow, { label: t("No group chats yet."), hint: t("A group chat lets several Bots work on one thing with you.") }) : roster.rooms.map((room2) => { + roster.rooms.length === 0 ? (0, import_react43.createElement)(SetRow, { label: t("No group chats yet."), hint: t("A group chat lets several Bots work on one thing with you.") }) : roster.rooms.map((room2) => { const admin = roster.byId[room2.admin]; - return (0, import_react42.createElement)( + return (0, import_react43.createElement)( "button", { key: room2.id, type: "button", className: "bt-set-row", onClick: () => actions.openSettings("groups", room2.id) }, - (0, import_react42.createElement)( + (0, import_react43.createElement)( "span", { className: "bt-set-bot" }, - (0, import_react42.createElement)(RoomAvatar, { room: room2, roster, size: 28 }), - (0, import_react42.createElement)("span", { className: "bt-row-title" }, room2.name), - (0, import_react42.createElement)("span", { className: "bt-tag" }, t(seatedCount(room2) === 1 ? "{count} member" : "{count} members", { count: seatedCount(room2) })), - admin ? (0, import_react42.createElement)("span", { className: "bt-tag bt-tag-admin" }, (0, import_react42.createElement)(AdminStar), admin.name) : null, - room2.hidden ? (0, import_react42.createElement)("span", { className: "bt-tag" }, t("Hidden")) : null + (0, import_react43.createElement)(RoomAvatar, { room: room2, roster, size: 28 }), + (0, import_react43.createElement)("span", { className: "bt-row-title" }, room2.name), + (0, import_react43.createElement)("span", { className: "bt-tag" }, t(seatedCount(room2) === 1 ? "{count} member" : "{count} members", { count: seatedCount(room2) })), + admin ? (0, import_react43.createElement)("span", { className: "bt-tag bt-tag-admin" }, (0, import_react43.createElement)(AdminStar), admin.name) : null, + room2.hidden ? (0, import_react43.createElement)("span", { className: "bt-tag" }, t("Hidden")) : null ), - (0, import_react42.createElement)("span", { className: "bt-chevron" }, (0, import_react42.createElement)(ChevronRightIcon)) + (0, import_react43.createElement)("span", { className: "bt-chevron" }, (0, import_react43.createElement)(ChevronRightIcon)) ); }) ) ]; } function SettingsDialog({ page, id, roster, actions, useUpdate, leaving = false }) { - const [error, setError] = (0, import_react42.useState)(""); - const close = (0, import_react42.useCallback)(() => actions.closeSettings(), []); + const [error, setError] = (0, import_react43.useState)(""); + const close = (0, import_react43.useCallback)(() => actions.closeSettings(), []); useEscape(close); const run = (promise) => Promise.resolve(promise).then(() => { setError(""); @@ -18843,34 +19332,34 @@ function SettingsDialog({ page, id, roster, actions, useUpdate, leaving = false const nav = useGlide(shown, { axis: "y" }); const pageKey = `${shown}:${bot?.id ?? room2?.id ?? ""}`; const depth = bot || room2 ? 1 : 0; - const last = (0, import_react42.useRef)({ key: pageKey, depth, move: "up" }); + const last = (0, import_react43.useRef)({ key: pageKey, depth, move: "up" }); if (last.current.key !== pageKey) { last.current = { key: pageKey, depth, move: depth > last.current.depth ? "in" : depth < last.current.depth ? "out" : "up" }; } - const [usageOpened, setUsageOpened] = (0, import_react42.useState)(shown === "usage"); + const [usageOpened, setUsageOpened] = (0, import_react43.useState)(shown === "usage"); if (shown === "usage" && !usageOpened) setUsageOpened(true); - const errorLine = error ? (0, import_react42.createElement)("div", { className: "bt-error", role: "alert", style: { padding: 0 } }, error) : null; - return (0, import_react42.createElement)( + const errorLine = error ? (0, import_react43.createElement)("div", { className: "bt-error", role: "alert", style: { padding: 0 } }, error) : null; + return (0, import_react43.createElement)( "div", { className: "bt-settings-layer", "data-leaving": leaving || void 0 }, - (0, import_react42.createElement)("div", { className: "bt-scrim", onMouseDown: close }), - (0, import_react42.createElement)( + (0, import_react43.createElement)("div", { className: "bt-scrim", onMouseDown: close }), + (0, import_react43.createElement)( "div", { className: "bt-settings", role: "dialog", "aria-modal": true, "aria-label": t("FlyBot settings"), "data-wide": shown === "usage" ? "" : void 0 }, - (0, import_react42.createElement)( + (0, import_react43.createElement)( "nav", { ref: nav.box, className: "bt-settings-nav", "aria-label": t("Settings pages") }, - (0, import_react42.createElement)("span", { ref: nav.thumb, className: "bt-thumb", "aria-hidden": true }), - pages.map(([key, text2]) => (0, import_react42.createElement)("button", { + (0, import_react43.createElement)("span", { ref: nav.thumb, className: "bt-thumb", "aria-hidden": true }), + pages.map(([key, text2]) => (0, import_react43.createElement)("button", { key, type: "button", className: "bt-settings-item", "aria-current": shown === key ? "page" : void 0, onClick: () => actions.openSettings(key) - }, (0, import_react42.createElement)(extra.find((item) => item.key === key)?.entry.icon ?? PAGE_ICONS[key] ?? ConnectorIcon), t(text2))), + }, (0, import_react43.createElement)(extra.find((item) => item.key === key)?.entry.icon ?? PAGE_ICONS[key] ?? ConnectorIcon), t(text2))), // DeepSeek Harness's own settings are a separate window with its own title and look; FlyBot // does not embed or retitle it (never patch DSH), so the entry says it leaves (#421). - (0, import_react42.createElement)("button", { + (0, import_react43.createElement)("button", { type: "button", className: "bt-settings-item bt-settings-shell", title: t("Opens DeepSeek Harness's own settings (models, providers, permissions) in a separate window"), @@ -18879,44 +19368,44 @@ function SettingsDialog({ page, id, roster, actions, useUpdate, leaving = false close(); openHarnessSettings(); } - }, (0, import_react42.createElement)(SlidersIcon), t("Harness settings"), (0, import_react42.createElement)("span", { className: "bt-settings-out", "aria-hidden": true }, "↗")) + }, (0, import_react43.createElement)(SlidersIcon), t("Harness settings"), (0, import_react43.createElement)("span", { className: "bt-settings-out", "aria-hidden": true }, "↗")) ), - (0, import_react42.createElement)( + (0, import_react43.createElement)( "div", { className: "bt-settings-main" }, - (0, import_react42.createElement)( + (0, import_react43.createElement)( "div", { className: "bt-settings-head" }, - back ? (0, import_react42.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": back, title: back, onClick: () => actions.openSettings(shown) }, (0, import_react42.createElement)(ChevronLeftIcon)) : null, - (0, import_react42.createElement)("h2", { key: bot?.id ?? room2?.id ?? shown }, bot?.name ?? room2?.name ?? label) + back ? (0, import_react43.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": back, title: back, onClick: () => actions.openSettings(shown) }, (0, import_react43.createElement)(ChevronLeftIcon)) : null, + (0, import_react43.createElement)("h2", { key: bot?.id ?? room2?.id ?? shown }, bot?.name ?? room2?.name ?? label) ), - shown === "usage" ? null : (0, import_react42.createElement)( + shown === "usage" ? null : (0, import_react43.createElement)( "div", { key: pageKey, className: "bt-settings-scroll bt-settings-page", "data-move": last.current.move }, errorLine, - shown === "general" ? (0, import_react42.createElement)(GeneralPage, { roster, actions, run }) : null, - bot ? (0, import_react42.createElement)("div", { className: "bt-settings-form" }, (0, import_react42.createElement)(BotSettingsForm, { key: bot.id, bot, roster, actions, run })) : null, - shown === "bots" && !bot ? (0, import_react42.createElement)(BotsPage, { roster, actions, run }) : null, - room2 ? (0, import_react42.createElement)("div", { className: "bt-settings-form" }, (0, import_react42.createElement)(GroupSettingsForm, { key: room2.id, room: room2, roster, actions, run })) : null, - shown === "groups" && !room2 ? (0, import_react42.createElement)(GroupsPage, { roster, actions, run }) : null, - shown === "projects" ? (0, import_react42.createElement)(ProjectsPage, { roster, actions, run, call: call2 }) : null, - shown === "connectors" ? (0, import_react42.createElement)(ConnectorsPage, { roster, actions }) : null, - shown === "workflows" ? (0, import_react42.createElement)(WorkflowsPage, { call: call2, roster }) : null, - pluginPage ? (0, import_react42.createElement)(SettingsPageSlot, { entry: pluginPage, props: { roster, actions, call: call2, run, t, Section: SetSection, Row: SetRow } }) : null, - shown === "capabilities" ? (0, import_react42.createElement)(CapabilitiesPage, { roster, actions, run }) : null, - shown === "schedules" ? (0, import_react42.createElement)(SchedulesPage, { roster, actions, start: id ?? void 0 }) : null, - shown === "secrets" ? (0, import_react42.createElement)(SecretsPage, { roster, actions, run, Section: SetSection }) : null, - shown === "feedback" ? (0, import_react42.createElement)(FeedbackPage, { actions, run, Section: SetSection, Row: SetRow }) : null, - shown === "about" ? (0, import_react42.createElement)(AboutPage, { useUpdate, actions, run, Section: SetSection, Row: SetRow }) : null + shown === "general" ? (0, import_react43.createElement)(GeneralPage, { roster, actions, run }) : null, + bot ? (0, import_react43.createElement)("div", { className: "bt-settings-form" }, (0, import_react43.createElement)(BotSettingsForm, { key: bot.id, bot, roster, actions, run })) : null, + shown === "bots" && !bot ? (0, import_react43.createElement)(BotsPage, { roster, actions, run }) : null, + room2 ? (0, import_react43.createElement)("div", { className: "bt-settings-form" }, (0, import_react43.createElement)(GroupSettingsForm, { key: room2.id, room: room2, roster, actions, run })) : null, + shown === "groups" && !room2 ? (0, import_react43.createElement)(GroupsPage, { roster, actions, run }) : null, + shown === "projects" ? (0, import_react43.createElement)(ProjectsPage, { roster, actions, run, call: call2 }) : null, + shown === "connectors" ? (0, import_react43.createElement)(ConnectorsPage, { roster, actions }) : null, + shown === "workflows" ? (0, import_react43.createElement)(WorkflowsPage, { call: call2, roster }) : null, + pluginPage ? (0, import_react43.createElement)(SettingsPageSlot, { entry: pluginPage, props: { roster, actions, call: call2, run, t, Section: SetSection, Row: SetRow } }) : null, + shown === "capabilities" ? (0, import_react43.createElement)(CapabilitiesPage, { roster, actions, run }) : null, + shown === "schedules" ? (0, import_react43.createElement)(SchedulesPage, { roster, actions, start: id ?? void 0 }) : null, + shown === "secrets" ? (0, import_react43.createElement)(SecretsPage, { roster, actions, run, Section: SetSection }) : null, + shown === "feedback" ? (0, import_react43.createElement)(FeedbackPage, { actions, run, Section: SetSection, Row: SetRow }) : null, + shown === "about" ? (0, import_react43.createElement)(AboutPage, { useUpdate, actions, run, Section: SetSection, Row: SetRow }) : null ), - usageOpened ? (0, import_react42.createElement)( + usageOpened ? (0, import_react43.createElement)( "div", { key: "usage", className: "bt-settings-scroll bt-settings-usage", "data-off": shown === "usage" ? void 0 : "", "aria-hidden": shown === "usage" ? void 0 : true }, shown === "usage" ? errorLine : null, - (0, import_react42.createElement)(UsagePage, { roster, actions, focusId: usageFocus }) + (0, import_react43.createElement)(UsagePage, { roster, actions, focusId: usageFocus }) ) : null ), - (0, import_react42.createElement)("button", { type: "button", className: "bt-settings-close", "aria-label": t("Close settings"), onClick: close }, (0, import_react42.createElement)(CloseIcon)) + (0, import_react43.createElement)("button", { type: "button", className: "bt-settings-close", "aria-label": t("Close settings"), onClick: close }, (0, import_react43.createElement)(CloseIcon)) ) ); } @@ -18941,21 +19430,21 @@ function ProjectsList({ projects, roster, call: call4, reload }) { }; const bound2 = members.filter((member) => member.projectId !== null && member.projectId !== void 0); return [ - (0, import_react42.createElement)( + (0, import_react43.createElement)( SetSection, { key: "projects", title: t("Projects · {count}", { count: projects.length }) }, - projects.length === 0 ? (0, import_react42.createElement)("div", { className: "bt-set-row" }, (0, import_react42.createElement)("div", { className: "bt-set-copy" }, (0, import_react42.createElement)("span", null, t("No Project yet — create one.")))) : projects.map((project) => (0, import_react42.createElement)( + projects.length === 0 ? (0, import_react43.createElement)("div", { className: "bt-set-row" }, (0, import_react43.createElement)("div", { className: "bt-set-copy" }, (0, import_react43.createElement)("span", null, t("No Project yet — create one.")))) : projects.map((project) => (0, import_react43.createElement)( SetRow, { key: project.id, label: project.name, hint: project.workDir === null || project.workDir === void 0 ? void 0 : project.workDir }, - (0, import_react42.createElement)( + (0, import_react43.createElement)( "div", { className: "bt-project-row-controls" }, - (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => openProjectBoard(project.id) }, t("Open board")), - (0, import_react42.createElement)( + (0, import_react43.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => openProjectBoard(project.id) }, t("Open board")), + (0, import_react43.createElement)( "select", { className: "bt-select", @@ -18965,8 +19454,8 @@ function ProjectsList({ projects, roster, call: call4, reload }) { void bind(event.target.value, project); } }, - (0, import_react42.createElement)("option", { value: "" }, t("Bind a Bot or group")), - members.map((member) => (0, import_react42.createElement)( + (0, import_react43.createElement)("option", { value: "" }, t("Bind a Bot or group")), + members.map((member) => (0, import_react43.createElement)( "option", { key: `${member.kind}:${member.id}`, value: `${member.kind}:${member.id}` }, `${member.kind === "group" ? t("Group") : t("Bot")} · ${member.name}` @@ -18975,17 +19464,17 @@ function ProjectsList({ projects, roster, call: call4, reload }) { ) )) ), - bound2.length === 0 ? null : (0, import_react42.createElement)( + bound2.length === 0 ? null : (0, import_react43.createElement)( SetSection, { key: "bindings", title: t("Bindings") }, - bound2.map((member) => (0, import_react42.createElement)( + bound2.map((member) => (0, import_react43.createElement)( SetRow, { key: `${member.kind}:${member.id}`, label: member.name, hint: member.kind === "group" ? t("Group") : t("Bot") }, - (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => { + (0, import_react43.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => { void unbind(member); } }, t("Unbind")) )) @@ -18993,14 +19482,14 @@ function ProjectsList({ projects, roster, call: call4, reload }) { ]; } function ProjectsPage({ roster, actions, run, call: call4 }) { - const [state, setState] = (0, import_react42.useState)({ projects: [], error: null }); - const [name, setName] = (0, import_react42.useState)(""); - const [workDir, setWorkDir] = (0, import_react42.useState)(null); - const reload = (0, import_react42.useCallback)(async () => { + const [state, setState] = (0, import_react43.useState)({ projects: [], error: null }); + const [name, setName] = (0, import_react43.useState)(""); + const [workDir, setWorkDir] = (0, import_react43.useState)(null); + const reload = (0, import_react43.useCallback)(async () => { const listing = await call4("projects"); setState({ projects: listing?.projects ?? [], error: null }); }, [call4]); - (0, import_react42.useEffect)(() => { + (0, import_react43.useEffect)(() => { void reload().catch((error) => setState({ projects: [], error: error?.message ?? String(error) })); }, [reload]); const create = async () => { @@ -19018,14 +19507,14 @@ function ProjectsPage({ roster, actions, run, call: call4 }) { } }; return [ - state.error === null ? null : (0, import_react42.createElement)("div", { key: "error", className: "bt-error", role: "alert" }, state.error), - (0, import_react42.createElement)( + state.error === null ? null : (0, import_react43.createElement)("div", { key: "error", className: "bt-error", role: "alert" }, state.error), + (0, import_react43.createElement)( SetSection, { key: "new", title: t("New Project") }, - (0, import_react42.createElement)( + (0, import_react43.createElement)( SetRow, { label: t("Name") }, - (0, import_react42.createElement)("input", { + (0, import_react43.createElement)("input", { className: "bt-input", "aria-label": t("Project name"), value: name, @@ -19033,22 +19522,22 @@ function ProjectsPage({ roster, actions, run, call: call4 }) { onChange: (event) => setName(event.target.value) }) ), - (0, import_react42.createElement)( + (0, import_react43.createElement)( SetRow, { label: t("Working folder"), hint: t("Optional. Where this Project's work happens.") }, - (0, import_react42.createElement)(FolderMenu, { value: workDir, actions, run, onPick: setWorkDir }) + (0, import_react43.createElement)(FolderMenu, { value: workDir, actions, run, onPick: setWorkDir }) ), - (0, import_react42.createElement)( + (0, import_react43.createElement)( "div", { className: "bt-actions" }, - (0, import_react42.createElement)("button", { + (0, import_react43.createElement)("button", { type: "button", className: "bt-primary bt-with-icon", disabled: name.trim() === "", onClick: () => { void create(); } - }, (0, import_react42.createElement)(PlusIcon), t("New Project")) + }, (0, import_react43.createElement)(PlusIcon), t("New Project")) ) ), // The list is rendered here rather than as a child element: it holds no state of its own, @@ -19058,10 +19547,10 @@ function ProjectsPage({ roster, actions, run, call: call4 }) { } // src/client/context-menu.js -var import_react43 = require("react"); +var import_react44 = require("react"); function ContextMenu({ menu, roster, actions, leaving = false }) { useEscape(() => actions.closeMenu()); - (0, import_react43.useEffect)(() => { + (0, import_react44.useEffect)(() => { const onDown = (event) => { if (!(event.target instanceof Element) || !event.target.closest(".bt-menu")) actions.closeMenu(); }; @@ -19069,14 +19558,14 @@ function ContextMenu({ menu, roster, actions, leaving = false }) { return () => window.removeEventListener("mousedown", onDown); }, []); const structure = useSidebarStructure(); - const ref = (0, import_react43.useRef)(null); - const [place, setPlace] = (0, import_react43.useState)({ left: menu.x, top: menu.y }); - (0, import_react43.useLayoutEffect)(() => { + const ref = (0, import_react44.useRef)(null); + const [place, setPlace] = (0, import_react44.useState)({ left: menu.x, top: menu.y }); + (0, import_react44.useLayoutEffect)(() => { const box = ref.current?.getBoundingClientRect(); if (!box) return; setPlace({ left: Math.max(8, Math.min(menu.x, window.innerWidth - box.width - 8)), top: Math.max(8, Math.min(menu.y, window.innerHeight - box.height - 8)) }); }, [menu.x, menu.y]); - if (menu.kind === "agent" || menu.kind === "agent-session") return (0, import_react43.createElement)(AgentMenu, { menu, roster, actions, leaving }); + if (menu.kind === "agent" || menu.kind === "agent-session") return (0, import_react44.createElement)(AgentMenu, { menu, roster, actions, leaving }); const bot = roster.byId[menu.id]; const room2 = roster.roomsById[menu.id]; const entry = bot ?? room2; @@ -19118,14 +19607,14 @@ function ContextMenu({ menu, roster, actions, leaving = false }) { ] ]; const shown = groups.map((group) => group.filter(Boolean)).filter((group) => group.length > 0); - return (0, import_react43.createElement)( + return (0, import_react44.createElement)( "div", { ref, className: "bt-menu", role: "menu", "aria-label": t("{name} actions", { name: bot?.name ?? room2.name }), style: place, "data-leaving": leaving || void 0 }, - shown.map((group, index) => (0, import_react43.createElement)( - import_react43.Fragment, + shown.map((group, index) => (0, import_react44.createElement)( + import_react44.Fragment, { key: index }, - index > 0 ? (0, import_react43.createElement)("div", { className: "bt-menu-sep", role: "separator" }) : null, - group.map(([label, Icon, run, danger]) => (0, import_react43.createElement)("button", { + index > 0 ? (0, import_react44.createElement)("div", { className: "bt-menu-sep", role: "separator" }) : null, + group.map(([label, Icon, run, danger]) => (0, import_react44.createElement)("button", { key: label, type: "button", role: "menuitem", @@ -19134,14 +19623,14 @@ function ContextMenu({ menu, roster, actions, leaving = false }) { actions.closeMenu(); void Promise.resolve(run()).catch((error) => actions.reportError(error, "menu")); } - }, (0, import_react43.createElement)(Icon), label)) + }, (0, import_react44.createElement)(Icon), label)) )) ); } function AgentMenu({ menu, roster, actions, leaving }) { - const ref = (0, import_react43.useRef)(null); - const [place, setPlace] = (0, import_react43.useState)({ left: menu.x, top: menu.y }); - (0, import_react43.useLayoutEffect)(() => { + const ref = (0, import_react44.useRef)(null); + const [place, setPlace] = (0, import_react44.useState)({ left: menu.x, top: menu.y }); + (0, import_react44.useLayoutEffect)(() => { const box = ref.current?.getBoundingClientRect(); if (!box) return; setPlace({ left: Math.max(8, Math.min(menu.x, window.innerWidth - box.width - 8)), top: Math.max(8, Math.min(menu.y, window.innerHeight - box.height - 8)) }); @@ -19163,14 +19652,14 @@ function AgentMenu({ menu, roster, actions, leaving }) { [t("Archive"), TrashIcon, () => actions.archiveAgentSession(agent.id, menu.id), true] ] ]; - return (0, import_react43.createElement)( + return (0, import_react44.createElement)( "div", { ref, className: "bt-menu", role: "menu", "aria-label": menu.kind === "agent" ? "DSH Agent" : t("Session actions"), style: place, "data-leaving": leaving || void 0 }, - groups.map((group, index) => (0, import_react43.createElement)( - import_react43.Fragment, + groups.map((group, index) => (0, import_react44.createElement)( + import_react44.Fragment, { key: index }, - index > 0 ? (0, import_react43.createElement)("div", { className: "bt-menu-sep", role: "separator" }) : null, - group.map(([label, Icon, run, danger]) => (0, import_react43.createElement)("button", { + index > 0 ? (0, import_react44.createElement)("div", { className: "bt-menu-sep", role: "separator" }) : null, + group.map(([label, Icon, run, danger]) => (0, import_react44.createElement)("button", { key: label, type: "button", role: "menuitem", @@ -19179,7 +19668,7 @@ function AgentMenu({ menu, roster, actions, leaving }) { actions.closeMenu(); void Promise.resolve(run()).catch((error) => console.warn("[ds-bot]", error)); } - }, (0, import_react43.createElement)(Icon), label)) + }, (0, import_react44.createElement)(Icon), label)) )) ); } @@ -19265,7 +19754,7 @@ function migrateStorage(storage = globalThis.localStorage) { } // src/client/details-drawer.js -var import_react44 = require("react"); +var import_react45 = require("react"); var TAB_LABELS = { details: "Details", browser: "Browser" }; var hostOf = (url) => { try { @@ -19279,10 +19768,10 @@ var EMPTY_TABS = { ids: [], active: null }; var PERMISSION_LABELS = { "read-only": "Read only", "workspace-write": "Workspace", "danger-full-access": "Full access" }; var DANGER = /* @__PURE__ */ new Set(["danger-full-access"]); function PermissionRow({ bot, roster, actions, run }) { - const [pending, setPending] = (0, import_react44.useState)(null); + const [pending, setPending] = (0, import_react45.useState)(null); const catalog = roster.permissions; const saved = bot.permission ?? catalog?.defaultPreset; - (0, import_react44.useEffect)(() => { + (0, import_react45.useEffect)(() => { if (pending === saved) setPending(null); }, [pending, saved]); if (!catalog?.options?.length) return null; @@ -19292,14 +19781,14 @@ function PermissionRow({ bot, roster, actions, run }) { setPending(value); void run(actions.updateBot(bot.id, { permission: value })).catch(() => setPending(null)); }; - return (0, import_react44.createElement)( + return (0, import_react45.createElement)( "div", { className: "bt-drawer-permission" }, - (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Permissions")), - (0, import_react44.createElement)( + (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Permissions")), + (0, import_react45.createElement)( Segmented, { label: t("Permissions"), value: current }, - catalog.options.map((option) => (0, import_react44.createElement)("button", { + catalog.options.map((option) => (0, import_react45.createElement)("button", { key: option.value, type: "button", "aria-pressed": option.value === current, @@ -19313,42 +19802,42 @@ function PermissionRow({ bot, roster, actions, run }) { function BrowserCards({ bot, sessionId, roster, actions, useBrowserTabs, useBrowserPages }) { const state = useBrowserTabs((map) => map[bot.id] ?? EMPTY_TABS); const pages = useBrowserPages((map) => map); - (0, import_react44.useEffect)(() => { + (0, import_react45.useEffect)(() => { actions.browserEnsure?.(bot.id); }, [bot.id]); if (roster.browser !== true || !actions.browserShow) { - return (0, import_react44.createElement)("div", { className: "bt-muted" }, t("The browser is in the DSH Desktop app.")); + return (0, import_react45.createElement)("div", { className: "bt-muted" }, t("The browser is in the DSH Desktop app.")); } if (state.ids.length === 0) { - return (0, import_react44.createElement)( + return (0, import_react45.createElement)( "div", { className: "bt-browser-empty-mark" }, - (0, import_react44.createElement)(BotMark, { bot, size: 40, state: "idle", live: true }), - (0, import_react44.createElement)("div", { className: "bt-browser-empty-title" }, t("{name}'s browser", { name: bot.name })), - (0, import_react44.createElement)("div", { className: "bt-muted" }, t("Open a page here and {name} can read it with you. Logins and cookies stay with {name}; other Bots never see them.", { name: bot.name })), - (0, import_react44.createElement)("button", { type: "button", className: "bt-browser-retry", onClick: () => actions.openBrowser(sessionId) }, t("Open browser")) + (0, import_react45.createElement)(BotMark, { bot, size: 40, state: "idle", live: true }), + (0, import_react45.createElement)("div", { className: "bt-browser-empty-title" }, t("{name}'s browser", { name: bot.name })), + (0, import_react45.createElement)("div", { className: "bt-muted" }, t("Open a page here and {name} can read it with you. Logins and cookies stay with {name}; other Bots never see them.", { name: bot.name })), + (0, import_react45.createElement)("button", { type: "button", className: "bt-browser-retry", onClick: () => actions.openBrowser(sessionId) }, t("Open browser")) ); } - return (0, import_react44.createElement)( + return (0, import_react45.createElement)( "div", { className: "bt-bcards" }, state.ids.map((tabId, index) => { const page = pages[tabId] ?? {}; const label = page.title || shortUrl(page.url) || t("New tab"); - return (0, import_react44.createElement)( + return (0, import_react45.createElement)( "div", { key: tabId, className: "bt-bcard", "data-active": state.active === tabId || void 0, style: { animationDelay: `${index * 30}ms` } }, - (0, import_react44.createElement)( + (0, import_react45.createElement)( "button", { type: "button", className: "bt-bcard-shot", "aria-label": t("Open {title}", { title: label }), title: page.url, onClick: () => actions.browserPick(sessionId, tabId) }, - page.excerpt ? (0, import_react44.createElement)( + page.excerpt ? (0, import_react45.createElement)( "span", { className: "bt-bcard-preview" }, - (0, import_react44.createElement)("span", { className: "bt-bcard-ptitle" }, label), - (0, import_react44.createElement)("span", { className: "bt-bcard-excerpt" }, page.excerpt) - ) : (0, import_react44.createElement)("span", { className: "bt-bcard-blank" }, (0, import_react44.createElement)(GlobeIcon), (0, import_react44.createElement)("span", null, label)) + (0, import_react45.createElement)("span", { className: "bt-bcard-ptitle" }, label), + (0, import_react45.createElement)("span", { className: "bt-bcard-excerpt" }, page.excerpt) + ) : (0, import_react45.createElement)("span", { className: "bt-bcard-blank" }, (0, import_react45.createElement)(GlobeIcon), (0, import_react45.createElement)("span", null, label)) ), - (0, import_react44.createElement)("button", { + (0, import_react45.createElement)("button", { type: "button", className: "bt-bcard-x", "aria-label": t("Close tab"), @@ -19357,36 +19846,36 @@ function BrowserCards({ bot, sessionId, roster, actions, useBrowserTabs, useBrow void actions.browserCloseTab(bot.id, tabId); } }, "×"), - (0, import_react44.createElement)( + (0, import_react45.createElement)( "div", { className: "bt-bcard-row" }, - (0, import_react44.createElement)(Favicon, { src: page.favicon, className: "bt-bcard-fav" }), - (0, import_react44.createElement)("span", { className: "bt-bcard-title" }, label), - page.url ? (0, import_react44.createElement)("span", { className: "bt-bcard-host" }, hostOf(page.url)) : null + (0, import_react45.createElement)(Favicon, { src: page.favicon, className: "bt-bcard-fav" }), + (0, import_react45.createElement)("span", { className: "bt-bcard-title" }, label), + page.url ? (0, import_react45.createElement)("span", { className: "bt-bcard-host" }, hostOf(page.url)) : null ) ); }), - (0, import_react44.createElement)("button", { type: "button", className: "bt-bcard-new", style: { animationDelay: `${state.ids.length * 30}ms` }, onClick: () => actions.browserNewTab(sessionId) }, (0, import_react44.createElement)(PlusIcon), t("New tab")) + (0, import_react45.createElement)("button", { type: "button", className: "bt-bcard-new", style: { animationDelay: `${state.ids.length * 30}ms` }, onClick: () => actions.browserNewTab(sessionId) }, (0, import_react45.createElement)(PlusIcon), t("New tab")) ); } function About({ text: text2, title = "About" }) { - const [open, setOpen] = (0, import_react44.useState)(false); + const [open, setOpen] = (0, import_react45.useState)(false); const long = text2.split("\n").length > 5 || text2.length > 240; - const body = (0, import_react44.useRef)(null); + const body = (0, import_react45.useRef)(null); useMorph(body, open); - return (0, import_react44.createElement)( + return (0, import_react45.createElement)( "div", null, - (0, import_react44.createElement)("div", { className: "bt-section-title" }, t(title)), - (0, import_react44.createElement)("div", { ref: body, className: "bt-about", "data-open": open || void 0 }, text2), - long ? (0, import_react44.createElement)("button", { type: "button", className: "bt-more", onClick: () => setOpen((value) => !value) }, open ? t("Show less") : t("Show more")) : null + (0, import_react45.createElement)("div", { className: "bt-section-title" }, t(title)), + (0, import_react45.createElement)("div", { ref: body, className: "bt-about", "data-open": open || void 0 }, text2), + long ? (0, import_react45.createElement)("button", { type: "button", className: "bt-more", onClick: () => setOpen((value) => !value) }, open ? t("Show less") : t("Show more")) : null ); } function SharedRoomApprovals({ room: room2 }) { - const [items, setItems] = (0, import_react44.useState)(room2.pendingApprovals ?? []); - const [busy, setBusy] = (0, import_react44.useState)(""); + const [items, setItems] = (0, import_react45.useState)(room2.pendingApprovals ?? []); + const [busy, setBusy] = (0, import_react45.useState)(""); const face = room2.origin === "face-to-face"; - (0, import_react44.useEffect)(() => { + (0, import_react45.useEffect)(() => { const haveItems = Array.isArray(room2.pendingApprovals) && room2.pendingApprovals.length; if (haveItems) setItems(room2.pendingApprovals); if (room2.viewerRole !== "invited-owner" && !face) return void 0; @@ -19412,28 +19901,28 @@ function SharedRoomApprovals({ room: room2 }) { setBusy(""); } }; - return (0, import_react44.createElement)( + return (0, import_react45.createElement)( "div", { key: "approvals", className: "bt-shared-wait", "data-flybot": "room-pending-approvals" }, - (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Waiting for your approval"), (0, import_react44.createElement)("span", { className: "bt-chip" }, t("{count} to approve", { count: items.length }))), - items.map((item) => (0, import_react44.createElement)( + (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Waiting for your approval"), (0, import_react45.createElement)("span", { className: "bt-chip" }, t("{count} to approve", { count: items.length }))), + items.map((item) => (0, import_react45.createElement)( "div", { key: item.id, className: "bt-set-row" }, - (0, import_react44.createElement)("span", { className: "bt-set-copy" }, item.text || item.summary || item.to || t("Outbound reply")), - (0, import_react44.createElement)("button", { type: "button", className: "bt-mini", disabled: busy === item.id, onClick: () => decide(item, "approve") }, t("Approve")), - (0, import_react44.createElement)("button", { type: "button", className: "bt-mini", disabled: busy === item.id, onClick: () => decide(item, "reject") }, t("Reject")) + (0, import_react45.createElement)("span", { className: "bt-set-copy" }, item.text || item.summary || item.to || t("Outbound reply")), + (0, import_react45.createElement)("button", { type: "button", className: "bt-mini", disabled: busy === item.id, onClick: () => decide(item, "approve") }, t("Approve")), + (0, import_react45.createElement)("button", { type: "button", className: "bt-mini", disabled: busy === item.id, onClick: () => decide(item, "reject") }, t("Reject")) )) ); } function FaceMembers({ room: room2, roster, actions }) { const people2 = facePeople(room2, roster); const pick2 = (bot) => call("social/face-lead", { roomId: room2.id, bot }); - return (0, import_react44.createElement)( + return (0, import_react45.createElement)( "div", null, - (0, import_react44.createElement)(FaceLead, { room: room2, roster, pick: pick2 }), - (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Members · {count}", { count: people2.length })), - (0, import_react44.createElement)("div", { className: "bt-members", role: "list" }, people2.map((person) => (0, import_react44.createElement)(FacePersonRow, { + (0, import_react45.createElement)(FaceLead, { room: room2, roster, pick: pick2 }), + (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Members · {count}", { count: people2.length })), + (0, import_react45.createElement)("div", { className: "bt-members", role: "list" }, people2.map((person) => (0, import_react45.createElement)(FacePersonRow, { key: person.key, person, roster, @@ -19457,79 +19946,79 @@ function GroupOverview({ room: room2, roster, actions, usage, useWork, openSetti }; const face = room2.origin === "face-to-face"; return [ - (0, import_react44.createElement)(FlyBotRoomOverview, { key: "plugin-overview", room: room2, roster, actions }), - invited && room2.sharedFrom && !face ? (0, import_react44.createElement)( + (0, import_react45.createElement)(FlyBotRoomOverview, { key: "plugin-overview", room: room2, roster, actions }), + invited && room2.sharedFrom && !face ? (0, import_react45.createElement)( "div", { key: "from", className: "bt-shared-from" }, - (0, import_react44.createElement)("div", { className: "bt-section-title" }, title), - (0, import_react44.createElement)("div", { className: "bt-set-hint" }, t("Your Bot was invited to this room by {name}", { name: room2.sharedFrom.inviterName })), - room2.sharedFrom.invitedAt ? (0, import_react44.createElement)("div", { className: "bt-set-hint" }, t("Invited {when}", { when: new Date(room2.sharedFrom.invitedAt).toLocaleString() })) : null, - (0, import_react44.createElement)("button", { type: "button", className: "bt-more", onClick: leaveMine }, t("Remove my Bot")) - ) : face ? null : room2.notice ? (0, import_react44.createElement)(About, { key: "notice", title: "Notice", text: room2.notice }) : (0, import_react44.createElement)("button", { key: "notice", type: "button", className: "bt-more", onClick: openSettings }, t("Add a notice in group settings")), - face ? null : (0, import_react44.createElement)(SharedRoomApprovals, { key: "approvals", room: room2 }), - face && (room2.face?.status === "candidate" || room2.face?.status === "joining") ? null : face ? (0, import_react44.createElement)(FaceMembers, { key: "members", room: room2, roster, actions }) : (0, import_react44.createElement)( + (0, import_react45.createElement)("div", { className: "bt-section-title" }, title), + (0, import_react45.createElement)("div", { className: "bt-set-hint" }, t("Your Bot was invited to this room by {name}", { name: room2.sharedFrom.inviterName })), + room2.sharedFrom.invitedAt ? (0, import_react45.createElement)("div", { className: "bt-set-hint" }, t("Invited {when}", { when: new Date(room2.sharedFrom.invitedAt).toLocaleString() })) : null, + (0, import_react45.createElement)("button", { type: "button", className: "bt-more", onClick: leaveMine }, t("Remove my Bot")) + ) : face ? null : room2.notice ? (0, import_react45.createElement)(About, { key: "notice", title: "Notice", text: room2.notice }) : (0, import_react45.createElement)("button", { key: "notice", type: "button", className: "bt-more", onClick: openSettings }, t("Add a notice in group settings")), + face ? null : (0, import_react45.createElement)(SharedRoomApprovals, { key: "approvals", room: room2 }), + face && (room2.face?.status === "candidate" || room2.face?.status === "joining") ? null : face ? (0, import_react45.createElement)(FaceMembers, { key: "members", room: room2, roster, actions }) : (0, import_react45.createElement)( "div", { key: "members" }, - (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Members · {count}", { count: members.length + humans.length + remotes.length })), - (0, import_react44.createElement)("div", { className: "bt-members", role: "list" }, [ - ...humans.map((person) => (0, import_react44.createElement)( + (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Members · {count}", { count: members.length + humans.length + remotes.length })), + (0, import_react45.createElement)("div", { className: "bt-members", role: "list" }, [ + ...humans.map((person) => (0, import_react45.createElement)( "div", { key: person.id, role: "listitem" }, - (0, import_react44.createElement)( + (0, import_react45.createElement)( "div", { className: "bt-member" }, - (0, import_react44.createElement)("span", { className: "bt-member-name" }, (0, import_react44.createElement)("span", null, person.displayName || person.id)), - (0, import_react44.createElement)("span", { className: "bt-chip" }, t("Human")), - person.role === "admin" ? (0, import_react44.createElement)("span", { className: "bt-chip bt-chip-admin" }, t("Admin")) : null + (0, import_react45.createElement)("span", { className: "bt-member-name" }, (0, import_react45.createElement)("span", null, person.displayName || person.id)), + (0, import_react45.createElement)("span", { className: "bt-chip" }, t("Human")), + person.role === "admin" ? (0, import_react45.createElement)("span", { className: "bt-chip bt-chip-admin" }, t("Admin")) : null ) )), - ...remotes.map((person) => (0, import_react44.createElement)( + ...remotes.map((person) => (0, import_react45.createElement)( "div", { key: person.handle || person.id, role: "listitem" }, - (0, import_react44.createElement)( + (0, import_react45.createElement)( "div", { className: "bt-member" }, - (0, import_react44.createElement)( + (0, import_react45.createElement)( "span", { className: "bt-member-name" }, - (0, import_react44.createElement)(BotAvatar, { bot: lookBotForRemote(person, roster), size: 26, badge: false, live: false }), - (0, import_react44.createElement)("span", { title: person.handle || void 0 }, person.label || remoteBotTitle(person)) + (0, import_react45.createElement)(BotAvatar, { bot: lookBotForRemote(person, roster), size: 26, badge: false, live: false }), + (0, import_react45.createElement)("span", { title: person.handle || void 0 }, person.label || remoteBotTitle(person)) ), - face ? null : (0, import_react44.createElement)("span", { className: "bt-chip" }, t("Friend's Bot")) + face ? null : (0, import_react45.createElement)("span", { className: "bt-chip" }, t("Friend's Bot")) ) )), ...members.map((member) => { const entry = entries2.find((item) => item.id === member.id); - return (0, import_react44.createElement)( + return (0, import_react45.createElement)( "div", { key: member.id, role: "listitem" }, - (0, import_react44.createElement)( + (0, import_react45.createElement)( "div", { className: "bt-member" }, - (0, import_react44.createElement)( + (0, import_react45.createElement)( "button", { type: "button", className: "bt-member-name", title: t("Open {name}'s chat", { name: member.name }), onClick: () => actions.openSession(member.id) }, - (0, import_react44.createElement)(BotAvatar, { bot: member, size: 26, main: isMainOf(roster, member.id), admin: room2.admin === member.id, live: false }), - (0, import_react44.createElement)("span", null, member.name) + (0, import_react45.createElement)(BotAvatar, { bot: member, size: 26, main: isMainOf(roster, member.id), admin: room2.admin === member.id, live: false }), + (0, import_react45.createElement)("span", null, member.name) ), - room2.admin === member.id ? (0, import_react44.createElement)("span", { className: "bt-chip bt-chip-admin" }, t("Admin")) : null + room2.admin === member.id ? (0, import_react45.createElement)("span", { className: "bt-chip bt-chip-admin" }, t("Admin")) : null ), - entry ? (0, import_react44.createElement)(MemberWork, { entry, bot: member, room: room2, roster, actions, now }) : null + entry ? (0, import_react45.createElement)(MemberWork, { entry, bot: member, room: room2, roster, actions, now }) : null ); }) ]) ), - face ? null : (0, import_react44.createElement)( + face ? null : (0, import_react45.createElement)( "div", { key: "mode" }, - (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Who answers")), - (0, import_react44.createElement)("div", { className: "bt-kv" }, (0, import_react44.createElement)("span", null, t(ROOM_MODES.find(([id]) => id === shownMode(room2, roster))?.[1] ?? "Everyone"))) + (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Who answers")), + (0, import_react45.createElement)("div", { className: "bt-kv" }, (0, import_react45.createElement)("span", null, t(ROOM_MODES.find(([id]) => id === shownMode(room2, roster))?.[1] ?? "Everyone"))) ), - face || !usage ? null : (0, import_react44.createElement)( + face || !usage ? null : (0, import_react45.createElement)( "div", { key: "usage" }, - (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Usage")), - (0, import_react44.createElement)("div", { className: "bt-kv" }, (0, import_react44.createElement)("span", null, room2.name), (0, import_react44.createElement)("span", null, usage)) + (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Usage")), + (0, import_react45.createElement)("div", { className: "bt-kv" }, (0, import_react45.createElement)("span", null, room2.name), (0, import_react45.createElement)("span", null, usage)) ) ]; } @@ -19537,15 +20026,15 @@ function DetailsDrawer({ sessionId, startRenaming, startTab, hasStrip, roster, a const owner = roster.byId[sessionId]; const part = owner ? currentPart(owner) : sessionId; const isMainBot = isMainOf(roster, owner?.id); - const [tab, setTab] = (0, import_react44.useState)("details"); + const [tab, setTab] = (0, import_react45.useState)("details"); const room2 = roster.roomsById[sessionId]; - const [view, setView] = (0, import_react44.useState)(startTab === "settings" && (owner || room2) ? "settings" : "overview"); - const [editing, setEditing] = (0, import_react44.useState)(Boolean(startRenaming && (roster.byId[sessionId] || roster.roomsById[sessionId]))); - const [draftName, setDraftName] = (0, import_react44.useState)(roster.byId[sessionId]?.name ?? (roster.roomsById[sessionId]?.named ? roster.roomsById[sessionId].name : "")); - const [copied, setCopied] = (0, import_react44.useState)(false); - const [error, setError] = (0, import_react44.useState)(""); + const [view, setView] = (0, import_react45.useState)(startTab === "settings" && (owner || room2) ? "settings" : "overview"); + const [editing, setEditing] = (0, import_react45.useState)(Boolean(startRenaming && (roster.byId[sessionId] || roster.roomsById[sessionId]))); + const [draftName, setDraftName] = (0, import_react45.useState)(roster.byId[sessionId]?.name ?? (roster.roomsById[sessionId]?.named ? roster.roomsById[sessionId].name : "")); + const [copied, setCopied] = (0, import_react45.useState)(false); + const [error, setError] = (0, import_react45.useState)(""); const glide = useGlide(tab); - const last = (0, import_react44.useRef)({ view, tab, move: void 0 }); + const last = (0, import_react45.useRef)({ view, tab, move: void 0 }); if (last.current.view !== view) last.current = { view, tab, move: view === "settings" ? "in" : "out" }; else if (last.current.tab !== tab) last.current = { view, tab, move: "tab" }; const move = last.current.move; @@ -19580,37 +20069,37 @@ function DetailsDrawer({ sessionId, startRenaming, startTab, hasStrip, roster, a actions.notify?.(t("Conversation copied as Markdown")); }); }; - const errorLine = error ? (0, import_react44.createElement)("div", { className: "bt-error", role: "alert", style: { padding: 0 } }, error) : null; + const errorLine = error ? (0, import_react45.createElement)("div", { className: "bt-error", role: "alert", style: { padding: 0 } }, error) : null; if ((bot || room2) && view === "settings" && !bot?.remote) { return [ - (0, import_react44.createElement)( + (0, import_react45.createElement)( "div", { key: "head", className: "bt-subhead", "data-move": move }, - (0, import_react44.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Back to details"), onClick: () => setView("overview") }, (0, import_react44.createElement)(ChevronLeftIcon)), - (0, import_react44.createElement)("span", { className: "bt-subhead-title" }, bot ? t("Settings") : t("Group settings")), - hasStrip ? null : (0, import_react44.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Close details"), onClick: close }, (0, import_react44.createElement)(CloseIcon)) + (0, import_react45.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Back to details"), onClick: () => setView("overview") }, (0, import_react45.createElement)(ChevronLeftIcon)), + (0, import_react45.createElement)("span", { className: "bt-subhead-title" }, bot ? t("Settings") : t("Group settings")), + hasStrip ? null : (0, import_react45.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Close details"), onClick: close }, (0, import_react45.createElement)(CloseIcon)) ), - (0, import_react44.createElement)( + (0, import_react45.createElement)( "div", { key: "set-body", className: "bt-drawer-body bt-set-body", "data-move": move }, errorLine, - bot ? (0, import_react44.createElement)(BotSettingsForm, { bot, roster, actions, run }) : (0, import_react44.createElement)(GroupSettingsForm, { room: room2, roster, actions, run, onDeleted: close }) + bot ? (0, import_react45.createElement)(BotSettingsForm, { bot, roster, actions, run }) : (0, import_react45.createElement)(GroupSettingsForm, { room: room2, roster, actions, run, onDeleted: close }) ) ]; } - const top = (0, import_react44.createElement)( + const top = (0, import_react45.createElement)( "div", { className: "bt-drawer-top", "data-move": side }, - bot || room2 ? (0, import_react44.createElement)("button", { + bot || room2 ? (0, import_react45.createElement)("button", { type: "button", className: "bt-round", "aria-label": bot ? bot.remote ? t("Bot settings") : t("Edit Bot") : t("Group settings"), title: bot ? bot.remote ? t("Bot settings") : t("Edit Bot") : t("Group settings"), "data-info-row": "settings", onClick: () => bot?.remote ? actions.openSettings("bots", bot.id) : setView("settings") - }, (0, import_react44.createElement)(GearIcon)) : null, - bot && !bot.remote && roster.browser === true && actions.openBrowser ? (0, import_react44.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("Open browser"), title: t("Open this Bot's browser"), onClick: () => actions.openBrowser(sessionId) }, (0, import_react44.createElement)(GlobeIcon)) : null, - bot || room2 ? (0, import_react44.createElement)("button", { + }, (0, import_react45.createElement)(GearIcon)) : null, + bot && !bot.remote && roster.browser === true && actions.openBrowser ? (0, import_react45.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("Open browser"), title: t("Open this Bot's browser"), onClick: () => actions.openBrowser(sessionId) }, (0, import_react45.createElement)(GlobeIcon)) : null, + bot || room2 ? (0, import_react45.createElement)("button", { type: "button", className: "bt-round", // #1347: the accessible name says what the click does, which is copy — "Share conversation" @@ -19619,13 +20108,13 @@ function DetailsDrawer({ sessionId, startRenaming, startTab, hasStrip, roster, a "aria-label": copied ? t("Copied conversation") : t("Copy conversation"), title: copied ? t("Copied") : t("Copy conversation as Markdown"), onClick: share - }, copied ? (0, import_react44.createElement)("span", { key: "copied", className: "bt-pop-in" }, "✓") : (0, import_react44.createElement)(ShareIcon)) : null, - hasStrip ? null : (0, import_react44.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("Close details"), onClick: close }, (0, import_react44.createElement)(CloseIcon)) + }, copied ? (0, import_react45.createElement)("span", { key: "copied", className: "bt-pop-in" }, "✓") : (0, import_react45.createElement)(ShareIcon)) : null, + hasStrip ? null : (0, import_react45.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("Close details"), onClick: close }, (0, import_react45.createElement)(CloseIcon)) ); if (!bot && !room2) { return [ - (0, import_react44.createElement)(import_react44.Fragment, { key: "top" }, top), - (0, import_react44.createElement)("div", { key: "body", className: "bt-drawer-body" }, (0, import_react44.createElement)("div", { className: "bt-muted" }, t("This conversation is not part of your Bot team."))) + (0, import_react45.createElement)(import_react45.Fragment, { key: "top" }, top), + (0, import_react45.createElement)("div", { key: "body", className: "bt-drawer-body" }, (0, import_react45.createElement)("div", { className: "bt-muted" }, t("This conversation is not part of your Bot team."))) ]; } const current = bot?.name ?? room2.name; @@ -19639,12 +20128,12 @@ function DetailsDrawer({ sessionId, startRenaming, startTab, hasStrip, roster, a const subtitle = bot ? bot.role : roomSubtitle(room2, roster); const tabs = bot ? ["details", "browser"] : ["details"]; return [ - (0, import_react44.createElement)(import_react44.Fragment, { key: "top" }, top), - (0, import_react44.createElement)( + (0, import_react45.createElement)(import_react45.Fragment, { key: "top" }, top), + (0, import_react45.createElement)( "div", { key: "id", className: "bt-drawer-id", "data-move": side }, - bot ? (0, import_react44.createElement)(BotAvatar, { bot, size: 64, state: botState(running, doing, roster.questions?.[part] !== void 0), main: isMainBot, badge: false, gaze: true, pokeable: true }) : (0, import_react44.createElement)(RoomAvatar, { room: room2, roster, size: 64 }), - bot?.remote ? (0, import_react44.createElement)("div", { className: "bt-drawer-name" }, current) : room2?.origin === "face-to-face" ? (0, import_react44.createElement)("div", { className: "bt-drawer-name bt-drawer-name-face", title: current }, current) : editing ? (0, import_react44.createElement)("input", { + bot ? (0, import_react45.createElement)(BotAvatar, { bot, size: 64, state: botState(running, doing, roster.questions?.[part] !== void 0), main: isMainBot, badge: false, gaze: true, pokeable: true }) : (0, import_react45.createElement)(RoomAvatar, { room: room2, roster, size: 64 }), + bot?.remote ? (0, import_react45.createElement)("div", { className: "bt-drawer-name" }, current) : room2?.origin === "face-to-face" ? (0, import_react45.createElement)("div", { className: "bt-drawer-name bt-drawer-name-face", title: current }, current) : editing ? (0, import_react45.createElement)("input", { className: "bt-drawer-name-input", autoFocus: true, value: draftName, @@ -19659,59 +20148,59 @@ function DetailsDrawer({ sessionId, startRenaming, startTab, hasStrip, roster, a setEditing(false); } } - }) : (0, import_react44.createElement)("button", { type: "button", className: "bt-drawer-name", "aria-label": t("Rename {name}", { name: current }), title: t("Rename"), onClick: () => { + }) : (0, import_react45.createElement)("button", { type: "button", className: "bt-drawer-name", "aria-label": t("Rename {name}", { name: current }), title: t("Rename"), onClick: () => { setDraftName(room2 && !room2.named ? "" : current); setEditing(true); } }, current), - subtitle ? (0, import_react44.createElement)("span", { className: "bt-drawer-role" }, subtitle) : bot?.remote ? (0, import_react44.createElement)("span", { className: "bt-drawer-role" }, t("Friend's Bot")) : null + subtitle ? (0, import_react45.createElement)("span", { className: "bt-drawer-role" }, subtitle) : bot?.remote ? (0, import_react45.createElement)("span", { className: "bt-drawer-role" }, t("Friend's Bot")) : null ), - bot?.remote ? null : (0, import_react44.createElement)( + bot?.remote ? null : (0, import_react45.createElement)( "div", { key: "tabs", ref: glide.box, className: "bt-tabs", role: "tablist", "data-move": side }, - (0, import_react44.createElement)("span", { ref: glide.thumb, className: "bt-thumb", "aria-hidden": true }), - tabs.map((key) => (0, import_react44.createElement)("button", { key, type: "button", role: "tab", className: "bt-tab", "aria-selected": tab === key, onClick: () => setTab(key) }, t(TAB_LABELS[key]))) + (0, import_react45.createElement)("span", { ref: glide.thumb, className: "bt-thumb", "aria-hidden": true }), + tabs.map((key) => (0, import_react45.createElement)("button", { key, type: "button", role: "tab", className: "bt-tab", "aria-selected": tab === key, onClick: () => setTab(key) }, t(TAB_LABELS[key]))) ), - (0, import_react44.createElement)( + (0, import_react45.createElement)( "div", { key: `body:${tab}`, className: "bt-drawer-body", "data-move": move }, errorLine, - room2 && tab === "details" ? (0, import_react44.createElement)(GroupOverview, { room: room2, roster, actions, usage, useWork, openSettings: () => setView("settings") }) : null, + room2 && tab === "details" ? (0, import_react45.createElement)(GroupOverview, { room: room2, roster, actions, usage, useWork, openSettings: () => setView("settings") }) : null, bot && bot.remote && tab === "details" ? [ - bot.remote.handle ? (0, import_react44.createElement)("div", { key: "handle", className: "bt-muted" }, bot.remote.handle) : null, - (0, import_react44.createElement)(FlyBotDetails, { key: "social", bot, roster, actions }) + bot.remote.handle ? (0, import_react45.createElement)("div", { key: "handle", className: "bt-muted" }, bot.remote.handle) : null, + (0, import_react45.createElement)(FlyBotDetails, { key: "social", bot, roster, actions }) ] : null, bot && !bot.remote && tab === "details" ? [ - (0, import_react44.createElement)( + (0, import_react45.createElement)( "div", { key: "model", className: "bt-drawer-model" }, - (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Model")), - (0, import_react44.createElement)(ModelMenu, { bot, roster, actions, run, wide: true }), - modelOf(bot, roster) ? null : (0, import_react44.createElement)("div", { className: "bt-note" }, t("Pick a model and {name} can start.", { name: bot.name })) + (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Model")), + (0, import_react45.createElement)(ModelMenu, { bot, roster, actions, run, wide: true }), + modelOf(bot, roster) ? null : (0, import_react45.createElement)("div", { className: "bt-note" }, t("Pick a model and {name} can start.", { name: bot.name })) ), - (0, import_react44.createElement)(PermissionRow, { key: "permission", bot, roster, actions, run }), - (0, import_react44.createElement)( + (0, import_react45.createElement)(PermissionRow, { key: "permission", bot, roster, actions, run }), + (0, import_react45.createElement)( "div", { key: "folder", className: "bt-drawer-model" }, - (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Working folder")), - (0, import_react44.createElement)(FolderMenu, { value: bot.workDir, actions, run, wide: true, onPick: (workDir) => run(actions.updateBot(bot.id, { workDir })) }) + (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Working folder")), + (0, import_react45.createElement)(FolderMenu, { value: bot.workDir, actions, run, wide: true, onPick: (workDir) => run(actions.updateBot(bot.id, { workDir })) }) ), - bot.instructions ? (0, import_react44.createElement)(About, { key: "about", text: bot.instructions }) : (0, import_react44.createElement)("button", { key: "about", type: "button", className: "bt-more", onClick: () => setView("settings") }, t("Add instructions in Bot settings")), - roster.memory === false ? null : (0, import_react44.createElement)(MemoryRow, { key: "memory", bot, actions }), - usage ? (0, import_react44.createElement)( + bot.instructions ? (0, import_react45.createElement)(About, { key: "about", text: bot.instructions }) : (0, import_react45.createElement)("button", { key: "about", type: "button", className: "bt-more", onClick: () => setView("settings") }, t("Add instructions in Bot settings")), + roster.memory === false ? null : (0, import_react45.createElement)(MemoryRow, { key: "memory", bot, actions }), + usage ? (0, import_react45.createElement)( "div", { key: "usage" }, - (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Usage")), - (0, import_react44.createElement)("div", { className: "bt-kv" }, (0, import_react44.createElement)("span", null, bot.name), (0, import_react44.createElement)("span", null, usage)) + (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Usage")), + (0, import_react45.createElement)("div", { className: "bt-kv" }, (0, import_react45.createElement)("span", null, bot.name), (0, import_react45.createElement)("span", null, usage)) ) : null, - (0, import_react44.createElement)(ScheduleSummary, { key: "routines", bot, actions }) + (0, import_react45.createElement)(ScheduleSummary, { key: "routines", bot, actions }) ] : null, - bot && !bot.remote && tab === "browser" ? (0, import_react44.createElement)(BrowserCards, { bot, sessionId, roster, actions, useBrowserTabs, useBrowserPages }) : null + bot && !bot.remote && tab === "browser" ? (0, import_react45.createElement)(BrowserCards, { bot, sessionId, roster, actions, useBrowserTabs, useBrowserPages }) : null ) ]; } // src/client/browser-pane.js -var import_react45 = require("react"); +var import_react46 = require("react"); var import_react_dom10 = require("react-dom"); var PANEL_LINGER_MS = 300; var WIDTH_KEY = STORAGE.browserWidth; @@ -19721,10 +20210,10 @@ var EMPTY_TABS2 = { ids: [], active: null }; var SPRING_LEAD2 = springEasing(576, 39.4); var SPRING_TRAIL2 = springEasing(144, 19.7); var icon2 = (paths) => function BrowserIcon() { - return (0, import_react45.createElement)( + return (0, import_react46.createElement)( "svg", { width: 16, height: 16, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true }, - paths.map((d, index) => (0, import_react45.createElement)("path", { key: index, d })) + paths.map((d, index) => (0, import_react46.createElement)("path", { key: index, d })) ); }; var GlobeIcon = icon2(["M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14z", "M3 10h14", "M10 3c2 2.2 2.9 4.5 2.9 7S12 14.8 10 17c-2-2.2-2.9-4.5-2.9-7S8 5.2 10 3z"]); @@ -19736,9 +20225,9 @@ var CloseIcon2 = icon2(["M5.5 5.5l9 9M14.5 5.5l-9 9"]); var PlusTabIcon = icon2(["M10 5v10M5 10h10"]); var LockIcon2 = icon2(["M6.5 9V7a3.5 3.5 0 0 1 7 0v2", "M5.5 9h9v7h-9z"]); function Favicon({ src, className }) { - const [failed, setFailed] = (0, import_react45.useState)(null); - if (!src || failed === src) return (0, import_react45.createElement)("span", { className: `${className} bt-ptab-globe` }, (0, import_react45.createElement)(GlobeIcon)); - return (0, import_react45.createElement)("img", { className, src, alt: "", "aria-hidden": true, onError: () => setFailed(src) }); + const [failed, setFailed] = (0, import_react46.useState)(null); + if (!src || failed === src) return (0, import_react46.createElement)("span", { className: `${className} bt-ptab-globe` }, (0, import_react46.createElement)(GlobeIcon)); + return (0, import_react46.createElement)("img", { className, src, alt: "", "aria-hidden": true, onError: () => setFailed(src) }); } var savedWidth = () => { try { @@ -19797,11 +20286,11 @@ var reducedMotion2 = () => typeof matchMedia === "function" && matchMedia("(pref var tabLabel = (page) => page.title || shortAddress(page.url) || t("New tab"); function PanelStrip({ bot, subject, view, ids, active, reading, onView, actions, useBrowserPages }) { const pages = useBrowserPages((map) => map); - const wrap = (0, import_react45.useRef)(null); - const ind = (0, import_react45.useRef)(null); - const spot = (0, import_react45.useRef)(null); - const under = (0, import_react45.useRef)(null); - (0, import_react45.useLayoutEffect)(() => { + const wrap = (0, import_react46.useRef)(null); + const ind = (0, import_react46.useRef)(null); + const spot = (0, import_react46.useRef)(null); + const under = (0, import_react46.useRef)(null); + (0, import_react46.useLayoutEffect)(() => { const box = wrap.current; const capsule = ind.current; if (!box || !capsule) return void 0; @@ -19830,7 +20319,7 @@ function PanelStrip({ bot, subject, view, ids, active, reading, onView, actions, trail.cancel(); }; }); - (0, import_react45.useEffect)(() => { + (0, import_react46.useEffect)(() => { const box = wrap.current; if (!box) return void 0; const observer = new ResizeObserver(() => { @@ -19844,13 +20333,13 @@ function PanelStrip({ bot, subject, view, ids, active, reading, onView, actions, observer.observe(box); return () => observer.disconnect(); }, []); - return (0, import_react45.createElement)( + return (0, import_react46.createElement)( "div", { className: "bt-ptabs", role: "tablist", "aria-label": t("Panel tabs") }, - (0, import_react45.createElement)( + (0, import_react46.createElement)( "div", { className: "bt-ptabs-in", ref: wrap }, - (0, import_react45.createElement)( + (0, import_react46.createElement)( "button", { type: "button", @@ -19860,13 +20349,13 @@ function PanelStrip({ bot, subject, view, ids, active, reading, onView, actions, title: bot.name, onClick: () => onView("details") }, - (0, import_react45.createElement)(BotMark, { bot, size: 20, state: reading ? "searching" : "idle" }), - view === "details" ? (0, import_react45.createElement)("span", { className: "bt-ptab-name" }, bot.name) : null + (0, import_react46.createElement)(BotMark, { bot, size: 20, state: reading ? "searching" : "idle" }), + view === "details" ? (0, import_react46.createElement)("span", { className: "bt-ptab-name" }, bot.name) : null ), ids.map((tabId) => { const page = pages[tabId] ?? EMPTY_PAGE; const on = view === "browser" && tabId === active; - return (0, import_react45.createElement)( + return (0, import_react46.createElement)( "button", { key: tabId, @@ -19887,9 +20376,9 @@ function PanelStrip({ bot, subject, view, ids, active, reading, onView, actions, } } }, - (0, import_react45.createElement)(Favicon, { src: page.favicon, className: "bt-ptab-fav" }), - (0, import_react45.createElement)("span", { className: "bt-ptab-title" }, tabLabel(page)), - (0, import_react45.createElement)("span", { + (0, import_react46.createElement)(Favicon, { src: page.favicon, className: "bt-ptab-fav" }), + (0, import_react46.createElement)("span", { className: "bt-ptab-title" }, tabLabel(page)), + (0, import_react46.createElement)("span", { className: "bt-ptab-x", role: "button", "aria-label": t("Close tab"), @@ -19901,20 +20390,20 @@ function PanelStrip({ bot, subject, view, ids, active, reading, onView, actions, }, "×") ); }), - (0, import_react45.createElement)("span", { ref: ind, className: "bt-ptab-ind", "aria-hidden": true }) + (0, import_react46.createElement)("span", { ref: ind, className: "bt-ptab-ind", "aria-hidden": true }) ), // New tab and Close stay outside the scrolling tabs, so a narrow panel keeps both. - (0, import_react45.createElement)("button", { type: "button", className: "bt-ptab-new", "aria-label": t("New tab"), title: t("New tab"), onClick: () => actions.browserNewTab(subject) }, (0, import_react45.createElement)(PlusTabIcon)), - (0, import_react45.createElement)("button", { type: "button", className: "bt-icon-btn bt-ptab-close", "aria-label": t("Close panel"), title: t("Close panel"), onClick: () => actions.closePanel() }, (0, import_react45.createElement)(CloseIcon2)) + (0, import_react46.createElement)("button", { type: "button", className: "bt-ptab-new", "aria-label": t("New tab"), title: t("New tab"), onClick: () => actions.browserNewTab(subject) }, (0, import_react46.createElement)(PlusTabIcon)), + (0, import_react46.createElement)("button", { type: "button", className: "bt-icon-btn bt-ptab-close", "aria-label": t("Close panel"), title: t("Close panel"), onClick: () => actions.closePanel() }, (0, import_react46.createElement)(CloseIcon2)) ); } function BrowserView({ bot, tabId, leaving, landed, actions, useBrowserPages }) { const page = useBrowserPages((pages) => pages[tabId ?? ""]) ?? EMPTY_PAGE; - const frame = (0, import_react45.useRef)(null); - const input = (0, import_react45.useRef)(null); - const [draft, setDraft] = (0, import_react45.useState)(null); + const frame = (0, import_react46.useRef)(null); + const input = (0, import_react46.useRef)(null); + const [draft, setDraft] = (0, import_react46.useState)(null); const showGuest = landed && !leaving && Boolean(page.url) && !page.error; - (0, import_react45.useLayoutEffect)(() => { + (0, import_react46.useLayoutEffect)(() => { const element = frame.current; if (!element || leaving || !tabId) { void actions.browserShow(null); @@ -19940,7 +20429,7 @@ function BrowserView({ bot, tabId, leaving, landed, actions, useBrowserPages }) window.removeEventListener("resize", schedule); }; }, [tabId, showGuest, leaving]); - (0, import_react45.useEffect)(() => { + (0, import_react46.useEffect)(() => { setDraft(null); if (landed && !page.url) input.current?.focus(); }, [tabId, landed]); @@ -19956,27 +20445,27 @@ function BrowserView({ bot, tabId, leaving, landed, actions, useBrowserPages }) }; const editing = draft !== null; const secure = /^https:/i.test(page.url); - return (0, import_react45.createElement)( + return (0, import_react46.createElement)( "div", { className: "bt-panel-view bt-panel-browser", "aria-label": t("{name}'s browser", { name: bot.name }) }, - (0, import_react45.createElement)( + (0, import_react46.createElement)( "div", { className: "bt-browser-bar" }, - (0, import_react45.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Back"), title: t("Back"), disabled: !page.canGoBack, onClick: () => actions.browserCommand(tabId, "back") }, (0, import_react45.createElement)(BackIcon)), - (0, import_react45.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Forward"), title: t("Forward"), disabled: !page.canGoForward, onClick: () => actions.browserCommand(tabId, "forward") }, (0, import_react45.createElement)(ForwardIcon)), - (0, import_react45.createElement)("button", { + (0, import_react46.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Back"), title: t("Back"), disabled: !page.canGoBack, onClick: () => actions.browserCommand(tabId, "back") }, (0, import_react46.createElement)(BackIcon)), + (0, import_react46.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Forward"), title: t("Forward"), disabled: !page.canGoForward, onClick: () => actions.browserCommand(tabId, "forward") }, (0, import_react46.createElement)(ForwardIcon)), + (0, import_react46.createElement)("button", { type: "button", className: "bt-icon-btn", disabled: !page.url, "aria-label": page.loading ? t("Stop") : t("Reload"), title: page.loading ? t("Stop") : t("Reload"), onClick: () => actions.browserCommand(tabId, page.loading ? "stop" : "reload") - }, (0, import_react45.createElement)(page.loading ? StopIcon : ReloadIcon)), - (0, import_react45.createElement)( + }, (0, import_react46.createElement)(page.loading ? StopIcon : ReloadIcon)), + (0, import_react46.createElement)( "form", { className: "bt-browser-address", onSubmit: go, "data-editing": editing || void 0 }, - (0, import_react45.createElement)("span", { className: "bt-browser-scheme", "aria-hidden": true }, (0, import_react45.createElement)(secure && !editing ? LockIcon2 : GlobeIcon)), - (0, import_react45.createElement)("input", { + (0, import_react46.createElement)("span", { className: "bt-browser-scheme", "aria-hidden": true }, (0, import_react46.createElement)(secure && !editing ? LockIcon2 : GlobeIcon)), + (0, import_react46.createElement)("input", { ref: input, type: "text", spellCheck: false, @@ -20000,25 +20489,25 @@ function BrowserView({ bot, tabId, leaving, landed, actions, useBrowserPages }) } }) ), - page.loading ? (0, import_react45.createElement)("span", { className: "bt-browser-progress", "aria-hidden": true }) : null + page.loading ? (0, import_react46.createElement)("span", { className: "bt-browser-progress", "aria-hidden": true }) : null ), - (0, import_react45.createElement)( + (0, import_react46.createElement)( "div", { ref: frame, className: "bt-browser-frame", "data-guest": showGuest || void 0 }, - page.error ? (0, import_react45.createElement)( + page.error ? (0, import_react46.createElement)( "div", { className: "bt-browser-empty" }, - (0, import_react45.createElement)("div", { className: "bt-browser-empty-title" }, t("This page didn’t load")), - (0, import_react45.createElement)("div", { className: "bt-browser-empty-text" }, t(page.error)), - page.url ? (0, import_react45.createElement)("button", { type: "button", className: "bt-browser-retry", onClick: () => { + (0, import_react46.createElement)("div", { className: "bt-browser-empty-title" }, t("This page didn’t load")), + (0, import_react46.createElement)("div", { className: "bt-browser-empty-text" }, t(page.error)), + page.url ? (0, import_react46.createElement)("button", { type: "button", className: "bt-browser-retry", onClick: () => { void actions.browserNavigate(tabId, page.url); } }, t("Try again")) : null - ) : !page.url ? (0, import_react45.createElement)( + ) : !page.url ? (0, import_react46.createElement)( "div", { className: "bt-browser-empty" }, - (0, import_react45.createElement)(BotMark, { bot, size: 48, state: "idle", live: true }), - (0, import_react45.createElement)("div", { className: "bt-browser-empty-title" }, t("{name}'s browser", { name: bot.name })), - (0, import_react45.createElement)("div", { className: "bt-browser-empty-text" }, t("Open a page here and {name} can read it with you. Logins and cookies stay with {name}; other Bots never see them.", { name: bot.name })) + (0, import_react46.createElement)(BotMark, { bot, size: 48, state: "idle", live: true }), + (0, import_react46.createElement)("div", { className: "bt-browser-empty-title" }, t("{name}'s browser", { name: bot.name })), + (0, import_react46.createElement)("div", { className: "bt-browser-empty-text" }, t("Open a page here and {name} can read it with you. Logins and cookies stay with {name}; other Bots never see them.", { name: bot.name })) ) : null ) ); @@ -20030,41 +20519,41 @@ function BotPanel({ pane, leaving, roster, actions, useSessions, useSessionStatu const tabState = useBrowserTabs((map) => bot ? map[bot.id] ?? EMPTY_TABS2 : EMPTY_TABS2); const active = tabState.active; const page = useBrowserPages((pages) => (active ? pages[active] : null) ?? EMPTY_PAGE); - const root = (0, import_react45.useRef)(null); - const fly = (0, import_react45.useRef)(null); - const [landed, setLanded] = (0, import_react45.useState)(false); - const [settling, setSettling] = (0, import_react45.useState)(false); - const [width, setWidth] = (0, import_react45.useState)(savedWidth); - const [viewport, setViewport] = (0, import_react45.useState)(() => window.innerWidth); - const [dragging, setDragging] = (0, import_react45.useState)(false); - const [resizing, setResizing] = (0, import_react45.useState)(false); + const root = (0, import_react46.useRef)(null); + const fly = (0, import_react46.useRef)(null); + const [landed, setLanded] = (0, import_react46.useState)(false); + const [settling, setSettling] = (0, import_react46.useState)(false); + const [width, setWidth] = (0, import_react46.useState)(savedWidth); + const [viewport, setViewport] = (0, import_react46.useState)(() => window.innerWidth); + const [dragging, setDragging] = (0, import_react46.useState)(false); + const [resizing, setResizing] = (0, import_react46.useState)(false); const instant = dragging || resizing; - const [reading, setReading] = (0, import_react45.useState)(false); + const [reading, setReading] = (0, import_react46.useState)(false); const panelWidth = fitWidth(width ?? (view === "browser" ? DEFAULT_WIDTH : DETAILS_WIDTH), widthRange(view, viewport)); - (0, import_react45.useLayoutEffect)(() => { + (0, import_react46.useLayoutEffect)(() => { if (view === "browser" && width === null) setWidth(DEFAULT_WIDTH); }, [view, width]); - (0, import_react45.useLayoutEffect)(() => { + (0, import_react46.useLayoutEffect)(() => { chatRoom.hold(instant); }, [instant]); - const [last, setLast] = (0, import_react45.useState)({ view, width: panelWidth }); + const [last, setLast] = (0, import_react46.useState)({ view, width: panelWidth }); if (last.view !== view || last.width !== panelWidth) { setLast({ view, width: panelWidth }); if (last.view !== view) setSettling(last.width !== panelWidth && !instant); } - const shownView = (0, import_react45.useRef)(view); - (0, import_react45.useLayoutEffect)(() => { + const shownView = (0, import_react46.useRef)(view); + (0, import_react46.useLayoutEffect)(() => { const switched = settling && shownView.current !== view; shownView.current = view; if (switched) chatRoom.hold(true); chatRoom.set(leaving ? null : panelWidth); if (switched) chatRoom.hold(false); }, [view, panelWidth, leaving]); - (0, import_react45.useEffect)(() => () => { + (0, import_react46.useEffect)(() => () => { chatRoom.set(null); chatRoom.hold(false); }, []); - (0, import_react45.useEffect)(() => { + (0, import_react46.useEffect)(() => { let timer; const onResize = () => { setResizing(true); @@ -20078,28 +20567,28 @@ function BotPanel({ pane, leaving, roster, actions, useSessions, useSessionStatu window.removeEventListener("resize", onResize); }; }, []); - (0, import_react45.useEffect)(() => { + (0, import_react46.useEffect)(() => { if (!settling) return void 0; const timer = setTimeout(() => setSettling(false), SPRING_SHAPE.duration + 40); return () => clearTimeout(timer); }, [settling, view]); - (0, import_react45.useEffect)(() => { + (0, import_react46.useEffect)(() => { const timer = setTimeout(() => setLanded(true), 360); return () => clearTimeout(timer); }, []); - (0, import_react45.useEffect)(() => { + (0, import_react46.useEffect)(() => { if (canBrowse) actions.browserEnsure(bot.id); }, [bot?.id, canBrowse]); - (0, import_react45.useEffect)(() => { + (0, import_react46.useEffect)(() => { if (view === "browser" && (active === null || !tabState.ids.includes(active))) actions.setPanelView("details"); }, [view, active, tabState.ids.length]); - (0, import_react45.useEffect)(() => { + (0, import_react46.useEffect)(() => { if (view !== "browser" || leaving) void actions.browserShow?.(null); }, [view, leaving]); - (0, import_react45.useEffect)(() => () => { + (0, import_react46.useEffect)(() => () => { void actions.browserShow?.(null); }, []); - (0, import_react45.useEffect)(() => { + (0, import_react46.useEffect)(() => { if (!page.readAt || Date.now() - page.readAt > READ_FLASH_MS) return void 0; setReading(true); const timer = setTimeout(() => setReading(false), READ_FLASH_MS); @@ -20136,7 +20625,7 @@ function BotPanel({ pane, leaving, roster, actions, useSessions, useSessionStatu return actions[name](...args); }; } - (0, import_react45.useLayoutEffect)(() => { + (0, import_react46.useLayoutEffect)(() => { const move = fly.current; if (!move) return; fly.current = null; @@ -20219,7 +20708,7 @@ function BotPanel({ pane, leaving, roster, actions, useSessions, useSessionStatu for (const name of ends) grip.addEventListener(name, onEnd); }; const hasStrip = canBrowse && tabState.ids.length > 0; - return (0, import_react45.createElement)( + return (0, import_react46.createElement)( "aside", { ref: root, @@ -20236,15 +20725,15 @@ function BotPanel({ pane, leaving, roster, actions, useSessions, useSessionStatu if (event.target === event.currentTarget) setLanded(true); } }, - leaving ? null : (0, import_react45.createElement)("div", { className: "bt-panel-grip", role: "separator", "aria-orientation": "vertical", "aria-label": t("Resize panel"), onPointerDown: startResize }), + leaving ? null : (0, import_react46.createElement)("div", { className: "bt-panel-grip", role: "separator", "aria-orientation": "vertical", "aria-label": t("Resize panel"), onPointerDown: startResize }), // Over the whole window while dragging: the cursor stays a resize cursor and the // pages underneath (the chat, the guest) see no pointer. - dragging ? (0, import_react_dom10.createPortal)((0, import_react45.createElement)("div", { className: "bt-drag-shield", "aria-hidden": true }), document.body) : null, - hasStrip ? (0, import_react45.createElement)(PanelStrip, { bot, subject: pane.id, view, ids: tabState.ids, active, reading, onView: switchView, actions: panelActions, useBrowserPages }) : null, - view === "browser" && bot ? (0, import_react45.createElement)(BrowserView, { key: `browser:${active}`, bot, tabId: active, leaving, landed: landed && !settling, actions, useBrowserPages }) : (0, import_react45.createElement)( + dragging ? (0, import_react_dom10.createPortal)((0, import_react46.createElement)("div", { className: "bt-drag-shield", "aria-hidden": true }), document.body) : null, + hasStrip ? (0, import_react46.createElement)(PanelStrip, { bot, subject: pane.id, view, ids: tabState.ids, active, reading, onView: switchView, actions: panelActions, useBrowserPages }) : null, + view === "browser" && bot ? (0, import_react46.createElement)(BrowserView, { key: `browser:${active}`, bot, tabId: active, leaving, landed: landed && !settling, actions, useBrowserPages }) : (0, import_react46.createElement)( "div", { key: `details:${pane.id}:${pane.renaming ? "rename" : ""}:${pane.tab ?? ""}`, className: "bt-panel-view" }, - (0, import_react45.createElement)(DetailsDrawer, { + (0, import_react46.createElement)(DetailsDrawer, { sessionId: pane.id, startRenaming: pane.renaming, startTab: pane.tab, @@ -20341,7 +20830,7 @@ var BROWSER_CSS = ` `; // src/client/remote-bot-settings.js -var import_react46 = require("react"); +var import_react47 = require("react"); var REMOTE_BOT_SETTINGS_CSS = ` .bt-remote-sheet-layer{position:fixed;inset:0;z-index:120;isolation:isolate;display:flex;align-items:flex-end;justify-content:center;padding:16px;pointer-events:none} .bt-remote-sheet-layer[data-leaving]{pointer-events:none} @@ -20365,8 +20854,8 @@ var REMOTE_BOT_SETTINGS_CSS = ` function RemoteBotSettingsSheet({ bot, roster, actions, leaving = false }) { const close = () => actions.closeSettings(); useEscape(close); - const dialog = (0, import_react46.useRef)(null); - (0, import_react46.useEffect)(() => { + const dialog = (0, import_react47.useRef)(null); + (0, import_react47.useEffect)(() => { const before = document.activeElement; dialog.current?.focus?.({ preventScroll: true }); return () => { @@ -20381,37 +20870,37 @@ function RemoteBotSettingsSheet({ bot, roster, actions, leaving = false }) { }; if (!bot?.remote) return null; const who = bot.remote.homeName || bot.remote.owner || bot.remote.home || t("Friend's Bot"); - return (0, import_react46.createElement)( + return (0, import_react47.createElement)( "div", { className: "bt-remote-sheet-layer", "data-leaving": leaving || void 0, "data-flybot": "remote-bot-sheet" }, - (0, import_react46.createElement)("div", { className: "bt-scrim", onMouseDown: close }), - (0, import_react46.createElement)( + (0, import_react47.createElement)("div", { className: "bt-scrim", onMouseDown: close }), + (0, import_react47.createElement)( "div", { className: "bt-remote-sheet", role: "dialog", "aria-modal": true, "aria-label": t("Bot settings"), tabIndex: -1, ref: dialog, onKeyDown }, - (0, import_react46.createElement)( + (0, import_react47.createElement)( "div", { className: "bt-remote-sheet-head" }, - (0, import_react46.createElement)(BotMark, { bot, size: 40, live: true }), - (0, import_react46.createElement)( + (0, import_react47.createElement)(BotMark, { bot, size: 40, live: true }), + (0, import_react47.createElement)( "div", { className: "bt-remote-sheet-who" }, - (0, import_react46.createElement)("span", { className: "bt-remote-sheet-name" }, bot.name), - (0, import_react46.createElement)("span", { className: "bt-remote-sheet-sub" }, who) + (0, import_react47.createElement)("span", { className: "bt-remote-sheet-name" }, bot.name), + (0, import_react47.createElement)("span", { className: "bt-remote-sheet-sub" }, who) ), - (0, import_react46.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Close settings"), onClick: close }, (0, import_react46.createElement)(CloseIcon)) + (0, import_react47.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Close settings"), onClick: close }, (0, import_react47.createElement)(CloseIcon)) ), - (0, import_react46.createElement)( + (0, import_react47.createElement)( "div", { className: "bt-remote-sheet-body" }, - bot.remote.handle ? (0, import_react46.createElement)("div", { className: "bt-muted", style: { marginBottom: 8, fontSize: 12 } }, bot.remote.handle) : null, - (0, import_react46.createElement)(FlyBotDetails, { bot, roster, actions }) + bot.remote.handle ? (0, import_react47.createElement)("div", { className: "bt-muted", style: { marginBottom: 8, fontSize: 12 } }, bot.remote.handle) : null, + (0, import_react47.createElement)(FlyBotDetails, { bot, roster, actions }) ) ) ); } // src/client/overlays.js -var import_react47 = require("react"); +var import_react48 = require("react"); var import_react_dom11 = require("react-dom"); var DIALOG_EXIT_MS = 160; var MENU_EXIT_MS3 = 120; @@ -20420,15 +20909,15 @@ function Overlays({ useRoster, useUi, useSessions, useSessionStatus, useActivity const ui2 = useUi((value) => value); useRegistry((value) => value); const current = useSessions((list) => Object.values(list.byId).find((session) => (session?.retainedBy?.mainView ?? 0) > 0)?.id ?? null); - const previous = (0, import_react47.useRef)(current); - (0, import_react47.useEffect)(() => { + const previous = (0, import_react48.useRef)(current); + (0, import_react48.useEffect)(() => { if (previous.current === current) return; previous.current = current; if (current) actions.followPanel?.(current); }, [current]); const open = ui2.details ? { id: ui2.details, view: ui2.view ?? "details", renaming: ui2.renaming, tab: ui2.tab } : null; - const [kept, setKept] = (0, import_react47.useState)(open); - (0, import_react47.useEffect)(() => { + const [kept, setKept] = (0, import_react48.useState)(open); + (0, import_react48.useEffect)(() => { if (open) { setKept(open); return void 0; @@ -20444,20 +20933,20 @@ function Overlays({ useRoster, useUi, useSessions, useSessionStatus, useActivity const [menu, menuLeaving] = useLinger(ui2.menu, MENU_EXIT_MS3); const [inbox, inboxLeaving] = useLinger(ui2.inbox ?? null, DIALOG_EXIT_MS); const [board, boardLeaving] = useLinger(ui2.board ?? null, DIALOG_EXIT_MS); - return (0, import_react47.createElement)( - import_react47.Fragment, + return (0, import_react48.createElement)( + import_react48.Fragment, null, - pane ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(BotPanel, { pane, leaving: open === null, roster, actions, useSessions, useSessionStatus, useActivity, useWork, useBrowserTabs, useBrowserPages }), document.body) : null, - ui2.newChat ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(NewChat, { key: ui2.newChat, mode: ui2.newChat, roster, actions }), document.body) : null, - ui2.palette ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(CommandPalette, { key: ui2.palette.token, start: ui2.palette.query, token: ui2.palette.token, roster, actions, useSessions }), document.body) : null, - ui2.exchange ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(ExchangeDialog, { pair: ui2.exchange, roster, actions }), document.body) : null, - ui2.voice ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(VoiceMode, { key: ui2.voice, sessionId: ui2.voice, roster, actions, useSessions, useSessionStatus }), document.body) : null, - menu ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(ContextMenu, { key: `${menu.kind ?? ""}:${menu.id}:${menu.x}:${menu.y}`, menu, roster, actions, leaving: menuLeaving }), document.body) : null, - settings ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(SettingsDialog, { page: settings.page, id: settings.id, roster, actions, useUpdate, leaving: settingsLeaving }), document.body) : null, - remoteBotSettings ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(RemoteBotSettingsSheet, { key: remoteBotSettings, bot: roster.byId[remoteBotSettings], roster, actions, leaving: remoteLeaving }), document.body) : null, - memory && roster.byId[memory] ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(MemoryDialog, { key: memory, bot: roster.byId[memory], actions, leaving: memoryLeaving }), document.body) : null, - inbox ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(InboxDialog, { roster, useWork, useSessions, actions, leaving: inboxLeaving }), document.body) : null, - board ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(KanbanDialog, { roster, actions, leaving: boardLeaving }), document.body) : null + pane ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(BotPanel, { pane, leaving: open === null, roster, actions, useSessions, useSessionStatus, useActivity, useWork, useBrowserTabs, useBrowserPages }), document.body) : null, + ui2.newChat ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(NewChat, { key: ui2.newChat, mode: ui2.newChat, roster, actions }), document.body) : null, + ui2.palette ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(CommandPalette, { key: ui2.palette.token, start: ui2.palette.query, token: ui2.palette.token, roster, actions, useSessions }), document.body) : null, + ui2.exchange ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(ExchangeDialog, { pair: ui2.exchange, roster, actions }), document.body) : null, + ui2.voice ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(VoiceMode, { key: ui2.voice, sessionId: ui2.voice, roster, actions, useSessions, useSessionStatus }), document.body) : null, + menu ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(ContextMenu, { key: `${menu.kind ?? ""}:${menu.id}:${menu.x}:${menu.y}`, menu, roster, actions, leaving: menuLeaving }), document.body) : null, + settings ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(SettingsDialog, { page: settings.page, id: settings.id, roster, actions, useUpdate, leaving: settingsLeaving }), document.body) : null, + remoteBotSettings ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(RemoteBotSettingsSheet, { key: remoteBotSettings, bot: roster.byId[remoteBotSettings], roster, actions, leaving: remoteLeaving }), document.body) : null, + memory && roster.byId[memory] ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(MemoryDialog, { key: memory, bot: roster.byId[memory], actions, leaving: memoryLeaving }), document.body) : null, + inbox ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(InboxDialog, { roster, useWork, useSessions, actions, leaving: inboxLeaving }), document.body) : null, + board ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(KanbanDialog, { roster, actions, leaving: boardLeaving }), document.body) : null ); } @@ -21412,7 +21901,7 @@ function writeMode(mode, storage = globalThis.localStorage) { } // src/client/user-message.js -var import_react48 = require("react"); +var import_react49 = require("react"); var ui = __toESM(require("@deepseek-ai/dsh-client-ui-primitives"), 1); var canDrawUserMessages = () => typeof ui.projectUserText === "function"; function contentParts(content) { @@ -21498,38 +21987,38 @@ function userTextParts(text2, bots, referenceLabels = []) { return parts; } function UserText({ text: text2, bots, referenceLabels, skillNames, references, actions }) { - const chip = (part) => [(0, import_react48.createElement)(BotMark, { bot: part.bot.draw ?? part.bot, size: 16 }), `@${part.bot.mentionLabel ?? part.label}`]; + const chip = (part) => [(0, import_react49.createElement)(BotMark, { bot: part.bot.draw ?? part.bot, size: 16 }), `@${part.bot.mentionLabel ?? part.label}`]; return userTextParts(text2, bots, referenceLabels).map((part, index) => { - if (!part.bot) return (0, import_react48.createElement)(import_react48.Fragment, { key: index }, ui.projectUserText(part.text, referenceLabels, skillNames, "skill", references)); + if (!part.bot) return (0, import_react49.createElement)(import_react49.Fragment, { key: index }, ui.projectUserText(part.text, referenceLabels, skillNames, "skill", references)); const title = `@${part.bot.name}`; - return typeof part.bot.id === "string" ? (0, import_react48.createElement)("button", { key: index, type: "button", className: "bt-umention", title, onClick: () => actions.openSession(part.bot.id) }, chip(part)) : (0, import_react48.createElement)("span", { key: index, className: "bt-umention", title }, chip(part)); + return typeof part.bot.id === "string" ? (0, import_react49.createElement)("button", { key: index, type: "button", className: "bt-umention", title, onClick: () => actions.openSession(part.bot.id) }, chip(part)) : (0, import_react49.createElement)("span", { key: index, className: "bt-umention", title }, chip(part)); }); } function Attachments({ attachments, renderMessageImages }) { const compact2 = attachments.length > 1; - return (0, import_react48.createElement)("div", { className: "bt-uattach" }, attachments.map((block, index) => { + return (0, import_react49.createElement)("div", { className: "bt-uattach" }, attachments.map((block, index) => { if (block.type === "image") { - return renderMessageImages ? (0, import_react48.createElement)(import_react48.Fragment, { key: index }, renderMessageImages({ images: [{ attachment: block.attachment }], align: "end", compact: compact2 })) : null; + return renderMessageImages ? (0, import_react49.createElement)(import_react49.Fragment, { key: index }, renderMessageImages({ images: [{ attachment: block.attachment }], align: "end", compact: compact2 })) : null; } const file = block.attachment; const meta = [ui.fileExtension?.(file.name)?.toUpperCase().slice(0, 8), ui.fileSizeText?.(file.bytes)].filter(Boolean).join(" · "); - return (0, import_react48.createElement)( + return (0, import_react49.createElement)( "span", { key: index, className: "bt-ufile", title: file.name }, - ui.FileTypeIcon ? (0, import_react48.createElement)(ui.FileTypeIcon, { path: file.name, className: "bt-ufile-icon" }) : null, - (0, import_react48.createElement)("span", { className: "bt-ufile-text" }, (0, import_react48.createElement)("span", { className: "bt-ufile-name" }, file.name), meta ? (0, import_react48.createElement)("span", { className: "bt-ufile-meta" }, meta) : null) + ui.FileTypeIcon ? (0, import_react49.createElement)(ui.FileTypeIcon, { path: file.name, className: "bt-ufile-icon" }) : null, + (0, import_react49.createElement)("span", { className: "bt-ufile-text" }, (0, import_react49.createElement)("span", { className: "bt-ufile-name" }, file.name), meta ? (0, import_react49.createElement)("span", { className: "bt-ufile-meta" }, meta) : null) ); })); } function CopyButton({ text: text2 }) { - const [copied, setCopied] = (0, import_react48.useState)(false); + const [copied, setCopied] = (0, import_react49.useState)(false); const copy2 = () => { void navigator.clipboard?.writeText(text2).then(() => { setCopied(true); setTimeout(() => setCopied(false), 1e3); }); }; - return (0, import_react48.createElement)("button", { type: "button", className: "bt-tool", "aria-label": copied ? t("Copied") : t("Copy"), title: copied ? t("Copied") : t("Copy"), onClick: copy2 }, copied ? (0, import_react48.createElement)(CheckIcon) : (0, import_react48.createElement)(CopyIcon)); + return (0, import_react49.createElement)("button", { type: "button", className: "bt-tool", "aria-label": copied ? t("Copied") : t("Copy"), title: copied ? t("Copied") : t("Copy"), onClick: copy2 }, copied ? (0, import_react49.createElement)(CheckIcon) : (0, import_react49.createElement)(CopyIcon)); } var clock3 = (time) => typeof time === "number" ? new Date(time).toLocaleTimeString(dateLocale(), { hour: "numeric", minute: "2-digit" }) : void 0; function UserMessageCell({ node, sessionId, useRoster, actions, renderMessageImages, openFile, openSkill }) { @@ -21546,7 +22035,7 @@ function UserMessageCell({ node, sessionId, useRoster, actions, renderMessageIma const person = incoming && author.authorKind === "human" && !author.ownerName; const faceMine = Boolean(room2?.origin === "face-to-face" && !incoming); const myName = faceMine ? facePeople(room2, roster).find((entry) => entry.mine)?.name || cleanPeerName(roster.self?.displayName, "") || author?.name || "" : ""; - return (0, import_react48.createElement)( + return (0, import_react49.createElement)( "div", { className: incoming ? "bt-umsg bt-umsg-other" : "bt-umsg", @@ -21556,22 +22045,22 @@ function UserMessageCell({ node, sessionId, useRoster, actions, renderMessageIma "data-author-kind": author?.authorKind, "data-author-name": author?.name }, - person ? (0, import_react48.createElement)("span", { className: "bt-lead", title: author.name }, (0, import_react48.createElement)(PersonMark, { name: author.name })) : null, - faceMine ? (0, import_react48.createElement)("span", { className: "bt-lead", title: myName || void 0 }, (0, import_react48.createElement)(PersonMark, { name: myName || void 0 })) : null, - (0, import_react48.createElement)( + person ? (0, import_react49.createElement)("span", { className: "bt-lead", title: author.name }, (0, import_react49.createElement)(PersonMark, { name: author.name })) : null, + faceMine ? (0, import_react49.createElement)("span", { className: "bt-lead", title: myName || void 0 }, (0, import_react49.createElement)(PersonMark, { name: myName || void 0 })) : null, + (0, import_react49.createElement)( "div", { className: "bt-ustack" }, - faceMine && myName ? (0, import_react48.createElement)("span", { className: "bt-uauthor" }, myName) : author && (incoming || multiHuman) ? (0, import_react48.createElement)("span", { className: "bt-uauthor" }, author.name, author.ownerName ? (0, import_react48.createElement)("span", { className: "bt-chip" }, t("Friend's Bot")) : null) : null, - attachments.length > 0 ? (0, import_react48.createElement)(Attachments, { attachments, renderMessageImages }) : null, - text2 !== "" || rest.length > 0 ? (0, import_react48.createElement)( + faceMine && myName ? (0, import_react49.createElement)("span", { className: "bt-uauthor" }, myName) : author && (incoming || multiHuman) ? (0, import_react49.createElement)("span", { className: "bt-uauthor" }, author.name, author.ownerName ? (0, import_react49.createElement)("span", { className: "bt-chip" }, t("Friend's Bot")) : null) : null, + attachments.length > 0 ? (0, import_react49.createElement)(Attachments, { attachments, renderMessageImages }) : null, + text2 !== "" || rest.length > 0 ? (0, import_react49.createElement)( "div", { className: "bt-ubody", title: clock3(data.time) }, - (0, import_react48.createElement)(UserText, { text: text2, bots: mentionableBots(roster, sessionId, { fromFriend: Boolean(incoming && author.ownerName) }), referenceLabels, skillNames: data.skillNames ?? [], references, actions }), - rest.map((block, index) => ui.JsonBlock ? (0, import_react48.createElement)(ui.JsonBlock, { key: index, label: t("Content"), payload: block }) : null) + (0, import_react49.createElement)(UserText, { text: text2, bots: mentionableBots(roster, sessionId, { fromFriend: Boolean(incoming && author.ownerName) }), referenceLabels, skillNames: data.skillNames ?? [], references, actions }), + rest.map((block, index) => ui.JsonBlock ? (0, import_react49.createElement)(ui.JsonBlock, { key: index, label: t("Content"), payload: block }) : null) ) : null, - referenceLabels.length > 0 ? (0, import_react48.createElement)("div", { className: "bt-urefs" }, t("Referenced {labels}", { labels: referenceLabels.join(t(", ")) })) : null + referenceLabels.length > 0 ? (0, import_react49.createElement)("div", { className: "bt-urefs" }, t("Referenced {labels}", { labels: referenceLabels.join(t(", ")) })) : null ), - text2 === "" ? null : (0, import_react48.createElement)("div", { className: "bt-utools" }, (0, import_react48.createElement)(CopyButton, { text: text2 })) + text2 === "" ? null : (0, import_react49.createElement)("div", { className: "bt-utools" }, (0, import_react49.createElement)(CopyButton, { text: text2 })) ); } var USER_MESSAGE_CSS = ` @@ -21669,7 +22158,7 @@ function noticeApprovals({ work, roster, shownSession, openSession, since: since } // src/client/stats-dock.js -var import_react49 = require("react"); +var import_react50 = require("react"); var STATS_DOCK = "conversation.composer.dock"; var STATS_ID = "stats"; var STATS_IDS = [STATS_ID, "activity"]; @@ -21685,17 +22174,17 @@ function pluralStats(t2) { function statsDock(entriesOf, id = STATS_ID) { const shell = () => (entriesOf(STATS_DOCK) ?? []).find((entry) => entry?.component !== StatsDock && entry?.options?.id === id); function StatsDock(props) { - const t2 = (0, import_react49.useMemo)(() => typeof props.t === "function" ? pluralStats(props.t) : props.t, [props.t]); + const t2 = (0, import_react50.useMemo)(() => typeof props.t === "function" ? pluralStats(props.t) : props.t, [props.t]); const entry = shell(); if (!entry || typeof props.usePerformanceUsage !== "function") return null; - return (0, import_react49.createElement)(entry.component, { ...props, t: t2 }); + return (0, import_react50.createElement)(entry.component, { ...props, t: t2 }); } return { component: StatsDock, inject: (...args) => shell()?.inject?.(...args) ?? {} }; } var statsDocks = (entriesOf) => STATS_IDS.map((id) => ({ id, ...statsDock(entriesOf, id) })); // src/client/index.js -var import_react50 = require("react"); +var import_react51 = require("react"); var inject = ["sessions", "uiWorkspace", "uiConversation", "slots", "theme", "layout"]; function apply(ctx) { const flybot = createClientApi2(); @@ -21738,7 +22227,7 @@ function apply(ctx) { } catch { friendLines = null; } - const ui2 = createSource({ details: null, view: "details", renaming: false, tab: null, newChat: null, exchange: null, menu: null, voice: null, palette: null, quote: null, settings: null, remoteBotSettings: null, memory: null, toast: null, signIn: null, renameAgent: null, unread: savedUnread, reactions: savedReactions, visits: {} }); + const ui2 = createSource({ details: null, view: "details", renaming: false, tab: null, newChat: null, exchange: null, menu: null, voice: null, palette: null, quote: null, settings: new URLSearchParams(window.location?.search ?? "").has("feishu-app") ? { page: "connectors", id: null } : null, remoteBotSettings: null, memory: null, toast: null, signIn: null, renameAgent: null, unread: savedUnread, reactions: savedReactions, visits: {} }); const surface = createSource({ mode: readMode(), plain: false }); let agentSessionCache = /* @__PURE__ */ new Set(); try { @@ -22341,6 +22830,7 @@ function apply(ctx) { connectorDisconnect: (id) => after(call("connector-disconnect", { id })), connectorRetry: (id) => after(call("connector-retry", { id })), connectorSend: (id, text2) => after(call("connector-send", { id, text: text2 })), + feishu: (payload) => call("feishu", payload), saveCapability: (capability) => after(call("capability-save", capability)), deleteCapability: (name) => after(call("capability-delete", { name })), approveCapability: (name) => after(call("capability-approve", { name })), @@ -22667,7 +23157,7 @@ function apply(ctx) { ]; ctx.effect(() => { const style = installStyles(TURN_FAILURES_CSS, "turn-failures"); - const off = registry().register("flybot.session.dock", { id: "flybot-turn-failures", order: 20, component: (props) => (0, import_react50.createElement)(TurnFailures, { ...props, work }) }); + const off = registry().register("flybot.session.dock", { id: "flybot-turn-failures", order: 20, component: (props) => (0, import_react51.createElement)(TurnFailures, { ...props, work }) }); return () => { off(); style.remove(); diff --git a/core/index.js b/core/index.js index 124988855..e5cf2bb3a 100644 --- a/core/index.js +++ b/core/index.js @@ -61,6 +61,7 @@ import * as images from './src/host/images.js' import * as browser from './src/host/browser.js' import * as secrets from './src/host/secrets.js' import * as connectors from './src/host/connectors.js' +import * as feishuService from './src/host/feishu-service.js' import * as connectorAccess from './src/host/connector-access.js' import * as capabilities from './src/host/capabilities.js' import * as schedules from './src/host/schedules.js' @@ -85,7 +86,7 @@ export const inject = ['llm', 'tools', 'systemPrompt', 'sessionController', 'ses // the functions other modules call; they call them through `rt` at run time, never during // install. Listeners run and tools are listed in registration order, so this order holds: // usage meters model requests after every listener that rewrites them. -const MODULES = [diagnostics, store, projectEffects, projectWarnings, projectCompatibility, projectTaskLifecycle, projectInputs, harness, memberAuth, platformIdentity, projectAccess, projectDevelopment, projectExecutionBoundary, projectResources, projectHarness, projectRuntimeSetup, projectDelivery, projectDelegations, projectAgents, projectCredentials, projectGithubRead, projectPools, projectScheduledTasks, projectSources, projectChiefControl, projectScheduler, workbenchState, authz, personalAgentAuth, models, permissions, turns, busyAck, steeringInterrupt, delivery, roster, folders, agents, prompt, timeContext, tools, decisions, projectState, meetings, chatIndex, groups, roomMembership, reach, tasks, projectBoard, taskDrive, approvals, resume, memory, parts, images, secrets, connectors, connectorAccess, capabilities, schedules, projectAssistant, projectChief, projectTeam, automationDefault, browser, usage, update, dshUpdate, hooks, remoteChat, workflowStore, channel] +const MODULES = [diagnostics, store, projectEffects, projectWarnings, projectCompatibility, projectTaskLifecycle, projectInputs, harness, memberAuth, platformIdentity, projectAccess, projectDevelopment, projectExecutionBoundary, projectResources, projectHarness, projectRuntimeSetup, projectDelivery, projectDelegations, projectAgents, projectCredentials, projectGithubRead, projectPools, projectScheduledTasks, projectSources, projectChiefControl, projectScheduler, workbenchState, authz, personalAgentAuth, models, permissions, turns, busyAck, steeringInterrupt, delivery, roster, folders, agents, prompt, timeContext, tools, decisions, projectState, meetings, chatIndex, groups, roomMembership, reach, tasks, projectBoard, taskDrive, approvals, resume, memory, parts, images, secrets, connectors, connectorAccess, capabilities, schedules, projectAssistant, projectChief, projectTeam, automationDefault, feishuService, browser, usage, update, dshUpdate, hooks, remoteChat, workflowStore, channel] export function apply(ctx, config = {}) { const rt = createRuntime(ctx, config) diff --git a/core/src/client/cells.js b/core/src/client/cells.js index fb4e5dae3..7edbdddd8 100644 --- a/core/src/client/cells.js +++ b/core/src/client/cells.js @@ -209,6 +209,7 @@ export function AssistantCell({ node, groupPart, sessionId, openFile, fileMentio const closing = useClosingText(node, useTurnData) const hidden = Boolean(roster.roomsById[sessionId]) || isHiddenTurn(roster, sessionId, data.turn) const person = typedBy(roster, sessionId, data.turn) + const feishu = roster.feishuTurns?.[sessionId]?.[data.turn] const texts = groupPart === 'reasoning' ? [] : data.blocks.filter(block => block.kind === 'text' && block.text.trim() !== '').map((block, index) => index === 0 ? stripTrace(block.text) : block.text).filter(text => text.trim() !== '') const running = data.status === 'running' // A streaming reply stands in for the activity row. @@ -224,7 +225,9 @@ export function AssistantCell({ node, groupPart, sessionId, openFile, fileMentio const bubbles = texts.length ? (person ? h(PersonMessage, { name: person, texts, roster, selfId, actions, sessionId, msgKey: `${sessionId}:${data.turn}:${node.key ?? data.seq ?? ''}`, useUi }) : h(Bubbles, { texts, roster, selfId, actions, streaming: running, sessionId, msgKey: `${sessionId}:${data.turn}:${node.key ?? data.seq ?? ''}`, useUi, mentions, lead: friendLead(roster.byId[sessionId], texts) })) : null - return h(Fragment, null, + return h(feishu ? 'div' : Fragment, feishu ? { id: `feishu-message-${feishu.messageId ?? data.turn}`, 'data-feishu-root': feishu.rootId ?? '' } : null, + feishu?.rootId ? h('button', { type: 'button', className: 'bt-soft bt-soft-sm', title: feishu.rootId, onClick: () => document.getElementById(`feishu-message-${feishu.rootId}`)?.scrollIntoView?.({ block: 'center' }) }, t('Reply in thread')) : null, + feishu?.attachments?.length ? h(RemoteFiles, { files: feishu.attachments, appId: feishu.appId, plugin: 'feishu', botId: selfId }) : null, relays.map(relay => { const source = relay.source const sender = roster.byId[source.senderSessionId] ?? { id: source.senderSessionId, name: source.senderName ?? t('a Bot'), color: 'gray' } @@ -399,7 +402,7 @@ export function RemoteMessage({ source, text, roster, actions, sessionId, msgKey h('span', { className: 'bt-group-name', title: handle }, person, carrier ? h('span', { className: 'bt-remote-handle' }, t('via {name}', { name: carrier })) : null), h(Bubbles, { texts: [stripTrace(text)], roster, selfId: bot.id, actions, sessionId, msgKey, useUi, lead: h('span', { className: 'bt-lead', title: person }, h(PersonMark, { name: person })) }), - files.length ? h(RemoteFiles, { files, plugin: member?.plugin ?? 'social', botId: roster.byId[sessionId]?.id ?? sessionId }) : null) + files.length ? h(RemoteFiles, { files, appId: source.feishu?.appId, plugin: source.feishu ? 'feishu' : member?.plugin ?? 'social', botId: roster.byId[sessionId]?.id ?? sessionId }) : null) } const mark = h(BotMark, { bot, size: 22 }) const lead = chatId @@ -412,7 +415,7 @@ export function RemoteMessage({ source, text, roster, actions, sessionId, msgKey : h('span', { className: 'bt-group-name', style: { color: inkText(colorOf(bot)) } }, name, h('span', { className: 'bt-remote-handle', title: source.remote.home ?? handle, 'aria-label': t('Friend\'s Bot') }, h(GlobeMark), handle)), h(Bubbles, { texts: [stripTrace(text)], roster, selfId: bot.id, actions, sessionId, msgKey, useUi, lead }), - files.length ? h(RemoteFiles, { files, plugin: member?.plugin ?? 'social', botId: roster.byId[sessionId]?.id ?? sessionId }) : null) + files.length ? h(RemoteFiles, { files, appId: source.feishu?.appId, plugin: source.feishu ? 'feishu' : member?.plugin ?? 'social', botId: roster.byId[sessionId]?.id ?? sessionId }) : null) } // A sender's first line in a Bot's own chat (#420): one quiet line says who is talking to the Bot @@ -431,14 +434,14 @@ function GlobeMark() { // A remote member's files as chips; a click fetches the file (the plugin checks its // hash) and saves it. Nothing is opened or run. -function RemoteFiles({ files, plugin, botId }) { +function RemoteFiles({ files, plugin, botId, appId }) { const [busy, setBusy] = useState('') const [error, setError] = useState('') const download = async (file) => { setBusy(file.id) setError('') try { - const got = await call(`flybot/${plugin}/attachment`, { id: file.id, botId }) + const got = plugin === 'feishu' ? await call('feishu', { operation: 'attachment', appId, attachmentId: file.id }) : await call(`flybot/${plugin}/attachment`, { id: file.id, botId }) const value = got?.value ?? got const bytes = Uint8Array.from(atob(value.content_base64), c => c.charCodeAt(0)) const url = URL.createObjectURL(new Blob([bytes], { type: 'application/octet-stream' })) @@ -720,7 +723,7 @@ const SILENT_REGISTRATION_TOOLS = new Set([ 'list_bots', 'message_bot', 'stop_bot', 'create_bot', 'update_bot', 'archive_bot', 'list_models', 'bot_schedules', 'create_group', 'update_group', 'delete_group', 'post_to_group', 'ask_user', 'track_tasks', - 'request_secret', 'list_secrets', 'group_relay', 'read_own_chat', + 'request_secret', 'list_secrets', 'feishu_apps', 'feishu_tool', 'feishu_card', 'feishu_file', 'group_relay', 'read_own_chat', 'read_group_chat', 'remember', 'forget', 'recall', 'read_browser', 'list_capabilities', 'save_capability', 'delete_capability', 'attach_capability', 'detach_capability', diff --git a/core/src/client/connectors.js b/core/src/client/connectors.js index 0de3db10c..eeafcc99b 100644 --- a/core/src/client/connectors.js +++ b/core/src/client/connectors.js @@ -5,6 +5,7 @@ import { ConnectorIcon } from './icons.js' import { SwitchRow } from './bot-settings.js' import { ConnectorBots, usageText } from './connector-bots.js' import { t } from './i18n.js' +import { FeishuSetup } from './feishu-setup.js' const TOKEN_URL = 'https://github.com/settings/personal-access-tokens/new' const COMPOSIO_KEY_URL = 'https://platform.composio.dev/' @@ -149,7 +150,7 @@ export function AppStatusList({ apps, statuses }) { } function ConnectorRow({ connector, roster, actions }) { - const [form, setForm] = useState(false) + const [form, setForm] = useState(() => !!(connector.id === 'feishu' && actions.feishu && typeof window !== 'undefined' && window.location && new URLSearchParams(window.location.search).has('feishu-app'))) const [bots, setBots] = useState(false) const [token, setToken] = useState('') const [apps, setApps] = useState(() => connector.apps ?? []) @@ -169,6 +170,7 @@ function ConnectorRow({ connector, roster, actions }) { // behaviour) or a self-built app (the long connection in, answers out). The form is the mode's // credential list, rendered field by field. const channel = connector.kind === 'channel' + const guided = channel && actions.feishu const modes = connector.modes ?? [] const [mode, setMode] = useState(() => connector.mode ?? modes[0]?.id) const [values, setValues] = useState({}) @@ -222,19 +224,21 @@ function ConnectorRow({ connector, roster, actions }) { connector.state === 'error' ? h('button', { type: 'button', className: 'bt-soft bt-soft-sm', disabled: busy, onClick: () => void run(actions.connectorRetry(connector.id)) }, t('Try again')) : null, on && gateway && !picking ? h('button', { type: 'button', className: 'bt-soft bt-soft-sm', disabled: busy, onClick: () => { setApps(connector.apps ?? []); setPicking(true) } }, t('Choose apps')) : null, on && perBot ? h('button', { type: 'button', className: 'bt-soft bt-soft-sm', 'aria-expanded': bots, onClick: () => setBots(value => !value) }, bots ? t('Done') : t('Choose Bots')) : null, + guided ? h('button', { type: 'button', className: 'bt-soft bt-soft-sm', 'aria-expanded': form, onClick: () => setForm(value => !value) }, t('Connect')) : null, on ? h('button', { type: 'button', className: 'bt-soft bt-soft-sm', disabled: busy, onClick: () => void run(actions.connectorDisconnect(connector.id)) }, t('Disconnect')) - : form ? null : h('button', { type: 'button', className: 'bt-soft bt-soft-sm', onClick: () => setForm(true) }, t('Connect')))), + : form || guided ? null : h('button', { type: 'button', className: 'bt-soft bt-soft-sm', onClick: () => setForm(true) }, t('Connect')))), on && gateway && !picking ? h(AppStatusList, { apps: connector.apps ?? [], statuses }) : null, on && perBot ? h('span', { className: 'bt-connector-uses' }, usageText(roster, connector.id)) : null, on && bots ? h(ConnectorBots, { connector, roster, actions, run, SwitchRow }) : null, - on && channel && connector.mode === 'app' ? h(AllowedSenders, { connector, actions, run, busy }) : null, + on && channel && !connector.managed && connector.mode === 'app' ? h(AllowedSenders, { connector, actions, run, busy }) : null, on && canPost ? h('div', { className: 'bt-connector-form' }, h('label', { className: 'bt-q-field' }, h('input', { className: 'bt-input', type: 'text', value: message, 'aria-label': t('Message to send to Feishu'), placeholder: t('Type a message for the Feishu group'), onChange: event => setMessage(event.target.value) })), h('div', { className: 'bt-connector-form-row' }, h('span', { className: 'bt-connector-link' }), h('button', { type: 'button', className: 'bt-soft bt-soft-sm', disabled: busy || message.trim() === '' || actions.connectorSend === undefined, onClick: () => void run(actions.connectorSend(connector.id, message), () => setMessage('')) }, t('Send')))) : null, - !on && form ? h('div', { className: 'bt-connector-form' }, + channel && form && actions.feishu ? h(FeishuSetup, { actions, roster, onClose: () => setForm(false) }) : null, + !on && form && (!channel || !actions.feishu) ? h('div', { className: 'bt-connector-form' }, channel ? h('div', { className: 'bt-states', role: 'group', 'aria-label': t('How to connect') }, modes.map(entry => h('button', { key: entry.id, type: 'button', className: 'bt-state', 'aria-pressed': entry.id === chosen?.id, diff --git a/core/src/client/feishu-copy.js b/core/src/client/feishu-copy.js new file mode 100644 index 000000000..0cde9f8ea --- /dev/null +++ b/core/src/client/feishu-copy.js @@ -0,0 +1,63 @@ +export const FEISHU_ZH = { + 'Optional tools': '按需选择', 'Select the tools you need. The permission JSON updates automatically.': '勾选需要的工具,权限 JSON 会自动更新。', + 'Clipboard is unavailable. Copy the selected JSON below.': '无法访问剪贴板,请手动复制已选中的权限 JSON。', + 'Base permissions are always included.': '已包含全部基础权限', 'View permission JSON': '查看权限 JSON', 'Open Feishu Open Platform': '打开飞书开放平台', + 'Long connection': '长连接', 'Event address': '事件地址', 'Recommended · no public address': '推荐 · 无需公网地址', 'Requires a public HTTPS address': '需要公网 HTTPS 地址', + 'Connection steps': '接入步骤', 'Step {current} of {total}': '第 {current} 步,共 {total} 步', 'Previous step': '上一步', + 'Check App ID and App Secret. A nonexistent App ID may be reported as an internal error.': 'App ID 或 App Secret 不正确,请在应用的“凭证与基础信息”页面重新复制。App ID 不存在时,飞书可能只返回“内部错误”。', + 'FlyBot cannot reach open.feishu.cn. Check the server network or proxy.': 'FlyBot 服务器连不上 open.feishu.cn,请检查服务器的网络或代理设置。', + 'Credentials accepted, but Bot information is unavailable. Enable the Bot capability and publish a version. You can continue now and test again after publishing.': '凭据正确,但还读不到机器人:应用还没有开启机器人能力,或开启后还没有发布版本。可以先继续下一步,发布版本后再测试。', + 'Apply for the missing app permission, publish a new version, wait for approval, then check permissions again.': '请在飞书开放平台申请缺少的应用权限并发布新版本;需要管理员审批时等待通过,再重新检测。', + 'The application has reached its long-connection limit (up to 50 connections).': '应用的长连接数已达上限(最多 50 个连接)。', + 'Could not connect to open.feishu.cn; check the server network, proxy and application credentials.': '连不上 open.feishu.cn,请检查服务器网络、代理和应用凭据。', + 'The Feishu long-connection SDK is not installed on the FlyBot server. Reinstall FlyBot, or rebuild the image if it runs in Docker.': 'FlyBot 服务器上没有安装飞书长连接 SDK。请重新安装 FlyBot;用 Docker 运行时请重新构建镜像。', + 'Operation failed; check network, permissions and published app version': '操作失败,请检查网络、应用权限及已发布的应用版本。', + + 'Conversation handlers': '会话处理的 Bot', 'Conversation handler': '处理的 Bot', 'Follow the default Bot': '跟随默认 Bot', + 'Reply in thread': '回复消息串', + 'Connection name': '接入名称', 'App has read-only permission': '只开通了只读', + 'Also process other robots that mention this robot (up to 8 consecutive requests)': '其他机器人 @ 这个机器人时,也交给 Bot 处理(连续最多 8 次)', + 'Files': '文件', + 'Setup guide': '设置引导', 'Connect Feishu': '接入飞书', 'New connection': '新建接入', + 'Prepare a public event address': '准备公网事件地址', 'Create an app on Feishu Open Platform': '在飞书开放平台创建应用', + 'Enter credentials and test connection': '填写凭据并测试连接', 'Subscribe to message events and card callbacks': '订阅消息事件与卡片回调', + 'Publish an app version': '发布应用版本', 'Choose the Bot represented by the robot': '选择机器人代表的 Bot', 'Try it in Feishu': '在飞书中试一试', + 'Long connection (recommended, no public address)': '长连接(推荐,不需要公网地址)', 'Event address (HTTP, needs a public address)': '事件地址(HTTP,需要公网地址)', + 'Create an internal app, add the Bot capability, and apply for the permissions below. Do not configure events yet.': '创建企业自建应用,在“添加应用能力”中添加机器人,按下方列表申请权限并设置通讯录权限范围。先不要配置事件订阅。', + 'Only Feishu (open.feishu.cn) is supported; Lark is not supported.': '只支持飞书(open.feishu.cn),不支持 Lark 国际版。', + 'Copy permission JSON': '复制权限 JSON', 'Copied': '已复制', 'Extended permissions (Feishu tools)': '扩展权限(飞书工具)', + 'Calendar': '日历', 'Documents and wiki': '文档与知识库', 'Bitable': '多维表格', 'Spreadsheets': '电子表格', 'Video meetings': '视频会议', 'Tasks': '任务', + 'Import this JSON in Permission management → Batch import/export. Set the contact data scope to people who will use the robot.': '在“权限管理 → 批量导入/导出”中粘贴 JSON 并申请开通;在“数据权限”中把通讯录权限范围设为会使用机器人的成员。', + 'Public HTTPS event origin': '公网 HTTPS 事件地址前缀', + 'Forward only the event port to a public HTTPS address. Do not expose the FlyBot console. Leave Encrypt Key empty.': '准备公网可以访问的 HTTPS 地址,只转发事件端口,不开放控制台。Encrypt Key 保持为空:FlyBot 不接收加密推送的事件。', + 'Credentials are encrypted on the platform and cannot be viewed after saving. Bots never receive them.': 'FlyBot 加密保存凭据,保存后不能再查看。凭据只留在平台,不交给 Bot。', + 'Leave saved credentials blank to keep them. Switching receiving methods reuses the same Feishu application and conversations.': '已有凭据留空即沿用;切换接收方式沿用原来的飞书应用和会话,不需要重新创建。', + 'Switching to a long connection deletes the saved Verification Token.': '改用长连接后,原来保存的 Verification Token 会被删除。', + 'Save and test connection': '保存并测试连接', 'Connection to Feishu': '与飞书的连接', 'Refreshes every 3 seconds': '每 3 秒刷新', + 'Connected': '已连接', 'Connecting…': '正在连接…', 'Connection failed': '连接失败', + 'Wait until connected: Feishu only allows saving the long connection subscription after FlyBot connects. Check credentials and network if it keeps waiting.': '还没有连上:飞书只有在 FlyBot 连上之后,才允许把订阅方式保存为长连接。如果一直停在这里,检查 App ID、App Secret,以及服务器能否访问 open.feishu.cn。', + 'Now set Events and callbacks → Event configuration → Use long connection to receive events, then save.': '现在到“事件与回调 → 事件配置”,把订阅方式设为“使用长连接接收事件”并保存。', + 'Add Receive message v2.0 (im.message.receive_v1).': '添加事件“接收消息 v2.0”(im.message.receive_v1)。', + 'In Callback configuration, use the long connection and add Card action trigger (card.action.trigger).': '在“回调配置”中选择“使用长连接接收回调”并保存,添加“卡片回传交互”(card.action.trigger)。', + 'In both Event configuration and Callback configuration, select Send to developer server, use the same address below, and save.': '在“事件配置”和“回调配置”中分别选择“将事件/回调发送至开发者服务器”,填写下方同一个请求地址并保存。', + 'Address verified': '请求地址已通过验证', 'Waiting for address verification': '等待飞书验证请求地址;失败时检查 Verification Token,并返回上一步修改。', + 'Received an event': '已收到飞书事件', 'No event received yet': '尚未收到飞书事件', + 'Without card.action.trigger, cards can display but buttons and forms do not respond. Neither test connection nor connected status checks callback subscriptions.': '没有订阅 card.action.trigger 时,卡片能显示,但按钮和表单没有反应。测试连接、基础权限检测和“已连接”都不检测回调订阅。', + 'Connect each Feishu app to only one FlyBot instance; multiple instances split incoming messages.': '同一个飞书应用只接到一个 FlyBot:同时接到多个实例时,消息会被随机分走。', + 'Create and publish a version in Version management and release. Include the required members or departments. Wait for enterprise approval if required.': '在“版本管理与发布”中创建版本,在可用范围中选择能使用机器人的成员或部门,申请线上发布;需要审核时等待企业管理员通过。', + 'Permissions, Bot capability, events and callbacks take effect after publishing. Publish again after any change.': '权限、机器人能力、消息事件和卡片回调订阅在发布后才生效;之后修改也要重新发布版本。', + 'Test connection': '测试连接', 'One Feishu application represents one Bot. Group mentions and private messages go to the selected local Bot.': '一个飞书应用就是一个机器人。群里 @ 它的消息和发给它的私聊消息交给选中的本地 Bot 处理,回复以机器人的身份发出。', + 'Choose a Bot': '选择 Bot', 'Add the application under Group settings → Group robots. Mention it in the group, or send a private message.': '在“群设置 → 群机器人”中添加这个应用,在群里 @ 机器人,或直接私聊它。', + 'Ask the Bot to send a card with a submit button. Click it and confirm Submitted. Ordinary chat success does not verify card callbacks.': '请机器人发送一张带提交按钮的卡片,实际点击并确认出现“已提交”提示;普通聊天成功不能代替卡片交互验证。', + 'Each group or private chat keeps one FlyBot conversation; thread replies return to the original thread. Message edits and recalls are not synchronized.': '一个群聊或私聊对应一个 FlyBot 会话;消息串中的回复发回原消息串。不同步消息的编辑和撤回。', + 'Who may send messages': '谁可以发消息', 'Allow an open_id': '允许发消息的 open_id', 'Allowed senders can send messages; this does not grant platform identity or approval authority.': '白名单只表示允许发消息,不等于平台用户或审批权限。', + 'Identity linking': '身份关联', 'Feishu open_id': '飞书 open_id', 'Platform member': '平台成员', 'Link identity': '关联身份', + 'Link to an existing signed-in platform member. No external members or new login accounts are created. Unlinked card submissions and meeting bookings are refused.': '关联到已有平台成员,不创建外部成员或新登录账号。未关联的卡片提交和视频会议预约会被拒绝。', + 'Feishu tools': '飞书工具', 'Disabled': '禁用', 'Read only': '只读', 'Read/write, ask before writes': '读写,写入需询问', 'Read/write': '读写', + 'Permissions of the Feishu application': '飞书应用的权限', 'Check permissions again': '重新检测', 'App permission not granted': '飞书应用未开通', + 'Diagnostics': '诊断记录', 'Delivery records': '投递记录', 'Cards': '卡片', 'Delete connection': '删除接入', + 'Later': '稍后继续', 'Next': '下一步', 'Back': '上一步', 'Finish': '完成', 'Save': '保存', + 'App ID must be cli_ followed by 16 hexadecimal characters': 'App ID 必须是 cli_ 加 16 位十六进制字符。', + 'Enter the App Secret': '请填写 App Secret。', 'Enter the Verification Token': '请填写 Verification Token。', + 'Prepare a public HTTPS event address': '请先准备公网可以访问的 HTTPS 事件地址。', +} diff --git a/core/src/client/feishu-setup.js b/core/src/client/feishu-setup.js new file mode 100644 index 000000000..6f48f0f5c --- /dev/null +++ b/core/src/client/feishu-setup.js @@ -0,0 +1,109 @@ +import { createElement as h, useCallback, useEffect, useRef, useState } from 'react' +import { t, hostText } from './i18n.js' +import { ownBots } from './connector-bots.js' +import { APP_ID, PRODUCTS, BASE_SCOPES, permissionJSON, setupSteps, publicAddress, scopeGranted, productAccess } from '../shared/feishu.js' + +const button = (text, onClick, disabled = false, variant = '') => h('button', { type: 'button', className: `bt-soft bt-soft-sm bt-feishu-button ${variant}`, onClick, disabled }, t(text)) +const hint = key => h('p', { className: 'bt-set-hint' }, t(key)) +const field = (label, value, change, type = 'text', disabled = false) => h('label', { className: 'bt-feishu-field' }, h('span', {}, t(label)), h('input', { className: 'bt-input', type, value, disabled, autoComplete: type === 'password' ? 'new-password' : 'off', 'aria-label': t(label), onChange: e => change(e.target.value) })) + +export function FeishuSetup({ actions, roster, onClose }) { + const [apps, setApps] = useState([]), [members, setMembers] = useState([]), [selected, setSelected] = useState(''), [step, setStep] = useState(0) + const [mode, setMode] = useState('socket'), [appId, setAppId] = useState(''), [secret, setSecret] = useState(''), [token, setToken] = useState(''), [url, setUrl] = useState(''), [name, setName] = useState('Feishu') + const [botId, setBotId] = useState(''), [openId, setOpenId] = useState(''), [memberId, setMemberId] = useState(''), [extensions, setExtensions] = useState([]), [copied, setCopied] = useState(false) + const [busy, setBusy] = useState(false), [error, setError] = useState(''), [result, setResult] = useState(null), [webhook, setWebhook] = useState('') + const initial = useRef(true) + const app = apps.find(a => a.id === selected), steps = setupSteps(mode), offset = mode === 'http' ? 1 : 0, n = step - offset + const load = useCallback(async () => { const out = await actions.feishu({ operation: 'list' }); setApps(out.apps ?? []); setMembers(out.members ?? []); if (initial.current) { initial.current = false; const queryId = new URLSearchParams(window.location.search).get('feishu-app'); const saved = out.apps?.find(a => a.id === queryId) ?? out.apps?.[0]; if (saved) { setSelected(saved.id); setAppId(saved.id); setMode(saved.mode); setStep(saved.step ?? 0); setBotId(saved.botId ?? ''); setUrl(saved.publicUrl ?? ''); setName(saved.name ?? 'Feishu') } } }, [actions]) + useEffect(() => { void load().catch(e => setError(hostText(e.message))); const timer = setInterval(() => { void load().catch(() => {}) }, 3000); return () => clearInterval(timer) }, [load]) + const run = async fn => { setBusy(true); setError(''); try { const value = await fn(); await load(); return value } catch (e) { setError(hostText(e.message)); return undefined } finally { setBusy(false) } } + const select = id => { + const saved = apps.find(a => a.id === id) + setSelected(id); setAppId(id); setMode(saved?.mode ?? 'socket'); setStep(saved?.step ?? 0); setBotId(saved?.botId ?? ''); setUrl(saved?.publicUrl ?? ''); setName(saved?.name ?? 'Feishu'); setSecret(''); setToken(''); setResult(null) + } + const advance = async target => { + if (selected) await run(() => actions.feishu({ operation: 'configure', appId: selected, step: target, ...(botId ? { botId } : {}) })) + setStep(target) + } + const save = () => void run(async () => { + const out = await actions.feishu({ operation: 'save', appId, appSecret: secret, verificationToken: token, mode, publicUrl: url, name, step: offset + 2 }) + setApps(out.apps); setSelected(appId); setSecret(''); setToken(''); setResult(out.test); setStep(offset + (out.test?.credentialError ? 1 : 2)) + }) + const action = payload => void run(() => actions.feishu({ appId: selected, ...payload })) + const copyPermissions = async event => { + const section = event.currentTarget.closest('.bt-feishu-permissions') + setError('') + try { + if (!navigator.clipboard?.writeText) throw new Error('Clipboard unavailable') + await navigator.clipboard.writeText(permissionJSON(extensions)); setCopied(true) + } catch { + const preview = section.querySelector('.bt-feishu-json'), textarea = preview.querySelector('textarea') + preview.open = true; textarea.focus(); textarea.select() + setCopied(false) + setError(t('Clipboard is unavailable. Copy the selected JSON below.')) + } + } + const permissionPicker = h('section', { className: 'bt-feishu-permissions' }, + h('div', { className: 'bt-feishu-section-head' }, h('strong', {}, t('Extended permissions (Feishu tools)')), h('span', { className: 'bt-feishu-optional' }, t('Optional tools'))), + hint('Select the tools you need. The permission JSON updates automatically.'), + h('div', { className: 'bt-feishu-permission-grid' }, PRODUCTS.map(p => h('label', { key: p.id, className: 'bt-feishu-permission', 'data-checked': extensions.includes(p.id) }, + h('input', { type: 'checkbox', checked: extensions.includes(p.id), onChange: e => { setExtensions(e.target.checked ? [...extensions, p.id] : extensions.filter(x => x !== p.id)); setCopied(false) } }), h('span', {}, t(p.label))))), + h('div', { className: 'bt-feishu-permission-copy' }, button(copied ? 'Copied' : 'Copy permission JSON', copyPermissions), + h('span', { className: 'bt-set-hint' }, t('Base permissions are always included.'))), + h('details', { className: 'bt-feishu-json' }, h('summary', {}, t('View permission JSON')), h('textarea', { className: 'bt-input', readOnly: true, rows: 8, value: permissionJSON(extensions), 'aria-label': t('Copy permission JSON') })), + hint('Import this JSON in Permission management → Batch import/export. Set the contact data scope to people who will use the robot.')) + let content + if (step === 0 && mode === 'http') content = h('div', {}, hint('Forward only the event port to a public HTTPS address. Do not expose the FlyBot console. Leave Encrypt Key empty.'), field('Public HTTPS event origin', url, setUrl)) + else if (n === 0) content = h('div', {}, hint('Create an internal app, add the Bot capability, and apply for the permissions below. Do not configure events yet.'), + h('a', { className: 'bt-feishu-external', href: 'https://open.feishu.cn/app', target: '_blank', rel: 'noopener noreferrer' }, t('Open Feishu Open Platform'), h('span', { 'aria-hidden': true }, '↗')), permissionPicker) + else if (n === 1) content = h('div', {}, hint('Credentials are encrypted on the platform and cannot be viewed after saving. Bots never receive them.'), hint('Leave saved credentials blank to keep them. Switching receiving methods reuses the same Feishu application and conversations.'), + app?.mode === 'http' && mode === 'socket' ? hint('Switching to a long connection deletes the saved Verification Token.') : null, + field('Connection name', name, setName), + field('App ID', appId, setAppId, 'text', !!selected), field('App Secret', secret, setSecret, 'password'), mode === 'http' ? field('Verification Token', token, setToken, 'password') : null, + appId && !APP_ID.test(appId) ? hint('App ID must be cli_ followed by 16 hexadecimal characters') : null, + button('Save and test connection', save, busy || !APP_ID.test(appId) || !selected && !secret.trim() || mode === 'http' && (!publicAddress(url) || (!token && app?.mode !== 'http')), 'bt-feishu-primary')) + else if (n === 2) content = h('div', {}, + mode === 'socket' ? h('div', {}, h('strong', {}, t('Connection to Feishu')), h('p', { role: 'status' }, t(app?.connection === 'ready' ? 'Connected' : app?.connection === 'error' ? 'Connection failed' : 'Connecting…')), hint('Refreshes every 3 seconds'), + app?.connection === 'ready' ? hint('Now set Events and callbacks → Event configuration → Use long connection to receive events, then save.') : hint('Wait until connected: Feishu only allows saving the long connection subscription after FlyBot connects. Check credentials and network if it keeps waiting.'), + hint('In Callback configuration, use the long connection and add Card action trigger (card.action.trigger).')) : h('div', {}, hint('In both Event configuration and Callback configuration, select Send to developer server, use the same address below, and save.'), h('code', {}, `${url.replace(/\/$/, '')}/api/feishu/events/${selected}`), hint(app?.verifiedAt ? 'Address verified' : 'Waiting for address verification')), + hint('Add Receive message v2.0 (im.message.receive_v1).'), hint('Without card.action.trigger, cards can display but buttons and forms do not respond. Neither test connection nor connected status checks callback subscriptions.'), hint('Connect each Feishu app to only one FlyBot instance; multiple instances split incoming messages.'), hint(app?.lastEventAt ? 'Received an event' : 'No event received yet')) + else if (n === 3) content = h('div', {}, hint('Create and publish a version in Version management and release. Include the required members or departments. Wait for enterprise approval if required.'), hint('Permissions, Bot capability, events and callbacks take effect after publishing. Publish again after any change.'), button('Test connection', () => void run(async () => { const out = await actions.feishu({ operation: 'test', appId: selected }); setResult(out) }), busy)) + else if (n === 4) content = h('div', {}, hint('One Feishu application represents one Bot. Group mentions and private messages go to the selected local Bot.'), h('select', { className: 'bt-input', 'aria-label': t('Choose a Bot'), value: botId, onChange: e => setBotId(e.target.value) }, h('option', { value: '' }, t('Choose a Bot')), ownBots(roster).filter(b => !b.projectAgent && !b.ephemeral).map(b => h('option', { key: b.id, value: b.id }, b.name)))) + else content = h('div', {}, hint('Add the application under Group settings → Group robots. Mention it in the group, or send a private message.'), hint('Ask the Bot to send a card with a submit button. Click it and confirm Submitted. Ordinary chat success does not verify card callbacks.'), hint('Each group or private chat keeps one FlyBot conversation; thread replies return to the original thread.'), h('ul', {}, (app?.recent ?? []).map(e => h('li', { key: e.id }, `${e.text ?? ''} · ${e.status}`)))) + const identity = h('details', {}, h('summary', {}, t('Identity linking')), hint('Link to an existing signed-in platform member. No external members or new login accounts are created. Unlinked card submissions and meeting bookings are refused.'), field('Feishu open_id', openId, setOpenId), h('select', { className: 'bt-input', value: memberId, 'aria-label': t('Platform member'), onChange: e => setMemberId(e.target.value) }, h('option', { value: '' }, t('Platform member')), members.map(m => h('option', { key: m.id, value: m.id }, m.name))), button('Link identity', () => action({ operation: 'identity', openId, ...(memberId ? { memberId } : {}) }), busy || !openId), h('ul', {}, (app?.identities ?? []).map(i => h('li', { key: i.openId }, `${i.openId} → ${i.memberId}`)))) + return h('section', { className: 'bt-feishu-setup', 'aria-label': t('Connect Feishu') }, + h('header', { className: 'bt-feishu-header' }, h('div', {}, h('h3', {}, t('Connect Feishu')), hint('Only Feishu (open.feishu.cn) is supported; Lark is not supported.')), + apps.length ? h('select', { className: 'bt-input', value: selected, onChange: e => select(e.target.value), 'aria-label': t('Connect Feishu') }, h('option', { value: '' }, t('New connection')), apps.map(a => h('option', { key: a.id, value: a.id }, `${a.name} (${a.id})`))) : null), + app?.linkOnly ? h('div', { className: 'bt-feishu-body' }, identity, button('Later', onClose, false, 'bt-feishu-quiet')) : h('div', { className: 'bt-feishu-body' }, + h('div', { className: 'bt-feishu-modes', role: 'group', 'aria-label': t('How to connect') }, ['socket', 'http'].map(m => h('button', { + key: m, type: 'button', 'aria-pressed': mode === m, 'aria-label': t(m === 'socket' ? 'Long connection (recommended, no public address)' : 'Event address (HTTP, needs a public address)'), + onClick: () => { setMode(m); setStep(m === 'http' ? 0 : selected ? 1 : 0) }, + }, h('strong', {}, t(m === 'socket' ? 'Long connection' : 'Event address')), h('small', {}, t(m === 'socket' ? 'Recommended · no public address' : 'Requires a public HTTPS address'))))), + h('div', { className: 'bt-feishu-layout' }, + h('nav', { className: 'bt-feishu-progress', 'aria-label': t('Connection steps') }, h('ol', {}, steps.map((title, i) => h('li', { key: title }, h('button', { + type: 'button', 'aria-label': t(title), 'aria-current': step === i ? 'step' : undefined, 'data-done': i < step, disabled: i > offset + 1 && !selected, onClick: () => setStep(i), + }, h('span', { className: 'bt-feishu-step-number', 'aria-hidden': true }, i < step ? '✓' : i + 1), h('span', { className: 'bt-feishu-step-label' }, t(title))))))), + h('div', { className: 'bt-feishu-step' }, h('div', { className: 'bt-feishu-step-heading' }, h('span', { className: 'bt-feishu-eyebrow' }, t('Step {current} of {total}', { current: step + 1, total: steps.length })), h('h4', {}, t(steps[step]))), + h('div', { className: 'bt-feishu-step-content' }, content), + result ? h('p', { className: 'bt-feishu-result', role: 'status', 'data-success': result.ok }, result.ok ? `${t('Connected')} ${result.bot ?? ''}` : hostText(result.error)) : null, + h('footer', { className: 'bt-feishu-footer' }, button('Previous step', () => setStep(Math.max(0, step - 1)), step === 0 || busy), + h('div', {}, button('Later', onClose, false, 'bt-feishu-quiet'), step < steps.length - 1 ? button('Next', () => void advance(step + 1), busy || n === 3 && !result?.ok || n === 1 && (!selected || app?.mode !== mode) || n === 4 && !botId || mode === 'http' && step === 0 && !publicAddress(url) || n > 1 && !selected, 'bt-feishu-primary') : button('Finish', onClose, false, 'bt-feishu-primary'))))), + app ? h('div', { className: 'bt-feishu-management' }, h('details', {}, h('summary', {}, t('Who may send messages')), hint('Allowed senders can send messages; this does not grant platform identity or approval authority.'), h('label', { className: 'bt-feishu-check' }, h('input', { type: 'checkbox', checked: app.allowBots === true, onChange: e => action({ operation: 'configure', allowBots: e.target.checked }) }), t('Also process other robots that mention this robot (up to 8 consecutive requests)')), field('Allow an open_id', openId, setOpenId), button('Allow', () => action({ operation: 'allow', openId }), busy || !openId), (app.allowed ?? []).map(id => h('p', { key: id }, id, button('Block', () => action({ operation: 'allow', openId: id, enabled: false }), busy)))), identity, + h('details', {}, h('summary', {}, t('Conversation handlers')), [...new Set((app.recent ?? []).map(e => e.chatId).filter(Boolean))].map(chatId => h('label', { key: chatId, className: 'bt-q-field' }, chatId, h('select', { className: 'bt-input', value: app.chatBots?.[chatId] ?? '', 'aria-label': `${t('Conversation handler')} ${chatId}`, onChange: e => action({ operation: 'configure', chatId, botId: e.target.value || null }) }, h('option', { value: '' }, t('Follow the default Bot')), ownBots(roster).filter(b => !b.projectAgent && !b.ephemeral).map(b => h('option', { key: b.id, value: b.id }, b.name)))))), + h('details', {}, h('summary', {}, t('Permissions of the Feishu application')), permissionPicker, button('Check permissions again', () => action({ operation: 'scopes' }), busy), h('ul', {}, BASE_SCOPES.filter(s => !scopeGranted(s, app.scopes)).map(s => h('li', { key: s }, s)))), + h('details', {}, h('summary', {}, t('Feishu tools')), ownBots(roster).filter(b => !b.projectAgent && !b.ephemeral).map(b => h('fieldset', { key: b.id }, h('legend', {}, b.name), PRODUCTS.map(p => h('label', { key: p.id, className: 'bt-q-field' }, t(p.label), productAccess(p, app.scopes) !== 'write' ? h('small', {}, t(productAccess(p, app.scopes) === 'read' ? 'App has read-only permission' : 'App permission not granted')) : null, + h('select', { className: 'bt-input', 'aria-label': `${b.name} ${t(p.label)}`, value: app.grants?.[b.id]?.[p.id] ?? 'disabled', onChange: e => action({ operation: 'grant', botId: b.id, product: p.id, mode: e.target.value }) }, [['disabled', 'Disabled'], ['read', 'Read only'], ['ask', 'Read/write, ask before writes'], ['write', 'Read/write']].map(([v, label]) => h('option', { key: v, value: v }, t(label))))))))), + h('details', {}, h('summary', {}, t('Diagnostics')), h('ul', {}, (app.diagnostics ?? []).map((d, i) => h('li', { key: i }, `${d.kind}: ${hostText(d.message)} ${d.code ?? ''} ${d.detail ?? ''}`)))), + h('details', {}, h('summary', {}, t('Delivery records')), (app.outbox ?? []).map(o => h('p', { key: o.id }, `${o.id}: ${o.status}`, o.status === 'failed' ? button('Try again', () => action({ operation: 'retry', outboxId: o.id })) : null))), + h('details', {}, h('summary', {}, t('Files')), (app.files ?? []).map(file => button(file.name, () => void run(async () => { const value = await actions.feishu({ operation: 'attachment', appId: app.id, attachmentId: file.id }); const bytes = Uint8Array.from(atob(value.content_base64), c => c.charCodeAt(0)); const href = URL.createObjectURL(new Blob([bytes])); const a = Object.assign(document.createElement('a'), { href, download: value.name ?? file.name }); a.click(); setTimeout(() => URL.revokeObjectURL(href), 10000) })))), + h('details', {}, h('summary', {}, t('Cards')), (app.cards ?? []).map(c => h(CardPanel, { key: c.id, card: c, action }))), + button('Delete connection', () => void run(async () => { await actions.feishu({ operation: 'delete', appId: selected }); select('') }), busy)) : null), + !app ? h('details', { className: 'bt-feishu-webhook' }, h('summary', {}, t('Custom bot webhook')), field('Webhook URL', webhook, setWebhook, 'password'), button('Connect', () => void run(() => actions.connectorConnect('feishu', { mode: 'webhook', credentials: { webhook } })), busy || !webhook)) : null, + error ? h('p', { className: 'bt-feishu-error', role: 'alert' }, error) : null) +} + +function CardPanel({ card, action }) { + const [fields, setFields] = useState({}) + return h('article', {}, h('strong', {}, card.card.title ?? 'FlyBot'), (card.card.blocks ?? []).map((b, i) => b.type === 'input' ? field(b.label ?? b.name, fields[b.name] ?? '', value => setFields({ ...fields, [b.name]: value })) : h('pre', { key: i }, b.text ?? JSON.stringify(b))), + (card.card.actions ?? []).map(a => button(a.label ?? a.id, () => action({ operation: 'card-action', cardId: card.id, action: a.id, fields }), card.closed))) +} diff --git a/core/src/client/i18n.js b/core/src/client/i18n.js index 73fb06706..0106dd5ff 100644 --- a/core/src/client/i18n.js +++ b/core/src/client/i18n.js @@ -2,9 +2,12 @@ // Copy is looked up at render time and every slot outlet re-renders on a language // switch, so nothing caches a translated string. +import { FEISHU_ZH } from './feishu-copy.js' + export const NAMESPACE = 'ds-bot' const ZH = { + ...FEISHU_ZH, // Workflows settings (#1364). The page lists factory pipelines and your own graphs. Workflows: '工作流', @@ -1533,6 +1536,15 @@ export function installLocale(locale) { } } +// Standalone workbench islands use the same copy without a Harness locale service. +export function installBrowserLocale(tag) { + const active = typeof tag === 'string' ? tag : 'en' + return installLocale({ + getLocale: () => ({ active }), register: () => () => {}, + bind: () => (key, params) => fill(active.startsWith('zh') ? ZH[key] ?? key : key, params), + }) +} + export function t(key, params) { return bound ? bound(key, params) : fill(key, params) } diff --git a/core/src/client/index.js b/core/src/client/index.js index 8f48d3b1c..e2d426280 100644 --- a/core/src/client/index.js +++ b/core/src/client/index.js @@ -82,7 +82,7 @@ export function apply(ctx) { try { friendLines = JSON.parse(localStorage.getItem(STORAGE.friendLines) ?? 'null') } catch { friendLines = null } // `details` is the panel's subject (a Session id); `view` picks details or the // subject Bot's browser inside it. - const ui = createSource({ details: null, view: 'details', renaming: false, tab: null, newChat: null, exchange: null, menu: null, voice: null, palette: null, quote: null, settings: null, remoteBotSettings: null, memory: null, toast: null, signIn: null, renameAgent: null, unread: savedUnread, reactions: savedReactions, visits: {} }) + const ui = createSource({ details: null, view: 'details', renaming: false, tab: null, newChat: null, exchange: null, menu: null, voice: null, palette: null, quote: null, settings: new URLSearchParams((window.location?.search ?? '')).has('feishu-app') ? { page: 'connectors', id: null } : null, remoteBotSettings: null, memory: null, toast: null, signIn: null, renameAgent: null, unread: savedUnread, reactions: savedReactions, visits: {} }) // Bot mode paints the whole team surface; Agent mode withdraws every slot and // style so the shell's own interface returns. `plain` stays false until a Bot-mode // view hosts a plain session, which drops only the conversation replacements. @@ -616,6 +616,7 @@ export function apply(ctx) { connectorDisconnect: id => after(call('connector-disconnect', { id })), connectorRetry: id => after(call('connector-retry', { id })), connectorSend: (id, text) => after(call('connector-send', { id, text })), + feishu: payload => call('feishu', payload), saveCapability: capability => after(call('capability-save', capability)), deleteCapability: name => after(call('capability-delete', { name })), approveCapability: name => after(call('capability-approve', { name })), diff --git a/core/src/client/member-status.js b/core/src/client/member-status.js index 3cf4757aa..02d73e166 100644 --- a/core/src/client/member-status.js +++ b/core/src/client/member-status.js @@ -175,7 +175,7 @@ const since = (now, at) => (typeof at === 'number' && now - at >= 60000 ? ` · $ // "Always allow" is the owner's standing grant (#540): only on their own Bot's card, // and the group option only when the request comes from a group. -export const alwaysChoices = (approval, bot) => (bot?.remote ? [] : [ +export const alwaysChoices = (approval, bot) => (bot?.remote || approval.tool === 'feishu_tool' ? [] : [ ['always-bot', 'Always allow for this Bot'], ...(approval.roomId ? [['always-room', 'Always allow for this group']] : []), ]) diff --git a/core/src/client/styles.js b/core/src/client/styles.js index 01465aa25..36bcbf85e 100644 --- a/core/src/client/styles.js +++ b/core/src/client/styles.js @@ -586,6 +586,62 @@ button.bt-set-row:hover{background:var(--bt-hover)} .bt-connector[data-state=error] .bt-connector-status{color:#e02135;white-space:normal} .bt-connector-actions{flex:none;display:flex;gap:6px} .bt-connector-form{display:flex;flex-direction:column;gap:8px;padding-left:48px;animation:bt-q-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},bt-veil-in .2s ease-out} +.bt-feishu-setup{container-type:inline-size;min-width:0;width:100%;max-width:960px;box-sizing:border-box;padding:20px;border:1px solid var(--bt-line);border-radius:14px;background:var(--bt-card);color:var(--bt-ink);font:13px/1.6 ui-sans-serif,system-ui,sans-serif;overflow-wrap:anywhere;animation:bt-veil-in .16s ease-out} +.bt-feishu-setup *{box-sizing:border-box} +.bt-feishu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--bt-line)} +.bt-feishu-header h3{padding:0;margin:0 0 4px;font-size:17px;line-height:24px;font-weight:650;letter-spacing:-.02em} +.bt-feishu-header>.bt-input{width:220px;max-width:45%;flex:none} +.bt-feishu-setup .bt-set-hint{margin:0;font-size:12px;line-height:1.7;color:var(--bt-ink-2)} +.bt-feishu-body{display:flex;flex-direction:column;gap:22px;padding-top:18px} +.bt-feishu-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px} +.bt-feishu-modes button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:11px 14px;border:1px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color .12s,border-color .12s} +.bt-feishu-modes button:hover{background:var(--bt-hover)} +.bt-feishu-modes button[aria-pressed=true]{border-color:var(--bt-accent);background:color-mix(in srgb,var(--bt-accent) 6%,var(--bt-card));box-shadow:0 0 0 1px var(--bt-accent)} +.bt-feishu-modes strong{font-size:13px;font-weight:600}.bt-feishu-modes small{color:var(--bt-ink-2);font-size:11px} +.bt-feishu-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:start} +.bt-feishu-progress{min-width:0}.bt-feishu-progress ol{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0} +.bt-feishu-progress li{min-width:0}.bt-feishu-progress button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-2);font:inherit;font-size:12px;line-height:19px;text-align:left;cursor:pointer} +.bt-feishu-progress button:hover:not(:disabled){background:var(--bt-hover)} +.bt-feishu-progress button[aria-current=step]{background:color-mix(in srgb,var(--bt-accent) 7%,var(--bt-card));color:var(--bt-accent);font-weight:600} +.bt-feishu-progress button:disabled{opacity:.48;cursor:default} +.bt-feishu-step-number{display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border:1px solid var(--bt-line-2);border-radius:50%;font-size:11px;font-variant-numeric:tabular-nums} +.bt-feishu-progress [aria-current=step] .bt-feishu-step-number{background:var(--bt-accent);border-color:var(--bt-accent);color:white} +.bt-feishu-progress [data-done=true] .bt-feishu-step-number{border-color:transparent;background:var(--bt-hover);color:var(--bt-ink-2)} +.bt-feishu-step{min-width:0}.bt-feishu-step-heading{margin-bottom:16px}.bt-feishu-eyebrow{display:block;margin-bottom:4px;color:var(--bt-ink-2);font-size:11px} +.bt-feishu-step h4{margin:0;font-size:16px;line-height:24px;font-weight:650;letter-spacing:-.02em} +.bt-feishu-step-content>div{display:flex;flex-direction:column;align-items:stretch;gap:14px} +.bt-feishu-external{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;align-self:flex-start;border:1px solid var(--bt-line-2);border-radius:8px;padding:7px 11px;color:var(--bt-ink);font-size:12px;font-weight:500;text-decoration:none} +.bt-feishu-external:hover{background:var(--bt-hover)}.bt-feishu-external span{color:var(--bt-ink-2)} +.bt-feishu-permissions{display:flex;flex-direction:column;gap:10px;padding-top:5px}.bt-feishu-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.bt-feishu-section-head strong{font-size:13px;font-weight:600} +.bt-feishu-optional{color:var(--bt-ink-2);font-size:11px}.bt-feishu-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px} +.bt-feishu-permission{display:flex;align-items:center;gap:9px;min-width:0;min-height:42px;margin:0;padding:9px 11px;border:1px solid var(--bt-line);border-radius:9px;background:var(--bt-card);font-size:12px;line-height:20px;cursor:pointer;transition:background-color .12s,border-color .12s} +.bt-feishu-permission:hover{border-color:var(--bt-line-2);background:var(--bt-hover)} +.bt-feishu-permission[data-checked=true]{border-color:color-mix(in srgb,var(--bt-accent) 55%,var(--bt-line));background:color-mix(in srgb,var(--bt-accent) 5%,var(--bt-card))} +.bt-feishu-setup input[type=checkbox]{appearance:auto;flex:none;width:15px;height:15px;min-height:0;margin:0;padding:0;border-radius:4px;accent-color:var(--bt-accent);cursor:pointer} +.bt-feishu-permission-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px} +.bt-feishu-setup .bt-feishu-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:6px;flex:none;width:auto;min-height:34px;height:auto;margin:0;padding:6px 12px;border:1px solid var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:12px;font-weight:500;cursor:pointer;box-shadow:none} +.bt-feishu-setup .bt-feishu-button:hover:not(:disabled){background:var(--bt-hover)}.bt-feishu-setup .bt-feishu-button:disabled{opacity:.4;cursor:default} +.bt-feishu-setup .bt-feishu-primary{background:var(--bt-accent);border-color:var(--bt-accent);color:#fff;padding-inline:18px} +.bt-feishu-setup .bt-feishu-primary:hover:not(:disabled){background:color-mix(in srgb,var(--bt-accent) 88%,#000)} +.bt-feishu-setup .bt-feishu-quiet{border-color:transparent;background:transparent;color:var(--bt-ink-2)} +.bt-feishu-setup :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--bt-accent);outline-offset:3px} +.bt-feishu-setup details{min-width:0}.bt-feishu-setup summary{cursor:pointer;font-size:12px;font-weight:500;line-height:20px;padding:8px 0;color:var(--bt-ink-2)} +.bt-feishu-json{border:0}.bt-feishu-setup .bt-feishu-json summary{padding:2px 0;color:var(--bt-accent);font-weight:400} +.bt-feishu-setup .bt-feishu-json textarea{width:100%;height:180px;min-height:120px;max-height:320px;margin-top:10px;padding:12px;border:1px solid var(--bt-line);border-radius:8px;background:var(--bt-sidebar);color:var(--bt-ink-2);font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical;white-space:pre;overflow:auto;overflow-wrap:normal} +.bt-feishu-field,.bt-feishu-setup .bt-q-field{display:flex;flex-direction:column;flex:initial;gap:6px;min-width:0;min-height:0;margin:0;padding:0;border:0;cursor:default;color:var(--bt-ink-2);font-size:12px} +.bt-feishu-setup .bt-input{min-width:0;height:38px;padding:0 11px;font-size:13px;border-color:var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink)} +.bt-feishu-field+.bt-feishu-field{margin-top:2px}.bt-feishu-setup .bt-input:disabled{opacity:.65;background:var(--bt-sidebar)} +.bt-feishu-check{display:flex;align-items:flex-start;gap:9px;font-size:12px}.bt-feishu-check input{margin-top:3px!important} +.bt-feishu-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--bt-line)} +.bt-feishu-footer>div{display:flex;align-items:center;gap:6px}.bt-feishu-result,.bt-feishu-error{margin:14px 0 0;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.6;background:var(--bt-sidebar);color:var(--bt-ink-2)} +.bt-feishu-result[data-success=true]{color:var(--bt-ink);border:1px solid var(--bt-line)}.bt-feishu-error{color:#d33e4e;background:color-mix(in srgb,#e5484d 7%,var(--bt-card))} +.bt-feishu-management{border-top:1px solid var(--bt-line);padding-top:8px}.bt-feishu-management>details+details{border-top:1px solid var(--bt-line)} +.bt-feishu-management>details>summary{padding:12px 0;color:var(--bt-ink)}.bt-feishu-management>details[open]{display:flex;flex-direction:column;gap:10px;padding-bottom:14px} +.bt-feishu-management>details>fieldset{min-width:0;margin:4px 0;padding:12px;border:1px solid var(--bt-line);border-radius:10px}.bt-feishu-management legend{font-size:12px;font-weight:600;padding-inline:4px} +.bt-feishu-management fieldset>.bt-q-field+.bt-q-field{margin-top:10px}.bt-feishu-setup code,.bt-feishu-setup pre{white-space:pre-wrap;overflow-wrap:anywhere}.bt-feishu-setup ul{padding-left:18px;margin:4px 0} +.bt-feishu-webhook{margin-top:18px;padding-top:10px;border-top:1px solid var(--bt-line)}.bt-feishu-webhook[open]{display:flex;flex-direction:column;gap:12px}.bt-feishu-webhook>summary{color:var(--bt-ink-2)} +@container (max-width:640px){.bt-feishu-layout{display:flex;flex-direction:column;gap:18px}.bt-feishu-progress{width:100%}.bt-feishu-progress ol{flex-direction:row;gap:5px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.bt-feishu-progress li{flex:1}.bt-feishu-progress button{justify-content:center;padding:5px;gap:7px}.bt-feishu-step-label{display:none}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{display:block;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-feishu-progress li:has([aria-current=step]){flex:4}.bt-feishu-step{width:100%}.bt-feishu-header{flex-direction:column;gap:10px}.bt-feishu-header>.bt-input{max-width:100%;width:100%}} +@container (max-width:340px){.bt-feishu-modes{gap:8px}.bt-feishu-modes button{padding:9px 10px}.bt-feishu-modes small{font-size:10px}.bt-feishu-permission{padding:8px}.bt-feishu-footer>div{gap:2px}.bt-feishu-footer .bt-feishu-button{padding-inline:9px}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{max-width:90px}} .bt-connector-form-row{display:flex;align-items:center;gap:6px} .bt-connector-apps{display:flex;flex-direction:column;gap:8px} .bt-connector-link{flex:1;font-size:12px;color:var(--bt-ink-2)} diff --git a/core/src/client/workbench/app.js b/core/src/client/workbench/app.js index d56b15810..3e3448986 100644 --- a/core/src/client/workbench/app.js +++ b/core/src/client/workbench/app.js @@ -15,6 +15,7 @@ export function mountWorkbench(root, api, { pollMs = 4000 } = {}) { else await conversationSource.open(binding) return conversationSource.getSnapshot() } + const feishuActions = { feishu: payload => api.call('feishu', payload), connectorConnect: (_id, body) => api.call('feishu', { operation: 'webhook', ...body.credentials }) } const drafts = new Map(), expanded = new Map() let runtimeTerminal, terminalTimer, terminalPolling = false, rooms, roomView, pools async function closeTerminal() { @@ -83,6 +84,7 @@ export function mountWorkbench(root, api, { pollMs = 4000 } = {}) { ++epoch; controller?.abort(); loading = null; clearConversation() const revoke = api.call('auth-revoke') api.setToken(''); void closeTerminal() + if (win.location.hash === '#/connections' || new URLSearchParams(win.location.search).has('feishu-app') && !win.location.hash) { selected = ''; tab = 'connections'; taskId = '' } personal = personalMemory = null; drafts.clear(); notice = ''; error = '' bootstrap = null; selected = ''; busy = false detail = resources = agents = members = history = taskDetail = workflowState = rooms = roomView = pools = null @@ -118,6 +120,11 @@ export function mountWorkbench(root, api, { pollMs = 4000 } = {}) { const state = await api.call('workbench-state', {}, controller.signal) if (current !== epoch || disposed) return bootstrap = state + if (section === 'connections') { + personal = await api.call('personal-space', { operation: 'list' }, controller.signal) + if (current !== epoch || disposed) return + render(); return + } if (section === 'personal') { const roster = await api.call('personal-space', { operation: 'list' }, controller.signal) if (current !== epoch || disposed) return @@ -473,11 +480,16 @@ export function mountWorkbench(root, api, { pollMs = 4000 } = {}) { for (const room of rooms?.rooms ?? []) roomNav.append(button(room.name, () => route(selected, 'rooms', room.id))) sidebar.append(roomNav) } + sidebar.append(button('Connections', () => { win.location.hash = '/connections' })) sidebar.append(button('All Projects', () => { win.location.hash = '' }), button('Sign out', () => { void signOut() })) - if (tab === 'personal') { + if (tab === 'connections') { + main.append(el('h1', 'Connections')) + const node = el('div', null, 'native-feishu-setup'); main.append(node) + nativeIslands.register(node, nativeKey('feishu'), conversationSource, (target, options) => win.FlyBotNativeConversation.mountNativeFeishu(target, options), { actions: feishuActions, roster: { ...personal, self: bootstrap.self }, onClose: () => { win.location.hash = '/personal' } }) + } else if (tab === 'personal') { const chatList = el('div', null, 'native-personal-list'); sidebar.append(chatList); mountPersonalList(chatList) main.append(el('h1', 'Personal space'), el('p', 'Your original Chief, Bots and internal group conversations. Project agents remain separate.')) - for (const bot of personal?.bots ?? []) { + for (const bot of (personal?.bots ?? []).filter(bot => !bot.remote)) { const card = box(`${personal.mainBotIds.includes(bot.id) ? 'Chief · ' : ''}${bot.name}`, button('Open conversation', () => { win.location.hash = `/personal/${encodeURIComponent(bot.id)}` })) const persona = el('details'); persona.dataset.personaId = bot.id; persona.append(el('summary', 'Persona'), el('p', bot.instructions ?? 'No persona')); card.append(persona); card.append(button('Own long-term memory', () => act(async () => { const captured = epoch; const memory = await api.call('personal-space', { operation: 'memory', id: bot.id }); if (captured === epoch && !disposed) personalMemory = { botId: bot.id, ...memory } }))); main.append(card) } diff --git a/core/src/client/workbench/native-conversation.js b/core/src/client/workbench/native-conversation.js index cefc50719..9a5aa66e5 100644 --- a/core/src/client/workbench/native-conversation.js +++ b/core/src/client/workbench/native-conversation.js @@ -1,3 +1,5 @@ +import { FeishuSetup } from '../feishu-setup.js' +import { installBrowserLocale } from '../i18n.js' import { fileSize } from '../flybot-slots.js' import { PendingQuestion } from '../questions.js' import { ApprovalCard, MemberWork, MEMBER_CSS } from '../member-status.js' @@ -19,7 +21,8 @@ function Conversation({ source, roster, openBot, onQuote }) { const ui = { reactions: {} } const reply = (row, key, streaming = false) => { const bot = roster.bots.find(bot => bot.id === row.botId || bot.role === row.speaker) - return h('article', { key, 'data-native-message': row.kind ?? 'assistant' }, + return h('article', { key, 'data-native-message': row.kind ?? 'assistant', ...(row.feishu?.messageId ? { id: `feishu-message-${row.feishu.messageId}` } : {}) }, + row.feishu?.rootId ? h('button', { type: 'button', onClick: () => document.getElementById(`feishu-message-${row.feishu.rootId}`)?.scrollIntoView?.({ block: 'center' }) }, '↪ Reply in thread') : null, h('header', null, bot ? h(BotMark, { bot, size: 28 }) : h(PersonMark, { name: row.speaker }), row.speaker ?? (row.kind === 'human' ? 'You' : 'Bot')), row.kind === 'human' ? h(PersonMessage, { name: row.speaker ?? 'You', texts: [String(row.text ?? '')], roster, selfId: bot?.id, useUi: select => select(ui), actions: { quote: (_id, text) => onQuote?.(text), openSession: id => { if (roster.byId[id]) openBot?.(id) } } }) @@ -124,3 +127,11 @@ function ScopedAttachments({ files, read }) { typeof value?.text === 'string' ? h('pre', null, value.text) : null) }), failure ? h('p', { role: 'alert' }, failure) : null) } + +export function mountNativeFeishu(node, options) { + const off = installBrowserLocale(options.language ?? navigator.language) + const unmount = mountRoot(node, options, props => h(FeishuSetup, props)) + const dispose = () => { unmount(); off() } + dispose.update = unmount.update + return dispose +} diff --git a/core/src/client/workbench/native-source.js b/core/src/client/workbench/native-source.js index 103ec649d..c82a393f8 100644 --- a/core/src/client/workbench/native-source.js +++ b/core/src/client/workbench/native-source.js @@ -55,7 +55,8 @@ export function createScopedConversation(api) { async readAttachment(file) { if (disposed || !selected || captured !== generation) throw new Error('Conversation handle is retired') let value - if (selected.personalId) value = await api.call('personal-space', { operation: 'attachment-read', id: selected.personalId, ...(selected.personalPart ? { partId: selected.personalPart } : {}), seq: file.seq, attachmentId: file.id }) + if (selected.personalId && file.feishuAppId) { const result = await api.call('feishu', { operation: 'attachment', appId: file.feishuAppId, attachmentId: file.id }); value = { ...file, data: result.content_base64 } } + else if (selected.personalId) value = await api.call('personal-space', { operation: 'attachment-read', id: selected.personalId, ...(selected.personalPart ? { partId: selected.personalPart } : {}), seq: file.seq, attachmentId: file.id }) else if (selected.roomId) value = await api.call('project-room-attachment', { projectId: selected.projectId, roomId: selected.roomId, attachmentId: file.id }) else throw new Error('Attachment is unavailable in this conversation') if (disposed || captured !== generation) throw new Error('Conversation handle is retired') diff --git a/core/src/host/approvals.js b/core/src/host/approvals.js index 3423426fd..fd60ec760 100644 --- a/core/src/host/approvals.js +++ b/core/src/host/approvals.js @@ -64,7 +64,7 @@ export function install(rt) { } const step = ephemeralToolVerdict(bot, String(request.toolName ?? ''), request.reason) if (step !== undefined) return step - if (standingCovers(sessionId, botId, owner?.roomId, approvalKind(String(request.toolName ?? ''), request.reason))) return 'allowed-once' + if (request.toolName !== 'feishu_tool' && standingCovers(sessionId, botId, owner?.roomId, approvalKind(String(request.toolName ?? ''), request.reason))) return 'allowed-once' const id = randomUUID() const entry = { id, @@ -130,6 +130,7 @@ export function install(rt) { async function grantStanding(entry, scope) { await rt.load() + if (entry.tool === 'feishu_tool') throw Object.assign(new Error('Change the per-app Feishu grant to allow writes without asking'), { code: 'bot/forbidden' }) const bot = rt.botOf(entry.botId) const target = scope === 'room' ? rt.roomOf(entry.roomId) : bot if (bot === undefined || bot.remote !== undefined) throw Object.assign(new Error('Only your own Bot can be given a standing approval'), { code: 'bot/forbidden' }) @@ -143,7 +144,7 @@ export function install(rt) { } // Other cards the new grant already covers stop waiting too. for (const other of pending.values()) { - if (other.id !== entry.id && other.answer !== undefined && standingCovers(other.sessionId, other.botId, other.roomId, approvalKindOf(other))) other.answer('allowed-once') + if (other.tool !== 'feishu_tool' && other.id !== entry.id && other.answer !== undefined && standingCovers(other.sessionId, other.botId, other.roomId, approvalKindOf(other))) other.answer('allowed-once') } } const approvalKindOf = entry => approvalKind(entry.tool, entry.reason) diff --git a/core/src/host/authz.js b/core/src/host/authz.js index 7baaad2f6..770b1438b 100644 --- a/core/src/host/authz.js +++ b/core/src/host/authz.js @@ -207,6 +207,7 @@ export function install(rt) { questions: Object.fromEntries(Object.entries(bySession(full.questions)).filter(([id, question]) => questionFor(actor, id, question))), exchangeTurns: bySession(full.exchangeTurns), remoteTypedTurns: bySession(full.remoteTypedTurns), + feishuTurns: bySession(full.feishuTurns), remoteAwaiting: bySession(full.remoteAwaiting), agents: alone() ? full.agents : [], secrets: alone() ? full.secrets : [], @@ -240,6 +241,7 @@ export function install(rt) { if (!rt.authzEnforced()) return ALLOW const ep = String(endpoint ?? '') + if (ep === 'feishu') return actor ? ALLOW : deny('bot/unauthorized', 'Sign in first') if (ep === 'platform-login') return rt.platformIdentityEnabled ? ALLOW : deny('bot/forbidden', 'Platform identity is not configured') if (['project-development', 'project-rooms', 'project-room-create', 'project-room-read', 'project-room-message', 'project-room-attachment', 'project-room-stop', 'project-agent-stop', 'workbench-state', 'project-resources', 'project-resource-environment-check', 'project-execution-input', 'project-runtime-check', 'project-terminal-open', 'project-terminal-poll', 'project-terminal-input', 'project-terminal-resize', 'project-terminal-close', 'project-queue-cancel', 'project-queue-retry', 'project-task-pools', 'project-github-read', 'project-consultation-reply', 'project-consultation-ask', 'project-consultation-get', 'project-consultation-list', 'project-handoff-get', 'project-handoff-list', 'project-chief-question', 'project-agent-mode', 'project-scheduled-task', 'project-chief-configure', 'project-chief-state', 'project-chief-inspect', 'project-attempt-stop', 'project-credential-status', 'project-github-comment', 'project-agents', 'project-agent-message', 'project-agent-history', 'project-agent-memory-write', 'project-role-memory-write', 'project-agent-definition', 'project-roles', 'project-role-proposals', 'project-role-decision', 'project-agent-proposal-apply', 'project-knowledge-write', 'project-task-run', 'project-task-detail', 'project-task-accept', 'project-task-reject', 'project-release-request', 'project-release-reconcile', 'project-release-status', 'project-attempt-log', 'project-attempt-cleanup', 'project-attempt-publication-retry', 'project-members', 'project-invite', 'project-join', 'project-leave', 'project-member-remove', 'project-quota', 'project-workflow'].includes(ep) && !rt.sharedProjectMode?.()) return deny('bot/forbidden', 'Project workbench is not enabled') if (rt.platformIdentityEnabled && ['auth-invite', 'auth-redeem', 'auth-remove-member'].includes(ep)) return deny('bot/platform-auth', 'Use control-plane account authentication') diff --git a/core/src/host/channel.js b/core/src/host/channel.js index 2b16fe233..6dc226379 100644 --- a/core/src/host/channel.js +++ b/core/src/host/channel.js @@ -179,6 +179,7 @@ export function install(rt) { exchangeTurns: state.exchangeTurns, // Per Session: turn → the person's name, for friends' lines Bot Social attests they typed themselves. remoteTypedTurns: state.remoteTypedTurns ?? {}, + feishuTurns: state.feishuTurns ?? {}, // Per friend chat: when my message left, while its reply has not come back (#443). remoteAwaiting: state.remoteAwaiting ?? {}, questions: state.questions, @@ -308,6 +309,8 @@ export function install(rt) { const gate = rt.authorize(actor, endpoint, body) if (!gate.ok) return fail(gate.message, gate.code) switch (endpoint) { + case 'feishu': + return ok(await rt.feishu.endpoint(body, actor)) case 'auth-mode': case 'workbench-state': case 'project-resources': @@ -433,7 +436,11 @@ export function install(rt) { const hidden = new Set(state.exchangeTurns[sessionId] ?? []) const messages = page.records.flatMap(({ event }) => { if (hidden.has(event.data?.turn)) return [] - const attachments = personalMessageAttachments(event) + const source = event.data?.source + const feishu = source?.form === 'remote-chat' ? source.feishu : undefined + const attachments = personalMessageAttachments(event).map(file => feishu ? { ...file, feishuAppId: feishu.appId } : file) + if (feishu) return [{ attachments, seq: event.seq, id: `${sessionId}:${event.seq}`, botId: null, kind: source.typedBy ? 'human' : 'assistant', speaker: source.typedBy ?? source.senderName, text: source.text, feishu }] + if (event.type === 'assistant/message' && state.feishuTurns?.[sessionId]?.[event.data?.turn]) return [] const entry = rt.historyEntry(event, Boolean(rt.roomOf(sessionId))) ?? (event.type === 'assistant/message' && attachments.length ? { answer: true, text: '' } : undefined) return entry && (entry.text || attachments.length) ? [{ attachments, seq: event.seq, id: `${sessionId}:${event.seq}`, botId: entry.answer ? rt.botOf(sessionId)?.id : null, kind: entry.answer ? 'assistant' : 'human', speaker: entry.answer ? rt.botOf(sessionId)?.name ?? 'Bot' : currentActor.displayName ?? 'You', text: entry.text }] : [] }) @@ -648,7 +655,7 @@ export function install(rt) { case 'connector-retry': case 'connector-send': await rt.load() - return ok(await rt.connectorEndpoint(endpoint, body)) + return ok(await rt.connectorEndpoint(endpoint, body, actor)) case 'capability-save': case 'capability-delete': case 'capability-approve': diff --git a/core/src/host/connectors.js b/core/src/host/connectors.js index 634d50914..33f756601 100644 --- a/core/src/host/connectors.js +++ b/core/src/host/connectors.js @@ -564,7 +564,7 @@ export function install(rt) { if (typeof seam?.onSend !== 'function') return if (feishuWire.seam === seam) return feishuWire.off?.() - feishuWire = { seam, off: seam.onSend(FEISHU, feishuReply({ secretValue: name => rt.secretValue(name), appOf })) } + feishuWire = { seam, off: seam.onSend(FEISHU, message => rt.feishu ? rt.feishu.reply(message) : feishuReply({ secretValue: name => rt.secretValue(name), appOf })(message)) } } const feishuInbound = createInbound({ @@ -639,6 +639,11 @@ export function install(rt) { async function reconcileChannel(c, force, token) { const { def } = c const record = saved(c) ?? {} + if (record.managed === true) { + await feishuInbound.stop() + c.status = { state: 'ready' } + return + } const mode = record.mode === 'app' ? 'app' : record.mode === 'webhook' ? 'webhook' : undefined const app = mode === 'app' ? appOf() : undefined const key = mode === 'app' ? `app\n${app?.appId ?? ''}\n${app?.appSecret ?? ''}` : mode === 'webhook' ? `webhook\n${token ?? ''}` : undefined @@ -770,6 +775,7 @@ export function install(rt) { // here carries a secret: the App ID is not one, and the webhook never comes back. ...(c.def.id === FEISHU ? { mode: saved(c)?.mode ?? null, + ...(saved(c)?.managed === true ? { managed: true } : {}), modes: c.def.modes, allowed: (saved(c)?.allowed ?? []).map(entry => ({ openId: entry.openId, name: entry.name ?? entry.openId })), inbound: { ...feishuInbound.view(), app: appOf() === undefined ? 'missing' : 'set' }, @@ -815,7 +821,7 @@ export function install(rt) { c.saving += 1 try { await rt.secretEndpoint('secret-set', { name: FEISHU_SECRET, value: webhook, purpose: c.def.purpose }) - state.connectors = { ...state.connectors, [FEISHU]: { ...previous, mode: 'webhook', connectedAt: Date.now() } } + state.connectors = { ...state.connectors, [FEISHU]: { ...previous, mode: 'webhook', managed: false, connectedAt: Date.now() } } await rt.save() } finally { c.saving -= 1 @@ -955,10 +961,11 @@ export function install(rt) { async 'connector-block'(body) { return allowedOp(body, false) }, - async 'connector-disconnect'(body) { + async 'connector-disconnect'(body, actor) { const c = known(body.id) await rt.loadSecrets() if (c.def.kind === 'channel') { + for (const app of Object.values(state.feishu?.apps ?? {})) await rt.feishu?.endpoint({ operation: 'delete', appId: app.id }, actor) // Disconnect closes both (#1266): the socket goes down, the webhook and the app secret are // deleted (each only if it is there — deleting a key that is not saved is an error), and the // record goes with them, so the row is `off` and no turn can start. @@ -1019,7 +1026,7 @@ export function install(rt) { }, } - const connectorEndpoint = (endpoint, body) => endpoints[endpoint](body ?? {}) + const connectorEndpoint = (endpoint, body, actor) => endpoints[endpoint](body ?? {}, actor) // An older version kept the session's address in state.json. Only the id stays; the address is // asked for again at mount time (composioSessionFind). @@ -1048,5 +1055,5 @@ export function install(rt) { } }, 'ds-bot: connectors') - Object.assign(rt, { connectorsView, connectorEndpoint, secretsChanged: () => { void syncAll() } }) + Object.assign(rt, { replyLegacyFeishu: feishuReply({ secretValue: name => rt.secretValue(name), appOf }), stopLegacyFeishu: () => feishuInbound.stop(), connectorsView, connectorEndpoint, secretsChanged: () => { void syncAll() } }) } diff --git a/core/src/host/constants.js b/core/src/host/constants.js index d6ef5d367..ed0c7971f 100644 --- a/core/src/host/constants.js +++ b/core/src/host/constants.js @@ -57,7 +57,7 @@ export const TEAM_TOOLS = [ 'list_bots', 'message_bot', 'stop_bot', 'create_bot', 'update_bot', 'archive_bot', 'list_models', 'bot_schedules', 'project_state', 'project_digest', 'meeting', 'create_group', 'update_group', 'delete_group', 'post_to_group', 'ask_user', 'track_tasks', - 'request_secret', 'list_secrets', 'group_relay', 'read_own_chat', + 'request_secret', 'list_secrets', 'feishu_apps', 'feishu_tool', 'feishu_card', 'feishu_file', 'group_relay', 'read_own_chat', 'read_group_chat', 'remember', 'forget', 'recall', 'read_browser', 'list_capabilities', 'save_capability', 'delete_capability', 'attach_capability', 'detach_capability', diff --git a/core/src/host/delivery.js b/core/src/host/delivery.js index 7df2f934f..4d9472abd 100644 --- a/core/src/host/delivery.js +++ b/core/src/host/delivery.js @@ -166,7 +166,7 @@ export function install(rt) { // group turn (groups.js). `fromRoomId`: the group whose Session the sender wrote // from; the reply goes back to that Session (turns.js). `answeredIn`: the group where the user // answered the Bot's question card about work handed over from there (tools.js, #550). - async function deliver({ fromId, toId, sessionId, text, role, hop = 0, replyTo, roomId, audience, note, exchangeId = randomUUID(), steer = false, deferred = false, resumed = false, retried = false, rateLimited = false, resent = false, askedBy, fromRoomId, answeredIn, fromName: givenName, untrusted = false, remote, attachments, origin: givenOrigin, taskDrive = false, projectDelegation }) { + async function deliver({ fromId, toId, sessionId, text, role, hop = 0, replyTo, roomId, audience, note, exchangeId = randomUUID(), steer = false, deferred = false, resumed = false, retried = false, rateLimited = false, resent = false, askedBy, fromRoomId, answeredIn, fromName: givenName, untrusted = false, remote, attachments, origin: givenOrigin, taskDrive = false, projectDelegation, feishu, requesterMemberId }) { const from = rt.botOf(fromId) const to = rt.botOf(toId) if (to === undefined) throw new Error(`Unknown Bot ${toId}`) @@ -193,6 +193,8 @@ export function install(rt) { hop, // Whose request this is, for the connector tools (turn-origin.js): read by the receiving turn. origin, + ...(feishu ? { feishu } : {}), + ...(requesterMemberId ? { requesterMemberId } : {}), ...(fromId ? { senderSessionId: fromId } : {}), ...(replyTo ? { replyTo } : {}), ...(roomId ? { roomId } : {}), @@ -210,7 +212,7 @@ export function install(rt) { // `firstContact`: this sender's first line in the Bot's own chat; the chat names who is talking (#420). ...(remote?.handle ? { remote: { handle: String(remote.handle), ...(remote.home ? { home: String(remote.home) } : {}), ...(remote.typedBy ? { typedBy: cleanName(remote.typedBy) } : {}), ...(firstContact ? { firstContact: true } : {}) } } : {}), // A remote member's files, as references the chat shows as chips (fetched on demand). - ...(remote?.handle && Array.isArray(attachments) && attachments.length ? { attachments: attachments.map(file => ({ id: String(file.id ?? ''), name: String(file.name), size: Number(file.size), mime: String(file.mime ?? '') })) } : {}), + ...((remote?.handle || feishu) && Array.isArray(attachments) && attachments.length ? { attachments: attachments.map(file => ({ id: String(file.attachmentId ?? file.id ?? ''), name: String(file.name), size: Number(file.bytes ?? file.size), mime: String(file.mediaType ?? file.mime ?? '') })) } : {}), } if (EXCHANGE_ROLES.has(role) && !deferred && !resumed && !retried && !rateLimited && !resent) { const exchange = { id: exchangeId, from: fromId, to: toId, text, role, time: Date.now(), ...(replyTo ? { replyTo } : {}), ...(audience === 'user' ? { audience } : {}) } @@ -221,9 +223,10 @@ export function install(rt) { if (projectDelegation && !rt.projectAgents?.isDelegationActive(projectDelegation.agentId, projectDelegation.delegationId)) throw new Error('Project delegation was revoked before delivery') // A steered message cuts into a running turn at its next step; a follow-up // queues for the next turn (see turns.js for how each is routed). + if (feishu && !deferred && !resumed && !retried && !rateLimited && !resent && agent.session?.surface?.nodes?.some(seq => (agent.session.eventAt(seq)?.data?.source ?? agent.session.eventAt(seq)?.data?.message?.source)?.exchangeId === exchangeId)) return exchangeId const body = fromId ? stripSessionChips(text) : text const message = createUserMessage({ - content: [{ type: 'text', text: `${headerFor(role, fromName, room?.name, audience, note, deferred, { resumed, retried, rateLimited, answeredIn })}\n${untrusted ? fenceUntrusted(fromName, body) : body}` }], + content: [{ type: 'text', text: `${headerFor(role, fromName, room?.name, audience, note, deferred, { resumed, retried, rateLimited, answeredIn })}\n${untrusted ? fenceUntrusted(fromName, body) : body}` }, ...(feishu ? (attachments ?? []).map(file => ({ type: file.mediaType ? 'image' : 'file', attachment: file })) : [])], source, }) if (steer) agent.steer(message) diff --git a/core/src/host/feishu-api.js b/core/src/host/feishu-api.js new file mode 100644 index 000000000..3866c9116 --- /dev/null +++ b/core/src/host/feishu-api.js @@ -0,0 +1,32 @@ +const ORIGIN = 'https://open.feishu.cn/open-apis/' +export class FeishuError extends Error { + constructor(code, detail = '') { super(`Feishu refused the request (${code})${detail ? `: ${detail}` : ''}`); this.code = code; this.detail = detail } +} +export function createFeishuApi(credentials, request = fetch, checkApplication = () => {}) { + let cached + async function token() { + if (cached?.until > Date.now()) return cached.value + const creds = await credentials() + if (!creds) throw new Error('Feishu credentials are missing') + const res = await request(`${ORIGIN}auth/v3/tenant_access_token/internal`, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ app_id: creds.appId, app_secret: creds.appSecret }), redirect: 'error', signal: AbortSignal.timeout(15000) }) + const body = await res.json() + if (!res.ok || body.code !== 0 || !body.tenant_access_token) { const error = new FeishuError(body.code ?? res.status); error.stage = 'credentials'; throw error } + cached = { value: body.tenant_access_token, until: Date.now() + Math.max(0, (Number(body.expire ?? 0) - 60) * 1000) } + return cached.value + } + async function call(method, path, { body, query, raw = false, authorize } = {}) { + if (!/^[a-z][a-z0-9_-]*\/v[1-9]\//.test(path) || path.includes('..') || /[?#\\]/.test(path)) throw new Error('Invalid Feishu API path') + const url = new URL(path, ORIGIN) + for (const [k, v] of Object.entries(query ?? {})) if (v !== undefined) url.searchParams.set(k, String(v)) + const access = await token() + checkApplication() + authorize?.() + const form = body instanceof FormData + const res = await request(url.href, { method, redirect: 'error', signal: AbortSignal.timeout(60000), headers: { authorization: `Bearer ${access}`, ...(!form && body !== undefined ? { 'content-type': 'application/json' } : {}) }, ...(body !== undefined ? { body: form ? body : JSON.stringify(body) } : {}) }) + if (raw && res.ok) return res + const data = await res.json().catch(() => ({})) + if (!res.ok || data.code !== 0) throw new FeishuError(data.code ?? res.status, typeof data.msg === 'string' ? data.msg.slice(0, 400) : '') + return data.data ?? data + } + return { call, clear: () => { cached = undefined } } +} diff --git a/core/src/host/feishu-calendar.js b/core/src/host/feishu-calendar.js new file mode 100644 index 000000000..7c8a7240c --- /dev/null +++ b/core/src/host/feishu-calendar.js @@ -0,0 +1,75 @@ +const enc = value => encodeURIComponent(String(value)) +const rank = role => ['free_busy_reader', 'reader', 'writer', 'owner'].indexOf(role) + +async function pages(api, path, query, key) { + const result = []; let token + do { + const response = await api.call('GET', path, { query: { ...query, ...(token ? { page_token: token } : {}) } }) + result.push(...(response[key] ?? [])) + token = response.has_more ? response.page_token : undefined + } while (token) + return result +} + +export function createFeishuCalendars(service) { + const inFlight = new Set() + const shares = () => service.data().calendarShares ??= {} + const scopedApi = (appId, authorize) => ({ call: (method, path, options) => service.api(appId).call(method, path, { ...options, authorize }) }) + async function synchronize(record, authorize = () => service.authorizeTool(record.botId, record.appId, 'calendar', true)) { + const key = `${record.appId}:${record.calendarId}:${record.chatId}` + if (inFlight.has(key)) return { pending: true } + inFlight.add(key) + try { + const api = scopedApi(record.appId, authorize), root = `calendar/v4/calendars/${enc(record.calendarId)}` + const users = await pages(api, `im/v1/chats/${enc(record.chatId)}/members`, { member_id_type: 'open_id', page_size: 100 }, 'items') + const existing = await pages(api, `${root}/acls`, { user_id_type: 'open_id', page_size: 50 }, 'acls') + const failed = [] + for (const person of users) { + const id = person.member_id + if (!id || existing.some(a => a.scope?.user_id === id && rank(a.role) >= rank(record.role))) continue + try { + const created = await api.call('POST', `${root}/acls`, { query: { user_id_type: 'open_id' }, body: { role: record.role, scope: { type: 'user', user_id: id } } }) + await service.commit(() => { const current = shares()[key]; if (current) { current.added ??= {}; current.added[id] = { aclId: created.acl_id, role: record.role } } }) + } catch (error) { failed.push(id); await service.diagnose(record.appId, 'calendar-share', error) } + } + await service.commit(() => { if (shares()[key]) shares()[key].syncedAt = Date.now() }) + return { members: users.length, failed } + } finally { inFlight.delete(key) } + } + async function share(appId, botId, args, authorize = () => service.authorizeTool(botId, appId, 'calendar', true)) { + const calendarId = String(args.calendar_id ?? ''), chatId = String(args.chat_id ?? ''), role = args.role ?? 'reader' + if (!calendarId || !chatId || rank(role) < 0) throw new Error('Choose a calendar, chat and valid calendar role') + const key = `${appId}:${calendarId}:${chatId}` + if (args.stop) { + const record = shares()[key] + if (!record) return { removed: 0 } + const api = scopedApi(appId, authorize), existing = await pages(api, `calendar/v4/calendars/${enc(calendarId)}/acls`, { user_id_type: 'open_id', page_size: 50 }, 'acls') + let removed = 0 + for (const [id, added] of Object.entries(record.added ?? {})) { + const acl = existing.find(a => a.acl_id === added.aclId && a.scope?.user_id === id && a.role === added.role) + if (!acl || Object.values(shares()).some(s => s !== record && s.appId === appId && s.calendarId === calendarId && s.added?.[id])) continue + await api.call('DELETE', `calendar/v4/calendars/${enc(calendarId)}/acls/${enc(acl.acl_id)}`); removed++ + } + await service.commit(() => { delete shares()[key] }) + return { removed } + } + await service.commit(() => { shares()[key] = { ...shares()[key], appId, botId, calendarId, chatId, role } }) + return synchronize(shares()[key], authorize) + } + async function follow(appId, chatId) { + for (const record of Object.values(shares())) if (record.appId === appId && record.chatId === chatId && (record.syncedAt ?? 0) < Date.now() - 600000) { + // Revoking the Bot's grant also stops automatic additions; membership messages never grant writes. + try { service.authorizeTool(record.botId, appId, 'calendar', true); await synchronize(record) } + catch (error) { await service.diagnose(appId, 'calendar-share', error) } + } + } + async function link(appId, calendarId, authorize) { + const api = scopedApi(appId, authorize), root = `calendar/v4/calendars/${enc(calendarId)}` + const calendar = await api.call('GET', root) + const events = await api.call('GET', `${root}/events`, { query: { page_size: 100 } }) + const id = (events.items ?? []).map(e => /[?&]calendarId=(\d+)/.exec(e.app_link ?? '')?.[1]).find(Boolean) + if (!id) throw new Error('日历需要至少一个日程才能分享,请先创建日程。') + return { name: calendar.calendar?.summary ?? calendar.summary ?? calendarId, permissions: calendar.calendar?.permissions ?? calendar.permissions, url: `https://applink.feishu.cn/client/calendar/detail?calendarId=${id}&source=calendar_share_by_owner` } + } + return { share, follow, link } +} diff --git a/core/src/host/feishu-format.js b/core/src/host/feishu-format.js new file mode 100644 index 000000000..cb17f6e5b --- /dev/null +++ b/core/src/host/feishu-format.js @@ -0,0 +1,111 @@ +export const MAX_IN = 20 * 1024 * 1024 +export const MAX_IMAGE = 10 * 1024 * 1024 +export const MAX_FILE = 30 * 1024 * 1024 +export const MAX_POST = 30 * 1024 +const asText = v => typeof v === 'string' ? v : '' + +export function fromPost(post) { + const localized = post?.content ? post : Object.values(post ?? {}).find(v => Array.isArray(v?.content)) + const lines = (localized?.content ?? []).map(line => line.map(node => { + let text = asText(node.text) + if (node.tag === 'a') text = `[${text}](${asText(node.href)})` + if (node.tag === 'at') text = `@${asText(node.user_name) || asText(node.user_id)}` + if (node.tag === 'code_block') return `\n\`\`\`${asText(node.language)}\n${text}\n\`\`\`\n` + if (node.tag === 'hr') return '\n---\n' + for (const [style, marker] of [['bold', '**'], ['italic', '*'], ['lineThrough', '~~']]) if (node.style?.includes(style)) text = `${marker}${text}${marker}` + return text + }).join('')) + return [localized?.title, ...lines].filter(Boolean).join('\n') +} +export function readMessage(envelope) { + if (envelope?.header?.event_type !== 'im.message.receive_v1') return null + const m = envelope.event?.message, sender = envelope.event?.sender + if (!m?.chat_id || !m.message_id || !sender?.sender_id?.open_id) return null + let c + try { c = JSON.parse(m.content) } catch { return null } + let text = m.message_type === 'text' ? asText(c.text) : m.message_type === 'post' ? fromPost(c) : m.message_type === 'interactive' ? cardWords(c) : '' + const files = [] + if (m.message_type === 'image' && c.image_key) files.push({ key: c.image_key, type: 'image', name: 'image.png' }) + if (['file', 'audio', 'media'].includes(m.message_type) && c.file_key) files.push({ key: c.file_key, type: 'file', name: c.file_name ?? `${m.message_type}.bin` }) + if (m.message_type === 'post') { + const post = c.content ? c : Object.values(c).find(v => v?.content) + for (const row of post?.content ?? []) for (const n of row) if (n.tag === 'img' && n.image_key) files.push({ key: n.image_key, type: 'image', name: 'image.png' }) + } + if (!text && !files.length) return null + text = text.replace(/@_user_\d+/g, key => { const person = (m.mentions ?? []).find(p => p.key === key); return person?.name ? `@${person.name}` : '' }).trim() + return { id: envelope.header.event_id ?? m.message_id, messageId: m.message_id, chatId: m.chat_id, rootId: m.root_id || m.parent_id || null, openId: sender.sender_id.open_id, bot: sender.sender_type === 'app', group: m.chat_type === 'group', mentions: m.mentions ?? [], text, files } +} +export function markdown(text, mentions = new Map()) { + let fence + return String(text).split('\n').map(line => { + const marker = /^\s*(`{3,}|~{3,})/.exec(line)?.[1] + if (marker) { const entering = !fence; if (entering) fence = marker; else if (marker[0] === fence[0] && marker.length >= fence.length) fence = undefined; return line } + if (fence) return line + return line.replace(/^#{1,3} /, h => h.length === 2 ? '#### ' : '##### ').split(/(`+[^`]*`+)/g).map((part, i) => { + if (i % 2) return part + let out = part.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, '🖼 [$1]($2)') + .replace(/<(?!\/?u>)([^>]+)>/g, (all, tag) => /^https?:\/\//.test(tag) ? all : `<${tag}>`) + .replace(/\[([^\]]*)\]\(([^)]+)\)/g, (all, label, url) => /^https?:\/\//.test(url) ? all : label) + for (const [name, id] of [...mentions].sort(([a], [b]) => b.length - a.length)) out = out.split(`@${name}`).join(`${name.replace(/[<>]/g, '')}`) + return out + }).join('') + }).join('\n') +} +export function cardWords(value) { + if (typeof value === 'string') return value + if (Array.isArray(value)) return value.map(cardWords).filter(Boolean).join('\n') + if (!value || typeof value !== 'object') return '' + return Object.entries(value).filter(([k]) => ['text', 'content', 'title', 'elements', 'body', 'blocks', 'description'].includes(k)).map(([, v]) => cardWords(v)).filter(Boolean).join('\n') +} + +export function validateCard(card) { + if (!card || !Array.isArray(card.blocks) || card.blocks.length > 80 || JSON.stringify(card).length > 100000) throw new Error('Invalid card') + const kinds = ['text', 'fields', 'list', 'progress', 'table', 'chart', 'pages', 'input', 'applet'] + const names = new Set(); let count = 0 + const visit = (blocks, depth = 0) => { + if (!Array.isArray(blocks) || depth > 5) throw new Error('Invalid card pages') + for (const b of blocks) { + if (!b || !kinds.includes(b.type) || ++count > 80) throw new Error('Unknown or excessive card blocks') + if (b.type === 'input') { + if (typeof b.name !== 'string' || !/^[A-Za-z][A-Za-z0-9_]{0,63}$/.test(b.name) || names.has(b.name)) throw new Error('Card inputs need unique names') + names.add(b.name) + } + if (b.type === 'pages') { + if (!Array.isArray(b.pages) || b.pages.length > 20) throw new Error('Invalid card pages') + for (const p of b.pages) visit(p.blocks, depth + 1) + } + if (b.type === 'table' && (!Array.isArray(b.columns) || !Array.isArray(b.rows))) throw new Error('Invalid card table') + if (['list', 'fields'].includes(b.type) && !Array.isArray(b.items)) throw new Error('Invalid card items') + if (b.type === 'chart' && (!b.spec || typeof b.spec !== 'object')) throw new Error('Invalid card chart') + } + } + visit(card.blocks) + if (!Array.isArray(card.actions ?? []) || (card.actions?.length ?? 0) > 12) throw new Error('Invalid card actions') + const ids = (card.actions ?? []).map(a => a.id) + if (ids.some(id => typeof id !== 'string' || !/^[\w-]{1,64}$/.test(id)) || new Set(ids).size !== ids.length) throw new Error('Invalid card action ID') + return structuredClone(card) +} +const plain = content => ({ tag: 'plain_text', content: String(content ?? '') }) +const md = content => ({ tag: 'markdown', content: markdown(content) }) +export function toCard(record) { + const inputs = [] + const block = b => { + if (b.type === 'input') { inputs.push({ tag: 'input', name: b.name, label: plain(b.label), placeholder: plain(b.placeholder) }); return [] } + if (b.type === 'table') return [{ tag: 'table', page_size: Math.max(1, Math.min(10, b.rows?.length ?? 1)), columns: (b.columns ?? []).map((c, i) => ({ name: `c${i}`, display_name: c.label ?? c, data_type: 'text' })), rows: (b.rows ?? []).map(r => Object.fromEntries((b.columns ?? []).map((c, i) => [`c${i}`, String(Array.isArray(r) ? r[i] ?? '' : r[c.key] ?? '')]))) }] + if (b.type === 'chart') return [{ tag: 'chart', chart_spec: b.spec, aspect_ratio: '16:9' }] + if (b.type === 'pages') return (b.pages ?? []).flatMap(p => { + const parts = (p.blocks ?? []).flatMap(block) + return parts.some(e => e.tag === 'table') ? [md(`**${p.title}**`), ...parts] : [{ tag: 'collapsible_panel', header: { title: plain(p.title) }, elements: parts }] + }) + if (b.type === 'fields') return [md((b.items ?? []).map(f => `**${f.label}** ${f.value}`).join('\n'))] + if (b.type === 'list') return [md((b.items ?? []).map(f => `- ${typeof f === 'string' ? f : f.title}`).join('\n'))] + if (b.type === 'progress') { const n = Math.round(Math.min(1, Math.max(0, Number(b.value) / (Number(b.max) || 100))) * 10); return [md(`${b.label ?? ''} ${'█'.repeat(n)}${'░'.repeat(10 - n)} ${n * 10}%`)] } + if (b.type === 'applet') return [md(`${b.description ?? ''}\n请在 FlyBot 控制台中打开使用。`)] + return [md(b.text ?? '')] + } + const elements = record.card.blocks.flatMap(block) + const buttons = (record.card.actions ?? []).map(a => ({ tag: 'button', name: a.id, text: plain(a.label ?? a.id), type: 'primary', action_type: 'form_submit', disabled: record.closed === true, value: { flybot_card: record.id, action: a.id, version: record.version } })) + if (inputs.length || buttons.length) elements.push({ tag: 'form', name: 'card_form', elements: [...inputs, ...buttons] }) + if (record.submissions?.length) elements.push(md(record.submissions.map(s => `${s.name}:${s.action}`).join('\n'))) + return { schema: '2.0', config: { update_multi: true }, header: { title: plain(record.card.title ?? 'FlyBot') }, body: { elements } } +} diff --git a/core/src/host/feishu-http.js b/core/src/host/feishu-http.js new file mode 100644 index 000000000..8e8913b24 --- /dev/null +++ b/core/src/host/feishu-http.js @@ -0,0 +1,19 @@ +import { createServer } from 'node:http' + +// A separate listener exposes only authenticated Feishu events, never Harness or the console. +export function createFeishuEventServer(service) { + return createServer(async (req, res) => { + const match = /^\/api\/feishu\/events\/(cli_[0-9a-f]{16})$/i.exec(req.url ?? '') + if (req.method !== 'POST' || !match) { res.writeHead(404).end(); return } + if (Number(req.headers['content-length']) > 1024 * 1024) { res.writeHead(413).end(); req.resume(); return } + try { + const chunks = []; let size = 0 + for await (const chunk of req) { size += chunk.length; if (size > 1024 * 1024) { res.writeHead(413).end(); req.resume(); return }; chunks.push(chunk) } + const answer = await service.receive(match[1], JSON.parse(Buffer.concat(chunks).toString()), 'http') + res.writeHead(200, { 'content-type': 'application/json' }).end(JSON.stringify(answer)) + } catch (error) { + const status = error.code === 'bot/forbidden' ? 403 : error instanceof SyntaxError ? 400 : 503 + res.writeHead(status, { 'content-type': 'application/json' }).end(JSON.stringify({ error: status === 403 ? error.message : 'Event could not be saved; retry later' })) + } + }) +} diff --git a/core/src/host/feishu-sdk.js b/core/src/host/feishu-sdk.js index b9f530969..d9d52a930 100644 --- a/core/src/host/feishu-sdk.js +++ b/core/src/host/feishu-sdk.js @@ -12,6 +12,9 @@ export const SDK_PACKAGE = '@larksuiteoapi/node-sdk' // A socket that never opens must not hang a start: the row says `error` instead. export const READY_TIMEOUT_MS = 15_000 +// The lazy import lets a host without the package start healthy and fail only at the dial, so the +// failure carries its own type: the owner is told to install it, not to check the network. +export class FeishuSdkMissing extends Error {} const within = (promise, ms, message) => { let timer @@ -25,6 +28,7 @@ export function createFeishuTransport({ credentials, importSdk = () => import(SDK_PACKAGE), log = () => {}, + onState = () => {}, readyTimeoutMs = READY_TIMEOUT_MS, } = {}) { return { @@ -38,13 +42,14 @@ export function createFeishuTransport({ sdk = await importSdk() } catch (error) { const why = String(error?.message ?? error).split('\n')[0] - throw new Error(`The Feishu long connection needs ${SDK_PACKAGE} installed: ${why}`) + throw new FeishuSdkMissing(`The Feishu long connection needs ${SDK_PACKAGE} installed: ${why}`) } const Lark = sdk?.default ?? sdk const { WSClient, EventDispatcher } = Lark ?? {} if (typeof WSClient !== 'function' || typeof EventDispatcher !== 'function') throw new Error(`${SDK_PACKAGE} does not export the long-connection client`) const dispatcher = new EventDispatcher({}).register({ + 'card.action.trigger': data => onEvent({ header: { event_id: data?.event_id, event_type: 'card.action.trigger' }, event: data?.event ?? data }), 'im.message.receive_v1': data => onEvent({ header: { event_id: data?.event_id, event_type: 'im.message.receive_v1' }, event: { sender: data?.sender, message: data?.message }, @@ -55,10 +60,12 @@ export function createFeishuTransport({ const client = new WSClient({ appId: app.appId, appSecret: app.appSecret, + logger: { error: () => log('Feishu SDK error'), warn: () => {}, info: () => {}, debug: () => {}, trace: () => {} }, + onReconnected: () => onState('ready'), // `onReady` is the first open; a later reconnect is not a second inbox, so it only logs. - onReady: () => settle.resolve(), - onError: error => settle.reject(error), - onReconnecting: () => log('the Feishu long connection is reconnecting'), + onReady: () => { onState('ready'); settle.resolve() }, + onError: error => { onState('error'); settle.reject(error) }, + onReconnecting: () => { onState('connecting'); log('the Feishu long connection is reconnecting') }, }) try { await client.start({ eventDispatcher: dispatcher }) diff --git a/core/src/host/feishu-service.js b/core/src/host/feishu-service.js new file mode 100644 index 000000000..0ead0424c --- /dev/null +++ b/core/src/host/feishu-service.js @@ -0,0 +1,491 @@ +import { randomUUID, timingSafeEqual } from 'node:crypto' +import { createFeishuVault } from './feishu-vault.js' +import { createFeishuApi, FeishuError } from './feishu-api.js' +import { createFeishuTransport, FeishuSdkMissing } from './feishu-sdk.js' +import { readMessage, markdown, MAX_POST, MAX_IN, MAX_IMAGE, MAX_FILE, validateCard, toCard, cardWords } from './feishu-format.js' +import { PRODUCTS, validateCredentials, publicAddress } from '../shared/feishu.js' +import { installFeishuTools } from './feishu-tools.js' +import { createFeishuCalendars } from './feishu-calendar.js' +import { createFeishuEventServer } from './feishu-http.js' + +const fail = text => Object.assign(new Error(text), { code: 'bot/forbidden' }) +const same = (a, b) => typeof a === 'string' && typeof b === 'string' && Buffer.byteLength(a) === Buffer.byteLength(b) && timingSafeEqual(Buffer.from(a), Buffer.from(b)) +const memberActive = m => m && !m.removedAt && !m.disabled && m.status !== 'disabled' +const toast = (type, content) => ({ toast: { type, content } }) +const safeKey = value => typeof value === 'string' && /^[A-Za-z0-9_-]{1,128}$/.test(value) + +export function createFeishuService(rt, { request = fetch, vault = createFeishuVault(rt.home), transport = createFeishuTransport } = {}) { + const { state } = rt + let calendars + const apis = new Map(), sockets = new Map(), working = new Set(), names = new Map() + let removeSender + let tail = Promise.resolve(), stopped = false + const data = () => state.feishu ??= { apps: {}, events: {}, outbox: {}, cards: {}, files: {}, grants: {}, identities: {} } + const serial = fn => { + const job = tail.then(fn) + tail = job.catch(() => {}) + return job + } + const commit = fn => serial(async () => { + const readOnly = rt.readOnly?.() + if (readOnly) throw new Error(readOnly) + const before = structuredClone(data()) + try { const value = await fn(); await rt.save(); return value } + catch (error) { state.feishu = before; throw error } + }) + const appOf = id => { + const app = data().apps[id] + if (!app) throw new Error('Unknown Feishu app') + return app + } + const api = id => { + appOf(id) + if (!apis.has(id)) apis.set(id, createFeishuApi(() => vault.get(id), request, () => appOf(id))) + return apis.get(id) + } + const principal = actor => { + if (!actor && !rt.authzEnforced?.()) return { memberId: 'owner-1' } + if (!actor || !memberActive(state.members?.[actor.memberId])) throw fail('Sign in first') + return actor + } + const manage = (actor, app) => { + actor = principal(actor) + if (actor.memberId !== 'owner-1' && app?.ownerId !== actor.memberId) throw fail('Only the app owner can change this connection') + return actor + } + const localBot = (id, ownerId) => { + const bot = rt.botOf(id) + if (!bot || bot.remote || bot.ephemeral || bot.projectAgent || (bot.ownerId ?? 'owner-1') !== ownerId) throw fail('Choose a local Bot owned by this member') + return bot + } + const diagnose = async (id, kind, error) => commit(() => { + const app = data().apps[id] + const detail = String(error?.message ?? '') + const message = error instanceof FeishuError && Number(error.code) === 99991672 ? 'Apply for the missing app permission, publish a new version, wait for approval, then check permissions again.' + : error instanceof FeishuSdkMissing ? 'The Feishu long-connection SDK is not installed on the FlyBot server. Reinstall FlyBot, or rebuild the image if it runs in Docker.' + : kind === 'connection' && /app.?id|app.?secret|auth|internal error/i.test(detail) ? 'Check App ID and App Secret. A nonexistent App ID may be reported as an internal error.' + : kind === 'connection' && /limit|too many|50/.test(detail) ? 'The application has reached its long-connection limit (up to 50 connections).' + : kind === 'connection' ? 'Could not connect to open.feishu.cn; check the server network, proxy and application credentials.' + : 'Operation failed; check network, permissions and published app version' + if (app) app.diagnostics = [...(app.diagnostics ?? []), { at: Date.now(), kind, message, ...(typeof error?.code === 'number' ? { code: error.code } : {}), ...(error instanceof FeishuError && error.detail ? { detail: error.detail } : {}) }].slice(-50) + }) + const handle = (app, chatId) => app.legacy ? `feishu:${chatId}` : `feishu:${app.id}:${chatId}` + const identity = (appId, openId) => { + const row = data().identities[`${appId}:${openId}`] + return row && memberActive(state.members?.[row.memberId]) ? row : undefined + } + const view = actor => { + const who = principal(actor) + return Object.values(data().apps).map(a => who.memberId !== 'owner-1' && a.ownerId !== who.memberId ? { id: a.id, name: a.name, mode: a.mode, linkOnly: true, identities: Object.values(data().identities).filter(i => i.appId === a.id && i.memberId === who.memberId) } : ({ ...a, + connection: sockets.get(a.id)?.state ?? (a.mode === 'http' ? 'http' : 'off'), + grants: data().grants[a.id] ?? {}, identities: Object.values(data().identities).filter(i => i.appId === a.id), + cards: Object.values(data().cards).filter(c => c.appId === a.id), + files: Object.values(data().files).filter(f => f.appId === a.id).map(f => ({ id: f.ref.attachmentId, name: f.ref.name, size: f.ref.bytes })), + recent: Object.values(data().events).filter(e => e.appId === a.id).slice(-20).map(({ id, message, status, at }) => ({ id, chatId: message?.chatId, text: message?.text, status, at })), + outbox: Object.values(data().outbox).filter(o => o.appId === a.id).slice(-20).map(({ id, status }) => ({ id, status })), + })) + } + async function connect(id) { + const app = appOf(id) + await sockets.get(id)?.socket?.close?.() + sockets.delete(id) + if (app.mode !== 'socket' || stopped) return + const credentials = await vault.get(id) + const status = { state: 'connecting' } + sockets.set(id, status) + const adapter = transport({ credentials: () => credentials, log: () => {}, onState: s => { if (sockets.get(id) === status) status.state = s } }) + try { + const socket = await adapter.connect(event => receive(id, event, 'socket')) + if (sockets.get(id) !== status || stopped) { await socket.close(); return } + Object.assign(status, { state: 'ready', socket }) + } catch (error) { + if (sockets.get(id) === status) status.state = 'error' + await diagnose(id, 'connection', error) + } + } + async function test(id) { + try { + const result = await api(id).call('GET', 'bot/v3/info/') + await commit(() => { appOf(id).botOpenId = result.bot?.open_id; appOf(id).botName = result.bot?.app_name }) + return { ok: true, bot: result.bot?.app_name } + } catch (error) { + return { ok: false, credentialError: error.stage === 'credentials' || !(error instanceof FeishuError), error: error.stage === 'credentials' ? 'Check App ID and App Secret. A nonexistent App ID may be reported as an internal error.' : !(error instanceof FeishuError) ? 'FlyBot cannot reach open.feishu.cn. Check the server network or proxy.' : 'Credentials accepted, but Bot information is unavailable. Enable the Bot capability and publish a version. You can continue now and test again after publishing.' } + } + } + async function scopes(id) { + const result = await api(id).call('GET', 'application/v6/scopes') + const granted = (result.scopes ?? []).filter(s => s.grant_status === 1).map(s => s.scope_name) + await commit(() => { appOf(id).scopes = granted }) + return granted + } + async function save(body, actor) { + const id = String(body.appId ?? '') + const existing = data().apps[id] + const owner = manage(actor, existing) + await rt.loadSecrets?.() + const legacySecret = state.connectors?.feishu?.appId === id ? rt.secretValue?.('FEISHU_APP_SECRET') : undefined + const oldCredentials = existing ? await vault.get(id) : legacySecret ? { appId: id, appSecret: legacySecret } : undefined + const mode = body.mode ?? existing?.mode ?? 'socket' + const credentials = { appId: id, appSecret: body.appSecret?.trim() || oldCredentials?.appSecret, ...(mode === 'http' ? { verificationToken: body.verificationToken?.trim() || oldCredentials?.verificationToken } : {}) } + const changed = mode !== existing?.mode || credentials.appSecret !== oldCredentials?.appSecret || credentials.verificationToken !== oldCredentials?.verificationToken || body.publicUrl !== undefined && body.publicUrl !== existing?.publicUrl + validateCredentials(credentials, mode) + if (mode === 'http' && !publicAddress(body.publicUrl ?? existing?.publicUrl)) throw new Error('Prepare a public HTTPS event address') + if (mode === 'http') await rt.ensureFeishuEvents?.() + if (body.botId) localBot(body.botId, existing?.ownerId ?? owner.memberId) + await vault.set(id, credentials) + try { + await commit(() => { + const legacy = state.connectors?.feishu + data().apps[id] = { ...existing, id, name: String(body.name ?? existing?.name ?? '飞书').slice(0, 100), ownerId: existing?.ownerId ?? owner.memberId, mode, + publicUrl: body.publicUrl ?? existing?.publicUrl ?? '', botId: body.botId ?? existing?.botId ?? null, step: Math.max(0, Math.min(mode === 'http' ? 6 : 5, Number.isInteger(body.step) ? body.step : existing?.step ?? 1)), + allowed: existing?.allowed ?? legacy?.allowed?.map(e => e.openId) ?? [], legacy: existing?.legacy ?? (!Object.keys(data().apps).length && (!legacy?.appId || legacy.appId === id)), createdAt: existing?.createdAt ?? Date.now() } + if (changed) { delete data().apps[id].verifiedAt; delete data().apps[id].lastEventAt } + if (data().apps[id].legacy) { state.connectors ??= {}; state.connectors.feishu = { ...legacy, mode: 'app', appId: id, managed: true } } + }) + } catch (error) { await vault.set(id, oldCredentials); throw error } + apis.delete(id) + await rt.stopLegacyFeishu?.() + void connect(id) + return { apps: view(owner), test: await test(id) } + } + async function send(id, message, type, content, uuid, authorize) { + const threaded = !!message.rootId + return api(id).call('POST', threaded ? `im/v1/messages/${encodeURIComponent(message.rootId)}/reply` : 'im/v1/messages', { + authorize, query: threaded ? undefined : { receive_id_type: 'chat_id' }, body: { ...(threaded ? { reply_in_thread: true } : { receive_id: message.chatId }), msg_type: type, content: JSON.stringify(content), ...(uuid ? { uuid } : {}) }, + }) + } + async function sendText(id, message, text, uuid) { + const mentions = new Map(Object.values(data().identities).filter(i => i.appId === id).map(i => [state.members?.[i.memberId]?.displayName, i.openId]).filter(([name]) => !!name)) + const rich = { zh_cn: { ...(message.title ? { title: message.title } : {}), content: [[{ tag: 'md', text: markdown(text, mentions) }]] } } + if (Buffer.byteLength(JSON.stringify(rich)) <= MAX_POST) { + try { return await send(id, message, 'post', rich, uuid) } + catch (error) { if (!(error instanceof FeishuError)) throw error; await diagnose(id, 'format', error) } + } + return send(id, message, 'text', { text }, uuid) + } + async function reaction(event, remove = false) { + if (!event.message.messageId) return + if (remove && !event.reactionId) return + if (!remove && (event.reactionId || event.reactionAttempts >= 5)) return + try { + const result = await api(event.appId).call(remove ? 'DELETE' : 'POST', `im/v1/messages/${encodeURIComponent(event.message.messageId)}/reactions${remove ? `/${encodeURIComponent(event.reactionId)}` : ''}`, remove ? {} : { body: { reaction_type: { emoji_type: 'Get' } } }) + await commit(() => { const row = data().events[event.id]; if (row) { delete row.reactionRetry; if (remove) delete row.reactionId; else row.reactionId = result.reaction_id } }) + } catch (error) { + await commit(() => { const row = data().events[event.id]; if (row) { row.reactionAttempts = (row.reactionAttempts ?? 0) + 1; row.reactionRetry = Date.now() + Math.min(3600000, 1000 * 2 ** Math.min(row.reactionAttempts, 12)) } }) + await diagnose(event.appId, 'reaction', error) + } + } + async function importFiles(event) { + const imported = [] + for (const file of event.message.files) { + try { + const res = await api(event.appId).call('GET', `im/v1/messages/${encodeURIComponent(event.message.messageId)}/resources/${encodeURIComponent(file.key)}`, { query: { type: file.type }, raw: true }) + if (Number(res.headers.get('content-length')) > MAX_IN) throw new Error('Attachment exceeds 20 MB') + const chunks = []; let size = 0 + // Exiting the stream iterator cancels its reader, including on a size error. + for await (const chunk of res.body) { size += chunk.length; if (size > MAX_IN) throw new Error('Attachment exceeds 20 MB'); chunks.push(chunk) } + const mime = res.headers.get('content-type') ?? 'application/octet-stream' + const attachment = await rt.ctx.attachments[file.type === 'image' ? 'saveImage' : 'saveFile']({ data: Buffer.concat(chunks), name: String(file.name).slice(0, 200), mediaType: mime }) + imported.push({ ...attachment, name: file.name }) + } catch (error) { await diagnose(event.appId, 'attachment-receive', error) } + } + return imported + } + async function processEvent(key) { + if (working.has(key) || stopped) return + working.add(key) + try { + const event = data().events[key] + if (!event || !['queued', 'processing'].includes(event.status)) return + const app = appOf(event.appId), message = event.message + const botId = app.chatBots?.[message.chatId] ?? app.botId + const allowed = app.allowed.includes(message.openId) + const mentioned = !message.group || message.mentions.some(m => m.id?.open_id === app.botOpenId) + const botLimit = (app.autoRounds?.[message.chatId] ?? 0) >= 8 + const accepted = allowed && botId && mentioned && (!message.bot || app.allowBots && !botLimit) && message.openId !== app.botOpenId + const chatHandle = handle(app, message.chatId) + let name = chatHandle + try { + const info = await api(app.id).call('GET', message.group ? `im/v1/chats/${encodeURIComponent(message.chatId)}` : `contact/v3/users/${encodeURIComponent(message.openId)}`, { query: message.group ? undefined : { user_id_type: 'open_id' } }) + name = info.name ?? info.user?.name ?? name + } catch { /* IDs are display fallbacks, never identities. */ } + let senderName = `feishu-${message.openId}` + const cacheKey = `${app.id}:${message.group ? message.chatId : message.openId}` + try { + let cached = names.get(cacheKey) + if (!cached || cached.at < Date.now() - (message.group ? 600000 : 3600000)) { + const users = {}; let token + if (message.group) { + do { + const result = await api(app.id).call('GET', `im/v1/chats/${encodeURIComponent(message.chatId)}/members`, { query: { member_id_type: 'open_id', page_size: 100, ...(token ? { page_token: token } : {}) } }) + for (const user of result.items ?? []) users[user.member_id] = user.name + token = result.has_more ? result.page_token : undefined + } while (token) + } else users[message.openId] = name === chatHandle ? senderName : name + cached = { at: Date.now(), users }; names.set(cacheKey, cached) + } + senderName = cached.users[message.openId] ?? senderName + } catch { /* Missing contact scope keeps the stable open_id label. */ } + if (message.group) await calendars?.follow(app.id, message.chatId) + const attachments = event.attachments ?? await importFiles(event) + if (attachments.length) await commit(() => { for (const ref of attachments) data().files[`${app.id}:${ref.attachmentId}`] = { appId: app.id, ref } }) + await rt.remoteChats.open({ handle: chatHandle, name, plugin: 'feishu' }) + await rt.remoteChats.deliver({ handle: chatHandle, text: message.text || attachments.map(a => a.name).join(', '), name, plugin: 'feishu', human: !message.bot, ownerName: senderName, sourceId: key, feishu: { appId: app.id, rootId: message.rootId, messageId: message.messageId }, attachments }) + if (!accepted) { + await commit(() => { data().events[key].status = !allowed ? 'refused' : !botId ? 'no-bot' : message.bot && app.allowBots && botLimit ? 'bot-limit' : 'context'; if (!message.bot && app.autoRounds) app.autoRounds[message.chatId] = 0 }) + return + } + localBot(botId, app.ownerId) + const reserved = await commit(() => { + if (Object.values(data().events).some(e => e.id !== key && e.botId === botId && ['processing', 'admitted'].includes(e.status)) || rt.liveOf?.(rt.chatOf?.(botId) ?? botId)?.turn !== undefined) return false + Object.assign(data().events[key], { botId, attachments, status: 'processing' }) + app.autoRounds ??= {}; app.autoRounds[message.chatId] = message.bot ? (app.autoRounds[message.chatId] ?? 0) + 1 : 0 + return true + }) + if (!reserved) return + await reaction(data().events[key]) + const context = Object.values(data().events).filter(e => e.id !== key && e.appId === app.id && e.message?.chatId === message.chatId && e.at <= event.at && ['context', 'sent', 'responded'].includes(e.status)).slice(-10).map(e => `${e.message.openId}: ${e.message.text}`).join('\n').slice(-8000) + const prompt = [context ? `[Earlier messages in this Feishu chat]\n${context}\n[Current request]` : '', message.text || attachments.map(a => a.name).join(', ')].filter(Boolean).join('\n') + await rt.deliver({ toId: botId, text: prompt, role: 'feishu', exchangeId: key, fromName: senderName, untrusted: true, origin: 'other', attachments, + feishu: { eventId: key, appId: app.id, chatId: message.chatId, openId: message.openId, rootId: message.rootId } }) + await commit(() => { if (data().events[key].status === 'processing') data().events[key].status = 'admitted' }) + } catch (error) { + const event = data().events[key] + if (event) { await commit(() => { event.status = 'failed' }); await diagnose(event.appId, 'delivery', error) } + } finally { working.delete(key) } + } + async function receive(id, envelope, mode) { + const app = appOf(id) + if (mode !== app.mode) throw fail('Receiving method changed; update event and callback subscriptions and publish a version') + const credentials = await vault.get(id) + if (mode === 'http' && !same(envelope?.header?.token ?? envelope?.token, credentials.verificationToken)) throw fail('Verification Token does not match') + if (envelope?.encrypt) throw fail('Encrypt Key must be empty; encrypted events are unsupported') + if (envelope?.header?.app_id && envelope.header.app_id !== id) throw fail('Feishu app does not match') + if (envelope?.type === 'url_verification') { await commit(() => { app.verifiedAt = Date.now() }); return { challenge: String(envelope.challenge ?? '') } } + if (envelope?.header?.event_type === 'card.action.trigger') return trigger(id, envelope) + const message = readMessage(envelope) + if (!message) return { ignored: true } + if (message.openId === app.botOpenId) return { ignored: true } + const key = `${id}:${message.messageId}` + const added = await commit(() => { + if (data().events[key]) return false + data().events[key] = { id: key, appId: id, message, status: 'queued', at: Date.now() } + app.lastEventAt = Date.now() + return true + }) + if (added) void processEvent(key) + return { duplicate: !added } + } + async function complete(meta, text, failure) { + const event = data().events[meta.eventId] + if (!event || ['sent', 'cancelled'].includes(event.status) || !data().apps[event.appId]) return + if (failure || !text) { await commit(() => { event.status = 'failed' }); void tick(); return } + const id = event.id + await commit(() => { data().outbox[id] ??= { id, appId: event.appId, text, message: event.message, status: 'pending', uuid: randomUUID() }; event.status = 'responded' }) + void tick() + await flush(id) + } + async function flush(id) { + if (working.has(`send:${id}`)) return + working.add(`send:${id}`) + try { + const item = data().outbox[id] + if (!item || item.status === 'sent') return + await sendText(item.appId, item.message, item.text, item.uuid) + await commit(() => { item.status = 'sent'; const event = data().events[id]; if (event) event.status = 'sent' }) + const app = appOf(item.appId) + await rt.remoteChats.deliver({ handle: handle(app, item.message.chatId), text: item.text, name: rt.botOf(data().events[id]?.botId)?.name, plugin: 'feishu', sourceId: `reply:${id}`, feishu: { appId: app.id, rootId: item.message.rootId } }) + if (data().events[id]) await reaction(data().events[id], true) + } catch (error) { + const item = data().outbox[id] + if (item) { await commit(() => { item.status = 'failed' }); await diagnose(item.appId, 'send', error) } + } finally { working.delete(`send:${id}`) } + } + async function card(appId, botId, message, cardValue, cardId) { + const app = appOf(appId) + localBot(botId, app.ownerId) + const existing = cardId && data().cards[cardId] + if (cardId && (!existing || existing.botId !== botId || existing.appId !== appId)) throw fail('Card is not owned by this Bot') + const record = { ...existing, id: existing?.id ?? randomUUID(), appId, botId, message, card: validateCard(cardValue), version: (existing?.version ?? 0) + 1, submissions: existing?.submissions ?? [], closed: false } + await commit(() => { data().cards[record.id] = record }) + try { + const result = record.messageId ? await api(appId).call('PATCH', `im/v1/messages/${encodeURIComponent(record.messageId)}`, { body: { content: JSON.stringify(toCard(record)) } }) : await send(appId, message, 'interactive', toCard(record), record.id) + await commit(() => { record.messageId ??= result.message_id }) + } catch (error) { + if (!(error instanceof FeishuError)) throw error + await diagnose(appId, 'card', error) + await send(appId, message, 'text', { text: `${cardWords(cardValue)}\n按钮和表单需在 FlyBot 控制台中使用。` }, record.id) + } + return { id: record.id, version: record.version } + } + async function trigger(id, envelope) { + const event = envelope.event ?? {}, value = event.action?.value ?? {}, key = `${id}:card:${envelope.header?.event_id ?? event.token ?? ''}` + if (!envelope.header?.event_id && !event.token) throw fail('Card callback ID is missing') + const linked = identity(id, event.operator?.open_id) + if (!linked) return toast('error', '你的飞书账号还没有关联到 FlyBot,不能操作这张卡片。请联系管理员关联。') + const result = await commit(() => { + if (data().events[key]?.response) { + const previous = data().events[key], current = data().cards[previous.cardId] + return current ? { ...previous.response, card: { type: 'raw', data: toCard(current) } } : previous.response + } + const record = data().cards[value.flybot_card] + if (!record || record.appId !== id || record.messageId !== event.context?.open_message_id || record.message.chatId !== event.context?.open_chat_id) return toast('error', '这张卡片已不存在') + if (record.closed || value.version !== record.version || !(record.card.actions ?? []).some(a => a.id === value.action)) return toast('error', '这张卡片已更新,请使用最新卡片') + const fields = event.action?.form_value ?? {} + if (JSON.stringify(fields).length > 16000) return toast('error', '提交内容过长') + record.submissions.push({ memberId: linked.memberId, openId: linked.openId, name: state.members[linked.memberId].displayName ?? linked.memberId, action: value.action, fields, at: Date.now() }) + record.closed = record.card.once !== false + record.version += 1 + const response = { ...toast('success', '已提交'), card: { type: 'raw', data: toCard(record) } } + data().events[key] = { id: key, appId: id, status: 'card-pending', cardId: record.id, submission: record.submissions.at(-1), response, at: Date.now() } + return response + }) + void dispatchCard(key) + return result + } + async function dispatchCard(key) { + if (working.has(key)) return + working.add(key) + try { + const event = data().events[key] + if (!event || !['card-pending', 'processing'].includes(event.status)) return + const record = data().cards[event.cardId] + if (!record || !identity(record.appId, event.submission.openId)) return + const reserved = await commit(() => { + if (Object.values(data().events).some(e => e.id !== key && e.botId === record.botId && ['processing', 'admitted'].includes(e.status)) || rt.liveOf?.(rt.chatOf?.(record.botId) ?? record.botId)?.turn !== undefined) return false + event.status = 'processing'; event.message = record.message; event.botId = record.botId + return true + }) + if (!reserved) return + await rt.deliver({ toId: record.botId, role: 'feishu', exchangeId: key, text: JSON.stringify({ cardId: record.id, ...event.submission }), untrusted: true, origin: 'other', + feishu: { eventId: key, appId: record.appId, ...record.message, openId: event.submission.openId } }) + await commit(() => { if (event.status === 'processing') event.status = 'admitted' }) + } catch (error) { const event = data().events[key]; if (event) await diagnose(event.appId, 'card-action', error) } + finally { working.delete(key) } + } + async function endpoint(body, actor) { + await rt.load() + const who = principal(actor), op = body.operation ?? 'list' + if (op === 'list') return { apps: view(who), members: Object.values(state.members ?? {}).filter(m => memberActive(m) && (who.memberId === 'owner-1' || m.id === who.memberId)).map(m => ({ id: m.id, name: m.displayName ?? m.id })) } + if (op === 'save') return save(body, who) + if (op === 'webhook') { manage(who); return rt.connectorEndpoint('connector-connect', { id: 'feishu', mode: 'webhook', credentials: { webhook: body.webhook } }) } + const id = String(body.appId ?? ''), app = appOf(id) + if (op === 'identity') { + const target = String(body.memberId ?? who.memberId), openId = String(body.openId ?? '') + if (target !== who.memberId && who.memberId !== 'owner-1' || !memberActive(state.members?.[target]) || !safeKey(openId)) throw fail('Choose your own existing platform identity') + if (who.memberId !== 'owner-1' && app.ownerId !== who.memberId && !app.allowed.includes(openId)) throw fail('Sender is not allowed on this app') + const old = data().identities[`${id}:${openId}`] + if (old && old.memberId !== who.memberId && who.memberId !== 'owner-1') throw fail('This identity is already linked') + await commit(() => { data().identities[`${id}:${openId}`] = { appId: id, openId, memberId: target } }) + return { linked: true } + } + manage(who, app) + if (op === 'attachment') { + const ref = data().files[`${id}:${body.attachmentId}`]?.ref + if (!ref) throw fail('Attachment does not belong to this Feishu app') + const chunks = [] + if (ref.mediaType) chunks.push((await rt.ctx.attachments.readImage(ref)).data) + else for await (const chunk of rt.ctx.attachments.readFileStream(ref)) chunks.push(chunk) + return { name: ref.name, content_base64: Buffer.concat(chunks).toString('base64') } + } + if (op === 'test') return test(id) + if (op === 'scopes') return { scopes: await scopes(id) } + if (op === 'allow') { + if (!safeKey(body.openId)) throw new Error('Enter an open_id') + await commit(() => { app.allowed = body.enabled === false ? app.allowed.filter(i => i !== body.openId) : [...new Set([...app.allowed, body.openId])] }) + } else if (op === 'configure') { + if (body.botId) localBot(body.botId, app.ownerId) + if (body.chatId && (!safeKey(body.chatId) || ['__proto__', 'constructor', 'prototype'].includes(body.chatId))) throw new Error('Invalid Feishu chat') + const cancelled = [] + await commit(() => { + if (body.botId !== undefined) for (const event of Object.values(data().events)) { + const affected = body.chatId ? event.message?.chatId === body.chatId : !app.chatBots?.[event.message?.chatId] + if (event.appId === id && affected && event.botId !== (body.botId || app.botId) && ['processing', 'admitted'].includes(event.status)) { event.status = 'cancelled'; cancelled.push(event) } + } + if (body.chatId) { app.chatBots ??= {}; if (body.botId) app.chatBots[body.chatId] = body.botId; else delete app.chatBots[body.chatId] } + if (body.botId && !body.chatId) app.botId = body.botId + if (typeof body.allowBots === 'boolean') app.allowBots = body.allowBots + if (Number.isInteger(body.step)) app.step = Math.max(0, Math.min(app.mode === 'http' ? 6 : 5, body.step)) + }) + for (const event of cancelled) { + const sessionId = rt.chatOf?.(event.botId) ?? event.botId + if (rt.liveOf?.(sessionId)?.info?.feishu?.eventId !== event.id) continue + try { const agent = await rt.resolveAgent(sessionId); agent.cancel({ kind: 'hook', reason: 'Feishu conversation handler changed' }) } + catch (error) { await diagnose(id, 'handler-stop', error) } + } + } else if (op === 'grant') { + localBot(body.botId, app.ownerId) + if (!PRODUCTS.some(p => p.id === body.product) || !['disabled', 'read', 'ask', 'write'].includes(body.mode)) throw new Error('Invalid Feishu grant') + await commit(() => { data().grants[id] ??= {}; data().grants[id][body.botId] ??= {}; data().grants[id][body.botId][body.product] = body.mode }) + } else if (op === 'retry') { + if (body.outboxId && data().outbox[body.outboxId]?.appId === id) await flush(body.outboxId) + else if (body.eventId && data().events[body.eventId]?.appId === id && data().events[body.eventId].status === 'failed') { await commit(() => { data().events[body.eventId].status = 'queued' }); void processEvent(body.eventId) } + else await connect(id) + } else if (op === 'card-action') { + const record = data().cards[body.cardId] + if (!record || record.appId !== id) throw fail('Unknown card') + const openId = Object.values(data().identities).find(i => i.appId === id && i.memberId === who.memberId)?.openId + if (!openId) throw fail('Link your Feishu identity first') + return trigger(id, { header: { event_id: randomUUID() }, event: { operator: { open_id: openId }, context: { open_message_id: record.messageId, open_chat_id: record.message.chatId }, action: { value: { flybot_card: record.id, version: record.version, action: body.action }, form_value: body.fields ?? {} } } }) + } else if (op === 'delete') { + await commit(() => { + delete data().apps[id]; delete data().grants[id] + for (const name of ['events', 'outbox', 'cards', 'identities', 'files', 'calendarShares']) for (const [key, row] of Object.entries(data()[name] ?? {})) if (row.appId === id) delete data()[name][key] + if (app.legacy && state.connectors?.feishu?.managed) delete state.connectors.feishu + }) + await sockets.get(id)?.socket?.close?.(); sockets.delete(id); apis.delete(id); await vault.set(id, undefined) + } else throw new Error('Unknown Feishu operation') + return { apps: view(who) } + } + const authorizeTool = (botId, appId, product, write) => { + const app = appOf(appId), bot = localBot(botId, app.ownerId), grant = data().grants[appId]?.[bot.id]?.[product] ?? 'disabled' + if (grant === 'disabled' || write && grant === 'read') throw fail('This Feishu capability is not granted to this Bot') + return grant + } + async function tick() { + for (const event of Object.values(data().events)) { + if (event.status === 'queued') void processEvent(event.id) + if (event.status === 'card-pending') void dispatchCard(event.id) + if (event.reactionRetry && event.reactionRetry < Date.now()) void reaction(event, event.status === 'sent') + } + } + async function start() { + stopped = false; await rt.load() + removeSender?.() + removeSender = rt.remoteChats?.onSend?.('feishu', reply) + for (const app of Object.values(data().apps)) { if (app.mode === 'http') await rt.ensureFeishuEvents?.(); void connect(app.id) } + for (const event of Object.values(data().events)) if (event.status === 'processing') void (event.cardId ? dispatchCard(event.id) : processEvent(event.id)) + for (const item of Object.values(data().outbox)) if (item.status === 'pending') void flush(item.id) + await tick() + } + async function stop() { stopped = true; removeSender?.(); for (const s of sockets.values()) await s.socket?.close?.(); sockets.clear() } + async function reply(message) { + const app = Object.values(data().apps).find(a => a.legacy ? message.handle.startsWith('feishu:') && !message.handle.slice(7).includes(':') : message.handle.startsWith(`feishu:${a.id}:`)) + if (!app) return rt.replyLegacyFeishu?.(message) + const chatId = message.handle.slice(app.legacy ? 7 : `feishu:${app.id}:`.length) + return sendText(app.id, { chatId, title: state.members?.[app.ownerId]?.displayName ?? 'Owner' }, String(message.text), message.messageId) + } + const service = { endpoint, receive, complete, view, api, card, identity, authorizeTool, appOf, data, commit, diagnose, start, stop, tick, sendText, send, reply, MAX_IN, MAX_IMAGE, MAX_FILE } + calendars = createFeishuCalendars(service) + return Object.assign(service, { calendars }) +} + +export function install(rt) { + const service = createFeishuService(rt) + rt.feishu = service + installFeishuTools(rt, service) + let server, listening + rt.ensureFeishuEvents = () => listening ??= (async () => { + const port = Number(rt.config.feishu?.eventsPort ?? process.env.FLYBOT_FEISHU_EVENTS_PORT ?? 3082) + if (!Number.isInteger(port) || port < 1 || port > 65535) throw new Error('Configure a valid Feishu event port') + server = createFeishuEventServer(service) + try { await new Promise((resolve, reject) => { server.once('error', reject); server.listen(port, '0.0.0.0', resolve) }) } + catch (error) { listening = undefined; throw error } + })() + rt.ctx.effect(() => { + void service.start().catch(() => rt.warn('ds-bot: Feishu recovery failed')) + const timer = setInterval(() => { void service.tick().catch(() => {}) }, 10000) + timer.unref?.() + return () => { clearInterval(timer); server?.close(); void service.stop() } + }, 'ds-bot: Feishu apps') +} diff --git a/core/src/host/feishu-tools.js b/core/src/host/feishu-tools.js new file mode 100644 index 000000000..d1dfd3d4a --- /dev/null +++ b/core/src/host/feishu-tools.js @@ -0,0 +1,180 @@ +import { defineTool } from './tool-schema.js' +import { output } from './tools.js' +import { MAX_IMAGE, MAX_FILE } from './feishu-format.js' + +const TOO_LARGE = 'Feishu accepts images up to 10 MB and files up to 30 MB; this attachment is too large to send' + +const seg = (args, key) => { + const value = args[key] + if (typeof value !== 'string' || !value || value.length > 1024 || /[\u0000-\u001f]/.test(value)) throw new Error(`Enter ${key}`) + return encodeURIComponent(value) +} +// The operation list is the authority boundary; a model cannot supply a URL, method, token or host. +export const FEISHU_OPERATIONS = { + calendar_share_group: ['calendar', 'POST', () => 'calendar/v4/calendars'], + calendar_share_link: ['calendar', 'GET', () => 'calendar/v4/calendars'], + calendar_share_card: ['calendar', 'POST', () => 'calendar/v4/calendars'], + calendar_list: ['calendar', 'GET', () => 'calendar/v4/calendars'], + calendar_get: ['calendar', 'GET', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}`], + calendar_search: ['calendar', 'POST', () => 'calendar/v4/calendars/search', false], + calendar_create: ['calendar', 'POST', () => 'calendar/v4/calendars'], + calendar_update: ['calendar', 'PATCH', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}`], + calendar_subscribe: ['calendar', 'POST', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/subscribe`], + calendar_members: ['calendar', 'GET', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/acls`], + calendar_member_add: ['calendar', 'POST', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/acls`], + calendar_member_remove: ['calendar', 'DELETE', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/acls/${seg(a, 'acl_id')}`], + calendar_events: ['calendar', 'GET', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/events`], + calendar_event_get: ['calendar', 'GET', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/events/${seg(a, 'event_id')}`], + calendar_event_create: ['calendar', 'POST', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/events`], + calendar_event_update: ['calendar', 'PATCH', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/events/${seg(a, 'event_id')}`], + calendar_event_delete: ['calendar', 'DELETE', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/events/${seg(a, 'event_id')}`], + calendar_attendees: ['calendar', 'POST', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/events/${seg(a, 'event_id')}/attendees`], + calendar_freebusy: ['calendar', 'POST', () => 'calendar/v4/freebusy/list', false], + docs_read: ['docs', 'GET', a => `docx/v1/documents/${seg(a, 'document_id')}/raw_content`], + docs_create: ['docs', 'POST', () => 'docx/v1/documents'], + docs_append: ['docs', 'POST', a => `docx/v1/documents/${seg(a, 'document_id')}/blocks/${seg(a, 'document_id')}/children`], + docs_folder: ['docs', 'GET', () => 'drive/v1/files'], + docs_share: ['docs', 'POST', a => `drive/v1/permissions/${seg(a, 'document_id')}/members`], + wiki_spaces: ['docs', 'GET', () => 'wiki/v2/spaces'], + wiki_nodes: ['docs', 'GET', a => `wiki/v2/spaces/${seg(a, 'space_id')}/nodes`], + wiki_node: ['docs', 'GET', () => 'wiki/v2/spaces/get_node'], + bitable_tables: ['bitable', 'GET', a => `bitable/v1/apps/${seg(a, 'app_token')}/tables`], + bitable_fields: ['bitable', 'GET', a => `bitable/v1/apps/${seg(a, 'app_token')}/tables/${seg(a, 'table_id')}/fields`], + bitable_records: ['bitable', 'POST', a => `bitable/v1/apps/${seg(a, 'app_token')}/tables/${seg(a, 'table_id')}/records/search`, false], + bitable_create: ['bitable', 'POST', a => `bitable/v1/apps/${seg(a, 'app_token')}/tables/${seg(a, 'table_id')}/records`], + bitable_update: ['bitable', 'PUT', a => `bitable/v1/apps/${seg(a, 'app_token')}/tables/${seg(a, 'table_id')}/records/${seg(a, 'record_id')}`], + sheets_read: ['sheets', 'GET', a => `sheets/v2/spreadsheets/${seg(a, 'spreadsheet_token')}/values/${seg(a, 'range')}`], + sheets_write: ['sheets', 'PUT', a => `sheets/v2/spreadsheets/${seg(a, 'spreadsheet_token')}/values`], + meeting_reserve: ['meeting', 'POST', () => 'vc/v1/reserves/apply'], + task_create: ['task', 'POST', () => 'task/v2/tasks'], +} +export const operationWrites = op => op[3] ?? op[1] !== 'GET' +const object = value => { + if (!value || typeof value !== 'object' || Array.isArray(value) || JSON.stringify(value).length > 60000) throw new Error('Arguments must be a bounded object') + return value +} + +export function installFeishuTools(rt, service) { + const decisions = new Map() + const botOf = exec => { + const bot = rt.whoseAgent?.(exec.agent)?.bot + if (!bot || bot.remote || bot.ephemeral || bot.projectAgent) throw new Error('Feishu tools require a local Bot') + return bot + } + const context = exec => rt.liveOf(exec.agent?.id ?? exec.agent?.session?.id)?.info?.feishu + const requester = (appId, exec) => { + const live = rt.liveOf(exec.agent?.id ?? exec.agent?.session?.id), source = live?.info?.feishu + const linked = source && service.identity(source.appId, source.openId) + if (source?.appId === appId) return linked + const memberId = source ? linked?.memberId : live?.requesterMemberId + if (!memberId) return undefined + const matches = Object.values(service.data().identities).filter(i => i.appId === appId && i.memberId === memberId && service.identity(appId, i.openId)) + // Multiple linked accounts need an explicit Feishu request; never pick a default host. + return matches.length === 1 ? matches[0] : undefined + } + const check = exec => { + const op = FEISHU_OPERATIONS[exec.arguments?.operation] + if (!op) throw new Error('Unknown Feishu operation') + return service.authorizeTool(botOf(exec).id, exec.arguments.appId, op[0], operationWrites(op)) + } + rt.ctx.on('tools/pre-execute', async (exec, next) => { + if (exec.name !== 'feishu_tool') return next() + try { + const grant = check(exec), op = FEISHU_OPERATIONS[exec.arguments.operation] + decisions.set(exec.callId, { grant, appId: exec.arguments.appId, operation: exec.arguments.operation }) + if (decisions.size > 1000) decisions.delete(decisions.keys().next().value) + if (operationWrites(op) && grant === 'ask') return { kind: 'ask', reason: `Feishu ${exec.arguments.appId}: ${exec.arguments.operation}`, displayReason: { en: 'Allow this write to Feishu?', zh: '是否允许这次飞书写入?' } } + return next() + } catch (error) { return { kind: 'deny', reason: error.message } } + }) + rt.ctx.tools.register(defineTool({ name: 'feishu_apps', description: 'List Feishu applications and capabilities explicitly granted to you, with linked member open_ids. Credentials remain on the platform.', parameters: {}, output, + async execute(_args, exec) { + const bot = botOf(exec) + return JSON.stringify(Object.values(service.data().apps).filter(app => app.ownerId === (bot.ownerId ?? 'owner-1') && Object.values(service.data().grants[app.id]?.[bot.id] ?? {}).some(grant => grant !== 'disabled')).map(app => ({ appId: app.id, name: app.name, grants: service.data().grants[app.id]?.[bot.id] ?? {}, people: Object.values(service.data().identities).filter(i => i.appId === app.id).map(i => ({ openId: i.openId, name: rt.state.members?.[i.memberId]?.displayName })) }))) + } })) + rt.ctx.tools.register(defineTool({ name: 'feishu_tool', description: `Use one explicitly granted Feishu app. Operations: ${Object.keys(FEISHU_OPERATIONS).join(', ')}. Parameters contain path IDs plus body and query matching the Feishu API. Examples: calendar_create body:{summary,permissions}; calendar_event_create calendar_id and body:{summary,start_time:{timestamp},end_time:{timestamp}}; calendar_member_add body:{role,scope:{type:"user",user_id}}; docs_create body:{title}; docs_append document_id and body:{children:[{block_type:2,text:{elements:[{text_run:{content:"text"}}]}}]}; bitable_create app_token,table_id and body:{fields:{fieldName:value}}; sheets_write spreadsheet_token and body:{valueRange:{range,values}}; meeting_reserve body:{end_time,meeting_settings:{topic}}; task_create body:{summary,due:{timestamp,is_all_day:false},members:[{id,type:"user",role:"assignee"}]},query:{user_id_type:"open_id"}. Calendar includes events, attendees, ACL members and freebusy; docs_append accepts document blocks; bitable accepts fields; sheets_write accepts valueRange; task_create accepts summary, due, members. meeting_reserve uses the actual linked requester as host. Permissions are per app/product; ask mode waits for human approval before any write.`, + parameters: { appId: { type: 'string', required: true }, operation: { type: 'string', enum: Object.keys(FEISHU_OPERATIONS), required: true }, parameters: { type: 'json', required: true } }, output, + async execute(args, exec) { + check({ ...exec, arguments: args }) + const [product, method, path] = FEISHU_OPERATIONS[args.operation], params = object(args.parameters) + const decision = decisions.get(exec.callId) + const authorize = () => { + const latest = service.authorizeTool(botOf(exec).id, args.appId, product, operationWrites(FEISHU_OPERATIONS[args.operation])) + if (latest === 'ask' && operationWrites(FEISHU_OPERATIONS[args.operation]) && (decision?.grant !== 'ask' || decision.appId !== args.appId || decision.operation !== args.operation)) throw new Error('This write now requires human approval; retry the tool') + } + authorize() + if (args.operation === 'calendar_share_group') return JSON.stringify(await service.calendars.share(args.appId, botOf(exec).id, params, authorize)) + if (args.operation === 'calendar_share_link' || args.operation === 'calendar_share_card') { + const link = await service.calendars.link(args.appId, params.calendar_id, authorize) + if (args.operation === 'calendar_share_card') { + const source = context(exec) + const chatId = params.chat_id ?? (source?.appId === args.appId ? source.chatId : undefined) + if (!chatId) throw new Error('Choose a Feishu chat') + await service.send(args.appId, { chatId, rootId: params.chat_id ? null : source?.rootId }, 'interactive', { schema: '2.0', header: { title: { tag: 'plain_text', content: link.name } }, body: { elements: [{ tag: 'markdown', content: String(link.permissions ?? '') }, { tag: 'button', text: { tag: 'plain_text', content: '在日历中查看' }, type: 'primary', multi_url: { url: link.url } }] } }, exec.callId, authorize) + } + return JSON.stringify(link) + } + let body = params.body === undefined ? undefined : structuredClone(object(params.body)) + const query = params.query === undefined ? {} : { ...object(params.query) } + if (args.operation === 'meeting_reserve') { + const linked = requester(args.appId, exec) + if (!linked) throw new Error('提问的人没有关联这家公司的飞书账号,不能预约会议。') + body = { ...body, owner_id: linked.openId } + query.user_id_type = 'open_id' + } + // Recheck after asynchronous approvals and before the platform uses its credentials. + service.authorizeTool(botOf(exec).id, args.appId, product, operationWrites(FEISHU_OPERATIONS[args.operation])) + try { + const result = await service.api(args.appId).call(method, path(params), { body, query, authorize }) + if (args.operation === 'docs_create' && result.document?.document_id) { + const linked = requester(args.appId, exec) + if (linked) try { await service.api(args.appId).call('POST', `drive/v1/permissions/${encodeURIComponent(result.document.document_id)}/members`, { authorize, query: { type: 'docx', need_notification: true }, body: { member_type: 'openid', member_id: linked.openId, perm: 'edit' } }) } catch (error) { await service.diagnose(args.appId, 'document-share', error); result.sharing = 'Document created, but sharing failed; check connection diagnostics' } + } + return JSON.stringify(result) + } catch (error) { + await service.diagnose(args.appId, 'tool', error) + throw new Error(`${error.message}。请检查应用权限是否开通并发布,文档、表格或知识库是否已把应用添加为成员。`) + } + } })) + rt.ctx.tools.register(defineTool({ name: 'feishu_card', description: 'Send or update a persistent Feishu card in the current request conversation. card has title, blocks and actions [{id,label}], optional once:false. Blocks: text{text}, fields{items:[{label,value}]}, list{items}, progress{value,max,label}, table{columns:[{key,label}],rows}, chart{spec}, pages{pages:[{title,blocks}]}, input{name,label,placeholder}, applet{description}. Inputs/buttons form the final form. Submissions return to this Bot; they never approve tools. Pass cardId to update your own original card.', + parameters: { card: { type: 'json', required: true }, cardId: { type: 'string' } }, output, + async execute(args, exec) { + const stored = args.cardId ? service.data().cards[args.cardId] : undefined + const source = context(exec) ?? (stored ? { appId: stored.appId, ...stored.message } : undefined) + if (!source) throw new Error('Send cards while answering a Feishu request') + return JSON.stringify(await service.card(source.appId, botOf(exec).id, { chatId: source.chatId, rootId: source.rootId }, args.card, args.cardId)) + } })) + rt.ctx.tools.register(defineTool({ name: 'feishu_file', description: 'Send an attachment already present in this Session to the current Feishu request. Images up to 10 MB, files up to 30 MB; a larger attachment cannot be sent. No host paths or arbitrary URLs are accepted.', + parameters: { attachmentId: { type: 'string', required: true } }, output, + async execute(args, exec) { + const bot = botOf(exec), source = context(exec) + if (!source) throw new Error('Send files while answering a Feishu request') + service.appOf(source.appId) + if ((bot.ownerId ?? 'owner-1') !== service.appOf(source.appId).ownerId) throw new Error('Wrong Feishu app owner') + let ref + const session = exec.agent?.session + for (const seq of session?.surface?.nodes ?? []) { + const event = session.eventAt(seq) + for (const b of event?.data?.message?.content ?? event?.data?.content ?? []) if ((b.attachment?.attachmentId ?? b.attachment?.id) === args.attachmentId) ref = b.attachment + for (const file of (event?.data?.source ?? event?.data?.message?.source)?.attachments ?? []) if (file.id === args.attachmentId) ref = file + } + if (!ref) throw new Error('Attachment is not present in this Session') + const image = (ref.mediaType ?? ref.mime)?.startsWith('image/') && (ref.bytes ?? ref.size) <= MAX_IMAGE + // A `mediaType` marks an image attachment, readable only as an image: past 10 MB it cannot go out as a file either. + if ((ref.bytes ?? ref.size) > MAX_FILE || !image && ref.mediaType) throw new Error(TOO_LARGE) + const chunks = [] + if (image) chunks.push((await rt.ctx.attachments.readImage(ref, exec.signal)).data) + else for await (const chunk of rt.ctx.attachments.readFileStream(ref, exec.signal)) chunks.push(chunk) + const bytes = Buffer.concat(chunks) + if (bytes.length > (image ? MAX_IMAGE : MAX_FILE)) throw new Error(TOO_LARGE) + const form = new FormData() + form.set(image ? 'image_type' : 'file_type', image ? 'message' : 'stream') + if (!image) form.set('file_name', ref.name ?? 'attachment') + form.set(image ? 'image' : 'file', new Blob([bytes]), ref.name ?? 'attachment') + try { + const result = await service.api(source.appId).call('POST', image ? 'im/v1/images' : 'im/v1/files', { body: form }) + await service.send(source.appId, source, image ? 'image' : 'file', image ? { image_key: result.image_key } : { file_key: result.file_key }, exec.callId) + return 'Sent' + } catch (error) { await service.diagnose(source.appId, 'attachment-send', error); throw new Error('Feishu did not accept the attachment; the connection diagnostics have the details') } + } })) +} diff --git a/core/src/host/feishu-vault.js b/core/src/host/feishu-vault.js new file mode 100644 index 000000000..260e4b718 --- /dev/null +++ b/core/src/host/feishu-vault.js @@ -0,0 +1,50 @@ +import { createCipheriv, createDecipheriv, randomBytes } from 'node:crypto' +import { mkdir, readFile, writeFile, rename } from 'node:fs/promises' +import { join } from 'node:path' + +// Separate from user Secrets: no shell environment, model schema, or connection view can expose these. +export function createFeishuVault(home) { + let key, records, loading, tail = Promise.resolve() + const path = join(home, 'feishu-credentials.json') + const load = () => loading ??= (async () => { + await mkdir(home, { recursive: true, mode: 0o700 }) + const keyPath = join(home, 'feishu-credentials.key') + try { key = await readFile(keyPath) } catch (error) { + if (error.code !== 'ENOENT') throw error + key = randomBytes(32) + try { await writeFile(keyPath, key, { flag: 'wx', mode: 0o600 }) } + catch (err) { if (err.code !== 'EEXIST') throw err; key = await readFile(keyPath) } + } + if (key.length !== 32) throw new Error('Invalid Feishu credential key') + try { records = JSON.parse(await readFile(path, 'utf8')) } + catch (error) { if (error.code !== 'ENOENT') throw new Error('Cannot read Feishu credentials'); records = {} } + })() + const get = async id => { + await load() + const item = records[id] + if (!item) return undefined + const decipher = createDecipheriv('aes-256-gcm', key, Buffer.from(item.iv, 'base64')) + decipher.setAAD(Buffer.from(id)) + decipher.setAuthTag(Buffer.from(item.tag, 'base64')) + return JSON.parse(Buffer.concat([decipher.update(Buffer.from(item.data, 'base64')), decipher.final()]).toString()) + } + const set = (id, value) => { + const job = tail.then(async () => { + await load() + const next = { ...records } + if (value === undefined) delete next[id] + else { + const iv = randomBytes(12), cipher = createCipheriv('aes-256-gcm', key, iv) + cipher.setAAD(Buffer.from(id)) + next[id] = { iv: iv.toString('base64'), data: Buffer.concat([cipher.update(JSON.stringify(value)), cipher.final()]).toString('base64'), tag: cipher.getAuthTag().toString('base64') } + } + const temp = `${path}.${randomBytes(8).toString('hex')}` + await writeFile(temp, JSON.stringify(next), { mode: 0o600 }) + await rename(temp, path) + records = next + }) + tail = job.catch(() => {}) + return job + } + return { get, set } +} diff --git a/core/src/host/remote-chat.js b/core/src/host/remote-chat.js index 88f5278aa..88745fd9a 100644 --- a/core/src/host/remote-chat.js +++ b/core/src/host/remote-chat.js @@ -286,17 +286,18 @@ export function install(rt) { // from outside the team) that the chat's route writes back as the reply. // `human` + `ownerName`: the plugin has Bot Social's attestation that the friend typed this line // themselves (never derived from the text). The reply is then drawn as the person, not the Bot. - async function deliver({ handle, text, name, home, plugin, human, ownerName }) { + async function deliver({ handle, text, name, home, plugin, human, ownerName, sourceId, feishu, attachments }) { const id = chatOfHandle(handle)?.id ?? await open({ handle, name: name ?? handle, home, plugin }) const bot = rt.botOf(id) const agent = await rt.resolveAgent(rt.chatOf(id)) + if (sourceId && agent.session?.surface?.nodes?.some(seq => (agent.session.eventAt(seq)?.data?.source ?? agent.session.eventAt(seq)?.data?.message?.source)?.sourceId === sourceId)) return const shownName = cleanName(bot?.name ?? name ?? handle) // The reply is here: the thinking row goes before the reply is drawn, not a beat after it (#443). if (markAwaiting(id)) await rt.save().catch(error => warn('ds-bot: saving a friend chat wait failed: %s', error)) const typedBy = human === true && typeof ownerName === 'string' && ownerName.trim() ? cleanName(ownerName) : '' agent.followup(createUserMessage({ - content: [{ type: 'text', text: `[Message from ${shownName} (${cleanName(handle)})]\n${fenceUntrusted(shownName, text)}` }], - source: { kind: SOURCE_KIND, form: REMOTE_FORM, role: 'remote', exchangeId: randomUUID(), senderName: shownName, hop: 0, remote: { handle, ...(home ? { home } : {}) }, ...(typedBy ? { typedBy } : {}), text: String(text) }, + content: [{ type: 'text', text: `[Message from ${shownName} (${cleanName(handle)})]\n${fenceUntrusted(shownName, text)}` }, ...(attachments ?? []).map(file => ({ type: file.mediaType ? 'image' : 'file', attachment: file }))], + source: { kind: SOURCE_KIND, form: REMOTE_FORM, role: 'remote', ...(sourceId ? { sourceId } : {}), ...(feishu ? { feishu } : {}), ...(attachments?.length ? { attachments: attachments.map(ref => ({ id: ref.attachmentId, name: ref.name, size: ref.bytes, mime: ref.mediaType ?? '' })) } : {}), exchangeId: randomUUID(), senderName: shownName, hop: 0, remote: { handle, ...(home ? { home } : {}) }, ...(typedBy ? { typedBy } : {}), text: String(text) }, })) await ctx.sessions.flush(agent.session) await rt.ingestRemoteRoomLine?.({ handle, text, name: shownName }).catch(error => warn('ds-bot: room ingest for %s failed: %s', handle, error)) diff --git a/core/src/host/resume.js b/core/src/host/resume.js index d010bf247..94308e8f3 100644 --- a/core/src/host/resume.js +++ b/core/src/host/resume.js @@ -27,6 +27,7 @@ export const resumeText = record => [ // The trigger fields a resumed turn needs to answer the same sender. const triggerOf = info => ({ role: info.role, + ...(info.feishu ? { feishu: info.feishu } : {}), ...(info.exchangeId ? { exchangeId: info.exchangeId } : {}), ...(info.senderSessionId ? { senderSessionId: info.senderSessionId } : {}), ...(info.roomId ? { roomId: info.roomId } : {}), @@ -157,6 +158,8 @@ export function install(rt) { // Whose request the turn answers, so a resumed turn keeps its connector tools only when it was the owner's. const note = originNote(id) update(id, record => (record === undefined || record.origin === note.origin ? record : (({ origin: _, ...rest }) => ({ ...rest, ...note }))(record))) + const requester = rt.live.get(id)?.requesterMemberId + if (requester) update(id, record => record && record.requesterMemberId !== requester ? { ...record, requesterMemberId: requester } : record) if (event.data?.source?.kind !== SOURCE_KIND) break // turns.js, installed earlier, has already claimed the turn's trigger. const info = rt.live.get(id)?.info @@ -198,12 +201,18 @@ export function install(rt) { } if (record.resumed) return const trigger = record.trigger + if (trigger?.role === 'feishu' && trigger.feishu) { + const meta = trigger.feishu, pending = rt.state.feishu?.events?.[meta.eventId] + if (!rt.state.feishu?.apps?.[meta.appId] || pending?.botId !== bot.id || ['sent', 'cancelled'].includes(pending.status)) return + await rt.deliver({ toId: bot.id, role: 'feishu', feishu: meta, exchangeId: trigger.exchangeId ?? meta.eventId, resumed: true, origin: record.origin ?? OTHER, text }) + return + } if ((trigger?.role === 'request' || trigger?.role === 'stopped') && trigger.senderSessionId && trigger.audience !== 'user' && rt.botOf(trigger.senderSessionId)) { // The sender still waits for this turn's answer, so it goes on under the same exchange. await rt.deliver({ fromId: trigger.senderSessionId, toId: bot.id, role: trigger.role, hop: trigger.hop ?? 0, ...(trigger.exchangeId ? { exchangeId: trigger.exchangeId } : {}), ...(trigger.senderRoomId ? { fromRoomId: trigger.senderRoomId } : {}), resumed: true, origin: record.origin ?? OTHER, text }) return } - await rt.deliver({ toId: bot.id, role: 'resume', resumed: true, origin: record.origin ?? OTHER, text }) + await rt.deliver({ toId: bot.id, role: 'resume', resumed: true, origin: record.origin ?? OTHER, text, ...(record.requesterMemberId ? { requesterMemberId: record.requesterMemberId } : {}) }) } // A hard stop keeps the inbox, which the Session runs once it wakes; only what DSH diff --git a/core/src/host/secrets.js b/core/src/host/secrets.js index ccf336414..7914d98e6 100644 --- a/core/src/host/secrets.js +++ b/core/src/host/secrets.js @@ -31,7 +31,7 @@ export const WITHHELD_REASONS = Object.freeze({ NOT_IN_SCOPE: 'not-in-scope', UNKNOWN_BOT: 'unknown-bot', }) -export const canUse = (secret, botId) => secret !== undefined && botId !== undefined +export const canUse = (secret, botId) => secret !== undefined && botId !== undefined && !['FEISHU_APP_SECRET', 'FEISHU_WEBHOOK'].includes(secret.name) && (secret.scope === 'all' || (Array.isArray(secret.scope) && secret.scope.includes(botId))) export function normalizeName(raw) { diff --git a/core/src/host/tools.js b/core/src/host/tools.js index a807dc7f1..f938b3ac0 100644 --- a/core/src/host/tools.js +++ b/core/src/host/tools.js @@ -26,6 +26,7 @@ export const EPHEMERAL_DENIED_TOOLS = Object.freeze([ 'ask_user', 'save_capability', 'delete_capability', 'attach_capability', 'detach_capability', 'track_tasks', 'group_relay', 'request_secret', 'list_secrets', + 'feishu_apps', 'feishu_tool', 'feishu_card', 'feishu_file', 'send_message', 'schedule_create', 'schedule_update', 'schedule_delete', 'message_friend_bot', 'get_friend_file', 'list_friend_bots', 'define_workflow', 'run_workflow', diff --git a/core/src/host/turns.js b/core/src/host/turns.js index 8acc59e37..a2b507068 100644 --- a/core/src/host/turns.js +++ b/core/src/host/turns.js @@ -85,6 +85,8 @@ export function install(rt) { const keeps = info !== undefined && (info.role === 'room' || expectsReply(info)) return rt.deliver({ origin, + ...(rt.live.get(id)?.requesterMemberId ? { requesterMemberId: rt.live.get(id).requesterMemberId } : {}), + ...(keeps && info.feishu ? { feishu: info.feishu } : {}), ...(keeps && info.senderSessionId ? { fromId: info.senderSessionId } : {}), toId: rt.selfOf(id), sessionId: id, @@ -132,6 +134,8 @@ export function install(rt) { const keeps = info !== undefined && (info.role === 'room' || expectsReply(info)) return rt.deliver({ origin, + ...(rt.live.get(id)?.requesterMemberId ? { requesterMemberId: rt.live.get(id).requesterMemberId } : {}), + ...(keeps && info.feishu ? { feishu: info.feishu } : {}), ...(keeps && info.senderSessionId ? { fromId: info.senderSessionId } : {}), toId: rt.selfOf(id), sessionId: id, @@ -243,7 +247,7 @@ export function install(rt) { const answersUser = info => info.role === 'request' && info.audience === 'user' // Roles whose turn owes the sender a reply: a 'stopped' notice asks the Bot to // acknowledge, exactly like a request. - const expectsReply = info => info.role === 'request' || info.role === 'stopped' + const expectsReply = info => info.role === 'request' || info.role === 'stopped' || info.role === 'feishu' // A friend's Bot asking (FlyBot remote, Bot Social): the turn stays in the Bot's own // chat, where the user sees it, and its answer goes back to the friend's Bot. const fromRemote = info => info.role === 'request' && typeof info.remote?.handle === 'string' @@ -262,6 +266,13 @@ export function install(rt) { const claimTrigger = (sessionId, entry, info) => { if (info.form === 'remote-chat' && typeof info.typedBy === 'string' && info.typedBy && entry.turn !== undefined) markTypedTurn(sessionId, entry.turn, info.typedBy) entry.info = info + if (info.requesterMemberId) entry.requesterMemberId = info.requesterMemberId + if (info.form === 'remote-chat' && info.feishu && entry.turn !== undefined) { + const turns = (state.feishuTurns ??= {})[sessionId] ??= {} + turns[entry.turn] = { ...info.feishu, attachments: info.attachments ?? [] } + for (const key of Object.keys(turns).slice(0, -400)) delete turns[key] + void rt.save().catch(() => {}) + } rt.noteTaskDriveTrigger?.(sessionId, info) // A turn that was stopped for a part switch brings its joined requests along. if (Array.isArray(info.joined) && info.joined.length > 0) { @@ -464,6 +475,7 @@ export function install(rt) { entry.since = event.time ?? Date.now() entry.texts = [] entry.info = undefined + entry.requesterMemberId = undefined // The turn's tool-call count for the inbox (#471), one per tool/call event, the same // events the activity feed folds. A program's sub-calls are not tool/call events. entry.toolCalls = 0 @@ -497,6 +509,7 @@ export function install(rt) { // Bot relay that lands inside it may claim: the first message of a turn // still claims it as today, a later one only joins it. const opened = entry.opened === true + if (!opened && source?.kind === 'user' && source.authorKind === 'human' && typeof source.authorId === 'string') entry.requesterMemberId = source.authorId if (entry.turn !== undefined && !bare(source) && (source?.kind === 'user' || source?.kind === REPLY_KIND || source?.kind === 'schedule' || source?.kind === SOURCE_KIND)) { entry.opened = true @@ -669,6 +682,10 @@ export function install(rt) { // Whoever the turn answers gets the same three-way rule: a failure notice, // the turn's text (or a stopped-before-answer line), or nothing. const answer = (source, reply) => { + if (source.feishu) { + void rt.feishu?.complete(source.feishu, reply, failure ?? (reason?.kind === 'aborted' ? true : undefined)).catch(error => rt.warn('ds-bot: Feishu reply failed: %s', error.code ?? 'error')) + return + } if (fromRemote(source)) { // A hard failure owes the sender a sentence (#1068). Without it their DM stays on // "Weighing the options…" until the wait expires, and a missing credential never expires @@ -754,7 +771,8 @@ export function install(rt) { toId: rt.selfOf(id), sessionId: id, text: request.text, - role: 'request', + role: request.info.feishu ? 'feishu' : 'request', + ...(request.info.feishu ? { feishu: request.info.feishu, untrusted: true } : {}), hop: request.info.hop ?? 0, exchangeId: request.info.exchangeId, ...(request.info.senderRoomId ? { fromRoomId: request.info.senderRoomId } : {}), diff --git a/core/src/host/workbench-gateway.js b/core/src/host/workbench-gateway.js index fc3d80759..47ccb9b92 100644 --- a/core/src/host/workbench-gateway.js +++ b/core/src/host/workbench-gateway.js @@ -8,6 +8,7 @@ import { resolve } from 'node:path' import { pathToFileURL } from 'node:url' export const WORKBENCH_ENDPOINTS = new Set([ + 'feishu', 'personal-agent-token-create', 'personal-agent-token-list', 'personal-agent-token-revoke', 'personal-agent-delegation-set', 'personal-agent-propose-task', 'personal-agent-history', 'personal-agent-create', 'personal-agent-read', 'personal-agent-list', 'personal-agent-join', 'personal-agent-default', 'personal-agent-participations', 'personal-agent-leave', 'personal-agent-retire', 'personal-space', 'auth-mode', 'platform-login', 'auth-whoami', 'auth-revoke', 'auth-invite', 'auth-redeem', 'workbench-state', 'project-repositories', 'project-repository-link', 'project-repository-unlink', 'project-close-request', 'project-close-prepare', 'project-close-confirm', diff --git a/core/src/host/workbench-personal.js b/core/src/host/workbench-personal.js index 35a3d321d..125f28443 100644 --- a/core/src/host/workbench-personal.js +++ b/core/src/host/workbench-personal.js @@ -3,7 +3,7 @@ import { textOf } from './text.js' import { ownEntry } from './store.js' const refused = () => Object.assign(new Error('You cannot access that personal conversation'), { code: 'bot/forbidden' }) -const personalBot = bot => bot && !bot.projectAgent && !bot.ephemeral && !bot.projectId && !bot.remote +const personalBot = bot => bot && !bot.projectAgent && !bot.ephemeral && !bot.projectId && (!bot.remote || bot.remote.plugin === 'feishu') export function personalRoster(rt, actor) { if (!actor?.memberId) throw refused() const bots = Object.values(rt.state.bots).filter(bot => personalBot(bot) && rt.botOwnedBy(actor, bot.id)) @@ -11,7 +11,7 @@ export function personalRoster(rt, actor) { const bot = ownEntry(rt.state.bots, id) return bot && !bot.projectAgent && !bot.ephemeral && !bot.remote && (!bot.projectId || bot.projectId === room.projectId) })) - return { bots: bots.map(({ id, name, role, instructions, model, color, avatar, parentId, sessionId }) => ({ id, name, role, instructions, model, color, avatar, parentId, sessionId: rt.chatOf?.(id) ?? sessionId ?? id, parts: (rt.partsOf?.(id) ?? []).map(part => ({ sessionId: part.sessionId, number: part.number })) })), rooms: rooms.map(({ id, name, members, participants, mode, projectId }) => ({ id, name, ...(projectId ? { projectId } : {}), members, participants: (participants ?? []).map(({ id, kind, displayName, role, joinedSeq, leftSeq }) => ({ id, kind, displayName, role, joinedSeq, leftSeq })), mode })), mainBotIds: rt.state.mainBotIds.filter(id => bots.some(bot => bot.id === id)) } + return { bots: bots.map(({ id, name, role, instructions, model, color, avatar, parentId, sessionId, remote }) => ({ id, name, role, instructions, model, color, avatar, parentId, ...(remote ? { remote } : {}), sessionId: rt.chatOf?.(id) ?? sessionId ?? id, parts: (rt.partsOf?.(id) ?? []).map(part => ({ sessionId: part.sessionId, number: part.number })) })), rooms: rooms.map(({ id, name, members, participants, mode, projectId }) => ({ id, name, ...(projectId ? { projectId } : {}), members, participants: (participants ?? []).map(({ id, kind, displayName, role, joinedSeq, leftSeq }) => ({ id, kind, displayName, role, joinedSeq, leftSeq })), mode })), mainBotIds: rt.state.mainBotIds.filter(id => bots.some(bot => bot.id === id)) } } export function requirePersonalSession(rt, actor, id) { const roster = personalRoster(rt, actor) diff --git a/core/src/shared/feishu.js b/core/src/shared/feishu.js new file mode 100644 index 000000000..ea27c552c --- /dev/null +++ b/core/src/shared/feishu.js @@ -0,0 +1,37 @@ +// Shared setup contract; the browser and server validate the same application and permission names. +export const APP_ID = /^cli_[0-9a-f]{16}$/i +export const BASE_SCOPES = ['im:message.group_at_msg:readonly', 'im:message.p2p_msg:readonly', 'im:message:send_as_bot', 'im:message.reactions:write_only', 'im:resource', 'im:message:readonly', 'im:chat:readonly', 'contact:contact.base:readonly', 'contact:user.base:readonly', 'im:message.group_msg.include_bot:read'] +export const PRODUCTS = [ + { id: 'calendar', label: 'Calendar', scopes: ['calendar:calendar'] }, + { id: 'docs', label: 'Documents and wiki', scopes: ['docx:document', 'drive:drive', 'wiki:wiki'] }, + { id: 'bitable', label: 'Bitable', scopes: ['bitable:app'] }, + { id: 'sheets', label: 'Spreadsheets', scopes: ['sheets:spreadsheet'] }, + { id: 'meeting', label: 'Video meetings', scopes: ['vc:reserve'] }, + { id: 'task', label: 'Tasks', scopes: ['task:task:write'] }, +] +export const STEPS = ['Create an app on Feishu Open Platform', 'Enter credentials and test connection', 'Subscribe to message events and card callbacks', 'Publish an app version', 'Choose the Bot represented by the robot', 'Try it in Feishu'] +export const setupSteps = mode => mode === 'http' ? ['Prepare a public event address', ...STEPS] : [...STEPS] +export const permissionJSON = (selected = []) => JSON.stringify({ scopes: { tenant: [...new Set([...BASE_SCOPES, ...PRODUCTS.filter(p => selected.includes(p.id)).flatMap(p => p.scopes)])], user: [] } }, null, 2) +export function scopeGranted(scope, list = []) { + if (scope === 'im:message:readonly') return ['im:message:readonly', 'im:message', 'im:message.history:readonly'].some(s => list.includes(s)) + if (scope === 'im:message.reactions:write_only') return list.includes(scope) || list.includes('im:message') + return list.includes(scope) +} +export function productAccess(product, list = []) { + if (product.scopes.every(s => list.includes(s))) return 'write' + if (['meeting', 'task'].includes(product.id)) return 'disabled' + return product.scopes.every(s => list.includes(s) || list.includes(`${s}:readonly`)) ? 'read' : 'disabled' +} +export function validateCredentials({ appId, appSecret, verificationToken }, mode) { + if (!APP_ID.test(appId ?? '')) throw new Error('App ID must be cli_ followed by 16 hexadecimal characters') + if (typeof appSecret !== 'string' || !appSecret.trim()) throw new Error('Enter the App Secret') + if (!['socket', 'http'].includes(mode)) throw new Error('Choose a receiving method') + if (mode === 'http' && !verificationToken?.trim()) throw new Error('Enter the Verification Token') +} +export function publicAddress(value) { + try { + const u = new URL(value) + return u.protocol === 'https:' && !u.username && !u.password && !u.hash && !u.search && + !/^(localhost$|127\.|10\.|0\.|192\.168\.|172\.(1[6-9]|2\d|3[01])\.|\[|169\.254\.)/.test(u.hostname) && !u.hostname.endsWith('.local') + } catch { return false } +} diff --git a/core/test/feishu-migration.test.js b/core/test/feishu-migration.test.js new file mode 100644 index 000000000..e2b766d88 --- /dev/null +++ b/core/test/feishu-migration.test.js @@ -0,0 +1,450 @@ +import assert from 'node:assert/strict' +import { test } from 'node:test' +import { mkdtemp, readFile, rm, stat, writeFile } from 'node:fs/promises' +import { tmpdir } from 'node:os' +import { join } from 'node:path' +import { setTimeout as delay } from 'node:timers/promises' +import { createFeishuService } from '../src/host/feishu-service.js' +import { createFeishuVault } from '../src/host/feishu-vault.js' +import { createFeishuEventServer } from '../src/host/feishu-http.js' +import { readMessage, fromPost, markdown, toCard, MAX_POST } from '../src/host/feishu-format.js' +import { setupSteps, permissionJSON, validateCredentials } from '../src/shared/feishu.js' +import { canUse } from '../src/host/secrets.js' +import { installFeishuTools, FEISHU_OPERATIONS, operationWrites } from '../src/host/feishu-tools.js' +import { createFeishuCalendars } from '../src/host/feishu-calendar.js' +import { createRuntime } from '../index.js' +import { fakeContext } from './fake-ctx.js' +import { SOURCE_KIND } from '../src/host/constants.js' +import { createFeishuApi } from '../src/host/feishu-api.js' +import { createFeishuTransport, SDK_PACKAGE } from '../src/host/feishu-sdk.js' +import { install as installResume } from '../src/host/resume.js' +import { install as installDelivery } from '../src/host/delivery.js' + +const APP = 'cli_0123456789abcdef', OTHER = 'cli_fedcba9876543210' +const owner = { memberId: 'owner-1' } +const creds = { appId: APP, appSecret: 'fixture-app-secret', verificationToken: 'fixture-verification' } +const event = (id = 'm1', more = {}) => ({ header: { event_id: `e-${id}`, event_type: 'im.message.receive_v1', app_id: APP, token: creds.verificationToken }, event: { sender: { sender_id: { open_id: 'ou_alice' }, sender_type: 'user' }, message: { message_id: id, chat_id: 'oc_group', chat_type: 'group', root_id: 'om_root', message_type: 'text', mentions: [{ id: { open_id: 'ou_bot' } }], content: JSON.stringify({ text: 'hello' }), ...more } } }) +const until = async fn => { for (let i = 0; i < 100; i++) { if (fn()) return; await delay(5) }; assert.fail('condition did not settle') } +function rig(snapshot, options = {}) { + const rt = { home: '', config: {}, state: snapshot ?? { members: { 'owner-1': { id: 'owner-1', displayName: 'Owner' }, bob: { id: 'bob', displayName: 'Bob' } }, bots: { b1: { id: 'b1', ownerId: 'owner-1', name: 'Chief' } } }, ctx: {}, authzEnforced: () => true, readOnly: () => undefined, load: async () => {}, save: async () => {}, botOf(id) { return rt.state.bots[id] } } + const calls = [], delivered = [], history = [], secrets = new Map() + const vault = { get: async id => secrets.get(id), set: async (id, value) => value === undefined ? secrets.delete(id) : secrets.set(id, structuredClone(value)) } + let failSend = false, failPost = false + const request = async (url, init) => { + const path = new URL(url).pathname, body = init.body instanceof FormData ? init.body : init.body ? JSON.parse(init.body) : undefined + calls.push({ path, method: init.method, body }) + if (path.includes('tenant_access_token')) return Response.json({ code: 0, tenant_access_token: 'fixture-tenant-token', expire: 7200 }) + if (failSend && path.includes('/messages') && init.method === 'POST' && !path.includes('reactions')) throw new Error('fixture network failure') + if (failPost && body?.msg_type === 'post') return Response.json({ code: 230001 }) + const data = path.includes('bot/v3/info') ? { bot: { open_id: 'ou_bot', app_name: 'Example' } } : path.includes('application/v6/scopes') ? { scopes: [] } : path.includes('/chats/') ? { name: 'Example group' } : path.includes('reactions') ? { reaction_id: 'reaction1' } : { message_id: 'sent-card' } + return Response.json({ code: 0, data }) + } + rt.deliver = async m => { delivered.push(m) } + rt.remoteChats = { open: async () => {}, deliver: async m => { history.push(m) } } + const transport = options.transport ?? (() => ({ connect: async () => ({ close: async () => {} }) })) + const service = createFeishuService(rt, { request, vault, transport }) + const save = async (id = APP, mode = 'socket') => { + await service.endpoint({ operation: 'save', appId: id, appSecret: creds.appSecret, mode, verificationToken: creds.verificationToken, publicUrl: 'https://events.example.com', botId: 'b1' }, owner) + await service.endpoint({ operation: 'allow', appId: id, openId: 'ou_alice' }, owner) + } + return { rt, service, calls, delivered, history, vault, secrets, save, failSend: value => { failSend = value }, failPost: value => { failPost = value } } +} + +test('setup flows, credential validation and a single permission import cover both receiving methods', () => { + assert.equal(setupSteps('socket').length, 6) + assert.equal(setupSteps('http').length, 7) + assert.equal(setupSteps('http')[0], 'Prepare a public event address') + assert.throws(() => validateCredentials({ ...creds, appId: 'cli_nothexcharacters' }, 'socket'), /16 hexadecimal/) + assert.throws(() => validateCredentials({ ...creds, verificationToken: '' }, 'http'), /Verification Token/) + validateCredentials(creds, 'http') + const permissions = JSON.parse(permissionJSON(['calendar', 'docs', 'bitable', 'sheets', 'meeting', 'task'])) + assert.ok(permissions.scopes.tenant.includes('im:message.reactions:write_only')) + assert.ok(permissions.scopes.tenant.includes('wiki:wiki')) + assert.ok(permissions.scopes.tenant.includes('vc:reserve')) + assert.equal(new Set(permissions.scopes.tenant).size, permissions.scopes.tenant.length) +}) + +test('vault encrypts credentials on disk and authenticates their application binding', async t => { + const home = await mkdtemp(join(tmpdir(), 'feishu-vault-')); t.after(() => rm(home, { recursive: true, force: true })) + const vault = createFeishuVault(home) + await vault.set(APP, creds) + const bytes = await readFile(join(home, 'feishu-credentials.json'), 'utf8') + assert.ok(!bytes.includes(creds.appSecret)); assert.ok(!bytes.includes(creds.verificationToken)) + assert.equal((await stat(join(home, 'feishu-credentials.json'))).mode & 0o777, 0o600) + assert.deepEqual(await createFeishuVault(home).get(APP), creds) + assert.equal(canUse({ name: 'FEISHU_APP_SECRET', scope: 'all' }, 'b1'), false) + assert.equal(canUse({ name: 'OTHER_KEY', scope: 'all' }, 'b1'), true) + assert.equal(canUse({ name: 'FEISHU_CUSTOM_USER_KEY', scope: 'all' }, 'b1'), true) + await vault.set(APP, undefined); assert.equal(await vault.get(APP), undefined) +}) + +test('switching methods retains app, sender list, identity, Bot and conversation handle, but deletes token', async () => { + const r = rig(); await r.save(APP, 'http') + await r.service.endpoint({ operation: 'identity', appId: APP, openId: 'ou_alice', memberId: 'bob' }, owner) + await r.service.endpoint({ operation: 'save', appId: APP, mode: 'socket' }, owner) + assert.equal(Object.keys(r.service.data().apps).length, 1) + assert.equal((await r.vault.get(APP)).verificationToken, undefined) + assert.deepEqual(r.service.appOf(APP).allowed, ['ou_alice']) + assert.equal(r.service.appOf(APP).botId, 'b1') + assert.equal(r.service.identity(APP, 'ou_alice').memberId, 'bob') + await assert.rejects(r.service.receive(APP, event(), 'http'), /Receiving method changed/) + const display = JSON.stringify(r.service.view(owner)) + assert.ok(!display.includes(creds.appSecret)); assert.ok(!display.includes(creds.verificationToken)) +}) + +test('persisted inbox deduplicates concurrent and restarted deliveries and routes replies to their thread', async () => { + const r = rig(); await r.save() + await Promise.all([r.service.receive(APP, event(), 'socket'), r.service.receive(APP, event(), 'socket')]) + await until(() => r.delivered.length === 1) + assert.equal(r.delivered[0].toId, 'b1'); assert.equal(r.delivered[0].feishu.rootId, 'om_root') + assert.equal(r.history[0].handle, `feishu:oc_group`) + const restarted = rig(structuredClone(r.rt.state)); await restarted.vault.set(APP, await r.vault.get(APP)) + assert.equal((await restarted.service.receive(APP, event(), 'socket')).duplicate, true) + assert.equal(restarted.delivered.length, 0) + await r.service.complete(r.delivered[0].feishu, '**answer**') + const reply = r.calls.find(c => c.path.endsWith('/om_root/reply')) + assert.ok(reply); assert.equal(reply.body.reply_in_thread, true) + assert.equal(reply.body.msg_type, 'post') + assert.ok(r.calls.some(c => c.method === 'DELETE' && c.path.endsWith('/reactions/reaction1'))) +}) + +test('save failure is not acknowledged as a handled event', async () => { + const r = rig(); await r.save() + r.rt.save = async () => { throw new Error('disk full') } + await assert.rejects(r.service.receive(APP, event(), 'socket'), /disk full/) + assert.equal(Object.keys(r.service.data().events).length, 0) + r.rt.save = async () => {} + assert.equal((await r.service.receive(APP, event(), 'socket')).duplicate, false) + await until(() => r.delivered.length === 1) +}) + +test('HTTP verifies token, application, mode and encryption before accepting a challenge or event', async () => { + const r = rig(); await r.save(APP, 'http') + await assert.rejects(r.service.receive(APP, { token: 'wrong', type: 'url_verification', challenge: 'x' }, 'http'), /Verification Token/) + assert.deepEqual(await r.service.receive(APP, { token: creds.verificationToken, type: 'url_verification', challenge: 'x' }, 'http'), { challenge: 'x' }) + await assert.rejects(r.service.receive(APP, { token: creds.verificationToken, encrypt: 'ciphertext' }, 'http'), /Encrypt Key/) + const foreign = event(); foreign.header.app_id = OTHER + await assert.rejects(r.service.receive(APP, foreign, 'http'), /does not match/) + assert.equal(Object.keys(r.service.data().events).length, 0) +}) + +test('event listener exposes only event paths and never console or arbitrary API access', async t => { + const r = rig(); await r.save(APP, 'http') + const server = createFeishuEventServer(r.service) + await new Promise(resolve => server.listen(0, '127.0.0.1', resolve)); t.after(() => server.close()) + const base = `http://127.0.0.1:${server.address().port}` + assert.equal((await fetch(`${base}/api/bot`)).status, 404) + const response = await fetch(`${base}/api/feishu/events/${APP}`, { method: 'POST', body: JSON.stringify({ type: 'url_verification', token: creds.verificationToken, challenge: 'challenge' }) }) + assert.equal(response.status, 200); assert.deepEqual(await response.json(), { challenge: 'challenge' }) +}) + +test('Markdown round trip preserves rich content and thread metadata without fetching external images', () => { + const text = fromPost({ zh_cn: { title: 'Title', content: [[{ tag: 'text', text: 'bold', style: ['bold'] }, { tag: 'a', text: 'link', href: 'https://example.com' }], [{ tag: 'code_block', language: 'js', text: 'x()' }], [{ tag: 'hr' }]] } }) + assert.match(text, /\*\*bold\*\*/); assert.match(text, /\[link\]/); assert.match(text, /```js/); assert.match(text, /---/) + const m = event('rich', { message_type: 'post', content: JSON.stringify({ zh_cn: { content: [[{ tag: 'text', text: 'hello' }, { tag: 'img', image_key: 'fixture-image' }]] } }) }) + const read = readMessage(m) + assert.equal(read.text, 'hello'); assert.equal(read.files.length, 1); assert.equal(read.rootId, 'om_root') + assert.match(markdown('# Title\n![pic](https://example.com/x.png)\nall'), /^#### Title/) + assert.ok(!markdown('').includes('')) + assert.equal(markdown('See [notes](/files/1) and [site](https://example.com)'), 'See notes and [site](https://example.com)', 'a console-relative link keeps only its text') + assert.equal(markdown('```mermaid\ngraph TD\n```'), '```mermaid\ngraph TD\n```', 'Mermaid stays code, with no console link') + assert.equal(markdown('Ask @Bob', new Map([['Bob', 'ou_bob']])), 'Ask Bob') +}) + +test('rich-post rejection and size overflow fall back to plain text, leaving technical details in diagnostics', async () => { + const r = rig(); await r.save(); r.failPost(true) + await r.service.sendText(APP, { chatId: 'chat' }, '**answer**', 'uuid1') + assert.deepEqual(r.calls.filter(c => c.body?.msg_type).map(c => c.body.msg_type), ['post', 'text']) + await r.service.sendText(APP, { chatId: 'chat' }, 'x'.repeat(MAX_POST + 1), 'uuid2') + assert.equal(r.calls.at(-1).body.msg_type, 'text') + assert.equal(r.service.appOf(APP).diagnostics[0].kind, 'format') +}) + +test('failed sending keeps the Get reaction; explicit retry sends once and only then removes it', async () => { + const r = rig(); await r.save(); await r.service.receive(APP, event(), 'socket'); await until(() => r.delivered.length === 1) + r.failSend(true); await r.service.complete(r.delivered[0].feishu, 'answer') + assert.equal(r.service.data().events[`${APP}:m1`].reactionId, 'reaction1') + assert.ok(!r.calls.some(c => c.method === 'DELETE')) + r.failSend(false); await r.service.endpoint({ operation: 'retry', appId: APP, outboxId: `${APP}:m1` }, owner) + assert.equal(r.service.data().outbox[`${APP}:m1`].status, 'sent') + assert.equal(r.service.data().events[`${APP}:m1`].reactionId, undefined) +}) + +test('cards persist before sending and require the actual linked clicker; replay and foreign app cannot resubmit', async () => { + const r = rig(); await r.save() + const card = await r.service.card(APP, 'b1', { chatId: 'oc_group', rootId: 'om_root' }, { title: 'Question', blocks: [{ type: 'text', text: 'Choose' }, { type: 'input', name: 'comment', label: 'Comment' }], actions: [{ id: 'yes', label: 'Submit' }] }) + const callback = { header: { event_type: 'card.action.trigger', event_id: 'click1' }, event: { operator: { open_id: 'ou_alice' }, context: { open_message_id: 'sent-card', open_chat_id: 'oc_group' }, action: { value: { flybot_card: card.id, action: 'yes', version: 1 }, form_value: { comment: 'hi' } } } } + assert.equal((await r.service.receive(APP, callback, 'socket')).toast.type, 'error') + assert.equal(r.delivered.length, 0) + await r.service.endpoint({ operation: 'identity', appId: APP, openId: 'ou_alice', memberId: 'bob' }, owner) + const response = await r.service.receive(APP, callback, 'socket') + assert.equal(response.toast.content, '已提交') + await until(() => r.delivered.length === 1) + assert.equal(r.service.data().cards[card.id].submissions[0].memberId, 'bob') + assert.match(r.delivered[0].text, /bob/) + assert.deepEqual(await r.service.receive(APP, callback, 'socket'), response) + await delay(10); assert.equal(r.delivered.length, 1) + const rendered = toCard(r.service.data().cards[card.id]) + assert.equal(rendered.body.elements.find(e => e.tag === 'form').elements[0].tag, 'input') + assert.equal(rendered.body.elements.find(e => e.tag === 'form').elements.at(-1).disabled, true) +}) + +test('tool capabilities default off, remain app-specific and are removed with the connection', async () => { + const r = rig(); await r.save(); await r.save(OTHER) + assert.throws(() => r.service.authorizeTool('b1', APP, 'calendar', false), /not granted/) + await r.service.endpoint({ operation: 'grant', appId: APP, botId: 'b1', product: 'calendar', mode: 'read' }, owner) + assert.equal(r.service.authorizeTool('b1', APP, 'calendar', false), 'read') + assert.throws(() => r.service.authorizeTool('b1', APP, 'calendar', true), /not granted/) + assert.throws(() => r.service.authorizeTool('b1', OTHER, 'calendar', false), /not granted/) + await assert.rejects(r.service.endpoint({ operation: 'grant', appId: APP, botId: 'b1', product: 'calendar', mode: 'write' }, { memberId: 'bob' }), /app owner/) + await r.service.endpoint({ operation: 'delete', appId: APP }, owner) + assert.equal(r.service.data().grants[APP], undefined); assert.equal(await r.vault.get(APP), undefined) +}) + +test('write gate requests native approval before network access; meeting host must come from linked request context', async () => { + const r = rig(); await r.save() + const tools = new Map(), listeners = new Map() + r.rt.ctx = { tools: { register: tool => tools.set(tool.name, tool) }, on: (name, listener) => listeners.set(name, listener) } + r.rt.whoseAgent = () => ({ bot: r.rt.state.bots.b1 }) + r.rt.liveOf = () => ({ info: { feishu: { appId: APP, openId: 'ou_alice' } } }) + installFeishuTools(r.rt, r.service) + const args = { appId: APP, operation: 'calendar_create', parameters: { body: { summary: 'Team' } } }, exec = { name: 'feishu_tool', arguments: args, agent: { id: 'b1' } } + await r.service.endpoint({ operation: 'grant', appId: APP, botId: 'b1', product: 'calendar', mode: 'ask' }, owner) + const before = r.calls.length + assert.equal((await listeners.get('tools/pre-execute')(exec, async () => ({ kind: 'allow' }))).kind, 'ask') + assert.equal(r.calls.length, before) + await r.service.endpoint({ operation: 'grant', appId: APP, botId: 'b1', product: 'meeting', mode: 'write' }, owner) + const booking = { appId: APP, operation: 'meeting_reserve', parameters: { body: { owner_id: 'forged-owner', end_time: '2000000000' } } } + await assert.rejects(tools.get('feishu_tool').execute(booking, exec), /没有关联/) + await r.service.endpoint({ operation: 'identity', appId: APP, openId: 'ou_alice', memberId: 'bob' }, owner) + await tools.get('feishu_tool').execute(booking, exec) + assert.equal(r.calls.at(-1).body.owner_id, 'ou_alice') + assert.deepEqual(new Set(Object.values(FEISHU_OPERATIONS).map(op => op[0])), new Set(['calendar', 'docs', 'bitable', 'sheets', 'meeting', 'task'])) + assert.equal(operationWrites(FEISHU_OPERATIONS.bitable_records), false) +}) + +test('multiple requests queue for one Bot and do not clear a later request reaction', async () => { + const r = rig(); await r.save() + await r.service.receive(APP, event('m1'), 'socket'); await until(() => r.delivered.length === 1) + await r.service.receive(APP, event('m2'), 'socket'); await delay(15) + assert.equal(r.delivered.length, 1) + await r.service.complete(r.delivered[0].feishu, 'first answer') + await until(() => r.delivered.length === 2) + assert.equal(r.delivered[1].feishu.eventId, `${APP}:m2`) + assert.ok(!r.calls.some(c => c.method === 'DELETE' && c.path.includes('/m2/'))) +}) + +test('meetings use the actual linked human across companies and refuse ambiguous or missing accounts', async () => { + const r = rig(); await r.save(); await r.save(OTHER) + const tools = new Map() + r.rt.ctx = { tools: { register: tool => tools.set(tool.name, tool) }, on() {} } + r.rt.whoseAgent = () => ({ bot: r.rt.state.bots.b1 }) + let live = { info: { feishu: { appId: APP, openId: 'ou_alice' } }, requesterMemberId: 'owner-1' } + r.rt.liveOf = () => live + installFeishuTools(r.rt, r.service) + for (const [appId, openId] of [[APP, 'ou_alice'], [OTHER, 'ou_bob_other']]) await r.service.endpoint({ operation: 'identity', appId, openId, memberId: 'bob' }, owner) + await r.service.endpoint({ operation: 'grant', appId: OTHER, botId: 'b1', product: 'meeting', mode: 'write' }, owner) + const booking = { appId: OTHER, operation: 'meeting_reserve', parameters: { body: { owner_id: 'forged', end_time: '2000000000' } } }, exec = { agent: { id: 'b1' } } + await tools.get('feishu_tool').execute(booking, exec) + assert.equal(r.calls.at(-1).body.owner_id, 'ou_bob_other') + live = { requesterMemberId: 'bob' } + await tools.get('feishu_tool').execute(booking, exec) + assert.equal(r.calls.at(-1).body.owner_id, 'ou_bob_other') + live = { info: { feishu: { appId: APP, openId: 'ou_unlinked' } }, requesterMemberId: 'bob' } + await assert.rejects(tools.get('feishu_tool').execute(booking, exec), /没有关联/) + live = { requesterMemberId: 'bob' } + await r.service.endpoint({ operation: 'identity', appId: OTHER, openId: 'ou_second', memberId: 'bob' }, owner) + await assert.rejects(tools.get('feishu_tool').execute(booking, exec), /没有关联/) +}) + +test('native delivery deduplicates a new event but permits its interrupted turn to resume', async () => { + const messages = [], meta = { eventId: 'event', appId: APP, chatId: 'oc_chat' } + const agent = { session: { surface: { nodes: [1] }, eventAt: () => ({ data: { source: { exchangeId: 'event' } } }) }, followup: message => messages.push(message) } + const rt = { state: {}, ctx: { sessionController: { resolveAgent: async () => ({ agent }) }, sessions: { flush: async () => {} } }, botOf: id => id ? { id } : undefined, chatOf: id => id, roomOf() {}, ensureCapabilities: async () => {}, hideBlockingQuestion() {} } + installDelivery(rt) + const args = { toId: 'b1', role: 'feishu', exchangeId: 'event', feishu: meta, origin: 'other', text: 'question' } + await rt.deliver(args); assert.equal(messages.length, 0) + await rt.deliver({ ...args, resumed: true }); assert.equal(messages.length, 1) + assert.deepEqual(messages[0].source.feishu, meta) +}) + +test('restart pickup retains the Feishu target and suppresses cancelled-handler recovery', async t => { + const home = await mkdtemp(join(tmpdir(), 'feishu-resume-')), meta = { eventId: 'event', appId: APP, chatId: 'oc_chat', rootId: 'om_thread', openId: 'ou_alice' } + await writeFile(join(home, 'inflight.json'), JSON.stringify({ turns: { b1: { botId: 'b1', trigger: { role: 'feishu', exchangeId: 'event', feishu: meta } }, b2: { botId: 'b2', trigger: { role: 'feishu', feishu: { ...meta, eventId: 'cancelled' } } } }, queued: {} })) + const ctx = fakeContext(), deliveries = [] + const rt = { home, ctx, state: { feishu: { apps: { [APP]: {} }, events: { event: { botId: 'b1', status: 'admitted' }, cancelled: { botId: 'b2', status: 'cancelled' } } } }, live: new Map(), readOnly() {}, load: async () => {}, botOf: id => ({ id }), chatOf: id => id, resolveAgent: async () => ({}), deliver: async args => deliveries.push(args), warn() {} } + t.mock.timers.enable({ apis: ['setTimeout'] }) + installResume(rt) + t.after(async () => { await ctx.dispose(); await rm(home, { recursive: true, force: true }) }) + t.mock.timers.tick(3000) + for (let i = 0; i < 1000 && !deliveries.length; i++) await new Promise(resolve => setImmediate(resolve)) + assert.equal(deliveries.length, 1) + assert.equal(deliveries[0].role, 'feishu'); assert.equal(deliveries[0].resumed, true) + assert.deepEqual(deliveries[0].feishu, meta) +}) + +test('native turn completion routes the original Feishu metadata to its durable outbox', async t => { + const home = await mkdtemp(join(tmpdir(), 'feishu-turn-')) + const ctx = fakeContext(), rt = createRuntime(ctx, { home }) + await rt.load() + rt.state.bots.b1 = { id: 'b1', sessionId: 'b1', name: 'Chief', ownerId: 'owner-1' } + rt.chatOwners.set('b1', 'b1') + const completed = [], meta = { eventId: 'fixture-event', appId: APP, chatId: 'oc_chat', rootId: 'om_root', openId: 'ou_alice' } + rt.feishu = { complete: async (...args) => completed.push(args) } + t.after(async () => { await ctx.dispose(); await rm(home, { recursive: true, force: true, maxRetries: 5, retryDelay: 20 }) }) + const emit = async (type, data) => { for (const listener of ctx.listeners.get('session/event') ?? []) await listener({ id: 'b1' }, { type, data }) } + await emit('turn/start', { turn: 1 }) + await emit('user/message', { source: { kind: 'user', authorKind: 'human', authorId: 'bob' }, content: [{ type: 'text', text: 'native question' }] }) + assert.equal(rt.liveOf('b1').requesterMemberId, 'bob') + await emit('turn/start', { turn: 2 }) + assert.equal(rt.liveOf('b1').requesterMemberId, undefined) + await emit('user/message', { source: { kind: SOURCE_KIND, form: 'relay', role: 'feishu', exchangeId: 'fixture-event', feishu: meta, origin: 'other', hop: 0 }, content: [{ type: 'text', text: 'question' }] }) + await emit('assistant/message', { message: { content: [{ type: 'text', text: 'answer' }] } }) + await emit('turn/end', { reason: { kind: 'completed' } }) + assert.equal(completed.length, 1) + assert.deepEqual(completed[0][0], meta) + assert.equal(completed[0][1], 'answer') +}) + +test('calendar group sharing preserves existing owners and removes only its own unchanged ACL additions', async () => { + const state = {}, calls = [], acl = [{ acl_id: 'owner-acl', role: 'owner', scope: { user_id: 'ou_owner' } }] + const api = { async call(method, path, options = {}) { + calls.push({ method, path, body: options.body }) + if (path.endsWith('/members')) return { items: [{ member_id: 'ou_owner' }, { member_id: 'ou_joiner' }] } + if (method === 'GET') return { acls: structuredClone(acl) } + if (method === 'POST') { const row = { acl_id: 'new-acl', ...options.body }; acl.push(row); return row } + return {} + } } + const service = { data: () => state, api: () => api, commit: async fn => fn(), diagnose: async () => {}, authorizeTool() {} } + const calendars = createFeishuCalendars(service) + const result = await calendars.share(APP, 'b1', { calendar_id: 'calendar', chat_id: 'chat', role: 'reader' }) + assert.equal(result.members, 2) + assert.equal(calls.filter(c => c.method === 'POST').length, 1) + assert.equal(calls.find(c => c.method === 'POST').body.scope.user_id, 'ou_joiner') + await calendars.share(APP, 'b1', { calendar_id: 'calendar', chat_id: 'chat', stop: true }) + assert.equal(calls.filter(c => c.method === 'DELETE').length, 1) + assert.ok(calls.find(c => c.method === 'DELETE').path.endsWith('/new-acl')) + assert.deepEqual(state.calendarShares, {}) +}) + +test('revocation while obtaining a tenant token prevents the pending product request', async () => { + let release, revoked = false + const requests = [] + const api = createFeishuApi(async () => creds, async url => { + requests.push(String(url)) + return new Promise(resolve => { release = () => resolve(Response.json({ code: 0, tenant_access_token: 'fixture-token' })) }) + }) + const pending = api.call('POST', 'calendar/v4/calendars', { body: { summary: 'Team' }, authorize: () => { if (revoked) throw new Error('grant revoked') } }) + await until(() => !!release) + revoked = true; release() + await assert.rejects(pending, /grant revoked/) + assert.equal(requests.length, 1) + assert.ok(requests[0].includes('/auth/v3/')) +}) + +test('changing a handler cancels only matching Feishu work and suppresses its late answer', async () => { + const r = rig(); await r.save() + r.rt.state.bots.b2 = { id: 'b2', ownerId: 'owner-1', name: 'Other Bot' } + await r.service.receive(APP, event(), 'socket'); await until(() => r.delivered.length === 1) + const meta = r.delivered[0].feishu, cancellations = [] + r.rt.liveOf = () => ({ turn: 1, info: { feishu: meta } }) + r.rt.resolveAgent = async () => ({ cancel: reason => cancellations.push(reason) }) + await r.service.endpoint({ operation: 'configure', appId: APP, botId: 'b2', chatId: 'oc_group' }, owner) + assert.equal(cancellations.length, 1) + assert.equal(r.service.data().events[meta.eventId].status, 'cancelled') + await r.service.complete(meta, 'late answer') + assert.equal(r.service.data().outbox[meta.eventId], undefined) +}) + +test('all six tool products use platform-held credentials and their named API operations', async () => { + const r = rig(); await r.save() + const tools = new Map() + r.rt.ctx = { tools: { register: tool => tools.set(tool.name, tool) }, on() {} } + r.rt.whoseAgent = () => ({ bot: r.rt.state.bots.b1 }) + r.rt.liveOf = () => ({ info: { feishu: { appId: APP, openId: 'ou_alice' } } }) + installFeishuTools(r.rt, r.service) + await r.service.endpoint({ operation: 'identity', appId: APP, openId: 'ou_alice', memberId: 'bob' }, owner) + const cases = [ + ['calendar', 'calendar_list', {}, '/calendar/v4/calendars'], + ['docs', 'docs_read', { document_id: 'doc' }, '/docx/v1/documents/doc/raw_content'], + ['bitable', 'bitable_records', { app_token: 'base', table_id: 'table', body: {} }, '/bitable/v1/apps/base/tables/table/records/search'], + ['sheets', 'sheets_read', { spreadsheet_token: 'sheet', range: 'sheet1!A1:B2' }, '/sheets/v2/spreadsheets/sheet/values/'], + ['meeting', 'meeting_reserve', { body: { end_time: '2000000000' } }, '/vc/v1/reserves/apply'], + ['task', 'task_create', { body: { summary: 'Work' }, query: { user_id_type: 'open_id' } }, '/task/v2/tasks'], + ] + for (const [product, operation, parameters, path] of cases) { + await r.service.endpoint({ operation: 'grant', appId: APP, botId: 'b1', product, mode: 'write' }, owner) + const result = await tools.get('feishu_tool').execute({ appId: APP, operation, parameters }, { agent: { id: 'b1' } }) + assert.ok(r.calls.at(-1).path.includes(path), operation) + assert.ok(!result.includes(creds.appSecret)) + assert.ok(!result.includes('fixture-tenant-token')) + } +}) + +test('rich cards keep tables outside the final form and include all supported block types', () => { + const record = { id: 'card', version: 1, card: { blocks: [ + { type: 'text', text: '**text**' }, { type: 'fields', items: [{ label: 'Key', value: 'Value' }] }, + { type: 'list', items: ['Item'] }, { type: 'progress', value: 50 }, { type: 'chart', spec: { type: 'bar', data: { values: [] } } }, + { type: 'pages', pages: [{ title: 'Table page', blocks: [{ type: 'table', columns: ['Column'], rows: [['Value']] }] }, { title: 'Text page', blocks: [{ type: 'text', text: 'Page' }] }] }, + { type: 'input', name: 'answer', label: 'Answer' }, { type: 'applet', description: 'Interactive explanation' }, + ], actions: [{ id: 'submit', label: 'Submit' }] } } + const card = toCard(record), elements = card.body.elements + assert.equal(card.schema, '2.0') + assert.ok(elements.some(e => e.tag === 'table')) + assert.ok(elements.some(e => e.tag === 'chart')) + assert.ok(elements.some(e => e.tag === 'collapsible_panel')) + assert.equal(elements.at(-1).tag, 'form') + assert.ok(elements.at(-1).elements.every(e => ['input', 'button'].includes(e.tag))) +}) + +test('a long connection without the SDK installed says so instead of blaming the network', async () => { + // The Docker image once linked ds-bot without its dependencies: credentials and network were + // fine, but the diagnosis sent the owner to check them. + const missing = (credentials) => createFeishuTransport({ credentials, importSdk: async () => { throw new Error(`Cannot find package '${SDK_PACKAGE}' imported from core`) } }) + const r = rig(undefined, { transport: ({ credentials }) => missing(credentials) }) + await r.save() + await until(() => r.service.appOf(APP).diagnostics?.length) + const [first] = r.service.appOf(APP).diagnostics + assert.equal(first.kind, 'connection') + assert.match(first.message, /long-connection SDK is not installed/) + assert.doesNotMatch(first.message, /open\.feishu\.cn|credentials/) + + const offline = rig(undefined, { transport: () => ({ connect: async () => { throw new Error('getaddrinfo ENOTFOUND open.feishu.cn') } }) }) + await offline.save() + await until(() => offline.service.appOf(APP).diagnostics?.length) + assert.match(offline.service.appOf(APP).diagnostics[0].message, /^Could not connect to open\.feishu\.cn/, 'other dial failures keep the network advice') +}) + +test('the connection keeps no console address: save and configure ignore one', async () => { + const r = rig(); await r.save() + await r.service.endpoint({ operation: 'save', appId: APP, mode: 'socket', consoleUrl: 'https://flybot.example.com' }, owner) + await r.service.endpoint({ operation: 'configure', appId: APP, consoleUrl: 'https://flybot.example.com' }, owner) + assert.equal(r.service.appOf(APP).consoleUrl, undefined) +}) + +test('feishu_file uploads within the Feishu limits and refuses the rest without sending a console link', async () => { + const r = rig(); await r.save() + const tools = new Map() + const small = { attachmentId: 'a-small', name: 'notes.txt', bytes: 5 } + const huge = { attachmentId: 'a-huge', name: 'video.mov', bytes: 31 * 1024 * 1024 } + const bigImage = { attachmentId: 'a-image', name: 'scan.png', mediaType: 'image/png', bytes: 11 * 1024 * 1024 } + r.rt.ctx = { tools: { register: tool => tools.set(tool.name, tool) }, on() {}, attachments: { + async* readFileStream() { yield Buffer.from('hello') }, + readImage: async () => assert.fail('an oversized image is not read'), + } } + r.rt.whoseAgent = () => ({ bot: r.rt.state.bots.b1 }) + r.rt.liveOf = () => ({ info: { feishu: { appId: APP, openId: 'ou_alice', chatId: 'oc_chat' } } }) + installFeishuTools(r.rt, r.service) + const session = { surface: { nodes: [1] }, eventAt: () => ({ data: { message: { content: [small, huge, bigImage].map(attachment => ({ type: 'file', attachment })) } } }) } + const send = attachmentId => tools.get('feishu_file').execute({ attachmentId }, { agent: { id: 'b1', session }, callId: `call-${attachmentId}` }) + + assert.equal(await send('a-small'), 'Sent') + assert.ok(r.calls.some(c => c.path.endsWith('/im/v1/files'))) + assert.equal(r.calls.filter(c => c.body?.msg_type === 'file').length, 1) + await assert.rejects(send('a-huge'), /files up to 30 MB/) + await assert.rejects(send('a-image'), /images up to 10 MB/) + r.failSend(true) + await assert.rejects(send('a-small'), /did not accept the attachment/) + assert.equal(r.service.appOf(APP).diagnostics.at(-1).kind, 'attachment-send') + assert.ok(!r.calls.some(c => ['post', 'text'].includes(c.body?.msg_type)), 'no fallback message with a link is sent') +}) diff --git a/core/test/feishu-setup.test.js b/core/test/feishu-setup.test.js new file mode 100644 index 000000000..625b274d5 --- /dev/null +++ b/core/test/feishu-setup.test.js @@ -0,0 +1,87 @@ +import assert from 'node:assert/strict' +import { test } from 'node:test' +import { createRequire } from 'node:module' +import { readFile } from 'node:fs/promises' +import { join } from 'node:path' +import { setTimeout as delay } from 'node:timers/promises' +const { JSDOM } = createRequire(join(process.env.DSH_HARNESS ?? join(import.meta.dirname, '../dev/harness'), 'package.json'))('jsdom') + +async function setup(t, saved = [], language) { + const dom = new JSDOM('
', { url: 'http://localhost/', runScripts: 'outside-only', pretendToBeVisual: true }) + dom.window.eval(await readFile(join(import.meta.dirname, '../workbench-native.js'), 'utf8')) + const apps = saved, calls = [] + const api = async body => { + calls.push(body) + if (body.operation === 'save') { + let app = apps.find(a => a.id === body.appId) + if (!app) { app = { id: body.appId, name: 'Feishu', allowed: [], identities: [], grants: {} }; apps.push(app) } + Object.assign(app, { mode: body.mode, step: body.step, publicUrl: body.publicUrl, connection: 'connecting' }) + return { apps: structuredClone(apps), test: { ok: false, error: 'Publish the app first' } } + } + if (body.operation === 'configure') Object.assign(apps.find(a => a.id === body.appId), body) + return { apps: structuredClone(apps), members: [{ id: 'owner-1', name: 'Owner' }] } + } + const root = dom.window.document.getElementById('root') + let unmount = dom.window.FlyBotNativeConversation.mountNativeFeishu(root, { actions: { feishu: api }, roster: { bots: [{ id: 'b1', name: 'Chief' }] }, language, onClose() {} }) + t.after(() => { unmount?.(); dom.window.close() }) + for (let i = 0; i < 100; i++) { if (calls.length && (!saved.length || root.querySelector('select')?.value === saved[0].id)) break; await delay(10) } + await delay(20) + const button = title => [...root.querySelectorAll('button')].find(b => (b.getAttribute('aria-label') ?? b.textContent) === title) + const click = async title => { const b = button(title); assert.ok(b, title); assert.equal(b.disabled, false, title); b.click(); await delay(30) } + const input = async (name, value) => { + const target = root.querySelector(`input[aria-label="${name}"]`) + assert.ok(target, name) + Object.getOwnPropertyDescriptor(dom.window.HTMLInputElement.prototype, 'value').set.call(target, value) + target.dispatchEvent(new dom.window.Event('input', { bubbles: true })); target.dispatchEvent(new dom.window.Event('change', { bubbles: true })); await delay(10) + } + return { dom, root, apps, calls, button, click, input, unmount: () => { unmount(); unmount = undefined } } +} + +test('mounted guide defaults to six steps and validates credentials before saving', async t => { + const ui = await setup(t) + assert.equal(ui.root.querySelectorAll('ol > li').length, 6) + assert.match(ui.root.textContent, /im:message.reactions:write_only/) + await ui.click('Next') + await ui.input('App ID', 'cli_invalid') + await ui.input('App Secret', 'fixture-secret') + assert.equal(ui.button('Save and test connection').disabled, true) + await ui.input('App ID', 'cli_0123456789abcdef') + await ui.click('Save and test connection') + assert.match(ui.root.textContent, /Wait until connected/) + assert.ok(!ui.root.textContent.includes('Now set Events and callbacks')) + assert.ok(!ui.root.textContent.includes('fixture-secret')) + assert.ok(ui.calls.some(c => c.operation === 'save' && c.mode === 'socket')) +}) + +test('standalone guide reuses Chinese setup copy and keeps credential errors readable', async t => { + const ui = await setup(t, [], 'zh-CN') + assert.match(ui.root.textContent, /在飞书开放平台创建应用/) + assert.equal(ui.root.querySelector('button[aria-label="长连接(推荐,不需要公网地址)"]').getAttribute('aria-pressed'), 'true') + await ui.click('下一步') + await ui.input('App ID', 'cli_invalid') + assert.match(ui.root.textContent, /App ID 必须是 cli_ 加 16 位十六进制字符/) + assert.equal(ui.button('保存并测试连接').disabled, true) + assert.ok(!ui.root.textContent.includes('Enter credentials and test connection')) +}) + +test('mounted HTTP guide requires a public address, resumes saved progress and switches the same app', async t => { + const id = 'cli_0123456789abcdef' + const ui = await setup(t, [{ id, mode: 'socket', step: 2, botId: 'b1', connection: 'ready', allowed: [], grants: {}, identities: [] }]) + assert.match(ui.root.querySelector('h4').textContent, /Subscribe to message/) + assert.match(ui.root.textContent, /Now set Events and callbacks/) + await ui.click('Event address (HTTP, needs a public address)') + assert.equal(ui.root.querySelectorAll('ol > li').length, 7) + assert.equal(ui.button('Next').disabled, true) + await ui.input('Public HTTPS event origin', 'http://localhost') + assert.equal(ui.button('Next').disabled, true) + await ui.input('Public HTTPS event origin', 'https://events.example.com') + await ui.click('Next'); await ui.click('Next') + assert.equal(ui.root.querySelector('input[aria-label="App ID"]').disabled, true) + await ui.input('Verification Token', 'fixture-token') + await ui.click('Save and test connection') + assert.equal(ui.apps.length, 1) + assert.equal(ui.apps[0].id, id) + assert.equal(ui.apps[0].mode, 'http') + assert.match(ui.root.textContent, new RegExp(`/api/feishu/events/${id}`)) + assert.ok(!ui.root.textContent.includes('fixture-token')) +}) diff --git a/core/test/feishu.test.js b/core/test/feishu.test.js index c0662ce91..6042536ba 100644 --- a/core/test/feishu.test.js +++ b/core/test/feishu.test.js @@ -235,9 +235,9 @@ const all = (node, out = []) => { if (node && typeof node === 'object') { if (Ar const text = node => (node === null || node === undefined ? '' : Array.isArray(node) ? node.map(text).join('') : typeof node === 'object' ? text(node.props.children) : String(node)) const actions = { connectorConnect: async () => {}, connectorDisconnect: async () => {}, connectorRetry: async () => {}, connectorSend: async () => {} } -const renderRow = (connector, given = []) => { +const renderRow = (connector, given = [], overrides = {}) => { states = [...given] - const tree = expand(h(ConnectorsPage, { roster: { connectors: [connector], bots: [], self: { memberId: 'me' } }, actions })) + const tree = expand(h(ConnectorsPage, { roster: { connectors: [connector], bots: [], self: { memberId: 'me' } }, actions: { ...actions, ...overrides } })) states = [] return tree } @@ -245,6 +245,17 @@ const renderRow = (connector, given = []) => { const FEISHU_OFF = { id: 'feishu', name: 'Feishu', state: 'off', kind: 'channel', account: null, mode: null, modes: FEISHU_MODES, allowed: [] } const FEISHU_APP = { ...FEISHU_OFF, state: 'ready', mode: 'app', allowed: [{ openId: 'ou_owner_1', name: 'Owner' }], inbound: { state: 'ready', refusedSenders: [{ openId: 'ou_stranger_1', name: 'Mallory', at: '2026-10-26T10:00:00.000Z' }] } } +test('guided Feishu uses one Connect entry before and after connecting', () => { + for (const connector of [FEISHU_OFF, { ...FEISHU_APP, managed: true }]) { + const tree = renderRow(connector, [], { feishu: async () => ({ apps: [] }) }) + const labels = all(tree).filter(node => node.type === 'button').map(text) + assert.equal(labels.filter(label => label === 'Connect').length, 1) + assert.ok(!labels.includes('Setup guide')) + const entry = all(tree).find(node => node.type === 'button' && text(node) === 'Connect') + assert.equal(entry.props['aria-expanded'], false) + } +}) + test('#1266: the Feishu row offers both ways to connect, and the webhook one links to Feishu', () => { // form open, so the two mode buttons, the field and the link are drawn const tree = renderRow(FEISHU_OFF, [true, false, '', [], false, false, null]) diff --git a/core/test/install.test.js b/core/test/install.test.js index 55844158d..2bcf737e2 100644 --- a/core/test/install.test.js +++ b/core/test/install.test.js @@ -130,6 +130,12 @@ test('apply registers listeners, tools, and effects in a fixed order', (t) => { 'tool bot_schedules', 'tool project_digest', 'effect ds-bot: automation tasks default', + 'on tools/pre-execute', + 'tool feishu_apps', + 'tool feishu_tool', + 'tool feishu_card', + 'tool feishu_file', + 'effect ds-bot: Feishu apps', 'effect ds-bot: usage ledger', 'on llm/stream', 'effect ds-bot: update check', diff --git a/core/test/run-bot-tools.test.js b/core/test/run-bot-tools.test.js index 9c1d8a238..985affc25 100644 --- a/core/test/run-bot-tools.test.js +++ b/core/test/run-bot-tools.test.js @@ -111,8 +111,8 @@ test('the constant refuses every name at the guard and the approval seam, with n const { fb, home, callAsDsh, ask, refusalOf, received, saved, stop } = await start() t.after(stop) const id = await runBot(fb, []) - assert.equal(EPHEMERAL_DENIED_TOOLS.length, 32) - assert.equal(new Set(EPHEMERAL_DENIED_TOOLS).size, 32, 'no duplicate name') + assert.equal(EPHEMERAL_DENIED_TOOLS.length, 36) + assert.equal(new Set(EPHEMERAL_DENIED_TOOLS).size, 36, 'no duplicate name') assert.equal(new Set(EPHEMERAL_ALLOWED_TOOLS).size, EPHEMERAL_ALLOWED_TOOLS.length) assert.deepEqual(EPHEMERAL_DENIED_TOOLS.filter(name => ALLOWED.has(name)), [], 'a name is in one list only') diff --git a/core/workbench-native.css b/core/workbench-native.css index 80ce0d0bc..70a7c1be3 100644 --- a/core/workbench-native.css +++ b/core/workbench-native.css @@ -572,6 +572,62 @@ button.bt-set-row:hover{background:var(--bt-hover)} .bt-connector[data-state=error] .bt-connector-status{color:#e02135;white-space:normal} .bt-connector-actions{flex:none;display:flex;gap:6px} .bt-connector-form{display:flex;flex-direction:column;gap:8px;padding-left:48px;animation:bt-q-in 420ms linear(0.0000,0.0510,0.1692,0.3153,0.4639,0.6001,0.7163,0.8102,0.8823,0.9350,0.9717,0.9955,1.0098,1.0171,1.0198,1.0195,1.0175,1.0147,1.0117,1.0089,1.0064,1.0044,1.0028,1.0016,1.0000),bt-veil-in .2s ease-out} +.bt-feishu-setup{container-type:inline-size;min-width:0;width:100%;max-width:960px;box-sizing:border-box;padding:20px;border:1px solid var(--bt-line);border-radius:14px;background:var(--bt-card);color:var(--bt-ink);font:13px/1.6 ui-sans-serif,system-ui,sans-serif;overflow-wrap:anywhere;animation:bt-veil-in .16s ease-out} +.bt-feishu-setup *{box-sizing:border-box} +.bt-feishu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--bt-line)} +.bt-feishu-header h3{padding:0;margin:0 0 4px;font-size:17px;line-height:24px;font-weight:650;letter-spacing:-.02em} +.bt-feishu-header>.bt-input{width:220px;max-width:45%;flex:none} +.bt-feishu-setup .bt-set-hint{margin:0;font-size:12px;line-height:1.7;color:var(--bt-ink-2)} +.bt-feishu-body{display:flex;flex-direction:column;gap:22px;padding-top:18px} +.bt-feishu-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px} +.bt-feishu-modes button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:11px 14px;border:1px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color .12s,border-color .12s} +.bt-feishu-modes button:hover{background:var(--bt-hover)} +.bt-feishu-modes button[aria-pressed=true]{border-color:var(--bt-accent);background:color-mix(in srgb,var(--bt-accent) 6%,var(--bt-card));box-shadow:0 0 0 1px var(--bt-accent)} +.bt-feishu-modes strong{font-size:13px;font-weight:600}.bt-feishu-modes small{color:var(--bt-ink-2);font-size:11px} +.bt-feishu-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:start} +.bt-feishu-progress{min-width:0}.bt-feishu-progress ol{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0} +.bt-feishu-progress li{min-width:0}.bt-feishu-progress button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-2);font:inherit;font-size:12px;line-height:19px;text-align:left;cursor:pointer} +.bt-feishu-progress button:hover:not(:disabled){background:var(--bt-hover)} +.bt-feishu-progress button[aria-current=step]{background:color-mix(in srgb,var(--bt-accent) 7%,var(--bt-card));color:var(--bt-accent);font-weight:600} +.bt-feishu-progress button:disabled{opacity:.48;cursor:default} +.bt-feishu-step-number{display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border:1px solid var(--bt-line-2);border-radius:50%;font-size:11px;font-variant-numeric:tabular-nums} +.bt-feishu-progress [aria-current=step] .bt-feishu-step-number{background:var(--bt-accent);border-color:var(--bt-accent);color:white} +.bt-feishu-progress [data-done=true] .bt-feishu-step-number{border-color:transparent;background:var(--bt-hover);color:var(--bt-ink-2)} +.bt-feishu-step{min-width:0}.bt-feishu-step-heading{margin-bottom:16px}.bt-feishu-eyebrow{display:block;margin-bottom:4px;color:var(--bt-ink-2);font-size:11px} +.bt-feishu-step h4{margin:0;font-size:16px;line-height:24px;font-weight:650;letter-spacing:-.02em} +.bt-feishu-step-content>div{display:flex;flex-direction:column;align-items:stretch;gap:14px} +.bt-feishu-external{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;align-self:flex-start;border:1px solid var(--bt-line-2);border-radius:8px;padding:7px 11px;color:var(--bt-ink);font-size:12px;font-weight:500;text-decoration:none} +.bt-feishu-external:hover{background:var(--bt-hover)}.bt-feishu-external span{color:var(--bt-ink-2)} +.bt-feishu-permissions{display:flex;flex-direction:column;gap:10px;padding-top:5px}.bt-feishu-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.bt-feishu-section-head strong{font-size:13px;font-weight:600} +.bt-feishu-optional{color:var(--bt-ink-2);font-size:11px}.bt-feishu-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px} +.bt-feishu-permission{display:flex;align-items:center;gap:9px;min-width:0;min-height:42px;margin:0;padding:9px 11px;border:1px solid var(--bt-line);border-radius:9px;background:var(--bt-card);font-size:12px;line-height:20px;cursor:pointer;transition:background-color .12s,border-color .12s} +.bt-feishu-permission:hover{border-color:var(--bt-line-2);background:var(--bt-hover)} +.bt-feishu-permission[data-checked=true]{border-color:color-mix(in srgb,var(--bt-accent) 55%,var(--bt-line));background:color-mix(in srgb,var(--bt-accent) 5%,var(--bt-card))} +.bt-feishu-setup input[type=checkbox]{appearance:auto;flex:none;width:15px;height:15px;min-height:0;margin:0;padding:0;border-radius:4px;accent-color:var(--bt-accent);cursor:pointer} +.bt-feishu-permission-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px} +.bt-feishu-setup .bt-feishu-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:6px;flex:none;width:auto;min-height:34px;height:auto;margin:0;padding:6px 12px;border:1px solid var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:12px;font-weight:500;cursor:pointer;box-shadow:none} +.bt-feishu-setup .bt-feishu-button:hover:not(:disabled){background:var(--bt-hover)}.bt-feishu-setup .bt-feishu-button:disabled{opacity:.4;cursor:default} +.bt-feishu-setup .bt-feishu-primary{background:var(--bt-accent);border-color:var(--bt-accent);color:#fff;padding-inline:18px} +.bt-feishu-setup .bt-feishu-primary:hover:not(:disabled){background:color-mix(in srgb,var(--bt-accent) 88%,#000)} +.bt-feishu-setup .bt-feishu-quiet{border-color:transparent;background:transparent;color:var(--bt-ink-2)} +.bt-feishu-setup :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--bt-accent);outline-offset:3px} +.bt-feishu-setup details{min-width:0}.bt-feishu-setup summary{cursor:pointer;font-size:12px;font-weight:500;line-height:20px;padding:8px 0;color:var(--bt-ink-2)} +.bt-feishu-json{border:0}.bt-feishu-setup .bt-feishu-json summary{padding:2px 0;color:var(--bt-accent);font-weight:400} +.bt-feishu-setup .bt-feishu-json textarea{width:100%;height:180px;min-height:120px;max-height:320px;margin-top:10px;padding:12px;border:1px solid var(--bt-line);border-radius:8px;background:var(--bt-sidebar);color:var(--bt-ink-2);font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical;white-space:pre;overflow:auto;overflow-wrap:normal} +.bt-feishu-field,.bt-feishu-setup .bt-q-field{display:flex;flex-direction:column;flex:initial;gap:6px;min-width:0;min-height:0;margin:0;padding:0;border:0;cursor:default;color:var(--bt-ink-2);font-size:12px} +.bt-feishu-setup .bt-input{min-width:0;height:38px;padding:0 11px;font-size:13px;border-color:var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink)} +.bt-feishu-field+.bt-feishu-field{margin-top:2px}.bt-feishu-setup .bt-input:disabled{opacity:.65;background:var(--bt-sidebar)} +.bt-feishu-check{display:flex;align-items:flex-start;gap:9px;font-size:12px}.bt-feishu-check input{margin-top:3px!important} +.bt-feishu-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--bt-line)} +.bt-feishu-footer>div{display:flex;align-items:center;gap:6px}.bt-feishu-result,.bt-feishu-error{margin:14px 0 0;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.6;background:var(--bt-sidebar);color:var(--bt-ink-2)} +.bt-feishu-result[data-success=true]{color:var(--bt-ink);border:1px solid var(--bt-line)}.bt-feishu-error{color:#d33e4e;background:color-mix(in srgb,#e5484d 7%,var(--bt-card))} +.bt-feishu-management{border-top:1px solid var(--bt-line);padding-top:8px}.bt-feishu-management>details+details{border-top:1px solid var(--bt-line)} +.bt-feishu-management>details>summary{padding:12px 0;color:var(--bt-ink)}.bt-feishu-management>details[open]{display:flex;flex-direction:column;gap:10px;padding-bottom:14px} +.bt-feishu-management>details>fieldset{min-width:0;margin:4px 0;padding:12px;border:1px solid var(--bt-line);border-radius:10px}.bt-feishu-management legend{font-size:12px;font-weight:600;padding-inline:4px} +.bt-feishu-management fieldset>.bt-q-field+.bt-q-field{margin-top:10px}.bt-feishu-setup code,.bt-feishu-setup pre{white-space:pre-wrap;overflow-wrap:anywhere}.bt-feishu-setup ul{padding-left:18px;margin:4px 0} +.bt-feishu-webhook{margin-top:18px;padding-top:10px;border-top:1px solid var(--bt-line)}.bt-feishu-webhook[open]{display:flex;flex-direction:column;gap:12px}.bt-feishu-webhook>summary{color:var(--bt-ink-2)} +@container (max-width:640px){.bt-feishu-layout{display:flex;flex-direction:column;gap:18px}.bt-feishu-progress{width:100%}.bt-feishu-progress ol{flex-direction:row;gap:5px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.bt-feishu-progress li{flex:1}.bt-feishu-progress button{justify-content:center;padding:5px;gap:7px}.bt-feishu-step-label{display:none}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{display:block;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-feishu-progress li:has([aria-current=step]){flex:4}.bt-feishu-step{width:100%}.bt-feishu-header{flex-direction:column;gap:10px}.bt-feishu-header>.bt-input{max-width:100%;width:100%}} +@container (max-width:340px){.bt-feishu-modes{gap:8px}.bt-feishu-modes button{padding:9px 10px}.bt-feishu-modes small{font-size:10px}.bt-feishu-permission{padding:8px}.bt-feishu-footer>div{gap:2px}.bt-feishu-footer .bt-feishu-button{padding-inline:9px}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{max-width:90px}} .bt-connector-form-row{display:flex;align-items:center;gap:6px} .bt-connector-apps{display:flex;flex-direction:column;gap:8px} .bt-connector-link{flex:1;font-size:12px;color:var(--bt-ink-2)} diff --git a/core/workbench-native.js b/core/workbench-native.js index a08d7c6dc..0439d844c 100644 --- a/core/workbench-native.js +++ b/core/workbench-native.js @@ -1,4 +1,4 @@ -var FlyBotNativeConversation=(()=>{var vz=Object.create,ll=Object.freeze,gt=Object.defineProperty;var yz=Object.getOwnPropertyDescriptor;var _z=Object.getOwnPropertyNames;var wz=Object.getPrototypeOf,xz=Object.prototype.hasOwnProperty;var n1=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(a){throw n=[a],a}};var ye=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},u1=(e,t)=>{for(var n in t)gt(e,n,{get:t[n],enumerable:!0})},pl=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of _z(t))!xz.call(e,i)&&i!==n&>(e,i,{get:()=>t[i],enumerable:!(a=yz(t,i))||a.enumerable});return e};var U1=(e,t,n)=>(n=e!=null?vz(wz(e)):{},pl(t||!e||!e.__esModule?gt(n,"default",{value:e,enumerable:!0}):n,e)),kz=e=>pl(gt({},"__esModule",{value:!0}),e);var t1=(e,t)=>ll(gt(e,"raw",{value:ll(t||e.slice())}));var wl=ye(F1=>{"use strict";var bt=Symbol.for("react.element"),zz=Symbol.for("react.portal"),Cz=Symbol.for("react.fragment"),Az=Symbol.for("react.strict_mode"),Mz=Symbol.for("react.profiler"),$z=Symbol.for("react.provider"),Lz=Symbol.for("react.context"),Sz=Symbol.for("react.forward_ref"),Zz=Symbol.for("react.suspense"),Ez=Symbol.for("react.memo"),Fz=Symbol.for("react.lazy"),ul=Symbol.iterator;function jz(e){return e===null||typeof e!="object"?null:(e=ul&&e[ul]||e["@@iterator"],typeof e=="function"?e:null)}var hl={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},gl=Object.assign,bl={};function e5(e,t,n){this.props=e,this.context=t,this.refs=bl,this.updater=n||hl}e5.prototype.isReactComponent={};e5.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)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,e,t,"setState")};e5.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function fl(){}fl.prototype=e5.prototype;function r9(e,t,n){this.props=e,this.context=t,this.refs=bl,this.updater=n||hl}var s9=r9.prototype=new fl;s9.constructor=r9;gl(s9,e5.prototype);s9.isPureReactComponent=!0;var ml=Array.isArray,vl=Object.prototype.hasOwnProperty,c9={current:null},yl={key:!0,ref:!0,__self:!0,__source:!0};function _l(e,t,n){var a,i={},r=null,s=null;if(t!=null)for(a in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(r=""+t.key),t)vl.call(t,a)&&!yl.hasOwnProperty(a)&&(i[a]=t[a]);var c=arguments.length-2;if(c===1)i.children=n;else if(1{"use strict";xl.exports=wl()});var Ip=ye(Y1=>{"use strict";function I9(e,t){var n=e.length;e.push(t);e:for(;0>>1,i=e[a];if(0>>1;aP7(c,n))oP7(l,c)?(e[a]=l,e[o]=n,a=o):(e[a]=c,e[s]=n,a=s);else if(oP7(l,n))e[a]=l,e[o]=n,a=o;else break e}}return t}function P7(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(Zp=performance,Y1.unstable_now=function(){return Zp.now()}):(T9=Date,Ep=T9.now(),Y1.unstable_now=function(){return T9.now()-Ep});var Zp,T9,Ep,_e=[],x3=[],WC=1,P2=null,W0=3,G7=!1,g4=!1,St=!1,Hp=typeof setTimeout=="function"?setTimeout:null,Np=typeof clearTimeout=="function"?clearTimeout:null,Fp=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function B9(e){for(var t=ae(x3);t!==null;){if(t.callback===null)D7(x3);else if(t.startTime<=e)D7(x3),t.sortIndex=t.expirationTime,I9(_e,t);else break;t=ae(x3)}}function P9(e){if(St=!1,B9(e),!g4)if(ae(_e)!==null)g4=!0,D9(R9);else{var t=ae(x3);t!==null&&G9(P9,t.startTime-e)}}function R9(e,t){g4=!1,St&&(St=!1,Np(Zt),Zt=-1),G7=!0;var n=W0;try{for(B9(t),P2=ae(_e);P2!==null&&(!(P2.expirationTime>t)||e&&!qp());){var a=P2.callback;if(typeof a=="function"){P2.callback=null,W0=P2.priorityLevel;var i=a(P2.expirationTime<=t);t=Y1.unstable_now(),typeof i=="function"?P2.callback=i:P2===ae(_e)&&D7(_e),B9(t)}else D7(_e);P2=ae(_e)}if(P2!==null)var r=!0;else{var s=ae(x3);s!==null&&G9(P9,s.startTime-t),r=!1}return r}finally{P2=null,W0=n,G7=!1}}var O7=!1,R7=null,Zt=-1,Tp=5,Vp=-1;function qp(){return!(Y1.unstable_now()-Vpe||125a?(e.sortIndex=n,I9(x3,e),ae(_e)===null&&e===ae(x3)&&(St?(Np(Zt),Zt=-1):St=!0,G9(P9,n-a))):(e.sortIndex=i,I9(_e,e),g4||G7||(g4=!0,D9(R9))),e};Y1.unstable_shouldYield=qp;Y1.unstable_wrapCallback=function(e){var t=W0;return function(){var n=W0;W0=t;try{return e.apply(this,arguments)}finally{W0=n}}}});var Pp=ye((oD,Bp)=>{"use strict";Bp.exports=Ip()});var Ud=ye(H2=>{"use strict";var Xu=g0(),F2=Pp();function K(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),hi=Object.prototype.hasOwnProperty,UC=/^[: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]*$/,Rp={},Dp={};function XC(e){return hi.call(Dp,e)?!0:hi.call(Rp,e)?!1:UC.test(e)?Dp[e]=!0:(Rp[e]=!0,!1)}function KC(e,t,n,a){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return a?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function YC(e,t,n,a){if(t===null||typeof t>"u"||KC(e,t,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function c2(e,t,n,a,i,r,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=a,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=r,this.removeEmptyString=s}var R0={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){R0[e]=new c2(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];R0[t]=new c2(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){R0[e]=new c2(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){R0[e]=new c2(e,2,!1,e,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(e){R0[e]=new c2(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){R0[e]=new c2(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){R0[e]=new c2(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){R0[e]=new c2(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){R0[e]=new c2(e,5,!1,e.toLowerCase(),null,!1,!1)});var sr=/[\-:]([a-z])/g;function cr(e){return e[1].toUpperCase()}"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(e){var t=e.replace(sr,cr);R0[t]=new c2(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(sr,cr);R0[t]=new c2(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(sr,cr);R0[t]=new c2(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){R0[e]=new c2(e,1,!1,e.toLowerCase(),null,!1,!1)});R0.xlinkHref=new c2("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){R0[e]=new c2(e,1,!1,e.toLowerCase(),null,!0,!0)});function or(e,t,n,a){var i=R0.hasOwnProperty(t)?R0[t]:null;(i!==null?i.type!==0:a||!(2c||i[s]!==r[c]){var o="\n"+i[s].replace(" at new "," at ");return e.displayName&&o.includes("")&&(o=o.replace("",e.displayName)),o}while(1<=s&&0<=c);break}}}finally{W9=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?It(e):""}function QC(e){switch(e.tag){case 5:return It(e.type);case 16:return It("Lazy");case 13:return It("Suspense");case 19:return It("SuspenseList");case 0:case 2:case 15:return e=U9(e.type,!1),e;case 11:return e=U9(e.type.render,!1),e;case 1:return e=U9(e.type,!0),e;default:return""}}function vi(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case p5:return"Fragment";case l5:return"Portal";case gi:return"Profiler";case lr:return"StrictMode";case bi:return"Suspense";case fi:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Qu:return(e.displayName||"Context")+".Consumer";case Yu:return(e._context.displayName||"Context")+".Provider";case pr:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ur:return t=e.displayName||null,t!==null?t:vi(e.type)||"Memo";case z3:t=e._payload,e=e._init;try{return vi(e(t))}catch{}}return null}function JC(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return vi(t);case 8:return t===lr?"StrictMode":"Mode";case 22:return"Offscreen";case 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(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function V3(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function em(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function eA(e){var t=em(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,r=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){a=""+s,r.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(s){a=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function U7(e){e._valueTracker||(e._valueTracker=eA(e))}function tm(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=em(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function x8(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function yi(e,t){var n=t.checked;return l0({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Op(e,t){var n=t.defaultValue==null?"":t.defaultValue,a=t.checked!=null?t.checked:t.defaultChecked;n=V3(t.value!=null?t.value:n),e._wrapperState={initialChecked:a,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function nm(e,t){t=t.checked,t!=null&&or(e,"checked",t,!1)}function _i(e,t){nm(e,t);var n=V3(t.value),a=t.type;if(n!=null)a==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(a==="submit"||a==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?wi(e,t.type,n):t.hasOwnProperty("defaultValue")&&wi(e,t.type,V3(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Wp(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!(a!=="submit"&&a!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function wi(e,t,n){(t!=="number"||x8(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Bt=Array.isArray;function w5(e,t,n,a){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=X7.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function e6(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Dt={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,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},tA=["Webkit","ms","Moz","O"];Object.keys(Dt).forEach(function(e){tA.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Dt[t]=Dt[e]})});function sm(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Dt.hasOwnProperty(e)&&Dt[e]?(""+t).trim():t+"px"}function cm(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var a=n.indexOf("--")===0,i=sm(n,t[n],a);n==="float"&&(n="cssFloat"),a?e.setProperty(n,i):e[n]=i}}var nA=l0({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});function zi(e,t){if(t){if(nA[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(K(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(K(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(K(61))}if(t.style!=null&&typeof t.style!="object")throw Error(K(62))}}function Ci(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 Ai=null;function mr(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Mi=null,x5=null,k5=null;function Kp(e){if(e=v6(e)){if(typeof Mi!="function")throw Error(K(280));var t=e.stateNode;t&&(t=K8(t),Mi(e.stateNode,e.type,t))}}function om(e){x5?k5?k5.push(e):k5=[e]:x5=e}function lm(){if(x5){var e=x5,t=k5;if(k5=x5=null,Kp(e),t)for(e=0;e>>=0,e===0?32:31-(dA(e)/hA|0)|0}var K7=64,Y7=4194304;function Pt(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function A8(e,t){var n=e.pendingLanes;if(n===0)return 0;var a=0,i=e.suspendedLanes,r=e.pingedLanes,s=n&268435455;if(s!==0){var c=s&~i;c!==0?a=Pt(c):(r&=s,r!==0&&(a=Pt(r)))}else s=n&~i,s!==0?a=Pt(s):r!==0&&(a=Pt(r));if(a===0)return 0;if(t!==0&&t!==a&&(t&i)===0&&(i=a&-a,r=t&-t,i>=r||i===16&&(r&4194240)!==0))return t;if((a&4)!==0&&(a|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=a;0n;n++)t.push(e);return t}function b6(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function vA(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0=Ot),ru=" ",su=!1;function Lm(e,t){switch(e){case"keyup":return OA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Sm(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var u5=!1;function UA(e,t){switch(e){case"compositionend":return Sm(t);case"keypress":return t.which!==32?null:(su=!0,ru);case"textInput":return e=t.data,e===ru&&su?null:e;default:return null}}function XA(e,t){if(u5)return e==="compositionend"||!_r&&Lm(e,t)?(e=Mm(),d8=fr=$3=null,u5=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=lu(n)}}function jm(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?jm(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Hm(){for(var e=window,t=x8();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=x8(e.document)}return t}function wr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function iM(e){var t=Hm(),n=e.focusedElem,a=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&jm(n.ownerDocument.documentElement,n)){if(a!==null&&wr(n)){if(t=a.start,e=a.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,r=Math.min(a.start,i);a=a.end===void 0?r:Math.min(a.end,i),!e.extend&&r>a&&(i=a,a=r,r=i),i=pu(n,r);var s=pu(n,a);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),r>a?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,m5=null,Fi=null,Ut=null,ji=!1;function uu(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ji||m5==null||m5!==x8(a)||(a=m5,"selectionStart"in a&&wr(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Ut&&s6(Ut,a)||(Ut=a,a=L8(Fi,"onSelect"),0g5||(e.current=Ii[g5],Ii[g5]=null,g5--)}function Q1(e,t){g5++,Ii[g5]=e.current,e.current=t}var q3={},Y0=B3(q3),_2=B3(!1),k4=q3;function $5(e,t){var n=e.type.contextTypes;if(!n)return q3;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var i={},r;for(r in n)i[r]=t[r];return a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function w2(e){return e=e.childContextTypes,e!=null}function Z8(){n0(_2),n0(Y0)}function _u(e,t,n){if(Y0.current!==q3)throw Error(K(168));Q1(Y0,t),Q1(_2,n)}function Dm(e,t,n){var a=e.stateNode;if(t=t.childContextTypes,typeof a.getChildContext!="function")return n;a=a.getChildContext();for(var i in a)if(!(i in t))throw Error(K(108,JC(e)||"Unknown",i));return l0({},n,a)}function E8(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||q3,k4=Y0.current,Q1(Y0,e),Q1(_2,_2.current),!0}function wu(e,t,n){var a=e.stateNode;if(!a)throw Error(K(169));n?(e=Dm(e,t,k4),a.__reactInternalMemoizedMergedChildContext=e,n0(_2),n0(Y0),Q1(Y0,e)):n0(_2),Q1(_2,n)}var Re=null,Y8=!1,ri=!1;function Gm(e){Re===null?Re=[e]:Re.push(e)}function hM(e){Y8=!0,Gm(e)}function P3(){if(!ri&&Re!==null){ri=!0;var e=0,t=W1;try{var n=Re;for(W1=1;e>=s,i-=s,De=1<<32-oe(t)+i|n<N?(H=j,j=null):H=j.sibling;var S=m(v,j,_[N],z);if(S===null){j===null&&(j=H);break}e&&j&&S.alternate===null&&t(v,j),b=r(S,b,N),C===null?L=S:C.sibling=S,C=S,j=H}if(N===_.length)return n(v,j),a0&&b4(v,N),L;if(j===null){for(;N<_.length;N++)j=u(v,_[N],z),j!==null&&(b=r(j,b,N),C===null?L=j:C.sibling=j,C=j);return a0&&b4(v,N),L}for(j=a(v,j);N<_.length;N++)H=d(j,v,N,_[N],z),H!==null&&(e&&H.alternate!==null&&j.delete(H.key===null?N:H.key),b=r(H,b,N),C===null?L=H:C.sibling=H,C=H);return e&&j.forEach(function(R){return t(v,R)}),a0&&b4(v,N),L}function w(v,b,_,z){var L=Et(_);if(typeof L!="function")throw Error(K(150));if(_=L.call(_),_==null)throw Error(K(151));for(var C=L=null,j=b,N=b=0,H=null,S=_.next();j!==null&&!S.done;N++,S=_.next()){j.index>N?(H=j,j=null):H=j.sibling;var R=m(v,j,S.value,z);if(R===null){j===null&&(j=H);break}e&&j&&R.alternate===null&&t(v,j),b=r(R,b,N),C===null?L=R:C.sibling=R,C=R,j=H}if(S.done)return n(v,j),a0&&b4(v,N),L;if(j===null){for(;!S.done;N++,S=_.next())S=u(v,S.value,z),S!==null&&(b=r(S,b,N),C===null?L=S:C.sibling=S,C=S);return a0&&b4(v,N),L}for(j=a(v,j);!S.done;N++,S=_.next())S=d(j,v,N,S.value,z),S!==null&&(e&&S.alternate!==null&&j.delete(S.key===null?N:S.key),b=r(S,b,N),C===null?L=S:C.sibling=S,C=S);return e&&j.forEach(function(B){return t(v,B)}),a0&&b4(v,N),L}function k(v,b,_,z){if(typeof _=="object"&&_!==null&&_.type===p5&&_.key===null&&(_=_.props.children),typeof _=="object"&&_!==null){switch(_.$$typeof){case W7:e:{for(var L=_.key,C=b;C!==null;){if(C.key===L){if(L=_.type,L===p5){if(C.tag===7){n(v,C.sibling),b=i(C,_.props.children),b.return=v,v=b;break e}}else if(C.elementType===L||typeof L=="object"&&L!==null&&L.$$typeof===z3&&$u(L)===C.type){n(v,C.sibling),b=i(C,_.props),b.ref=Nt(v,C,_),b.return=v,v=b;break e}n(v,C);break}else t(v,C);C=C.sibling}_.type===p5?(b=x4(_.props.children,v.mode,z,_.key),b.return=v,v=b):(z=w8(_.type,_.key,_.props,null,v.mode,z),z.ref=Nt(v,b,_),z.return=v,v=z)}return s(v);case l5:e:{for(C=_.key;b!==null;){if(b.key===C)if(b.tag===4&&b.stateNode.containerInfo===_.containerInfo&&b.stateNode.implementation===_.implementation){n(v,b.sibling),b=i(b,_.children||[]),b.return=v,v=b;break e}else{n(v,b);break}else t(v,b);b=b.sibling}b=di(_,v.mode,z),b.return=v,v=b}return s(v);case z3:return C=_._init,k(v,b,C(_._payload),z)}if(Bt(_))return f(v,b,_,z);if(Et(_))return w(v,b,_,z);o8(v,_)}return typeof _=="string"&&_!==""||typeof _=="number"?(_=""+_,b!==null&&b.tag===6?(n(v,b.sibling),b=i(b,_),b.return=v,v=b):(n(v,b),b=mi(_,v.mode,z),b.return=v,v=b),s(v)):n(v,b)}return k}var S5=Jm(!0),ed=Jm(!1),y6={},Ce=B3(y6),p6=B3(y6),u6=B3(y6);function _4(e){if(e===y6)throw Error(K(174));return e}function Sr(e,t){switch(Q1(u6,t),Q1(p6,e),Q1(Ce,y6),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ki(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=ki(t,e)}n0(Ce),Q1(Ce,t)}function Z5(){n0(Ce),n0(p6),n0(u6)}function td(e){_4(u6.current);var t=_4(Ce.current),n=ki(t,e.type);t!==n&&(Q1(p6,e),Q1(Ce,n))}function Zr(e){p6.current===e&&(n0(Ce),n0(p6))}var c0=B3(0);function V8(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var si=[];function Er(){for(var e=0;en?n:4,e(!0);var a=ci.transition;ci.transition={};try{e(!1),t()}finally{W1=n,ci.transition=a}}function fd(){return U2().memoizedState}function vM(e,t,n){var a=N3(e);if(n={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null},vd(e))yd(t,n);else if(n=Xm(e,t,n,a),n!==null){var i=s2();le(n,e,a,i),_d(n,t,a)}}function yM(e,t,n){var a=N3(e),i={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null};if(vd(e))yd(t,i);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var s=t.lastRenderedState,c=r(s,n);if(i.hasEagerState=!0,i.eagerState=c,pe(c,s)){var o=t.interleaved;o===null?(i.next=i,$r(t)):(i.next=o.next,o.next=i),t.interleaved=i;return}}catch{}n=Xm(e,t,i,a),n!==null&&(i=s2(),le(n,e,a,i),_d(n,t,a))}}function vd(e){var t=e.alternate;return e===o0||t!==null&&t===o0}function yd(e,t){Xt=q8=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function _d(e,t,n){if((n&4194240)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,hr(e,n)}}var I8={readContext:W2,useCallback:U0,useContext:U0,useEffect:U0,useImperativeHandle:U0,useInsertionEffect:U0,useLayoutEffect:U0,useMemo:U0,useReducer:U0,useRef:U0,useState:U0,useDebugValue:U0,useDeferredValue:U0,useTransition:U0,useMutableSource:U0,useSyncExternalStore:U0,useId:U0,unstable_isNewReconciler:!1},_M={readContext:W2,useCallback:function(e,t){return xe().memoizedState=[e,t===void 0?null:t],e},useContext:W2,useEffect:Su,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,f8(4194308,4,md.bind(null,t,e),n)},useLayoutEffect:function(e,t){return f8(4194308,4,e,t)},useInsertionEffect:function(e,t){return f8(4,2,e,t)},useMemo:function(e,t){var n=xe();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var a=xe();return t=n!==void 0?n(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=vM.bind(null,o0,e),[a.memoizedState,e]},useRef:function(e){var t=xe();return e={current:e},t.memoizedState=e},useState:Lu,useDebugValue:Tr,useDeferredValue:function(e){return xe().memoizedState=e},useTransition:function(){var e=Lu(!1),t=e[0];return e=fM.bind(null,e[1]),xe().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var a=o0,i=xe();if(a0){if(n===void 0)throw Error(K(407));n=n()}else{if(n=t(),V0===null)throw Error(K(349));(C4&30)!==0||id(a,t,n)}i.memoizedState=n;var r={value:n,getSnapshot:t};return i.queue=r,Su(sd.bind(null,a,r,e),[e]),a.flags|=2048,h6(9,rd.bind(null,a,r,n,t),void 0,null),n},useId:function(){var e=xe(),t=V0.identifierPrefix;if(a0){var n=Ge,a=De;n=(a&~(1<<32-oe(a)-1)).toString(32)+n,t=":"+t+"R"+n,n=m6++,0<\/script>",e=e.removeChild(e.firstChild)):typeof a.is=="string"?e=s.createElement(n,{is:a.is}):(e=s.createElement(n),n==="select"&&(s=e,a.multiple?s.multiple=!0:a.size&&(s.size=a.size))):e=s.createElementNS(e,n),e[ke]=t,e[l6]=a,Ld(e,t,!1,!1),t.stateNode=e;e:{switch(s=Ci(n,a),n){case"dialog":t0("cancel",e),t0("close",e),i=a;break;case"iframe":case"object":case"embed":t0("load",e),i=a;break;case"video":case"audio":for(i=0;iF5&&(t.flags|=128,a=!0,Tt(r,!1),t.lanes=4194304)}else{if(!a)if(e=V8(s),e!==null){if(t.flags|=128,a=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Tt(r,!0),r.tail===null&&r.tailMode==="hidden"&&!s.alternate&&!a0)return X0(t),null}else 2*x0()-r.renderingStartTime>F5&&n!==1073741824&&(t.flags|=128,a=!0,Tt(r,!1),t.lanes=4194304);r.isBackwards?(s.sibling=t.child,t.child=s):(n=r.last,n!==null?n.sibling=s:t.child=s,r.last=s)}return r.tail!==null?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=x0(),t.sibling=null,n=c0.current,Q1(c0,a?n&1|2:n&1),t):(X0(t),null);case 22:case 23:return Rr(),a=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==a&&(t.flags|=8192),a&&(t.mode&1)!==0?(S2&1073741824)!==0&&(X0(t),t.subtreeFlags&6&&(t.flags|=8192)):X0(t),null;case 24:return null;case 25:return null}throw Error(K(156,t.tag))}function $M(e,t){switch(kr(t),t.tag){case 1:return w2(t.type)&&Z8(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Z5(),n0(_2),n0(Y0),Er(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return Zr(t),null;case 13:if(n0(c0),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(K(340));L5()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return n0(c0),null;case 4:return Z5(),null;case 10:return Mr(t.type._context),null;case 22:case 23:return Rr(),null;case 24:return null;default:return null}}var p8=!1,K0=!1,LM=typeof WeakSet=="function"?WeakSet:Set,p1=null;function y5(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(a){b0(e,t,a)}else n.current=null}function Qi(e,t,n){try{n()}catch(a){b0(e,t,a)}}var qu=!1;function SM(e,t){if(Hi=M8,e=Hm(),wr(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var i=a.anchorOffset,r=a.focusNode;a=a.focusOffset;try{n.nodeType,r.nodeType}catch{n=null;break e}var s=0,c=-1,o=-1,l=0,p=0,u=e,m=null;t:for(;;){for(var d;u!==n||i!==0&&u.nodeType!==3||(c=s+i),u!==r||a!==0&&u.nodeType!==3||(o=s+a),u.nodeType===3&&(s+=u.nodeValue.length),(d=u.firstChild)!==null;)m=u,u=d;for(;;){if(u===e)break t;if(m===n&&++l===i&&(c=s),m===r&&++p===a&&(o=s),(d=u.nextSibling)!==null)break;u=m,m=u.parentNode}u=d}n=c===-1||o===-1?null:{start:c,end:o}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ni={focusedElem:e,selectionRange:n},M8=!1,p1=t;p1!==null;)if(t=p1,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,p1=e;else for(;p1!==null;){t=p1;try{var f=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(f!==null){var w=f.memoizedProps,k=f.memoizedState,v=t.stateNode,b=v.getSnapshotBeforeUpdate(t.elementType===t.type?w:re(t.type,w),k);v.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var _=t.stateNode.containerInfo;_.nodeType===1?_.textContent="":_.nodeType===9&&_.documentElement&&_.removeChild(_.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(K(163))}}catch(z){b0(t,t.return,z)}if(e=t.sibling,e!==null){e.return=t.return,p1=e;break}p1=t.return}return f=qu,qu=!1,f}function Kt(e,t,n){var a=t.updateQueue;if(a=a!==null?a.lastEffect:null,a!==null){var i=a=a.next;do{if((i.tag&e)===e){var r=i.destroy;i.destroy=void 0,r!==void 0&&Qi(t,n,r)}i=i.next}while(i!==a)}}function en(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var a=n.create;n.destroy=a()}n=n.next}while(n!==t)}}function Ji(e){var t=e.ref;if(t!==null){var n=e.stateNode;e.tag,e=n,typeof t=="function"?t(e):t.current=e}}function Ed(e){var t=e.alternate;t!==null&&(e.alternate=null,Ed(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ke],delete t[l6],delete t[qi],delete t[mM],delete t[dM])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Fd(e){return e.tag===5||e.tag===3||e.tag===4}function Iu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function er(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=S8));else if(a!==4&&(e=e.child,e!==null))for(er(e,t,n),e=e.sibling;e!==null;)er(e,t,n),e=e.sibling}function tr(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(e=e.child,e!==null))for(tr(e,t,n),e=e.sibling;e!==null;)tr(e,t,n),e=e.sibling}var B0=null,se=!1;function k3(e,t,n){for(n=n.child;n!==null;)jd(e,t,n),n=n.sibling}function jd(e,t,n){if(ze&&typeof ze.onCommitFiberUnmount=="function")try{ze.onCommitFiberUnmount(O8,n)}catch{}switch(n.tag){case 5:K0||y5(n,t);case 6:var a=B0,i=se;B0=null,k3(e,t,n),B0=a,se=i,B0!==null&&(se?(e=B0,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):B0.removeChild(n.stateNode));break;case 18:B0!==null&&(se?(e=B0,n=n.stateNode,e.nodeType===8?ii(e.parentNode,n):e.nodeType===1&&ii(e,n),i6(e)):ii(B0,n.stateNode));break;case 4:a=B0,i=se,B0=n.stateNode.containerInfo,se=!0,k3(e,t,n),B0=a,se=i;break;case 0:case 11:case 14:case 15:if(!K0&&(a=n.updateQueue,a!==null&&(a=a.lastEffect,a!==null))){i=a=a.next;do{var r=i,s=r.destroy;r=r.tag,s!==void 0&&((r&2)!==0||(r&4)!==0)&&Qi(n,t,s),i=i.next}while(i!==a)}k3(e,t,n);break;case 1:if(!K0&&(y5(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"))try{a.props=n.memoizedProps,a.state=n.memoizedState,a.componentWillUnmount()}catch(c){b0(n,t,c)}k3(e,t,n);break;case 21:k3(e,t,n);break;case 22:n.mode&1?(K0=(a=K0)||n.memoizedState!==null,k3(e,t,n),K0=a):k3(e,t,n);break;default:k3(e,t,n)}}function Bu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new LM),t.forEach(function(a){var i=qM.bind(null,e,a);n.has(a)||(n.add(a),a.then(i,i))})}}function ie(e,t){var n=t.deletions;if(n!==null)for(var a=0;ai&&(i=s),a&=~r}if(a=i,a=x0()-a,a=(120>a?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*EM(a/1960))-a,10e?16:e,L3===null)var a=!1;else{if(e=L3,L3=null,R8=0,(V1&6)!==0)throw Error(K(331));var i=V1;for(V1|=4,p1=e.current;p1!==null;){var r=p1,s=r.child;if((p1.flags&16)!==0){var c=r.deletions;if(c!==null){for(var o=0;ox0()-Br?w4(e,0):Ir|=n),x2(e,t)}function Pd(e,t){t===0&&((e.mode&1)===0?t=1:(t=Y7,Y7<<=1,(Y7&130023424)===0&&(Y7=4194304)));var n=s2();e=Xe(e,t),e!==null&&(b6(e,t,n),x2(e,n))}function VM(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Pd(e,n)}function qM(e,t){var n=0;switch(e.tag){case 13:var a=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(K(314))}a!==null&&a.delete(t),Pd(e,n)}var Rd;Rd=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||_2.current)y2=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return y2=!1,AM(e,t,n);y2=(e.flags&131072)!==0}else y2=!1,a0&&(t.flags&1048576)!==0&&Om(t,j8,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;v8(e,t),e=t.pendingProps;var i=$5(t,Y0.current);C5(t,n),i=jr(null,t,a,e,i,n);var r=Hr();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,w2(a)?(r=!0,E8(t)):r=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Lr(t),i.updater=Q8,t.stateNode=i,i._reactInternals=t,Gi(t,a,e,n),t=Ui(null,t,a,!0,r,n)):(t.tag=0,a0&&r&&xr(t),r2(null,t,i,n),t=t.child),t;case 16:a=t.elementType;e:{switch(v8(e,t),e=t.pendingProps,i=a._init,a=i(a._payload),t.type=a,i=t.tag=BM(a),e=re(a,e),i){case 0:t=Wi(null,t,a,e,n);break e;case 1:t=Nu(null,t,a,e,n);break e;case 11:t=ju(null,t,a,e,n);break e;case 14:t=Hu(null,t,a,re(a.type,e),n);break e}throw Error(K(306,a,""))}return t;case 0:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:re(a,i),Wi(e,t,a,i,n);case 1:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:re(a,i),Nu(e,t,a,i,n);case 3:e:{if(Ad(t),e===null)throw Error(K(387));a=t.pendingProps,r=t.memoizedState,i=r.element,Km(e,t),T8(t,a,null,n);var s=t.memoizedState;if(a=s.element,r.isDehydrated)if(r={element:a,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=r,t.memoizedState=r,t.flags&256){i=E5(Error(K(423)),t),t=Tu(e,t,a,n,i);break e}else if(a!==i){i=E5(Error(K(424)),t),t=Tu(e,t,a,n,i);break e}else for(Z2=F3(t.stateNode.containerInfo.firstChild),E2=t,a0=!0,ce=null,n=ed(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(L5(),a===i){t=Ke(e,t,n);break e}r2(e,t,a,n)}t=t.child}return t;case 5:return td(t),e===null&&Pi(t),a=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,s=i.children,Ti(a,i)?s=null:r!==null&&Ti(a,r)&&(t.flags|=32),Cd(e,t),r2(e,t,s,n),t.child;case 6:return e===null&&Pi(t),null;case 13:return Md(e,t,n);case 4:return Sr(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=S5(t,null,a,n):r2(e,t,a,n),t.child;case 11:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:re(a,i),ju(e,t,a,i,n);case 7:return r2(e,t,t.pendingProps,n),t.child;case 8:return r2(e,t,t.pendingProps.children,n),t.child;case 12:return r2(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(a=t.type._context,i=t.pendingProps,r=t.memoizedProps,s=i.value,Q1(H8,a._currentValue),a._currentValue=s,r!==null)if(pe(r.value,s)){if(r.children===i.children&&!_2.current){t=Ke(e,t,n);break e}}else for(r=t.child,r!==null&&(r.return=t);r!==null;){var c=r.dependencies;if(c!==null){s=r.child;for(var o=c.firstContext;o!==null;){if(o.context===a){if(r.tag===1){o=Oe(-1,n&-n),o.tag=2;var l=r.updateQueue;if(l!==null){l=l.shared;var p=l.pending;p===null?o.next=o:(o.next=p.next,p.next=o),l.pending=o}}r.lanes|=n,o=r.alternate,o!==null&&(o.lanes|=n),Ri(r.return,n,t),c.lanes|=n;break}o=o.next}}else if(r.tag===10)s=r.type===t.type?null:r.child;else if(r.tag===18){if(s=r.return,s===null)throw Error(K(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),Ri(s,n,t),s=r.sibling}else s=r.child;if(s!==null)s.return=r;else for(s=r;s!==null;){if(s===t){s=null;break}if(r=s.sibling,r!==null){r.return=s.return,s=r;break}s=s.return}r=s}r2(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,a=t.pendingProps.children,C5(t,n),i=W2(i),a=a(i),t.flags|=1,r2(e,t,a,n),t.child;case 14:return a=t.type,i=re(a,t.pendingProps),i=re(a.type,i),Hu(e,t,a,i,n);case 15:return kd(e,t,t.type,t.pendingProps,n);case 17:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:re(a,i),v8(e,t),t.tag=1,w2(a)?(e=!0,E8(t)):e=!1,C5(t,n),Qm(t,a,i),Gi(t,a,i,n),Ui(null,t,a,!0,e,n);case 19:return $d(e,t,n);case 22:return zd(e,t,n)}throw Error(K(156,t.tag))};function Dd(e,t){return bm(e,t)}function IM(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function G2(e,t,n,a){return new IM(e,t,n,a)}function Gr(e){return e=e.prototype,!(!e||!e.isReactComponent)}function BM(e){if(typeof e=="function")return Gr(e)?1:0;if(e!=null){if(e=e.$$typeof,e===pr)return 11;if(e===ur)return 14}return 2}function T3(e,t){var n=e.alternate;return n===null?(n=G2(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function w8(e,t,n,a,i,r){var s=2;if(a=e,typeof e=="function")Gr(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case p5:return x4(n.children,i,r,t);case lr:s=8,i|=8;break;case gi:return e=G2(12,n,t,i|2),e.elementType=gi,e.lanes=r,e;case bi:return e=G2(13,n,t,i),e.elementType=bi,e.lanes=r,e;case fi:return e=G2(19,n,t,i),e.elementType=fi,e.lanes=r,e;case Ju:return nn(n,i,r,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Yu:s=10;break e;case Qu:s=9;break e;case pr:s=11;break e;case ur:s=14;break e;case z3:s=16,a=null;break e}throw Error(K(130,e==null?e:typeof e,""))}return t=G2(s,n,t,i),t.elementType=e,t.type=a,t.lanes=r,t}function x4(e,t,n,a){return e=G2(7,e,a,t),e.lanes=n,e}function nn(e,t,n,a){return e=G2(22,e,a,t),e.elementType=Ju,e.lanes=n,e.stateNode={isHidden:!1},e}function mi(e,t,n){return e=G2(6,e,null,t),e.lanes=n,e}function di(e,t,n){return t=G2(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function PM(e,t,n,a,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=K9(0),this.expirationTimes=K9(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=K9(0),this.identifierPrefix=a,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Or(e,t,n,a,i,r,s,c,o){return e=new PM(e,t,n,c,o),t===1?(t=1,r===!0&&(t|=8)):t=0,r=G2(3,null,null,t),e.current=r,r.stateNode=e,r.memoizedState={element:a,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Lr(r),e}function RM(e,t,n){var a=3{"use strict";function Xd(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Xd)}catch(e){console.error(e)}}Xd(),Kd.exports=Ud()});var Qd=ye(on=>{"use strict";var UM=g0(),XM=Symbol.for("react.element"),KM=Symbol.for("react.fragment"),YM=Object.prototype.hasOwnProperty,QM=UM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,JM={key:!0,ref:!0,__self:!0,__source:!0};function Yd(e,t,n){var a,i={},r=null,s=null;n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),t.ref!==void 0&&(s=t.ref);for(a in t)YM.call(t,a)&&!JM.hasOwnProperty(a)&&(i[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps,t)i[a]===void 0&&(i[a]=t[a]);return{$$typeof:XM,type:e,key:r,ref:s,props:i,_owner:QM.current}}on.Fragment=KM;on.jsx=Yd;on.jsxs=Yd});var eh=ye((mD,Jd)=>{"use strict";Jd.exports=Qd()});var rE,K3,P6=n1(()=>{rE=Object.freeze(JSON.parse('{"displayName":"TypeScript","name":"typescript","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.ts"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?)","name":"cast.expr.ts"},{"begin":"(??^|]|[^$_[:alnum:]](?:\\\\+\\\\+|--)|[^+]\\\\+|[^-]-)\\\\s*(<)(?!)","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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\s*(?]|=[^<]|<\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?]|=[^<]|<\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|^|[]),;}]|((?{sE=Object.freeze(JSON.parse('{"displayName":"Shell","name":"shellscript","patterns":[{"include":"#initial_context"}],"repository":{"alias_statement":{"begin":"[\\\\t ]*+(alias)[\\\\t ]*+((?:((?\\\\\\\\`|]+(?!>))"},{"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 ]*+((?\\\\[{|]|$|[\\\\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 ]*#|])(?`{|]+)"},{"begin":"(?:\\\\G|(?\\\\[{|]|$|[\\\\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 ]*#|])(?]|&&|\\\\|\\\\|","name":"keyword.operator.logical.shell"},{"match":"(?[=>]?|==|!=|^|\\\\|{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":"(?[=>]?|==|!=|^|\\\\|{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 ;]))","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 ]*#|])(?>?)[\\\\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":"(?{cE=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"}')),Q3=[cE]});var _v=ye((oX,yv)=>{"use strict";var J3=[[{color:"0, 0, 0",class:"ansi-black"},{color:"187, 0, 0",class:"ansi-red"},{color:"0, 187, 0",class:"ansi-green"},{color:"187, 187, 0",class:"ansi-yellow"},{color:"0, 0, 187",class:"ansi-blue"},{color:"187, 0, 187",class:"ansi-magenta"},{color:"0, 187, 187",class:"ansi-cyan"},{color:"255,255,255",class:"ansi-white"}],[{color:"85, 85, 85",class:"ansi-bright-black"},{color:"255, 85, 85",class:"ansi-bright-red"},{color:"0, 255, 0",class:"ansi-bright-green"},{color:"255, 255, 85",class:"ansi-bright-yellow"},{color:"85, 85, 255",class:"ansi-bright-blue"},{color:"255, 85, 255",class:"ansi-bright-magenta"},{color:"85, 255, 255",class:"ansi-bright-cyan"},{color:"255, 255, 255",class:"ansi-bright-white"}]],pE=/(https?:\/\/(?:[A-Za-z0-9#;/?:@=+$',_.!~*()[\]-]|&|%[A-Fa-f0-9]{2})+)/gm,Xs=class e{static escapeForHtml(t){return new e().escapeForHtml(t)}static linkify(t){return new e().linkify(t)}static ansiToHtml(t,n){return new e().ansiToHtml(t,n)}static ansiToJson(t,n){return new e().ansiToJson(t,n)}static ansiToText(t){return new e().ansiToText(t)}constructor(){this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null,this.bright=0,this.decorations=[]}setupPalette(){this.PALETTE_COLORS=[];for(let c=0;c<2;++c)for(let o=0;o<8;++o)this.PALETTE_COLORS.push(J3[c][o].color);let t=[0,95,135,175,215,255],n=(c,o,l)=>t[c]+", "+t[o]+", "+t[l],a,i,r;for(let c=0;c<6;++c)for(let o=0;o<6;++o)for(let l=0;l<6;++l)this.PALETTE_COLORS.push(n(c,o,l));let s=8;for(let c=0;c<24;++c,s+=10)this.PALETTE_COLORS.push(s+", "+s+", "+s)}escapeForHtml(t){return t.replace(/[&<>\"]/gm,n=>n=="&"?"&":n=='"'?""":n=="<"?"<":n==">"?">":"")}linkify(t){return t.replace(pE,n=>'').concat(n,""))}ansiToHtml(t,n){return this.process(t,n,!0)}ansiToJson(t,n){return n=n||{},n.json=!0,n.clearLine=!1,this.process(t,n,!0)}ansiToText(t){return this.process(t,{},!1)}process(t,n,a){let i=this,r=t.split(/\033\[/),s=r.shift();n==null&&(n={}),n.clearLine=/\r/.test(t);let c=r.map(o=>this.processChunk(o,n,a));if(n&&n.json){let o=i.processChunkJson("");return o.content=s,o.clearLine=n.clearLine,c.unshift(o),n.remove_empty&&(c=c.filter(l=>!l.isEmpty())),c}else c.unshift(s);return c.join("")}processChunkJson(t,n,a){n=typeof n>"u"?{}:n;let i=n.use_classes=typeof n.use_classes<"u"&&n.use_classes,r=n.key=i?"class":"color",s={content:t,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,isInverted:!1,clearLine:n.clearLine,decoration:null,decorations:[],was_processed:!1,isEmpty:()=>!s.content},c=t.match(/^([!\x3c-\x3f]*)([\d;]*)([\x20-\x2c]*[\x40-\x7e])([\s\S]*)/m);if(!c)return s;let o=s.content=c[4],l=c[2].split(";");if(c[1]!==""||c[3]!=="m"||!a)return s;let p=this;for(;l.length>0;){let u=l.shift(),m=parseInt(u);if(isNaN(m)||m===0)p.fg=p.bg=null,p.decorations=[];else if(m===1)p.decorations.push("bold");else if(m===2)p.decorations.push("dim");else if(m===3)p.decorations.push("italic");else if(m===4)p.decorations.push("underline");else if(m===5)p.decorations.push("blink");else if(m===7)p.decorations.push("reverse");else if(m===8)p.decorations.push("hidden");else if(m===9)p.decorations.push("strikethrough");else if(m===21)p.removeDecoration("bold");else if(m===22)p.removeDecoration("bold"),p.removeDecoration("dim");else if(m===23)p.removeDecoration("italic");else if(m===24)p.removeDecoration("underline");else if(m===25)p.removeDecoration("blink");else if(m===27)p.removeDecoration("reverse");else if(m===28)p.removeDecoration("hidden");else if(m===29)p.removeDecoration("strikethrough");else if(m===39)p.fg=null;else if(m===49)p.bg=null;else if(m>=30&&m<38)p.fg=J3[0][m%10][r];else if(m>=90&&m<98)p.fg=J3[1][m%10][r];else if(m>=40&&m<48)p.bg=J3[0][m%10][r];else if(m>=100&&m<108)p.bg=J3[1][m%10][r];else if(m===38||m===48){let d=m===38;if(l.length>=1){let f=l.shift();if(f==="5"&&l.length>=1){let w=parseInt(l.shift());if(w>=0&&w<=255)if(!i)this.PALETTE_COLORS||p.setupPalette(),d?p.fg=this.PALETTE_COLORS[w]:p.bg=this.PALETTE_COLORS[w];else{let k=w>=16?"ansi-palette-"+w:J3[w>7?1:0][w%8].class;d?p.fg=k:p.bg=k}}else if(f==="2"&&l.length>=3){let w=parseInt(l.shift()),k=parseInt(l.shift()),v=parseInt(l.shift());if(w>=0&&w<=255&&k>=0&&k<=255&&v>=0&&v<=255){let b=w+", "+k+", "+v;i?d?(p.fg="ansi-truecolor",p.fg_truecolor=b):(p.bg="ansi-truecolor",p.bg_truecolor=b):d?p.fg=b:p.bg=b}}}}}if(p.fg===null&&p.bg===null&&p.decorations.length===0)return s;{let u=[],m=[],d={};return s.fg=p.fg,s.bg=p.bg,s.fg_truecolor=p.fg_truecolor,s.bg_truecolor=p.bg_truecolor,s.decorations=p.decorations,s.decoration=p.decorations.slice(-1).pop()||null,s.was_processed=!0,s}}processChunk(t,n,a){n=n||{};let i=this.processChunkJson(t,n,a),r=n.use_classes;if(i.decorations=i.decorations.filter(u=>{if(u==="reverse"){i.fg||(i.fg=J3[0][7][r?"class":"color"]),i.bg||(i.bg=J3[0][0][r?"class":"color"]);let m=i.fg;i.fg=i.bg,i.bg=m;let d=i.fg_truecolor;return i.fg_truecolor=i.bg_truecolor,i.bg_truecolor=d,i.isInverted=!0,!1}return!0}),n.json)return i;if(i.isEmpty())return"";if(!i.was_processed)return i.content;let s=[],c=[],o=[],l={},p=u=>{let m=[],d;for(d in u)u.hasOwnProperty(d)&&m.push("data-"+d+'="'+this.escapeForHtml(u[d])+'"');return m.length>0?" "+m.join(" "):""};return i.isInverted&&(l["ansi-is-inverted"]="true"),i.fg&&(r?(s.push(i.fg+"-fg"),i.fg_truecolor!==null&&(l["ansi-truecolor-fg"]=i.fg_truecolor,i.fg_truecolor=null)):s.push("color:rgb("+i.fg+")")),i.bg&&(r?(s.push(i.bg+"-bg"),i.bg_truecolor!==null&&(l["ansi-truecolor-bg"]=i.bg_truecolor,i.bg_truecolor=null)):s.push("background-color:rgb("+i.bg+")")),i.decorations.forEach(u=>{if(r){c.push("ansi-"+u);return}u==="bold"?c.push("font-weight:bold"):u==="dim"?c.push("opacity:0.5"):u==="italic"?c.push("font-style:italic"):u==="hidden"?c.push("visibility:hidden"):u==="strikethrough"?o.push("line-through"):o.push(u)}),o.length&&c.push("text-decoration:"+o.join(" ")),r?'"+i.content+"":'"+i.content+""}removeDecoration(t){let n=this.decorations.indexOf(t);n>=0&&this.decorations.splice(n,1)}};yv.exports=Xs});var P_={};u1(P_,{default:()=>p7});var pT,p7,qa=n1(()=>{pT=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":"`|(?))","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":"(]|(?=\\"))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?)","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)|((?^]?[- +]?#?\\\\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(?>|[\\\\&^|~])|(\\\\*\\\\*|[-%*+]|//|[/@])|(!=|==|>=|<=|[<>])|(:=)"},"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":"(\\")|(?)","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":"(]|(?=\'))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\'))|((?=(?)","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(?^]?[- +]?#?\\\\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)|((?{uT=Object.freeze(JSON.parse('{"displayName":"JavaScript","name":"javascript","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.js"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?))","end":"(/>)|()","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:]]*)(?)","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":"(?=|/\\\\*|//)"},"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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","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":"()","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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","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":"(?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.js"}},"name":"meta.type.parameters.js","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js"}},"end":"(?=$|^|[]),;}]|((?G0});var mT,G0,Ve=n1(()=>{mT=Object.freeze(JSON.parse('{"displayName":"CSS","name":"css","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"include":"#combinator-invalid"},{"include":"#selector"},{"include":"#at-rules"},{"include":"#rule-list"}],"repository":{"arithmetic-operators":{"match":"[*/]|(?<=\\\\s|^)[-+](?=\\\\s|$)","name":"keyword.operator.arithmetic.css"},"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"},{"match":"\\\\s+"},{"include":"#layer-import"},{"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":"#rule-list-innards"},{"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)(?>>","name":"invalid.deprecated.combinator.css"},"combinators":{"patterns":[{"include":"#combinator-invalid"},{"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":"^(?]|/\\\\*)"},"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"},{"include":"#functions"}]}]},"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)(?A-\\\\[a-z|~[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.)|[#.](?:[-\\\\w]|\\\\\\\\(?:\\\\h{1,6}|.))|::??[-A-Za-z])(?![-\\\\w]*:+\\\\s|[^{]*;|[^{]*}|[^:]+(::):+)","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.nesting.css"},{"match":"\\\\*","name":"entity.name.tag.wildcard.css"},{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#escapes"}]}},"match":"(?\\\\[{|~\\\\s]|/\\\\*)|(?:[-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":"(?\\\\[{|~\\\\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":"(?I2});var dT,I2,u4=n1(()=>{ee();Ve();dT=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}\uFDD0-\uFDEF\uFFFE\uFFFF\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\\\\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":"","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.cdata.html"},"comment":{"begin":"","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":"","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)()","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}\uFDD0-\uFDEF\uFFFE\uFFFF\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()","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}\uFDD0-\uFDEF\uFFFE\uFFFF\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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":"(\\\\s]*))(?)","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":"(?=)","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":"(?=|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":"(?=)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.script.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?!\\\\G)","end":"(?=)","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)()","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)()","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)()","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)()","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)()","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)()","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)()","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)()","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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]*-[-.0-9A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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":"()","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"]}')),I2=[...w0,...G0,dT]});var hT,G_,O_=n1(()=>{ee();Ve();hT=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":"$|(?![#(.\\\\[{]|&|[-=~]|!=|&=|/)","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":"(?Zo});var gT,Zo,Eo=n1(()=>{gT=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":"(?","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":"(?>>?|[\\\\^~])","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(?)?(\\\\()","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"}')),Zo=[gT]});var U_={};u1(U_,{default:()=>y3});var bT,y3,rt=n1(()=>{Eo();bT=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":"()","name":"meta.tag.sgml.doctype.xml","patterns":[{"include":"#internalSubset"}]},{"include":"#comments"},{"begin":"(<)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(?=(\\\\s[^>]*)?>)","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":"(>)()","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":"()","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":"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.unquoted.cdata.xml"}],"repository":{"EntityDecl":{"begin":"()","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":"","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"]}')),y3=[...Zo,bT]});var X_={};u1(X_,{default:()=>_3});var fT,_3,st=n1(()=>{fT=Object.freeze(JSON.parse('{"displayName":"SQL","name":"sql","patterns":[{"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":"(?{vT=Object.freeze(JSON.parse('{"displayName":"JSX","name":"jsx","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.js.jsx"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?))","end":"(/>)|()","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:]]*)(?)","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":"(?=|/\\\\*|//)"},"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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","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":"()","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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","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":"(?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.js.jsx"}},"name":"meta.type.parameters.js.jsx","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js.jsx"}},"end":"(?=$|^|[]),;}]|((?{yT=Object.freeze(JSON.parse('{"displayName":"TSX","name":"tsx","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.tsx"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?))","end":"(/>)|()","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:]]*)(?)","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":"(?=|/\\\\*|//)"},"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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","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":"()","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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","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":"(?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.tsx"}},"name":"meta.type.parameters.tsx","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.tsx"}},"end":"(?=$|^|[]),;}]|((?u7});var _T,u7,Ia=n1(()=>{ee();P6();Y_();J_();_T=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"]}')),u7=[...w0,...K3,...K_,...Q_,_T]});var wT,Ba,Fo=n1(()=>{wT=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":{"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"]}')),Ba=[wT]});var tw={};u1(tw,{default:()=>U4});var xT,U4,m7=n1(()=>{xT=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+((?","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":"(?=/[*/])|(?]+|\\\\(\\\\)|\\\\[]))\\\\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":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?\\\\s*)(//[!/]+)","beginCaptures":{"1":{"name":"punctuation.definition.comment.documentation.c"}},"end":"(?<=\\\\n)(?]|::|\\\\||---??)\\\\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":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?]+|\\\\(\\\\)|\\\\[]))\\\\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)(?\\\\*?))"}]},"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)))*)?((?>|\\\\|)=","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:(?]+|\\\\(\\\\)|\\\\[])\\\\s*\\\\()","end":"(?<=\\\\))(?!\\\\w)|(?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.c"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.c"}},"end":"(\\\\))|(?])\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(?=(?:\\\\[]\\\\s*)?[),])"},"static_assert":{"begin":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\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:(?\\\\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":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\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":"(((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"(?{m7();kT=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"]}')),Pa=[...U4,kT]});var zT,nw,aw=n1(()=>{Fo();jo();zT=Object.freeze(JSON.parse('{"displayName":"C++","name":"cpp-macro","patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"source.cpp#simple_array_assignment"},{"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":"\\\\)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"\\\\)|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"\\\\)|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(::))?\\\\s+{0,1}((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)([A-Z][0-9A-Z_]*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.function.call.upper-case.cpp 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_helper"}]},"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 punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp"}},"end":"\\\\)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"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_helper"}]},"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":"\\\\)|(?=(?|\\\\*/))\\\\s*+(?:((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?)((?:\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"}]},"lambdas":{"begin":"(?:(?<=\\\\S|^)(?\\\\[\\\\w])|(?<=(?:\\\\W|^)return))\\\\s+{0,1}(\\\\[(?!\\\\[| *+\\"| *+\\\\d))((?:[^]\\\\[]|((??)++]))*+)(](?!((?:\\\\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":"(?<=[;}])|(?=(?","beginCaptures":{"0":{"name":"punctuation.definition.lambda.return-type.cpp"}},"end":"(?=\\\\{)|(?=(?\\\\*?))((?:(?:[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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"},"13":{"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.lower-case.cpp variable.other.object.property.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.property.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.property.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.property.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"14":{"name":"entity.name.function.member.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"end":"\\\\)|(?=(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=)))","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":"meta.assignment.cpp"},"6":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(operator)(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(?:(?:(delete\\\\[]|delete|new\\\\[]|<=>|<<=|new|>>=|->\\\\*|/=|%=|&=|>=|\\\\|=|\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|<<|>>|--|<=|\\\\^=|==|!=|&&|\\\\|\\\\||\\\\+=|-=|\\\\*=|[!%\\\\&*-\\\\-/<=>^|~])|((?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[-%*+]|(?>|\\\\|)=)|(=)"},{"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":"(?:(?=\\\\))|(,))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(:)(?!:)"},{"captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(,)((?:\\\\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)(])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:)(?!:)","name":"meta.binding.cpp"},{"include":"#evaluation_context"}]},"requires_keyword":{"begin":"((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)?((?X4});var CT,X4,d7=n1(()=>{aw();Fo();jo();CT=Object.freeze(JSON.parse('{"displayName":"C++","name":"cpp","patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"#simple_array_assignment"},{"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+((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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":"((?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\b(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"((?|\\\\?\\\\?>","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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"((?|\\\\?\\\\?>","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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?]*(>?)(((?:\\\\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"},"decltype":{"begin":"((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(::))?\\\\s+{0,1}((?|\\\\?\\\\?>)\\\\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":"((?|\\\\?\\\\?>)\\\\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":"#simple_array_assignment"},{"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":"#over_qualified_types"},{"include":"#normal_variable_assignment"},{"include":"#normal_variable_declaration"},{"include":"#switch_statement"},{"include":"#goto_statement"},{"include":"#evaluation_context"},{"include":"#label"}]},"function_call":{"patterns":[{"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)([A-Z][0-9A-Z_]*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.function.call.upper-case.cpp 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_helper"}]},"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 punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.cpp punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"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_helper"}]},"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*+(?:((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"(?)((?:\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()","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"},"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.modifier.specifier.functional.post-parameters.$10.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"}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()","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"},"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.modifier.specifier.functional.post-parameters.$10.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"}},"patterns":[{"include":"#function_parameter_context"}]},"functional_specifiers_pre_parameters":{"match":"(?]*(>?)(((?:\\\\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":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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])|(?<=(?:\\\\W|^)return))\\\\s+{0,1}(\\\\[(?!\\\\[| *+\\"| *+\\\\d))((?:[^]\\\\[]|((??)++]))*+)(](?!((?:\\\\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":"(?","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":"#function_body_context"}]}]},"language_constants":{"match":"(?\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"12":{"name":"variable.other.property.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+{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)((?\\\\*?))((?:(?:[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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"},"13":{"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.lower-case.cpp variable.other.object.property.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.property.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.property.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.property.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"14":{"name":"entity.name.function.member.cpp"},"15":{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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"},{"include":"#normal_variable_assignment"},{"include":"#normal_variable_declaration"},{"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_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>","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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=)))","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":"meta.assignment.cpp"},"6":{"patterns":[{"include":"#storage_specifiers"}]},"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":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(operator)(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(?:(?:(delete\\\\[]|delete|new\\\\[]|<=>|<<=|new|>>=|->\\\\*|/=|%=|&=|>=|\\\\|=|\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|<<|>>|--|<=|\\\\^=|==|!=|&&|\\\\|\\\\||\\\\+=|-=|\\\\*=|[!%\\\\&*-\\\\-/<=>^|~])|((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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_helper"},{"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":"((?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[-%*+]|(?>|\\\\|)=)|(=)"},{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w])","name":"meta.qualified-type.cpp"},"qualifiers_and_specifiers_post_parameters":{"patterns":[{"begin":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(:)(?!:)"},{"captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"#storage_specifiers"}]},"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":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(,)((?:\\\\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)(])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:)(?!:)","name":"meta.binding.cpp"},{"include":"#evaluation_context"}]},"requires_keyword":{"begin":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.operator-overload.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.alias.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.block.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.using.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.parameter.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"semicolon":{"match":";","name":"punctuation.terminator.statement.cpp"},"simple_array_assignment":{"captures":{"1":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=))"},"simple_constructor_call":{"captures":{"1":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(?=(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?"},"sizeof_operator":{"begin":"((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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":"((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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_helper"},{"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_helper"}]},"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*+","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_call_range_helper":{"patterns":[{"captures":{"1":{"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)))*)?(?:(?","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}))*))|(?)\\\\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":"(?)\\\\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":"#constructor_bracket_call"},{"include":"#simple_constructor_call"},{"include":"#simple_array_assignment"},{"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"},{"include":"#unknown_variable"}]},"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))|(.*(?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()","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"},"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.modifier.specifier.functional.post-parameters.$10.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"}},"patterns":[{"include":"#function_parameter_context"}]}]},"typedef_struct":{"begin":"((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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)((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)?((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=))","name":"meta.assignment.cpp"},"variable_declare":{"captures":{"1":{"patterns":[{"include":"#storage_specifiers"}]},"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":{"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":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?Ho});var AT,Ho,No=n1(()=>{m7();AT=Object.freeze(JSON.parse('{"displayName":"Lua","name":"lua","patterns":[{"begin":"\\\\b(?:(local)\\\\s+)?(function)\\\\b(?![,:])","beginCaptures":{"1":{"name":"keyword.local.lua"},"2":{"name":"keyword.control.lua"}},"end":"(?<=[-\\\\]\\"\')\\\\[{}])","name":"meta.function.lua","patterns":[{"include":"#comment"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.lua"}},"end":"(\\\\))|(?=[-\\\\]\\"\'\\\\[{}])|(?"},{"match":"<[*A-Z_a-z][-*.0-9A-Z_a-z]*>","name":"storage.type.generic.lua"},{"match":"\\\\b(break|do|else|for|if|elseif|goto|return|then|repeat|while|until|end|in)\\\\b","name":"keyword.control.lua"},{"match":"\\\\b(local)\\\\b","name":"keyword.local.lua"},{"captures":{"1":{"name":"keyword.global.lua"}},"match":"^\\\\s*(global)\\\\b(?!\\\\s*=)"},{"match":"\\\\b(function)\\\\b(?![,:])","name":"keyword.control.lua"},{"match":"(?=?|(?]","name":"keyword.operator.lua"}]},{"begin":"(?<=---)[\\\\t ]*@see","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"match":"\\\\b([*A-Z_a-z][-*.0-9A-Z_a-z]*)","name":"support.class.lua"},{"match":"#","name":"keyword.operator.lua"}]},{"begin":"(?<=---)[\\\\t ]*@diagnostic","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"begin":"([-0-9A-Z_a-z]+)[\\\\t ]*(:)?","beginCaptures":{"1":{"name":"keyword.other.unit"},"2":{"name":"keyword.operator.unit"}},"end":"(?=\\\\n)","patterns":[{"match":"\\\\b([*A-Z_a-z][-0-9A-Z_a-z]*)","name":"support.class.lua"},{"match":",","name":"keyword.operator.lua"}]}]},{"begin":"(?<=---)[\\\\t ]*@module","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"include":"#string"}]},{"match":"(?<=---)[\\\\t ]*@(async|nodiscard)","name":"storage.type.annotation.lua"},{"begin":"(?<=---)\\\\|\\\\s*[+>]?","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"include":"#string"}]}]},"emmydoc.type":{"patterns":[{"begin":"\\\\bfun\\\\b","beginCaptures":{"0":{"name":"keyword.control.lua"}},"end":"(?=[#\\\\s])","patterns":[{"match":"[](),:<>?\\\\[][\\\\t ]*","name":"keyword.operator.lua"},{"match":"([A-Z_a-z][-*.0-9A-Z_a-z]*)(?","name":"storage.type.generic.lua"},{"match":"\\\\basync\\\\b","name":"entity.name.tag.lua"},{"match":"[,:?`{|}][\\\\t ]*","name":"keyword.operator.lua"},{"begin":"(?=[\\"\'*.A-\\\\[_a-z])","end":"(?=[#),:?|}\\\\s])","patterns":[{"match":"([-\\\\]*,.0-9<>A-\\\\[_a-z]+)(?h7});var MT,h7,Ra=n1(()=>{MT=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"]}')),h7=[MT]});var cw={};u1(cw,{default:()=>To});var $T,To,Vo=n1(()=>{u4();O_();rt();st();Ia();Ve();d7();m7();ee();R6();No();Ra();$T=Object.freeze(JSON.parse('{"displayName":"Ruby","name":"ruby","patterns":[{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"entity.name.type.class.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"},"7":{"name":"punctuation.separator.inheritance.ruby"},"8":{"name":"entity.other.inherited-class.ruby"},"11":{"name":"punctuation.separator.namespace.ruby"}},"match":"\\\\b(class)\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)\\\\s*((<)\\\\s*(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*))?","name":"meta.class.ruby"},{"captures":{"1":{"name":"keyword.control.module.ruby"},"2":{"name":"entity.name.type.module.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"}},"match":"\\\\b(module)\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)","name":"meta.module.ruby"},{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"punctuation.separator.inheritance.ruby"}},"match":"\\\\b(class)\\\\s*(<<)\\\\s*","name":"meta.class.ruby"},{"match":"(?>)=)"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"},"4":{"name":"keyword.operator.assignment.augmented.ruby"}},"match":"(?>)=)"},{"captures":{"1":{"name":"variable.ruby"}},"match":"^\\\\s*([_a-z][0-9A-Z_a-z]*)\\\\s*(?==[^=>])"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"}},"match":"(?]"},{"captures":{"1":{"name":"punctuation.definition.constant.hashkey.ruby"}},"match":"(?>[A-Z_a-z]\\\\w*[!?]?)(:)(?!:)","name":"constant.language.symbol.hashkey.ruby"},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"match":"(?[A-Z_a-z]\\\\w*[!?]?)(?=\\\\s*=>)","name":"constant.language.symbol.hashkey.ruby"},{"match":"(?)\\\\(","beginCaptures":{"1":{"name":"support.function.kernel.ruby"}},"end":"\\\\)","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[),])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"},"3":{"name":"punctuation.definition.parameters.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.ruby"}},"name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[),])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))[\\\\t ](?=[\\\\t ]*[^#;\\\\s])","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"}},"end":"(?=;)|(?<=[]!\\"\')?`}\\\\w])(?=\\\\s*#|\\\\s*$)","name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[,;]|\\\\s*#|\\\\s*$)","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"captures":{"1":{"name":"keyword.control.def.ruby"},"3":{"name":"entity.name.function.ruby"}},"match":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?)))?","name":"meta.function.method.without-arguments.ruby"},{"match":"\\\\b(\\\\d(?>_?\\\\d)*(\\\\.(?![^\\\\s\\\\d])(?>_?\\\\d)*)?([Ee][-+]?\\\\d(?>_?\\\\d)*)?|0(?:[Xx]\\\\h(?>_?\\\\h)*|[Oo]?[0-7](?>_?[0-7])*|[Bb][01](?>_?[01])*|[Dd]\\\\d(?>_?\\\\d)*))\\\\b","name":"constant.numeric.ruby"},{"begin":":\'","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.ruby"}]},{"begin":":\\"","beginCaptures":{"0":{"name":"punctuation.section.symbol.begin.ruby"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.section.symbol.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"match":"(?|=>|==|=~|!~|!=|;|$|if|else|elsif|then|do|end|unless|while|until|or|and))","captures":{"1":{"name":"string.regexp.interpolated.ruby"},"2":{"name":"punctuation.section.regexp.ruby"}},"contentName":"string.regexp.interpolated.ruby","end":"((/[eimnosux]*))","patterns":[{"include":"#regex_sub"}]},{"begin":"%r\\\\{","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"}[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},{"begin":"%r\\\\[","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"][eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},{"begin":"%r\\\\(","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\\\)[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},{"begin":"%r<","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":">[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},{"begin":"%r(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\\\1[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"%I\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%I\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%I<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%I\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%I(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%i\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%i\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%i<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%i\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%i(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%W\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%W\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%W<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%W\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%W(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%w\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%w\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%w<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%w\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%w(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%[Qx]?\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%[Qx]?\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%[Qx]?\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%[Qx]?<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%[Qx](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%([^=\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%q\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%q<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%q\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%q\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%q(\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%s\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%s<","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%s\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%s\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%s(\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\."}]},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"match":"(?[$A-Z_a-z]\\\\w*(?>[!?]|=(?![=>]))?|===?|<=>|>[=>]?|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?|@@?[A-Z_a-z]\\\\w*)","name":"constant.language.symbol.ruby"},{"begin":"^=begin","captures":{"0":{"name":"punctuation.definition.comment.ruby"}},"end":"^=end","name":"comment.block.documentation.ruby"},{"include":"#yard"},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ruby"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"end":"\\\\n","name":"comment.line.number-sign.ruby"}]},{"match":"(?<<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)HTML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.html","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.html","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.html.basic"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)HTML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)HAML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.haml","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.haml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.haml"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)HAML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)XML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.xml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.xml"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)XML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)SQL)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.sql","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.sql"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)SQL)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)G(?:RAPHQL|QL))$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.graphql","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.graphql","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.graphql"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)CSS)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.css","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.css","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.css"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)CSS)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)CPP)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.cpp","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.cpp","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.cpp"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)CPP)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)C)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.c","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.c","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.c"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)C)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.js","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.js","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)JQUERY)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.js.jquery","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.js.jquery","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js.jquery"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)JQUERY)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)SH(?:|ELL))$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.shell","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.shell","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.shell"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)SH(?:|ELL))\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)LUA)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.lua","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.lua","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.lua"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)LUA)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)RUBY)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.ruby","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.ruby"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)RUBY)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)YA?ML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)YA?ML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.yaml","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)YA?ML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.yaml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.yaml"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)YA?ML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)SLIM)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.slim","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.slim","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.slim"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)SLIM)\\\\s*$)"}]},{"begin":"(?>=\\\\s*<<([\\"\'`]?)([A-Z_a-z]\\\\w*)\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"string.unquoted.heredoc.ruby","end":"^\\\\2$","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?>((<<[-~]?([\\"\'`]?)([A-Z_a-z]\\\\w*)\\\\3,\\\\s?)*<<[-~]?([\\"\'`]?)([A-Z_a-z]\\\\w*)\\\\5))(.*)","beginCaptures":{"1":{"name":"string.definition.begin.ruby"},"7":{"patterns":[{"include":"source.ruby"}]}},"contentName":"string.unquoted.heredoc.ruby","end":"^\\\\s*\\\\6$","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?<=\\\\{|\\\\{\\\\s+|[^$0-:@-Z_a-z]do|^do|[^$0-:@-Z_a-z]do\\\\s+|^do\\\\s+)(\\\\|)","captures":{"1":{"name":"punctuation.separator.variable.ruby"}},"end":"(?","name":"punctuation.separator.key-value"},{"match":"->","name":"support.function.kernel.ruby"},{"match":"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<","name":"keyword.operator.assignment.augmented.ruby"},{"match":"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\t ])\\\\?","name":"keyword.operator.comparison.ruby"},{"match":"(?>","name":"keyword.operator.other.ruby"},{"match":";","name":"punctuation.separator.statement.ruby"},{"match":",","name":"punctuation.separator.object.ruby"},{"captures":{"1":{"name":"punctuation.separator.namespace.ruby"}},"match":"(::)\\\\s*(?=[A-Z])"},{"captures":{"1":{"name":"punctuation.separator.method.ruby"}},"match":"(\\\\.|::)\\\\s*(?![A-Z])"},{"match":":","name":"punctuation.separator.other.ruby"},{"match":"\\\\{","name":"punctuation.section.scope.begin.ruby"},{"match":"}","name":"punctuation.section.scope.end.ruby"},{"match":"\\\\[","name":"punctuation.section.array.begin.ruby"},{"match":"]","name":"punctuation.section.array.end.ruby"},{"match":"[()]","name":"punctuation.section.function.ruby"},{"begin":"(?<=[^.]\\\\.|::)(?=[A-Za-z][!0-9?A-Z_a-z]*[^!0-9?A-Z_a-z])","end":"(?<=[!0-9?A-Z_a-z])(?=[^!0-9?A-Z_a-z])","name":"meta.function-call.ruby","patterns":[{"match":"([A-Za-z][!0-9?A-Z_a-z]*)(?=[^!0-9?A-Z_a-z])","name":"entity.name.function.ruby"}]},{"begin":"([A-Za-z]\\\\w*[!?]?)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.ruby"},"2":{"name":"punctuation.section.function.ruby"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.function.ruby"}},"name":"meta.function-call.ruby","patterns":[{"include":"$self"}]}],"repository":{"escaped_char":{"match":"\\\\\\\\(?:[0-7]{1,3}|x[A-Fa-f\\\\d]{1,2}|.)","name":"constant.character.escape.ruby"},"heredoc":{"begin":"^<<[-~]?[A-Z_a-z]\\\\w*","end":"$","patterns":[{"include":"$self"}]},"interpolated_ruby":{"patterns":[{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.ruby"}},"contentName":"source.ruby","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.ruby"}},"name":"meta.embedded.line.ruby","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}]},{"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"}]},"method_parameters":{"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"#params"},{"include":"$self"}],"repository":{"braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"brackets":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"params":{"captures":{"1":{"name":"storage.type.variable.ruby"},"2":{"name":"constant.other.symbol.hashkey.parameter.function.ruby"},"3":{"name":"punctuation.definition.constant.ruby"},"4":{"name":"variable.parameter.function.ruby"}},"match":"\\\\G(&|\\\\*\\\\*?)?(?:([A-Z_a-z]\\\\w*[!?]?(:))|([A-Z_a-z]\\\\w*))"},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.function.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]}}},"nest_brackets":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#nest_brackets"}]},"nest_brackets_i":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},"nest_brackets_r":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]},"nest_curly_i":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},"nest_curly_r":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},"nest_ltgt":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#nest_ltgt"}]},"nest_ltgt_i":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},"nest_ltgt_r":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},"nest_parens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#nest_parens"}]},"nest_parens_i":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},"nest_parens_r":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},"regex_sub":{"patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.ruby"},"3":{"name":"punctuation.definition.arbitrary-repetition.ruby"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.ruby"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.ruby"}},"end":"]","name":"string.regexp.character-class.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.ruby"}},"name":"comment.line.number-sign.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.group.ruby"}},"end":"\\\\)","name":"string.regexp.group.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"(?<=^|\\\\s)(#)\\\\s(?=[-\\\\t !,.0-9?A-Za-z[^\\\\x00-\\\\x7F]]*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ruby"}},"end":"$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"name":"comment.line.number-sign.ruby"}]},"yard":{"patterns":[{"include":"#yard_comment"},{"include":"#yard_param_types"},{"include":"#yard_option"},{"include":"#yard_tag"},{"include":"#yard_types"},{"include":"#yard_directive"},{"include":"#yard_see"},{"include":"#yard_macro_attribute"}]},"yard_comment":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\\\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_continuation":{"match":"^\\\\s*#","name":"punctuation.definition.comment.ruby"},"yard_directive":{"begin":"^(\\\\s*)(#)(\\\\s*)(@!)(endgroup|group|method|parse|scope|visibility)(\\\\s+((\\\\[).+(])))?(?=\\\\s)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_macro_attribute":{"begin":"^(\\\\s*)(#)(\\\\s*)(@!)(attribute|macro)(\\\\s+((\\\\[).+(])))?(?=\\\\s)(\\\\s+([_a-z]\\\\w*:?))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"11":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_option":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(option)(?=\\\\s)(?>\\\\s+([_a-z]\\\\w*:?))?(?>\\\\s+((\\\\[).+(])))?(?>\\\\s+((\\\\S*)))?(?>\\\\s+((\\\\().+(\\\\))))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.keyword.yard.ruby"},"11":{"name":"comment.line.hashkey.yard.ruby"},"12":{"name":"comment.line.defaultvalue.yard.ruby"},"13":{"name":"comment.line.punctuation.yard.ruby"},"14":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_param_types":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(attr|attr_reader|attr_writer|yieldparam|param)(?=\\\\s)(?>\\\\s+(?>([_a-z]\\\\w*:?)|((\\\\[).+(]))))?(?>\\\\s+(?>((\\\\[).+(]))|([_a-z]\\\\w*:?)))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.type.yard.ruby"},"11":{"name":"comment.line.punctuation.yard.ruby"},"12":{"name":"comment.line.punctuation.yard.ruby"},"13":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_see":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(see)(?=\\\\s)(\\\\s+(.+?))?(?=\\\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_tag":{"captures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"match":"^(\\\\s*)(#)(\\\\s*)(@)(private)$","name":"comment.line.number-sign.ruby"},"yard_types":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(raise|return|yield(?:return)?)(?=\\\\s)(\\\\s+((\\\\[).+(])))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]}},"scopeName":"source.ruby","embeddedLangs":["html","haml","xml","sql","graphql","css","cpp","c","javascript","shellscript","lua","yaml"],"aliases":["rb"]}')),To=[...I2,...G_,...y3,..._3,...u7,...G0,...X4,...U4,...w0,...Y3,...Ho,...h7,$T]});var ow={};u1(ow,{default:()=>ST});var LT,ST,lw=n1(()=>{LT=Object.freeze(JSON.parse('{"displayName":"Go","name":"go","patterns":[{"include":"#statements"}],"repository":{"after_control_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"variable.other.go"}]}},"match":"(?<=\\\\brange\\\\b|;|\\\\bif\\\\b|\\\\bfor\\\\b|[<>]|<=|>=|==|!=|\\\\w[-%*+/]|\\\\w[-%*+/]=|\\\\|\\\\||&&)\\\\s*((?![]\\\\[]+)[-\\\\]!%*+./:<=>\\\\[_[:alnum:]]+)\\\\s*(?=\\\\{)"},"brackets":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"$self"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"$self"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"$self"}]}]},"built_in_functions":{"patterns":[{"match":"\\\\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\\\\b(?=\\\\()","name":"entity.name.function.support.builtin.go"},{"begin":"\\\\b(new)\\\\b(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.support.builtin.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#functions"},{"include":"#struct_variables_types"},{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#generic_types"},{"match":"\\\\w+","name":"entity.name.type.go"},{"include":"$self"}]},{"begin":"\\\\b(make)\\\\b(\\\\()((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?[]*\\\\[]+{0,1}(?:(?!\\\\bmap\\\\b)[.\\\\w]+)?(\\\\[(?:\\\\S+(?:,\\\\s*\\\\S+)*)?])?,?)?","beginCaptures":{"1":{"name":"entity.name.function.support.builtin.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"},"3":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"$self"}]}]},"comments":{"patterns":[{"begin":"(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"end":"(\\\\*/)","endCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"name":"comment.block.go"},{"begin":"(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"end":"\\\\n|$","name":"comment.line.double-slash.go"}]},"const_assignment":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.constant.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\bconst\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"begin":"(?<=\\\\bconst\\\\b)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.constant.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"include":"$self"}]}]},"delimiters":{"patterns":[{"match":",","name":"punctuation.other.comma.go"},{"match":"\\\\.(?!\\\\.\\\\.)","name":"punctuation.other.period.go"},{"match":":(?!=)","name":"punctuation.other.colon.go"}]},"double_parentheses_types":{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?\\\\[\\\\w]+\\\\s*(?:/[*/].*)?)$"},{"include":"$self"}]},"function_param_types":{"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$"},{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.parameter.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[]*.\\\\[\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:[]*\\\\[]+{0,1}[*.\\\\w]+(?:\\\\[[^]]+])?[*.\\\\w]+{0,1})+))"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"([.\\\\w]+)"},{"include":"$self"}]},"functions":{"begin":"\\\\b(func)\\\\b(?=\\\\()","beginCaptures":{"1":{"name":"keyword.function.go"}},"end":"(?<=\\\\))(\\\\s*(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(\\\\s*(?:[]*\\\\[]+{0,1}[*.\\\\w]+)?(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+]|\\\\([^)]+{0,1}\\\\))?[*.\\\\w]+{0,1}\\\\s*(?=\\\\{)|\\\\s*(?:[]*\\\\[]+{0,1}(?!\\\\bfunc\\\\b)[*.\\\\w]+(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])?[*.\\\\w]+{0,1}|\\\\([^)]+{0,1}\\\\)))?","endCaptures":{"1":{"patterns":[{"include":"#type-declarations"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#parameter-variable-types"}]},"functions_inline":{"captures":{"1":{"name":"keyword.function.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b(func)\\\\b(\\\\([^/]*?\\\\)\\\\s+\\\\([^/]*?\\\\))\\\\s+(?=\\\\{)"},"generic_param_types":{"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$"},{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.parameter.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"3":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[*.\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:(?:[*.~\\\\w]+|\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])[*.\\\\w]+{0,1})+))"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b([.\\\\w]+)"},{"include":"$self"}]},"generic_types":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"patterns":[{"include":"#parameter-variable-types"}]}},"match":"([*.\\\\w]+)(\\\\[[^]]+{0,1}])"},"group-functions":{"patterns":[{"include":"#function_declaration"},{"include":"#functions_inline"},{"include":"#functions"},{"include":"#built_in_functions"},{"include":"#support_functions"}]},"group-types":{"patterns":[{"include":"#other_struct_interface_expressions"},{"include":"#type_assertion_inline"},{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#single_type"},{"include":"#multi_types"},{"include":"#struct_interface_declaration"},{"include":"#double_parentheses_types"},{"include":"#switch_types"},{"include":"#type-declarations"}]},"group-variables":{"patterns":[{"include":"#const_assignment"},{"include":"#var_assignment"},{"include":"#variable_assignment"},{"include":"#label_loop_variables"},{"include":"#slice_index_variables"},{"include":"#property_variables"},{"include":"#switch_variables"},{"include":"#other_variables"}]},"hover":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"match":"\\\\binvalid\\\\b\\\\s+\\\\btype\\\\b","name":"invalid.field.go"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=^\\\\bfield\\\\b)\\\\s+([*.\\\\w]+)\\\\s+([\\\\s\\\\S]+)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=^\\\\breturns\\\\b)\\\\s+([\\\\s\\\\S]+)"}]},"import":{"patterns":[{"begin":"\\\\b(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.import.go"}},"end":"(?!\\\\G)","patterns":[{"include":"#imports"}]}]},"imports":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.import.go"}]},"2":{"name":"string.quoted.double.go"},"3":{"name":"punctuation.definition.string.begin.go"},"4":{"name":"entity.name.import.go"},"5":{"name":"punctuation.definition.string.end.go"}},"match":"(\\\\s*[.\\\\w]+)?\\\\s*((\\")([^\\"]*)(\\"))"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.imports.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.imports.end.bracket.round.go"}},"patterns":[{"include":"#comments"},{"include":"#imports"}]},{"include":"$self"}]},"interface_variables_types":{"begin":"\\\\b(interface)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.interface.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}]},"interface_variables_types_field":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations-without-brackets"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"([.\\\\w]+)"}]},"keywords":{"patterns":[{"match":"\\\\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\\\\b","name":"keyword.control.go"},{"match":"\\\\bchan\\\\b","name":"keyword.channel.go"},{"match":"\\\\bconst\\\\b","name":"keyword.const.go"},{"match":"\\\\bvar\\\\b","name":"keyword.var.go"},{"match":"\\\\bfunc\\\\b","name":"keyword.function.go"},{"match":"\\\\binterface\\\\b","name":"keyword.interface.go"},{"match":"\\\\bmap\\\\b","name":"keyword.map.go"},{"match":"\\\\bstruct\\\\b","name":"keyword.struct.go"},{"match":"\\\\bimport\\\\b","name":"keyword.control.import.go"},{"match":"\\\\btype\\\\b","name":"keyword.type.go"}]},"label_loop_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.label.go"}]}},"match":"^(\\\\s*\\\\w+:\\\\s*|\\\\s*\\\\b(?:break|goto|continue)\\\\b\\\\s+\\\\w+(?:\\\\s*/[*/]\\\\s*.*)?)$"},"language_constants":{"captures":{"1":{"name":"constant.language.boolean.go"},"2":{"name":"constant.language.null.go"},"3":{"name":"constant.language.iota.go"}},"match":"\\\\b(?:(true|false)|(nil)|(iota))\\\\b"},"map_types":{"begin":"\\\\b(map)\\\\b(\\\\[)","beginCaptures":{"1":{"name":"keyword.map.go"},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"(])((?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:func|struct|map)\\\\b)[]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?)?","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.square.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"include":"#functions"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"multi_types":{"begin":"\\\\b(type)\\\\b\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"numeric_literals":{"captures":{"0":{"patterns":[{"begin":"(?=.)","end":"\\\\n|$","patterns":[{"captures":{"1":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"2":{"name":"punctuation.separator.constant.numeric.go"},"3":{"name":"constant.numeric.decimal.point.go"},"4":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"5":{"name":"punctuation.separator.constant.numeric.go"},"6":{"name":"keyword.other.unit.exponent.decimal.go"},"7":{"name":"keyword.operator.plus.exponent.decimal.go"},"8":{"name":"keyword.operator.minus.exponent.decimal.go"},"9":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"10":{"name":"keyword.other.unit.imaginary.go"},"11":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"12":{"name":"punctuation.separator.constant.numeric.go"},"13":{"name":"keyword.other.unit.exponent.decimal.go"},"14":{"name":"keyword.operator.plus.exponent.decimal.go"},"15":{"name":"keyword.operator.minus.exponent.decimal.go"},"16":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"17":{"name":"keyword.other.unit.imaginary.go"},"18":{"name":"constant.numeric.decimal.point.go"},"19":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"20":{"name":"punctuation.separator.constant.numeric.go"},"21":{"name":"keyword.other.unit.exponent.decimal.go"},"22":{"name":"keyword.operator.plus.exponent.decimal.go"},"23":{"name":"keyword.operator.minus.exponent.decimal.go"},"24":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"25":{"name":"keyword.other.unit.imaginary.go"},"26":{"name":"keyword.other.unit.hexadecimal.go"},"27":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"28":{"name":"punctuation.separator.constant.numeric.go"},"29":{"name":"constant.numeric.hexadecimal.go"},"30":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"31":{"name":"punctuation.separator.constant.numeric.go"},"32":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"33":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"34":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"35":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"36":{"name":"keyword.other.unit.imaginary.go"},"37":{"name":"keyword.other.unit.hexadecimal.go"},"38":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"39":{"name":"punctuation.separator.constant.numeric.go"},"40":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"41":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"42":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"43":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"44":{"name":"keyword.other.unit.imaginary.go"},"45":{"name":"keyword.other.unit.hexadecimal.go"},"46":{"name":"constant.numeric.hexadecimal.go"},"47":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"48":{"name":"punctuation.separator.constant.numeric.go"},"49":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"50":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"51":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"52":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"53":{"name":"keyword.other.unit.imaginary.go"}},"match":"\\\\G(?:(?:(?:(?:(?:(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)?(?:(?=|<(?!<)|>(?!>))","name":"keyword.operator.comparison.go"},{"match":"(&&|\\\\|\\\\||!)","name":"keyword.operator.logical.go"},{"match":"((?:|[-%*+/:^|]|<<|>>|&\\\\^?)=)","name":"keyword.operator.assignment.go"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.go"},{"match":"(&(?!\\\\^)|[\\\\^|]|&\\\\^|<<|>>|~)","name":"keyword.operator.arithmetic.bitwise.go"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.ellipsis.go"}]},"other_struct_interface_expressions":{"patterns":[{"include":"#after_control_variables"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b(?!(?:struct|interface)\\\\b)([.\\\\w]+)(?\\\\[(?:[^]\\\\[]|\\\\g)*])?(?=\\\\{)"}]},"other_variables":{"match":"\\\\w+","name":"variable.other.go"},"package_name":{"patterns":[{"begin":"\\\\b(package)\\\\s+","beginCaptures":{"1":{"name":"keyword.package.go"}},"end":"(?!\\\\G)","patterns":[{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"entity.name.type.package.go"}]}]},"parameter-variable-types":{"patterns":[{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]}]},"property_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]}},"match":"\\\\b([.\\\\w]+:(?!=))"},"raw_string_literals":{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.raw.go","patterns":[{"include":"#string_placeholder"}]},"runes":{"patterns":[{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.rune.go","patterns":[{"match":"\\\\G(\\\\\\\\([0-7]{3}|[\\"\'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})|.)(?=\')","name":"constant.other.rune.go"},{"match":"[^\']+","name":"invalid.illegal.unknown-rune.go"}]}]},"single_type":{"patterns":[{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"3":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"include":"#type-declarations"},{"include":"#generic_types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)\\\\s+(?!(?:=\\\\s*)?[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b)([\\\\s\\\\S]+)"},{"begin":"(?:^|\\\\s+)\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)(?=\\\\[)","beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"end":"(?<=])(\\\\s+(?:=\\\\s*)?(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:struct|interface|func)\\\\b)[-\\\\]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?","endCaptures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#struct_variables_types"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}]},"slice_index_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.go"}]}},"match":"(?<=\\\\w\\\\[)((?:\\\\b[-%\\\\&*+./<>|\\\\w]+:|:\\\\b[-%\\\\&*+./<>|\\\\w]+)(?:\\\\b[-%\\\\&*+./<>|\\\\w]+)?(?::\\\\b[-%\\\\&*+./<>|\\\\w]+)?)(?=])"},"statements":{"patterns":[{"include":"#package_name"},{"include":"#import"},{"include":"#syntax_errors"},{"include":"#group-functions"},{"include":"#group-types"},{"include":"#group-variables"},{"include":"#hover"}]},"storage_types":{"patterns":[{"match":"\\\\bbool\\\\b","name":"storage.type.boolean.go"},{"match":"\\\\bbyte\\\\b","name":"storage.type.byte.go"},{"match":"\\\\berror\\\\b","name":"storage.type.error.go"},{"match":"\\\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\\\b","name":"storage.type.numeric.go"},{"match":"\\\\brune\\\\b","name":"storage.type.rune.go"},{"match":"\\\\bstring\\\\b","name":"storage.type.string.go"},{"match":"\\\\buintptr\\\\b","name":"storage.type.uintptr.go"},{"match":"\\\\bany\\\\b","name":"entity.name.type.any.go"},{"match":"\\\\bcomparable\\\\b","name":"entity.name.type.comparable.go"}]},"string_escaped_char":{"patterns":[{"match":"\\\\\\\\([0-7]{3}|[\\"\'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.go"},{"match":"\\\\\\\\[^\\"\'0-7Uabfnrtuvx]","name":"invalid.illegal.unknown-escape.go"}]},"string_literals":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.double.go","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"}]}]},"string_placeholder":{"patterns":[{"match":"%(\\\\[\\\\d+])?([- #+0]{0,2}((\\\\d+|\\\\*)?(\\\\.?(\\\\d+|\\\\*|(\\\\[\\\\d+])\\\\*?)?(\\\\[\\\\d+])?)?))?[%EFGTUXb-gopqstvwx]","name":"constant.other.placeholder.go"}]},"struct_interface_declaration":{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b(type)\\\\b\\\\s*([.\\\\w]+)"},"struct_variable_types_fields_multi":{"patterns":[{"begin":"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(struct)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.struct.go"},"3":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}]},{"begin":"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(interface)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.interface.go"},"3":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}]},{"begin":"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(func)\\\\b\\\\s*(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.function.go"},"3":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"include":"#parameter-variable-types"}]},"struct_variables_types":{"begin":"\\\\b(struct)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.struct.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}]},"struct_variables_types_fields":{"patterns":[{"include":"#struct_variable_types_fields_multi"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\{)\\\\s*((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\{)\\\\s*((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})"},{"captures":{"1":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[^\\"/`\\\\s]+;?)"}]}},"match":"(?<=\\\\{)((?:\\\\s*(?:(?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[^\\"/`\\\\s]+;?)+)\\\\s*(?=})"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[*.\\\\w]+\\\\s*)(?:(?=[\\"/`])|$)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b(\\\\w+(?:\\\\s*,\\\\s*\\\\b\\\\w+)*)\\\\s*([^\\"/`]+)"}]},"support_functions":{"captures":{"1":{"name":"entity.name.function.support.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"entity.name.function.support.go"}]},"3":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?:((?<=\\\\.)\\\\b\\\\w+)|\\\\b(\\\\w+))(?\\\\[(?:[^]\\\\[]|\\\\g)*])?(?=\\\\()"},"switch_types":{"begin":"(?<=\\\\bswitch\\\\b)\\\\s*(\\\\w+\\\\s*:=)?\\\\s*([-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+)(\\\\.\\\\(\\\\btype\\\\b\\\\)\\\\s*)(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#operators"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.go"}]},"3":{"patterns":[{"include":"#delimiters"},{"include":"#brackets"},{"match":"\\\\btype\\\\b","name":"keyword.type.go"}]},"4":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"captures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"3":{"name":"punctuation.other.colon.go"},"4":{"patterns":[{"include":"#comments"}]}},"match":"^\\\\s*\\\\b(case)\\\\b\\\\s+([!*,.<=>\\\\w\\\\s]+)(:)(\\\\s*/[*/]\\\\s*.*)?$"},{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.go"}},"end":":","endCaptures":{"0":{"name":"punctuation.other.colon.go"}},"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},{"include":"$self"}]},"switch_variables":{"patterns":[{"captures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"#type-declarations"},{"include":"#support_functions"},{"include":"#variable_assignment"},{"match":"\\\\w+","name":"variable.other.go"}]}},"match":"^\\\\s*\\\\b(case)\\\\b\\\\s+([\\\\s\\\\S]+:\\\\s*(?:/[*/].*)?)$"},{"begin":"(?<=\\\\bswitch\\\\b)\\\\s*((?:[.\\\\w]+(?:\\\\s*[-!%\\\\&+,/:<=>|]+\\\\s*[.\\\\w]+)*\\\\s*[-!%\\\\&+,/:<=>|]+)?\\\\s*[-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+{0,1}\\\\s*(?:;\\\\s*[-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+\\\\s*)?)(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#variable_assignment"},{"match":"\\\\w+","name":"variable.other.go"}]},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.go"}},"end":":","endCaptures":{"0":{"name":"punctuation.other.colon.go"}},"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#variable_assignment"},{"match":"\\\\w+","name":"variable.other.go"}]},{"include":"$self"}]}]},"syntax_errors":{"patterns":[{"captures":{"1":{"name":"invalid.illegal.slice.go"}},"match":"\\\\[](\\\\s+)"},{"match":"\\\\b0[0-7]*[89]\\\\d*\\\\b","name":"invalid.illegal.numeric.go"}]},"terminators":{"match":";","name":"punctuation.terminator.go"},"type-declarations":{"patterns":[{"include":"#language_constants"},{"include":"#comments"},{"include":"#map_types"},{"include":"#brackets"},{"include":"#delimiters"},{"include":"#keywords"},{"include":"#operators"},{"include":"#runes"},{"include":"#storage_types"},{"include":"#raw_string_literals"},{"include":"#string_literals"},{"include":"#numeric_literals"},{"include":"#terminators"}]},"type-declarations-without-brackets":{"patterns":[{"include":"#language_constants"},{"include":"#comments"},{"include":"#map_types"},{"include":"#delimiters"},{"include":"#keywords"},{"include":"#operators"},{"include":"#runes"},{"include":"#storage_types"},{"include":"#raw_string_literals"},{"include":"#string_literals"},{"include":"#numeric_literals"},{"include":"#terminators"}]},"type_assertion_inline":{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\.\\\\()(?:\\\\b(type)\\\\b|((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?))(?=\\\\))"},"var_assignment":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\bvar\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"begin":"(?<=\\\\bvar\\\\b)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"include":"$self"}]}]},"variable_assignment":{"patterns":[{"captures":{"0":{"patterns":[{"include":"#delimiters"},{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]}},"match":"\\\\b\\\\w+(?:,\\\\s*\\\\w+)*(?=\\\\s*:=)"},{"captures":{"0":{"patterns":[{"include":"#delimiters"},{"include":"#operators"},{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]}},"match":"\\\\b[*.\\\\w]+(?:,\\\\s*[*.\\\\w]+)*(?=\\\\s*=(?!=))"}]}},"scopeName":"source.go"}')),ST=[LT]});var pw={};u1(pw,{default:()=>ET});var ZT,ET,uw=n1(()=>{ZT=Object.freeze(JSON.parse('{"displayName":"Rust","name":"rust","patterns":[{"begin":"(<)(\\\\[)","beginCaptures":{"1":{"name":"punctuation.brackets.angle.rust"},"2":{"name":"punctuation.brackets.square.rust"}},"end":">","endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}},"patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"}]},{"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"3":{"name":"keyword.other.crate.rust"},"4":{"name":"entity.name.type.metavariable.rust"},"6":{"name":"keyword.operator.key-value.rust"},"7":{"name":"variable.other.metavariable.specifier.rust"}},"match":"(\\\\$)((crate)|([A-Z]\\\\w*))(\\\\s*(:)\\\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\\\b)?","name":"meta.macro.metavariable.type.rust","patterns":[{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"2":{"name":"variable.other.metavariable.name.rust"},"4":{"name":"keyword.operator.key-value.rust"},"5":{"name":"variable.other.metavariable.specifier.rust"}},"match":"(\\\\$)([a-z]\\\\w*)(\\\\s*(:)\\\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\\\b)?","name":"meta.macro.metavariable.rust","patterns":[{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.function.macro.rules.rust"},"3":{"name":"entity.name.function.macro.rust"},"4":{"name":"entity.name.type.macro.rust"},"5":{"name":"punctuation.brackets.curly.rust"}},"match":"\\\\b(macro_rules!)\\\\s+(([0-9_a-z]+)|([A-Z][0-9_a-z]*))\\\\s+(\\\\{)","name":"meta.macro.rules.rust"},{"captures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.module.rust"}},"match":"(mod)\\\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][0-9A-Z_a-z]*)"},{"begin":"\\\\b(extern)\\\\s+(crate)","beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"keyword.other.crate.rust"}},"end":";","endCaptures":{"0":{"name":"punctuation.semi.rust"}},"name":"meta.import.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"}]},{"begin":"\\\\b(use)\\\\s","beginCaptures":{"1":{"name":"keyword.other.rust"}},"end":";","endCaptures":{"0":{"name":"punctuation.semi.rust"}},"name":"meta.use.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}]},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"begin":"(#)(!?)(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.attribute.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"end":"]","endCaptures":{"0":{"name":"punctuation.brackets.attribute.rust"}},"name":"meta.attribute.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}]},"block-comments":{"patterns":[{"match":"/\\\\*\\\\*/","name":"comment.block.rust"},{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.documentation.rust","patterns":[{"include":"#block-comments"}]},{"begin":"/\\\\*(?!\\\\*)","end":"\\\\*/","name":"comment.block.rust","patterns":[{"include":"#block-comments"}]}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.rust"}},"match":"(///).*$","name":"comment.line.documentation.rust"},{"captures":{"1":{"name":"punctuation.definition.comment.rust"}},"match":"(//).*$","name":"comment.line.double-slash.rust"}]},"constants":{"patterns":[{"match":"\\\\b[A-Z]{2}[0-9A-Z_]*\\\\b","name":"constant.other.caps.rust"},{"captures":{"1":{"name":"storage.type.rust"},"2":{"name":"constant.other.caps.rust"}},"match":"\\\\b(const)\\\\s+([A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"punctuation.separator.dot.decimal.rust"},"2":{"name":"keyword.operator.exponent.rust"},"3":{"name":"keyword.operator.exponent.sign.rust"},"4":{"name":"constant.numeric.decimal.exponent.mantissa.rust"},"5":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b\\\\d[_\\\\d]*(\\\\.?)[_\\\\d]*(?:([Ee])([-+]?)([_\\\\d]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.decimal.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0x[A-F_a-f\\\\d]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.hex.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.oct.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.bin.rust"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.bool.rust"}]},"escapes":{"captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}},"match":"(\\\\\\\\)(?:(x[0-7][A-Fa-f\\\\d])|(u(\\\\{)[A-Fa-f\\\\d]{4,6}(}))|.)","name":"constant.character.escape.rust"},"functions":{"patterns":[{"captures":{"1":{"name":"storage.modifier.visibility.rust"}},"match":"\\\\b(pub)\\\\b"},{"captures":{"1":{"name":"storage.modifier.visibility.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"match":"\\\\b(pub)(\\\\()"},{"begin":"\\\\b(fn)\\\\s+((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)((\\\\()|(<))","beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"},"4":{"name":"punctuation.brackets.round.rust"},"5":{"name":"punctuation.brackets.angle.rust"}},"end":"(\\\\{)|(;)","endCaptures":{"1":{"name":"punctuation.brackets.curly.rust"},"2":{"name":"punctuation.semi.rust"}},"name":"meta.function.definition.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]},{"begin":"((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}},"name":"meta.function.call.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]},{"begin":"((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)(?=::<.*>\\\\()","beginCaptures":{"1":{"name":"entity.name.function.rust"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}},"name":"meta.function.call.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]}]},"gtypes":{"patterns":[{"match":"\\\\b(Some|None)\\\\b","name":"entity.name.type.option.rust"},{"match":"\\\\b(Ok|Err)\\\\b","name":"entity.name.type.result.rust"}]},"interpolations":{"captures":{"1":{"name":"punctuation.definition.interpolation.rust"},"2":{"name":"punctuation.definition.interpolation.rust"}},"match":"(\\\\{)[^\\"{}]*(})","name":"meta.interpolation.rust"},"keywords":{"patterns":[{"match":"\\\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\\\b","name":"keyword.control.rust"},{"match":"\\\\b(extern|let|macro|mod)\\\\b","name":"keyword.other.rust storage.type.rust"},{"match":"\\\\b(const)\\\\b","name":"storage.modifier.rust"},{"match":"\\\\b(type)\\\\b","name":"keyword.declaration.type.rust storage.type.rust"},{"match":"\\\\b(enum)\\\\b","name":"keyword.declaration.enum.rust storage.type.rust"},{"match":"\\\\b(trait)\\\\b","name":"keyword.declaration.trait.rust storage.type.rust"},{"match":"\\\\b(struct)\\\\b","name":"keyword.declaration.struct.rust storage.type.rust"},{"match":"\\\\b(abstract|static)\\\\b","name":"storage.modifier.rust"},{"match":"\\\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|ref|typeof|union|unsafe|unsized|use|virtual|where)\\\\b","name":"keyword.other.rust"},{"match":"\\\\bfn\\\\b","name":"keyword.other.fn.rust"},{"match":"\\\\bcrate\\\\b","name":"keyword.other.crate.rust"},{"match":"\\\\bmut\\\\b","name":"storage.modifier.mut.rust"},{"match":"([\\\\^|]|\\\\|\\\\||&&|<<|>>|!)(?!=)","name":"keyword.operator.logical.rust"},{"match":"&(?![\\\\&=])","name":"keyword.operator.borrow.and.rust"},{"match":"((?:[-%\\\\&*+/^|]|<<|>>)=)","name":"keyword.operator.assignment.rust"},{"match":"(?])=(?![=>])","name":"keyword.operator.assignment.equal.rust"},{"match":"(=(=)?(?!>)|!=|<=|(?=)","name":"keyword.operator.comparison.rust"},{"match":"(([%+]|(\\\\*(?!\\\\w)))(?!=))|(-(?!>))|(/(?!/))","name":"keyword.operator.math.rust"},{"captures":{"1":{"name":"punctuation.brackets.round.rust"},"2":{"name":"punctuation.brackets.square.rust"},"3":{"name":"punctuation.brackets.curly.rust"},"4":{"name":"keyword.operator.comparison.rust"},"5":{"name":"punctuation.brackets.round.rust"},"6":{"name":"punctuation.brackets.square.rust"},"7":{"name":"punctuation.brackets.curly.rust"}},"match":"(?:\\\\b|(?:(\\\\))|(])|(})))[\\\\t ]+([<>])[\\\\t ]+(?:\\\\b|(?:(\\\\()|(\\\\[)|(\\\\{)))"},{"match":"::","name":"keyword.operator.namespace.rust"},{"captures":{"1":{"name":"keyword.operator.dereference.rust"}},"match":"(\\\\*)(?=\\\\w+)"},{"match":"@","name":"keyword.operator.subpattern.rust"},{"match":"\\\\.(?!\\\\.)","name":"keyword.operator.access.dot.rust"},{"match":"\\\\.{2}([.=])?","name":"keyword.operator.range.rust"},{"match":":(?!:)","name":"keyword.operator.key-value.rust"},{"match":"->|<-","name":"keyword.operator.arrow.skinny.rust"},{"match":"=>","name":"keyword.operator.arrow.fat.rust"},{"match":"\\\\$","name":"keyword.operator.macro.dollar.rust"},{"match":"\\\\?","name":"keyword.operator.question.rust"}]},"lifetimes":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.lifetime.rust"},"2":{"name":"entity.name.type.lifetime.rust"}},"match":"(\')([A-Z_a-z][0-9A-Z_a-z]*)(?!\')\\\\b"},{"captures":{"1":{"name":"keyword.operator.borrow.rust"},"2":{"name":"punctuation.definition.lifetime.rust"},"3":{"name":"entity.name.type.lifetime.rust"}},"match":"(&)(\')([A-Z_a-z][0-9A-Z_a-z]*)(?!\')\\\\b"}]},"lvariables":{"patterns":[{"match":"\\\\b[Ss]elf\\\\b","name":"variable.language.self.rust"},{"match":"\\\\bsuper\\\\b","name":"variable.language.super.rust"}]},"macros":{"patterns":[{"captures":{"2":{"name":"entity.name.function.macro.rust"},"3":{"name":"entity.name.type.macro.rust"}},"match":"(([_a-z][0-9A-Z_a-z]*!)|([A-Z_][0-9A-Z_a-z]*!))","name":"meta.macro.rust"}]},"namespaces":{"patterns":[{"captures":{"1":{"name":"entity.name.namespace.rust"},"2":{"name":"keyword.operator.namespace.rust"}},"match":"(?]","name":"punctuation.brackets.angle.rust"}]},"strings":{"patterns":[{"begin":"(b?)(\\")","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.rust"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.rust"}},"name":"string.quoted.double.rust","patterns":[{"include":"#escapes"},{"include":"#interpolations"}]},{"begin":"(b?r)(#*)(\\")","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"end":"(\\")(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}},"name":"string.quoted.double.rust"},{"begin":"(b)?(\')","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.char.rust"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.char.rust"}},"name":"string.quoted.single.char.rust","patterns":[{"include":"#escapes"}]}]},"types":{"patterns":[{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"(?","endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}},"patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}]},{"match":"\\\\b(bool|char|str)\\\\b","name":"entity.name.type.primitive.rust"},{"captures":{"1":{"name":"keyword.declaration.trait.rust storage.type.rust"},"2":{"name":"entity.name.type.trait.rust"}},"match":"\\\\b(trait)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.struct.rust storage.type.rust"},"2":{"name":"entity.name.type.struct.rust"}},"match":"\\\\b(struct)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.enum.rust storage.type.rust"},"2":{"name":"entity.name.type.enum.rust"}},"match":"\\\\b(enum)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.type.rust storage.type.rust"},"2":{"name":"entity.name.type.declaration.rust"}},"match":"\\\\b(type)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"match":"\\\\b_?[A-Z][0-9A-Z_a-z]*\\\\b(?!!)","name":"entity.name.type.rust"}]},"variables":{"patterns":[{"match":"\\\\b(?jT});var FT,jT,dw=n1(()=>{FT=Object.freeze(JSON.parse('{"displayName":"C#","name":"csharp","patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#directives"},{"include":"#declarations"},{"include":"#script-top-level"}],"repository":{"accessor-getter":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"contentName":"meta.accessor.getter.cs","end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},{"include":"#accessor-getter-expression"},{"include":"#punctuation-semicolon"}]},"accessor-getter-expression":{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"contentName":"meta.accessor.getter.cs","end":"(?=[;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"accessor-setter":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"contentName":"meta.accessor.setter.cs","end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"contentName":"meta.accessor.setter.cs","end":"(?=[;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},{"include":"#punctuation-semicolon"}]},"anonymous-method-expression":{"patterns":[{"begin":"((?:\\\\b(?:async|static)\\\\b\\\\s*)*)(?:(@?[_[:alpha:]][_[:alnum:]]*)\\\\b|(\\\\()(?(?:[^()]|\\\\(\\\\g\\\\))*)(\\\\)))\\\\s*(=>)","beginCaptures":{"1":{"patterns":[{"match":"async|static","name":"storage.modifier.$0.cs"}]},"2":{"name":"entity.name.variable.parameter.cs"},"3":{"name":"punctuation.parenthesis.open.cs"},"4":{"patterns":[{"include":"#comment"},{"include":"#explicit-anonymous-function-parameter"},{"include":"#implicit-anonymous-function-parameter"},{"include":"#default-argument"},{"include":"#punctuation-comma"}]},"5":{"name":"punctuation.parenthesis.close.cs"},"6":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#intrusive"},{"begin":"(?=\\\\{)","end":"(?=[),;}])","patterns":[{"include":"#block"},{"include":"#intrusive"}]},{"begin":"\\\\b(ref)\\\\b|(?=\\\\S)","beginCaptures":{"1":{"name":"storage.modifier.ref.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#expression"}]}]},{"begin":"((?:\\\\b(?:async|static)\\\\b\\\\s*)*)\\\\b(delegate)\\\\b\\\\s*","beginCaptures":{"1":{"patterns":[{"match":"async|static","name":"storage.modifier.$0.cs"}]},"2":{"name":"storage.type.delegate.cs"}},"end":"(?<=})|(?=[),;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#explicit-anonymous-function-parameter"},{"include":"#punctuation-comma"}]},{"include":"#block"}]}]},"anonymous-object-creation-expression":{"begin":"\\\\b(new)\\\\b\\\\s*(?=\\\\{|//|/\\\\*|$)","beginCaptures":{"1":{"name":"keyword.operator.expression.new.cs"}},"end":"(?<=})","patterns":[{"include":"#comment"},{"include":"#initializer-expression"}]},"argument":{"patterns":[{"match":"\\\\b(ref|in)\\\\b","name":"storage.modifier.$1.cs"},{"begin":"\\\\b(out)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.out.cs"}},"end":"(?=[]),])","patterns":[{"include":"#declaration-expression-local"},{"include":"#expression"}]},{"include":"#expression"}]},"argument-list":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#named-argument"},{"include":"#argument"},{"include":"#punctuation-comma"}]},"array-creation-expression":{"begin":"\\\\b(new|stackalloc)\\\\b\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\*\\\\s*)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)?\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"patterns":[{"include":"#type"}]}},"end":"(?<=])","patterns":[{"include":"#bracketed-argument-list"}]},"as-expression":{"captures":{"1":{"name":"keyword.operator.expression.as.cs"},"2":{"patterns":[{"include":"#type"}]}},"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?(?!\\\\?))?(?:\\\\s*\\\\[\\\\s*(?:,\\\\s*)*](?:\\\\s*\\\\?(?!\\\\?))?)*)?"},"assignment-expression":{"begin":"(?:[-%*+/]|\\\\?\\\\?|[\\\\&^]|<<|>>>?|\\\\|)?=(?![=>])","beginCaptures":{"0":{"patterns":[{"include":"#assignment-operators"}]}},"end":"(?=[]),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"assignment-operators":{"patterns":[{"match":"(?:[-%*+/]|\\\\?\\\\?)=","name":"keyword.operator.assignment.compound.cs"},{"match":"(?:[\\\\&^]|<<|>>>?|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.cs"},{"match":"=","name":"keyword.operator.assignment.cs"}]},"attribute":{"patterns":[{"include":"#type-name"},{"include":"#type-arguments"},{"include":"#attribute-arguments"}]},"attribute-arguments":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#attribute-named-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"attribute-named-argument":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?==)","beginCaptures":{"1":{"name":"entity.name.variable.property.cs"}},"end":"(?=([),]))","patterns":[{"include":"#operator-assignment"},{"include":"#expression"}]},"attribute-section":{"begin":"(\\\\[)(assembly|module|field|event|method|param|property|return|typevar|type)?(:)?","beginCaptures":{"1":{"name":"punctuation.squarebracket.open.cs"},"2":{"name":"keyword.other.attribute-specifier.cs"},"3":{"name":"punctuation.separator.colon.cs"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute"},{"include":"#punctuation-comma"}]},"await-expression":{"match":"(?[^()<>]|\\\\((?:[^()<>]|<[^()<>]*>|\\\\([^()<>]*\\\\))*\\\\)|<\\\\g*>)*>\\\\s*)?(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"entity.name.type.cs"},"4":{"patterns":[{"include":"#type-arguments"}]}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"base-types":{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\\\{|where|;)","patterns":[{"include":"#base-class-constructor-call"},{"include":"#type"},{"include":"#punctuation-comma"},{"include":"#preprocessor"}]},"block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},"boolean-literal":{"patterns":[{"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(\\\\))(?=\\\\s*-*!*@?[(_[:alnum:]])"},"casted-constant-pattern":{"begin":"(\\\\()([.:@_\\\\s[:alnum:]]+)(\\\\))(?=[-!+~\\\\s]*@?[\\"\'(_[:alnum:]]+)","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"},"2":{"patterns":[{"include":"#type-builtin"},{"include":"#type-name"}]},"3":{"name":"punctuation.parenthesis.close.cs"}},"end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#casted-constant-pattern"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#constant-pattern"}]},{"include":"#constant-pattern"},{"captures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(::)"},{"captures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(\\\\.)"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"variable.other.constant.cs"}]},"catch-clause":{"begin":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(?:(\\\\g)\\\\b)?"}]},{"include":"#when-clause"},{"include":"#comment"},{"include":"#block"}]},"char-character-escape":{"match":"\\\\\\\\(x\\\\h{1,4}|u\\\\h{4}|.)","name":"constant.character.escape.cs"},"char-literal":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.char.begin.cs"}},"end":"(\')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.char.end.cs"},"2":{"name":"invalid.illegal.newline.cs"}},"name":"string.quoted.single.cs","patterns":[{"include":"#char-character-escape"}]},"class-declaration":{"begin":"(?=(\\\\brecord\\\\b\\\\s+)?\\\\bclass\\\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(\\\\b(record)\\\\b\\\\s+)?\\\\b(class)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*","beginCaptures":{"2":{"name":"storage.type.record.cs"},"3":{"name":"storage.type.class.cs"},"4":{"name":"entity.name.type.class.cs"}},"end":"(?=\\\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#parenthesized-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#class-or-struct-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"class-or-struct-members":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#type-declarations"},{"include":"#constructor-declaration"},{"include":"#property-declaration"},{"include":"#fixed-size-buffer-declaration"},{"include":"#field-declaration"},{"include":"#event-declaration"},{"include":"#indexer-declaration"},{"include":"#variable-initializer"},{"include":"#destructor-declaration"},{"include":"#operator-declaration"},{"include":"#conversion-operator-declaration"},{"include":"#method-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"combinator-pattern":{"match":"\\\\b(and|or|not)\\\\b","name":"keyword.operator.expression.pattern.combinator.$1.cs"},"comment":{"patterns":[{"begin":"(^\\\\s+)?(///)(?!/)","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"name":"comment.block.documentation.cs","patterns":[{"include":"#xml-doc-comment"}],"while":"^(\\\\s*)(///)(?!/)"},{"begin":"(^\\\\s+)?(/\\\\*\\\\*)(?!/)","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"end":"(^\\\\s+)?(\\\\*/)","name":"comment.block.documentation.cs","patterns":[{"begin":"\\\\G(?=(?~\\\\*/)$)","patterns":[{"include":"#xml-doc-comment"}],"while":"^(\\\\s*+)(\\\\*(?!/))?(?=(?~\\\\*/)$)","whileCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}}},{"include":"#xml-doc-comment"}]},{"begin":"(^\\\\s+)?(//).*$","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"name":"comment.line.double-slash.cs","while":"^(\\\\s*)(//).*$"},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.cs"}},"end":"\\\\*/","name":"comment.block.cs"}]},"conditional-operator":{"patterns":[{"match":"\\\\?(?!\\\\?|\\\\s*[.\\\\[])","name":"keyword.operator.conditional.question-mark.cs"},{"match":":","name":"keyword.operator.conditional.colon.cs"}]},"constant-pattern":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#char-literal"},{"include":"#string-literal"},{"include":"#raw-string-literal"},{"include":"#verbatim-string-literal"},{"include":"#type-operator-expression"},{"include":"#expression-operator-expression"},{"include":"#expression-operators"},{"include":"#casted-constant-pattern"}]},"constructor-declaration":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?=\\\\(|$)","beginCaptures":{"1":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\\\{|=>)","patterns":[{"include":"#constructor-initializer"}]},{"include":"#parenthesized-parameter-list"},{"include":"#preprocessor"},{"include":"#comment"},{"include":"#expression-body"},{"include":"#block"}]},"constructor-initializer":{"begin":"\\\\b(base|this)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"variable.language.$1.cs"}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"context-control-paren-statement":{"patterns":[{"include":"#fixed-statement"},{"include":"#lock-statement"},{"include":"#using-statement"}]},"context-control-statement":{"match":"\\\\b(checked|unchecked|unsafe)\\\\b(?!\\\\s*[(@_[:alpha:]])","name":"keyword.control.context.$1.cs"},"conversion-operator-declaration":{"begin":"\\\\b(?(?:ex|im)plicit)\\\\s*\\\\b(?operator)\\\\s*(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"captures":{"1":{"name":"storage.modifier.explicit.cs"}},"match":"\\\\b(explicit)\\\\b"},{"captures":{"1":{"name":"storage.modifier.implicit.cs"}},"match":"\\\\b(implicit)\\\\b"}]},"2":{"name":"storage.type.operator.cs"},"3":{"patterns":[{"include":"#type"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"declaration-expression-local":{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.local.cs"}},"match":"(?:\\\\b(var)\\\\b|(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\b\\\\s*(?=[]),])"},"declaration-expression-tuple":{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.tuple-element.cs"}},"match":"(?:\\\\b(var)\\\\b|(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\b\\\\s*(?=[),])"},"declarations":{"patterns":[{"include":"#namespace-declaration"},{"include":"#type-declarations"},{"include":"#punctuation-semicolon"}]},"default-argument":{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[),])","patterns":[{"include":"#expression"}]},"default-literal-expression":{"captures":{"1":{"name":"keyword.operator.expression.default.cs"}},"match":"\\\\b(default)\\\\b"},"delegate-declaration":{"begin":"\\\\b(delegate)\\\\b\\\\s+(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)\\\\s*(<([^<>]+)>)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.type.delegate.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.type.delegate.cs"},"8":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"}]},"designation-pattern":{"patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#punctuation-comma"},{"include":"#designation-pattern"}]},{"include":"#simple-designation-pattern"}]},"destructor-declaration":{"begin":"(~)(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.tilde.cs"},"2":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"directives":{"patterns":[{"include":"#extern-alias-directive"},{"include":"#using-directive"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"discard-pattern":{"match":"_(?![_[:alnum:]])","name":"variable.language.discard.cs"},"do-statement":{"begin":"(?)\\\\s*)?(?:(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*)?(?:(\\\\?)\\\\s*)?(?=\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"variable.other.object.property.cs"},"5":{"name":"keyword.operator.null-conditional.cs"}},"end":"(?<=])(?!\\\\s*\\\\[)","patterns":[{"include":"#bracketed-argument-list"}]},"else-part":{"begin":"(?|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.type.accessor.$1.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-setter"}]}]},"event-declaration":{"begin":"\\\\b(event)\\\\b\\\\s*(?(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(\\\\g)\\\\s*(?=[,;={]|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.type.event.cs"},"2":{"patterns":[{"include":"#type"}]},"8":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"9":{"name":"entity.name.variable.event.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#event-accessors"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.event.cs"},{"include":"#punctuation-comma"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.cs"}},"end":"(?<=,)|(?=;)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]}]},"explicit-anonymous-function-parameter":{"captures":{"1":{"name":"storage.modifier.$1.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.parameter.cs"}},"match":"(?:\\\\b(ref|params|out|in)\\\\b\\\\s*)?(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?<(?:[^<>]|\\\\g)*>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)*\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*\\\\b(\\\\g)\\\\b"},"expression":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#expression-operator-expression"},{"include":"#type-operator-expression"},{"include":"#default-literal-expression"},{"include":"#throw-expression"},{"include":"#raw-interpolated-string"},{"include":"#interpolated-string"},{"include":"#verbatim-interpolated-string"},{"include":"#type-builtin"},{"include":"#language-variable"},{"include":"#switch-statement-or-expression"},{"include":"#with-expression"},{"include":"#conditional-operator"},{"include":"#assignment-expression"},{"include":"#expression-operators"},{"include":"#await-expression"},{"include":"#query-expression"},{"include":"#as-expression"},{"include":"#is-expression"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#anonymous-method-expression"},{"include":"#object-creation-expression"},{"include":"#array-creation-expression"},{"include":"#anonymous-object-creation-expression"},{"include":"#invocation-expression"},{"include":"#member-access-expression"},{"include":"#element-access-expression"},{"include":"#cast-expression"},{"include":"#literal"},{"include":"#parenthesized-expression"},{"include":"#tuple-deconstruction-assignment"},{"include":"#initializer-expression"},{"include":"#identifier"}]},"expression-body":{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"expression-operator-expression":{"begin":"\\\\b(checked|unchecked|nameof)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},"expression-operators":{"patterns":[{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.cs"},{"match":"[!=]=","name":"keyword.operator.comparison.cs"},{"match":"<=|>=|[<>]","name":"keyword.operator.relational.cs"},{"match":"!|&&|\\\\|\\\\|","name":"keyword.operator.logical.cs"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cs"},{"match":"--","name":"keyword.operator.decrement.cs"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.cs"},{"match":"\\\\+|-(?!>)|[%*/]","name":"keyword.operator.arithmetic.cs"},{"match":"\\\\?\\\\?","name":"keyword.operator.null-coalescing.cs"},{"match":"\\\\.\\\\.","name":"keyword.operator.range.cs"}]},"extern-alias-directive":{"begin":"\\\\b(extern)\\\\s+(alias)\\\\b","beginCaptures":{"1":{"name":"keyword.other.directive.extern.cs"},"2":{"name":"keyword.other.directive.alias.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"variable.other.alias.cs"}]},"field-declaration":{"begin":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)\\\\s*(?!=[=>])(?=[,;=]|$)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.field.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.field.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"},{"include":"#class-or-struct-members"}]},"finally-clause":{"begin":"(?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*)\\\\s+(\\\\g)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"storage.modifier.fixed.cs"},"2":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.field.cs"}},"end":"(?=;)","patterns":[{"include":"#bracketed-argument-list"},{"include":"#comment"}]},"fixed-statement":{"begin":"\\\\b(fixed)\\\\b","beginCaptures":{"1":{"name":"keyword.control.context.fixed.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#local-variable-declaration"}]}]},"for-statement":{"begin":"\\\\b(for)\\\\b","beginCaptures":{"1":{"name":"keyword.control.loop.for.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"begin":"(?=[^);])","end":"(?=[);])","patterns":[{"include":"#intrusive"},{"include":"#local-variable-declaration"},{"include":"#local-tuple-var-deconstruction"},{"include":"#tuple-deconstruction-assignment"},{"include":"#expression"}]},{"begin":"(?=;)","end":"(?=\\\\))","patterns":[{"include":"#intrusive"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]}]}]},"foreach-statement":{"begin":"\\\\b(foreach)\\\\b","beginCaptures":{"1":{"name":"keyword.control.loop.foreach.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"captures":{"1":{"name":"storage.modifier.ref.cs"},"2":{"name":"storage.type.var.cs"},"3":{"patterns":[{"include":"#type"}]},"8":{"name":"entity.name.variable.local.cs"},"9":{"name":"keyword.control.loop.in.cs"}},"match":"(?:(?:\\\\b(ref)\\\\s+)?\\\\b(var)\\\\b|(?(?:ref\\\\s+)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\s+\\\\b(in)\\\\b"},{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]},"3":{"name":"keyword.control.loop.in.cs"}},"match":"(?:\\\\b(var)\\\\b\\\\s*)?(?\\\\((?:[^()]|\\\\g)+\\\\))\\\\s+\\\\b(in)\\\\b"},{"include":"#expression"}]}]},"generic-constraints":{"begin":"(where)\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)","beginCaptures":{"1":{"name":"storage.modifier.where.cs"},"2":{"name":"entity.name.type.type-parameter.cs"},"3":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\\\{|where|;|=>)","patterns":[{"match":"\\\\bclass\\\\b","name":"storage.type.class.cs"},{"match":"\\\\bstruct\\\\b","name":"storage.type.struct.cs"},{"match":"\\\\bdefault\\\\b","name":"keyword.other.constraint.default.cs"},{"match":"\\\\bnotnull\\\\b","name":"keyword.other.constraint.notnull.cs"},{"match":"\\\\bunmanaged\\\\b","name":"keyword.other.constraint.unmanaged.cs"},{"captures":{"1":{"name":"keyword.operator.expression.new.cs"},"2":{"name":"punctuation.parenthesis.open.cs"},"3":{"name":"punctuation.parenthesis.close.cs"}},"match":"(new)\\\\s*(\\\\()\\\\s*(\\\\))"},{"include":"#type"},{"include":"#punctuation-comma"},{"include":"#generic-constraints"}]},"goto-statement":{"begin":"(?(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(?this)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"variable.language.this.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#bracketed-parameter-list"},{"include":"#property-accessors"},{"include":"#accessor-getter-expression"},{"include":"#variable-initializer"}]},"initializer-expression":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"interface-declaration":{"begin":"(?=\\\\binterface\\\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(interface)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"storage.type.interface.cs"},"2":{"name":"entity.name.type.interface.cs"}},"end":"(?=\\\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#interface-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"interface-members":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#property-declaration"},{"include":"#event-declaration"},{"include":"#indexer-declaration"},{"include":"#method-declaration"},{"include":"#operator-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"interpolated-string":{"begin":"\\\\$\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"(\\")|([^\\\\n\\\\\\\\{])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.cs"},"2":{"name":"invalid.illegal.newline.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#string-character-escape"},{"include":"#interpolation"}]},"interpolation":{"begin":"(?<=[^{]|^)((?:\\\\{\\\\{)*)(\\\\{)(?!\\\\{)","beginCaptures":{"1":{"name":"string.quoted.double.cs"},"2":{"name":"punctuation.definition.interpolation.begin.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.interpolation.end.cs"}},"name":"meta.embedded.interpolation.cs","patterns":[{"include":"#expression"}]},"intrusive":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"}]},"invocation-expression":{"begin":"(?:(?:(\\\\?)\\\\s*)?(\\\\.)\\\\s*|(->)\\\\s*)?(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(<(?[^()<>]|\\\\((?:[^()<>]|<[^()<>]*>|\\\\([^()<>]*\\\\))*\\\\)|<\\\\g*>)*>\\\\s*)?(?=\\\\()","beginCaptures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"entity.name.function.cs"},"5":{"patterns":[{"include":"#type-arguments"}]}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"is-expression":{"begin":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)?\\\\s+(\\\\g)\\\\b\\\\s*\\\\b(in)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.join.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.range-variable.cs"},"8":{"name":"keyword.operator.expression.query.in.cs"}},"end":"(?=[);])","patterns":[{"include":"#join-on"},{"include":"#join-equals"},{"include":"#join-into"},{"include":"#query-body"},{"include":"#expression"}]},"join-equals":{"captures":{"1":{"name":"keyword.operator.expression.query.equals.cs"}},"match":"\\\\b(equals)\\\\b\\\\s*"},"join-into":{"captures":{"1":{"name":"keyword.operator.expression.query.into.cs"},"2":{"name":"entity.name.variable.range-variable.cs"}},"match":"\\\\b(into)\\\\b\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*"},"join-on":{"captures":{"1":{"name":"keyword.operator.expression.query.on.cs"}},"match":"\\\\b(on)\\\\b\\\\s*"},"labeled-statement":{"captures":{"1":{"name":"entity.name.label.cs"},"2":{"name":"punctuation.separator.colon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)"},"language-variable":{"patterns":[{"match":"\\\\b(base|this)\\\\b","name":"variable.language.$1.cs"},{"match":"\\\\b(value)\\\\b","name":"variable.other.$1.cs"}]},"let-clause":{"begin":"\\\\b(let)\\\\b\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.let.cs"},"2":{"name":"entity.name.variable.range-variable.cs"},"3":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[);])","patterns":[{"include":"#query-body"},{"include":"#expression"}]},"list-pattern":{"begin":"(?=\\\\[)","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.cs"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#pattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=])","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#simple-designation-pattern"}]}]},"literal":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#char-literal"},{"include":"#raw-string-literal"},{"include":"#string-literal"},{"include":"#verbatim-string-literal"},{"include":"#tuple-literal"}]},"local-constant-declaration":{"begin":"\\\\b(?const)\\\\b\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)\\\\s*(?=[,;=])","beginCaptures":{"1":{"name":"storage.modifier.const.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.local.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.local.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}]},"local-declaration":{"patterns":[{"include":"#local-constant-declaration"},{"include":"#local-variable-declaration"},{"include":"#local-function-declaration"},{"include":"#local-tuple-var-deconstruction"},{"include":"#local-tuple-declaration-deconstruction"}]},"local-function-declaration":{"begin":"\\\\b((?:(?:async|unsafe|static|extern)\\\\s+)*)(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?)?(?:\\\\s*\\\\[\\\\s*(?:,\\\\s*)*](?:\\\\s*\\\\?)?)*)\\\\s+(\\\\g)\\\\s*(<[^<>]+>)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#storage-modifier"}]},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.function.cs"},"8":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"},{"include":"#expression-body"},{"include":"#block"}]},"local-tuple-declaration-deconstruction":{"captures":{"1":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]}},"match":"(?\\\\((?:[^()]|\\\\g)+\\\\))\\\\s*(?!=[=>])(?==)"},"local-tuple-var-deconstruction":{"begin":"\\\\b(var)\\\\b\\\\s*(?\\\\((?:[^()]|\\\\g)+\\\\))\\\\s*(?=[);=])","beginCaptures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]}},"end":"(?=[);])","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}]},"local-variable-declaration":{"begin":"(?:(?:\\\\b(ref)\\\\s+(?:\\\\b(readonly)\\\\s+)?)?\\\\b(var)\\\\b|(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\*\\\\s*)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\s*(?!=>)(?=[),;=])","beginCaptures":{"1":{"name":"storage.modifier.ref.cs"},"2":{"name":"storage.modifier.readonly.cs"},"3":{"name":"storage.type.var.cs"},"4":{"patterns":[{"include":"#type"}]},"9":{"name":"entity.name.variable.local.cs"}},"end":"(?=[);}])","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.local.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}]},"lock-statement":{"begin":"\\\\b(lock)\\\\b","beginCaptures":{"1":{"name":"keyword.control.context.lock.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#expression"}]}]},"member-access-expression":{"patterns":[{"captures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"variable.other.object.property.cs"}},"match":"(?:(?:(\\\\?)\\\\s*)?(\\\\.)\\\\s*|(->)\\\\s*)(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?![(_[:alnum:]]|(\\\\?)?\\\\[|<)"},{"captures":{"1":{"name":"punctuation.accessor.cs"},"2":{"name":"variable.other.object.cs"},"3":{"patterns":[{"include":"#type-arguments"}]}},"match":"(\\\\.)?\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)(?\\\\s*<([^<>]|\\\\g)+>\\\\s*)(?=(\\\\s*\\\\?)?\\\\s*\\\\.\\\\s*@?[_[:alpha:]][_[:alnum:]]*)"},{"captures":{"1":{"name":"variable.other.object.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)(?=\\\\s*(?:(?:\\\\?\\\\s*)?\\\\.|->)\\\\s*@?[_[:alpha:]][_[:alnum:]]*)"}]},"method-declaration":{"begin":"(?(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(\\\\g)\\\\s*(<([^<>]+)>)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"entity.name.function.cs"},"9":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"},{"include":"#expression-body"},{"include":"#block"}]},"named-argument":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.variable.parameter.cs"},"2":{"name":"punctuation.separator.colon.cs"}},"end":"(?=([]),]))","patterns":[{"include":"#argument"}]},"namespace-declaration":{"begin":"\\\\b(namespace)\\\\s+","beginCaptures":{"1":{"name":"storage.type.namespace.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.namespace.cs"},{"include":"#punctuation-accessor"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#declarations"},{"include":"#using-directive"},{"include":"#punctuation-semicolon"}]}]},"null-literal":{"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(?=\\\\{|//|/\\\\*|$)"},"object-creation-expression-with-parameters":{"begin":"(new)(?:\\\\s+(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))?\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.new.cs"},"2":{"patterns":[{"include":"#type"}]}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"operator-assignment":{"match":"(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*\\\\b(?operator)\\\\b\\\\s*(?[-!%\\\\&*+/<=>^|~]+|true|false)\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"storage.type.operator.cs"},"7":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"orderby-clause":{"begin":"\\\\b(orderby)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.orderby.cs"}},"end":"(?=[);])","patterns":[{"include":"#ordering-direction"},{"include":"#query-body"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"ordering-direction":{"captures":{"1":{"name":"keyword.operator.expression.query.$1.cs"}},"match":"\\\\b((?:a|de)scending)\\\\b"},"parameter":{"captures":{"1":{"name":"storage.modifier.$1.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.parameter.cs"}},"match":"(?:\\\\b(ref|params|out|in|this)\\\\b\\\\s+)?(?(?:ref\\\\s+)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)"},"parenthesized-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},"parenthesized-parameter-list":{"begin":"(\\\\()","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute-section"},{"include":"#parameter"},{"include":"#punctuation-comma"},{"include":"#variable-initializer"}]},"parenthesized-type-list":{"begin":"(\\\\()","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#type"},{"include":"#punctuation-comma"}]},"pattern":{"patterns":[{"include":"#intrusive"},{"include":"#combinator-pattern"},{"include":"#discard-pattern"},{"include":"#constant-pattern"},{"include":"#relational-pattern"},{"include":"#var-pattern"},{"include":"#type-pattern"},{"include":"#positional-pattern"},{"include":"#property-pattern"},{"include":"#list-pattern"},{"include":"#slice-pattern"}]},"positional-pattern":{"begin":"(?=\\\\()","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#subpattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=\\\\))","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#property-pattern"},{"include":"#simple-designation-pattern"}]}]},"preprocessor":{"begin":"^\\\\s*(#)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.hash.cs"}},"end":"(?<=$)","name":"meta.preprocessor.cs","patterns":[{"include":"#preprocessor-comment"},{"include":"#preprocessor-define-or-undef"},{"include":"#preprocessor-if-or-elif"},{"include":"#preprocessor-else-or-endif"},{"include":"#preprocessor-warning-or-error"},{"include":"#preprocessor-region"},{"include":"#preprocessor-endregion"},{"include":"#preprocessor-load"},{"include":"#preprocessor-r"},{"include":"#preprocessor-line"},{"include":"#preprocessor-pragma-warning"},{"include":"#preprocessor-pragma-checksum"},{"include":"#preprocessor-app-directive"}]},"preprocessor-app-directive":{"begin":"\\\\s*(:)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"end":"(?=$)","patterns":[{"include":"#preprocessor-app-directive-package"},{"include":"#preprocessor-app-directive-property"},{"include":"#preprocessor-app-directive-exclude"},{"include":"#preprocessor-app-directive-include"},{"include":"#preprocessor-app-directive-project"},{"include":"#preprocessor-app-directive-ref"},{"include":"#preprocessor-app-directive-sdk"},{"include":"#preprocessor-app-directive-generic"}]},"preprocessor-app-directive-exclude":{"captures":{"1":{"name":"keyword.preprocessor.exclude.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(exclude)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-generic":{"captures":{"1":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(.*)?\\\\s*"},"preprocessor-app-directive-include":{"captures":{"1":{"name":"keyword.preprocessor.include.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(include)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-package":{"captures":{"1":{"name":"keyword.preprocessor.package.cs"},"2":{"patterns":[{"include":"#preprocessor-app-directive-package-name"}]},"3":{"name":"punctuation.separator.at.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(package)\\\\b\\\\s*([_[:alpha:]][._[:alnum:]]*)?(@)?(.*)?\\\\s*"},"preprocessor-app-directive-package-name":{"patterns":[{"captures":{"1":{"name":"punctuation.dot.cs"},"2":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"(\\\\.)([_[:alpha:]][_[:alnum:]]*)"},{"match":"[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.preprocessor.symbol.cs"}]},"preprocessor-app-directive-project":{"captures":{"1":{"name":"keyword.preprocessor.project.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(project)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-property":{"captures":{"1":{"name":"keyword.preprocessor.property.cs"},"2":{"name":"entity.name.variable.preprocessor.symbol.cs"},"3":{"name":"punctuation.separator.equals.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(property)\\\\b\\\\s*([_[:alpha:]][_[:alnum:]]*)?(=)?(.*)?\\\\s*"},"preprocessor-app-directive-ref":{"captures":{"1":{"name":"keyword.preprocessor.ref.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(ref)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-sdk":{"captures":{"1":{"name":"keyword.preprocessor.sdk.cs"},"2":{"patterns":[{"include":"#preprocessor-app-directive-package-name"}]},"3":{"name":"punctuation.separator.at.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(sdk)\\\\b\\\\s*([_[:alpha:]][._[:alnum:]]*)?(@)?(.*)?\\\\s*"},"preprocessor-comment":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.cs"}},"match":"(//).*(?=$)","name":"comment.line.double-slash.cs"},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.cs"}},"end":"\\\\*/","name":"comment.block.cs"}]},"preprocessor-define-or-undef":{"captures":{"1":{"name":"keyword.preprocessor.define.cs"},"2":{"name":"keyword.preprocessor.undef.cs"},"3":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"\\\\b(?:(define)|(undef))\\\\b\\\\s*\\\\b([_[:alpha:]][_[:alnum:]]*)\\\\b"},"preprocessor-else-or-endif":{"captures":{"1":{"name":"keyword.preprocessor.else.cs"},"2":{"name":"keyword.preprocessor.endif.cs"}},"match":"\\\\b(?:(else)|(endif))\\\\b"},"preprocessor-endregion":{"captures":{"1":{"name":"keyword.preprocessor.endregion.cs"}},"match":"\\\\b(endregion)\\\\b"},"preprocessor-expression":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#preprocessor-expression"}]},{"captures":{"1":{"name":"constant.language.boolean.true.cs"},"2":{"name":"constant.language.boolean.false.cs"},"3":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"\\\\b(?:(true)|(false)|([_[:alpha:]][_[:alnum:]]*))\\\\b"},{"captures":{"1":{"name":"keyword.operator.comparison.cs"},"2":{"name":"keyword.operator.logical.cs"}},"match":"([!=]=)|(!|&&|\\\\|\\\\|)"}]},"preprocessor-if-or-elif":{"begin":"\\\\b(?:(if)|(elif))\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.if.cs"},"2":{"name":"keyword.preprocessor.elif.cs"}},"end":"(?=$)","patterns":[{"include":"#preprocessor-comment"},{"include":"#preprocessor-expression"}]},"preprocessor-line":{"begin":"\\\\b(line)\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.line.cs"}},"end":"(?=$)","patterns":[{"captures":{"1":{"name":"keyword.preprocessor.default.cs"},"2":{"name":"keyword.preprocessor.hidden.cs"}},"match":"\\\\b(default|hidden)"},{"captures":{"0":{"name":"constant.numeric.decimal.cs"}},"match":"[0-9]+"},{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\\"[^\\"]*\\""}]},"preprocessor-load":{"begin":"\\\\b(load)\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.load.cs"}},"end":"(?=$)","patterns":[{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\\"[^\\"]*\\""}]},"preprocessor-pragma-checksum":{"captures":{"1":{"name":"keyword.preprocessor.pragma.cs"},"2":{"name":"keyword.preprocessor.checksum.cs"},"3":{"name":"string.quoted.double.cs"},"4":{"name":"string.quoted.double.cs"},"5":{"name":"string.quoted.double.cs"}},"match":"\\\\b(pragma)\\\\b\\\\s*\\\\b(checksum)\\\\b\\\\s*(\\"[^\\"]*\\")\\\\s*(\\"[^\\"]*\\")\\\\s*(\\"[^\\"]*\\")"},"preprocessor-pragma-warning":{"captures":{"1":{"name":"keyword.preprocessor.pragma.cs"},"2":{"name":"keyword.preprocessor.warning.cs"},"3":{"name":"keyword.preprocessor.disable.cs"},"4":{"name":"keyword.preprocessor.restore.cs"},"5":{"patterns":[{"captures":{"0":{"name":"constant.numeric.decimal.cs"}},"match":"[0-9]+"},{"include":"#punctuation-comma"}]}},"match":"\\\\b(pragma)\\\\b\\\\s*\\\\b(warning)\\\\b\\\\s*\\\\b(?:(disable)|(restore))\\\\b(\\\\s*[0-9]+(?:\\\\s*,\\\\s*[0-9]+)?)?"},"preprocessor-r":{"begin":"\\\\b(r)\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.r.cs"}},"end":"(?=$)","patterns":[{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\\"[^\\"]*\\""}]},"preprocessor-region":{"captures":{"1":{"name":"keyword.preprocessor.region.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(region)\\\\b\\\\s*(.*)(?=$)"},"preprocessor-warning-or-error":{"captures":{"1":{"name":"keyword.preprocessor.warning.cs"},"2":{"name":"keyword.preprocessor.error.cs"},"3":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(?:(warning)|(error))\\\\b\\\\s*(.*)(?=$)"},"property-accessors":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute-section"},{"match":"\\\\b(private|protected|internal)\\\\b","name":"storage.modifier.$1.cs"},{"begin":"(?:\\\\b(readonly)\\\\s+)?\\\\b(get)\\\\b\\\\s*(?=[;{]|=>|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.modifier.readonly.cs"},"2":{"name":"storage.type.accessor.get.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-getter"}]},{"begin":"\\\\b(set|init)\\\\b\\\\s*(?=[;{]|=>|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.type.accessor.$1.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-setter"}]}]},"property-declaration":{"begin":"(?![[:word:]\\\\s]*\\\\b(?:class|interface|struct|union|enum|event)\\\\b)(?(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(?\\\\g)\\\\s*(?=\\\\{|=>|//|/\\\\*|$)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"entity.name.variable.property.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#property-accessors"},{"include":"#accessor-getter-expression"},{"include":"#variable-initializer"},{"include":"#class-or-struct-members"}]},"property-pattern":{"begin":"(?=\\\\{)","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#subpattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=})","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#simple-designation-pattern"}]}]},"punctuation-accessor":{"match":"\\\\.","name":"punctuation.accessor.cs"},"punctuation-comma":{"match":",","name":"punctuation.separator.comma.cs"},"punctuation-semicolon":{"match":";","name":"punctuation.terminator.statement.cs"},"query-body":{"patterns":[{"include":"#let-clause"},{"include":"#where-clause"},{"include":"#join-clause"},{"include":"#orderby-clause"},{"include":"#select-clause"},{"include":"#group-clause"}]},"query-expression":{"begin":"\\\\b(from)\\\\b\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)?\\\\s+(\\\\g)\\\\b\\\\s*\\\\b(in)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.from.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.range-variable.cs"},"8":{"name":"keyword.operator.expression.query.in.cs"}},"end":"(?=[);])","patterns":[{"include":"#query-body"},{"include":"#expression"}]},"raw-interpolated-string":{"patterns":[{"include":"#raw-interpolated-string-five-or-more-quote-one-or-more-interpolation"},{"include":"#raw-interpolated-string-three-or-more-quote-three-or-more-interpolation"},{"include":"#raw-interpolated-string-quadruple-quote-double-interpolation"},{"include":"#raw-interpolated-string-quadruple-quote-single-interpolation"},{"include":"#raw-interpolated-string-triple-quote-double-interpolation"},{"include":"#raw-interpolated-string-triple-quote-single-interpolation"}]},"raw-interpolated-string-five-or-more-quote-one-or-more-interpolation":{"begin":"\\\\$+\\"\\"\\"\\"\\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"\\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-interpolated-string-quadruple-quote-double-interpolation":{"begin":"\\\\$\\\\$\\"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#double-raw-interpolation"}]},"raw-interpolated-string-quadruple-quote-single-interpolation":{"begin":"\\\\$\\"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#raw-interpolation"}]},"raw-interpolated-string-three-or-more-quote-three-or-more-interpolation":{"begin":"\\\\$\\\\$\\\\$+\\"\\"\\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-interpolated-string-triple-quote-double-interpolation":{"begin":"\\\\$\\\\$\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#double-raw-interpolation"}]},"raw-interpolated-string-triple-quote-single-interpolation":{"begin":"\\\\$\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#raw-interpolation"}]},"raw-interpolation":{"begin":"(?<=[^{]|^)(\\\\{*)(\\\\{)(?!\\\\{)","beginCaptures":{"1":{"name":"string.quoted.double.cs"},"2":{"name":"punctuation.definition.interpolation.begin.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.interpolation.end.cs"}},"name":"meta.embedded.interpolation.cs","patterns":[{"include":"#expression"}]},"raw-string-literal":{"patterns":[{"include":"#raw-string-literal-more"},{"include":"#raw-string-literal-quadruple"},{"include":"#raw-string-literal-triple"}]},"raw-string-literal-more":{"begin":"\\"\\"\\"\\"\\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"\\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-string-literal-quadruple":{"begin":"\\"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-string-literal-triple":{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"readonly-modifier":{"match":"\\\\breadonly\\\\b","name":"storage.modifier.readonly.cs"},"record-declaration":{"begin":"(?=\\\\brecord\\\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(record)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"storage.type.record.cs"},"2":{"name":"entity.name.type.class.cs"}},"end":"(?=\\\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#parenthesized-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#class-or-struct-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"ref-modifier":{"match":"\\\\bref\\\\b","name":"storage.modifier.ref.cs"},"relational-pattern":{"begin":"<=?|>=?","beginCaptures":{"0":{"name":"keyword.operator.relational.cs"}},"end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#expression"}]},"return-statement":{"begin":"(?","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[,}])","patterns":[{"include":"#expression"}]},{"begin":"\\\\b(when)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.when.cs"}},"end":"(?==>|[,}])","patterns":[{"include":"#case-guard"}]},{"begin":"(?!\\\\s)","end":"(?=\\\\bwhen\\\\b|=>|[,}])","patterns":[{"include":"#pattern"}]}]},"switch-label":{"begin":"\\\\b(case|default)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.$1.cs"}},"end":"(:)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"patterns":[{"begin":"\\\\b(when)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.when.cs"}},"end":"(?=[:}])","patterns":[{"include":"#case-guard"}]},{"begin":"(?!\\\\s)","end":"(?=\\\\bwhen\\\\b|[:}])","patterns":[{"include":"#pattern"}]}]},"switch-statement":{"patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#switch-label"},{"include":"#statement"}]}]},"switch-statement-or-expression":{"begin":"(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\))\\\\s*(?!=[=>])(?==)"},"tuple-deconstruction-element-list":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#tuple-deconstruction-element-list"},{"include":"#declaration-expression-tuple"},{"include":"#punctuation-comma"},{"captures":{"1":{"name":"variable.other.readwrite.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*(?=[),])"}]},"tuple-element":{"captures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.tuple-element.cs"}},"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)(?:(?\\\\g)\\\\b)?"},"tuple-literal":{"begin":"(\\\\()(?=.*[,:])","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#tuple-literal-element"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"tuple-literal-element":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?=:)","beginCaptures":{"1":{"name":"entity.name.variable.tuple-element.cs"}},"end":"(:)","endCaptures":{"0":{"name":"punctuation.separator.colon.cs"}}},"tuple-type":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#tuple-element"},{"include":"#punctuation-comma"}]},"type":{"patterns":[{"include":"#comment"},{"include":"#ref-modifier"},{"include":"#readonly-modifier"},{"include":"#tuple-type"},{"include":"#type-builtin"},{"include":"#type-name"},{"include":"#type-arguments"},{"include":"#type-array-suffix"},{"include":"#type-nullable-suffix"},{"include":"#type-pointer-suffix"}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.cs"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.cs"}},"patterns":[{"include":"#type"},{"include":"#punctuation-comma"}]},"type-array-suffix":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.cs"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#punctuation-comma"}]},"type-builtin":{"captures":{"1":{"name":"keyword.type.$1.cs"}},"match":"\\\\b(bool|s?byte|u?short|n?u?int|u?long|float|double|decimal|char|string|object|void|dynamic)\\\\b"},"type-declarations":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#class-declaration"},{"include":"#delegate-declaration"},{"include":"#enum-declaration"},{"include":"#interface-declaration"},{"include":"#struct-declaration"},{"include":"#union-declaration"},{"include":"#record-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"type-name":{"patterns":[{"captures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(::)"},{"captures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(\\\\.)"},{"captures":{"1":{"name":"punctuation.accessor.cs"},"2":{"name":"entity.name.type.cs"}},"match":"(\\\\.)\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},"type-nullable-suffix":{"match":"\\\\?","name":"punctuation.separator.question-mark.cs"},"type-operator-expression":{"begin":"\\\\b(default|sizeof|typeof)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#type"}]},"type-parameter-list":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.cs"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.cs"}},"patterns":[{"match":"\\\\b(in|out)\\\\b","name":"storage.modifier.$1.cs"},{"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\b","name":"entity.name.type.type-parameter.cs"},{"include":"#comment"},{"include":"#punctuation-comma"},{"include":"#attribute-section"}]},"type-pattern":{"begin":"(?=@?[_[:alpha:]][_[:alnum:]]*)","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\G","end":"(?!\\\\G[@_[:alpha:]])(?=[]\\\\&(),:;=@^_{|}[:alpha:]]|(?:\\\\s|^)\\\\?|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#type-subpattern"}]},{"begin":"(?=[(@_{[:alpha:]])","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#positional-pattern"},{"include":"#property-pattern"},{"include":"#simple-designation-pattern"}]}]},"type-pointer-suffix":{"match":"\\\\*","name":"punctuation.separator.asterisk.cs"},"type-subpattern":{"patterns":[{"include":"#type-builtin"},{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(::)","beginCaptures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"end":"(?<=[_[:alnum:]])|(?=[]\\\\&(),.:-=?\\\\[^{|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"},{"begin":"\\\\.","beginCaptures":{"0":{"name":"punctuation.accessor.cs"}},"end":"(?<=[_[:alnum:]])|(?=[]\\\\&(),:-=?\\\\[^{|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},{"include":"#type-arguments"},{"include":"#type-array-suffix"},{"match":"(?])","beginCaptures":{"1":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[]),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"verbatim-interpolated-string":{"begin":"(?:\\\\$@|@\\\\$)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"(?=[^\\"])","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#verbatim-string-character-escape"},{"include":"#interpolation"}]},"verbatim-string-character-escape":{"match":"\\"\\"","name":"constant.character.escape.cs"},"verbatim-string-literal":{"begin":"@\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"(?=[^\\"])","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#verbatim-string-character-escape"}]},"when-clause":{"begin":"(?","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.unquoted.cdata.cs"},"xml-character-entity":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.constant.cs"},"3":{"name":"punctuation.definition.constant.cs"}},"match":"(&)([:_[:alpha:]][-.:_[:alnum:]]*|#\\\\d+|#x\\\\h+)(;)","name":"constant.character.entity.cs"},{"match":"&","name":"invalid.illegal.bad-ampersand.cs"}]},"xml-comment":{"begin":"","endCaptures":{"0":{"name":"punctuation.definition.comment.cs"}},"name":"comment.block.cs"},"xml-doc-comment":{"patterns":[{"include":"#xml-comment"},{"include":"#xml-character-entity"},{"include":"#xml-cdata"},{"include":"#xml-tag"}]},"xml-string":{"patterns":[{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.single.cs","patterns":[{"include":"#xml-character-entity"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#xml-character-entity"}]}]},"xml-tag":{"begin":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.cs"}},"name":"meta.tag.cs","patterns":[{"include":"#xml-attribute"}]},"yield-break-statement":{"captures":{"1":{"name":"keyword.control.flow.yield.cs"},"2":{"name":"keyword.control.flow.break.cs"}},"match":"(?NT});var HT,NT,gw=n1(()=>{HT=Object.freeze(JSON.parse('{"displayName":"Kotlin","fileTypes":["kt","kts"],"name":"kotlin","patterns":[{"include":"#import"},{"include":"#package"},{"include":"#code"}],"repository":{"annotation-simple":{"match":"(?<([^<>]|\\\\g)+>)?"},"code":{"patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#annotation-simple"},{"include":"#annotation-site-list"},{"include":"#annotation-site"},{"include":"#class-declaration"},{"include":"#object"},{"include":"#type-alias"},{"include":"#function"},{"include":"#variable-declaration"},{"include":"#type-constraint"},{"include":"#type-annotation"},{"include":"#function-call"},{"include":"#method-reference"},{"include":"#key"},{"include":"#string"},{"include":"#string-empty"},{"include":"#string-multiline"},{"include":"#character"},{"include":"#lambda-arrow"},{"include":"#operators"},{"include":"#self-reference"},{"include":"#decimal-literal"},{"include":"#hex-literal"},{"include":"#binary-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"}]},"comment-block":{"begin":"/\\\\*(?!\\\\*)","end":"\\\\*/","name":"comment.block.kotlin"},"comment-javadoc":{"patterns":[{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.javadoc.kotlin","patterns":[{"match":"@(return|constructor|receiver|sample|see|author|since|suppress)\\\\b","name":"keyword.other.documentation.javadoc.kotlin"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"variable.parameter.kotlin"}},"match":"(@p(?:aram|roperty))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"variable.parameter.kotlin"}},"match":"(@param)\\\\[(\\\\S+)]"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"entity.name.type.class.kotlin"}},"match":"(@(?:exception|throws))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"entity.name.type.class.kotlin"},"3":{"name":"variable.parameter.kotlin"}},"match":"\\\\{(@link)\\\\s+(\\\\S+)?#([$\\\\w]+\\\\s*\\\\([^()]*\\\\)).*}"}]}]},"comment-line":{"begin":"//","end":"$","name":"comment.line.double-slash.kotlin"},"comments":{"patterns":[{"include":"#comment-line"},{"include":"#comment-block"},{"include":"#comment-javadoc"}]},"control-keywords":{"match":"\\\\b(if|else|while|do|when|try|throw|break|continue|return|for)\\\\b","name":"keyword.control.kotlin"},"decimal-literal":{"match":"\\\\b\\\\d[_\\\\d]*(\\\\.[_\\\\d]+)?(([Ee])\\\\d+)?([Uu])?([FLf])?\\\\b","name":"constant.numeric.decimal.kotlin"},"function":{"captures":{"1":{"name":"keyword.hard.fun.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]},"4":{"name":"entity.name.type.class.extension.kotlin"},"5":{"name":"entity.name.function.declaration.kotlin"}},"match":"\\\\b(fun)\\\\b\\\\s*(?<([^<>]|\\\\g)+>)?\\\\s*(?:(?:(\\\\w+)\\\\.)?(\\\\b\\\\w+\\\\b|`[^`]+`))?"},"function-call":{"captures":{"1":{"name":"entity.name.function.call.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]}},"match":"\\\\??\\\\.?(\\\\b\\\\w+\\\\b|`[^`]+`)\\\\s*(?<([^<>]|\\\\g)+>)?\\\\s*(?=[({])"},"hard-keywords":{"match":"\\\\b(as|typeof|is|in)\\\\b","name":"keyword.hard.kotlin"},"hex-literal":{"match":"0([Xx])\\\\h[_\\\\h]*([Uu])?","name":"constant.numeric.hex.kotlin"},"import":{"begin":"\\\\b(import)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.soft.kotlin"}},"contentName":"entity.name.package.kotlin","end":";|$","name":"meta.import.kotlin","patterns":[{"include":"#comments"},{"include":"#hard-keywords"},{"match":"\\\\*","name":"variable.language.wildcard.kotlin"}]},"key":{"captures":{"1":{"name":"variable.parameter.kotlin"},"2":{"name":"keyword.operator.assignment.kotlin"}},"match":"\\\\b(\\\\w=)\\\\s*(=)"},"keywords":{"patterns":[{"include":"#prefix-modifiers"},{"include":"#postfix-modifiers"},{"include":"#soft-keywords"},{"include":"#hard-keywords"},{"include":"#control-keywords"}]},"lambda-arrow":{"match":"->","name":"storage.type.function.arrow.kotlin"},"method-reference":{"captures":{"1":{"name":"entity.name.function.reference.kotlin"}},"match":"\\\\??::(\\\\b\\\\w+\\\\b|`[^`]+`)"},"null-literal":{"match":"\\\\bnull\\\\b","name":"constant.language.null.kotlin"},"object":{"captures":{"1":{"name":"keyword.hard.object.kotlin"},"2":{"name":"entity.name.type.object.kotlin"}},"match":"\\\\b(object)(?:\\\\s+(\\\\b\\\\w+\\\\b|`[^`]+`))?"},"operators":{"patterns":[{"match":"(===?|!==?|<=|>=|[<>])","name":"keyword.operator.comparison.kotlin"},{"match":"([-%*+/]=)","name":"keyword.operator.assignment.arithmetic.kotlin"},{"match":"(=)","name":"keyword.operator.assignment.kotlin"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.kotlin"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.kotlin"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.kotlin"},{"match":"(\\\\.\\\\.)","name":"keyword.operator.range.kotlin"}]},"package":{"begin":"\\\\b(package)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.hard.package.kotlin"}},"contentName":"entity.name.package.kotlin","end":";|$","name":"meta.package.kotlin","patterns":[{"include":"#comments"}]},"postfix-modifiers":{"match":"\\\\b(where|by|get|set)\\\\b","name":"storage.modifier.other.kotlin"},"prefix-modifiers":{"match":"\\\\b(abstract|final|enum|open|annotation|sealed|data|override|final|lateinit|private|protected|public|internal|inner|companion|noinline|crossinline|vararg|reified|tailrec|operator|infix|inline|external|const|suspend|value)\\\\b","name":"storage.modifier.other.kotlin"},"self-reference":{"match":"\\\\b(this|super)(@\\\\w+)?\\\\b","name":"variable.language.this.kotlin"},"soft-keywords":{"match":"\\\\b(init|catch|finally|field)\\\\b","name":"keyword.soft.kotlin"},"string":{"begin":"(?<([^<>]|\\\\g)+>)?"},"type-annotation":{"captures":{"0":{"patterns":[{"include":"#type-parameter"}]}},"match":"(?|(?[(<]([^\\"\'()<>]|\\\\g)+[)>]))+"},"type-parameter":{"patterns":[{"match":"\\\\b\\\\w+\\\\b","name":"entity.name.type.kotlin"},{"match":"\\\\b(in|out)\\\\b","name":"storage.modifier.kotlin"}]},"unescaped-annotation":{"match":"\\\\b[.\\\\w]+\\\\b","name":"entity.name.type.annotation.kotlin"},"variable-declaration":{"captures":{"1":{"name":"keyword.hard.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]}},"match":"\\\\b(va[lr])\\\\b\\\\s*(?<([^<>]|\\\\g)+>)?"}},"scopeName":"source.kotlin","aliases":["kt","kts"]}')),NT=[HT]});var bw={};u1(bw,{default:()=>VT});var TT,VT,fw=n1(()=>{TT=Object.freeze(JSON.parse('{"displayName":"Swift","fileTypes":["swift"],"firstLineMatch":"^#!/.*\\\\bswift","name":"swift","patterns":[{"include":"#root"}],"repository":{"async-throws":{"captures":{"1":{"name":"invalid.illegal.await-must-precede-throws.swift"},"2":{"name":"storage.modifier.exception.swift"},"3":{"name":"storage.modifier.async.swift"}},"match":"\\\\b(?:((?:throws\\\\s+|rethrows\\\\s+)async)|((?:|re)throws)|(async))\\\\b"},"attributes":{"patterns":[{"begin":"((@)available)(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.attribute.available.swift","patterns":[{"captures":{"1":{"name":"keyword.other.platform.os.swift"},"2":{"name":"constant.numeric.swift"}},"match":"\\\\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b(?:\\\\s+([0-9]+(?:\\\\.[0-9]+)*)\\\\b)?"},{"begin":"\\\\b((?:introduc|deprecat|obsolet)ed)\\\\s*(:)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"match":"\\\\b[0-9]+(?:\\\\.[0-9]+)*\\\\b","name":"constant.numeric.swift"}]},{"begin":"\\\\b(message|renamed)\\\\s*(:)\\\\s*(?=\\")","beginCaptures":{"1":{"name":"keyword.other.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#literals"}]},{"captures":{"1":{"name":"keyword.other.platform.all.swift"},"2":{"name":"keyword.other.swift"},"3":{"name":"invalid.illegal.character-not-allowed-here.swift"}},"match":"(?:(\\\\*)|\\\\b(deprecated|unavailable|noasync)\\\\b)\\\\s*(.*?)(?=[),])"}]},{"begin":"((@)objc)(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.attribute.objc.swift","patterns":[{"captures":{"1":{"name":"invalid.illegal.missing-colon-after-selector-piece.swift"}},"match":"\\\\w*(?::(?:\\\\w*:)*(\\\\w*))?","name":"entity.name.function.swift"}]},{"begin":"(@)(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)","beginCaptures":{"0":{"name":"storage.modifier.attribute.swift"},"1":{"name":"punctuation.definition.attribute.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G\\\\()","name":"meta.attribute.swift","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.arguments.attribute.swift","patterns":[{"include":"#expressions"}]}]}]},"builtin-functions":{"patterns":[{"match":"(?<=\\\\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a[px]))(?=\\\\s*[({])\\\\b","name":"support.function.swift"},{"match":"(?<=\\\\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:|OrPinned)Reference|as(?:Suf|Pre)fix)|ne(?:gated?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:R|Unr)etainedValue|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:R|Unr)etained|re(?:decessor|fix))|e(?:scaped?|n(?:code|umerated?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:(?:Backward|)From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:(?:R|Subr)ange)?|versed?|quest(?:Native|UniqueMutableBacking)Buffer|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\\\\s*\\\\()","name":"support.function.swift"},{"match":"(?<=\\\\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\\\\s*\\\\()","name":"support.function.swift"}]},"builtin-global-functions":{"patterns":[{"begin":"\\\\b(type)(\\\\()\\\\s*(of)(:)","beginCaptures":{"1":{"name":"support.function.dynamic-type.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"},"3":{"name":"support.variable.parameter.swift"},"4":{"name":"punctuation.separator.argument-label.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"include":"#expressions"}]},{"match":"\\\\ba(?:nyGenerator|utoreleasepool)(?=\\\\s*[({])\\\\b","name":"support.function.swift"},{"match":"\\\\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:Mutable|)Pointer|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\\\\s*\\\\()","name":"support.function.swift"},{"match":"\\\\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:Mutable|)Pointers|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\\\\s*\\\\()","name":"support.function.swift"}]},"builtin-properties":{"patterns":[{"match":"(?<=(?:^|\\\\W)(?:Process\\\\.|CommandLine\\\\.))(arguments|argc|unsafeArgv)","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:|bugDe)scription|u(?:n(?:safelyUnwrapped|icodeScalars?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|values?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzero|rmal)Magnitude|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\\\\b","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\\\\b","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\\\\b","name":"support.variable.swift"}]},"builtin-types":{"patterns":[{"include":"#builtin-types-builtin-class-type"},{"include":"#builtin-types-builtin-enum-type"},{"include":"#builtin-types-builtin-protocol-type"},{"include":"#builtin-types-builtin-struct-type"},{"include":"#builtin-types-builtin-typealias"},{"match":"\\\\bAny\\\\b","name":"support.type.any.swift"}]},"builtin-types-builtin-class-type":{"match":"\\\\b(Managed((?:|Proto)Buffer)|NonObjectiveCBase|AnyGenerator)\\\\b","name":"support.class.swift"},"builtin-types-builtin-enum-type":{"patterns":[{"match":"\\\\b(?:CommandLine|Process(?=\\\\.))\\\\b","name":"support.constant.swift"},{"match":"\\\\bNever\\\\b","name":"support.constant.never.swift"},{"match":"\\\\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:MirrorDisposition|QuickLookObject)\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-protocol-type":{"patterns":[{"match":"\\\\bActor\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ide|eam)able|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflecta|StringConverti|DebugStringConverti|PlaygroundQuickLooka|LeafReflecta)ble|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:Sequence|Collection)Protocol)|A(?:nyObject|bsoluteValuable))\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Ran(?:domAccessIndex|geReplaceableCollection)Type|GeneratorType|M(?:irror(?:|Path)Type|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperations|directionalIndex)Type|oolean(?:Type|LiteralConvertible))|S(?:tring(?:Interpolation|Literal)Convertible|i(?:nk|gned(?:Numb|Integ)er)Type|e(?:tAlgebra|quence)Type|liceable)|NilLiteralConvertible|C(?:ollection|VarArg)Type|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStream|ptionSet)Type|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-struct-type":{"patterns":[{"match":"\\\\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccess|Bidirectional|)Slice|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccess|geReplaceable(?:RandomAccess|Bidirectional|))|Bidirectional|)Slice|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:(?:Gen|It)erator)?|o(?:(?:Gen|It)erator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:|Closed)Range|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Gen|It)erator)?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccess|Bidirectional|)Indices)|U(?:n(?:safe(?:RawPointer|Mutable(?:Raw|Buffer|)Pointer|BufferPointer(?:(?:Gen|It)erator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-typealias":{"patterns":[{"match":"\\\\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam[12]))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lements?|x(?:tendedGraphemeCluster(?:|Literal)Type|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Generator|PlaygroundQuickLook|UWord|Word)\\\\b","name":"support.type.swift"}]},"code-block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.swift"}},"patterns":[{"include":"$self"}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.swift"}},"match":"\\\\A^(#!).*$\\\\n?","name":"comment.line.number-sign.swift"},{"begin":"/\\\\*\\\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.documentation.swift","patterns":[{"include":"#comments-nested"}]},{"begin":"/\\\\*:","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.documentation.playground.swift","patterns":[{"include":"#comments-nested"}]},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.swift","patterns":[{"include":"#comments-nested"}]},{"match":"\\\\*/","name":"invalid.illegal.unexpected-end-of-block-comment.swift"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.swift"}},"end":"(?!\\\\G)","patterns":[{"begin":"///","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.triple-slash.documentation.swift"},{"begin":"//:","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.double-slash.documentation.swift"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.double-slash.swift"}]}]},"comments-nested":{"begin":"/\\\\*","end":"\\\\*/","patterns":[{"include":"#comments-nested"}]},"compiler-control":{"patterns":[{"begin":"^\\\\s*(#)(if|elseif)\\\\s+(false)\\\\b.*?(?=$|//|/\\\\*)","beginCaptures":{"0":{"name":"meta.preprocessor.conditional.swift"},"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"},"3":{"name":"constant.language.boolean.swift"}},"contentName":"comment.block.preprocessor.swift","end":"(?=^\\\\s*(#(e(?:lseif|lse|ndif)))\\\\b)"},{"begin":"^\\\\s*(#)(if|elseif)\\\\s+","captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"}},"end":"(?=\\\\s*/[*/])|$","name":"meta.preprocessor.conditional.swift","patterns":[{"match":"(&&|\\\\|\\\\|)","name":"keyword.operator.logical.swift"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.swift"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"support.constant.platform.architecture.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(arch)\\\\s*(\\\\()\\\\s*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|\\\\w+)\\\\s*(\\\\))"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"support.constant.platform.os.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(os)\\\\s*(\\\\()\\\\s*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|\\\\w+)\\\\s*(\\\\))"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"entity.name.type.module.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(canImport)\\\\s*(\\\\()([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)(\\\\))"},{"begin":"\\\\b(targetEnvironment)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))|$","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"match":"\\\\b(simulator|UIKitForMac)\\\\b","name":"support.constant.platform.environment.swift"}]},{"begin":"\\\\b(swift|compiler)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))|$","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"match":">=|<","name":"keyword.operator.comparison.swift"},{"match":"\\\\b[0-9]+(?:\\\\.[0-9]+)*\\\\b","name":"constant.numeric.swift"}]}]},{"captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"},"3":{"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"match":"^\\\\s*(#)(e(?:lse|ndif))(.*?)(?=$|//|/\\\\*)","name":"meta.preprocessor.conditional.swift"},{"captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.sourcelocation.swift"},"4":{"name":"punctuation.definition.parameters.begin.swift"},"5":{"patterns":[{"begin":"(file)\\\\s*(:)\\\\s*(?=\\")","beginCaptures":{"1":{"name":"support.variable.parameter.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#literals"}]},{"captures":{"1":{"name":"support.variable.parameter.swift"},"2":{"name":"punctuation.separator.key-value.swift"},"3":{"name":"constant.numeric.integer.swift"}},"match":"(line)\\\\s*(:)\\\\s*([0-9]+)"},{"match":",","name":"punctuation.separator.parameters.swift"},{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"6":{"name":"punctuation.definition.parameters.begin.swift"},"7":{"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"match":"^\\\\s*(#)(sourceLocation)((\\\\()([^)]*)(\\\\)))(.*?)(?=$|//|/\\\\*)","name":"meta.preprocessor.sourcelocation.swift"}]},"conditionals":{"patterns":[{"begin":"(?^|~])(->)(?![-!%\\\\&*+./<=>^|~])"},{"captures":{"1":{"name":"keyword.operator.type.composition.swift"}},"match":"(?^|~])(&)(?![-!%\\\\&*+./<=>^|~])"},{"match":"[!?]","name":"keyword.operator.type.optional.swift"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.function.variadic-parameter.swift"},{"match":"\\\\bprotocol\\\\b","name":"keyword.other.type.composition.swift"},{"match":"(?<=\\\\.)(?:Protocol|Type)\\\\b","name":"keyword.other.type.metatype.swift"},{"include":"#declarations-available-types-tuple-type"},{"include":"#declarations-available-types-collection-type"},{"include":"#declarations-generic-argument-clause"}]},"declarations-available-types-collection-type":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.collection-type.begin.swift"}},"end":"]|(?=[)>{}])","endCaptures":{"0":{"name":"punctuation.section.collection-type.end.swift"}},"patterns":[{"include":"#declarations-available-types"},{"include":"#literals-numeric"},{"match":"\\\\b_\\\\b","name":"support.variable.inferred.swift"},{"match":"(?<=\\\\s)\\\\bof\\\\b(?=\\\\s+[(\\\\[_\\\\p{L}\\\\d\\\\p{N}\\\\p{M}])","name":"keyword.other.inline-array.swift"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.key-value.swift"}},"end":"(?=[])>{}])","patterns":[{"match":":","name":"invalid.illegal.extra-colon-in-dictionary-type.swift"},{"include":"#declarations-available-types"}]}]},"declarations-available-types-tuple-type":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.tuple-type.begin.swift"}},"end":"\\\\)|(?=[]>{}])","endCaptures":{"0":{"name":"punctuation.section.tuple-type.end.swift"}},"patterns":[{"include":"#declarations-available-types"}]},"declarations-extension":{"begin":"\\\\b(extension)\\\\s+","beginCaptures":{"1":{"name":"storage.type.$1.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"begin":"\\\\G(?!\\\\s*[\\\\n:{])","end":"(?=\\\\s*[\\\\n:{])|(?!\\\\G)(?=\\\\s*where\\\\b)","name":"entity.name.type.swift","patterns":[{"include":"#declarations-available-types"}]},{"include":"#comments"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function":{"begin":"\\\\b(func)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)|(?:((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g|\\\\g|\\\\.)+)))\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})|$","name":"meta.definition.function.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.function.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.function.end.swift"}},"name":"meta.definition.function.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function-initializer":{"begin":"(?^|~])(->)(?![-!%\\\\&*+./<=>^|~])\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.function-result.swift"}},"end":"(?!\\\\G)(?=\\\\{|\\\\bwhere\\\\b|[;=])|$","name":"meta.function-result.swift","patterns":[{"match":"\\\\bsending\\\\b","name":"storage.modifier.swift"},{"include":"#declarations-available-types"}]},"declarations-function-subscript":{"begin":"(?|(?=[]){}])","endCaptures":{"0":{"name":"punctuation.separator.generic-argument-clause.end.swift"}},"name":"meta.generic-argument-clause.swift","patterns":[{"include":"#literals-numeric"},{"include":"#declarations-available-types"}]},"declarations-generic-parameter-clause":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.separator.generic-parameter-clause.begin.swift"}},"end":">|(?=[^\\\\&,:<=>`\\\\w\\\\d\\\\s])","endCaptures":{"0":{"name":"punctuation.separator.generic-parameter-clause.end.swift"}},"name":"meta.generic-parameter-clause.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause"},{"match":"\\\\blet\\\\b","name":"keyword.other.declaration-specifier.swift"},{"match":"\\\\beach\\\\b","name":"keyword.control.loop.swift"},{"captures":{"1":{"name":"variable.language.generic-parameter.swift"}},"match":"\\\\b((?!\\\\d)\\\\w[\\\\w\\\\d]*)\\\\b"},{"match":",","name":"punctuation.separator.generic-parameters.swift"},{"begin":"(:)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.generic-parameter-constraint.swift"}},"end":"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.generic-parameter-constraint.swift","patterns":[{"begin":"\\\\G","end":"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)","name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-type-identifier"},{"include":"#declarations-type-operators"}]}]}]},"declarations-generic-where-clause":{"begin":"\\\\b(where)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.generic-constraint-introducer.swift"}},"end":"(?!\\\\G)$|(?=[\\\\n;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause-requirement-list"}]},"declarations-generic-where-clause-requirement-list":{"begin":"\\\\G|,\\\\s*","end":"(?=[\\\\n,;>{}]|//|/\\\\*)","patterns":[{"include":"#comments"},{"include":"#constraint"},{"include":"#declarations-available-types"},{"begin":"(?^|~])(==)(?![-!%\\\\&*+./<=>^|~])","beginCaptures":{"1":{"name":"keyword.operator.generic-constraint.same-type.swift"}},"end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.same-type-requirement.swift","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(?^|~])(:)(?![-!%\\\\&*+./<=>^|~])","beginCaptures":{"1":{"name":"keyword.operator.generic-constraint.conforms-to.swift"}},"end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.conformance-requirement.swift","patterns":[{"begin":"\\\\G\\\\s*","contentName":"entity.other.inherited-class.swift","end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","patterns":[{"include":"#declarations-available-types"}]}]}]},"declarations-import":{"begin":"(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)","name":"entity.name.type.swift"},{"match":"(?<=\\\\G|\\\\.)\\\\$[0-9]+","name":"entity.name.type.swift"},{"captures":{"1":{"patterns":[{"match":"\\\\.","name":"invalid.illegal.dot-not-allowed-here.swift"}]}},"match":"(?<=\\\\G|\\\\.)(?:((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g|\\\\g|\\\\.)+))(?=[.;]|$|//|/\\\\*|\\\\s)","name":"entity.name.type.swift"},{"match":"\\\\.","name":"punctuation.separator.import.swift"},{"begin":"(?!\\\\s*(;|$|//|/\\\\*))","end":"(?=\\\\s*(;|$|//|/\\\\*))","name":"invalid.illegal.character-not-allowed-here.swift"}]}]},"declarations-inheritance-clause":{"begin":"(:)(?=\\\\s*\\\\{)|(:)\\\\s*","beginCaptures":{"1":{"name":"invalid.illegal.empty-inheritance-clause.swift"},"2":{"name":"punctuation.separator.inheritance-clause.swift"}},"end":"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.inheritance-clause.swift","patterns":[{"begin":"\\\\bclass\\\\b","beginCaptures":{"0":{"name":"storage.type.class.swift"}},"end":"(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause-more-types"}]},{"begin":"\\\\G","end":"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","patterns":[{"include":"#attributes"},{"include":"#comments"},{"include":"#declarations-inheritance-clause-inherited-type"},{"include":"#declarations-inheritance-clause-more-types"},{"include":"#declarations-type-operators"}]}]},"declarations-inheritance-clause-inherited-type":{"begin":"(?=[_`\\\\p{L}])","end":"(?!\\\\G)","name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-type-identifier"}]},"declarations-inheritance-clause-more-types":{"begin":",\\\\s*","end":"(?!\\\\G)(?!/[*/])|(?=[,={}]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.inheritance-list.more-types","patterns":[{"include":"#attributes"},{"include":"#comments"},{"include":"#declarations-inheritance-clause-inherited-type"},{"include":"#declarations-inheritance-clause-more-types"},{"include":"#declarations-type-operators"}]},"declarations-macro":{"begin":"\\\\b(macro)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(?=[(<=])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"$|(?=;|//|/\\\\*|[=}])","name":"meta.definition.macro.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"}]},"declarations-operator":{"begin":"(?:\\\\b((?:pre|in|post)fix)\\\\s+)?\\\\b(operator)\\\\s+(((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|\\\\.|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*+)|(\\\\.(\\\\g|\\\\g|\\\\.)++))\\\\s*","beginCaptures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"storage.type.function.operator.swift"},"3":{"name":"entity.name.function.operator.swift"},"4":{"name":"entity.name.function.operator.swift","patterns":[{"match":"\\\\.","name":"invalid.illegal.dot-not-allowed-here.swift"}]}},"end":"(;)|$\\\\n?|(?=/[*/])","endCaptures":{"1":{"name":"punctuation.terminator.statement.swift"}},"name":"meta.definition.operator.swift","patterns":[{"include":"#declarations-operator-swift2"},{"include":"#declarations-operator-swift3"},{"match":"((?!$|;|//|/\\\\*)\\\\S)+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"declarations-operator-swift2":{"begin":"\\\\G(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.operator.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.operator.end.swift"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"keyword.other.operator.associativity.swift"}},"match":"\\\\b(associativity)\\\\s+(left|right)\\\\b"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"constant.numeric.integer.swift"}},"match":"\\\\b(precedence)\\\\s+([0-9]+)\\\\b"},{"captures":{"1":{"name":"storage.modifier.swift"}},"match":"\\\\b(assignment)\\\\b"}]},"declarations-operator-swift3":{"captures":{"2":{"name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-types-precedencegroup"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"\\\\G(:)\\\\s*((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))"},"declarations-parameter-clause":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))(?:\\\\s*(async)\\\\b)?","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"},"2":{"name":"storage.modifier.async.swift"}},"name":"meta.parameter-clause.swift","patterns":[{"include":"#declarations-parameter-list"}]},"declarations-parameter-list":{"patterns":[{"captures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"variable.parameter.function.swift"},"5":{"name":"punctuation.definition.identifier.swift"},"6":{"name":"punctuation.definition.identifier.swift"}},"match":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))(?=\\\\s*:)"},{"captures":{"1":{"name":"variable.parameter.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"(((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)))(?=\\\\s*:)"},{"begin":":\\\\s*(?!\\\\s)","end":"(?=[),])","patterns":[{"match":"\\\\bsending\\\\b","name":"storage.modifier.swift"},{"include":"#declarations-available-types"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.swift"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.swift"}},"end":"(?=[),])","patterns":[{"include":"#expressions"}]}]}]},"declarations-precedencegroup":{"begin":"\\\\b(precedencegroup)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.precedencegroup.swift"},"2":{"name":"entity.name.type.precedencegroup.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)","name":"meta.definition.precedencegroup.swift","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.precedencegroup.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.precedencegroup.end.swift"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-types-precedencegroup"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"\\\\b((?:high|low)erThan)\\\\s*:\\\\s*((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"keyword.other.operator.associativity.swift"}},"match":"\\\\b(associativity)\\\\b(?:\\\\s*:\\\\s*(right|left|none)\\\\b)?"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"constant.language.boolean.swift"}},"match":"\\\\b(assignment)\\\\b(?:\\\\s*:\\\\s*(true|false)\\\\b)?"}]}]},"declarations-protocol":{"begin":"\\\\b(protocol)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.protocol.swift","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause"},{"include":"#declarations-generic-where-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"#declarations-protocol-protocol-method"},{"include":"#declarations-protocol-protocol-initializer"},{"include":"#declarations-protocol-associated-type"},{"include":"$self"}]}]},"declarations-protocol-associated-type":{"begin":"\\\\b(associatedtype)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration-specifier.swift"},"2":{"name":"variable.language.associatedtype.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)$|(?=[;}]|$)","name":"meta.definition.associatedtype.swift","patterns":[{"include":"#declarations-inheritance-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-typealias-assignment"}]},"declarations-protocol-protocol-initializer":{"begin":"(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)|(?:((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g|\\\\g|\\\\.)+)))\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"$|(?=;|//|/\\\\*|})","name":"meta.definition.function.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.function.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.function.end.swift"}},"name":"invalid.illegal.function-body-not-allowed-in-protocol.swift","patterns":[{"include":"$self"}]}]},"declarations-type":{"patterns":[{"begin":"\\\\b(class(?!\\\\s+(?:func|var|let)\\\\b)|struct|actor)\\\\b\\\\s*((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"$self"}]}]},{"include":"#declarations-type-enum"}]},"declarations-type-enum":{"begin":"\\\\b(enum)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"#declarations-type-enum-enum-case-clause"},{"include":"$self"}]}]},"declarations-type-enum-associated-values":{"begin":"\\\\G\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"include":"#comments"},{"begin":"(?:(_)|((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k))\\\\s+(((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k))\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"invalid.illegal.distinct-labels-not-allowed.swift"},"5":{"name":"variable.parameter.function.swift"},"7":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k))\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"variable.parameter.function.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(?![]),])(?=\\\\S)","end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.swift"}]}]},"declarations-type-enum-enum-case":{"begin":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"variable.other.enummember.swift"}},"end":"(?<=\\\\))|(?![(=])","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-associated-values"},{"include":"#declarations-type-enum-raw-value-assignment"}]},"declarations-type-enum-enum-case-clause":{"begin":"\\\\b(case)\\\\b\\\\s*","beginCaptures":{"1":{"name":"storage.type.enum.case.swift"}},"end":"(?=[;}])|(?!\\\\G)(?!/[*/])(?=[^,\\\\s])","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-enum-case"},{"include":"#declarations-type-enum-more-cases"}]},"declarations-type-enum-more-cases":{"begin":",\\\\s*","end":"(?!\\\\G)(?!/[*/])(?=[;}[^,\\\\s]])","name":"meta.enum-case.more-cases","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-enum-case"},{"include":"#declarations-type-enum-more-cases"}]},"declarations-type-enum-raw-value-assignment":{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#comments"},{"include":"#literals"}]},"declarations-type-identifier":{"begin":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"meta.type-name.swift","patterns":[{"include":"#builtin-types"}]},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!<)","patterns":[{"begin":"(?=<)","end":"(?!\\\\G)","patterns":[{"include":"#declarations-generic-argument-clause"}]}]},"declarations-type-operators":{"patterns":[{"captures":{"1":{"name":"keyword.operator.type.composition.swift"}},"match":"(?^|~])(&)(?![-!%\\\\&*+./<=>^|~])"},{"captures":{"1":{"name":"keyword.operator.type.requirement-suppression.swift"}},"match":"(?^|~])(~)(?![-!%\\\\&*+./<=>^|~])"}]},"declarations-typealias":{"begin":"\\\\b(typealias)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration-specifier.swift"},"2":{"name":"entity.name.type.typealias.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)$|(?=;|//|/\\\\*|$)","name":"meta.definition.typealias.swift","patterns":[{"begin":"\\\\G(?=<)","end":"(?!\\\\G)","patterns":[{"include":"#declarations-generic-parameter-clause"}]},{"include":"#declarations-typealias-assignment"}]},"declarations-typealias-assignment":{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.swift"}},"end":"(?!\\\\G)$|(?=;|//|/\\\\*|$)","patterns":[{"include":"#declarations-available-types"}]},"declarations-typed-variable-declaration":{"begin":"\\\\b(?:(async)\\\\s+)?(let|var)\\\\b\\\\s+(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)\\\\s*:","beginCaptures":{"1":{"name":"storage.modifier.async.swift"},"2":{"name":"keyword.other.declaration-specifier.swift"}},"end":"(?=$|[={])","patterns":[{"include":"#declarations-available-types"}]},"declarations-types-precedencegroup":{"patterns":[{"match":"\\\\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\\\\b","name":"support.type.swift"}]},"expressions":{"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references"},{"include":"#expressions-trailing-closure"},{"include":"#member-reference"}]},"expressions-trailing-closure":{"patterns":[{"captures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"match":"(#?(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))(?=\\\\s*\\\\{)","name":"meta.function-call.trailing-closure-only.swift"},{"captures":{"1":{"name":"support.function.any-method.trailing-closure-label.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"match":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(:)(?=\\\\s*\\\\{)"}]},"expressions-without-trailing-closures":{"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references"},{"include":"#member-references"}]},"expressions-without-trailing-closures-or-member-references":{"patterns":[{"include":"#comments"},{"include":"#code-block"},{"include":"#attributes"},{"include":"#expressions-without-trailing-closures-or-member-references-closure-parameter"},{"include":"#literals"},{"include":"#operators"},{"include":"#builtin-types"},{"include":"#builtin-functions"},{"include":"#builtin-global-functions"},{"include":"#builtin-properties"},{"include":"#expressions-without-trailing-closures-or-member-references-compound-name"},{"include":"#conditionals"},{"include":"#keywords"},{"include":"#expressions-without-trailing-closures-or-member-references-availability-condition"},{"include":"#expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression"},{"include":"#expressions-without-trailing-closures-or-member-references-macro-expansion"},{"include":"#expressions-without-trailing-closures-or-member-references-subscript-expression"},{"include":"#expressions-without-trailing-closures-or-member-references-parenthesized-expression"},{"match":"\\\\b_\\\\b","name":"support.variable.discard-value.swift"}]},"expressions-without-trailing-closures-or-member-references-availability-condition":{"begin":"\\\\B(#(?:un)?available)(\\\\()","beginCaptures":{"1":{"name":"support.function.availability-condition.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"captures":{"1":{"name":"keyword.other.platform.os.swift"},"2":{"name":"constant.numeric.swift"}},"match":"\\\\s*\\\\b((?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b\\\\s+([0-9]+(?:\\\\.[0-9]+)*)\\\\b"},{"captures":{"1":{"name":"keyword.other.platform.all.swift"},"2":{"name":"invalid.illegal.character-not-allowed-here.swift"}},"match":"(\\\\*)\\\\s*(.*?)(?=[),])"},{"match":"[^),\\\\s]+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"expressions-without-trailing-closures-or-member-references-closure-parameter":{"match":"\\\\$[0-9]+","name":"variable.language.closure-parameter.swift"},"expressions-without-trailing-closures-or-member-references-compound-name":{"captures":{"1":{"name":"entity.name.function.compound-name.swift"},"2":{"name":"punctuation.definition.entity.swift"},"3":{"name":"punctuation.definition.entity.swift"},"4":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.swift"},"2":{"name":"punctuation.definition.entity.swift"}},"match":"(?`?)(?!_:)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k):","name":"entity.name.function.compound-name.swift"}]}},"match":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\(((((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)):)+)\\\\)"},"expressions-without-trailing-closures-or-member-references-expression-element-list":{"patterns":[{"include":"#comments"},{"begin":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(:)","beginCaptures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#expressions"}]},{"begin":"(?![]),])(?=\\\\S)","end":"(?=[]),])","patterns":[{"include":"#expressions"}]}]},"expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression":{"patterns":[{"begin":"(#?(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.function-call.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},{"begin":"(?<=[])>_`}\\\\p{L}\\\\p{N}\\\\p{M}])\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.function-call.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]}]},"expressions-without-trailing-closures-or-member-references-macro-expansion":{"match":"(#(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","name":"support.function.any-method.swift"},"expressions-without-trailing-closures-or-member-references-parenthesized-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.tuple.begin.swift"}},"end":"(\\\\))\\\\s*((?:\\\\b(?:async|throws|rethrows)\\\\s)*)","endCaptures":{"1":{"name":"punctuation.section.tuple.end.swift"},"2":{"patterns":[{"match":"\\\\brethrows\\\\b","name":"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift"},{"include":"#async-throws"}]}},"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"expressions-without-trailing-closures-or-member-references-subscript-expression":{"begin":"(?<=[_`\\\\p{L}\\\\p{N}\\\\p{M}])\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.subscript-expression.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"keywords":{"patterns":[{"match":"(?(?>(?:\\\\\\\\Q(?:(?!\\\\\\\\E)(?!/).)*+(?:\\\\\\\\E|(?=/))|\\\\\\\\.|\\\\(\\\\?#[^)]*\\\\)|\\\\(\\\\?(?>\\\\{(?:[^{].*?|\\\\{[^{].*?}|\\\\{\\\\{[^{].*?}}|\\\\{\\\\{\\\\{[^{].*?}}}|\\\\{\\\\{\\\\{\\\\{[^{].*?}}}}|\\\\{\\\\{\\\\{\\\\{\\\\{.+?}}}}})})(?:\\\\[(?!\\\\d)\\\\w+])?[<>X]?\\\\)|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\])+])+])+])+]|\\\\(\\\\g?+\\\\)|(?:(?!/)[^()\\\\[\\\\\\\\])+)+))?+(?(?>(?:\\\\\\\\Q(?:(?!\\\\\\\\E)(?!/\\\\2).)*+(?:\\\\\\\\E|(?=/\\\\2))|\\\\\\\\.|\\\\(\\\\?#[^)]*\\\\)|\\\\(\\\\?(?>\\\\{(?:[^{].*?|\\\\{[^{].*?}|\\\\{\\\\{[^{].*?}}|\\\\{\\\\{\\\\{[^{].*?}}}|\\\\{\\\\{\\\\{\\\\{[^{].*?}}}}|\\\\{\\\\{\\\\{\\\\{\\\\{.+?}}}}})})(?:\\\\[(?!\\\\d)\\\\w+])?[<>X]?\\\\)|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\])+])+])+])+]|\\\\(\\\\g?+\\\\)|(?:(?!/\\\\2)[^()\\\\[\\\\\\\\])+)+))?+(/\\\\2)|#+/.+(\\\\n)","name":"string.regexp.line.extended.swift"}]},"literals-regular-expression-literal-backreference-or-subpattern":{"patterns":[{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\g\\\\{)(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(})"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"constant.numeric.integer.decimal.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"}},"match":"(\\\\\\\\g)([-+]?\\\\d+)(?:([-+])(\\\\d+))?"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\[gk]<)(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(>)"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\[gk]\')(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(\')"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\k\\\\{)((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?(})"},{"match":"\\\\\\\\[1-9][0-9]+","name":"keyword.other.back-reference.regexp"},{"captures":{"1":{"name":"keyword.other.back-reference.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.other.back-reference.regexp"}},"match":"(\\\\(\\\\?(?:P[=>]|&))((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?(\\\\))"},{"match":"\\\\(\\\\?R\\\\)","name":"keyword.other.back-reference.regexp"},{"captures":{"1":{"name":"keyword.other.back-reference.regexp"},"2":{"name":"constant.numeric.integer.decimal.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.other.back-reference.regexp"}},"match":"(\\\\(\\\\?)([-+]?\\\\d+)(?:([-+])(\\\\d+))?(\\\\))"}]},"literals-regular-expression-literal-backtracking-directive-or-global-matching-option":{"captures":{"1":{"name":"keyword.control.directive.regexp"},"2":{"name":"keyword.control.directive.regexp"},"3":{"name":"keyword.control.directive.regexp"},"4":{"name":"variable.language.tag.regexp"},"5":{"name":"keyword.control.directive.regexp"},"6":{"name":"keyword.operator.assignment.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"keyword.control.directive.regexp"},"9":{"name":"keyword.control.directive.regexp"}},"match":"(\\\\(\\\\*)(?:(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)(?:(:)([^)]+))?|(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\\\\d+)|(CRLF|CR|ANYCRLF|ANY|LF|NUL|BSR_ANYCRLF|BSR_UNICODE|NOTEMPTY_ATSTART|NOTEMPTY|NO_AUTO_POSSESS|NO_DOTSTAR_ANCHOR|NO_JIT|NO_START_OPT|UTF|UCP))(\\\\))"},"literals-regular-expression-literal-callout":{"captures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.callout.regexp"},"3":{"name":"constant.numeric.integer.decimal.regexp"},"4":{"name":"entity.name.function.callout.regexp"},"5":{"name":"entity.name.function.callout.regexp"},"6":{"name":"entity.name.function.callout.regexp"},"7":{"name":"entity.name.function.callout.regexp"},"8":{"name":"entity.name.function.callout.regexp"},"9":{"name":"entity.name.function.callout.regexp"},"10":{"name":"entity.name.function.callout.regexp"},"11":{"name":"entity.name.function.callout.regexp"},"12":{"name":"punctuation.definition.group.regexp"},"13":{"name":"punctuation.definition.group.regexp"},"14":{"name":"keyword.control.callout.regexp"},"15":{"name":"entity.name.function.callout.regexp"},"16":{"name":"variable.language.tag-name.regexp"},"17":{"name":"punctuation.definition.group.regexp"},"18":{"name":"punctuation.definition.group.regexp"},"19":{"name":"keyword.control.callout.regexp"},"21":{"name":"variable.language.tag-name.regexp"},"22":{"name":"keyword.control.callout.regexp"},"23":{"name":"punctuation.definition.group.regexp"}},"match":"(\\\\()(?\\\\?C)(?:(?\\\\d+)|`(?(?:[^`]|``)*)`|\'(?(?:[^\']|\'\')*)\'|\\"(?(?:[^\\"]|\\"\\")*)\\"|\\\\^(?(?:[^^]|\\\\^\\\\^)*)\\\\^|%(?(?:[^%]|%%)*)%|#(?(?:[^#]|##)*)#|\\\\$(?(?:[^$]|\\\\$\\\\$)*)\\\\$|\\\\{(?(?:[^}]|}})*)})?(\\\\))|(\\\\()(?\\\\*)(?(?!\\\\d)\\\\w+)(?:\\\\[(?(?!\\\\d)\\\\w+)])?(?:\\\\{[^,}]+(?:,[^,}]+)*})?(\\\\))|(\\\\()(?\\\\?)(?>(\\\\{(?:\\\\g<20>|(?!\\\\{).*?)}))(?:\\\\[(?(?!\\\\d)\\\\w+)])?(?[<>X]?)(\\\\))","name":"meta.callout.regexp"},"literals-regular-expression-literal-character-properties":{"captures":{"1":{"name":"support.variable.character-property.regexp"},"2":{"name":"punctuation.definition.character-class.regexp"},"3":{"name":"support.variable.character-property.regexp"},"4":{"name":"punctuation.definition.character-class.regexp"}},"match":"\\\\\\\\[Pp]\\\\{([-\\\\s\\\\w]+(?:=[-\\\\s\\\\w]+)?)}|(\\\\[:)([-\\\\s\\\\w]+(?:=[-\\\\s\\\\w]+)?)(:])","name":"constant.other.character-class.set.regexp"},"literals-regular-expression-literal-custom-char-class":{"patterns":[{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"include":"#literals-regular-expression-literal-custom-char-class-members"}]}]},"literals-regular-expression-literal-custom-char-class-members":{"patterns":[{"match":"\\\\\\\\b","name":"constant.character.escape.backslash.regexp"},{"include":"#literals-regular-expression-literal-custom-char-class"},{"include":"#literals-regular-expression-literal-quote"},{"include":"#literals-regular-expression-literal-set-operators"},{"include":"#literals-regular-expression-literal-unicode-scalars"},{"include":"#literals-regular-expression-literal-character-properties"}]},"literals-regular-expression-literal-group-option-toggle":{"match":"\\\\(\\\\?(?:\\\\^(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*)\\\\)","name":"keyword.other.option-toggle.regexp"},"literals-regular-expression-literal-group-or-conditional":{"patterns":[{"begin":"(\\\\()(\\\\?~)","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.conditional.absent.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.absent.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},{"begin":"(\\\\()(?\\\\?\\\\()(?:(?(?[-+]?\\\\d+)(?:(?[-+])(?\\\\d+))?)|(?R)\\\\g?|(?R&)(?(?(?!\\\\d)\\\\w+)(?:(?[-+])(?\\\\d+))?)|(?<)(?:\\\\g|\\\\g)(?>)|(?\')(?:\\\\g|\\\\g)(?\')|(?DEFINE)|(?VERSION)(?>?=)(?\\\\d+\\\\.\\\\d+))(?\\\\))|(\\\\()(?\\\\?)(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.conditional.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.operator.recursion-level.regexp"},"6":{"name":"constant.numeric.integer.decimal.regexp"},"7":{"name":"keyword.control.conditional.regexp"},"8":{"name":"keyword.control.conditional.regexp"},"10":{"name":"variable.other.group-name.regexp"},"11":{"name":"keyword.operator.recursion-level.regexp"},"12":{"name":"constant.numeric.integer.decimal.regexp"},"13":{"name":"keyword.control.conditional.regexp"},"14":{"name":"keyword.control.conditional.regexp"},"15":{"name":"keyword.control.conditional.regexp"},"16":{"name":"keyword.control.conditional.regexp"},"17":{"name":"keyword.control.conditional.regexp"},"18":{"name":"keyword.control.conditional.regexp"},"19":{"name":"keyword.operator.comparison.regexp"},"20":{"name":"constant.numeric.integer.decimal.regexp"},"21":{"name":"keyword.control.conditional.regexp"},"22":{"name":"punctuation.definition.group.regexp"},"23":{"name":"keyword.control.conditional.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.conditional.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},{"begin":"(\\\\()((\\\\?)(?:([!*:=>|]|<[!*=])|P?<(?:((?!\\\\d)\\\\w+)(-))?((?!\\\\d)\\\\w+)>|\'(?:((?!\\\\d)\\\\w+)(-))?((?!\\\\d)\\\\w+)\'|(?:\\\\^(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*):)|\\\\*(atomic|pla|positive_lookahead|nla|negative_lookahead|plb|positive_lookbehind|nlb|negative_lookbehind|napla|non_atomic_positive_lookahead|naplb|non_atomic_positive_lookbehind|sr|script_run|asr|atomic_script_run):)?+","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.other.group-options.regexp"},"3":{"name":"punctuation.definition.group.regexp"},"4":{"name":"punctuation.definition.group.regexp"},"5":{"name":"variable.other.group-name.regexp"},"6":{"name":"keyword.operator.balancing-group.regexp"},"7":{"name":"variable.other.group-name.regexp"},"8":{"name":"variable.other.group-name.regexp"},"9":{"name":"keyword.operator.balancing-group.regexp"},"10":{"name":"variable.other.group-name.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]}]},"literals-regular-expression-literal-line-comment":{"captures":{"1":{"name":"punctuation.definition.comment.regexp"}},"match":"(#).*$","name":"comment.line.regexp"},"literals-regular-expression-literal-quote":{"begin":"\\\\\\\\Q","beginCaptures":{"0":{"name":"constant.character.escape.backslash.regexp"}},"end":"\\\\\\\\E|(\\\\n)","endCaptures":{"0":{"name":"constant.character.escape.backslash.regexp"},"1":{"name":"invalid.illegal.returns-not-allowed.regexp"}},"name":"string.quoted.other.regexp.swift"},"literals-regular-expression-literal-regex-guts":{"patterns":[{"include":"#literals-regular-expression-literal-quote"},{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.regexp"}},"name":"comment.block.regexp"},{"begin":"<\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.regexp"}},"end":"}>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.regexp"}},"name":"meta.embedded.expression.regexp"},{"include":"#literals-regular-expression-literal-unicode-scalars"},{"include":"#literals-regular-expression-literal-character-properties"},{"match":"[$^]|\\\\\\\\[ABGYZbyz]|\\\\\\\\K","name":"keyword.control.anchor.regexp"},{"include":"#literals-regular-expression-literal-backtracking-directive-or-global-matching-option"},{"include":"#literals-regular-expression-literal-callout"},{"include":"#literals-regular-expression-literal-backreference-or-subpattern"},{"match":"\\\\.|\\\\\\\\[CDHNORSVWXdhsvw]","name":"constant.character.character-class.regexp"},{"match":"\\\\\\\\c.","name":"constant.character.entity.control-character.regexp"},{"match":"\\\\\\\\[^c]","name":"constant.character.escape.backslash.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"match":"[*+?]","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\{(?:\\\\s*\\\\d+\\\\s*(?:,\\\\s*\\\\d*\\\\s*)?}|\\\\s*,\\\\s*\\\\d+\\\\s*})","name":"keyword.operator.quantifier.regexp"},{"include":"#literals-regular-expression-literal-custom-char-class"},{"include":"#literals-regular-expression-literal-group-option-toggle"},{"include":"#literals-regular-expression-literal-group-or-conditional"}]},"literals-regular-expression-literal-set-operators":{"patterns":[{"match":"&&","name":"keyword.operator.intersection.regexp.swift"},{"match":"--","name":"keyword.operator.subtraction.regexp.swift"},{"match":"~~","name":"keyword.operator.symmetric-difference.regexp.swift"}]},"literals-regular-expression-literal-unicode-scalars":{"match":"\\\\\\\\(?:u\\\\{\\\\s*(?:\\\\h+\\\\s*)+}|u\\\\h{4}|x\\\\{\\\\h+}|x\\\\h{0,2}|U\\\\h{8}|o\\\\{[0-7]+}|0[0-7]{0,3}|N\\\\{(?:U\\\\+\\\\h{1,8}|[-\\\\s\\\\w]+)})","name":"constant.character.numeric.regexp"},"literals-string":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"\\"\\"(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.swift","patterns":[{"match":"\\\\G(?:.+(?=\\"\\"\\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"},{"match":"\\\\\\\\\\\\s*\\\\n","name":"constant.character.escape.newline.swift"},{"include":"#literals-string-string-guts"},{"match":"\\\\S((?!\\\\\\\\\\\\().)*(?=\\"\\"\\")","name":"invalid.illegal.content-before-closing-delimiter.swift"}]},{"begin":"#\\"\\"\\"(?!#)(?=(?:[^\\"]|\\"(?!#))*$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"\\"\\"#(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.raw.swift","patterns":[{"match":"\\\\G(?:.+(?=\\"\\"\\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"},{"match":"\\\\\\\\#\\\\s*\\\\n","name":"constant.character.escape.newline.swift"},{"include":"#literals-string-raw-string-guts"},{"match":"\\\\S((?!\\\\\\\\#\\\\().)*(?=\\"\\"\\")","name":"invalid.illegal.content-before-closing-delimiter.swift"}]},{"begin":"(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))"}]},"operators":{"patterns":[{"match":"\\\\b(is\\\\b|as([!?]\\\\B|\\\\b))","name":"keyword.operator.type-casting.swift"},{"begin":"(?=(?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])|\\\\.(\\\\g|[.\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))","end":"(?!\\\\G)","patterns":[{"captures":{"0":{"patterns":[{"match":"\\\\G(\\\\+\\\\+|--)$","name":"keyword.operator.increment-or-decrement.swift"},{"match":"\\\\G([-+])$","name":"keyword.operator.arithmetic.unary.swift"},{"match":"\\\\G!$","name":"keyword.operator.logical.not.swift"},{"match":"\\\\G~$","name":"keyword.operator.bitwise.not.swift"},{"match":".+","name":"keyword.operator.custom.prefix.swift"}]}},"match":"\\\\G(?<=^|[(,:;\\\\[{\\\\s])((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u0300-\u036F\u1DC0-\u1DFF\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u20D0-\u20FF\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))++(?![]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":"\\\\G(\\\\+\\\\+|--)$","name":"keyword.operator.increment-or-decrement.swift"},{"match":"\\\\G!$","name":"keyword.operator.increment-or-decrement.swift"},{"match":".+","name":"keyword.operator.custom.postfix.swift"}]}},"match":"\\\\G(?>|[\\\\&^|]|&&|\\\\|\\\\|)=$","name":"keyword.operator.assignment.compound.swift"},{"match":"\\\\G([-*+/])$","name":"keyword.operator.arithmetic.swift"},{"match":"\\\\G&([-*+])$","name":"keyword.operator.arithmetic.overflow.swift"},{"match":"\\\\G%$","name":"keyword.operator.arithmetic.remainder.swift"},{"match":"\\\\G(==|!=|[<>]|>=|<=|~=)$","name":"keyword.operator.comparison.swift"},{"match":"\\\\G\\\\?\\\\?$","name":"keyword.operator.coalescing.swift"},{"match":"\\\\G(&&|\\\\|\\\\|)$","name":"keyword.operator.logical.swift"},{"match":"\\\\G([\\\\&^|]|<<|>>)$","name":"keyword.operator.bitwise.swift"},{"match":"\\\\G([!=]==)$","name":"keyword.operator.bitwise.swift"},{"match":"\\\\G\\\\?$","name":"keyword.operator.ternary.swift"},{"match":".+","name":"keyword.operator.custom.infix.swift"}]}},"match":"\\\\G((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u0300-\u036F\u1DC0-\u1DFF\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u20D0-\u20FF\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))++"},{"captures":{"0":{"patterns":[{"match":".+","name":"keyword.operator.custom.prefix.dot.swift"}]}},"match":"\\\\G(?<=^|[(,:;\\\\[{\\\\s])\\\\.((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+./<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u0300-\u036F\u1DC0-\u1DFF\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u20D0-\u20FF\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))++(?![]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":".+","name":"keyword.operator.custom.postfix.dot.swift"}]}},"match":"\\\\G(?IT});var qT,IT,yw=n1(()=>{u4();rt();st();ee();D6();Ve();qT=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":"storage.modifier.inheritance.${3:/downcase}.php"},"4":{"name":"storage.modifier.visibility.${4:/downcase}.php"},"5":{"name":"storage.modifier.static.php"},"6":{"name":"entity.other.alias.php"}},"match":"(?i)\\\\b(as)\\\\s+((final|abstract)|(p(?:ublic|rivate|rotected))|(static))\\\\s+([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)"},{"captures":{"1":{"name":"keyword.other.use-as.php"},"2":{"patterns":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.visibility.${2:/downcase}.php"},"3":{"name":"storage.modifier.static.php"}},"match":"(?i)\\\\b(?:(final|abstract)|(p(?:ublic|rivate|rotected))|(static))\\\\b","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":"storage.type.enum.case.php"},"3":{"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":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.readonly.php"}},"match":"(?i)(final|abstract)|(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.modifier.readonly.php"},"8":{"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":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.visibility.${2:/downcase}.php"}},"match":"(?i)(final|abstract)|(p(?:ublic|rivate|rotected))","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]+(?)","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":"storage.type.cast.${3:/downcase}.php"},"5":{"name":"punctuation.definition.storage-type.end.bracket.round.php"}},"match":"(?i)(\\\\()\\\\s*((bool|int|float|string|array|object)|(binary|boolean|integer|double|real|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"},{"captures":{"1":{"name":"storage.modifier.global.php"},"2":{"name":"storage.modifier.inheritance.${2:/downcase}.php"},"3":{"name":"storage.modifier.visibility.${3:/downcase}.php"},"4":{"name":"storage.modifier.static.php"}},"match":"(?i)\\\\b(?:(global)|(abstract|final)|(p(?:rivate|rotected|ublic))|(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)\\\\b","name":"keyword.operator.logical.php"},{"match":"(?i)\\\\bas\\\\b","name":"keyword.operator.as.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}]*(?)","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":"(\\\\\\\\?(?)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.function-call.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"begin":"(\\\\\\\\)?(?)","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":"(?i)(?=<<<\\\\s*\'([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)\'\\\\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":{"begin":"(?i)((\\\\$+)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.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.invoke.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},"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"},"2":{"name":"storage.modifier.php"},"3":{"name":"storage.modifier.visibility.${3:/downcase}.php"},"4":{"name":"invalid.illegal.wrong-access-type.phpdoc.php"}},"match":"^\\\\s*\\\\*\\\\s*(@access)\\\\s+(?i:((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":"N(?=\')"},{"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":"(?[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*))\\\\s*(?:(\\\\??->)\\\\s*(\\\\g)|(\\\\[)(?:(\\\\d+)|((\\\\$)\\\\g)|([_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)((\\\\$\\\\{)(?[_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"]}')),IT=[...I2,...y3,..._3,...w0,...Q3,...G0,qT]});var _w={};u1(_w,{default:()=>PT});var BT,PT,ww=n1(()=>{BT=Object.freeze(JSON.parse('{"displayName":"TOML","fileTypes":["toml"],"name":"toml","patterns":[{"include":"#comments"},{"include":"#groups"},{"include":"#key_pair"},{"include":"#invalid"}],"repository":{"comments":{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.toml"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.toml"}},"end":"\\\\n","name":"comment.line.number-sign.toml"}]},"groups":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.section.begin.toml"},"2":{"patterns":[{"match":"[^.\\\\s]+","name":"entity.name.section.toml"}]},"3":{"name":"punctuation.definition.section.begin.toml"}},"match":"^\\\\s*(\\\\[)([^]\\\\[]*)(])","name":"meta.group.toml"},{"captures":{"1":{"name":"punctuation.definition.section.begin.toml"},"2":{"patterns":[{"match":"[^.\\\\s]+","name":"entity.name.section.toml"}]},"3":{"name":"punctuation.definition.section.begin.toml"}},"match":"^\\\\s*(\\\\[\\\\[)([^]\\\\[]*)(]])","name":"meta.group.double.toml"}]},"invalid":{"match":"\\\\S+(\\\\s*(?=\\\\S))?","name":"invalid.illegal.not-allowed-here.toml"},"key_pair":{"patterns":[{"begin":"([-0-9A-Z_a-z]+)\\\\s*(=)\\\\s*","captures":{"1":{"name":"variable.other.key.toml"},"2":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\\\S)(?DT});var RT,DT,kw=n1(()=>{RT=Object.freeze(JSON.parse('{"displayName":"INI","name":"ini","patterns":[{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ini"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ini"}},"end":"\\\\n","name":"comment.line.number-sign.ini"}]},{"begin":"(^[\\\\t ]+)?(?=;)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ini"}},"end":"(?!\\\\G)","patterns":[{"begin":";","beginCaptures":{"0":{"name":"punctuation.definition.comment.ini"}},"end":"\\\\n","name":"comment.line.semicolon.ini"}]},{"captures":{"1":{"name":"keyword.other.definition.ini"},"2":{"name":"punctuation.separator.key-value.ini"}},"match":"\\\\b([-.0-9A-Z_a-z]+)\\\\b\\\\s*(=)"},{"captures":{"1":{"name":"punctuation.definition.entity.ini"},"3":{"name":"punctuation.definition.entity.ini"}},"match":"^(\\\\[)(.*?)(])","name":"entity.name.section.group-title.ini"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ini"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.ini"}},"name":"string.quoted.single.ini","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.ini"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ini"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ini"}},"name":"string.quoted.double.ini"}],"scopeName":"source.ini","aliases":["properties"]}')),DT=[RT]});var zw={};u1(zw,{default:()=>g7});var GT,g7,Da=n1(()=>{GT=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":"(?(\\\\*\\\\*(?=\\\\w)|(?]*+>|(?`+)([^`]|(?!(?(?!`))`)*+\\\\k|\\\\\\\\[-\\\\]!#(-+.>\\\\[\\\\\\\\_`{}]?+|\\\\[((?[^]\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[\\\\g*+])*+](( ?\\\\[[^]]*+])|(\\\\([\\\\t ]*+?[\\\\t ]*+((?[\\"\'])(.*?)\\\\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"]}')),g7=[GT]});var Cw={};u1(Cw,{default:()=>WT});var OT,WT,Aw=n1(()=>{OT=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"]}')),WT=[OT]});var Mw={};u1(Mw,{default:()=>XT});var UT,XT,$w=n1(()=>{Ve();UT=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"]}')),XT=[...G0,UT]});var Lw={};u1(Lw,{default:()=>YT});var KT,YT,Sw=n1(()=>{KT=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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7]|\\\\\\\\\\\\.|[\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}])*-(?:[-0-9_a-z\xB7]|\\\\\\\\\\\\.|[\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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"}')),YT=[KT]});var Zw={};u1(Zw,{default:()=>JT});var QT,JT,Ew=n1(()=>{QT=Object.freeze(JSON.parse('{"displayName":"Batch File","injections":{"L:meta.block.repeat.batchfile":{"patterns":[{"include":"#repeatParameter"}]}},"name":"bat","patterns":[{"include":"#commands"},{"include":"#comments"},{"include":"#constants"},{"include":"#controls"},{"include":"#escaped_characters"},{"include":"#labels"},{"include":"#numbers"},{"include":"#operators"},{"include":"#parens"},{"include":"#strings"},{"include":"#variables"}],"repository":{"command_set":{"patterns":[{"begin":"(?<=^|[@\\\\s])(?i:SET)(?=$|\\\\s)","beginCaptures":{"0":{"name":"keyword.command.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#command_set_inside"}]}]},"command_set_group":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.batchfile"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.batchfile"}},"patterns":[{"include":"#command_set_inside_arithmetic"}]}]},"command_set_inside":{"patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#parens"},{"include":"#command_set_strings"},{"include":"#strings"},{"begin":"([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#parens"},{"include":"#strings"}]},{"begin":"\\\\s+/[Aa]\\\\s+","end":"(?=$\\\\n|[\\\\&)<>|])","name":"meta.expression.set.batchfile","patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.batchfile"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"include":"#command_set_inside_arithmetic"},{"include":"#command_set_group"},{"include":"#variables"}]},{"include":"#command_set_inside_arithmetic"},{"include":"#command_set_group"}]},{"begin":"\\\\s+/[Pp]\\\\s+","end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#command_set_strings"},{"begin":"([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","name":"meta.prompt.set.batchfile","patterns":[{"include":"#strings"}]}]}]},"command_set_inside_arithmetic":{"patterns":[{"include":"#command_set_operators"},{"include":"#numbers"},{"match":",","name":"punctuation.separator.batchfile"}]},"command_set_operators":{"patterns":[{"captures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.augmented.batchfile"}},"match":"([^ ]*)((?:[-*+/]|%%|[\\\\&^|]|<<|>>)=)"},{"match":"[-*+/]|%%|[\\\\&^|]|<<|>>|~","name":"keyword.operator.arithmetic.batchfile"},{"match":"!","name":"keyword.operator.logical.batchfile"},{"captures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"match":"([^ =]*)(=)"}]},"command_set_strings":{"patterns":[{"begin":"(\\")\\\\s*([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.batchfile"},"2":{"name":"variable.other.readwrite.batchfile"},"3":{"name":"keyword.operator.assignment.batchfile"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"include":"#variables"},{"include":"#numbers"},{"include":"#escaped_characters"}]}]},"commands":{"patterns":[{"match":"(?<=^|[@\\\\s])(?i:adprep|append|arp|assoc|at|atmadm|attrib|auditpol|autochk|autoconv|autofmt|bcdboot|bcdedit|bdehdcfg|bitsadmin|bootcfg|brea|cacls|cd|certreq|certutil|change|chcp|chdir|chglogon|chgport|chgusr|chkdsk|chkntfs|choice|cipher|clip|cls|clscluadmin|cluster|cmd|cmdkey|cmstp|color|comp|compact|convert|copy|cprofile|cscript|csvde|date|dcdiag|dcgpofix|dcpromo|defra|del|dfscmd|dfsdiag|dfsrmig|diantz|dir|dirquota|diskcomp|diskcopy|diskpart|diskperf|diskraid|diskshadow|dispdiag|doin|dnscmd|doskey|driverquery|dsacls|dsadd|dsamain|dsdbutil|dsget|dsmgmt|dsmod|dsmove|dsquery|dsrm|edit|endlocal|eraseesentutl|eventcreate|eventquery|eventtriggers|evntcmd|expand|extract|fc|filescrn|find|findstr|finger|flattemp|fonde|forfiles|format|freedisk|fsutil|ftp|ftype|fveupdate|getmac|gettype|gpfixup|gpresult|gpupdate|graftabl|hashgen|hep|helpctr|hostname|icacls|iisreset|inuse|ipconfig|ipxroute|irftp|ismserv|jetpack|klist|ksetup|ktmutil|ktpass|label|ldifd|ldp|lodctr|logman|logoff|lpq|lpr|macfile|makecab|manage-bde|mapadmin|md|mkdir|mklink|mmc|mode|more|mount|mountvol|move|mqbup|mqsvc|mqtgsvc|msdt|msg|msiexec|msinfo32|mstsc|nbtstat|net computer|net group|net localgroup|net print|net session|net share|net start|net stop|net user??|net view|net|netcfg|netdiag|netdom|netsh|netstat|nfsadmin|nfsshare|nfsstat|nlb|nlbmgr|nltest|nslookup|ntackup|ntcmdprompt|ntdsutil|ntfrsutl|openfiles|pagefileconfig|path|pathping|pause|pbadmin|pentnt|perfmon|ping|pnpunatten|pnputil|popd|powercfg|powershell|powershell_ise|print|prncnfg|prndrvr|prnjobs|prnmngr|prnport|prnqctl|prompt|pubprn|pushd|pushprinterconnections|pwlauncher|qappsrv|qprocess|query|quser|qwinsta|rasdial|rcp|rd|rdpsign|regentc|recover|redircmp|redirusr|reg|regini|regsvr32|relog|ren|rename|rendom|repadmin|repair-bde|replace|reset session|rxec|risetup|rmdir|robocopy|route|rpcinfo|rpcping|rsh|runas|rundll32|rwinsta|sc|schtasks|scp|scwcmd|secedit|serverceipoptin|servrmanagercmd|serverweroptin|setspn|setx|sfc|sftp|shadow|shift|showmount|shutdown|sort|ssh|ssh-add|ssh-agent|ssh-keygen|ssh-keyscan|start|storrept|subst|sxstrace|ysocmgr|systeminfo|takeown|tapicfg|taskkill|tasklist|tcmsetup|telnet|tftp|time|timeout|title|tlntadmn|tpmvscmgr|tacerpt|tracert|tree|tscon|tsdiscon|tsecimp|tskill|tsprof|type|typeperf|tzutil|uddiconfig|umount|unlodctr|ver|verifier|verif|vol|vssadmin|w32tm|waitfor|wbadmin|wdsutil|wecutil|wevtutil|where|whoami|winnt|winnt32|winpop|winrm|winrs|winsat|wlbs|wmic|wscript|wsl|xcopy)(?=$|\\\\s)","name":"keyword.command.batchfile"},{"begin":"(?i)(?<=^|[@\\\\s])(echo)(?:(?=$|[.:])|\\\\s+(?:(o(?:n|ff))(?=\\\\s*$))?)","beginCaptures":{"1":{"name":"keyword.command.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#strings"}]},{"captures":{"1":{"name":"keyword.command.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"match":"(?i)(?<=^|[@\\\\s])(setlocal)(?:\\\\s*$|\\\\s+((?:En|Dis)able(?:Extensions|DelayedExpansion))(?=\\\\s*$))"},{"include":"#command_set"}]},"comments":{"patterns":[{"begin":"(?:^|(&))\\\\s*(?=(:[ +,:;=]))","beginCaptures":{"1":{"name":"keyword.operator.conditional.batchfile"}},"end":"\\\\n","patterns":[{"begin":"(:[ +,:;=])","beginCaptures":{"1":{"name":"punctuation.definition.comment.batchfile"}},"end":"(?=\\\\n)","name":"comment.line.colon.batchfile"}]},{"begin":"(?<=^|[@\\\\s])(?i)(REM)(\\\\.)","beginCaptures":{"1":{"name":"keyword.command.rem.batchfile"},"2":{"name":"punctuation.separator.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","name":"comment.line.rem.batchfile"},{"begin":"(?<=^|[@\\\\s])(?i:rem)\\\\b","beginCaptures":{"0":{"name":"keyword.command.rem.batchfile"}},"end":"\\\\n","name":"comment.line.rem.batchfile","patterns":[{"match":"[<>|]","name":"invalid.illegal.unexpected-character.batchfile"}]}]},"constants":{"patterns":[{"match":"\\\\b(?i:NUL)\\\\b","name":"constant.language.batchfile"}]},"controls":{"patterns":[{"match":"(?i)(?<=^|\\\\s)(?:call|exit(?=$|\\\\s)|goto(?=$|[:\\\\s]))","name":"keyword.control.statement.batchfile"},{"captures":{"1":{"name":"keyword.control.conditional.batchfile"},"2":{"name":"keyword.operator.logical.batchfile"},"3":{"name":"keyword.other.special-method.batchfile"}},"match":"(?<=^|\\\\s)(?i)(if)\\\\s+(?:(not)\\\\s+)?(exist|defined|errorlevel|cmdextversion)(?=\\\\s)"},{"match":"(?<=^|\\\\s)(?i)(?:if|else)(?=$|\\\\s)","name":"keyword.control.conditional.batchfile"},{"begin":"(?<=^|[\\\\&(^\\\\s])(?i)for(?=\\\\s)","beginCaptures":{"0":{"name":"keyword.control.repeat.batchfile"}},"end":"\\\\n","name":"meta.block.repeat.batchfile","patterns":[{"begin":"(?<=[\\\\^\\\\s])(?i)in(?=\\\\s)","beginCaptures":{"0":{"name":"keyword.control.repeat.in.batchfile"}},"end":"(?<=[)^\\\\s])(?i)do(?=\\\\s)|\\\\n","endCaptures":{"0":{"name":"keyword.control.repeat.do.batchfile"}},"patterns":[{"include":"$self"}]},{"include":"$self"}]}]},"escaped_characters":{"patterns":[{"match":"%%|\\\\^\\\\^!|\\\\^(?=.)|\\\\^\\\\n","name":"constant.character.escape.batchfile"}]},"labels":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"match":"(?i)(?:^\\\\s*|(?<=call|goto)\\\\s*)(:)([^+,:;=\\\\s]\\\\S*)"}]},"numbers":{"patterns":[{"match":"(?<=^|[=\\\\s])(0[Xx]\\\\h*|[-+]?\\\\d+)(?=$|[<>\\\\s])","name":"constant.numeric.batchfile"}]},"operators":{"patterns":[{"match":"@(?=\\\\S)","name":"keyword.operator.at.batchfile"},{"match":"(?<=\\\\s)(?i:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?=\\\\s)|==","name":"keyword.operator.comparison.batchfile"},{"match":"(?<=\\\\s)(?i)(NOT)(?=\\\\s)","name":"keyword.operator.logical.batchfile"},{"match":"(?<!\\\\^)&&?|\\\\|\\\\|","name":"keyword.operator.conditional.batchfile"},{"match":"(?<!\\\\^)\\\\|","name":"keyword.operator.pipe.batchfile"},{"match":"<&?|>[\\\\&>]?","name":"keyword.operator.redirection.batchfile"}]},"parens":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.batchfile"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.batchfile"}},"name":"meta.group.batchfile","patterns":[{"match":"[,;]","name":"punctuation.separator.batchfile"},{"include":"$self"}]}]},"repeatParameter":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.batchfile"}},"match":"(%%)(?i:~[adfnpstxz]*(?:\\\\$PATH:)?)?[A-Za-z]","name":"variable.parameter.repeat.batchfile"}]},"strings":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.batchfile"}},"end":"(\\")|(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.batchfile"},"2":{"name":"invalid.illegal.newline.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"match":"%%","name":"constant.character.escape.batchfile"},{"include":"#variables"}]}]},"variable":{"patterns":[{"begin":"%(?=[^%]+%)","beginCaptures":{"0":{"name":"punctuation.definition.variable.begin.batchfile"}},"end":"(%)|\\\\n","endCaptures":{"1":{"name":"punctuation.definition.variable.end.batchfile"}},"name":"variable.other.readwrite.batchfile","patterns":[{"begin":":~","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n%])","name":"meta.variable.substring.batchfile","patterns":[{"include":"#variable_substring"}]},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n%])","name":"meta.variable.substitution.batchfile","patterns":[{"include":"#variable_replace"},{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n%])","patterns":[{"include":"#variable_delayed_expansion"},{"match":"[^%]+","name":"string.unquoted.batchfile"}]}]}]}]},"variable_delayed_expansion":{"patterns":[{"begin":"!(?=[^!]+!)","beginCaptures":{"0":{"name":"punctuation.definition.variable.begin.batchfile"}},"end":"(!)|\\\\n","endCaptures":{"1":{"name":"punctuation.definition.variable.end.batchfile"}},"name":"variable.other.readwrite.batchfile","patterns":[{"begin":":~","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n!])","name":"meta.variable.substring.batchfile","patterns":[{"include":"#variable_substring"}]},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n!])","name":"meta.variable.substitution.batchfile","patterns":[{"include":"#escaped_characters"},{"include":"#variable_replace"},{"include":"#variable"},{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n!])","patterns":[{"include":"#variable"},{"match":"[^!]+","name":"string.unquoted.batchfile"}]}]}]}]},"variable_replace":{"patterns":[{"match":"[^\\\\n!%=]+","name":"string.unquoted.batchfile"}]},"variable_substring":{"patterns":[{"captures":{"1":{"name":"constant.numeric.batchfile"},"2":{"name":"punctuation.separator.batchfile"},"3":{"name":"constant.numeric.batchfile"}},"match":"([-+]?\\\\d+)(?:(,)([-+]?\\\\d+))?"}]},"variables":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.batchfile"}},"match":"(%)(?:(?i:~[adfnpstxz]*(?:\\\\$PATH:)?)?\\\\d|\\\\*)","name":"variable.parameter.batchfile"},{"include":"#variable"},{"include":"#variable_delayed_expansion"}]}},"scopeName":"source.batchfile","aliases":["batch","cmd"]}')),JT=[QT]});var Fw={};u1(Fw,{default:()=>tV});var eV,tV,jw=n1(()=>{eV=Object.freeze(JSON.parse('{"displayName":"PowerShell","name":"powershell","patterns":[{"begin":"<#","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.powershell"}},"end":"#>","endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.powershell"}},"name":"comment.block.powershell","patterns":[{"include":"#commentEmbeddedDocs"}]},{"match":"[2-6]>&1|>>?|<<|[<>]|>\\\\||[1-6]>|[1-6]>>","name":"keyword.operator.redirection.powershell"},{"include":"#commands"},{"include":"#commentLine"},{"include":"#variable"},{"include":"#subexpression"},{"include":"#function"},{"include":"#attribute"},{"include":"#UsingDirective"},{"include":"#type"},{"include":"#hashtable"},{"include":"#doubleQuotedString"},{"include":"#scriptblock"},{"include":"#doubleQuotedStringEscapes"},{"applyEndPatternLast":true,"begin":"[\'\u2018-\u201B]","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"end":"[\'\u2018-\u201B]","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.single.powershell","patterns":[{"match":"[\'\u2018-\u201B]{2}","name":"constant.character.escape.powershell"}]},{"begin":"(@[\\"\u201C\u201D\u201E])\\\\s*$","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"end":"^[\\"\u201C\u201D\u201E]@","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.double.heredoc.powershell","patterns":[{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"include":"#interpolation"}]},{"begin":"(@[\'\u2018-\u201B])\\\\s*$","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"end":"^[\'\u2018-\u201B]@","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.single.heredoc.powershell"},{"include":"#numericConstant"},{"begin":"(@)(\\\\()","beginCaptures":{"1":{"name":"keyword.other.array.begin.powershell"},"2":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.array-expression.powershell","patterns":[{"include":"$self"}]},{"begin":"((\\\\$))(\\\\()","beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.subexpression.powershell"},"3":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.complex.subexpression.powershell","patterns":[{"include":"$self"}]},{"match":"\\\\b((([-.0-9A-Z_a-z]+)\\\\.(?i:exe|com|cmd|bat)))\\\\b","name":"support.function.powershell"},{"match":"(?<![-.\\\\w])((?i:begin|break|catch|clean|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|[%?])(?!\\\\w)","name":"keyword.control.powershell"},{"match":"(?<![-\\\\w]|[^)]\\\\.)((?i:(foreach|where)(?!-object))|[%?])(?!\\\\w)","name":"keyword.control.powershell"},{"begin":"(?<!\\\\w)(--%)(?!\\\\w)","beginCaptures":{"1":{"name":"keyword.control.powershell"}},"end":"$","patterns":[{"match":".+","name":"string.unquoted.powershell"}]},{"match":"(?<!\\\\w)((?i:hidden|static))(?!\\\\w)","name":"storage.modifier.powershell"},{"captures":{"1":{"name":"storage.type.powershell"},"2":{"name":"entity.name.function"}},"match":"(?<![-\\\\w])((?i:class)|[%?])\\\\s+([-_\\\\p{L}\\\\d]?{1,})\\\\b"},{"match":"(?<!\\\\w)-(?i:is(?:not)?|as)\\\\b","name":"keyword.operator.comparison.powershell"},{"match":"(?<!\\\\w)-(?i:[ci]?(?:eq|ne|[gl][et]|(?:not)?(?:like|match|contains|in)|replace))(?!\\\\p{L})","name":"keyword.operator.comparison.powershell"},{"match":"(?<!\\\\w)-(?i:join|split)(?!\\\\p{L})|!","name":"keyword.operator.unary.powershell"},{"match":"(?<!\\\\w)-(?i:and|or|not|xor)(?!\\\\p{L})|!","name":"keyword.operator.logical.powershell"},{"match":"(?<!\\\\w)-(?i:band|bor|bnot|bxor|shl|shr)(?!\\\\p{L})","name":"keyword.operator.bitwise.powershell"},{"match":"(?<!\\\\w)-(?i:f)(?!\\\\p{L})","name":"keyword.operator.string-format.powershell"},{"match":"[-%*+/]?=|[-%*+/]","name":"keyword.operator.assignment.powershell"},{"match":"\\\\|{2}|&{2}|;","name":"punctuation.terminator.statement.powershell"},{"match":"&|(?<!\\\\w)\\\\.(?= )|[,`|]","name":"keyword.operator.other.powershell"},{"match":"(?<!\\\\s|^)\\\\.\\\\.(?=-?\\\\d|[$(])","name":"keyword.operator.range.powershell"}],"repository":{"RequiresDirective":{"begin":"(?<=#)(?i:(requires))\\\\s","beginCaptures":{"0":{"name":"keyword.control.requires.powershell"}},"end":"$","name":"meta.requires.powershell","patterns":[{"match":"-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version|Assembly|PSEdition)","name":"keyword.other.powershell"},{"match":"(?<!-)\\\\b\\\\p{L}+|\\\\d+(?:\\\\.\\\\d+)*","name":"variable.parameter.powershell"},{"include":"#hashtable"}]},"UsingDirective":{"captures":{"1":{"name":"keyword.control.using.powershell"},"2":{"name":"keyword.other.powershell"},"3":{"name":"variable.parameter.powershell"}},"match":"(?<!\\\\w)(?i:(using))\\\\s+(?i:(namespace|module))\\\\s+(?i:((?:\\\\w+\\\\.?)+))"},"attribute":{"begin":"(\\\\[)\\\\s*\\\\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength|supportswildcards)\\\\b","beginCaptures":{"1":{"name":"punctuation.section.bracket.begin.powershell"},"2":{"name":"support.function.attribute.powershell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.section.bracket.end.powershell"}},"name":"meta.attribute.powershell","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"patterns":[{"include":"$self"},{"captures":{"1":{"name":"variable.parameter.attribute.powershell"},"2":{"name":"keyword.operator.assignment.powershell"}},"match":"(?i)\\\\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\\\\b\\\\s+{0,1}(=)?"}]}]},"commands":{"patterns":[{"match":"(?:([-:\\\\\\\\_\\\\p{L}\\\\d])*\\\\\\\\)?\\\\b(?i:Add|Approve|Assert|Backup|Block|Build|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Deploy|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Mount|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Write)-.+?(?:\\\\.(?i:exe|cmd|bat|ps1))?\\\\b","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:foreach-object)(?!\\\\w)","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:where-object)(?!\\\\w)","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:sort-object)(?!\\\\w)","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:tee-object)(?!\\\\w)","name":"support.function.powershell"}]},"commentEmbeddedDocs":{"patterns":[{"captures":{"1":{"name":"constant.string.documentation.powershell"},"2":{"name":"keyword.operator.documentation.powershell"}},"match":"(?:^|\\\\G)(?i:\\\\s*(\\\\.)(COMPONENT|DESCRIPTION|EXAMPLE|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|ROLE|SYNOPSIS))\\\\s*$","name":"comment.documentation.embedded.powershell"},{"captures":{"1":{"name":"constant.string.documentation.powershell"},"2":{"name":"keyword.operator.documentation.powershell"},"3":{"name":"keyword.operator.documentation.powershell"}},"match":"(?:^|\\\\G)(?i:\\\\s*(\\\\.)(EXTERNALHELP|FORWARDHELP(?:CATEGORY|TARGETNAME)|PARAMETER|REMOTEHELPRUNSPACE))\\\\s+(.+?)\\\\s*$","name":"comment.documentation.embedded.powershell"}]},"commentLine":{"begin":"(?<![-\\\\\\\\`])(#)#*","captures":{"1":{"name":"punctuation.definition.comment.powershell"}},"end":"$\\\\n?","name":"comment.line.powershell","patterns":[{"include":"#commentEmbeddedDocs"},{"include":"#RequiresDirective"}]},"doubleQuotedString":{"applyEndPatternLast":true,"begin":"[\\"\u201C\u201D\u201E]","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"end":"[\\"\u201C\u201D\u201E]","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.double.powershell","patterns":[{"match":"(?i)\\\\b[-%+.0-9A-Z_]+@[-.0-9A-Z]+\\\\.[A-Z]{2,64}\\\\b"},{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"match":"[\\"\u201C\u201D\u201E]{2}","name":"constant.character.escape.powershell"},{"include":"#interpolation"},{"match":"`\\\\s*$","name":"keyword.other.powershell"}]},"doubleQuotedStringEscapes":{"patterns":[{"match":"`[\\"$\'0`abefnrtv\u2018-\u201E]","name":"constant.character.escape.powershell"},{"include":"#unicodeEscape"}]},"function":{"begin":"^\\\\s*+(?i)(function|filter|configuration|workflow)\\\\s+(?:(global|local|script|private):)?([-._\\\\p{L}\\\\d]+)","beginCaptures":{"0":{"name":"meta.function.powershell"},"1":{"name":"storage.type.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"3":{"name":"entity.name.function.powershell"}},"end":"(?=[({])","patterns":[{"include":"#commentLine"}]},"hashtable":{"begin":"(@)(\\\\{)","beginCaptures":{"1":{"name":"keyword.other.hashtable.begin.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.braces.end.powershell"}},"name":"meta.hashtable.powershell","patterns":[{"captures":{"1":{"name":"punctuation.definition.string.begin.powershell"},"2":{"name":"variable.other.readwrite.powershell"},"3":{"name":"punctuation.definition.string.end.powershell"},"4":{"name":"keyword.operator.assignment.powershell"}},"match":"\\\\b([\\"\']?)(\\\\w+)([\\"\']?)\\\\s+{0,1}(=)\\\\s+{0,1}","name":"meta.hashtable.assignment.powershell"},{"include":"#scriptblock"},{"include":"$self"}]},"interpolation":{"begin":"(((\\\\$)))((\\\\())","beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.substatement.powershell"},"3":{"name":"punctuation.section.embedded.substatement.begin.powershell"},"4":{"name":"punctuation.section.group.begin.powershell"},"5":{"name":"punctuation.section.embedded.substatement.begin.powershell"}},"contentName":"interpolated.complex.source.powershell","end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"},"1":{"name":"punctuation.section.embedded.substatement.end.powershell"}},"name":"meta.embedded.substatement.powershell","patterns":[{"include":"$self"}]},"numericConstant":{"patterns":[{"captures":{"1":{"name":"constant.numeric.hex.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?0[Xx][_\\\\h]+(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+{0,1}\\\\.[0-9_]+(?:[Ee][0-9]+)?[DFMdfm]?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.octal.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?0[Bb][01_]+(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+[Ee][0-9_]?+[DFMdfm]?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+\\\\.[Ee][0-9_]?+[DFMdfm]?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+\\\\.?[DFMdfm])((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+\\\\.?(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\\\b"}]},"scriptblock":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.powershell"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.powershell"}},"name":"meta.scriptblock.powershell","patterns":[{"include":"$self"}]},"subexpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.simple.subexpression.powershell","patterns":[{"include":"$self"}]},"type":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.bracket.begin.powershell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.bracket.end.powershell"}},"patterns":[{"match":"(?!\\\\d+|\\\\.)[.\\\\p{L}\\\\p{N}]+","name":"storage.type.powershell"},{"include":"$self"}]},"unicodeEscape":{"patterns":[{"match":"`u\\\\{(?:(?:10)?(\\\\h){1,4}|0?\\\\g<1>{1,5})}","name":"constant.character.escape.powershell"},{"match":"`u(?:\\\\{\\\\h{0,6}.)?","name":"invalid.character.escape.powershell"}]},"variable":{"patterns":[{"captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}},"match":"(\\\\$)(?i:(False|Null|True))\\\\b"},{"captures":{"0":{"name":"variable.other.constant.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?\\\\b"},{"captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)([$?^]|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\\\b)((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?\\\\b"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:([$@])(global|local|private|script|using|workflow):([_\\\\p{L}\\\\d]+))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"storage.modifier.scope.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)(global|local|private|script|using|workflow):([^}]*[^`}])(}))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:([$@])([_\\\\p{L}\\\\d]+:)?([_\\\\p{L}\\\\d]+))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)([_\\\\p{L}\\\\d]+:)?([^}]*[^`}])(}))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"}]},"variableNoProperty":{"patterns":[{"captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}},"match":"(\\\\$)(?i:(False|Null|True))\\\\b"},{"captures":{"0":{"name":"variable.other.constant.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))\\\\b"},{"captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)([$?^]|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\\\b)"},{"captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))\\\\b"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(global|local|private|script|using|workflow):([_\\\\p{L}\\\\d]+))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"keyword.other.powershell"},"5":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)(global|local|private|script|using|workflow):([^}]*[^`}])(}))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)([_\\\\p{L}\\\\d]+:)?([_\\\\p{L}\\\\d]+))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end"}},"match":"(?i:(\\\\$)(\\\\{)([_\\\\p{L}\\\\d]+:)?([^}]*[^`}])(}))"}]}},"scopeName":"source.powershell","aliases":["ps","ps1","pwsh"]}')),tV=[eV]});var Hw={};u1(Hw,{default:()=>aV});var nV,aV,Nw=n1(()=>{nV=Object.freeze(JSON.parse('{"displayName":"Fish","name":"fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#comment"},{"include":"#subshell-bare"},{"include":"#subshell"},{"include":"#command"},{"include":"#keywords"},{"include":"#io-redirection"},{"include":"#operators"},{"include":"#options"},{"include":"#variable"},{"include":"#escape"}],"repository":{"command":{"captures":{"2":{"name":"keyword.operator.pipe.fish"},"3":{"name":"keyword.control.fish"},"5":{"name":"support.function.command.fish"}},"match":"(^\\\\s*|&&\\\\s*|(\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|\\\\b(if|while)\\\\b\\\\s+)(?!(?<!\\\\.)\\\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\\\b(?![!?]))([-\\\\].0-9A-\\\\[_a-z]+)"},"command-subshell":{"captures":{"2":{"name":"keyword.operator.pipe.fish"},"3":{"name":"keyword.control.fish"},"5":{"name":"support.function.command.fish"}},"match":"(\\\\G\\\\s*|&&\\\\s*|(\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|\\\\b(if|while)\\\\b\\\\s+)(?!(?<!\\\\.)\\\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\\\b(?![!?]))([-\\\\].0-9A-\\\\[_a-z]+)"},"comment":{"captures":{"1":{"name":"punctuation.definition.comment.fish"}},"match":"(?<!\\\\$)(#)(?!\\\\{).*$\\\\n?","name":"comment.line.number-sign.fish"},"escape":{"patterns":[{"match":"\\\\\\\\[] \\"#$\\\\&-*;<>?\\\\[^abefnrtv{-~]","name":"constant.character.escape.string.fish"},{"match":"\\\\\\\\x\\\\h{1,2}","name":"constant.character.escape.hex-ascii.fish"},{"match":"\\\\\\\\X\\\\h{1,2}","name":"constant.character.escape.hex-byte.fish"},{"match":"\\\\\\\\[0-7]{1,3}","name":"constant.character.escape.octal.fish"},{"match":"\\\\\\\\u\\\\h{1,4}","name":"constant.character.escape.unicode-16-bit.fish"},{"match":"\\\\\\\\U\\\\h{1,8}","name":"constant.character.escape.unicode-32-bit.fish"},{"match":"\\\\\\\\c[A-Za-z]","name":"constant.character.escape.control.fish"}]},"io-redirection":{"patterns":[{"captures":{"1":{"name":"keyword.operator.redirect.fish"},"2":{"name":"keyword.operator.redirect.target.fish"}},"match":"(<|(?:[>^]|>>|\\\\^\\\\^)(?:&[-012])?|[012](?:[<>]|>>)(?:&[-012])?)\\\\s*(?!\\\\()([\\\\--9A-Z_a-z]+)"},{"match":"<|([>^]|>>|\\\\^\\\\^)(&[-012])?|[012]([<>]|>>)(&[-012])?","name":"keyword.operator.redirect.fish"}]},"keywords":{"patterns":[{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(^\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|(?<=\\\\bwhile\\\\b)\\\\s+|(?<=\\\\bif\\\\b)\\\\s+|(?<=\\\\band\\\\b)\\\\s+|(?<=\\\\bor\\\\b)\\\\s+|(?<=\\\\bnot\\\\b)\\\\s+)(?<!\\\\.)\\\\b(while|if|and|or|not)\\\\b(?![!?])"},{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(^\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*)(?<!\\\\.)\\\\b(function|else|switch|case|for|begin|end|continue|break|return|source|exit|wait)\\\\b(?![!?])"},{"match":"\\\\b(in)\\\\b(?![!?])","name":"keyword.control.fish"}]},"keywords-subshell":{"patterns":[{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(\\\\G\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|(?<=\\\\bwhile\\\\b)\\\\s+|(?<=\\\\bif\\\\b)\\\\s+|(?<=\\\\band\\\\b)\\\\s+|(?<=\\\\bor\\\\b)\\\\s+|(?<=\\\\bnot\\\\b)\\\\s+)(?<!\\\\.)\\\\b(while|if|and|or|not)\\\\b(?![!?])"},{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(\\\\G\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*)(?<!\\\\.)\\\\b(function|else|switch|case|for|begin|end|continue|break|return|source|exit|wait)\\\\b(?![!?])"},{"match":"\\\\b(in)\\\\b(?![!?])","name":"keyword.control.fish"}]},"operators":{"patterns":[{"match":"&","name":"keyword.operator.background.fish"},{"match":"\\\\*\\\\*|[*?]","name":"keyword.operator.glob.fish"}]},"options":{"captures":{"1":{"name":"source.option.fish"}},"match":"\\\\s(-{1,2}[-0-9A-Z_a-z]+|-\\\\w)\\\\b"},"slice":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.slice.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(])","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.slice.end.fish"}},"name":"meta.embedded.slice.fish variable.interpolation.fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#subshell-bare"},{"include":"#subshell"},{"include":"#variable"},{"include":"#escape"}]},"slice-string-double":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.slice.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(])","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.slice.end.fish"}},"name":"meta.embedded.slice.fish variable.interpolation.string.fish","patterns":[{"include":"#subshell"},{"include":"#variable"},{"match":"\\\\\\\\([\\"$]|$|\\\\\\\\)","name":"constant.character.escape.fish"}]},"string-double":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fish"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.fish"}},"name":"string.quoted.double.fish","patterns":[{"include":"#subshell"},{"include":"#variable-string-double"},{"match":"\\\\\\\\([\\"$]|$|\\\\\\\\)","name":"constant.character.escape.fish"}]},"string-single":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fish"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.fish"}},"name":"string.quoted.single.fish","patterns":[{"match":"\\\\\\\\([\'\\\\\\\\`])","name":"constant.character.escape.fish"}]},"subshell":{"begin":"\\\\$\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.subshell.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(\\\\))","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.subshell.end.fish"}},"name":"meta.embedded.subshell.fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#comment"},{"include":"#keywords-subshell"},{"include":"#command-subshell"},{"include":"#io-redirection"},{"include":"#operators"},{"include":"#options"},{"include":"#subshell"},{"include":"#variable"},{"include":"#escape"}]},"subshell-bare":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.subshell.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(\\\\))","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.subshell.end.fish"}},"name":"meta.embedded.subshell.fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#comment"},{"include":"#keywords-subshell"},{"include":"#command-subshell"},{"include":"#io-redirection"},{"include":"#operators"},{"include":"#options"},{"include":"#subshell-bare"},{"include":"#subshell"},{"include":"#variable"},{"include":"#escape"}]},"variable":{"patterns":[{"begin":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.language.fish"}},"end":"(?<=])","name":"variable.language.fish","patterns":[{"include":"#slice"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b","name":"variable.language.fish"},{"begin":"(\\\\$)([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.other.normal.fish"}},"end":"(?<=])","name":"variable.other.normal.fish","patterns":[{"include":"#slice"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.normal.fish"}]},"variable-string-double":{"patterns":[{"begin":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.language.fish"}},"end":"(?<=])","name":"variable.language.fish","patterns":[{"include":"#slice-string-double"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b","name":"variable.language.fish"},{"begin":"(\\\\$)([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.other.normal.fish"}},"end":"(?<=])","name":"variable.other.normal.fish","patterns":[{"include":"#slice-string-double"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.normal.fish"}]}},"scopeName":"source.fish"}')),aV=[nV]});var Tw={};u1(Tw,{default:()=>rV});var iV,rV,Vw=n1(()=>{iV=Object.freeze(JSON.parse('{"displayName":"dotEnv","name":"dotenv","patterns":[{"captures":{"1":{"patterns":[{"include":"#line-comment"}]}},"match":"^\\\\s?(#.*)$\\\\n"},{"captures":{"1":{"patterns":[{"include":"#key"}]},"2":{"name":"keyword.operator.assignment.dotenv"},"3":{"name":"constant.numeric.dotenv"},"4":{"name":"comment.line.dotenv"}},"match":"^([\\\\t ]*(?:export[\\\\t ]+)?[-.\\\\w]+[\\\\t ]*)(=)[\\\\t ]*([-+]?[0-9](?:[0-9_]*[0-9])?(?:\\\\.[0-9](?:[0-9_]*[0-9])?)?)[\\\\t ]*(#.*)?$"},{"captures":{"1":{"patterns":[{"include":"#key"}]},"2":{"name":"keyword.operator.assignment.dotenv"},"3":{"name":"property.value.dotenv","patterns":[{"include":"#line-comment"},{"include":"#double-quoted-string"},{"include":"#single-quoted-string"},{"include":"#interpolation"}]}},"match":"^\\\\s?(.*?)\\\\s?(=)(.*)$"}],"repository":{"double-quoted-string":{"captures":{"1":{"patterns":[{"include":"#interpolation"},{"include":"#escape-characters"}]}},"match":"\\"(.*)\\"","name":"string.quoted.double.dotenv"},"escape-characters":{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|u[0-9A-F]{4})","name":"constant.character.escape.dotenv"},"interpolation":{"captures":{"1":{"name":"keyword.interpolation.begin.dotenv"},"2":{"name":"variable.interpolation.dotenv"},"3":{"name":"keyword.interpolation.end.dotenv"}},"match":"(\\\\$\\\\{)(.*)(})"},"key":{"captures":{"1":{"name":"keyword.key.export.dotenv"},"2":{"name":"variable.key.dotenv","patterns":[{"include":"#variable"}]}},"match":"(export\\\\s)?(.*)"},"line-comment":{"match":"#.*$","name":"comment.line.dotenv"},"single-quoted-string":{"match":"\'(.*)\'","name":"string.quoted.single.dotenv"},"variable":{"match":"[A-Z_a-z]+[0-9A-Z_a-z]*"}},"scopeName":"source.dotenv"}')),rV=[iV]});var qw={};u1(qw,{default:()=>cV});var sV,cV,Iw=n1(()=>{sV=Object.freeze(JSON.parse('{"displayName":"Log file","fileTypes":["log"],"name":"log","patterns":[{"match":"\\\\b([Tt]race|TRACE)\\\\b:?","name":"comment log.verbose"},{"match":"(?i)\\\\[(v(?:erbose|erb|rb|b?))]","name":"comment log.verbose"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bV\\\\b","name":"comment log.verbose"},{"match":"\\\\b(D(?:EBUG|ebug))\\\\b|(?i)\\\\b(debug):","name":"markup.changed log.debug"},{"match":"(?i)\\\\[(d(?:ebug|bug|bg|e?))]","name":"markup.changed log.debug"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bD\\\\b","name":"markup.changed log.debug"},{"match":"\\\\b(HINT|INFO|INFORMATION|Info|NOTICE|II)\\\\b|(?i)\\\\b(info(?:|rmation)):","name":"markup.inserted log.info"},{"match":"(?i)\\\\[(i(?:nformation|nfo?|n?))]","name":"markup.inserted log.info"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bI\\\\b","name":"markup.inserted log.info"},{"match":"\\\\b(W(?:ARNING|ARN|arn|W))\\\\b|(?i)\\\\b(warning):","name":"markup.deleted log.warning"},{"match":"(?i)\\\\[(w(?:arning|arn|rn|n?))]","name":"markup.deleted log.warning"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bW\\\\b","name":"markup.deleted log.warning"},{"match":"\\\\b(ALERT|CRITICAL|EMERGENCY|ERROR|FAILURE|FAIL|Fatal|FATAL|Error|EE)\\\\b|(?i)\\\\b(error):","name":"string.regexp, strong log.error"},{"match":"(?i)\\\\[(error|eror|err?|e|fatal|fatl|ftl|fa?)]","name":"string.regexp, strong log.error"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bE\\\\b","name":"string.regexp, strong log.error"},{"match":"\\\\b\\\\d{4}-\\\\d{2}-\\\\d{2}(?=T|\\\\b)","name":"comment log.date"},{"match":"(?<=(^|\\\\s))\\\\d{2}[^\\\\w\\\\s]\\\\d{2}[^\\\\w\\\\s]\\\\d{4}\\\\b","name":"comment log.date"},{"match":"T?\\\\d{1,2}:\\\\d{2}(:\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}:\\\\d{2})?\\\\b","name":"comment log.date"},{"match":"T\\\\d{2}\\\\d{2}(\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}\\\\d{2})?\\\\b","name":"comment log.date"},{"match":"\\\\b(\\\\h{40}|\\\\h{10}|\\\\h{7})\\\\b","name":"constant.language"},{"match":"\\\\b\\\\h{8}-?(\\\\h{4}-?){3}\\\\h{12}\\\\b","name":"constant.language log.constant"},{"match":"\\\\b(\\\\h{2,}[-:])+\\\\h{2,}+\\\\b","name":"constant.language log.constant"},{"match":"\\\\b([0-9]+|true|false|null)\\\\b","name":"constant.language log.constant"},{"match":"\\\\b(0x\\\\h+)\\\\b","name":"constant.language log.constant"},{"match":"\\"[^\\"]*\\"","name":"string log.string"},{"match":"(?<!\\\\w)\'[^\']*\'","name":"string log.string"},{"match":"\\\\b([.A-Za-z]*Exception)\\\\b","name":"string.regexp, emphasis log.exceptiontype"},{"begin":"^[\\\\t ]*at[\\\\t ]","end":"$","name":"string.key, emphasis log.exception"},{"match":"\\\\b[a-z]+://\\\\S+\\\\b/?","name":"constant.language log.constant"},{"match":"(?<![/\\\\\\\\\\\\w])([-\\\\w]+\\\\.)+([-\\\\w])+(?![/\\\\\\\\\\\\w])","name":"constant.language log.constant"}],"scopeName":"text.log"}')),cV=[sV]});var Bw={};u1(Bw,{default:()=>lV});var oV,lV,Pw=n1(()=>{oV=Object.freeze(JSON.parse('{"displayName":"CSV","fileTypes":["csv"],"name":"csv","patterns":[{"captures":{"1":{"name":"rainbow1"},"2":{"name":"keyword.rainbow2"},"3":{"name":"entity.name.function.rainbow3"},"4":{"name":"comment.rainbow4"},"5":{"name":"string.rainbow5"},"6":{"name":"variable.parameter.rainbow6"},"7":{"name":"constant.numeric.rainbow7"},"8":{"name":"entity.name.type.rainbow8"},"9":{"name":"markup.bold.rainbow9"},"10":{"name":"invalid.rainbow10"}},"match":"( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?","name":"rainbowgroup"}],"scopeName":"text.csv"}')),lV=[oV]});var Rw={};u1(Rw,{default:()=>uV});var pV,uV,Dw=n1(()=>{pV=Object.freeze(JSON.parse('{"displayName":"Diff","name":"diff","patterns":[{"captures":{"1":{"name":"punctuation.definition.separator.diff"}},"match":"^((\\\\*{15})|(={67})|(-{3}))$\\\\n?","name":"meta.separator.diff"},{"match":"^\\\\d+(,\\\\d+)*([acd])\\\\d+(,\\\\d+)*$\\\\n?","name":"meta.diff.range.normal"},{"captures":{"1":{"name":"punctuation.definition.range.diff"},"2":{"name":"meta.toc-list.line-number.diff"},"3":{"name":"punctuation.definition.range.diff"}},"match":"^(@@)\\\\s*(.+?)\\\\s*(@@)($\\\\n?)?","name":"meta.diff.range.unified"},{"captures":{"3":{"name":"punctuation.definition.range.diff"},"4":{"name":"punctuation.definition.range.diff"},"6":{"name":"punctuation.definition.range.diff"},"7":{"name":"punctuation.definition.range.diff"}},"match":"^(((-{3}) .+ (-{4}))|((\\\\*{3}) .+ (\\\\*{4})))$\\\\n?","name":"meta.diff.range.context"},{"match":"^diff --git a/.*$\\\\n?","name":"meta.diff.header.git"},{"match":"^diff (-|\\\\S+\\\\s+\\\\S+).*$\\\\n?","name":"meta.diff.header.command"},{"captures":{"4":{"name":"punctuation.definition.from-file.diff"},"6":{"name":"punctuation.definition.from-file.diff"},"7":{"name":"punctuation.definition.from-file.diff"}},"match":"^((((-{3}) .+)|((\\\\*{3}) .+))$\\\\n?|(={4}) .+(?= - ))","name":"meta.diff.header.from-file"},{"captures":{"2":{"name":"punctuation.definition.to-file.diff"},"3":{"name":"punctuation.definition.to-file.diff"},"4":{"name":"punctuation.definition.to-file.diff"}},"match":"(^(\\\\+{3}) .+$\\\\n?| (-) .* (={4})$\\\\n?)","name":"meta.diff.header.to-file"},{"captures":{"3":{"name":"punctuation.definition.inserted.diff"},"6":{"name":"punctuation.definition.inserted.diff"}},"match":"^(((>)( .*)?)|((\\\\+).*))$\\\\n?","name":"markup.inserted.diff"},{"captures":{"1":{"name":"punctuation.definition.changed.diff"}},"match":"^(!).*$\\\\n?","name":"markup.changed.diff"},{"captures":{"3":{"name":"punctuation.definition.deleted.diff"},"6":{"name":"punctuation.definition.deleted.diff"}},"match":"^(((<)( .*)?)|((-).*))$\\\\n?","name":"markup.deleted.diff"},{"begin":"^(#)","captures":{"1":{"name":"punctuation.definition.comment.diff"}},"end":"\\\\n","name":"comment.line.number-sign.diff"},{"match":"^index [0-9a-f]{7,40}\\\\.\\\\.[0-9a-f]{7,40}.*$\\\\n?","name":"meta.diff.index.git"},{"captures":{"1":{"name":"punctuation.separator.key-value.diff"},"2":{"name":"meta.toc-list.file-name.diff"}},"match":"^Index(:) (.+)$\\\\n?","name":"meta.diff.index"},{"match":"^Only in .*: .*$\\\\n?","name":"meta.diff.only-in"}],"scopeName":"source.diff"}')),uV=[pV]});var Gw={};u1(Gw,{default:()=>dV});var mV,dV,Ow=n1(()=>{R6();D6();rt();Ia();mV=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"]}')),dV=[...Y3,...Q3,...y3,...u7,mV]});var hV,Ga,qo=n1(()=>{u4();hV=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"]}')),Ga=[...I2,hV]});var Ww={};u1(Ww,{default:()=>Io});var gV,Io,Bo=n1(()=>{gV=Object.freeze(JSON.parse('{"displayName":"CMake","fileTypes":["cmake","CMakeLists.txt"],"name":"cmake","patterns":[{"match":"\\\\b(?i:APPLE|BORLAND|(CMAKE_)?(CL_64|COMPILER_2005|HOST_APPLE|HOST_SYSTEM|HOST_SYSTEM_NAME|HOST_SYSTEM_PROCESSOR|HOST_SYSTEM_VERSION|HOST_UNIX|HOST_WIN32|LIBRARY_ARCHITECTURE|LIBRARY_ARCHITECTURE_REGEX|OBJECT_PATH_MAX|SYSTEM|SYSTEM_NAME|SYSTEM_PROCESSOR|SYSTEM_VERSION)|CYGWIN|MSVC|MSVC80|MSVC_IDE|MSVC_VERSION|UNIX|WIN32|XCODE_VERSION|MSVC60|MSVC70|MSVC90|MSVC71)\\\\b","name":"constant.source.cmake"},{"match":"\\\\b(?i:ABSOLUTE|AND|BOOL|CACHE|COMMAND|COMMENT|DEFINED|DOC|EQUAL|EXISTS|EXT|FALSE|GREATER|GREATER_EQUAL|INTERNAL|IN_LIST|IS_ABSOLUTE|IS_DIRECTORY|IS_NEWER_THAN|IS_SYMLINK|LESS|LESS_EQUAL|MATCHES|NAMES??|NAME_WE|NOT|OFF|ON|OR|PATHS??|POLICY|PROGRAM|STREQUAL|STRGREATER|STRGREATER_EQUAL|STRING|STRLESS|STRLESS_EQUAL|TARGET|TEST|TRUE|VERSION_EQUAL|VERSION_GREATER|VERSION_GREATER_EQUAL|VERSION_LESS)\\\\b","name":"keyword.cmake"},{"match":"^\\\\s*\\\\b(?i:add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_libraries|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)\\\\b","name":"keyword.cmake"},{"match":"\\\\b(?i:BUILD_SHARED_LIBS|(CMAKE_)?(ABSOLUTE_DESTINATION_FILES|AUTOMOC_RELAXED_MODE|BACKWARDS_COMPATIBILITY|BUILD_TYPE|COLOR_MAKEFILE|CONFIGURATION_TYPES|DEBUG_TARGET_PROPERTIES|DISABLE_FIND_PACKAGE_\\\\w+|FIND_LIBRARY_PREFIXES|FIND_LIBRARY_SUFFIXES|IGNORE_PATH|INCLUDE_PATH|INSTALL_DEFAULT_COMPONENT_NAME|INSTALL_PREFIX|LIBRARY_PATH|MFC_FLAG|MODULE_PATH|NOT_USING_CONFIG_FLAGS|POLICY_DEFAULT_CMP\\\\w+|PREFIX_PATH|PROGRAM_PATH|SKIP_INSTALL_ALL_DEPENDENCY|SYSTEM_IGNORE_PATH|SYSTEM_INCLUDE_PATH|SYSTEM_LIBRARY_PATH|SYSTEM_PREFIX_PATH|SYSTEM_PROGRAM_PATH|USER_MAKE_RULES_OVERRIDE|WARN_ON_ABSOLUTE_INSTALL_DESTINATION))\\\\b","name":"variable.source.cmake"},{"match":"\\\\$\\\\{\\\\w+}","name":"storage.source.cmake"},{"match":"\\\\$ENV\\\\{\\\\w+}","name":"storage.source.cmake"},{"match":"\\\\b(?i:(CMAKE_)?(\\\\w+_POSTFIX|ARCHIVE_OUTPUT_DIRECTORY|AUTOMOC|AUTOMOC_MOC_OPTIONS|BUILD_WITH_INSTALL_RPATH|DEBUG_POSTFIX|EXE_LINKER_FLAGS|EXE_LINKER_FLAGS_\\\\w+|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GNUtoMS|INCLUDE_CURRENT_DIR|INCLUDE_CURRENT_DIR_IN_INTERFACE|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_PATH_FLAG|LINK_DEF_FILE_FLAG|LINK_DEPENDS_NO_SHARED|LINK_INTERFACE_LIBRARIES|LINK_LIBRARY_FILE_FLAG|LINK_LIBRARY_FLAG|MACOSX_BUNDLE|NO_BUILTIN_CHRPATH|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|RUNTIME_OUTPUT_DIRECTORY|SKIP_BUILD_RPATH|SKIP_INSTALL_RPATH|TRY_COMPILE_CONFIGURATION|USE_RELATIVE_PATHS|WIN32_EXECUTABLE)|EXECUTABLE_OUTPUT_PATH|LIBRARY_OUTPUT_PATH)\\\\b","name":"variable.source.cmake"},{"match":"\\\\b(?i:CMAKE_(AR|ARGC|ARGV0|BINARY_DIR|BUILD_TOOL|CACHEFILE_DIR|CACHE_MAJOR_VERSION|CACHE_MINOR_VERSION|CACHE_PATCH_VERSION|CFG_INTDIR|COMMAND|CROSSCOMPILING|CTEST_COMMAND|CURRENT_BINARY_DIR|CURRENT_LIST_DIR|CURRENT_LIST_FILE|CURRENT_LIST_LINE|CURRENT_SOURCE_DIR|DL_LIBS|EDIT_COMMAND|EXECUTABLE_SUFFIX|EXTRA_GENERATOR|EXTRA_SHARED_LIBRARY_SUFFIXES|GENERATOR|HOME_DIRECTORY|IMPORT_LIBRARY_PREFIX|IMPORT_LIBRARY_SUFFIX|LINK_LIBRARY_SUFFIX|MAJOR_VERSION|MAKE_PROGRAM|MINOR_VERSION|PARENT_LIST_FILE|PATCH_VERSION|PROJECT_NAME|RANLIB|ROOT|SCRIPT_MODE_FILE|SHARED_LIBRARY_PREFIX|SHARED_LIBRARY_SUFFIX|SHARED_MODULE_PREFIX|SHARED_MODULE_SUFFIX|SIZEOF_VOID_P|SKIP_RPATH|SOURCE_DIR|STANDARD_LIBRARIES|STATIC_LIBRARY_PREFIX|STATIC_LIBRARY_SUFFIX|TWEAK_VERSION|USING_VC_FREE_TOOLS|VERBOSE_MAKEFILE|VERSION)|PROJECT_BINARY_DIR|PROJECT_NAME|PROJECT_SOURCE_DIR|\\\\w+_BINARY_DIR|\\\\w+__SOURCE_DIR)\\\\b","name":"variable.source.cmake"},{"begin":"#\\\\[(=*)\\\\[","end":"]\\\\1]","name":"comment.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"begin":"\\\\[(=*)\\\\[","end":"]\\\\1]","name":"argument.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"match":"#+.*$","name":"comment.source.cmake"},{"match":"\\\\b(?i:ADVANCED|HELPSTRING|MODIFIED|STRINGS|TYPE|VALUE)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ABSTRACT|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_<CONFIG>|COMPILE_FLAGS|EXTERNAL_OBJECT|Fortran_FORMAT|GENERATED|HEADER_FILE_ONLY|KEEP_EXTENSION|LABELS|LANGUAGE|LOCATION|MACOSX_PACKAGE_LOCATION|OBJECT_DEPENDS|OBJECT_OUTPUTS|SYMBOLIC|WRAP_EXCLUDE)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|COST|DEPENDS|ENVIRONMENT|FAIL_REGULAR_EXPRESSION|LABELS|MEASUREMENT|PASS_REGULAR_EXPRESSION|PROCESSORS|REQUIRED_FILES|RESOURCE_LOCK|RUN_SERIAL|TIMEOUT|WILL_FAIL|WORKING_DIRECTORY)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ADDITIONAL_MAKE_CLEAN_FILES|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_\\\\w+|DEFINITIONS|EXCLUDE_FROM_ALL|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\\\w+|LINK_DIRECTORIES|LISTFILE_STACK|MACROS|PARENT_DIRECTORY|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|TEST_INCLUDE_FILE|VARIABLES|VS_GLOBAL_SECTION_POST_\\\\w+|VS_GLOBAL_SECTION_PRE_\\\\w+)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ALLOW_DUPLICATE_CUSTOM_TARGETS|DEBUG_CONFIGURATIONS|DISABLED_FEATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|IN_TRY_COMPILE|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PREDEFINED_TARGETS_FOLDER|REPORT_UNDEFINED_PROPERTIES|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_SUPPORTS_SHARED_LIBS|USE_FOLDERS|__CMAKE_DELETE_CACHE_CHANGE_VARS_)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:\\\\w+_(OUTPUT_NAME|POSTFIX)|ARCHIVE_OUTPUT_(DIRECTORY(_\\\\w+)?|NAME(_\\\\w+)?)|AUTOMOC(_MOC_OPTIONS)?|BUILD_WITH_INSTALL_RPATH|BUNDLE(_EXTENSION)??|COMPATIBLE_INTERFACE_BOOL|COMPATIBLE_INTERFACE_STRING|COMPILE_(DEFINITIONS(_\\\\w+)?|FLAGS)|DEBUG_POSTFIX|DEFINE_SYMBOL|ENABLE_EXPORTS|EXCLUDE_FROM_ALL|EchoString|FOLDER|FRAMEWORK|Fortran_(FORMAT|MODULE_DIRECTORY)|GENERATOR_FILE_NAME|GNUtoMS|HAS_CXX|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(CONFIGURATIONS|IMPLIB(_\\\\w+)?|LINK_DEPENDENT_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_LANGUAGES(_\\\\w+)?|LINK_INTERFACE_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\\\w+)?|LOCATION(_\\\\w+)?|NO_SONAME(_\\\\w+)?|SONAME(_\\\\w+)?)|IMPORT_PREFIX|IMPORT_SUFFIX|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE|INTERFACE_COMPILE_DEFINITIONS|INTERFACE_INCLUDE_DIRECTORIES|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\\\w+|LABELS|LIBRARY_OUTPUT_DIRECTORY(_\\\\w+)?|LIBRARY_OUTPUT_NAME(_\\\\w+)?|LINKER_LANGUAGE|LINK_DEPENDS|LINK_FLAGS(_\\\\w+)?|LINK_INTERFACE_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\\\w+)?|LINK_LIBRARIES|LINK_SEARCH_END_STATIC|LINK_SEARCH_START_STATIC|LOCATION(_\\\\w+)?|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MAP_IMPORTED_CONFIG_\\\\w+|NO_SONAME|OSX_ARCHITECTURES(_\\\\w+)?|OUTPUT_NAME(_\\\\w+)?|PDB_NAME(_\\\\w+)?|POST_INSTALL_SCRIPT|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE|PRIVATE_HEADER|PROJECT_LABEL|PUBLIC|PUBLIC_HEADER|RESOURCE|RULE_LAUNCH_(COMPILE|CUSTOM|LINK)|RUNTIME_OUTPUT_(DIRECTORY(_\\\\w+)?|NAME(_\\\\w+)?)|SKIP_BUILD_RPATH|SOURCES|SOVERSION|STATIC_LIBRARY_FLAGS(_\\\\w+)?|SUFFIX|TYPE|VERSION|VS_DOTNET_REFERENCES|VS_GLOBAL_(\\\\w+|KEYWORD|PROJECT_TYPES)|VS_KEYWORD|VS_SCC_(AUXPATH|LOCALPATH|PROJECTNAME|PROVIDER)|VS_WINRT_EXTENSIONS|VS_WINRT_REFERENCES|WIN32_EXECUTABLE|XCODE_ATTRIBUTE_\\\\w+)\\\\b","name":"entity.source.cmake"},{"begin":"\\\\\\\\\\"","end":"\\\\\\\\\\"","name":"string.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"begin":"\\"","end":"\\"","name":"string.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"match":"\\\\bBUILD_NAME\\\\b","name":"invalid.deprecated.source.cmake"},{"match":"\\\\b(?i:(CMAKE_)?(C(?:XX_FLAGS|MAKE_CXX_FLAGS_DEBUG|MAKE_CXX_FLAGS_MINSIZEREL|MAKE_CXX_FLAGS_RELEASE|MAKE_CXX_FLAGS_RELWITHDEBINFO)))\\\\b","name":"variable.source.cmake"}],"repository":{},"scopeName":"source.cmake"}')),Io=[gV]});var Uw={};u1(Uw,{default:()=>fV});var bV,fV,Xw=n1(()=>{qo();d7();qa();ee();R6();Ra();Bo();Vo();bV=Object.freeze(JSON.parse('{"displayName":"reStructuredText","name":"rst","patterns":[{"include":"#body"}],"repository":{"anchor":{"match":"^\\\\.{2}\\\\s+(_[^:]+:)\\\\s*","name":"entity.name.tag.anchor"},"block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+\\\\S+::)(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"variable"}},"end":"^(?!\\\\1\\\\s|\\\\s*$)","patterns":[{"include":"#block-param"},{"include":"#body"}]},"block-comment":{"begin":"^(\\\\s*)\\\\.{2}(\\\\s+|$)","end":"^(?:(?=\\\\S)|\\\\s*$)","name":"comment.block","patterns":[{"begin":"^\\\\s{3,}(?=\\\\S)","name":"comment.block","while":"^(?:\\\\s{3}.*|\\\\s*$)"}]},"block-param":{"patterns":[{"captures":{"1":{"name":"keyword.control"},"2":{"name":"variable.parameter"}},"match":"(:param\\\\s+(.+?):)(?:\\\\s|$)"},{"captures":{"1":{"name":"keyword.control"},"2":{"patterns":[{"match":"\\\\b(0x[A-Fa-f\\\\d]+|\\\\d+)\\\\b","name":"constant.numeric"},{"include":"#inline-markup"}]}},"match":"(:.+?:)(?:$|\\\\s+(.*))"}]},"blocks":{"patterns":[{"include":"#domains"},{"include":"#doctest"},{"include":"#code-block-cpp"},{"include":"#code-block-py"},{"include":"#code-block-console"},{"include":"#code-block-javascript"},{"include":"#code-block-yaml"},{"include":"#code-block-cmake"},{"include":"#code-block-kconfig"},{"include":"#code-block-ruby"},{"include":"#code-block-dts"},{"include":"#code-block"},{"include":"#doctest-block"},{"include":"#raw-html"},{"include":"#block"},{"include":"#literal-block"},{"include":"#block-comment"}]},"body":{"patterns":[{"include":"#title"},{"include":"#inline-markup"},{"include":"#anchor"},{"include":"#line-block"},{"include":"#replace-include"},{"include":"#footnote"},{"include":"#substitution"},{"include":"#blocks"},{"include":"#table"},{"include":"#simple-table"},{"include":"#options-list"}]},"bold":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)\\\\*{2}[^*\\\\s]","end":"\\\\*{2}|^\\\\s*$","name":"markup.bold"},"citation":{"applyEndPatternLast":0,"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)`[^`\\\\s]","end":"`_{0,2}|^\\\\s*$","name":"entity.name.tag"},"code-block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)","beginCaptures":{"2":{"name":"keyword.control"}},"patterns":[{"include":"#block-param"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-cmake":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(cmake)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.cmake"}},"patterns":[{"include":"#block-param"},{"include":"source.cmake"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-console":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(console|shell|bash)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.console"}},"patterns":[{"include":"#block-param"},{"include":"source.shell"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-cpp":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(c|c\\\\+\\\\+|cpp|C|C\\\\+\\\\+|CPP|Cpp)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.cpp"}},"patterns":[{"include":"#block-param"},{"include":"source.cpp"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-dts":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(dts|DTS|devicetree)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.dts"}},"patterns":[{"include":"#block-param"},{"include":"source.dts"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-javascript":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(javascript)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.js"}},"patterns":[{"include":"#block-param"},{"include":"source.js"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-kconfig":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*([Kk]config)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.kconfig"}},"patterns":[{"include":"#block-param"},{"include":"source.kconfig"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-py":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(python)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.py"}},"patterns":[{"include":"#block-param"},{"include":"source.python"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-ruby":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(ruby)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.ruby"}},"patterns":[{"include":"#block-param"},{"include":"source.ruby"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-yaml":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(ya?ml)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.yaml"}},"patterns":[{"include":"#block-param"},{"include":"source.yaml"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"doctest":{"begin":"^(>>>)\\\\s*(.*)","beginCaptures":{"1":{"name":"keyword.control"},"2":{"patterns":[{"include":"source.python"}]}},"end":"^\\\\s*$"},"doctest-block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+doctest::)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"}},"patterns":[{"include":"#block-param"},{"include":"source.python"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-auto":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+auto(?:class|module|exception|function|decorator|data|method|attribute|property)::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control.py"},"3":{"patterns":[{"include":"source.python"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-cpp":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+c(?:pp|):(?:class|struct|function|member|var|type|enum|enum-struct|enum-class|enumerator|union|concept)::)\\\\s*(?:(@\\\\w+)|(.*))","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"entity.name.tag"},"4":{"patterns":[{"include":"source.cpp"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-js":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+js:\\\\w+::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"patterns":[{"include":"source.js"}]}},"end":"^(?!\\\\1[\\\\t ]|$)","patterns":[{"include":"#block-param"},{"include":"#body"}]},"domain-py":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+py:(?:module|function|data|exception|class|attribute|property|method|staticmethod|classmethod|decorator|decoratormethod)::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"patterns":[{"include":"source.python"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domains":{"patterns":[{"include":"#domain-cpp"},{"include":"#domain-py"},{"include":"#domain-auto"},{"include":"#domain-js"}]},"escaped":{"match":"\\\\\\\\.","name":"constant.character.escape"},"footnote":{"match":"^\\\\s*\\\\.{2}\\\\s+\\\\[(?:[-.\\\\w]+|[#*]|#\\\\w+)]\\\\s+","name":"entity.name.tag"},"footnote-ref":{"match":"\\\\[(?:[-.\\\\w]+|[#*])]_","name":"entity.name.tag"},"ignore":{"patterns":[{"match":"\'[*`]+\'"},{"match":"<[*`]+>"},{"match":"\\\\{[*`]+}"},{"match":"\\\\([*`]+\\\\)"},{"match":"\\\\[[*`]+]"},{"match":"\\"[*`]+\\""}]},"inline-markup":{"patterns":[{"include":"#escaped"},{"include":"#ignore"},{"include":"#ref"},{"include":"#literal"},{"include":"#monospaced"},{"include":"#citation"},{"include":"#bold"},{"include":"#italic"},{"include":"#list"},{"include":"#macro"},{"include":"#reference"},{"include":"#footnote-ref"}]},"italic":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)\\\\*[^*\\\\s]","end":"\\\\*|^\\\\s*$","name":"markup.italic"},"line-block":{"match":"^\\\\|\\\\s+","name":"keyword.control"},"list":{"match":"^\\\\s*(\\\\d+\\\\.|\\\\* -|[#A-Za-z]\\\\.|[CIMVXcimvx]+\\\\.|\\\\(\\\\d+\\\\)|\\\\d+\\\\)|[-*+])\\\\s+","name":"keyword.control"},"literal":{"captures":{"1":{"name":"keyword.control"},"2":{"name":"entity.name.tag"}},"match":"(:\\\\S+:)(`.*?`\\\\\\\\?)"},"literal-block":{"begin":"^(\\\\s*)(.*)(::)\\\\s*$","beginCaptures":{"2":{"patterns":[{"include":"#inline-markup"}]},"3":{"name":"keyword.control"}},"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"macro":{"match":"\\\\|[^|]+\\\\|","name":"entity.name.tag"},"monospaced":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)``[^`\\\\s]","end":"``|^\\\\s*$","name":"string.interpolated"},"options-list":{"match":"(?:(?:^|,\\\\s+)(?:[-+]\\\\w|--?[A-Za-z][-\\\\w]+|/\\\\w+)(?:[ =](?:\\\\w+|<[^<>]+?>))?)+(?= |\\\\t|$)","name":"variable.parameter"},"raw-html":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+raw\\\\s*::)\\\\s+(html)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"variable.parameter.html"}},"patterns":[{"include":"#block-param"},{"include":"text.html.derivative"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"ref":{"begin":"(:ref:)`","beginCaptures":{"1":{"name":"keyword.control"}},"end":"`|^\\\\s*$","name":"entity.name.tag","patterns":[{"match":"<.*?>","name":"markup.underline.link"}]},"reference":{"match":"[-\\\\w]*[-A-Za-z\\\\d]__?\\\\b","name":"entity.name.tag"},"replace-include":{"captures":{"1":{"name":"keyword.control"},"2":{"name":"entity.name.tag"},"3":{"name":"keyword.control"}},"match":"^\\\\s*(\\\\.{2})\\\\s+(\\\\|[^|]+\\\\|)\\\\s+(replace::)"},"simple-table":{"match":"^[=\\\\s]+$","name":"keyword.control.table"},"substitution":{"match":"^\\\\.{2}\\\\s*\\\\|([^|]+)\\\\|","name":"entity.name.tag"},"table":{"begin":"^\\\\s*\\\\+[-+=]+\\\\+\\\\s*$","beginCaptures":{"0":{"name":"keyword.control.table"}},"end":"^(?![+|])","patterns":[{"match":"[-+=|]","name":"keyword.control.table"}]},"title":{"match":"^(\\\\*{3,}|#{3,}|={3,}|~{3,}|\\\\+{3,}|-{3,}|`{3,}|\\\\^{3,}|:{3,}|\\"{3,}|_{3,}|\'{3,})$","name":"markup.heading"}},"scopeName":"source.rst","embeddedLangs":["html-derivative","cpp","python","javascript","shellscript","yaml","cmake","ruby"]}')),fV=[...Ga,...X4,...p7,...w0,...Y3,...h7,...Io,...To,bV]});var Kw={};u1(Kw,{default:()=>b7});var vV,b7,Oa=n1(()=>{vV=Object.freeze(JSON.parse('{"displayName":"R","fileTypes":["R","r","Rprofile"],"foldingStartMarker":"\\\\{\\\\s*(?:#|$)","foldingStopMarker":"^\\\\s*}","name":"r","patterns":[{"include":"#roxygen-example"},{"include":"#basic"}],"repository":{"basic":{"patterns":[{"include":"#roxygen"},{"include":"#comment"},{"include":"#expression"}]},"basic-roxygen-example":{"patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"},{"include":"#comment"},{"include":"#expression"}]},"brackets":{"patterns":[{"begin":"\\\\{","end":"}","name":"meta.bracket","patterns":[{"include":"#basic"}]},{"begin":"\\\\[","end":"]","name":"meta.bracket","patterns":[{"captures":{"1":{"name":"variable.parameter"}},"match":"([.\\\\w]+)\\\\s*(?==[^=])"},{"include":"#basic"}]},{"begin":"\\\\(","end":"\\\\)","name":"meta.bracket","patterns":[{"captures":{"1":{"name":"variable.parameter"}},"match":"([.\\\\w]+)\\\\s*(?==[^=])"},{"include":"#basic"}]}]},"comment":{"match":"#.*","name":"comment.line"},"escape-code":{"match":"\\\\\\\\[\\"\'\\\\\\\\`abefnrtv]","name":"constant.character.escape"},"escape-hex":{"match":"\\\\\\\\x\\\\h+","name":"constant.numeric"},"escape-invalid":{"match":"\\\\\\\\.","name":"invalid"},"escape-octal":{"match":"\\\\\\\\\\\\d{1,3}","name":"constant.character.escape"},"escape-unicode":{"match":"\\\\\\\\[Uu](?:\\\\h+|\\\\{\\\\h+})","name":"constant.character.escape"},"escapes":{"patterns":[{"include":"#escape-code"},{"include":"#escape-hex"},{"include":"#escape-octal"},{"include":"#escape-unicode"},{"include":"#escape-invalid"}]},"expression":{"patterns":[{"include":"#brackets"},{"include":"#raw-strings"},{"include":"#strings"},{"include":"#function-definition"},{"include":"#keywords"},{"include":"#namespace-call"},{"include":"#function-call"},{"include":"#identifiers"},{"include":"#numbers"},{"include":"#operators"}]},"function-call":{"captures":{"0":{"name":"meta.function-call"},"1":{"name":"entity.name.function"}},"match":"([.\\\\w]+)(?=\\\\()"},"function-definition":{"begin":"(function)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other"},"2":{"name":"meta.bracket"}},"end":"(\\\\))","endCaptures":{"1":{"name":"meta.bracket"}},"name":"meta.function.definition","patterns":[{"begin":"([.\\\\w]+)","beginCaptures":{"1":{"name":"variable.parameter"}},"end":"(?=[),])","patterns":[{"include":"#basic"}]},{"include":"#basic"}]},"identifier-quoted":{"begin":"`","end":"`","name":"variable.object","patterns":[{"match":"\\\\\\\\`"}]},"identifier-syntactic":{"match":"[.\\\\p{L}\\\\p{Nl}][.\\\\p{L}\\\\p{Nl}\\\\p{Mn}\\\\p{Mc}\\\\d\\\\p{Pc}]*","name":"variable.object"},"identifiers":{"patterns":[{"include":"#identifier-syntactic"},{"include":"#identifier-quoted"}]},"keywords":{"patterns":[{"include":"#keywords-control"},{"include":"#keywords-builtin"},{"include":"#keywords-constant"}]},"keywords-builtin":{"match":"(?:setGroupGeneric|setRefClass|setGeneric|NextMethod|setMethod|UseMethod|tryCatch|setClass|warning|require|library|R6Class|return|switch|attach|detach|source|stop|try)(?=\\\\()","name":"keyword.other"},"keywords-constant":{"match":"(?:NA_character_|NA_integer_|NA_complex_|NA_real_|TRUE|FALSE|NULL|Inf|NaN|NA)\\\\b","name":"constant.language"},"keywords-control":{"match":"(?:\\\\\\\\|function|if|else|in|break|next|repeat|for|while)\\\\b","name":"keyword"},"latex":{"patterns":[{"match":"\\\\\\\\\\\\w+","name":"keyword.other"}]},"markdown":{"patterns":[{"begin":"(`{3,})\\\\s*(.*)","beginCaptures":{"1":{"name":"comment.line"},"2":{"name":"entity.name.section"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"comment.line"}},"patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"}]},{"captures":{"1":{"name":"meta.bracket"},"2":{"name":"variable.object"},"3":{"name":"keyword.operator"},"4":{"name":"entity.name.function"},"5":{"name":"meta.bracket"},"6":{"name":"meta.bracket"}},"match":"(\\\\[)(?:(\\\\w+)(:{2,3}))?(\\\\w+)(\\\\(\\\\))?(])"},{"match":"(\\\\s+|^)(__.+?__)\\\\b","name":"markdown.bold"},{"match":"(\\\\s+|^)(_(?=[^_])(?:\\\\\\\\.|[^\\\\\\\\_])*?_)\\\\b","name":"markdown.italic"},{"match":"(\\\\*\\\\*.+?\\\\*\\\\*)","name":"markdown.bold"},{"match":"(\\\\*(?=[^*\\\\s])(?:\\\\\\\\.|[^*\\\\\\\\])*?\\\\*)","name":"markdown.italic"},{"match":"(`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","name":"markup.quote"},{"match":"(<)([^>]*)(>)","name":"markup.underline.link"}]},"namespace-call":{"captures":{"1":{"name":"entity.name.namespace.r"},"2":{"name":"keyword.operator"}},"match":"(?<![.0-9A-Z_a-z])([.A-Z_a-z][.0-9A-Z_a-z]*)(:::?)"},"numbers":{"patterns":[{"match":"0[Xx]\\\\h+(?:p[-+]?\\\\d+)?[Li]?","name":"constant.numeric"},{"match":"(?:\\\\d+(?:\\\\.\\\\d*)?|\\\\.\\\\d+)(?:[Ee][-+]?\\\\d*)?[Li]?","name":"constant.numeric"}]},"operators":{"match":"%.*?%|:::?|:=|\\\\|>|=>|%%|>=|<=|==|!=|<<-|->>?|<-|\\\\|\\\\||&&|[-+=]|\\\\*\\\\*?|[!$\\\\&,/:<>?@^|~]","name":"keyword.operator"},"qqstring":{"begin":"\\"","end":"\\"","name":"string.quoted.double","patterns":[{"include":"#escapes"}]},"qstring":{"begin":"\'","end":"\'","name":"string.quoted.single","patterns":[{"include":"#escapes"}]},"raw-strings":{"name":"string.quoted.other","patterns":[{"begin":"[Rr]\\"(-*)\\\\{","end":"}\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\{","end":"}\\\\1\'","name":"string.quoted.other"},{"begin":"[Rr]\\"(-*)\\\\[","end":"]\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\[","end":"]\\\\1\'","name":"string.quoted.other"},{"begin":"[Rr]\\"(-*)\\\\(","end":"\\\\)\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\(","end":"\\\\)\\\\1\'","name":"string.quoted.other"}]},"roxygen":{"begin":"^(\\\\s*#+\')","beginCaptures":{"1":{"name":"comment.line.roxygen"}},"end":"$","patterns":[{"include":"#markdown"},{"include":"#roxygen-tokens"},{"include":"#latex"},{"match":".","name":"comment.line"}]},"roxygen-example":{"begin":"^(\\\\s*#+\')\\\\s*(?:(@examples)\\\\s*|(@examplesIf)\\\\s+(.*))$","beginCaptures":{"1":{"name":"comment.line"},"2":{"name":"keyword.other"},"3":{"name":"keyword.other"},"4":{"patterns":[{"include":"#expression"}]}},"end":"^(?:\\\\s*(?=#+\'\\\\s*@)|\\\\s*(?!#+\'))","patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"},{"match":"[]()\\\\[{}]","name":"meta.bracket"},{"include":"#latex"},{"include":"#roxygen-tokens"},{"include":"#basic-roxygen-example"}]},"roxygen-tokens":{"patterns":[{"match":"@@","name":"constant.character.escape"},{"begin":"(@(?:param|field|slot))\\\\s*","beginCaptures":{"1":{"name":"keyword.other"}},"end":"\\\\s|$","patterns":[{"match":"([.\\\\w]+)","name":"variable.parameter"},{"match":",","name":"keyword.operator"}]},{"match":"@(?!@)\\\\w*","name":"keyword.other"}]},"strings":{"patterns":[{"include":"#qstring"},{"include":"#qqstring"}]}},"scopeName":"source.r"}')),b7=[vV]});var yV,Yw,Qw=n1(()=>{Oa();yV=Object.freeze(JSON.parse('{"displayName":"TeX","name":"tex","patterns":[{"include":"#iffalse-block"},{"include":"#macro-control"},{"include":"#catcode"},{"include":"#comment"},{"match":"[]\\\\[]","name":"punctuation.definition.brackets.tex"},{"include":"#dollar-math"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.newline.tex"},{"include":"#ifnextchar"},{"include":"#macro-general"}],"repository":{"braces":{"begin":"(?<!\\\\\\\\)\\\\{","beginCaptures":{"0":{"name":"punctuation.group.begin.tex"}},"end":"(?<!\\\\\\\\)}","endCaptures":{"0":{"name":"punctuation.group.end.tex"}},"name":"meta.group.braces.tex","patterns":[{"include":"#braces"}]},"catcode":{"captures":{"1":{"name":"keyword.control.catcode.tex"},"2":{"name":"punctuation.definition.keyword.tex"},"3":{"name":"punctuation.separator.key-value.tex"},"4":{"name":"constant.numeric.category.tex"}},"match":"((\\\\\\\\)catcode)`\\\\\\\\?.(=)(\\\\d+)","name":"meta.catcode.tex"},"comment":{"begin":"(^[\\\\t ]+)?(?=%)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.tex"}},"end":"(?!\\\\G)","patterns":[{"begin":"%:?","beginCaptures":{"0":{"name":"punctuation.definition.comment.tex"}},"end":"$\\\\n?","name":"comment.line.percentage.tex"},{"begin":"^(%!TEX) (\\\\S*) =","beginCaptures":{"1":{"name":"punctuation.definition.comment.tex"}},"end":"$\\\\n?","name":"comment.line.percentage.directive.tex"}]},"conditionals":{"begin":"(?<=^\\\\s*)\\\\\\\\if(?!f\\\\b)[a-z]*","end":"(?<=^\\\\s*)\\\\\\\\fi","patterns":[{"include":"#comment"},{"include":"#conditionals"}]},"dollar-math":{"begin":"(\\\\$\\\\$?)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.tex"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.tex"}},"name":"meta.math.block.tex support.class.math.block.tex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.tex"},{"include":"#math-content"},{"include":"$self"}]},"iffalse-block":{"begin":"(?<=^\\\\s*)((\\\\\\\\)iffalse)(?!\\\\s*[{}]\\\\s*\\\\\\\\fi\\\\b)","beginCaptures":{"1":{"name":"keyword.control.tex"},"2":{"name":"punctuation.definition.keyword.tex"}},"contentName":"comment.line.percentage.tex","end":"((\\\\\\\\)(?:else|fi))\\\\b","endCaptures":{"1":{"name":"keyword.control.tex"},"2":{"name":"punctuation.definition.keyword.tex"}},"patterns":[{"include":"#comment"},{"include":"#braces"},{"include":"#conditionals"}]},"ifnextchar":{"match":"\\\\\\\\@ifnextchar[(\\\\[{]","name":"keyword.control.ifnextchar.tex"},"macro-control":{"captures":{"1":{"name":"punctuation.definition.keyword.tex"}},"match":"(\\\\\\\\)(backmatter|csname|else|endcsname|fi|frontmatter|mainmatter|unless|if(case|cat|csname|defined|dim|eof|false|fontchar|hbox|hmode|inner|mmode|num|odd|true|vbox|vmode|void|x)?)(?![@-Za-z])","name":"keyword.control.tex"},"macro-general":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\\\\\)_*[@\\\\p{Alphabetic}]+(?:_[@\\\\p{Alphabetic}]+)*:[DFNTVcefnopvwx]*","name":"support.class.general.latex3.tex"},{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\.)[@\\\\p{Alphabetic}]+(?:_[@\\\\p{Alphabetic}]+)*:[DFNTVcefnopvwx]*","name":"support.class.general.latex3.tex"},{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\\\\\)(?:[,;]|[@\\\\p{Alphabetic}]+)","name":"support.function.general.tex"},{"captures":{"1":{"name":"punctuation.definition.keyword.tex"}},"match":"(\\\\\\\\)[^@-Za-z]","name":"constant.character.escape.tex"}]},"math-content":{"patterns":[{"begin":"((\\\\\\\\)(?:text|mbox))(\\\\{)","beginCaptures":{"1":{"name":"constant.other.math.tex"},"2":{"name":"punctuation.definition.function.tex"},"3":{"name":"punctuation.definition.arguments.begin.tex meta.text.normal.tex"}},"contentName":"meta.text.normal.tex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.tex meta.text.normal.tex"}},"patterns":[{"include":"#math-content"},{"include":"$self"}]},{"match":"\\\\\\\\[{}]","name":"punctuation.math.bracket.pair.tex"},{"match":"\\\\\\\\(left|right|((bigg??|Bigg??)[lr]?))([]().<>\\\\[|]|\\\\\\\\[{|}]|\\\\\\\\[lr]?[Vv]ert|\\\\\\\\[lr]angle)","name":"punctuation.math.bracket.pair.big.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(s(s(earrow|warrow|lash)|h(ort(downarrow|uparrow|parallel|leftarrow|rightarrow|mid)|arp)|tar|i(gma|m(eq)?)|u(cc(sim|n(sim|approx)|curlyeq|eq|approx)?|pset(neq(q)?|plus(eq)?|eq(q)?)?|rd|m|bset(neq(q)?|plus(eq)?|eq(q)?)?)|p(hericalangle|adesuit)|e(tminus|arrow)|q(su(pset(eq)?|bset(eq)?)|c([au]p)|uare)|warrow|m(ile|all(s(etminus|mile)|frown)))|h(slash|ook((?:lef|righ)tarrow)|eartsuit|bar)|R(sh|ightarrow|e|bag)|Gam(e|ma)|n(s(hort(parallel|mid)|im|u(cc(eq)?|pseteq(q)?|bseteq))|Rightarrow|n([ew]arrow)|cong|triangle(left(eq(slant)?)?|right(eq(slant)?)?)|i(plus)?|u|p(lus|arallel|rec(eq)?)|e(q|arrow|g|xists)|v([Dd]ash)|warrow|le(ss|q(slant|q)?|ft((?:|right)arrow))|a(tural|bla)|VDash|rightarrow|g(tr|eq(slant|q)?)|mid|Left((?:|right)arrow))|c(hi|irc(eq|le(d(circ|S|dash|ast)|arrow(left|right)))?|o(ng|prod|lon|mplement)|dot([ps])?|u(p|r(vearrow(left|right)|ly(eq(succ|prec)|vee((?:down|up)arrow)?|wedge((?:down|up)arrow)?)))|enterdot|lubsuit|ap)|Xi|Maps(to(char)?|from(char)?)|B(ox|umpeq|bbk)|t(h(ick(sim|approx)|e(ta|refore))|imes|op|wohead((?:lef|righ)tarrow)|a(u|lloblong)|riangle(down|q|left(eq(slant)?)?|right(eq(slant)?)?)?)|i(n(t(er(cal|leave))?|plus|fty)?|ota|math)|S(igma|u([bp]set))|zeta|o(slash|times|int|dot|plus|vee|wedge|lessthan|greaterthan|m(inus|ega)|b(slash|long|ar))|d(i(v(ideontimes)?|a(g(down|up)|mond(suit)?)|gamma)|o(t(plus|eq(dot)?)|ublebarwedge|wn(harpoon(left|right)|downarrows|arrow))|d(ots|agger)|elta|a(sh(v|leftarrow|rightarrow)|leth|gger))|Y(down|up|left|right)|C([au]p)|u(n([lr]hd)|p(silon|harpoon(left|right)|downarrow|uparrows|lus|arrow)|lcorner|rcorner)|jmath|Theta|Im|p(si|hi|i(tchfork)?|erp|ar(tial|allel)|r(ime|o(d|pto)|ec(sim|n(sim|approx)|curlyeq|eq|approx)?)|m)|e(t([ah])|psilon|q(slant(less|gtr)|circ|uiv)|ll|xists|mptyset)|Omega|D(iamond|ownarrow|elta)|v(d(ots|ash)|ee(bar)?|Dash|ar(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|curly(vee|wedge)|t(heta|imes|riangle(left|right)?)|o(slash|circle|times|dot|plus|vee|wedge|lessthan|ast|greaterthan|minus|b(slash|ar))|p(hi|i|ropto)|epsilon|kappa|rho|bigcirc))|kappa|Up(silon|downarrow|arrow)|Join|f(orall|lat|a(t(s(emi|lash)|bslash)|llingdotseq)|rown)|P((?:s|h?)i)|w(p|edge|r)|l(hd|n(sim|eq(q)?|approx)|ceil|times|ightning|o(ng(left((?:|right)arrow)|rightarrow|maps(to|from))|zenge|oparrow(left|right))|dot([ps])|e(ss(sim|dot|eq(q?gtr)|approx|gtr)|q(slant|q)?|ft(slice|harpoon(down|up)|threetimes|leftarrows|arrow(t(ail|riangle))?|right(squigarrow|harpoons|arrow(s|triangle|eq)?))|adsto)|vertneqq|floor|l(c(orner|eil)|floor|l|bracket)?|a(ngle|mbda)|rcorner|bag)|a(s(ymp|t)|ngle|pprox(eq)?|l(pha|eph)|rrownot|malg)|V(v??dash)|r(h([do])|ceil|times|i(singdotseq|ght(s(quigarrow|lice)|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(t(ail|riangle))?|rightarrows))|floor|angle|r(ceil|parenthesis|floor|bracket)|bag)|g(n(sim|eq(q)?|approx)|tr(sim|dot|eq(q?less)|less|approx)|imel|eq(slant|q)?|vertneqq|amma|g(g)?)|Finv|xi|m(ho|i(nuso|d)|o(o|dels)|u(ltimap)?|p|e(asuredangle|rge)|aps(to|from(char)?))|b(i(n(dnasrepma|ampersand)|g(s(tar|qc([au]p))|nplus|c(irc|u(p|rly(vee|wedge))|ap)|triangle(down|up)|interleave|o(times|dot|plus)|uplus|parallel|vee|wedge|box))|o(t|wtie|x(slash|circle|times|dot|plus|empty|ast|minus|b(slash|ox|ar)))|u(llet|mpeq)|e(cause|t(h|ween|a))|lack(square|triangle(down|left|right)?|lozenge)|a(ck(s(im(eq)?|lash)|prime|epsilon)|r(o|wedge))|bslash)|L(sh|ong(left((?:|right)arrow)|rightarrow|maps(to|from))|eft((?:|right)arrow)|leftarrow|ambda|bag)|ge|le|Arrownot)(?![@-Za-z])","name":"constant.character.math.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(sum|prod|coprod|int|oint|bigcap|bigcup|bigsqcup|bigvee|bigwedge|bigodot|bigotimes|bogoplus|biguplus)\\\\b","name":"constant.character.math.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(arccos|arcsin|arctan|arg|cosh??|coth??|csc|deg|det|dim|exp|gcd|hom|inf|ker|lg|lim|liminf|limsup|ln|log|max|min|pr|sec|sinh??|sup|tanh??)\\\\b","name":"constant.other.math.tex"},{"begin":"((\\\\\\\\)Sexpr(\\\\{))","beginCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.definition.function.math.tex"},"3":{"name":"punctuation.section.embedded.begin.math.tex"}},"contentName":"support.function.sexpr.math.tex","end":"(((})))","endCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.section.embedded.end.math.tex"},"3":{"name":"source.r"}},"name":"meta.embedded.line.r","patterns":[{"begin":"\\\\G(?!})","end":"(?=})","name":"source.r","patterns":[{"include":"source.r"}]}]},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(?!begin\\\\{|verb)([A-Za-z]+)","name":"constant.other.general.math.tex"},{"match":"(?<!\\\\\\\\)\\\\{","name":"punctuation.math.begin.bracket.curly.tex"},{"match":"(?<!\\\\\\\\)}","name":"punctuation.math.end.bracket.curly.tex"},{"match":"(?<!\\\\\\\\)\\\\(","name":"punctuation.math.begin.bracket.round.tex"},{"match":"(?<!\\\\\\\\)\\\\)","name":"punctuation.math.end.bracket.round.tex"},{"match":"(([0-9]*\\\\.[0-9]+)|[0-9]+)","name":"constant.numeric.math.tex"},{"match":"[-*+/]|(?<!\\\\^)\\\\^(?!\\\\^)|(?<!_)_(?!_)","name":"punctuation.math.operator.tex"}]}},"scopeName":"text.tex","embeddedLangs":["r"]}')),Yw=[...b7,yV]});var Jw={};u1(Jw,{default:()=>wV});var _V,wV,ex=n1(()=>{Qw();_V=Object.freeze(JSON.parse('{"displayName":"LaTeX","name":"latex","patterns":[{"match":"(?<=\\\\\\\\(?:[@\\\\w]|[@\\\\w]{2}|[@\\\\w]{3}|[@\\\\w]{4}|[@\\\\w]{5}|[@\\\\w]{6}))\\\\s","name":"meta.space-after-command.latex"},{"include":"#songs-env"},{"include":"#embedded-code-env"},{"include":"#verbatim-env"},{"include":"#document-env"},{"include":"#all-balanced-env"},{"include":"#documentclass-usepackage-macro"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#newcommand-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"text.tex"}],"repository":{"all-balanced-env":{"patterns":[{"begin":"\\\\s*((\\\\\\\\)begin)(\\\\{)((?:\\\\+?array|equation|(?:IEEE|sub)?eqnarray|multline|align|aligned|alignat|alignedat|flalign|flaligned|flalignat|split|gather|gathered|(?:[+dr]|dr)?cases|(?:display)?math|\\\\+?[A-Za-z]*matrix|[BVbpv]?NiceMatrix|[BVbpv]?NiceArray|(?:arg)?m(?:ini|axi))[!*]?)(})(\\\\s*\\\\n)?","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"variable.parameter.function.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.math.block.latex support.class.math.block.environment.latex","end":"\\\\s*((\\\\\\\\)end)(\\\\{)(\\\\4)(})(?:\\\\s*\\\\n)?","name":"meta.function.environment.math.latex","patterns":[{"match":"(?<!\\\\\\\\)&","name":"keyword.control.equation.align.latex"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.equation.newline.latex"},{"include":"#label-macro"},{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\s*(\\\\\\\\begin\\\\{empheq}(?:\\\\[.*])?)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.math.block.latex support.class.math.block.environment.latex","end":"\\\\s*(\\\\\\\\end\\\\{empheq})","name":"meta.function.environment.math.latex","patterns":[{"match":"(?<!\\\\\\\\)&","name":"keyword.control.equation.align.latex"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.equation.newline.latex"},{"include":"#label-macro"},{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(tabular[*xy]?|xltabular|longtable|(?:long)?tabu|(?:long|tall)?tblr|NiceTabular[*X]?|booktabs)}(\\\\s*\\\\n)?)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.data.environment.tabular.latex","end":"(\\\\s*\\\\\\\\end\\\\{(\\\\2)}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.tabular.latex","patterns":[{"match":"(?<!\\\\\\\\)&","name":"keyword.control.table.cell.latex"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.table.newline.latex"},{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(itemize|enumerate|description|list)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.list.latex","patterns":[{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{tikzpicture})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{tikzpicture}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.latex.tikz","patterns":[{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{frame})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{frame})","name":"meta.function.environment.frame.latex","patterns":[{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(mpost\\\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.latex.mpost"},{"begin":"(\\\\s*\\\\\\\\begin\\\\{markdown})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.embedded.markdown_latex_combined","end":"(\\\\\\\\end\\\\{markdown})","patterns":[{"include":"text.tex.markdown_latex_combined"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(\\\\p{Alphabetic}+\\\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.general.latex","patterns":[{"include":"$self"}]}]},"all-other-macro":{"patterns":[{"match":"\\\\\\\\(?:newline|pagebreak|clearpage|linebreak|pause)\\\\b","name":"keyword.control.layout.latex"},{"begin":"((\\\\\\\\)marginpar)((?:\\\\[[^\\\\[]*?])*)(\\\\{)","beginCaptures":{"1":{"name":"support.function.marginpar.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.marginpar.begin.latex"}},"contentName":"meta.paragraph.margin.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.marginpar.end.latex"}},"patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)footnote)((?:\\\\[[^\\\\[]*?])*)(\\\\{)","beginCaptures":{"1":{"name":"support.function.footnote.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.footnote.begin.latex"}},"contentName":"entity.name.footnote.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.footnote.end.latex"}},"patterns":[{"include":"#braces"},{"include":"$self"}]},{"captures":{"0":{"name":"keyword.other.item.latex"},"1":{"name":"punctuation.definition.keyword.latex"}},"match":"(\\\\\\\\)item\\\\b","name":"meta.scope.item.latex"},{"captures":{"1":{"name":"punctuation.definition.constant.latex"}},"match":"(\\\\\\\\)(text(s(terling|ixoldstyle|urd|e(ction|venoldstyle|rvicemark))|yen|n(ineoldstyle|umero|aira)|c(ircledP|o(py(left|right)|lonmonetary)|urrency|e(nt(oldstyle)?|lsius))|t(hree(superior|oldstyle|quarters(emdash)?)|i(ldelow|mes)|w(o(superior|oldstyle)|elveudash)|rademark)|interrobang(down)?|zerooldstyle|o(hm|ne(superior|half|oldstyle|quarter)|penbullet|rd((?:femin|mascul)ine))|d(i(scount|ed|v(orced)?)|o(ng|wnarrow|llar(oldstyle)?)|egree|agger(dbl)?|blhyphen(char)?)|uparrow|p(ilcrow|e(so|r(t((?:|ent)housand)|iodcentered))|aragraph|m)|e(stimated|ightoldstyle|uro)|quotes(traight((?:dbl|)base)|ingle)|f(iveoldstyle|ouroldstyle|lorin|ractionsolidus)|won|l(not|ira|e(ftarrow|af)|quill|angle|brackdbl)|a(s(cii(caron|dieresis|acute|grave|macron|breve)|teriskcentered)|cutedbl)|r(ightarrow|e(cipe|ferencemark|gistered)|quill|angle|brackdbl)|g(uarani|ravedbl)|m(ho|inus|u(sicalnote)?|arried)|b(igcircle|orn|ullet|lank|a(ht|rdbl)|rokenbar)))\\\\b","name":"constant.character.latex"},{"captures":{"1":{"name":"punctuation.definition.variable.latex"}},"match":"(\\\\\\\\)(?:[cgl]_+[@_\\\\p{Alphabetic}]+_[a-z]+|[qs]_[@_\\\\p{Alphabetic}]+[@\\\\p{Alphabetic}])","name":"variable.other.latex3.latex"}]},"autocites-arg":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#optional-arg-parenthesis-no-highlight"}]},"2":{"patterns":[{"include":"#optional-arg-bracket-no-highlight"}]},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"constant.other.reference.citation.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"patterns":[{"include":"#autocites-arg"}]}},"match":"((?:\\\\([^)]*\\\\)){0,2})((?:\\\\[[^]]*]){0,2})(\\\\{)([-.:_\\\\p{Alphabetic}\\\\p{N}]+)(})(.*)"}]},"braces":{"begin":"(?<!\\\\\\\\)\\\\{","beginCaptures":{"0":{"name":"punctuation.group.begin.latex"}},"end":"(?<!\\\\\\\\)}","endCaptures":{"0":{"name":"punctuation.group.end.latex"}},"name":"meta.group.braces.latex","patterns":[{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#macro-with-args-tokenizer"},{"include":"#all-other-macro"},{"include":"text.tex"},{"include":"#braces"}]},"citation-macro":{"begin":"((\\\\\\\\)(?:[Aa]uto|foot|full|footfull|no|ref|short|[Tt]ext|[Pp]aren|[Ss]mart|[FPfp]vol|vol)?[Cc]ite(?:al)?(?:[pst]|author|year(?:par)?|title|url|date)?[ANP]*\\\\*?)((?:(?:\\\\([^)]*\\\\)){0,2}(?:\\\\[[^]]*]){0,2}\\\\{[-.:_\\\\p{Alphabetic}\\\\p{N}]*})*)(<[^]<>]*>)?((?:\\\\[[^]]*])*)(\\\\{)","captures":{"1":{"name":"keyword.control.cite.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"patterns":[{"include":"#autocites-arg"}]},"4":{"patterns":[{"include":"#optional-arg-angle-no-highlight"}]},"5":{"patterns":[{"include":"#optional-arg-bracket-no-highlight"}]},"6":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.citation.latex","patterns":[{"captures":{"1":{"name":"comment.line.percentage.tex"},"2":{"name":"punctuation.definition.comment.tex"}},"match":"((%).*)$"},{"match":"[-.:\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.citation.latex"}]},"column-specials":{"captures":{"1":{"name":"punctuation.definition.column-specials.begin.latex"},"2":{"name":"punctuation.definition.column-specials.end.latex"}},"match":"[<>](\\\\{)\\\\$(})","name":"meta.column-specials.latex"},"display-math":{"patterns":[{"begin":"\\\\\\\\\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\\\\\]","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\$\\\\$","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\$\\\\$","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.latex"},{"include":"text.tex#math-content"},{"include":"$self"}]}]},"document-env":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\\\s*\\\\\\\\begin\\\\{document})","name":"meta.function.begin-document.latex"},{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\\\s*\\\\\\\\end\\\\{document})","name":"meta.function.end-document.latex"}]},"documentclass-usepackage-macro":{"begin":"((\\\\\\\\)(?:usepackage|documentclass))\\\\b(?=[\\\\[{])","beginCaptures":{"1":{"name":"keyword.control.preamble.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.preamble.latex","patterns":[{"include":"#multiline-optional-arg"},{"begin":"((?:\\\\G|(?<=]))\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"support.class.latex","end":"(})","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"$self"}]}]},"embedded-code-env":{"patterns":[{"begin":"(?:^\\\\s*)?\\\\\\\\begin\\\\{(lstlisting|minted|pyglist)}(?=[\\\\[{])","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\\\\\end\\\\{\\\\1}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(asy(?:|mptote))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.asy","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.asy"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(bash)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.shell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.shell"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(c(?:|pp))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.cpp.embedded.latex"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(css)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.css","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.css"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(gnuplot)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.gnuplot"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(h(?:s|askell))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.haskell"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(html)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"text.html","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"text.html.basic"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(java)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.java"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(j(?:l|ulia))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.julia"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(j(?:s|avascript))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.js","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.js"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(lua)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.lua"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(py|python|sage)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.python"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(r(?:b|uby))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.ruby","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.ruby"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(rust)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.rust","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.rust"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(t(?:s|ypescript))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.ts","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.ts"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(xml)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"text.xml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"text.xml"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(yaml)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.yaml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.yaml"}]},{"begin":"(?:\\\\G|(?<=]))(?:(\\\\{)([A-Za-z]*)(}))?","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:lstlisting|minted|pyglist)})","name":"meta.embedded.block.generic.latex"}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{asy(?:|code)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{asy(?:|code)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.asymptote","end":"^\\\\s*(?=\\\\\\\\end\\\\{asy(?:|code)\\\\*?})","patterns":[{"include":"source.asymptote"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{cppcode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{cppcode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{cppcode\\\\*?})","patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{dot(?:2tex|code)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{dot(?:2tex|code)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.dot","end":"^\\\\s*(?=\\\\\\\\end\\\\{dot(?:2tex|code)\\\\*?})","patterns":[{"include":"source.dot"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{gnuplot\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{gnuplot\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{gnuplot\\\\*?})","patterns":[{"include":"source.gnuplot"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{hscode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{hscode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{hscode\\\\*?})","patterns":[{"include":"source.haskell"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.java"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{lua(?:code|draw)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{lua(?:code|draw)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{lua(?:code|draw)\\\\*?})","patterns":[{"include":"source.lua"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{scalacode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{scalacode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.scala","end":"^\\\\s*(?=\\\\\\\\end\\\\{scalacode\\\\*?})","patterns":[{"include":"source.scala"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{((?:[A-Za-z]*code|lstlisting|minted|pyglist)\\\\*?)}(?:\\\\[.*])?(?:\\\\{.*})?","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.function.embedded.latex","end":"\\\\\\\\end\\\\{\\\\1}(?:\\\\s*\\\\n)?","name":"meta.embedded.block.generic.latex"},{"begin":"((?:^\\\\s*)?\\\\\\\\begin\\\\{((?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?))})(?:\\\\[[^]]*]){0,2}(?=\\\\{)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2})","patterns":[{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:asy(?:|mptote))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.asy","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.asy"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:bash)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.shell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.shell"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:c(?:|pp))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:css)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.css","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.css"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:gnuplot)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.gnuplot"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:h(?:s|askell))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.haskell"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:html)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.html","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.html.basic"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:java)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.java"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:j(?:l|ulia))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:j(?:s|avascript))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.js","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.js"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:lua)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.lua"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:py|python|sage)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:r(?:b|uby))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.ruby","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.ruby"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:rust)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.rust","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.rust"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:t(?:s|ypescript))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.ts","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.ts"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:xml)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.xml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.xml"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:yaml)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.yaml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.yaml"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:tikz(?:|picture))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.tex.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.tex.latex"}]}]},{"begin":"\\\\G(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","name":"meta.embedded.block.generic.latex"}]}]},{"begin":"(?:^\\\\s*)?\\\\\\\\begin\\\\{(terminal\\\\*?)}(?=[\\\\[{])","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\\\\\end\\\\{\\\\1}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)([A-Za-z]*)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{terminal\\\\*?})","name":"meta.embedded.block.generic.latex"}]}]},"hyperref-macro":{"patterns":[{"begin":"\\\\s*((\\\\\\\\)h(?:ref|yperref|yperimage))(?=[\\\\[{])","beginCaptures":{"1":{"name":"support.function.url.latex"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.function.hyperlink.latex","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)([^}]*)(})(?:\\\\{[^}]*}){2}?(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"markup.underline.link.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"},"4":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.variable.parameter.function.latex","end":"(?=})","patterns":[{"include":"$self"}]},{"begin":"(?:\\\\G|(?<=]))(?:(\\\\{)[^}]*(}))?(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"punctuation.definition.arguments.end.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.variable.parameter.function.latex","end":"(?=})","patterns":[{"include":"$self"}]}]},{"captures":{"1":{"name":"support.function.url.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"markup.underline.link.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"}},"match":"\\\\s*((\\\\\\\\)(?:url|path))(\\\\{)([^}]*)(})","name":"meta.function.link.url.latex"}]},"inline-code-macro":{"patterns":[{"begin":"((\\\\\\\\)addplot)\\\\+?(\\\\[[^\\\\[]*])*\\\\s*(gnuplot)\\\\s*(\\\\[[^\\\\[]*])*\\\\s*(\\\\{)","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"variable.parameter.function.latex"},"5":{"patterns":[{"include":"#optional-arg-bracket"}]},"6":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"\\\\s*(};)","patterns":[{"begin":"%","beginCaptures":{"0":{"name":"punctuation.definition.comment.latex"}},"end":"$\\\\n?","name":"comment.line.percentage.latex"},{"include":"source.gnuplot"}]},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.arguments.begin.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"markup.raw.verb.latex"},"8":{"name":"punctuation.definition.verb.latex"},"9":{"name":"punctuation.definition.verb.latex"},"10":{"name":"markup.raw.verb.latex"},"11":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)mint(?:|inline))((?:\\\\[[^\\\\[]*?])?)(\\\\{)[A-Za-z]*(})(?:([^A-Za-{])(.*?)(\\\\6)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"markup.raw.verb.latex"},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"markup.raw.verb.latex"},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)[a-z]+inline)((?:\\\\[[^\\\\[]*?])?)(?:([^A-Za-{])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"source.python","patterns":[{"include":"source.python"}]},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"source.python","patterns":[{"include":"source.python"}]},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)(?:(?:py|pycon|pylab|pylabcon|sympy|sympycon)[cv]?|pyq|pycq|pyif))((?:\\\\[[^\\\\[]*?])?)(?:([^](),;A-\\\\[a-{}\\\\s])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"source.julia","patterns":[{"include":"source.julia"}]},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"source.julia","patterns":[{"include":"source.julia"}]},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)j(?:l|ulia)[cv]?)((?:\\\\[[^\\\\[]*?])?)(?:([^A-Za-{])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"begin":"((\\\\\\\\)(?:directlua|luadirect|luaexec))(\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.lua","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.lua"},{"include":"text.tex#braces"}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:asy(?:|mptote))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.asy","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.asy"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:bash)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.shell","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.shell"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:c(?:|pp))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.cpp.embedded.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:css)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.css","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.css"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:gnuplot)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.gnuplot","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.gnuplot"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:h(?:s|askell))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.haskell","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.haskell"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:html)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.html","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.html.basic"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:java)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.java","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.java"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:j(?:l|ulia))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.julia","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.julia"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:j(?:s|avascript))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.js","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.js"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:lua)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.lua","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.lua"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:py|python|sage)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.python","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.python"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:r(?:b|uby))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.ruby","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.ruby"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:rust)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.rust","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.rust"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:t(?:s|ypescript))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.ts"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:xml)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.xml","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.xml"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:yaml)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.yaml","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.yaml"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:tikz(?:|picture))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.tex.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex.latex"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=[\\\\[{])","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.embedded.block.generic.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"}]}]},{"begin":"((\\\\\\\\)sys_get_shell:nnN(?:TF)?\\\\s?)(\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"markup.raw.verb.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}}}]},"inline-math":{"patterns":[{"begin":"\\\\\\\\\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\\\\\\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\$(?!\\\\$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tex"}},"end":"(?<!\\\\$)\\\\$","endCaptures":{"0":{"name":"punctuation.definition.string.end.tex"}},"name":"meta.math.block.tex support.class.math.block.tex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.latex"},{"include":"text.tex#math-content"},{"include":"$self"}]}]},"input-macro":{"begin":"((\\\\\\\\)in(?:clude|put))(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.include.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.include.latex","patterns":[{"include":"$self"}]},"label-macro":{"begin":"((\\\\\\\\)z?label)((?:\\\\[[^\\\\[]*?])*)(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.label.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.definition.label.latex","patterns":[{"match":"[!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+","name":"variable.parameter.definition.label.latex"}]},"macro-with-args-tokenizer":{"captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"variable.parameter.function.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.arguments.optional.begin.latex"},"7":{"patterns":[{"include":"$self"}]},"8":{"name":"punctuation.definition.arguments.optional.end.latex"},"9":{"name":"punctuation.definition.arguments.begin.latex"},"10":{"name":"variable.parameter.function.latex"},"11":{"name":"punctuation.definition.arguments.end.latex"}},"match":"\\\\s*((\\\\\\\\)\\\\p{Alphabetic}+)(\\\\{)(\\\\\\\\?\\\\p{Alphabetic}+\\\\*?)(})(?:(\\\\[)([^]]*)(])){0,2}(?:(\\\\{)([^{}]*)(}))?"},"multiline-arg-no-highlight":{"begin":"\\\\G\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.parameter.latex","patterns":[{"include":"#documentclass-usepackage-macro"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#newcommand-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"#braces"},{"include":"text.tex"}]},"multiline-optional-arg":{"begin":"\\\\G\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.arguments.optional.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.optional.end.latex"}},"name":"meta.parameter.optional.latex","patterns":[{"include":"$self"}]},"multiline-optional-arg-no-highlight":{"begin":"(?:\\\\G|(?<=}))\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.arguments.optional.begin.latex"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.optional.end.latex"}},"name":"meta.parameter.optional.latex","patterns":[{"include":"$self"}]},"newcommand-macro":{"begin":"((\\\\\\\\)(?:newcommand|renewcommand|(?:re)?newrobustcmd|DeclareRobustCommand)\\\\*?)(\\\\{)?((\\\\\\\\)[@\\\\p{Alphabetic}]+\\\\*?)(})?(?:(\\\\[)[^]]*(])){0,2}(\\\\{)","beginCaptures":{"1":{"name":"storage.type.function.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.begin.latex"},"4":{"name":"support.function.general.latex"},"5":{"name":"punctuation.definition.function.latex"},"6":{"name":"punctuation.definition.end.latex"},"7":{"name":"punctuation.definition.arguments.optional.begin.latex"},"8":{"name":"punctuation.definition.arguments.optional.end.latex"},"9":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.parameter.newcommand.latex","patterns":[{"include":"#documentclass-usepackage-macro"},{"include":"#unbalanced-env"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#macro-with-args-tokenizer"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"#braces"},{"include":"text.tex"}]},"optional-arg-angle-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(<)[^<]*?(>)","name":"meta.parameter.optional.latex"}]},"optional-arg-bracket":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\[)([^\\\\[]*?)(])","name":"meta.parameter.optional.latex"}]},"optional-arg-bracket-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\[)[^\\\\[]*?(])","name":"meta.parameter.optional.latex"}]},"optional-arg-parenthesis":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\()([^(]*?)(\\\\))","name":"meta.parameter.optional.latex"}]},"optional-arg-parenthesis-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\()[^(]*?(\\\\))","name":"meta.parameter.optional.latex"}]},"references-macro":{"patterns":[{"begin":"((\\\\\\\\)\\\\w*[Rr]ef\\\\*?)(?:\\\\[[^]]*])?(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.ref.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.reference.label.latex","patterns":[{"match":"[!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.label.latex"}]},{"captures":{"1":{"name":"keyword.control.ref.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"constant.other.reference.label.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.arguments.begin.latex"},"7":{"name":"constant.other.reference.label.latex"},"8":{"name":"punctuation.definition.arguments.end.latex"}},"match":"((\\\\\\\\)\\\\w*[Rr]efrange\\\\*?)(?:\\\\[[^]]*])?(\\\\{)([!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+)(})(\\\\{)([!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+)(})"},{"begin":"((\\\\\\\\)bibentry)(\\\\{)","captures":{"1":{"name":"keyword.control.cite.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.citation.latex","patterns":[{"match":"[.:\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.citation.latex"}]}]},"sections-macro":{"begin":"((\\\\\\\\)((?:sub){0,2}section|(?:sub)?paragraph|chapter|part|addpart|addchap|addsec|minisec|frametitle)\\\\*?)((?:\\\\[[^\\\\[]*?]){0,2})(\\\\{)","beginCaptures":{"1":{"name":"support.function.section.latex"},"2":{"name":"punctuation.definition.function.latex"},"4":{"patterns":[{"include":"#optional-arg-bracket"}]},"5":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"entity.name.section.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.function.section.$3.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},"songs-chords":{"patterns":[{"begin":"\\\\\\\\\\\\[","end":"]","name":"meta.chord.block.latex support.class.chord.block.environment.latex","patterns":[{"include":"$self"}]},{"match":"\\\\^","name":"meta.chord.block.latex support.class.chord.block.environment.latex"},{"include":"$self"}]},"songs-env":{"patterns":[{"begin":"(\\\\s*\\\\\\\\begin\\\\{songs}\\\\{.*})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.data.environment.songs.latex","end":"(\\\\\\\\end\\\\{songs}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.songs.latex","patterns":[{"include":"text.tex.latex#songs-chords"}]},{"begin":"\\\\s*((\\\\\\\\)beginsong)(?=\\\\{)","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"punctuation.definition.arguments.end.latex"}},"end":"((\\\\\\\\)endsong)(?:\\\\s*\\\\n)?","name":"meta.function.environment.song.latex","patterns":[{"include":"#multiline-arg-no-highlight"},{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=[]}]))\\\\s*","contentName":"meta.data.environment.song.latex","end":"\\\\s*(?=\\\\\\\\endsong)","patterns":[{"include":"text.tex.latex#songs-chords"}]}]}]},"text-font-macro":{"patterns":[{"begin":"((\\\\\\\\)emph)(\\\\{)","beginCaptures":{"1":{"name":"support.function.emph.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.emph.begin.latex"}},"contentName":"markup.italic.emph.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.emph.end.latex"}},"name":"meta.function.emph.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)textit)(\\\\{)","captures":{"1":{"name":"support.function.textit.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.textit.begin.latex"}},"contentName":"markup.italic.textit.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.textit.end.latex"}},"name":"meta.function.textit.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)textbf)(\\\\{)","captures":{"1":{"name":"support.function.textbf.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.textbf.begin.latex"}},"contentName":"markup.bold.textbf.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.textbf.end.latex"}},"name":"meta.function.textbf.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)texttt)(\\\\{)","captures":{"1":{"name":"support.function.texttt.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.texttt.begin.latex"}},"contentName":"markup.raw.texttt.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.texttt.end.latex"}},"name":"meta.function.texttt.latex","patterns":[{"include":"#braces"},{"include":"$self"}]}]},"unbalanced-env":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\\\s*\\\\\\\\(?:begin|end)\\\\{(\\\\p{Alphabetic}+\\\\*?)})","name":"meta.function.environment.general.latex"}]},"verb-macro":{"patterns":[{"begin":"((\\\\\\\\)(?:[Vv]|spv)erb\\\\*?)\\\\s*((\\\\\\\\)scantokens)(\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"support.function.verb.latex"},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"punctuation.definition.begin.latex"}},"contentName":"markup.raw.verb.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.end.latex"}},"name":"meta.function.verb.latex","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.verb.latex"},"4":{"name":"markup.raw.verb.latex"},"5":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)(?:[Vv]|spv)erb\\\\*?)\\\\s*((?<=\\\\s)\\\\S|[^A-Za-z])(.*?)(\\\\3|$)","name":"meta.function.verb.latex"}]},"verbatim-env":{"patterns":[{"begin":"(\\\\s*\\\\\\\\begin\\\\{((?:fboxv|boxedv|[Vv]|spv)erbatim\\\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{\\\\2})","name":"meta.function.verbatim.latex"},{"begin":"(\\\\s*\\\\\\\\begin\\\\{VerbatimOut}\\\\{[^}]*})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{VerbatimOut})","name":"meta.function.verbatim.latex"},{"begin":"(\\\\s*\\\\\\\\begin\\\\{alltt})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{alltt})","name":"meta.function.alltt.latex","patterns":[{"captures":{"1":{"name":"punctuation.definition.function.latex"}},"match":"(\\\\\\\\)[A-Za-z]+","name":"support.function.general.latex"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{([Cc]omment)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"comment.line.percentage.latex","end":"(\\\\\\\\end\\\\{\\\\2})","name":"meta.function.verbatim.latex"}]}},"scopeName":"text.tex.latex","embeddedLangs":["tex"],"embeddedLangsLazy":["shellscript","css","gnuplot","haskell","html","java","julia","javascript","lua","python","ruby","rust","typescript","xml","yaml","scala"]}')),wV=[...Yw,_V]});var tx={};u1(tx,{default:()=>kV});var xV,kV,nx=n1(()=>{xV=Object.freeze(JSON.parse('{"displayName":"BibTeX","name":"bibtex","patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.bibtex"}},"match":"@(?i:comment)(?=[({\\\\s])","name":"comment.block.at-sign.bibtex"},{"include":"#preamble"},{"include":"#string"},{"include":"#entry"},{"begin":"[^\\\\n@]","end":"(?=@)","name":"comment.block.bibtex"}],"repository":{"entry":{"patterns":[{"begin":"((@)[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(\\\\{)\\\\s*([^,}\\\\s]*)","beginCaptures":{"1":{"name":"keyword.other.entry-type.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.entry.begin.bibtex"},"4":{"name":"entity.name.type.entry-key.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.entry.end.bibtex"}},"name":"meta.entry.braces.bibtex","patterns":[{"begin":"([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(=)","beginCaptures":{"1":{"name":"support.function.key.bibtex"},"2":{"name":"punctuation.separator.key-value.bibtex"}},"end":"(?=[,}])","name":"meta.key-assignment.bibtex","patterns":[{"include":"#field_value"}]}]},{"begin":"((@)[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(\\\\()\\\\s*([^,\\\\s]*)","beginCaptures":{"1":{"name":"keyword.other.entry-type.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.entry.begin.bibtex"},"4":{"name":"entity.name.type.entry-key.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.entry.end.bibtex"}},"name":"meta.entry.parenthesis.bibtex","patterns":[{"begin":"([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(=)","beginCaptures":{"1":{"name":"support.function.key.bibtex"},"2":{"name":"punctuation.separator.key-value.bibtex"}},"end":"(?=[),])","name":"meta.key-assignment.bibtex","patterns":[{"include":"#field_value"}]}]}]},"field_value":{"patterns":[{"include":"#string_content"},{"include":"#integer"},{"include":"#string_var"},{"match":"#","name":"keyword.operator.bibtex"}]},"integer":{"captures":{"1":{"name":"constant.numeric.bibtex"}},"match":"\\\\s*(\\\\d+)\\\\s*"},"nested_braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.group.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]},"preamble":{"patterns":[{"begin":"((@)(?i:preamble))\\\\s*(\\\\{)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preamble.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.preamble.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.preamble.end.bibtex"}},"name":"meta.preamble.braces.bibtex","patterns":[{"include":"#field_value"}]},{"begin":"((@)(?i:preamble))\\\\s*(\\\\()\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preamble.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.preamble.begin.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.preamble.end.bibtex"}},"name":"meta.preamble.parenthesis.bibtex","patterns":[{"include":"#field_value"}]}]},"string":{"patterns":[{"begin":"((@)(?i:string))\\\\s*(\\\\{)\\\\s*([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)","beginCaptures":{"1":{"name":"keyword.other.string-constant.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.string-constant.begin.bibtex"},"4":{"name":"variable.other.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.string-constant.end.bibtex"}},"name":"meta.string-constant.braces.bibtex","patterns":[{"include":"#field_value"}]},{"begin":"((@)(?i:string))\\\\s*(\\\\()\\\\s*([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)","beginCaptures":{"1":{"name":"keyword.other.string-constant.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.string-constant.begin.bibtex"},"4":{"name":"variable.other.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.string-constant.end.bibtex"}},"name":"meta.string-constant.parenthesis.bibtex","patterns":[{"include":"#field_value"}]}]},"string_content":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bibtex"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]}]},"string_var":{"captures":{"0":{"name":"support.variable.bibtex"}},"match":"[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*"}},"scopeName":"text.bibtex"}')),kV=[xV]});var ax={};u1(ax,{default:()=>CV});var zV,CV,ix=n1(()=>{zV=Object.freeze(JSON.parse('{"displayName":"AsciiDoc","fileTypes":["ad","asc","adoc","asciidoc","adoc.txt"],"name":"asciidoc","patterns":[{"include":"#comment"},{"include":"#callout-list-item"},{"include":"#titles"},{"include":"#attribute-entry"},{"include":"#blocks"},{"include":"#block-title"},{"include":"#tables"},{"include":"#horizontal-rule"},{"include":"#list"},{"include":"#inlines"},{"include":"#block-attribute"},{"include":"#line-break"}],"repository":{"admonition-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)([#%,.][^]]+)*]$))","end":"((?<=--|====)|^\\\\p{blank}*)$","name":"markup.admonition.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)([#%,.]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(={4,})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]}]},{"begin":"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\\\p{blank}+","captures":{"1":{"name":"entity.name.function.asciidoc"}},"end":"^\\\\p{blank}*$|(?=^/{2})","name":"markup.admonition.asciidoc","patterns":[{"include":"#inlines"}]}]},"anchor-macro":{"patterns":[{"captures":{"1":{"name":"support.constant.asciidoc"},"2":{"name":"markup.blockid.asciidoc"},"3":{"name":"string.unquoted.asciidoc"},"4":{"name":"support.constant.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[{2})([:_[:alpha:]][-.:[:word:]]*)(?:,\\\\p{blank}*(\\\\S.*?))?(]{2})","name":"markup.other.anchor.asciidoc"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.blockid.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(anchor):(\\\\S+)\\\\[(.*?[^\\\\\\\\])?]","name":"markup.other.anchor.asciidoc"}]},"attribute-entry":{"patterns":[{"begin":"^(:)(!?\\\\w.*?)(:)(\\\\p{blank}+.+\\\\p{blank}[+\\\\\\\\])$","beginCaptures":{"1":{"name":"punctuation.separator.attribute-entry.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"},"3":{"name":"punctuation.separator.attribute-entry.asciidoc"},"4":{"name":"string.unquoted.attribute-value.asciidoc","patterns":[{"include":"#inlines"},{"include":"#hard-break-backslash"},{"include":"#line-break"},{"include":"#line-break-backslash"}]}},"contentName":"string.unquoted.attribute-value.asciidoc","end":"^(?:\\\\p{blank}+.+$(?<![+\\\\\\\\])|\\\\p{blank}*$)","endCaptures":{"0":{"name":"string.unquoted.attribute-value.asciidoc"}},"name":"meta.definition.attribute-entry.asciidoc","patterns":[{"include":"#inlines"},{"include":"#hard-break-backslash"},{"include":"#line-break"},{"include":"#line-break-backslash"}]},{"captures":{"1":{"name":"punctuation.separator.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"},"3":{"name":"punctuation.separator.asciidoc"},"4":{"name":"string.unquoted.attribute-value.asciidoc","patterns":[{"include":"#inlines"},{"include":"#line-break"}]}},"match":"^(:)(!?\\\\w.*?)(:)(\\\\p{blank}+(.*))?$","name":"meta.definition.attribute-entry.asciidoc"}]},"attribute-reference":{"patterns":[{"captures":{"2":{"name":"entity.name.function.asciidoc"},"3":{"name":"punctuation.separator.asciidoc"},"4":{"name":"support.constant.attribute-name.asciidoc"},"6":{"name":"punctuation.separator.asciidoc"},"7":{"name":"string.unquoted.attribute-value.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\{)(set|counter2?)(:)([-!_[:alnum:]]+)((:)(.*?))?(?<!\\\\\\\\)(})","name":"markup.substitution.attribute-reference.asciidoc"},{"captures":{"1":{"name":"punctuation.definition.attribute-reference.begin.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"},"3":{"name":"punctuation.definition.attribute-reference.end.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\{)(\\\\w+(?:-\\\\w+)*)(?<!\\\\\\\\)(})","name":"markup.substitution.attribute-reference.asciidoc"}]},"bibliography-anchor":{"patterns":[{"captures":{"1":{"name":"support.constant.asciidoc"},"2":{"name":"markup.biblioref.asciidoc"},"3":{"name":"support.constant.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[{3})([:[:word:]][-.:[:word:]]*?)(]{3})","name":"bibliography-anchor.asciidoc"}]},"bibtex-macro":{"patterns":[{"begin":"(?<!\\\\\\\\)(citenp:)([,a-z]*)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.macro.inline.bibtex.asciidoc"}]},"block-attribute":{"patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(|\\\\p{blank}*[\\"#%\',.{[:word:]].*)]$","name":"markup.heading.block-attribute.asciidoc"}]},"block-attribute-inner":{"patterns":[{"match":"([#%,.])","name":"punctuation.separator.asciidoc"},{"captures":{"0":{"name":"markup.meta.attribute-list.asciidoc","patterns":[{"include":"#keywords"}]}},"match":"(?<=\\\\[)([^]#%,.=\\\\[]+)"},{"captures":{"0":{"patterns":[{"include":"#attribute-reference"}]}},"match":"(?<=[,{]|.|[\\"#%\'])((?:[^]#%,.]|](?=[\\\\t ]*\\\\S))+)","name":"markup.meta.attribute-list.asciidoc"}]},"block-callout":{"patterns":[{"captures":{"2":{"name":"constant.other.symbol.asciidoc"},"4":{"name":"constant.numeric.asciidoc"},"5":{"name":"constant.other.symbol.asciidoc"}},"match":"(?:(?://|#|--|;;) ?)?( )?(?<!\\\\\\\\)(<)!?(--|)(\\\\d+)\\\\3(>)(?=(?: ?<!?\\\\3\\\\d+\\\\3>)*$)","name":"callout.source.code.asciidoc"}]},"block-title":{"patterns":[{"begin":"^\\\\.([^.[:blank:]].*)","captures":{"1":{"name":"markup.heading.blocktitle.asciidoc"}},"end":"$"}]},"blocks":{"patterns":[{"include":"#front-matter-block"},{"include":"#comment-paragraph"},{"include":"#admonition-paragraph"},{"include":"#quote-paragraph"},{"include":"#listing-paragraph"},{"include":"#source-paragraphs"},{"include":"#passthrough-paragraph"},{"include":"#example-paragraph"},{"include":"#sidebar-paragraph"},{"include":"#literal-paragraph"},{"include":"#open-block"}]},"callout-list-item":{"patterns":[{"captures":{"1":{"name":"constant.other.symbol.asciidoc"},"2":{"name":"constant.numeric.asciidoc"},"3":{"name":"constant.other.symbol.asciidoc"},"4":{"patterns":[{"include":"#inlines"}]}},"match":"^(<)(\\\\d+)(>)\\\\p{blank}+(.*)$","name":"callout.asciidoc"}]},"characters":{"patterns":[{"captures":{"1":{"name":"constant.character.asciidoc"},"3":{"name":"constant.character.asciidoc"}},"match":"(?<!\\\\\\\\)(&)(\\\\S+?)(;)","name":"markup.character-reference.asciidoc"}]},"comment":{"patterns":[{"begin":"^(/{4,})$","end":"^\\\\1$","name":"comment.block.asciidoc","patterns":[{"include":"#inlines"}]},{"match":"^/{2}([^/].*)?$","name":"comment.inline.asciidoc"}]},"comment-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(comment)([#%,.][^]]+)*]$))","end":"((?<=--)|^\\\\p{blank}*)$","name":"comment.block.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(comment)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"include":"#inlines"}]}]},"emphasis":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.italic.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)(\\\\[[^]]+?])?((__)((?!_).+?)(__))","name":"markup.emphasis.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.italic.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?!_{4,}\\\\s*$)(?<=^|[^:;[:word:]])(\\\\[[^]]+?])?((_)(\\\\S(?:|.*?\\\\S))(_))(?!\\\\p{word})","name":"markup.emphasis.constrained.asciidoc"}]},"example-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(example)([#%,.][^]]+)*]$))","end":"((?<=--|====)|^\\\\p{blank}*)$","name":"markup.block.example.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(example)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(={4,})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"begin":"^(-{2})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"include":"#inlines"}]},{"begin":"^(={4,})$","end":"^(\\\\1)$","name":"markup.block.example.asciidoc","patterns":[{"include":"$self"}]}]},"footnote-macro":{"patterns":[{"begin":"(?<!\\\\\\\\)footnote(?:(ref):|:([-\\\\w]+)?)\\\\[(.*?[^\\\\\\\\])??","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.other.footnote.asciidoc","patterns":[{"include":"#inlines"}]}]},"front-matter-block":{"patterns":[{"begin":"\\\\A(-{3})$","end":"^(\\\\1)$","name":"markup.block.front-matter.asciidoc","patterns":[{"include":"source.yaml"}]}]},"general-block-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"4":{"name":"punctuation.separator.asciidoc"},"5":{"name":"string.unquoted.asciidoc","patterns":[{"include":"#attribute-reference"}]},"6":{"name":"punctuation.separator.asciidoc"}},"match":"^(\\\\p{word}+)(::)(\\\\S*?)(\\\\[)((?:\\\\\\\\]|[^]])*?)(])[\\\\t ]*$","name":"markup.macro.block.general.asciidoc"}]},"hard-break-backslash":{"patterns":[{"captures":{"1":{"name":"constant.other.symbol.hard-break.asciidoc"}},"match":"(?<=\\\\S)\\\\p{blank}+(\\\\+ \\\\\\\\)$"}]},"horizontal-rule":{"patterns":[{"match":"^(?:[\'<]{3,}| {0,3}([-\'*])( *)\\\\1\\\\2\\\\1)$","name":"constant.other.symbol.horizontal-rule.asciidoc"}]},"image-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.link.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(i(?:mage|con)):([^:\\\\[][^\\\\[]*)\\\\[((?:\\\\\\\\]|[^]])*?)]","name":"markup.macro.image.asciidoc"}]},"include-directive":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"4":{"name":"punctuation.separator.asciidoc"},"5":{"name":"string.unquoted.asciidoc","patterns":[{"include":"#attribute-reference"}]},"6":{"name":"punctuation.separator.asciidoc"}},"match":"^(include)(::)([^\\\\[]+)(\\\\[)(.*?)(])$"}]},"indexterm-concealed":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"2":{"patterns":[{"include":"#attribute-reference"}]},"3":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\(\\\\(\\\\()(.*?)(\\\\)\\\\)\\\\))","name":"markup.other.indexterm.concealed.asciidoc"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"4":{"patterns":[{"include":"#attribute-reference"}]},"5":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<!\\\\\\\\)(indexterm)(:)(\\\\[)((?:\\\\\\\\]|[^]])*?)(])","name":"markup.other.indexterm.concealed.asciidoc"}]},"indexterm-flow":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"2":{"name":"markup.other.indexterm.flow.asciidoc","patterns":[{"include":"#attribute-reference"}]},"3":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<![(\\\\\\\\])(\\\\(\\\\()([^(].*?)(\\\\)\\\\))"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"4":{"name":"markup.other.indexterm.flow.asciidoc","patterns":[{"include":"#attribute-reference"}]},"5":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<!\\\\\\\\)(indexterm2)(:)(\\\\[)((?:\\\\\\\\]|[^]])*?)(])"}]},"inlines":{"patterns":[{"include":"#typographic-quotes"},{"include":"#strong"},{"include":"#monospace"},{"include":"#emphasis"},{"include":"#superscript"},{"include":"#subscript"},{"include":"#mark"},{"include":"#general-block-macro"},{"include":"#anchor-macro"},{"include":"#footnote-macro"},{"include":"#indexterm-concealed"},{"include":"#indexterm-flow"},{"include":"#image-macro"},{"include":"#kbd-macro"},{"include":"#link-macro"},{"include":"#stem-macro"},{"include":"#menu-macro"},{"include":"#passthrough-macro"},{"include":"#xref-macro"},{"include":"#attribute-reference"},{"include":"#characters"},{"include":"#bibtex-macro"},{"include":"#bibliography-anchor"}]},"kbd-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(kbd|btn):(\\\\[)((?:\\\\\\\\]|[^]])+?)(])","name":"markup.macro.kbd.asciidoc"}]},"keywords":{"patterns":[{"match":"(NOTE|TIP|IMPORTANT|WARNING|CAUTION)","name":"entity.name.function.asciidoc"},{"match":"(comment|example|literal|listing|normal|pass|quote|sidebar|source|verse|abstract|partintro)","name":"entity.name.function.asciidoc"},{"match":"(actdiag|blockdiag|ditaa|graphviz|tikz|meme|mermaid|nwdiag|packetdiag|pikchr|plantuml|rackdiag|seqdiag|shaape|wavedrom)","name":"entity.name.function.asciidoc"},{"match":"(sect[1-4]|preface|colophon|dedication|glossary|bibliography|synopsis|appendix|index|normal|partintro|music|latex|stem)","name":"entity.name.function.asciidoc"}]},"line-break":{"patterns":[{"captures":{"1":{"name":"variable.line-break.asciidoc"}},"match":"(?<=\\\\S)\\\\p{blank}+(\\\\+)$"}]},"line-break-backslash":{"patterns":[{"captures":{"1":{"name":"variable.line-break.asciidoc"}},"match":"(?<=\\\\S)\\\\p{blank}+(\\\\\\\\)$"}]},"link-macro":{"patterns":[{"captures":{"1":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"2":{"name":"string.unquoted.asciidoc"}},"match":"(?:^|[]();<>\\\\[\\\\s])((?<!\\\\\\\\)(?:https?|file|ftp|irc)://[^]<\\\\[\\\\s]*[^]),.<\\\\[\\\\s])(?:\\\\[((?:\\\\\\\\]|[^]])*?)])?","name":"markup.other.url.asciidoc"},{"captures":{"1":{"name":"markup.substitution.attribute-reference.asciidoc"},"2":{"name":"string.unquoted.asciidoc"}},"match":"(?:^|[]();<>\\\\[[:blank:]])((?<!\\\\\\\\)\\\\{uri-\\\\w+(?:-\\\\w+)*(?<!\\\\\\\\)})\\\\[((?:\\\\\\\\]|[^]])*?)]","name":"markup.other.url.asciidoc"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(link|mailto):([^\\\\[\\\\s]+)\\\\[((?:\\\\\\\\]|[^]])*?)]","name":"markup.other.url.asciidoc"},{"match":"\\\\p{word}[-%+.[:word:]]*(@)\\\\p{alnum}[-.[:alnum:]]*(\\\\.)\\\\p{alpha}{2,4}\\\\b","name":"markup.link.email.asciidoc"}]},"list":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.list.begin.asciidoc punctuation.definition.list.begin.markdown"},"1":{"name":"punctuation.definition.metadata.asciidoc punctuation.definition.metadata.markdown"}},"match":"^\\\\s*(-)\\\\p{blank}(\\\\[[*x[:blank:]]])(?=\\\\p{blank})","name":"markup.list.todo.asciidoc"},{"captures":{"0":{"name":"punctuation.definition.list.begin.asciidoc punctuation.definition.list.begin.markdown"}},"match":"^\\\\p{blank}*(-|\\\\*{1,5}|\u2022{1,5})(?=\\\\p{blank})","name":"markup.list.unnumbered.asciidoc markup.list.unnumbered.markdown"},{"captures":{"0":{"name":"punctuation.definition.list.begin.asciidoc punctuation.definition.list.begin.markdown"}},"match":"^\\\\p{blank}*(\\\\.{1,5}|\\\\d+\\\\.|[A-Za-z]\\\\.|[IVXivx]+\\\\))(?=\\\\p{blank})","name":"markup.list.numbered.asciidoc markup.list.numbered.markdown"},{"captures":{"1":{"patterns":[{"include":"#link-macro"},{"include":"#attribute-reference"}]},"2":{"name":"markup.list.bullet.asciidoc"}},"match":"^\\\\p{blank}*(.*?\\\\S)(:{2,4}|;;)($|\\\\p{blank}+)","name":"markup.heading.list.asciidoc"}]},"listing-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(listing)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.block.listing.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(listing)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","end":"^(\\\\1)$"},{"begin":"^(\\\\.{4,})\\\\s*$","end":"^(\\\\1)$"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$"},{"include":"#inlines"}]}]},"literal-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(literal)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.block.literal.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(literal)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\.{4,})$","end":"^(\\\\1)$"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$"},{"include":"#inlines"}]},{"begin":"^(\\\\.{4,})$","end":"^(\\\\1)$","name":"markup.block.literal.asciidoc"}]},"mark":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.mark.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)(\\\\[[^]]+?])((##)(.+?)(##))","name":"markup.mark.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.highlight.asciidoc"},"2":{"name":"punctuation.definition.asciidoc"},"4":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)((##)(.+?)(##))","name":"markup.mark.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.mark.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![#:;\\\\\\\\[:word:]])(\\\\[[^]]+?])((#)(\\\\S(?:|.*?\\\\S))(#)(?!\\\\p{word}))","name":"markup.mark.constrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.highlight.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![#:;\\\\\\\\[:word:]])(\\\\[[^]]+?])?((#)(\\\\S(?:|.*?\\\\S))(#)(?!\\\\p{word}))","name":"markup.mark.constrained.asciidoc"}]},"menu-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.link.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(menu):(\\\\p{word}(?:|.*?\\\\S))\\\\[\\\\p{blank}*(.+?)?]","name":"markup.other.menu.asciidoc"}]},"monospace":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.inline.raw.monospace.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[.+?])?((``)(.+?)(``))","name":"markup.monospace.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.inline.raw.monospace.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![\\"\':;\\\\\\\\`[:word:]])(\\\\[.+?])?((`)(\\\\S(?:|.*?\\\\S))(`))(?![\\"\'`[:word:]])","name":"markup.monospace.constrained.asciidoc"}]},"open-block":{"patterns":[{"begin":"^(-{2})$","beginCaptures":{"1":{"name":"constant.other.symbol.asciidoc"}},"end":"^(\\\\1)$","endCaptures":{"1":{"name":"constant.other.symbol.asciidoc"}},"name":"markup.block.open.asciidoc","patterns":[{"include":"$self"}]}]},"passthrough-macro":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"support.constant.asciidoc"},"4":{"name":"string.unquoted.asciidoc","patterns":[{"include":"text.html.basic"}]},"5":{"name":"support.constant.asciidoc"}},"match":"(?:(?<!\\\\\\\\)(\\\\[([^]]+?)]))?\\\\\\\\{0,2}(?<delim>\\\\+{2,3}|\\\\${2})(.*?)(\\\\k<delim>)","name":"markup.macro.inline.passthrough.asciidoc"},{"begin":"(?<!\\\\\\\\)(pass:)([,a-z]*)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.macro.inline.passthrough.asciidoc","patterns":[{"include":"text.html.basic"}]}]},"passthrough-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(pass)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\+\\\\+)|^\\\\p{blank}*)$","name":"markup.block.passthrough.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(pass)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\+{4,})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"text.html.basic"}]},{"begin":"^(-{2})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"text.html.basic"}]}]},{"begin":"^(\\\\+{4,})$","end":"\\\\1","name":"markup.block.passthrough.asciidoc","patterns":[{"include":"text.html.basic"}]}]},"quote-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(quote|verse)([#%,.](?:[^],]|](?=[\\\\t ]*\\\\S))+)*]$))","end":"((?<=____|\\"\\"|--)|^\\\\p{blank}*)$","name":"markup.italic.quotes.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(quote|verse)([#%,.](?:[^],]|](?=[\\\\t ]*\\\\S))+)*]$"},{"include":"#block-title"},{"include":"#inlines"},{"begin":"^(_{4,})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(\\"{2})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(-{2})\\\\s*$","end":"(?<=\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(-{4,})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(\\\\.{4,})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]}]},{"begin":"^(\\"\\")$","end":"^\\\\1$","name":"markup.italic.quotes.asciidoc","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^\\\\p{blank}*(>) ","end":"^\\\\p{blank}*?$","name":"markup.italic.quotes.asciidoc","patterns":[{"include":"#inlines"},{"include":"#list"}]}]},"sidebar-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(sidebar)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\*\\\\*\\\\*\\\\*)|^\\\\p{blank}*)$","name":"markup.block.sidebar.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(sidebar)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\*{4,})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"begin":"^(-{2})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"include":"#inlines"}]},{"begin":"^(\\\\*{4,})$","end":"^(\\\\1)$","name":"markup.block.sidebar.asciidoc","patterns":[{"include":"$self"}]}]},"source-asciidoctor":{"patterns":[{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(css(?:|.erb)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.css.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(css(?:|.erb)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(html?|shtml|xhtml|inc|tmpl|tpl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.basic.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(html?|shtml|xhtml|inc|tmpl|tpl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ini|conf))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ini.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ini|conf))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(java|bsh))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.java.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(java|bsh))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(lua))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.lua.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(lua))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:[Mm]|GNUm|OCamlM)akefile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.makefile.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:[Mm]|GNUm|OCamlM)akefile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.perl.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([RSrs]|Rprofile|\\\\{\\\\.r.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.r.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([RSrs]|Rprofile|\\\\{\\\\.r.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?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))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ruby.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?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))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.php.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(sql|ddl|dml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.sql.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(sql|ddl|dml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(vb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.vs_net.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(vb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.xml.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xslt??))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.xsl.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xslt??))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ya?ml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.yaml.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ya?ml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bat(?:|ch)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.dosbatch.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bat(?:|ch)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(cl(?:js??|ojure)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.clojure.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(cl(?:js??|ojure)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(coffee|Cakefile|coffee.erb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.coffee.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(coffee|Cakefile|coffee.erb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([ch]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.c.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([ch]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:pp|\\\\+\\\\+|xx)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.cpp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:pp|\\\\+\\\\+|xx)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(patch|diff|rej))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.diff.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(patch|diff|rej))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([Dd]ockerfile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.dockerfile.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([Dd]ockerfile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:COMMIT_EDIT|MERGE_)MSG))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.git_commit.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:COMMIT_EDIT|MERGE_)MSG))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(git-rebase-todo))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.git_rebase.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(git-rebase-todo))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(go(?:|lang)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.go.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(go(?:|lang)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(g(?:roovy|vy)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.groovy.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(g(?:roovy|vy)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jade|pug))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.pug.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jade|pug))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\{\\\\.js.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.js.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\{\\\\.js.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(regexp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.js_regexp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(regexp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.json.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsonc))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.jsonc.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsonc))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(less))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.less.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(less))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.objc.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(swift))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.swift.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(swift))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(scss))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.scss.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(scss))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl6|p6|pl6|pm6|nqp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.perl6.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl6|p6|pl6|pm6|nqp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(p(?:owershell|s1|sm1|sd1|wsh)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.powershell.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(p(?:owershell|s1|sm1|sd1|wsh)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\{\\\\.python.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.python.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\{\\\\.python.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(julia|\\\\{\\\\.julia.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.julia.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(julia|\\\\{\\\\.julia.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(re))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.regexp_python.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(re))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(rust|rs|\\\\{\\\\.rust.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.rust.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(rust|rs|\\\\{\\\\.rust.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(s(?:cala|bt)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.scala.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(s(?:cala|bt)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\{\\\\.bash.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.shell.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\{\\\\.bash.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(t(?:ypescript|s)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ts.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(t(?:ypescript|s)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(tsx))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.tsx.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(tsx))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.csharp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(f(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.fsharp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(f(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(dart))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.dart.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(dart))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(h(?:andlebars|bs)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.handlebars.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(h(?:andlebars|bs)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(m(?:arkdown|d)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.markdown.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(m(?:arkdown|d)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(log))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.log.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(log))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(erlang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.erlang.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(erlang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(elixir))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.elixir.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(elixir))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:la|)tex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.latex.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:la|)tex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bibtex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.bibtex.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bibtex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(twig))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.twig.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(twig))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(yang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.yang.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(yang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(abap))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.abap.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(abap))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(r(?:estructuredtext|st)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.restructuredtext.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(r(?:estructuredtext|st)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(haskell))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.haskell.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(haskell))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(k(?:otlin|t)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.kotlin.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(k(?:otlin|t)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]}]},"source-markdown":{"patterns":[{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(css(?:|.erb))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.css.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(html?|shtml|xhtml|inc|tmpl|tpl)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.basic.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(ini|conf)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.ini.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(java|bsh)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.java.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(lua)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.lua.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:((?:[Mm]|GNUm|OCamlM)akefile)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.makefile.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.perl.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:([RSrs]|Rprofile|\\\\{\\\\.r.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.r.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{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+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.ruby.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.php.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(sql|ddl|dml)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.sql.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(vb)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.vs_net.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.xml.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(xslt??)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.xsl.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(ya?ml)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.yaml.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(bat(?:|ch))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.dosbatch.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(cl(?:js??|ojure))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.clojure.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(coffee|Cakefile|coffee.erb)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.coffee.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:([ch])((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.c.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(c(?:pp|\\\\+\\\\+|xx))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.cpp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(patch|diff|rej)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.diff.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:([Dd]ockerfile)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.dockerfile.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:((?:COMMIT_EDIT|MERGE_)MSG)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.git_commit.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(git-rebase-todo)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.git_rebase.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(go(?:|lang))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.go.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(g(?:roovy|vy))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.groovy.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(jade|pug)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.pug.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\{\\\\.js.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.js.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(regexp)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.js_regexp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.json.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(jsonc)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.jsonc.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(less)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.less.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm])((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.objc.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(swift)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.swift.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(scss)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.scss.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.perl6.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(p(?:owershell|s1|sm1|sd1|wsh))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.powershell.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\{\\\\.python.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.python.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(julia|\\\\{\\\\.julia.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.julia.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(re)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.regexp_python.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(rust|rs|\\\\{\\\\.rust.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.rust.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(s(?:cala|bt))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.scala.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\{\\\\.bash.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.shell.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(t(?:ypescript|s))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.ts.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(tsx)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.tsx.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(c(?:s|sharp|#))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.csharp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(f(?:s|sharp|#))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.fsharp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(dart)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.dart.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(h(?:andlebars|bs))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.handlebars.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(m(?:arkdown|d))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.markdown.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(log)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.log.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(erlang)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.erlang.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(elixir)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.elixir.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:((?:la|)tex)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.latex.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(bibtex)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.bibtex.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(twig)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.twig.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(yang)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.yang.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(abap)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.abap.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(r(?:estructuredtext|st))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.restructuredtext.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(haskell)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.haskell.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(k(?:otlin|t))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.kotlin.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]}]},"source-paragraphs":{"patterns":[{"include":"#source-asciidoctor"},{"include":"#source-markdown"}]},"stem-macro":{"patterns":[{"begin":"(?<!\\\\\\\\)(stem|(?:latex|ascii)math):([,a-z]*)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.macro.inline.stem.asciidoc"}]},"strong":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.bold.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)(\\\\[.+?])?((\\\\*\\\\*)(.+?)(\\\\*\\\\*))","name":"markup.strong.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.bold.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![*:;\\\\\\\\[:word:]])(\\\\[.+?])?((\\\\*)(\\\\S(?:|.*?\\\\S))(\\\\*)(?!\\\\p{word}))","name":"markup.strong.constrained.asciidoc"}]},"subscript":{"patterns":[{"captures":{"1":{"name":"markup.meta.sub.attribute-list.asciidoc"},"2":{"name":"markup.sub.subscript.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[.+?])?((~)(\\\\S+?)(~))","name":"markup.subscript.asciidoc"}]},"superscript":{"patterns":[{"captures":{"1":{"name":"markup.meta.super.attribute-list.asciidoc"},"2":{"name":"markup.super.superscript.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[.+?])?((\\\\^)(\\\\S+?)(\\\\^))","name":"markup.superscript.asciidoc"}]},"table-csv":{"patterns":[{"begin":"^(,===)$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"^(\\\\1)$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.csv.asciidoc","patterns":[{"include":"text.csv"},{"captures":{"0":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":","},{"include":"#general-block-macro"}]}]},"table-dsv":{"patterns":[{"begin":"^(:===)$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"^(\\\\1)$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.dsv.asciidoc","patterns":[{"captures":{"0":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":":"},{"include":"#general-block-macro"}]}]},"table-nested":{"patterns":[{"begin":"^(!===)$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"markup.table.content.asciidoc","end":"^(\\\\1)$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.nested.asciidoc","patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":"(^|[^\\\\\\\\[:blank:]]*)(?<!\\\\\\\\)(!)"},{"include":"#tables-includes"}]}]},"table-psv":{"patterns":[{"begin":"^(\\\\|===)\\\\s*$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"markup.table.content.asciidoc","end":"^(\\\\1)\\\\s*$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.asciidoc","patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":"(^|[^\\\\\\\\[:blank:]]*)(?<!\\\\\\\\)(\\\\|)"},{"include":"#tables-includes"}]}]},"tables":{"patterns":[{"include":"#table-psv"},{"include":"#table-nested"},{"include":"#table-csv"},{"include":"#table-dsv"}]},"tables-includes":{"patterns":[{"include":"#comment"},{"include":"#callout-list-item"},{"include":"#attribute-entry"},{"include":"#block-title"},{"include":"#explicit-paragraph"},{"include":"#section"},{"include":"#blocks"},{"include":"#list"},{"include":"#inlines"},{"include":"#line-break"}]},"titles":{"patterns":[{"begin":"^([#=]{6})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-5.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{5})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-4.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{4})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-3.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{3})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-2.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{2})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-1.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{1})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-0.asciidoc","patterns":[{"include":"$self"}]}]},"typographic-quotes":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?:^|(?<![:;[:word:]]))(\\\\[([^]]+?)])?(\\"`)(\\\\S(?:|.*?\\\\S))(`\\")(?!\\\\p{word})","name":"markup.italic.quote.typographic-quotes.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?:^|(?<![:;[:word:]]))(\\\\[([^]]+?)])?(\'`)(\\\\S(?:|.*?\\\\S))(`\')(?!\\\\p{word})","name":"markup.italic.quote.typographic-quotes.asciidoc"}]},"xref-macro":{"patterns":[{"captures":{"1":{"name":"constant.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"string.unquoted.asciidoc"},"4":{"name":"constant.asciidoc"}},"match":"(?<!\\\\\\\\)(<<)([\\"./:[:word:]]+,)?(.*?)(>>)","name":"markup.reference.xref.asciidoc"},{"begin":"(?<!\\\\\\\\)(xref:)([\\"./:[:word:]].*?)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.reference.xref.asciidoc"}]}},"scopeName":"text.asciidoc","embeddedLangs":[],"aliases":["adoc"],"embeddedLangsLazy":["html","yaml","csv","css","ini","java","lua","make","perl","r","ruby","php","sql","vb","xml","xsl","bat","clojure","coffee","c","cpp","diff","docker","git-commit","git-rebase","go","groovy","pug","javascript","json","jsonc","less","objective-c","swift","scss","raku","powershell","python","julia","regexp","rust","scala","shellscript","typescript","tsx","csharp","fsharp","dart","handlebars","markdown","log","erlang","elixir","latex","bibtex","abap","rst","haskell","kotlin"]}')),CV=[zV]});var rx={};u1(rx,{default:()=>MV});var AV,MV,sx=n1(()=>{d7();qa();ee();Oa();st();AV=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":"([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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+(?:[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*(\\\\.))?([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)(\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*})?|\\\\s*)(?=\\\\()"}]},"keyword":{"patterns":[{"match":"\\\\b(?<![.:_])(?:function|mutable\\\\s+struct|struct|macro|quote|abstract\\\\s+type|primitive\\\\s+type|typegroup|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":"@(\\\\.|[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"((?<![!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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)?|\u03C0|pi|\u212F)\\\\b)?|[0-9]+|Inf(?:16|32|64)?\\\\b|NaN(?:16|32|64)?\\\\b|\u03C0\\\\b|pi\\\\b|\u212F\\\\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":"\\\\.?(?:<-->|->|-->|<--|[\u2190\u2192\u2194\u219A-\u219E\u21A0\u21A2\u21A3\u21A4\u21A6\u21A9-\u21AC\u21AE\u21B6\u21B7\u21BA-\u21BD\u21C0\u21C1\u21C4\u21C6\u21C7\u21C9\u21CB-\u21D0\u21D2\u21D4\u21DA-\u21DD\u21E0\u21E2\u21F4\u21F6-\u21FF\u27F5\u27F6\u27F7\u27F9-\u27FF\u2900-\u2907\u290C-\u2911\u2914-\u2918\u291D-\u2920\u2944-\u2948\u294A\u294B\u294E\u2950\u2952\u2953\u2956\u2957\u295A\u295B\u295E\u295F\u2962\u2964\u2966-\u296D\u2970\u2977\u297A\u29F4\u2B30-\u2B44\u2B47-\u2B4C\uFFE9\uFFEB]|=>)","name":"keyword.operator.arrow.julia"},{"match":":=|\\\\+=|-=|\\\\*=|//=|/=|\\\\.//=|\\\\./=|\\\\.\\\\*=|\\\\\\\\=|\\\\.\\\\\\\\=|\\\\^=|\\\\.\\\\^=|%=|\\\\.%=|\xF7=|\\\\.\xF7=|\\\\|=|&=|\\\\.&=|\u22BB=|\\\\.\u22BB=|\\\\$=|<<=|>>=|>>>=|=(?!=)","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)?\\\\([^)]*\\\\)|[$_\u2207[:alpha:]][!.\u2032\u207A-\u209C[:word:]]*(?:\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*}|\\".+?(?<!\\\\\\\\)\\")?)(?:\\\\.\\\\.\\\\.)?(\\\\.?\'*)"},{"match":"(\\\\.?((?<!<)<=|(?<!>)>=|[<>\u2264\u2265]|===?|\u2261|!=|\u2260|!==|[\u2208-\u220D\u221D\u2225\u2226\u2237\u223A\u223B\u223D\u223E\u2241-\u224E\u2250-\u2253\u2256-\u225F\u2262\u2263\u2266-\u228B\u228F-\u2292\u229C\u22A2\u22A3\u22A9\u22AC\u22AE\u22B0-\u22B7\u22CD\u22D0\u22D1\u22D5-\u22ED\u22F2-\u22FF\u27C2\u27C8\u27C9\u27D2\u29B7\u29C0\u29C1\u29E1\u29E3\u29E4\u29E5\u2A66\u2A67\u2A6A-\u2A73\u2A75-\u2AD9\u2AEA\u2AEB\u2AF7-\u2AFA]|<:|>:))","name":"keyword.operator.relation.julia"},{"match":"(?<=\\\\s)\\\\?(?=\\\\s)","name":"keyword.operator.ternary.julia"},{"match":"(?<=\\\\s):(?=\\\\s)","name":"keyword.operator.ternary.julia"},{"match":"\\\\|\\\\||&&|(?<![!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]])!","name":"keyword.operator.boolean.julia"},{"match":"(?<=[]!)}\u2032\u207A-\u209C\u2207[:word:]]):","name":"keyword.operator.range.julia"},{"match":"\\\\|>","name":"keyword.operator.applies.julia"},{"match":"\\\\||\\\\.\\\\||&|\\\\.&|[~\xAC]|\\\\.~|\u22BB|\\\\.\u22BB","name":"keyword.operator.bitwise.julia"},{"match":"\\\\.?(?:\\\\+\\\\+|--|[-*+|\xA6\xB1\u2212\u2213\u2214\u2228\u222A\u2238\u224F\u228E\u2294\u2295\u2296\u229E\u229F\u22BB\u22BD\u22CE\u22D3\u27C7\u29FA\u29FB\u2A08\u2A22-\u2A2E\u2A39\u2A3A\u2A41\u2A42\u2A45\u2A4A\u2A4C\u2A4F\u2A50\u2A52\u2A54\u2A56\u2A57\u2A5B\u2A5D\u2A61\u2A62\u2A63]|//?|[%\\\\&\\\\\\\\^\xB1\xB7\xD7\xF7\u0387\u214B\u2191\u2193\u21F5\u2213\u2217-\u221C\u2224\u2227\u2229\u2240\u228D\u2293\u2297-\u229B\u22A0\u22A1\u22BC\u22C4-\u22C7\u22C9-\u22CC\u22CF\u22D2\u233F\u25B7\u27D1\u27D5\u27D6\u27D7\u27F0\u27F1\u2908-\u290B\u2912\u2913\u2949\u294C\u294D\u294F\u2951\u2954\u2955\u2958\u2959\u295C\u295D\u2960\u2961\u2963\u2965\u296E\u296F\u29B8\u29BC\u29BE\u29BF\u29F6\u29F7\u2A07\u2A1D\u2A1F\u2A30-\u2A38\u2A3B\u2A3C\u2A3D\u2A40\u2A43\u2A44\u2A4B\u2A4D\u2A4E\u2A51\u2A53\u2A55\u2A58\u2A5A\u2A5C\u2A5E\u2A5F\u2A60\u2ADB\uFFEA\uFFEC])","name":"keyword.operator.arithmetic.julia"},{"match":"\u2218","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}])|\\\\.\\\\.+|[\u2026\u205D\u22EE-\u22F1]","name":"keyword.operator.dots.julia"},{"match":"\\\\$(?=.+)","name":"keyword.operator.interpolation.julia"},{"captures":{"2":{"name":"keyword.operator.transposed-variable.julia"}},"match":"([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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_raw"}]},{"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_raw"}]},{"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":"(?<!\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(\\"\\"\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"(?<!\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(?<![^\\\\\\\\]\\\\\\\\)(\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"(?<!`)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)?```","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(```)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"(?<!`)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)?`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(?<![^\\\\\\\\]\\\\\\\\)(`)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"\\\\$[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}[^\u2190-\u21FF\\\\P{So}][^$\\\\P{Sc}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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"}]},"string_escaped_char_raw":{"patterns":[{"match":"(\\\\\\\\\\\\\\\\)*\\\\\\\\\\"","name":"constant.character.escape.julia"},{"match":"(\\\\\\\\\\\\\\\\)+(?=\\")","name":"constant.character.escape.julia"}]},"symbol":{"patterns":[{"match":"(?<![]!)}\u2032\u207A-\u209C\u2207[:word:]]):[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*(?![!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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+([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)(\\\\s*(<:)\\\\s*[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*(?:\\\\{.*})?)?","name":"meta.type.julia"}]}},"scopeName":"source.julia","embeddedLangs":["cpp","python","javascript","r","sql"],"aliases":["jl"]}')),MV=[...X4,...p7,...w0,...b7,..._3,AV]});var cx={};u1(cx,{default:()=>LV});var $V,LV,ox=n1(()=>{$V=Object.freeze(JSON.parse('{"displayName":"Dart","name":"dart","patterns":[{"match":"^(#!.*)$","name":"meta.preprocessor.script.dart"},{"begin":"^\\\\w*\\\\b(augment\\\\s+library|library|import\\\\s+augment|import|part\\\\s+of|part|export)\\\\b","beginCaptures":{"0":{"name":"keyword.other.import.dart"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.dart"}},"name":"meta.declaration.dart","patterns":[{"include":"#strings"},{"include":"#comments"},{"match":"\\\\b(as|show|hide)\\\\b","name":"keyword.other.import.dart"},{"match":"\\\\b(if)\\\\b","name":"keyword.control.dart"}]},{"include":"#comments"},{"include":"#punctuation"},{"include":"#annotations"},{"include":"#keywords"},{"include":"#constants-and-special-vars"},{"include":"#class-identifier-with-optional-factory-method"},{"include":"#function-identifier"},{"include":"#operators"},{"include":"#strings"}],"repository":{"annotations":{"patterns":[{"match":"@[A-Za-z]+","name":"storage.type.annotation.dart"}]},"class-identifier":{"patterns":[{"match":"(?<!\\\\$)\\\\b(bool|num|int|double|dynamic)\\\\b(?!\\\\$)","name":"support.class.dart"},{"match":"(?<!\\\\$)\\\\bvoid\\\\b(?!\\\\$)","name":"storage.type.primitive.dart"},{"begin":"(?<![$0-9A-Z_a-z])([$_]*[A-Z][$0-9A-Z_a-z]*)\\\\b","beginCaptures":{"1":{"name":"support.class.dart"}},"end":"(?!<)","patterns":[{"include":"#type-args"}]}]},"class-identifier-with-optional-factory-method":{"patterns":[{"captures":{"1":{"name":"support.class.dart"},"2":{"name":"entity.name.function.dart"}},"match":"(?<!\\\\$)\\\\b(bool|num|int|double|dynamic)\\\\b(?!\\\\$)\\\\s*(factory\\\\b)?"},{"captures":{"1":{"name":"storage.type.primitive.dart"},"2":{"name":"entity.name.function.dart"}},"match":"(?<!\\\\$)\\\\b(void)\\\\b(?!\\\\$)\\\\s*(factory\\\\b)?"},{"begin":"(?<![$0-9A-Z_a-z])([$_]*[A-Z][$0-9A-Z_a-z]*)\\\\b\\\\s*(factory\\\\b)?","beginCaptures":{"1":{"name":"support.class.dart"},"2":{"name":"entity.name.function.dart"}},"end":"(?!<)","patterns":[{"include":"#type-args"}]}]},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.dart"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.dart"},{"include":"#comments-doc-oldschool"},{"include":"#comments-doc"},{"include":"#comments-inline"}]},"comments-block":{"patterns":[{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.dart","patterns":[{"include":"#comments-block"}]}]},"comments-doc":{"patterns":[{"begin":"///","end":"^(?!\\\\s*///)","name":"comment.block.documentation.dart","patterns":[{"include":"#dartdoc"}]}]},"comments-doc-oldschool":{"patterns":[{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.documentation.dart","patterns":[{"include":"#comments-doc-oldschool"},{"include":"#comments-block"},{"include":"#dartdoc"}]}]},"comments-inline":{"patterns":[{"include":"#comments-block"},{"captures":{"1":{"name":"comment.line.double-slash.dart"}},"match":"((//).*)$"}]},"constants-and-special-vars":{"patterns":[{"match":"(?<!\\\\$)\\\\b(true|false|null)\\\\b(?!\\\\$)","name":"constant.language.dart"},{"match":"(?<!\\\\$)\\\\b(this|super|augmented)\\\\b(?!\\\\$)","name":"variable.language.dart"},{"match":"(?<!\\\\$)\\\\b((0([Xx])\\\\h[_\\\\h]*)|(([0-9][0-9_]*\\\\.?[0-9_]*)|(\\\\.[0-9][0-9_]*))(([Ee])([-+])?[0-9][0-9_]*)?)\\\\b(?!\\\\$)","name":"constant.numeric.dart"}]},"dartdoc":{"patterns":[{"captures":{"0":{"name":"variable.name.source.dart"}},"match":"(\\\\[.*?])"},{"begin":"^\\\\s*///\\\\s*(```)","end":"^(?:\\\\s*///\\\\s*(```)|(?!\\\\s*///))","patterns":[{"include":"#dartdoc-codeblock-triple"}]},{"begin":"^\\\\s*\\\\*\\\\s*(```)","end":"^(?:\\\\s*\\\\*\\\\s*(```)|(?=\\\\s*\\\\*/))","patterns":[{"include":"#dartdoc-codeblock-block"}]},{"match":"`[^\\\\n`]+`","name":"variable.other.source.dart"},{"captures":{"1":{"name":"variable.other.source.dart"}},"match":"(?:\\\\*|//)\\\\s{4,}(.*?)(?=($|\\\\*/))"}]},"dartdoc-codeblock-block":{"begin":"^\\\\s*\\\\*\\\\s*(?!(\\\\s*```|/))","contentName":"variable.other.source.dart","end":"$"},"dartdoc-codeblock-triple":{"begin":"^\\\\s*///\\\\s*(?!\\\\s*```)","contentName":"variable.other.source.dart","end":"$"},"expression":{"patterns":[{"include":"#constants-and-special-vars"},{"include":"#class-identifier-with-optional-factory-method"},{"include":"#function-identifier"},{"include":"#strings"},{"match":"[0-9A-Z_a-z]+","name":"variable.parameter.dart"},{"begin":"\\\\{","end":"}","patterns":[{"include":"#expression"}]}]},"function-identifier":{"patterns":[{"captures":{"1":{"name":"entity.name.function.dart"},"2":{"patterns":[{"include":"#type-args"}]}},"match":"([$_]*[a-z][$0-9A-Z_a-z]*)(<(?:[$0-9<>?A-Z_a-z]|,\\\\s*|\\\\s+extends\\\\s+)+>)?[!?]?\\\\("},{"match":"(?<=\\\\.)new\\\\b","name":"entity.name.function.dart"}]},"keywords":{"patterns":[{"match":"(?<!\\\\$)\\\\bas\\\\b(?!\\\\$)","name":"keyword.cast.dart"},{"match":"(?<!\\\\$)\\\\b(try|on|catch|finally|throw|rethrow)\\\\b(?!\\\\$)","name":"keyword.control.catch-exception.dart"},{"match":"(?<!\\\\$)\\\\b(break|case|continue|default|do|else|for|if|in|switch|while|when)\\\\b(?!\\\\$)","name":"keyword.control.dart"},{"match":"(?<!\\\\$)\\\\b(sync(\\\\*)?|async(\\\\*)?|await|yield(\\\\*)?)\\\\b(?!\\\\$)","name":"keyword.control.dart"},{"match":"(?<!\\\\$)\\\\bassert\\\\b(?!\\\\$)","name":"keyword.control.dart"},{"match":"(?<![$.])\\\\b(new)\\\\b(?!\\\\$)","name":"keyword.new.dart"},{"match":"(?<!\\\\$)\\\\b(return)\\\\b(?!\\\\$)","name":"keyword.control.return.dart"},{"match":"(?<!\\\\$)\\\\b(abstract|sealed|base|interface|class|enum|extends|extension\\\\s+type|extension|external|factory|implements|get(?![(<])|mixin|native|operator|set(?![(<])|typedef|with|covariant)\\\\b(?!\\\\$)","name":"keyword.declaration.dart"},{"match":"(?<!\\\\$)\\\\b(macro|augment|static|final|const|required|late)\\\\b(?!\\\\$)","name":"storage.modifier.dart"},{"match":"(?<!\\\\$)\\\\bvar\\\\b(?!\\\\$)","name":"storage.type.primitive.dart"}]},"operators":{"patterns":[{"match":"(?<!\\\\$)\\\\b(is!?)\\\\b(?!\\\\$)","name":"keyword.operator.dart"},{"match":"[:?]","name":"keyword.operator.ternary.dart"},{"match":"(<<|>>>?|[\\\\&^|~])","name":"keyword.operator.bitwise.dart"},{"match":"(([\\\\&^|]|<<|>>>?)=)","name":"keyword.operator.assignment.bitwise.dart"},{"match":"(=>)","name":"keyword.operator.closure.dart"},{"match":"(==|!=|<=?|>=?)","name":"keyword.operator.comparison.dart"},{"match":"(([-%*+/~])=)","name":"keyword.operator.assignment.arithmetic.dart"},{"match":"(=)","name":"keyword.operator.assignment.dart"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.dart"},{"match":"([-*+/]|~/|%)","name":"keyword.operator.arithmetic.dart"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.dart"}]},"punctuation":{"patterns":[{"match":",","name":"punctuation.comma.dart"},{"match":";","name":"punctuation.terminator.dart"},{"match":"\\\\.","name":"punctuation.dot.dart"}]},"string-interp":{"patterns":[{"captures":{"1":{"name":"variable.parameter.dart"}},"match":"\\\\$([0-9A-Z_a-z]+)","name":"meta.embedded.expression.dart"},{"begin":"\\\\$\\\\{","end":"}","name":"meta.embedded.expression.dart","patterns":[{"include":"#expression"}]},{"match":"\\\\\\\\.","name":"constant.character.escape.dart"}]},"strings":{"patterns":[{"begin":"(?<!r)\\"\\"\\"","end":"\\"\\"\\"(?!\\")","name":"string.interpolated.triple.double.dart","patterns":[{"include":"#string-interp"}]},{"begin":"(?<!r)\'\'\'","end":"\'\'\'(?!\')","name":"string.interpolated.triple.single.dart","patterns":[{"include":"#string-interp"}]},{"begin":"r\\"\\"\\"","end":"\\"\\"\\"(?!\\")","name":"string.quoted.triple.double.dart"},{"begin":"r\'\'\'","end":"\'\'\'(?!\')","name":"string.quoted.triple.single.dart"},{"begin":"(?<!\\\\|r)\\"","end":"\\"","name":"string.interpolated.double.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"},{"include":"#string-interp"}]},{"begin":"r\\"","end":"\\"","name":"string.quoted.double.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"}]},{"begin":"(?<!\\\\|r)\'","end":"\'","name":"string.interpolated.single.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"},{"include":"#string-interp"}]},{"begin":"r\'","end":"\'","name":"string.quoted.single.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"}]}]},"type-args":{"begin":"(<)","beginCaptures":{"1":{"name":"other.source.dart"}},"end":"(>)","endCaptures":{"1":{"name":"other.source.dart"}},"patterns":[{"include":"#class-identifier"},{"match":","},{"match":"extends","name":"keyword.declaration.dart"},{"include":"#comments"}]}},"scopeName":"source.dart"}')),LV=[$V]});var lx={};u1(lx,{default:()=>ZV});var SV,ZV,px=n1(()=>{SV=Object.freeze(JSON.parse('{"displayName":"Scala","fileTypes":["scala"],"firstLineMatch":"^#!/.*\\\\b\\\\w*scala\\\\b","foldingStartMarker":"/\\\\*\\\\*|\\\\{\\\\s*$","foldingStopMarker":"\\\\*\\\\*/|^\\\\s*}","name":"scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.scala"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.scala"},{"begin":"^\\\\s*(/\\\\*\\\\*)(?!/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}},"name":"comment.block.documentation.scala","patterns":[{"captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}},"match":"(@param)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}},"match":"(@t(?:param|hrows))\\\\s+(\\\\S+)"},{"match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc|groupname|groupprio|groupdesc|group|contentDiagram|documentable|syntax)\\\\b","name":"keyword.other.documentation.scaladoc.scala"},{"captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}},"match":"(\\\\[\\\\[)([^]]+)(]])"},{"include":"#block-comments"}]},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.scala"}},"end":"\\\\*/","name":"comment.block.scala","patterns":[{"include":"#block-comments"}]}]},"char-literal":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.character.begin.scala"},"2":{"name":"punctuation.definition.character.end.scala"}},"match":"(\')\'(\')","name":"string.quoted.other constant.character.literal.scala"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"end":"\'|$","endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}},"name":"string.quoted.other constant.character.literal.scala","patterns":[{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-character-escape.scala"},{"match":"[^\']{2,}","name":"invalid.illegal.character-literal-too-long"},{"match":"(?<!\')[^\']","name":"invalid.illegal.character-literal-too-long"}]}]},"code":{"patterns":[{"include":"#using-directive"},{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#namedBounds"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted-or-symbol"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}},"end":"\\\\n","name":"comment.line.double-slash.scala"}]}]},"constants":{"patterns":[{"match":"\\\\b(false|null|true)\\\\b","name":"constant.language.scala"},{"match":"\\\\b(0[Xx][_\\\\h]*)\\\\b","name":"constant.numeric.scala"},{"match":"\\\\b(([0-9][0-9_]*(\\\\.[0-9][0-9_]*)?)([Ee]([-+])?[0-9][0-9_]*)?|[0-9][0-9_]*)[DFLdfl]?\\\\b","name":"constant.numeric.scala"},{"match":"(\\\\.[0-9][0-9_]*)([Ee]([-+])?[0-9][0-9_]*)?[DFLdfl]?\\\\b","name":"constant.numeric.scala"},{"match":"\\\\b0[Bb][01]([01_]*[01])?[Ll]?\\\\b","name":"constant.numeric.scala"},{"match":"\\\\b(this|super)\\\\b","name":"variable.language.scala"}]},"curly-braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}},"patterns":[{"include":"#code"}]},"declarations":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}},"match":"\\\\b(def)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}},"match":"\\\\b(trait)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}},"match":"\\\\b(?:(case)\\\\s+)?(class|object|enum)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}},"match":"(?<!\\\\.)\\\\b(type)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}},"match":"\\\\b(?:(val)|(var))\\\\b\\\\s*(?!/[*/])(?=(?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?\\\\()"},{"captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"variable.stable.declaration.scala"}},"match":"\\\\b(val)\\\\b\\\\s*(?!/[*/])((?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)(?:\\\\s*,\\\\s*(?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`))*)?(?!\\")"},{"captures":{"1":{"name":"keyword.declaration.volatile.scala"},"2":{"name":"variable.volatile.declaration.scala"}},"match":"\\\\b(var)\\\\b\\\\s*(?!/[*/])((?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)(?:\\\\s*,\\\\s*(?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`))*)?(?!\\")"},{"captures":{"1":{"name":"keyword.other.package.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}},"match":"\\\\b(package)\\\\s+(object)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"begin":"\\\\b(package)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.package.scala"}},"end":"(?<=[\\\\n;])","name":"meta.package.scala","patterns":[{"include":"#comments"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))","name":"entity.name.package.scala"},{"match":"\\\\.","name":"punctuation.definition.package"}]},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}},"match":"\\\\b(given)\\\\b\\\\s*([$_a-z\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|`[^`]+`)?"}]},"empty-parentheses":{"captures":{"1":{"name":"meta.bracket.scala"}},"match":"(\\\\(\\\\))","name":"meta.parentheses.scala"},"exports":{"begin":"\\\\b(export)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.export.scala"}},"end":"(?<=[\\\\n;])","name":"meta.export.scala","patterns":[{"include":"#comments"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.export.given.scala"},{"match":"[A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?","name":"entity.name.class.export.scala"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))","name":"entity.name.export.scala"},{"match":"\\\\.","name":"punctuation.definition.export"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"meta.bracket.scala"}},"end":"}","endCaptures":{"0":{"name":"meta.bracket.scala"}},"name":"meta.export.selector.scala","patterns":[{"captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.renamed-from.scala"},"3":{"name":"entity.name.export.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.export.renamed-to.scala"},"6":{"name":"entity.name.export.renamed-to.scala"}},"match":"(given\\\\s)?\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*(=>)\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.export.given.scala"},{"captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.scala"},"3":{"name":"entity.name.export.scala"}},"match":"(given\\\\s+)?(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))"}]}]},"extension":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"^\\\\s*(extension)\\\\s+(?=[(\\\\[])"}]},"imports":{"begin":"\\\\b(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.import.scala"}},"end":"(?<=[\\\\n;])","name":"meta.import.scala","patterns":[{"include":"#comments"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.import.given.scala"},{"match":"\\\\s(as)\\\\s","name":"keyword.other.import.as.scala"},{"match":"[A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?","name":"entity.name.class.import.scala"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))","name":"entity.name.import.scala"},{"match":"\\\\.","name":"punctuation.definition.import"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"meta.bracket.scala"}},"end":"}","endCaptures":{"0":{"name":"meta.bracket.scala"}},"name":"meta.import.selector.scala","patterns":[{"captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}},"match":"(given\\\\s)?\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*(=>)\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.import.given.scala"},{"captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}},"match":"(given\\\\s+)?(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))"}]}]},"inheritance":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class"}},"match":"\\\\b(extends|with|derives)\\\\b\\\\s*([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|`[^`]+`|(?=\\\\([^)]+=>)|(?=[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|(?=\\"))?"}]},"initialization":{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"\\\\b(new)\\\\b"},"inline":{"patterns":[{"match":"\\\\b(inline)(?=\\\\s+((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)\\\\s*:)","name":"storage.modifier.other"},{"match":"\\\\b(inline)\\\\b(?=(?:.(?!\\\\b(?:val|def|given)\\\\b))*\\\\b(if|match)\\\\b)","name":"keyword.control.flow.scala"}]},"keywords":{"patterns":[{"match":"\\\\b(return|throw)\\\\b","name":"keyword.control.flow.jump.scala"},{"match":"\\\\b((?:class|isInstance|asInstance)Of)\\\\b","name":"support.function.type-of.scala"},{"match":"\\\\b(else|if|then|do|while|for|yield|match|case)\\\\b","name":"keyword.control.flow.scala"},{"match":"^\\\\s*(end)\\\\s+(if|while|for|match)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.control.flow.end.scala"},{"match":"^\\\\s*(end)\\\\s+(val)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.declaration.stable.end.scala"},{"match":"^\\\\s*(end)\\\\s+(var)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.declaration.volatile.end.scala"},{"captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}},"match":"^\\\\s*(end)\\\\s+(?:(new|extension)|([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?))(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)"},{"match":"\\\\b(catch|finally|try)\\\\b","name":"keyword.control.exception.scala"},{"match":"^\\\\s*(end)\\\\s+(try)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.control.exception.end.scala"},{"captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}},"match":"^\\\\s*(end)\\\\s+(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))?(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)"},{"match":"([-!#%\\\\&*+/:<-@\\\\\\\\^|~\\\\p{Sm}\\\\p{So}]){3,}","name":"keyword.operator.scala"},{"captures":{"1":{"patterns":[{"match":"(\\\\|\\\\||&&)","name":"keyword.operator.logical.scala"},{"match":"([!<=>]=)","name":"keyword.operator.comparison.scala"},{"match":"..","name":"keyword.operator.scala"}]}},"match":"([-!#%\\\\&*+/:<-@\\\\\\\\^|~\\\\p{Sm}\\\\p{So}]{2,}|_\\\\*)"},{"captures":{"1":{"patterns":[{"match":"(!)","name":"keyword.operator.logical.scala"},{"match":"([-%*+/~])","name":"keyword.operator.arithmetic.scala"},{"match":"([<=>])","name":"keyword.operator.comparison.scala"},{"match":".","name":"keyword.operator.scala"}]}},"match":"(?<!_)([-!#%\\\\&*+/:<-@\\\\\\\\^|~\\\\p{Sm}\\\\p{So}])"}]},"meta-bounds":{"match":"<%|=:=|<:<|<%<|>:|<:","name":"meta.bounds.scala"},"meta-brackets":{"patterns":[{"match":"\\\\{","name":"punctuation.section.block.begin.scala"},{"match":"}","name":"punctuation.section.block.end.scala"},{"match":"[]()\\\\[{}]","name":"meta.bracket.scala"}]},"meta-colons":{"patterns":[{"match":"(?<!:):(?!:)","name":"meta.colon.scala"}]},"namedBounds":{"patterns":[{"captures":{"1":{"name":"keyword.other.import.as.scala"},"2":{"name":"variable.stable.declaration.scala"}},"match":"\\\\s+(as)\\\\s+([$_a-z\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)\\\\b"}]},"parameter-list":{"patterns":[{"captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}},"match":"(?<=[^$.0-9A-Z_a-z])(`[^`]+`|[$_a-z\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)\\\\s*(:)\\\\s+"}]},"qualifiedClassName":{"captures":{"1":{"name":"entity.name.class"}},"match":"\\\\b(([A-Z]\\\\w*)(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)"},"scala-quoted-or-symbol":{"patterns":[{"captures":{"1":{"name":"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{"name":"constant.other.symbol.scala"}},"match":"(\')((?>[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))(?!\')"},{"match":"\'(?=\\\\s*\\\\{(?!\'))","name":"keyword.control.flow.staging.scala"},{"match":"\'(?=\\\\s*\\\\[(?!\'))","name":"keyword.control.flow.staging.scala"},{"match":"\\\\$(?=\\\\s*\\\\{)","name":"keyword.control.flow.staging.scala"}]},"script-header":{"captures":{"1":{"name":"string.unquoted.shebang.scala"}},"match":"^#!(.*)$","name":"comment.block.shebang.scala"},"singleton-type":{"captures":{"1":{"name":"keyword.type.scala"}},"match":"\\\\.(type)(?![$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[0-9])"},"storage-modifiers":{"patterns":[{"match":"\\\\b(pr(?:ivate\\\\[\\\\S+]|otected\\\\[\\\\S+]|ivate|otected))\\\\b","name":"storage.modifier.access"},{"match":"\\\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\\\b","name":"storage.modifier.other"},{"match":"(?<=^|\\\\s)\\\\b(transparent|opaque|infix|open|inline|into)\\\\b(?=[a-z\\\\s]*\\\\b(def|val|var|given|type|class|trait|object|enum)\\\\b)","name":"storage.modifier.other"}]},"string-interpolation":{"patterns":[{"match":"\\\\$\\\\$","name":"constant.character.escape.interpolation.scala"},{"captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}},"match":"(\\\\$)([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*)","name":"meta.template.expression.scala"},{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"contentName":"meta.embedded.line.scala","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}},"name":"meta.template.expression.scala","patterns":[{"include":"#code"}]}]},"strings":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"end":"\\"\\"\\"(?!\\")","endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}},"name":"string.quoted.triple.scala","patterns":[{"match":"\\\\\\\\(?:\\\\\\\\|u\\\\h{4})","name":"constant.character.escape.scala"}]},{"begin":"\\\\b(raw)(\\"\\"\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\"\\"\\")(?!\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":".","name":"string.quoted.triple.interpolated.scala"}]},{"begin":"\\\\b([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)(\\"\\"\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\"\\"\\")(?!\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"include":"#string-interpolation"},{"match":"\\\\\\\\(?:\\\\\\\\|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":".","name":"string.quoted.triple.interpolated.scala"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}},"name":"string.quoted.double.scala","patterns":[{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.scala"}]},{"begin":"\\\\b(raw)(\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":".","name":"string.quoted.double.interpolated.scala"}]},{"begin":"\\\\b([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)(\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.scala"},{"match":".","name":"string.quoted.double.interpolated.scala"}]}]},"using":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"(?<=\\\\()\\\\s*(using)\\\\s"}]},"using-directive":{"begin":"^\\\\s*(//>)\\\\s*(using)[^\\\\n\\\\S]+(\\\\S+)?","beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"},"3":{"patterns":[{"match":"[A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)","name":"entity.name.import.scala"},{"match":"\\\\.","name":"punctuation.definition.import"}]}},"end":"\\\\n","name":"comment.line.shebang.scala","patterns":[{"include":"#constants"},{"include":"#strings"},{"match":"[^,\\\\s]+","name":"string.quoted.double.scala"}]},"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":"#xml-entity"}]},"xml-embedded-content":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"meta.bracket.scala"}},"end":"}","name":"meta.source.embedded.scala","patterns":[{"include":"#code"}]},{"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":" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Z_a-z]+)="},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-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"},"xml-literal":{"patterns":[{"begin":"(<)((?:([0-9A-Z_a-z][0-9A-Z_a-z]*)((:)))?([0-9A-Z_a-z][-0-:A-Z_a-z]*))(?=(\\\\s[^>]*)?></\\\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"end":"(>(<))/(?:([-0-9A-Z_a-z]+)((:)))?([-0-:A-Z_a-z]*[0-9A-Z_a-z])(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.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":"#xml-embedded-content"}]},{"begin":"(</?)(?:([0-9A-Z_a-z][-0-9A-Z_a-z]*)((:)))?([0-9A-Z_a-z][-0-:A-Z_a-z]*)(?=[^>]*?>)","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":"#xml-embedded-content"}]},{"include":"#xml-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":"#xml-entity"}]}},"scopeName":"source.scala"}')),ZV=[SV]});var ux={};u1(ux,{default:()=>FV});var EV,FV,mx=n1(()=>{EV=Object.freeze(JSON.parse('{"displayName":"Clojure","name":"clojure","patterns":[{"include":"#comment"},{"include":"#shebang-comment"},{"include":"#quoted-sexp"},{"include":"#sexp"},{"include":"#keyfn"},{"include":"#string"},{"include":"#vector"},{"include":"#set"},{"include":"#map"},{"include":"#regexp"},{"include":"#var"},{"include":"#constants"},{"include":"#dynamic-variables"},{"include":"#metadata"},{"include":"#namespace-symbol"},{"include":"#symbol"}],"repository":{"comment":{"begin":"(?<!\\\\\\\\);","beginCaptures":{"0":{"name":"punctuation.definition.comment.clojure"}},"end":"$","name":"comment.line.semicolon.clojure"},"constants":{"patterns":[{"match":"(nil)(?=([])}\\\\s]))","name":"constant.language.nil.clojure"},{"match":"(true|false)","name":"constant.language.boolean.clojure"},{"match":"(##(?:Inf|-Inf|NaN))","name":"constant.numeric.symbol.clojure"},{"match":"([-+]?\\\\d+/\\\\d+)","name":"constant.numeric.ratio.clojure"},{"match":"([-+]?(?:3[0-6]|[12]\\\\d|[2-9])[Rr][0-9A-Za-z]+N?)","name":"constant.numeric.arbitrary-radix.clojure"},{"match":"([-+]?0[Xx]\\\\h+N?)","name":"constant.numeric.hexadecimal.clojure"},{"match":"([-+]?0[0-7]+N?)","name":"constant.numeric.octal.clojure"},{"match":"([-+]?[0-9]+(\\\\.|(?=[EMe]))[0-9]*([Ee][-+]?[0-9]+)?M?)","name":"constant.numeric.double.clojure"},{"match":"([-+]?\\\\d+N?)","name":"constant.numeric.long.clojure"},{"include":"#keyword"}]},"dynamic-variables":{"match":"\\\\*[-!+.:<-?_\\\\w\\\\d]+\\\\*","name":"meta.symbol.dynamic.clojure"},"keyfn":{"patterns":[{"match":"(?<=([(\\\\[{\\\\s]))(if(-[-?\\\\p{Ll}]*)?|when(-[-\\\\p{Ll}]*)?|for(-[-\\\\p{Ll}]*)?|cond|do|let(-[-?\\\\p{Ll}]*)?|binding|loop|recur|fn|throw[-\\\\p{Ll}]*|try|catch|finally|(\\\\p{Ll}*case))(?=([])}\\\\s]))","name":"storage.control.clojure"},{"match":"(?<=([(\\\\[{\\\\s]))(declare-?|(in-)?ns|import|use|require|load|compile|(def[-\\\\p{Ll}]*))(?=([])}\\\\s]))","name":"keyword.control.clojure"}]},"keyword":{"match":"(?<=([(\\\\[{\\\\s])):[-!#*+./:<-?_\\\\w]+(?=([]),}\\\\s]))","name":"constant.keyword.clojure"},"map":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.map.begin.clojure"}},"end":"(}(?=[])}\\\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.map.end.trailing.clojure"},"2":{"name":"punctuation.section.map.end.clojure"}},"name":"meta.map.clojure","patterns":[{"include":"$self"}]},"metadata":{"patterns":[{"begin":"(\\\\^\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.metadata.map.begin.clojure"}},"end":"(}(?=[])}\\\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.metadata.map.end.trailing.clojure"},"2":{"name":"punctuation.section.metadata.map.end.clojure"}},"name":"meta.metadata.map.clojure","patterns":[{"include":"$self"}]},{"begin":"(\\\\^)","end":"(\\\\s)","name":"meta.metadata.simple.clojure","patterns":[{"include":"#keyword"},{"include":"$self"}]}]},"namespace-symbol":{"patterns":[{"captures":{"1":{"name":"meta.symbol.namespace.clojure"}},"match":"([-!*+.<-?_\\\\p{L}][-!*+.:<-?_\\\\w\\\\d]*)/"}]},"quoted-sexp":{"begin":"([\'`]\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.clojure"}},"end":"(\\\\))$|(\\\\)(?=[])}\\\\s]*(?:;|$)))|(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.trailing.clojure"},"2":{"name":"punctuation.section.expression.end.trailing.clojure"},"3":{"name":"punctuation.section.expression.end.clojure"}},"name":"meta.quoted-expression.clojure","patterns":[{"include":"$self"}]},"regexp":{"begin":"#\\"","beginCaptures":{"0":{"name":"punctuation.definition.regexp.begin.clojure"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.regexp.end.clojure"}},"name":"string.regexp.clojure","patterns":[{"include":"#regexp_escaped_char"}]},"regexp_escaped_char":{"match":"\\\\\\\\.","name":"constant.character.escape.clojure"},"set":{"begin":"(#\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.set.begin.clojure"}},"end":"(}(?=[])}\\\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.set.end.trailing.clojure"},"2":{"name":"punctuation.section.set.end.clojure"}},"name":"meta.set.clojure","patterns":[{"include":"$self"}]},"sexp":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.clojure"}},"end":"(\\\\))$|(\\\\)(?=[])}\\\\s]*(?:;|$)))|(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.trailing.clojure"},"2":{"name":"punctuation.section.expression.end.trailing.clojure"},"3":{"name":"punctuation.section.expression.end.clojure"}},"name":"meta.expression.clojure","patterns":[{"begin":"(?<=\\\\()(ns|declare|def[-!*+.:<-?_\\\\w\\\\d]*|[-!*+.:<-?_\\\\w][-!*+.:<-?_\\\\w\\\\d]*/def[-!*+.:<-?_\\\\w\\\\d]*)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.clojure"}},"end":"(?=\\\\))","name":"meta.definition.global.clojure","patterns":[{"include":"#metadata"},{"include":"#dynamic-variables"},{"match":"([-!*+.<-?_\\\\p{L}][-!*+.:<-?_\\\\w\\\\d]*)","name":"entity.global.clojure"},{"include":"$self"}]},{"include":"#keyfn"},{"include":"#constants"},{"include":"#vector"},{"include":"#map"},{"include":"#set"},{"include":"#sexp"},{"captures":{"1":{"name":"entity.name.function.clojure"}},"match":"(?<=\\\\()(.+?)(?=[)\\\\s])","patterns":[{"include":"$self"}]},{"include":"$self"}]},"shebang-comment":{"begin":"^(#!)","beginCaptures":{"1":{"name":"punctuation.definition.comment.shebang.clojure"}},"end":"$","name":"comment.line.shebang.clojure"},"string":{"begin":"(?<!\\\\\\\\)(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.clojure"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.clojure"}},"name":"string.quoted.double.clojure","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.clojure"}]},"symbol":{"patterns":[{"match":"([-!*+.<-?_\\\\p{L}][-!*+.:<-?_\\\\w\\\\d]*)","name":"meta.symbol.clojure"}]},"var":{"match":"(?<=([(\\\\[{\\\\s])#)\'[-!*+./:<-?_\\\\w]+(?=([])}\\\\s]))","name":"meta.var.clojure"},"vector":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.section.vector.begin.clojure"}},"end":"(](?=[])}\\\\s]*(?:;|$)))|(])","endCaptures":{"1":{"name":"punctuation.section.vector.end.trailing.clojure"},"2":{"name":"punctuation.section.vector.end.clojure"}},"name":"meta.vector.clojure","patterns":[{"include":"$self"}]}},"scopeName":"source.clojure","aliases":["clj"]}')),FV=[EV]});var dx={};u1(dx,{default:()=>HV});var jV,HV,hx=n1(()=>{Da();jV=Object.freeze(JSON.parse('{"displayName":"Erlang","fileTypes":["erl","escript","hrl","xrl","yrl"],"name":"erlang","patterns":[{"include":"#module-directive"},{"include":"#import-export-directive"},{"include":"#behaviour-directive"},{"include":"#record-directive"},{"include":"#define-directive"},{"include":"#macro-directive"},{"include":"#doc-directive"},{"include":"#directive"},{"include":"#function"},{"include":"#everything-else"}],"repository":{"atom":{"patterns":[{"begin":"(\')","beginCaptures":{"1":{"name":"punctuation.definition.symbol.begin.erlang"}},"end":"(\')","endCaptures":{"1":{"name":"punctuation.definition.symbol.end.erlang"}},"name":"constant.other.symbol.quoted.single.erlang","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\\\\\)([\\"\'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2})","name":"constant.other.symbol.escape.erlang"},{"match":"\\\\\\\\\\\\^?.?","name":"invalid.illegal.atom.erlang"}]},{"match":"[a-z][@-Z_a-z\\\\d]*+","name":"constant.other.symbol.unquoted.erlang"}]},"behaviour-directive":{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.behaviour.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.behaviour.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(behaviour)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.behaviour.erlang"},"binary":{"begin":"(<<)","beginCaptures":{"1":{"name":"punctuation.definition.binary.begin.erlang"}},"end":"(>>)","endCaptures":{"1":{"name":"punctuation.definition.binary.end.erlang"}},"name":"meta.structure.binary.erlang","patterns":[{"captures":{"1":{"name":"punctuation.separator.binary.erlang"},"2":{"name":"punctuation.separator.value-size.erlang"}},"match":"(,)|(:)"},{"include":"#internal-type-specifiers"},{"include":"#everything-else"}]},"character":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.character.erlang"},"2":{"name":"constant.character.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"},"5":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\$)((\\\\\\\\)([\\"\'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2}))","name":"constant.character.erlang"},{"match":"\\\\$\\\\\\\\\\\\^?.?","name":"invalid.illegal.character.erlang"},{"captures":{"1":{"name":"punctuation.definition.character.erlang"}},"match":"(\\\\$)[ \\\\S]","name":"constant.character.erlang"},{"match":"\\\\$.?","name":"invalid.illegal.character.erlang"}]},"comment":{"begin":"(^[\\\\t ]+)?(?=%)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.erlang"}},"end":"(?!\\\\G)","patterns":[{"begin":"%","beginCaptures":{"0":{"name":"punctuation.definition.comment.erlang"}},"end":"\\\\n","name":"comment.line.percentage.erlang"}]},"define-directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([@-Z_a-z\\\\d]++)\\\\s*+","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.define.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"(?=^\\\\s*+-\\\\s*+define\\\\s*+\\\\(\\\\s*+[@-Z_a-z\\\\d]++\\\\s*+\\\\()","end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.define.erlang","patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([@-Z_a-z\\\\d]++)\\\\s*+(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))\\\\s*(,)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.separator.parameters.erlang"}},"patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"match":"\\\\|\\\\||[,.:;|]|->","name":"punctuation.separator.define.erlang"},{"include":"#everything-else"}]}]},"directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\(?)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\)?)\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.erlang","patterns":[{"include":"#everything-else"}]},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\.)","name":"meta.directive.erlang"}]},"doc-directive":{"begin":"^\\\\s*+(-)\\\\s*+((module)?doc)\\\\s*(\\\\(\\\\s*)?(~[BSbs]?)?((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.doc.erlang"},"4":{"name":"punctuation.definition.parameters.begin.erlang"},"5":{"name":"storage.type.string.erlang"},"6":{"name":"comment.block.documentation.erlang"},"7":{"name":"punctuation.definition.string.begin.erlang"},"8":{"name":"invalid.illegal.string.erlang"}},"contentName":"meta.embedded.block.markdown","end":"^(\\\\s*(\\\\7))\\\\s*(\\\\)\\\\s*)?(\\\\.)","endCaptures":{"1":{"name":"comment.block.documentation.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"},"3":{"name":"punctuation.section.directive.end.Erlang"}},"name":"meta.directive.doc.erlang","patterns":[{"include":"text.html.markdown"}]},"docstring":{"begin":"(?<!\\")((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"meta.string.quoted.triple.begin.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"},"3":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\2))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.triple.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"everything-else":{"patterns":[{"include":"#comment"},{"include":"#record-usage"},{"include":"#macro-usage"},{"include":"#expression"},{"include":"#keyword"},{"include":"#textual-operator"},{"include":"#language-constant"},{"include":"#function-call"},{"include":"#tuple"},{"include":"#list"},{"include":"#binary"},{"include":"#parenthesized-expression"},{"include":"#character"},{"include":"#number"},{"include":"#atom"},{"include":"#sigil-docstring"},{"include":"#sigil-docstring-verbatim"},{"include":"#sigil-string"},{"include":"#docstring"},{"include":"#string"},{"include":"#symbolic-operator"},{"include":"#variable"}]},"expression":{"patterns":[{"begin":"\\\\b(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.if.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.if.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(case)\\\\b","beginCaptures":{"1":{"name":"keyword.control.case.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.case.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(receive)\\\\b","beginCaptures":{"1":{"name":"keyword.control.receive.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.receive.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"captures":{"1":{"name":"keyword.control.fun.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"variable.other.erlang"},"6":{"name":"punctuation.separator.module-function.erlang"},"8":{"name":"entity.name.function.erlang"},"9":{"name":"variable.other.erlang"},"10":{"name":"punctuation.separator.function-arity.erlang"}},"match":"\\\\b(fun)\\\\s+((([a-z][@-Z_a-z\\\\d]*+)|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)\\\\s*+)?(([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*(/)","name":"meta.expression.fun.implicit.erlang"},{"begin":"\\\\b(fun)\\\\s+(([a-z][@-Z_a-z\\\\d]*+)|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"},"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"}},"end":"(/)","endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}},"name":"meta.expression.fun.implicit.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\s+(?!\\\\()","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"end":"(/)","endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}},"name":"meta.expression.fun.implicit.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\s*+(\\\\()(?=(\\\\s*+\\\\()|(\\\\)))","beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\b","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.fun.erlang","patterns":[{"begin":"(?=\\\\()","end":"(;)|(?=\\\\bend\\\\b)","endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}},"patterns":[{"include":"#internal-function-parts"}]},{"include":"#everything-else"}]},{"begin":"\\\\b(try)\\\\b","beginCaptures":{"1":{"name":"keyword.control.try.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.try.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(begin)\\\\b","beginCaptures":{"1":{"name":"keyword.control.begin.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.begin.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(maybe)\\\\b","beginCaptures":{"1":{"name":"keyword.control.maybe.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.maybe.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]}]},"function":{"begin":"^\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.definition.erlang"}},"end":"(\\\\.)","endCaptures":{"1":{"name":"punctuation.terminator.function.erlang"}},"name":"meta.function.erlang","patterns":[{"captures":{"1":{"name":"entity.name.function.erlang"}},"match":"^\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(?=\\\\()"},{"begin":"(?=\\\\()","end":"(;)|(?=\\\\.)","endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}},"patterns":[{"include":"#parenthesized-expression"},{"include":"#internal-function-parts"}]},{"include":"#everything-else"}]},"function-call":{"begin":"(?=([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\'|_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\(|:\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\'|_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)\\\\s*+\\\\())","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"name":"meta.function-call.erlang","patterns":[{"begin":"((erlang)\\\\s*+(:)\\\\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\\\\s*+(\\\\()","beginCaptures":{"2":{"name":"entity.name.type.class.module.erlang"},"3":{"name":"punctuation.separator.module-function.erlang"},"4":{"name":"entity.name.function.guard.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(?=\\\\))","patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"begin":"((([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)\\\\s*+)?(([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(\\\\()","beginCaptures":{"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"},"7":{"name":"entity.name.function.erlang"},"8":{"name":"variable.other.erlang"},"9":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(?=\\\\))","patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]}]},"import-export-directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(import)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(,)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.import.erlang","patterns":[{"include":"#internal-function-list"}]},{"begin":"^\\\\s*+(-)\\\\s*+(export)\\\\s*+(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.export.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.export.erlang","patterns":[{"include":"#internal-function-list"}]}]},"internal-expression-punctuation":{"captures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"},"2":{"name":"punctuation.separator.clauses.erlang"},"3":{"name":"punctuation.separator.expressions.erlang"}},"match":"(->)|(;)|(,)"},"internal-function-list":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}},"name":"meta.structure.list.function.erlang","patterns":[{"begin":"([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(/)","beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.separator.function-arity.erlang"}},"end":"(,)|(?=])","endCaptures":{"1":{"name":"punctuation.separator.list.erlang"}},"patterns":[{"include":"#everything-else"}]},{"include":"#everything-else"}]},"internal-function-parts":{"patterns":[{"begin":"(?=\\\\()","end":"(->)","endCaptures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"match":"[,;]","name":"punctuation.separator.guards.erlang"},{"include":"#everything-else"}]},{"match":",","name":"punctuation.separator.expressions.erlang"},{"include":"#everything-else"}]},"internal-record-body":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.class.record.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.class.record.end.erlang"}},"name":"meta.structure.record.erlang","patterns":[{"begin":"(([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_))","beginCaptures":{"2":{"name":"variable.other.field.erlang"},"3":{"name":"variable.language.omitted.field.erlang"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.class.record.erlang"}},"patterns":[{"include":"#everything-else"}]},{"include":"#everything-else"}]},"internal-string-body":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\\\\\)([\\"\'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2})","name":"constant.character.escape.erlang"},{"match":"\\\\\\\\\\\\^?.?","name":"invalid.illegal.string.erlang"},{"include":"#internal-string-body-verbatim"}]},"internal-string-body-verbatim":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.placeholder.erlang"},"6":{"name":"punctuation.separator.placeholder-parts.erlang"},"10":{"name":"punctuation.separator.placeholder-parts.erlang"}},"match":"(~)((-)?\\\\d++|(\\\\*))?((\\\\.)(\\\\d++|(\\\\*))?((\\\\.)((\\\\*)|.))?)?[Kklt]*[#+BPWXbcefginpswx~]","name":"constant.character.format.placeholder.other.erlang"},{"captures":{"1":{"name":"punctuation.definition.placeholder.erlang"}},"match":"(~)(\\\\*)?(\\\\d++)?(t)?[-#acdflsu~]","name":"constant.character.format.placeholder.other.erlang"},{"match":"~[^\\"]?","name":"invalid.illegal.string.erlang"}]},"internal-type-specifiers":{"begin":"(/)","beginCaptures":{"1":{"name":"punctuation.separator.value-type.erlang"}},"end":"(?=[,:]|>>)","patterns":[{"captures":{"1":{"name":"storage.type.erlang"},"2":{"name":"storage.modifier.signedness.erlang"},"3":{"name":"storage.modifier.endianness.erlang"},"4":{"name":"storage.modifier.unit.erlang"},"5":{"name":"punctuation.separator.unit-specifiers.erlang"},"6":{"name":"constant.numeric.integer.decimal.erlang"},"7":{"name":"punctuation.separator.type-specifiers.erlang"}},"match":"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|((?:|un)signed)|(big|little|native)|(unit)(:)(\\\\d++)|(-)"}]},"keyword":{"match":"\\\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\\\b","name":"keyword.control.erlang"},"language-constant":{"match":"\\\\b(false|true|undefined)\\\\b","name":"constant.language"},"list":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}},"name":"meta.structure.list.erlang","patterns":[{"match":"\\\\|\\\\|??|,","name":"punctuation.separator.list.erlang"},{"include":"#everything-else"}]},"macro-directive":{"patterns":[{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifdef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(ifdef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.ifdef.erlang"},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifndef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(ifndef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.ifndef.erlang"},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.undef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(undef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.undef.erlang"}]},"macro-usage":{"captures":{"1":{"name":"keyword.operator.macro.erlang"},"2":{"name":"entity.name.function.macro.erlang"}},"match":"(\\\\?\\\\??)\\\\s*+([@-Z_a-z\\\\d]++)","name":"meta.macro-usage.erlang"},"module-directive":{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.module.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(module)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.module.erlang"},"number":{"begin":"(?=\\\\d)","end":"(?!\\\\d)","patterns":[{"captures":{"1":{"name":"punctuation.separator.integer-float.erlang"},"2":{"name":"punctuation.separator.float-exponent.erlang"}},"match":"\\\\d++(\\\\.)\\\\d++([Ee][-+]?\\\\d++)?","name":"constant.numeric.float.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"2(#)([01]++_)*[01]++","name":"constant.numeric.integer.binary.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"3(#)([012]++_)*[012]++","name":"constant.numeric.integer.base-3.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"4(#)([0-3]++_)*[0-3]++","name":"constant.numeric.integer.base-4.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"5(#)([0-4]++_)*[0-4]++","name":"constant.numeric.integer.base-5.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"6(#)([0-5]++_)*[0-5]++","name":"constant.numeric.integer.base-6.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"7(#)([0-6]++_)*[0-6]++","name":"constant.numeric.integer.base-7.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"8(#)([0-7]++_)*[0-7]++","name":"constant.numeric.integer.octal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"9(#)([0-8]++_)*[0-8]++","name":"constant.numeric.integer.base-9.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"10(#)(\\\\d++_)*\\\\d++","name":"constant.numeric.integer.decimal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"11(#)([Aa\\\\d]++_)*[Aa\\\\d]++","name":"constant.numeric.integer.base-11.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"12(#)([ABab\\\\d]++_)*[ABab\\\\d]++","name":"constant.numeric.integer.base-12.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"13(#)([ABCabc\\\\d]++_)*[ABCabc\\\\d]++","name":"constant.numeric.integer.base-13.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"14(#)([A-Da-d\\\\d]++_)*[A-Da-d\\\\d]++","name":"constant.numeric.integer.base-14.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"15(#)([A-Ea-e\\\\d]++_)*[A-Ea-e\\\\d]++","name":"constant.numeric.integer.base-15.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"16(#)([A-Fa-f\\\\d]++_)*[A-Fa-f\\\\d]++","name":"constant.numeric.integer.hexadecimal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"17(#)([A-Ga-g\\\\d]++_)*[A-Ga-g\\\\d]++","name":"constant.numeric.integer.base-17.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"18(#)([A-Ha-h\\\\d]++_)*[A-Ha-h\\\\d]++","name":"constant.numeric.integer.base-18.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"19(#)([A-Ia-i\\\\d]++_)*[A-Ia-i\\\\d]++","name":"constant.numeric.integer.base-19.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"20(#)([A-Ja-j\\\\d]++_)*[A-Ja-j\\\\d]++","name":"constant.numeric.integer.base-20.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"21(#)([A-Ka-k\\\\d]++_)*[A-Ka-k\\\\d]++","name":"constant.numeric.integer.base-21.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"22(#)([A-La-l\\\\d]++_)*[A-La-l\\\\d]++","name":"constant.numeric.integer.base-22.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"23(#)([A-Ma-m\\\\d]++_)*[A-Ma-m\\\\d]++","name":"constant.numeric.integer.base-23.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"24(#)([A-Na-n\\\\d]++_)*[A-Na-n\\\\d]++","name":"constant.numeric.integer.base-24.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"25(#)([A-Oa-o\\\\d]++_)*[A-Oa-o\\\\d]++","name":"constant.numeric.integer.base-25.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"26(#)([A-Pa-p\\\\d]++_)*[A-Pa-p\\\\d]++","name":"constant.numeric.integer.base-26.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"27(#)([A-Qa-q\\\\d]++_)*[A-Qa-q\\\\d]++","name":"constant.numeric.integer.base-27.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"28(#)([A-Ra-r\\\\d]++_)*[A-Ra-r\\\\d]++","name":"constant.numeric.integer.base-28.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"29(#)([A-Sa-s\\\\d]++_)*[A-Sa-s\\\\d]++","name":"constant.numeric.integer.base-29.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"30(#)([A-Ta-t\\\\d]++_)*[A-Ta-t\\\\d]++","name":"constant.numeric.integer.base-30.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"31(#)([A-Ua-u\\\\d]++_)*[A-Ua-u\\\\d]++","name":"constant.numeric.integer.base-31.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"32(#)([A-Va-v\\\\d]++_)*[A-Va-v\\\\d]++","name":"constant.numeric.integer.base-32.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"33(#)([A-Wa-w\\\\d]++_)*[A-Wa-w\\\\d]++","name":"constant.numeric.integer.base-33.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"34(#)([A-Xa-x\\\\d]++_)*[A-Xa-x\\\\d]++","name":"constant.numeric.integer.base-34.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"35(#)([A-Ya-y\\\\d]++_)*[A-Ya-y\\\\d]++","name":"constant.numeric.integer.base-35.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"36(#)([A-Za-z\\\\d]++_)*[A-Za-z\\\\d]++","name":"constant.numeric.integer.base-36.erlang"},{"match":"\\\\d++#([A-Za-z\\\\d]++_)*[A-Za-z\\\\d]++","name":"invalid.illegal.integer.erlang"},{"match":"(\\\\d++_)*\\\\d++","name":"constant.numeric.integer.decimal.erlang"}]},"parenthesized-expression":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.erlang"}},"name":"meta.expression.parenthesized","patterns":[{"include":"#everything-else"}]},"record-directive":{"begin":"^\\\\s*+(-)\\\\s*+(record)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(,)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.record.definition.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.record.erlang","patterns":[{"include":"#internal-record-body"},{"include":"#comment"}]},"record-usage":{"patterns":[{"captures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"},"3":{"name":"punctuation.separator.record-field.erlang"},"4":{"name":"variable.other.field.erlang"}},"match":"(#)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(\\\\.)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')","name":"meta.record-usage.erlang"},{"begin":"(#)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')","beginCaptures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"}},"end":"(?<=})","name":"meta.record-usage.erlang","patterns":[{"include":"#internal-record-body"}]}]},"sigil-docstring":{"begin":"(~[bs])((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\3))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.tripple.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-docstring-verbatim":{"begin":"(~[BS]?)((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\3))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.tripple.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string":{"patterns":[{"include":"#sigil-string-parenthesis"},{"include":"#sigil-string-parenthesis-verbatim"},{"include":"#sigil-string-curly-brackets"},{"include":"#sigil-string-curly-brackets-verbatim"},{"include":"#sigil-string-square-brackets"},{"include":"#sigil-string-square-brackets-verbatim"},{"include":"#sigil-string-less-greater"},{"include":"#sigil-string-less-greater-verbatim"},{"include":"#sigil-string-single-character"},{"include":"#sigil-string-single-character-verbatim"},{"include":"#sigil-string-single-quote"},{"include":"#sigil-string-single-quote-verbatim"},{"include":"#sigil-string-double-quote"},{"include":"#sigil-string-double-quote-verbatim"}]},"sigil-string-curly-brackets":{"begin":"(~[bs]?)(\\\\{)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-curly-brackets-verbatim":{"begin":"(~[BS])(\\\\{)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-double-quote":{"begin":"(~[bs]?)(\\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-double-quote-verbatim":{"begin":"(~[BS])(\\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-less-greater":{"begin":"(~[bs]?)(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-less-greater-verbatim":{"begin":"(~[BS])(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-parenthesis":{"begin":"(~[bs]?)(\\\\()","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-parenthesis-verbatim":{"begin":"(~[BS])(\\\\()","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-single-character":{"begin":"(~[bs]?)([#/`|])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-character-verbatim":{"begin":"(~[BS])([#/`|])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-single-quote":{"begin":"(~[bs]?)(\')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-quote-verbatim":{"begin":"(~[BS])(\')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-square-brackets":{"begin":"(~[bs]?)(\\\\[)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-square-brackets-verbatim":{"begin":"(~[BS])(\\\\[)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"string":{"begin":"(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.erlang","patterns":[{"include":"#internal-string-body"}]},"symbolic-operator":{"match":"\\\\+\\\\+?|--|[-*]|/=?|=/=|=:=|==|=<?|<-?|>=|[!>]|::|\\\\?=","name":"keyword.operator.symbolic.erlang"},"textual-operator":{"match":"\\\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\\\b","name":"keyword.operator.textual.erlang"},"tuple":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.tuple.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.tuple.end.erlang"}},"name":"meta.structure.tuple.erlang","patterns":[{"match":",","name":"punctuation.separator.tuple.erlang"},{"include":"#everything-else"}]},"variable":{"captures":{"1":{"name":"variable.other.erlang"},"2":{"name":"variable.language.omitted.erlang"}},"match":"(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)|(_)"}},"scopeName":"source.erlang","embeddedLangs":["markdown"],"aliases":["erl"]}')),HV=[...g7,jV]});var gx={};u1(gx,{default:()=>TV});var NV,TV,bx=n1(()=>{u4();NV=Object.freeze(JSON.parse('{"displayName":"Elixir","fileTypes":["ex","exs"],"firstLineMatch":"^#!/.*\\\\belixir","foldingStartMarker":"(after|else|catch|rescue|->|[\\\\[{]|do)\\\\s*$","foldingStopMarker":"^\\\\s*(([]}]|after|else|catch|rescue)\\\\s*$|end\\\\b)","name":"elixir","patterns":[{"begin":"\\\\b(fn)\\\\b(?!.*->)","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"$","patterns":[{"include":"#core_syntax"}]},{"captures":{"1":{"name":"entity.name.type.class.elixir"},"2":{"name":"punctuation.separator.method.elixir"},"3":{"name":"entity.name.function.elixir"}},"match":"([A-Z]\\\\w+)\\\\s*(\\\\.)\\\\s*([_a-z]\\\\w*[!?]?)"},{"captures":{"1":{"name":"constant.other.symbol.elixir"},"2":{"name":"punctuation.separator.method.elixir"},"3":{"name":"entity.name.function.elixir"}},"match":"(:\\\\w+)\\\\s*(\\\\.)\\\\s*(_?\\\\w*[!?]?)"},{"captures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"entity.name.function.elixir"}},"match":"(\\\\|>)\\\\s*([_a-z]\\\\w*[!?]?)"},{"match":"\\\\b[_a-z]\\\\w*[!?]?(?=\\\\s*\\\\.?\\\\s*\\\\()","name":"entity.name.function.elixir"},{"begin":"\\\\b(fn)\\\\b(?=.*->)","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"(?>(->)|(when)|(\\\\)))","endCaptures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"keyword.control.elixir"},"3":{"name":"punctuation.section.function.elixir"}},"patterns":[{"include":"#core_syntax"}]},{"include":"#core_syntax"},{"begin":"^(?=.*->)((?![^\\"\']*([\\"\'])[^\\"\']*->)|(?=.*->[^\\"\']*([\\"\'])[^\\"\']*->))((?!.*\\\\([^)]*->)|(?=[^()]*->)|(?=\\\\s*\\\\(.*\\\\).*->))((?!.*\\\\b(fn)\\\\b)|(?=.*->.*\\\\bfn\\\\b))","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"(?>(->)|(when)|(\\\\)))","endCaptures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"keyword.control.elixir"},"3":{"name":"punctuation.section.function.elixir"}},"patterns":[{"include":"#core_syntax"}]}],"repository":{"core_syntax":{"patterns":[{"begin":"^\\\\s*(defmodule)\\\\b","beginCaptures":{"1":{"name":"keyword.control.module.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.module.elixir"}},"name":"meta.module.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*(?=\\\\.)","name":"entity.other.inherited-class.elixir"},{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.class.elixir"}]},{"begin":"^\\\\s*(defprotocol)\\\\b","beginCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"name":"meta.protocol_declaration.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.protocol.elixir"}]},{"begin":"^\\\\s*(defimpl)\\\\b","beginCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"name":"meta.protocol_implementation.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.protocol.elixir"}]},{"begin":"^\\\\s*(def(?:|macro|delegate|guard))\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))((\\\\()|\\\\s*)","beginCaptures":{"1":{"name":"keyword.control.module.elixir"},"2":{"name":"entity.name.function.public.elixir"},"4":{"name":"punctuation.section.function.elixir"}},"end":"\\\\b(do:)|\\\\b(do)\\\\b|(?=\\\\s+(def(?:|n|macro|delegate|guard))\\\\b)","endCaptures":{"1":{"name":"constant.other.keywords.elixir"},"2":{"name":"keyword.control.module.elixir"}},"name":"meta.function.public.elixir","patterns":[{"include":"$self"},{"begin":"\\\\s(\\\\\\\\\\\\\\\\)","beginCaptures":{"1":{"name":"keyword.operator.other.elixir"}},"end":"[),]|$","patterns":[{"include":"$self"}]},{"match":"\\\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\\\b","name":"keyword.control.elixir"}]},{"begin":"^\\\\s*(def(?:|n|macro|guard)p)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))((\\\\()|\\\\s*)","beginCaptures":{"1":{"name":"keyword.control.module.elixir"},"2":{"name":"entity.name.function.private.elixir"},"4":{"name":"punctuation.section.function.elixir"}},"end":"\\\\b(do:)|\\\\b(do)\\\\b|(?=\\\\s+(def(?:p|macrop|guardp))\\\\b)","endCaptures":{"1":{"name":"constant.other.keywords.elixir"},"2":{"name":"keyword.control.module.elixir"}},"name":"meta.function.private.elixir","patterns":[{"include":"$self"},{"begin":"\\\\s(\\\\\\\\\\\\\\\\)","beginCaptures":{"1":{"name":"keyword.operator.other.elixir"}},"end":"[),]|$","patterns":[{"include":"$self"}]},{"match":"\\\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\\\b","name":"keyword.control.elixir"}]},{"begin":"\\\\s*~L\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"sigil.leex","patterns":[{"include":"text.elixir"},{"include":"text.html.basic"}]},{"begin":"\\\\s*~H\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"sigil.heex","patterns":[{"include":"text.elixir"},{"include":"text.html.basic"}]},{"begin":"@(module|type)?doc (~[a-z])?\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"comment.block.documentation.heredoc","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"@(module|type)?doc ~[A-Z]\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"comment.block.documentation.heredoc"},{"begin":"@(module|type)?doc (~[a-z])?\'\'\'","end":"\\\\s*\'\'\'","name":"comment.block.documentation.heredoc","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"@(module|type)?doc ~[A-Z]\'\'\'","end":"\\\\s*\'\'\'","name":"comment.block.documentation.heredoc"},{"match":"@(module|type)?doc false","name":"comment.block.documentation.false"},{"begin":"@(module|type)?doc \\"","end":"\\"","name":"comment.block.documentation.string","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"match":"(?<!\\\\.)\\\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defnp?|defmacrop?|defguardp?|defdelegate|defexception|defoverridable|exit|after|rescue|catch|else|raise|reraise|throw|import|require|alias|use|quote|unquote|super|with)\\\\b(?![!:?])","name":"keyword.control.elixir"},{"match":"(?<!\\\\.)\\\\b(and|not|or|when|xor|in)\\\\b","name":"keyword.operator.elixir"},{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.class.elixir"},{"match":"\\\\b(nil|true|false)\\\\b(?![!?])","name":"constant.language.elixir"},{"match":"\\\\b(__(CALLER|ENV|MODULE|DIR|STACKTRACE)__)\\\\b(?![!?])","name":"variable.language.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"(@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.module.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"(&)\\\\d+","name":"variable.other.anonymous.elixir"},{"match":"&(?!&)","name":"variable.other.anonymous.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"\\\\^[_a-z]\\\\w*","name":"variable.other.capture.elixir"},{"match":"\\\\b0x\\\\h(?>_?\\\\h)*\\\\b","name":"constant.numeric.hex.elixir"},{"match":"\\\\b\\\\d(?>_?\\\\d)*(\\\\.(?![^\\\\s\\\\d])(?>_?\\\\d)+)([Ee][-+]?\\\\d(?>_?\\\\d)*)?\\\\b","name":"constant.numeric.float.elixir"},{"match":"\\\\b\\\\d(?>_?\\\\d)*\\\\b","name":"constant.numeric.integer.elixir"},{"match":"\\\\b0b[01](?>_?[01])*\\\\b","name":"constant.numeric.binary.elixir"},{"match":"\\\\b0o[0-7](?>_?[0-7])*\\\\b","name":"constant.numeric.octal.elixir"},{"begin":":\'","captures":{"0":{"name":"punctuation.definition.constant.elixir"}},"end":"\'","name":"constant.other.symbol.single-quoted.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":":\\"","captures":{"0":{"name":"punctuation.definition.constant.elixir"}},"end":"\\"","name":"constant.other.symbol.double-quoted.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\'\'\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\'\'\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.single.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.single.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.double.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.double.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"}[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"][a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":">[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\)[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\1[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[A-Z]\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.heredoc.literal.elixir"},{"begin":"~[A-Z]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"}[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"][a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":">[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\)[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\1[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"captures":{"1":{"name":"punctuation.definition.constant.elixir"}},"match":"(?<!:)(:)(?>[A-Z_a-z][@\\\\w]*(?>[!?]|=(?![=>]))?|<>|===?|!==?|<<>>|<<<|>>>|~~~|::|<-|\\\\|>|=>|=~|[/=]|\\\\\\\\\\\\\\\\|\\\\*\\\\*?|\\\\.\\\\.?\\\\.?|\\\\.\\\\.//|>=?|<=?|&&?&?|\\\\+\\\\+?|--?|\\\\|\\\\|?\\\\|?|[!@]|%?\\\\{}|%|\\\\[]|\\\\^(\\\\^\\\\^)?)","name":"constant.other.symbol.elixir"},{"captures":{"1":{"name":"punctuation.definition.constant.elixir"}},"match":"(?>[A-Z_a-z][@\\\\w]*[!?]?)(:)(?!:)","name":"constant.other.keywords.elixir"},{"begin":"(^[\\\\t ]+)?(?=##)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.elixir"}},"end":"(?!#)","patterns":[{"begin":"##","beginCaptures":{"0":{"name":"punctuation.definition.comment.elixir"}},"end":"\\\\n","name":"comment.line.section.elixir"}]},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.elixir"}},"end":"(?!#)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.elixir"}},"end":"\\\\n","name":"comment.line.number-sign.elixir"}]},{"match":"\\\\b_([^_]\\\\w+[!?]?)","name":"comment.unused.elixir"},{"match":"\\\\b_\\\\b","name":"comment.wildcard.elixir"},{"match":"(?<!\\\\w)\\\\?(\\\\\\\\(x\\\\h{1,2}(?!\\\\h)\\\\b|[^CMx])|[^\\\\\\\\\\\\s])","name":"constant.numeric.elixir"},{"match":"\\\\+\\\\+|--|<\\\\|>","name":"keyword.operator.concatenation.elixir"},{"match":"\\\\|>|<~>|<>|<<<|>>>|~>>|<<~|~>|<~|<\\\\|>","name":"keyword.operator.sigils_1.elixir"},{"match":"&&&?","name":"keyword.operator.sigils_2.elixir"},{"match":"<-|\\\\\\\\\\\\\\\\","name":"keyword.operator.sigils_3.elixir"},{"match":"===?|!==?|<=?|>=?","name":"keyword.operator.comparison.elixir"},{"match":"(\\\\|\\\\|\\\\||&&&|\\\\^\\\\^\\\\^|<<<|>>>|~~~)","name":"keyword.operator.bitwise.elixir"},{"match":"(?<=[\\\\t ])!+|\\\\bnot\\\\b|&&|\\\\band\\\\b|\\\\|\\\\||\\\\bor\\\\b|\\\\bxor\\\\b","name":"keyword.operator.logical.elixir"},{"match":"([-*+/])","name":"keyword.operator.arithmetic.elixir"},{"match":"\\\\||\\\\+\\\\+|--|\\\\*\\\\*|\\\\\\\\\\\\\\\\|<-|<>|<<|>>|::|\\\\.\\\\.|//|\\\\|>|~|=>|&","name":"keyword.operator.other.elixir"},{"match":"=","name":"keyword.operator.assignment.elixir"},{"match":":","name":"punctuation.separator.other.elixir"},{"match":";","name":"punctuation.separator.statement.elixir"},{"match":",","name":"punctuation.separator.object.elixir"},{"match":"\\\\.","name":"punctuation.separator.method.elixir"},{"match":"[{}]","name":"punctuation.section.scope.elixir"},{"match":"[]\\\\[]","name":"punctuation.section.array.elixir"},{"match":"[()]","name":"punctuation.section.function.elixir"}]},"escaped_char":{"match":"\\\\\\\\(x[A-Fa-f\\\\d]{1,2}|.)","name":"constant.character.escaped.elixir"},"interpolated_elixir":{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.elixir"}},"contentName":"source.elixir","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.elixir"}},"name":"meta.embedded.line.elixir","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.elixir"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]}},"scopeName":"source.elixir","embeddedLangs":["html"]}')),TV=[...I2,NV]});var fx={};u1(fx,{default:()=>qV});var VV,qV,vx=n1(()=>{VV=Object.freeze(JSON.parse('{"displayName":"Haskell","fileTypes":["hs","hs-boot","hsig"],"name":"haskell","patterns":[{"include":"#liquid_haskell"},{"include":"#comment_like"},{"include":"#numeric_literals"},{"include":"#string_literal"},{"include":"#char_literal"},{"match":"(?<![#@])-}","name":"invalid"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*(\\\\))","name":"constant.language.unit.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"constant.language.unit.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*,[,\\\\s]*(\\\\))","name":"support.constant.tuple.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*,[,\\\\s]*(#)(\\\\))","name":"support.constant.tuple.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.bracket.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"match":"(\\\\[)\\\\s*(])","name":"constant.language.empty-list.haskell"},{"begin":"(\\\\b(?<!\')(module)|^(signature))\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.module.haskell"},"3":{"name":"keyword.other.signature.haskell"}},"end":"(?=\\\\b(?<!\')where\\\\b(?!\'))","name":"meta.declaration.module.haskell","patterns":[{"include":"#comment_like"},{"include":"#module_name"},{"include":"#module_exports"},{"match":"[a-z]+","name":"invalid"}]},{"include":"#ffi"},{"begin":"^(\\\\s*)(class)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.class.haskell"}},"end":"(?=(?<!\')\\\\bwhere\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.class.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(data|newtype)(?:\\\\s+(instance))?\\\\s+((?:(?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')(?:where|deriving)\\\\b(?!\')|\\\\{-).)*)(?=\\\\b(?<!\'\')where\\\\b(?!\'\'))","beginCaptures":{"2":{"name":"keyword.other.$2.haskell"},"3":{"name":"keyword.other.instance.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=(?<!\')\\\\bderiving\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.$2.generalized.haskell","patterns":[{"include":"#comment_like"},{"begin":"(?<!\')\\\\b(where)\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.where.haskell"},"2":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#gadt_constructor"},{"match":";","name":"punctuation.semicolon.haskell"}]},{"match":"\\\\b(?<!\')(where)\\\\b(?!\')","name":"keyword.other.where.haskell"},{"include":"#deriving"},{"include":"#gadt_constructor"}]},{"include":"#role_annotation"},{"begin":"^(\\\\s*)(pattern)\\\\s+(.*?)\\\\s+(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","beginCaptures":{"2":{"name":"keyword.other.pattern.haskell"},"3":{"patterns":[{"include":"#comma"},{"include":"#data_constructor"}]},"4":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.pattern.type.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"^\\\\s*(pattern)\\\\b(?!\')","captures":{"1":{"name":"keyword.other.pattern.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.pattern.haskell","patterns":[{"include":"$self"}]},{"begin":"^(\\\\s*)(data|newtype)(?:\\\\s+(family|instance))?\\\\s+(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')(?:where|deriving)\\\\b(?!\')|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.$2.haskell"},"3":{"name":"keyword.other.$3.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.$2.algebraic.haskell","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#forall"},{"include":"#adt_constructor"},{"include":"#context"},{"include":"#record_decl"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(type)\\\\s+(family)\\\\b(?!\')(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')where\\\\b(?!\')|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.family.haskell"},"4":{"patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.type.family.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(type)(?:\\\\s+(instance))?\\\\s+(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+|::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.instance.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.type.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(instance)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.instance.haskell"}},"end":"(?=\\\\b(?<!\')(where)\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.instance.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(import)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.import.haskell"}},"end":"(?=\\\\b(?<!\')(where)\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.import.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"captures":{"1":{"name":"keyword.other.$1.haskell"}},"match":"(qualified|as|hiding)"},{"include":"#module_name"},{"include":"#module_exports"}]},{"include":"#deriving"},{"include":"#layout_herald"},{"include":"#keyword"},{"captures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"patterns":[{"include":"#comment_like"},{"include":"#integer_literals"},{"include":"#infix_op"}]}},"match":"^\\\\s*(infix[lr]?)\\\\s+(.*)","name":"meta.fixity-declaration.haskell"},{"include":"#overloaded_label"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#fun_decl"},{"include":"#qualifier"},{"include":"#data_constructor"},{"include":"#start_type_signature"},{"include":"#prefix_op"},{"include":"#infix_op"},{"begin":"(\\\\()(#)\\\\s","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"include":"#quasi_quote"},{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"include":"#record"}],"repository":{"adt_constructor":{"patterns":[{"include":"#comment_like"},{"begin":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:(=)|(\\\\|))(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","beginCaptures":{"1":{"name":"keyword.operator.eq.haskell"},"2":{"name":"keyword.operator.pipe.haskell"}},"end":"(?:\\\\G|^)\\\\s*(?:(?<!\')\\\\b([\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]+)|(\'?(?<paren>\\\\((?:[^()]?|\\\\g<paren>)*\\\\)))|(\'?(?<brac>\\\\((?:[^]\\\\[]?|\\\\g<brac>)*])))\\\\s*(?:(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)|(`)([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`))|(?<!\')\\\\b([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\))","endCaptures":{"1":{"patterns":[{"include":"#type_signature"}]},"2":{"patterns":[{"include":"#type_signature"}]},"4":{"patterns":[{"include":"#type_signature"}]},"6":{"name":"constant.other.operator.haskell"},"7":{"name":"punctuation.backtick.haskell"},"8":{"name":"constant.other.haskell"},"9":{"name":"punctuation.backtick.haskell"},"10":{"name":"constant.other.haskell"},"11":{"name":"punctuation.paren.haskell"},"12":{"name":"constant.other.operator.haskell"},"13":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#record_decl"},{"include":"#forall"},{"include":"#context"}]}]},"block_comment":{"applyEndPatternLast":1,"begin":"\\\\{-","captures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"-}","name":"comment.block.haskell","patterns":[{"include":"#block_comment"}]},"char_literal":{"captures":{"1":{"name":"punctuation.definition.string.begin.haskell"},"2":{"name":"constant.character.escape.haskell"},"3":{"name":"constant.character.escape.octal.haskell"},"4":{"name":"constant.character.escape.hexadecimal.haskell"},"5":{"name":"constant.character.escape.control.haskell"},"6":{"name":"punctuation.definition.string.end.haskell"}},"match":"(?<![\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])(\')(?:[ -\\\\[\\\\]-~]|(\\\\\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&\'\\\\\\\\abfnrtv]))|(\\\\\\\\o[0-7]+)|(\\\\\\\\x\\\\h+)|(\\\\\\\\\\\\^[@-_]))(\')","name":"string.quoted.single.haskell"},"comma":{"match":",","name":"punctuation.separator.comma.haskell"},"comment_like":{"patterns":[{"include":"#cpp"},{"include":"#pragma"},{"include":"#comments"}]},"comments":{"patterns":[{"begin":"^(\\\\s*)(--\\\\s[$|])","beginCaptures":{"2":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"(?=^(?!\\\\1--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])))","name":"comment.block.documentation.haskell"},{"begin":"(^[\\\\t ]+)?(--\\\\s[*^])","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"\\\\n","name":"comment.line.documentation.haskell"},{"applyEndPatternLast":1,"begin":"\\\\{-\\\\s?[$*^|]","captures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"-}","name":"comment.block.documentation.haskell","patterns":[{"include":"#block_comment"}]},{"begin":"(^[\\\\t ]+)?(?=--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]))","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"(?!\\\\G)","patterns":[{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"\\\\n","name":"comment.line.double-dash.haskell"}]},{"include":"#block_comment"}]},"context":{"captures":{"1":{"patterns":[{"include":"#comment_like"},{"include":"#type_signature"}]},"2":{"name":"keyword.operator.big-arrow.haskell"}},"match":"(.*)(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(=>|\u21D2)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},"cpp":{"captures":{"1":{"name":"punctuation.definition.preprocessor.c"}},"match":"^(#).*$","name":"meta.preprocessor.c"},"data_constructor":{"match":"\\\\b(?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?![\'.\\\\w])","name":"constant.other.haskell"},"deriving":{"patterns":[{"begin":"^(\\\\s*)(deriving)\\\\s+(?:(via|stock|newtype|anyclass)\\\\s+)?","beginCaptures":{"2":{"name":"keyword.other.deriving.haskell"},"3":{"name":"keyword.other.deriving.strategy.$3.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.deriving.haskell","patterns":[{"include":"#comment_like"},{"match":"(?<!\')\\\\b(instance)\\\\b(?!\')","name":"keyword.other.instance.haskell"},{"captures":{"1":{"name":"keyword.other.deriving.strategy.$1.haskell"}},"match":"(?<!\')\\\\b(via|stock|newtype|anyclass)\\\\b(?!\')"},{"include":"#type_signature"}]},{"begin":"(deriving)(?:\\\\s+(stock|newtype|anyclass))?\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.deriving.haskell"},"2":{"name":"keyword.other.deriving.strategy.$2.haskell"},"3":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"name":"meta.deriving.haskell","patterns":[{"include":"#type_signature"}]},{"captures":{"1":{"name":"keyword.other.deriving.haskell"},"2":{"name":"keyword.other.deriving.strategy.$2.haskell"},"3":{"patterns":[{"include":"#type_signature"}]},"5":{"name":"keyword.other.deriving.strategy.via.haskell"},"6":{"patterns":[{"include":"#type_signature"}]}},"match":"(deriving)(?:\\\\s+(stock|newtype|anyclass))?\\\\s+([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(\\\\s+(via)\\\\s+(.*)$)?","name":"meta.deriving.haskell"},{"match":"(?<!\')\\\\b(via)\\\\b(?!\')","name":"keyword.other.deriving.strategy.via.haskell"}]},"double_colon":{"captures":{"1":{"name":"keyword.operator.double-colon.haskell"}},"match":"\\\\s*(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])\\\\s*"},"export_constructs":{"patterns":[{"include":"#comment_like"},{"begin":"\\\\b(?<!\')(pattern)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.pattern.haskell"}},"end":"([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","endCaptures":{"1":{"name":"constant.other.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"constant.other.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"}]},{"begin":"\\\\b(?<!\')(type)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.type.haskell"}},"end":"([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","endCaptures":{"1":{"name":"storage.type.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"storage.type.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"}]},{"match":"(?<!\')\\\\b[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"entity.name.function.haskell"},{"match":"(?<!\')\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"storage.type.haskell"},{"include":"#record_wildcard"},{"include":"#reserved_symbol"},{"include":"#prefix_op"}]},"ffi":{"begin":"^(\\\\s*)(foreign)\\\\s+((?:im|ex)port)\\\\s+","beginCaptures":{"2":{"name":"keyword.other.foreign.haskell"},"3":{"name":"keyword.other.$3.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.$3.foreign.haskell","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.calling-convention.$1.haskell"}},"match":"\\\\b(?<!\')(ccall|cplusplus|dotnet|jvm|stdcall|prim|capi)\\\\s+"},{"begin":"(?=\\")|(?=\\\\b(?<!\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\'))","end":"(?=(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]))","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.safety.$1.haskell"},"2":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]},"3":{"name":"entity.name.function.haskell"},"4":{"name":"entity.name.function.infix.haskell"}},"match":"\\\\b(?<!\')(safe|unsafe|interruptible)\\\\b(?!\')\\\\s*(\\"(?:\\\\\\\\\\"|[^\\"])*\\")?\\\\s*(?:\\\\b(?<!\'\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\')|\\\\(\\\\s*(?!--+\\\\))([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*\\\\))"},{"captures":{"1":{"name":"keyword.other.safety.$1.haskell"},"2":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]}},"match":"\\\\b(?<!\')(safe|unsafe|interruptible)\\\\b(?!\')\\\\s*(\\"(?:\\\\\\\\\\"|[^\\"])*\\")?\\\\s*$"},{"captures":{"0":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]}},"match":"\\"(?:\\\\\\\\\\"|[^\\"])*\\""},{"captures":{"1":{"name":"entity.name.function.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"entity.name.function.infix.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"\\\\b(?<!\'\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\')|(\\\\()\\\\s*(?!--+\\\\))([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))"}]},{"include":"#double_colon"},{"include":"#type_signature"}]},"float_literals":{"captures":{"1":{"name":"constant.numeric.floating.decimal.haskell"},"2":{"name":"constant.numeric.floating.hexadecimal.haskell"}},"match":"\\\\b(?<!\')(?:([0-9][0-9_]*\\\\.[0-9][0-9_]*(?:[Ee][-+]?[0-9][0-9_]*)?|[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*)|(0(?:[Xx]_*\\\\h[_\\\\h]*\\\\.\\\\h[_\\\\h]*(?:[Pp][-+]?[0-9][0-9_]*)?|[Xx]_*\\\\h[_\\\\h]*[Pp][-+]?[0-9][0-9_]*)))\\\\b(?!\')"},"forall":{"begin":"\\\\b(?<!\')(forall|\u2200)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.forall.haskell"}},"end":"(\\\\.)|(->|\u2192)","endCaptures":{"1":{"name":"keyword.operator.period.haskell"},"2":{"name":"keyword.operator.arrow.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#type_variable"},{"include":"#type_signature"}]},"fun_decl":{"begin":"^(\\\\s*)(?<fn>(?:[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*#*|\\\\(\\\\s*(?!--+\\\\))[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),:;\\\\[_`{}]][[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*\\\\s*\\\\))(?:\\\\s*,\\\\s*\\\\g<fn>)?)\\\\s*(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'),;_`}]])(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])","beginCaptures":{"2":{"name":"entity.name.function.haskell","patterns":[{"include":"#reserved_symbol"},{"include":"#prefix_op"}]},"3":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])((<-|\u2190)|(=)|(-<|\u21A2)|(-<<|\u291B))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]]))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.function.type-declaration.haskell","patterns":[{"include":"#type_signature"}]},"gadt_constructor":{"patterns":[{"begin":"^(\\\\s*)(?:\\\\b((?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\)))","beginCaptures":{"2":{"name":"constant.other.haskell"},"3":{"name":"punctuation.paren.haskell"},"4":{"name":"constant.other.operator.haskell"},"5":{"name":"punctuation.paren.haskell"}},"end":"(?=\\\\b(?<!\'\')deriving\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#double_colon"},{"include":"#record_decl"},{"include":"#type_signature"}]},{"begin":"\\\\b((?<!\')[\\\\p{Lu}\\\\p{Lt}][_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"constant.other.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"constant.other.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"$","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#double_colon"},{"include":"#record_decl"},{"include":"#type_signature"}]}]},"infix_op":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"keyword.operator.infix.haskell"}},"match":"((?:(?<!\'\')(\'\')?[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))"},{"captures":{"1":{"name":"punctuation.backtick.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"patterns":[{"include":"#data_constructor"}]},"4":{"name":"punctuation.backtick.haskell"}},"match":"(`)((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([_\\\\p{Ll}\\\\p{Lu}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`)","name":"keyword.operator.function.infix.haskell"}]},"inline_phase":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"name":"meta.inlining-phase.haskell","patterns":[{"match":"~","name":"punctuation.tilde.haskell"},{"include":"#integer_literals"},{"match":"\\\\w*","name":"invalid"}]},"integer_literals":{"captures":{"1":{"name":"constant.numeric.integral.decimal.haskell"},"2":{"name":"constant.numeric.integral.hexadecimal.haskell"},"3":{"name":"constant.numeric.integral.octal.haskell"},"4":{"name":"constant.numeric.integral.binary.haskell"}},"match":"\\\\b(?<!\')(?:([0-9][0-9_]*)|(0[Xx]_*\\\\h[_\\\\h]*)|(0[Oo]_*[0-7][0-7_]*)|(0[Bb]_*[01][01_]*))\\\\b(?!\')"},"keyword":{"captures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"name":"keyword.control.$2.haskell"}},"match":"\\\\b(?<!\')(?:(where|let|in|default)|(m?do|if|then|else|case|of|proc|rec))\\\\b(?!\')"},"layout_herald":{"begin":"(?<!\')\\\\b(?:(where|let|m?do)|(of))\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"name":"keyword.control.of.haskell"},"3":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"$self"},{"match":";","name":"punctuation.semicolon.haskell"}]},"liquid_haskell":{"begin":"\\\\{-@","end":"@-}","name":"block.liquidhaskell.haskell","patterns":[{"include":"$self"}]},"module_exports":{"applyEndPatternLast":1,"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"name":"meta.declaration.exports.haskell","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.module.haskell"}},"match":"\\\\b(?<!\')(module)\\\\b(?!\')"},{"include":"#comma"},{"include":"#export_constructs"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#record_wildcard"},{"include":"#export_constructs"},{"include":"#comma"}]}]},"module_name":{"match":"(?<conid>[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(\\\\.\\\\g<conid>)?)","name":"entity.name.namespace.haskell"},"numeric_literals":{"patterns":[{"include":"#float_literals"},{"include":"#integer_literals"}]},"overloaded_label":{"patterns":[{"captures":{"1":{"name":"keyword.operator.prefix.hash.haskell"},"2":{"patterns":[{"include":"#string_literal"}]}},"match":"(?<![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^(,;\\\\[`{]])(#)(?:(\\"(?:\\\\\\\\\\"|[^\\"])*\\")|[\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]+)","name":"entity.name.label.haskell"}]},"pragma":{"begin":"\\\\{-#","end":"#-}","name":"meta.preprocessor.haskell","patterns":[{"begin":"(?i)\\\\b(?<!\')(LANGUAGE)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"}},"end":"(?=#-})","patterns":[{"match":"(?:No)?(?:AutoDeriveTypeable|DatatypeContexts|DoRec|IncoherentInstances|MonadFailDesugaring|MonoPatBinds|NullaryTypeClasses|OverlappingInstances|PatternSignatures|RecordPuns|RelaxedPolyRec)","name":"invalid.deprecated"},{"captures":{"1":{"name":"keyword.other.preprocessor.extension.haskell"}},"match":"((?:No)?(?:AllowAmbiguousTypes|AlternativeLayoutRule|AlternativeLayoutRuleTransitional|Arrows|BangPatterns|BinaryLiterals|CApiFFI|CPP|CUSKs|ConstrainedClassMethods|ConstraintKinds|DataKinds|DefaultSignatures|DeriveAnyClass|DeriveDataTypeable|DeriveFoldable|DeriveFunctor|DeriveGeneric|DeriveLift|DeriveTraversable|DerivingStrategies|DerivingVia|DisambiguateRecordFields|DoAndIfThenElse|BlockArguments|DuplicateRecordFields|EmptyCase|EmptyDataDecls|EmptyDataDeriving|ExistentialQuantification|ExplicitForAll|ExplicitNamespaces|ExtendedDefaultRules|FlexibleContexts|FlexibleInstances|ForeignFunctionInterface|FunctionalDependencies|GADTSyntax|GADTs|GHCForeignImportPrim|Generali[sz]edNewtypeDeriving|ImplicitParams|ImplicitPrelude|ImportQualifiedPost|ImpredicativeTypes|TypeFamilyDependencies|InstanceSigs|ApplicativeDo|InterruptibleFFI|JavaScriptFFI|KindSignatures|LambdaCase|LiberalTypeSynonyms|MagicHash|MonadComprehensions|MonoLocalBinds|MonomorphismRestriction|MultiParamTypeClasses|MultiWayIf|NumericUnderscores|NPlusKPatterns|NamedFieldPuns|NamedWildCards|NegativeLiterals|HexFloatLiterals|NondecreasingIndentation|NumDecimals|OverloadedLabels|OverloadedLists|OverloadedStrings|PackageImports|ParallelArrays|ParallelListComp|PartialTypeSignatures|PatternGuards|PatternSynonyms|PolyKinds|PolymorphicComponents|QuantifiedConstraints|PostfixOperators|QuasiQuotes|Rank2Types|RankNTypes|RebindableSyntax|RecordWildCards|RecursiveDo|RelaxedLayout|RoleAnnotations|ScopedTypeVariables|StandaloneDeriving|StarIsType|StaticPointers|Strict|StrictData|TemplateHaskell|TemplateHaskellQuotes|StandaloneKindSignatures|TraditionalRecordSyntax|TransformListComp|TupleSections|TypeApplications|TypeInType|TypeFamilies|TypeOperators|TypeSynonymInstances|UnboxedTuples|UnboxedSums|UndecidableInstances|UndecidableSuperClasses|UnicodeSyntax|UnliftedFFITypes|UnliftedNewtypes|ViewPatterns))"},{"include":"#comma"}]},{"begin":"(?i)\\\\b(?<!\')(SPECIALI[SZ]E)(?:\\\\s*(\\\\[[^]\\\\[]*])?\\\\s*|\\\\s+)(instance)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"},"2":{"patterns":[{"include":"#inline_phase"}]},"3":{"name":"keyword.other.instance.haskell"}},"end":"(?=#-})","patterns":[{"include":"#type_signature"}]},{"begin":"(?i)\\\\b(?<!\')(SPECIALI[SZ]E)\\\\b(?!\')(?:\\\\s+(INLINE)\\\\b(?!\'))?\\\\s*(\\\\[[^]\\\\[]*])?\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"},"2":{"name":"keyword.other.preprocessor.pragma.haskell"},"3":{"patterns":[{"include":"#inline_phase"}]}},"end":"(?=#-})","patterns":[{"include":"$self"}]},{"match":"(?i)\\\\b(?<!\')(LANGUAGE|OPTIONS_GHC|INCLUDE|MINIMAL|UNPACK|OVERLAPS|INCOHERENT|NOUNPACK|SOURCE|OVERLAPPING|OVERLAPPABLE|INLINE|NOINLINE|INLINE?ABLE|CONLIKE|LINE|COLUMN|RULES|COMPLETE)\\\\b(?!\')","name":"keyword.other.preprocessor.haskell"},{"begin":"(?i)\\\\b(DEPRECATED|WARNING)\\\\b","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"}},"end":"(?=#-})","patterns":[{"include":"#string_literal"}]}]},"prefix_op":{"patterns":[{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"entity.name.function.infix.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*(?!(?:--+|\\\\.\\\\.)\\\\))(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))\\\\s*(\\\\))"}]},"qualifier":{"match":"\\\\b(?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.","name":"entity.name.namespace.haskell"},"quasi_quote":{"patterns":[{"begin":"(\\\\[)([dep])?(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"entity.name.quasi-quoter.haskell"},"3":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\3]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell","patterns":[{"include":"$self"}]},{"begin":"(\\\\[)(t)(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"entity.name.quasi-quoter.haskell"},"3":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\3]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(\\\\[)(?:(\\\\$\\\\$)|(\\\\$))?([\'._[^\\\\s\\\\p{S}\\\\p{P}]]*)(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"keyword.operator.prefix.double-dollar.haskell"},"3":{"name":"keyword.operator.prefix.dollar.haskell"},"4":{"name":"entity.name.quasi-quoter.haskell","patterns":[{"include":"#qualifier"}]},"5":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\5]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell"}]},"record":{"begin":"(\\\\{)(?!-)","beginCaptures":{"1":{"name":"punctuation.brace.haskell"}},"end":"(?<!-)(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"name":"meta.record.haskell","patterns":[{"include":"#comment_like"},{"include":"#record_field"}]},"record_decl":{"begin":"(\\\\{)(?!-)","beginCaptures":{"1":{"name":"punctuation.brace.haskell"}},"end":"(?<!-)(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"name":"meta.record.definition.haskell","patterns":[{"include":"#comment_like"},{"include":"#record_decl_field"}]},"record_decl_field":{"begin":"([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"variable.other.member.definition.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"variable.other.member.definition.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.comma.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#comma"},{"include":"#double_colon"},{"include":"#type_signature"},{"include":"#record_decl_field"}]},"record_field":{"patterns":[{"begin":"([_\\\\p{Ll}\\\\p{Lu}][\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"variable.other.member.haskell","patterns":[{"include":"#qualifier"}]},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"variable.other.member.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.comma.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#comma"},{"include":"$self"}]},{"include":"#record_wildcard"}]},"record_wildcard":{"captures":{"1":{"name":"variable.other.member.wildcard.haskell"}},"match":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(\\\\.\\\\.)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},"reserved_symbol":{"patterns":[{"captures":{"1":{"name":"keyword.operator.double-dot.haskell"},"2":{"name":"keyword.operator.colon.haskell"},"3":{"name":"keyword.operator.eq.haskell"},"4":{"name":"keyword.operator.lambda.haskell"},"5":{"name":"keyword.operator.pipe.haskell"},"6":{"name":"keyword.operator.arrow.left.haskell"},"7":{"name":"keyword.operator.arrow.haskell"},"8":{"name":"keyword.operator.arrow.left.tail.haskell"},"9":{"name":"keyword.operator.arrow.left.tail.double.haskell"},"10":{"name":"keyword.operator.arrow.tail.haskell"},"11":{"name":"keyword.operator.arrow.tail.double.haskell"},"12":{"name":"keyword.other.forall.haskell"}},"match":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:(\\\\.\\\\.)|(:)|(=)|(\\\\\\\\)|(\\\\|)|(<-|\u2190)|(->|\u2192)|(-<|\u21A2)|(-<<|\u291B)|(>-|\u291A)|(>>-|\u291C)|(\u2200))(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},{"captures":{"1":{"name":"keyword.operator.postfix.hash.haskell"}},"match":"(?<=[[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^#,;\\\\[`{]])(#+)(?![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^]),;`}]])"},{"captures":{"1":{"name":"keyword.operator.infix.tight.at.haskell"}},"match":"(?<=[])_}\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])(@)(?=[(\\\\[_{\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])"},{"captures":{"1":{"name":"keyword.operator.prefix.tilde.haskell"},"2":{"name":"keyword.operator.prefix.bang.haskell"},"3":{"name":"keyword.operator.prefix.minus.haskell"},"4":{"name":"keyword.operator.prefix.dollar.haskell"},"5":{"name":"keyword.operator.prefix.double-dollar.haskell"}},"match":"(?<![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^(,;\\\\[`{]])(?:(~)|(!)|(-)|(\\\\$)|(\\\\$\\\\$))(?=[(\\\\[_{\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])"}]},"role_annotation":{"patterns":[{"begin":"^(\\\\s*)(type)\\\\s+(role)\\\\b(?!\')","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.role.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.role-annotation.haskell","patterns":[{"include":"#comment_like"},{"include":"#type_constructor"},{"captures":{"1":{"name":"keyword.other.role.$1.haskell"}},"match":"\\\\b(?<!\')(nominal|representational|phantom)\\\\b(?!\')"}]}]},"start_type_signature":{"patterns":[{"begin":"^(\\\\s*)(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])\\\\s*","beginCaptures":{"2":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=#?\\\\)|[],]|(?<!\')\\\\b(in|then|else|of)\\\\b(?!\')|(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:([\\\\\\\\\u03BB])|(<-|\u2190)|(=)|(-<|\u21A2)|(-<<|\u291B))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]])|([#@])-}|(?=[;}])|^(?!\\\\1\\\\s*\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$)))","name":"meta.type-declaration.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])","beginCaptures":{"1":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=#?\\\\)|[],]|\\\\b(?<!\')(in|then|else|of)\\\\b(?!\')|([#@])-}|(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:([\\\\\\\\\u03BB])|(<-|\u2190)|(=)|(-<|\u21A2)|(-<<|\u291B))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]])|(?=[;}])|$)","patterns":[{"include":"#type_signature"}]}]},"string_literal":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.haskell"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.haskell"}},"name":"string.quoted.double.haskell","patterns":[{"match":"\\\\\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&\'\\\\\\\\abfnrtv])","name":"constant.character.escape.haskell"},{"match":"\\\\\\\\(?:o[0-7]+|x\\\\h+|[0-9]+)","name":"constant.character.escape.octal.haskell"},{"match":"\\\\\\\\\\\\^[@-_]","name":"constant.character.escape.control.haskell"},{"begin":"\\\\\\\\\\\\s","beginCaptures":{"0":{"name":"constant.character.escape.begin.haskell"}},"end":"\\\\\\\\","endCaptures":{"0":{"name":"constant.character.escape.end.haskell"}},"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.haskell"}]}]},"type_application":{"patterns":[{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(\')?(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"},"2":{"name":"keyword.operator.promotion.haskell"},"3":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(\')?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"},"2":{"name":"keyword.operator.promotion.haskell"},"3":{"name":"punctuation.bracket.haskell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(?=\\")","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"}},"end":"(?<=\\")","name":"meta.type-application.haskell","patterns":[{"include":"#string_literal"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(?=[\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"}},"end":"(?![\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])","name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]}]},"type_constructor":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"storage.type.haskell"}},"match":"(\')?((?:\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)\\\\b([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"entity.name.namespace.haskell"},"4":{"name":"storage.type.operator.haskell"},"5":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))"}]},"type_operator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"storage.type.operator.infix.haskell"}},"match":"(?:(?<!\')(\'))?((?:\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)(?![#@]?-})(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.backtick.haskell"},"3":{"name":"entity.name.namespace.haskell"},"4":{"name":"storage.type.infix.haskell"},"5":{"name":"punctuation.backtick.haskell"}},"match":"(\')?(`)((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`)"}]},"type_signature":{"patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*(\\\\))","name":"support.constant.unit.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"support.constant.unit.unboxed.haskell"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*,[,\\\\s]*(\\\\))","name":"support.constant.tuple.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"support.constant.unit.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*,[,\\\\s]*(#)(\\\\))","name":"support.constant.tuple.unboxed.haskell"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"},"3":{"name":"punctuation.bracket.haskell"}},"match":"(\')?(\\\\[)\\\\s*(])","name":"support.constant.empty-list.haskell"},{"include":"#integer_literals"},{"match":"(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","name":"keyword.operator.double-colon.haskell"},{"include":"#forall"},{"match":"=>|\u21D2","name":"keyword.operator.big-arrow.haskell"},{"include":"#string_literal"},{"match":"\'[^\']\'","name":"invalid"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#type_operator"},{"include":"#type_constructor"},{"begin":"(\\\\()(#)","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(\')?(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(\')?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"include":"#type_variable"}]},"type_variable":{"match":"\\\\b(?<!\')(?!(?:forall|deriving)\\\\b(?!\'))[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"variable.other.generic-type.haskell"},"where":{"patterns":[{"begin":"(?<!\')\\\\b(where)\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.where.haskell"},"2":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"$self"},{"match":";","name":"punctuation.semicolon.haskell"}]},{"match":"\\\\b(?<!\')(where)\\\\b(?!\')","name":"keyword.other.where.haskell"}]}},"scopeName":"source.haskell","aliases":["hs"]}')),qV=[VV]});var yx={};u1(yx,{default:()=>BV});var IV,BV,_x=n1(()=>{Da();IV=Object.freeze(JSON.parse('{"displayName":"F#","name":"fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"begin":"\\\\b(static\\\\s+)?(abstract)\\\\s+(member)?(\\\\s+\\\\[<.*>])?\\\\s*([,.0-9_`[:alpha:]\\\\s]+)(<)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(with)\\\\b|=|$","endCaptures":{"1":{"name":"keyword.fsharp"}},"name":"abstract.definition.fsharp","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(\\\\??)([ \'.0-9^_`[:alpha:]]+)\\\\s*(:)((?!with\\\\b)\\\\b([ \'.0-9^_`\\\\w]+))?"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"(?!with|get|set\\\\b)\\\\s*([\'.0-9^_`\\\\w]+)"},{"include":"#keywords"}]},"anonymous_functions":{"patterns":[{"begin":"\\\\b(fun)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"(->)","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"name":"function.anonymous","patterns":[{"include":"#comments"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(->))","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#variables"}]}]},"anonymous_record_declaration":{"begin":"(\\\\{\\\\|)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\|})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(:)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]},"attributes":{"patterns":[{"begin":"\\\\[<","end":">?]","name":"support.function.attribute.fsharp","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"captures":{"0":{"name":"keyword.fsharp"}},"match":"\\\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\\\s*\\\\{)","name":"cexpr.fsharp"}]},"chars":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"}},"match":"(\'\\\\\\\\?.\')","name":"char.fsharp"}]},"comments":{"patterns":[{"begin":"^\\\\s*(\\\\(\\\\*\\\\*(?!\\\\)))((?!\\\\*\\\\)).)*$","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"^(?!\\\\s*(\\\\*)+\\\\)\\\\s*$)","whileCaptures":{"1":{"name":"comment.block.fsharp"}}},{"begin":"(\\\\(\\\\*(?!\\\\)))","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"end":"(\\\\*+\\\\))","endCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.fsharp","patterns":[{"comments":"Capture // when inside of (* *) like that the rule which capture comments starting by // is not trigger. See https://github.com/ionide/ionide-fsgrammar/issues/155","match":"//","name":"fast-capture.comment.line.double-slash.fsharp"},{"comments":"Capture (*) when inside of (* *) so that it doesn\'t prematurely end the comment block.","match":"\\\\(\\\\*\\\\)","name":"fast-capture.comment.line.mul-operator.fsharp"},{"include":"#comments"}]},{"captures":{"1":{"name":"comment.block.fsharp"}},"match":"((?<!\\\\()(\\\\*)+\\\\))","name":"comment.block.markdown.fsharp.end"},{"begin":"(?<![!%\\\\&+-/<-@^|])///(?!/)","name":"comment.line.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"(?<![!%\\\\&+-/<-@^|])///(?!/)"},{"match":"(?<![!%\\\\&+-/<-@^|])//(.*)$","name":"comment.line.double-slash.fsharp"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"begin":"(:)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([ \'.0-9?^_`[:alpha:]]*)))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(:)\\\\s*(\\\\^[\'.0-9_[:alpha:]]+)\\\\s*(when)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"end":"(?=:)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9^_[:alpha:]]+)"},{"match":"([()])","name":"keyword.symbol.fsharp"}]},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(:)\\\\s*([ \'.0-9?^_`[:alpha:]]+)(\\\\|\\\\s*(null))?"},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"(->)\\\\s*(\\\\()?\\\\s*([ \'.0-9?^_`[:alpha:]]+)*"},{"begin":"(\\\\*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([ \'.0-9?^_`[:alpha:]]+))*)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(\\\\*)(\\\\s*([ \'.0-9?^_`[:alpha:]]+))*","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"end":"(?==)|(?=\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(<+(?!\\\\s*\\\\)))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"beginComment":"The group (?![[:space:]]*\\\\) is for protection against overload operator. static member (<)","end":"((?<!:)>|\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endComment":"The group (?<!:) prevent us from stopping on :> when using SRTP synthax","patterns":[{"include":"#generic_declaration"}]},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#record_signature"}]},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\\\s*(->)\\\\s*([ \'.0-9^_`[:alpha:]]+)(<)","beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"match":"\\\\s*(->)\\\\s*(?!with|get|set\\\\b)\\\\b([\'.0-9^_`\\\\w]+)"},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\??)([ \'.0-9^_`[:alpha:]]+)\\\\s*(:)(\\\\s*([ \'.0-9?^_`[:alpha:]]+)(<))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]}]},"compiler_directives":{"patterns":[{"captures":{},"match":"\\\\s?(#(?:if|elif|elseif|else|endif|light|nowarn|warnon))","name":"keyword.control.directive.fsharp"}]},"constants":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"match":"\\\\b-?[0-9][0-9_]*((\\\\.(?!\\\\.)([0-9][0-9_]*([Ee][-+]??[0-9][0-9_]*)?)?)|([Ee][-+]??[0-9][0-9_]*))","name":"constant.numeric.float.fsharp"},{"match":"\\\\b(-?((0([Xx])\\\\h[_\\\\h]*)|(0([Oo])[0-7][0-7_]*)|(0([Bb])[01][01_]*)|([0-9][0-9_]*)))","name":"constant.numeric.integer.nativeint.fsharp"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.fsharp"},{"match":"\\\\b(null|void)\\\\b","name":"constant.other.fsharp"}]},"definition":{"patterns":[{"begin":"\\\\b(let mutable|static let mutable|static let|let inline|let|and inline|and|member val|member inline|static member inline|static member val|static member|default|member|override|let!)(\\\\s+rec|mutable)?(\\\\s+\\\\[<.*>])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\s*((with(?: inline|))\\\\b|(=|\\\\n+=|(?<==)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(use!??|and!??)\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"\\\\s*(=)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"(?<=with|and)\\\\s*\\\\b(([gs]et)\\\\s*(?=\\\\())(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"4":{"name":"variable.fsharp"}},"end":"\\\\s*(=|\\\\n+=|(?<==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(static val mutable|val mutable|val inline|val)(\\\\s+rec|mutable)?(\\\\s+\\\\[<.*>])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([,.0-9_[:alpha:]]+)*|``[_[:alpha:]]([,.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\n$","name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(new)\\\\b\\\\s+(\\\\()","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]}]},"double_tick":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}},"match":"(``)([^`]*)(``)","name":"variable.other.binding.fsharp"}]},"du_declaration":{"patterns":[{"begin":"\\\\b(of)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"$|(\\\\|)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"du_declaration.fsharp","patterns":[{"include":"#comments"},{"captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)\\\\s*(:)\\\\s*([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(``([ \'.0-9^_[:alpha:]]+)``|[\'.0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]}]},"generic_declaration":{"patterns":[{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"match":"\\\\b(private|to|public|internal|function|yield!?|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let!|return!?|interface|with|abstract|enum|member|try|finally|and|when|or|use!??|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":":","name":"keyword.symbol.fsharp"},{"include":"#constants"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"include":"#tuple_signature"},{"include":"#generic_declaration"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words are allowed","match":"(?!when|and|or\\\\b)\\\\b([\'.0-9^_`\\\\w]+)"},{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"comments":"Prevent captures of `|>` as a keyword when defining custom operator like `<|>`","match":"(\\\\|)"},{"include":"#keywords"}]},"keywords":{"patterns":[{"match":"\\\\b(private|public|internal)\\\\b","name":"storage.modifier"},{"match":"\\\\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use!??|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":"\\\\b(match|yield!??|with|if|then|else|elif|for|in|return!?|try|finally|while|do)(?!\')\\\\b","name":"keyword.control"},{"match":"(->|<-)","name":"keyword.symbol.arrow.fsharp"},{"match":"[.?]*(&&&|\\\\|\\\\|\\\\||\\\\^\\\\^\\\\^|~~~|~\\\\+|~-|<<<|>>>|\\\\|>|:>|:\\\\?>|[]:;\\\\[]|<>|[=@]|\\\\|\\\\||&&|[%\\\\&_{|}]|\\\\.\\\\.|[!*-\\\\-/>^]|>=|>>|<=??|[()]|<<)[.?]*","name":"keyword.symbol.fsharp"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"match":"([()])","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"},"7":{"name":"entity.name.type.fsharp"}},"match":"(\\\\??)([\'.0-9^_`[:alpha:]]+|``[ \',.0-:^_`[:alpha:]]+``)\\\\s*(:?)(\\\\s*([ \'.0-9<>?_`[:alpha:]]+))?(\\\\|\\\\s*(null))?"},{"include":"#keywords"}]},"modules":{"patterns":[{"begin":"\\\\b(?:(namespace global)|(namespace|module)\\\\s*(public|internal|private|rec)?\\\\s+([`|[:alpha:]][ \'.0-9_[:alpha:]]*))","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s?=|\\\\s|$)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"entity.name.section.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]},{"begin":"\\\\b(open(?: type|))\\\\s+([`|[:alpha:]][\'0-9_[:alpha:]]*)(?=(\\\\.[A-Z][0-9_[:alpha:]]*)*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.open.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)(\\\\p{alpha}[\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"},{"include":"#comments"}]},{"begin":"^\\\\s*(module)\\\\s+([A-Z][\'0-9_[:alpha:]]*)\\\\s*(=)\\\\s*([A-Z][\'0-9_[:alpha:]]*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.alias.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]}]},"record_declaration":{"patterns":[{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(?<=})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\\\s\\\\p{alpha}+)|[\'.0-9<>^_`[:alpha:]]*)\\\\s*((?<!:):(?!:))\\\\s*","beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"end":"$|([;}])","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]}]},"record_signature":{"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(=)([ \'0-9^_`[:alpha:]]+)"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(=)([ \'0-9^_`[:alpha:]]+)"},{"include":"#record_signature"}]},{"include":"#keywords"}]},"records":{"patterns":[{"begin":"\\\\b(type)\\\\s+(private|internal|public)?\\\\s*","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"end":"\\\\s*((with)|((as)\\\\s+([\'0-9[:alpha:]]+))|(=)|[\\\\n=]|(\\\\(\\\\)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"keyword.symbol.fsharp"}},"name":"record.fsharp","patterns":[{"include":"#comments"},{"include":"#attributes"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9^_[:alpha:]]+|``[ \',.0-:^_`[:alpha:]]+``)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"((?<!:)>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])``[ ,.0-:^_`[:alpha:]]+``|([\'^])[.0-:^_`[:alpha:]]+)"},{"match":"\\\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.fsharp"}},"match":"(static member|member|new)"},{"include":"#common_binding_definition"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"([\'.0-9^_`\\\\w]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"storage.modifier.fsharp"}},"match":"\\\\s*(private|internal|public)"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(=)|[\\\\n=]|(\\\\(\\\\))|(as))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#keywords"}]}]},"string_formatter":{"patterns":[{"captures":{"1":{"name":"keyword.format.specifier.fsharp"}},"match":"(%0?-?(\\\\d+)?(([at])|(\\\\.\\\\d+)?([EFGMefg])|([Xbcdiosux])|([Obs])|(\\\\+?A)))","name":"entity.name.type.format.specifier.fsharp"}]},"strings":{"patterns":[{"begin":"(?=[^\\\\\\\\])(@\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")(?!\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.literal.fsharp","patterns":[{"match":"\\"(\\")","name":"constant.character.string.escape.fsharp"}]},{"begin":"(?=[^\\\\\\\\])(\\"\\"\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\"\\"\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.triple.fsharp","patterns":[{"include":"#string_formatter"}]},{"begin":"(?=[^\\\\\\\\])(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.double.fsharp","patterns":[{"match":"\\\\\\\\$[\\\\t ]*","name":"punctuation.separator.string.ignore-eol.fsharp"},{"match":"\\\\\\\\([\\"\'\\\\\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x\\\\h{2})|(u\\\\h{4})|(U00(0\\\\h|10)\\\\h{4}))","name":"constant.character.string.escape.fsharp"},{"match":"\\\\\\\\(([0-9]{1,3})|(x\\\\S{0,2})|(u\\\\S{0,4})|(U\\\\S{0,8})|\\\\S)","name":"invalid.illegal.character.string.fsharp"},{"include":"#string_formatter"}]}]},"strp_inlined":{"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]},{"captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"match":"((?:static |)member)\\\\s*([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)\\\\s*(:)"},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"match":"\\\\\\\\","name":"text.fsharp"}]},"tuple_signature":{"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"include":"#keywords"}]},"variables":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"(\\\\??)(``[ \',.0-:^_`[:alpha:]]+``|(?!private|struct\\\\b)\\\\b[ \'.0-9<>^_`\\\\w[:alpha:]]+)"}]}},"scopeName":"source.fsharp","embeddedLangs":["markdown"],"aliases":["f#","fs"]}')),BV=[...g7,IV]});var wx={};u1(wx,{default:()=>RV});var PV,RV,xx=n1(()=>{PV=Object.freeze(JSON.parse('{"displayName":"Visual Basic","name":"vb","patterns":[{"match":"\\\\n","name":"meta.ending-space"},{"include":"#round-brackets"},{"begin":"^(?=\\\\t)","end":"(?=[^\\\\t])","name":"meta.leading-space","patterns":[{"captures":{"1":{"name":"meta.odd-tab.tabs"},"2":{"name":"meta.even-tab.tabs"}},"match":"(\\\\t)(\\\\t)?"}]},{"begin":"^(?= )","end":"(?=[^ ])","name":"meta.leading-space","patterns":[{"captures":{"1":{"name":"meta.odd-tab.spaces"},"2":{"name":"meta.even-tab.spaces"}},"match":"( )( )?"}]},{"captures":{"1":{"name":"storage.type.function.asp"},"2":{"name":"entity.name.function.asp"},"3":{"name":"punctuation.definition.parameters.asp"},"4":{"name":"variable.parameter.function.asp"},"5":{"name":"punctuation.definition.parameters.asp"}},"match":"^\\\\s*((?i:function|sub))\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(\\\\()([^)]*)(\\\\)).*\\\\n?","name":"meta.function.asp"},{"begin":"(^[\\\\t ]+)?(?=\')","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.asp"}},"end":"(?!\\\\G)","patterns":[{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.comment.asp"}},"end":"\\\\n","name":"comment.line.apostrophe.asp"}]},{"match":"(?i:\\\\b(If|Then|Else|ElseIf|Else If|End If|While|Wend|For|To|Each|Case|Select|End Select|Return|Continue|Do|Until|Loop|Next|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf)\\\\b)","name":"keyword.control.asp"},{"match":"(?i:\\\\b(Mod|And|Not|Or|Xor|as)\\\\b)","name":"keyword.operator.asp"},{"captures":{"1":{"name":"storage.type.asp"},"2":{"name":"variable.other.bfeac.asp"},"3":{"name":"meta.separator.comma.asp"}},"match":"(?i:(dim)\\\\s*\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b\\\\s*(,?))","name":"variable.other.dim.asp"},{"match":"(?i:\\\\s*\\\\b(Call|Class|Const|Dim|Redim|Function|Sub|Private Sub|Public Sub|End Sub|End Function|End Class|End Property|Public Property|Private Property|Set|Let|Get|New|Randomize|Option Explicit|On Error Resume Next|On Error GoTo)\\\\b\\\\s*)","name":"storage.type.asp"},{"match":"(?i:\\\\b(Private|Public|Default)\\\\b)","name":"storage.modifier.asp"},{"match":"(?i:\\\\s*\\\\b(Empty|False|Nothing|Null|True)\\\\b)","name":"constant.language.asp"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.asp"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.asp"}},"name":"string.quoted.double.asp","patterns":[{"match":"\\"\\"","name":"constant.character.escape.apostrophe.asp"}]},{"captures":{"1":{"name":"punctuation.definition.variable.asp"}},"match":"(\\\\$)[7A-Z_a-z][0-9A-Z_a-z]*?\\\\b\\\\s*","name":"variable.other.asp"},{"match":"(?i:\\\\b(Application|ObjectContext|Request|Response|Server|Session)\\\\b)","name":"support.class.asp"},{"match":"(?i:\\\\b(Contents|StaticObjects|ClientCertificate|Cookies|Form|QueryString|ServerVariables)\\\\b)","name":"support.class.collection.asp"},{"match":"(?i:\\\\b(TotalBytes|Buffer|CacheControl|Charset|ContentType|Expires|ExpiresAbsolute|IsClientConnected|PICS|Status|ScriptTimeout|CodePage|LCID|SessionID|Timeout)\\\\b)","name":"support.constant.asp"},{"match":"(?i:\\\\b(Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|End|Flush|Redirect|Write|CreateObject|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex)\\\\b)","name":"support.function.asp"},{"match":"(?i:\\\\b(Application_OnEnd|Application_OnStart|OnTransactionAbort|OnTransactionCommit|Session_OnEnd|Session_OnStart)\\\\b)","name":"support.function.event.asp"},{"match":"(?i:(?<=as )\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b)","name":"support.type.vb.asp"},{"match":"(?i:\\\\b(Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CreateObject|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exists|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetObject|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsArray|IsDate|IsEmpty|IsNull|IsNumeric|IsObject|Items??|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|LTrim|RTrim|Trim|Maths|Mid|Minute|Month|MonthName|MsgBox|Now|Oct|Remove|RemoveAll|Replace|RGB|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Split|Sqr|StrComp|String|StrReverse|Tan|Timer??|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year)\\\\b)","name":"support.function.vb.asp"},{"match":"-?\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\\\\b","name":"constant.numeric.asp"},{"match":"(?i:\\\\b(vbtrue|vbfalse|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|int32|vbtab|vbverticaltab|vbbinarycompare|vbtextcomparevbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant|vbDataObject|vbDecimal|vbByte|vbArray)\\\\b)","name":"support.type.vb.asp"},{"captures":{"1":{"name":"entity.name.function.asp"}},"match":"(?i:\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?=\\\\(\\\\)?))","name":"support.function.asp"},{"match":"(?i:((?<=([-\\\\&(+,/<=>\\\\\\\\]))\\\\s*\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?!([(.]))|\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?=\\\\s*([-\\\\&()+/<=>\\\\\\\\]))))","name":"variable.other.asp"},{"match":"[!$%\\\\&*]|--?|\\\\+\\\\+|[+~]|===?|=|!==??|<=|>=|<<=|>>=|>>>=|<>|[!<>]|&&|\\\\|\\\\||\\\\?:|\\\\*=|/=|%=|\\\\+=|-=|&=|\\\\^=|\\\\b(in|instanceof|new|delete|typeof|void)\\\\b","name":"keyword.operator.js"}],"repository":{"round-brackets":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.round-brackets.begin.asp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.round-brackets.end.asp"}},"name":"meta.round-brackets","patterns":[{"include":"source.asp.vb.net"}]}},"scopeName":"source.asp.vb.net"}')),RV=[PV]});var kx={};u1(kx,{default:()=>GV});var DV,GV,zx=n1(()=>{u4();rt();Ve();ee();st();DV=Object.freeze(JSON.parse('{"displayName":"Perl","name":"perl","patterns":[{"include":"#line_comment"},{"begin":"^(?==[A-Za-z]+)","end":"^(=cut\\\\b.*)$","endCaptures":{"1":{"patterns":[{"include":"#pod"}]}},"name":"comment.block.documentation.perl","patterns":[{"include":"#pod"}]},{"include":"#variable"},{"applyEndPatternLast":1,"begin":"\\\\b(?=qr\\\\s*[^\\\\s\\\\w])","end":"((([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[#),;{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.compile.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(qr)\\\\s*\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.compile.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"(qr)\\\\s*\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.compile.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"(qr)\\\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.compile.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"(qr)\\\\s*\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\)","name":"string.regexp.compile.nested_parens.perl","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[\\\\\\\\{\\\\s\\\\w])"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"(qr)\\\\s*\'","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\'","name":"string.regexp.compile.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"(qr)\\\\s*([^\'(<\\\\[{\\\\s\\\\w])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\2","name":"string.regexp.compile.simple-delimiter.perl","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[{\\\\s\\\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]}]},{"applyEndPatternLast":1,"begin":"(?<![-+{])\\\\b(?=m\\\\s*[^0-9A-Za-z\\\\s])","end":"((([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[#),;{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.find-m.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(m)\\\\s*\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.find-m.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"(m)\\\\s*\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.find-m.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"(m)\\\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.find-m.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"(m)\\\\s*\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\)","name":"string.regexp.find-m.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"(m)\\\\s*\'","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\'","name":"string.regexp.find-m.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\G(?<![-+{])(m)(?!_)\\\\s*([^\'(0-9<A-\\\\[a-{\\\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\2","name":"string.regexp.find-m.simple-delimiter.perl","patterns":[{"match":"\\\\$(?=[^\'(0-9<A-\\\\[a-{\\\\s])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"begin":"\\\\[","beginCaptures":{"1":{"name":"punctuation.definition.character-class.begin.perl"}},"end":"]","endCaptures":{"1":{"name":"punctuation.definition.character-class.end.perl"}},"name":"constant.other.character-class.set.perl","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[{\\\\s\\\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"}]},{"include":"#nested_parens_interpolated"}]}]},{"applyEndPatternLast":1,"begin":"\\\\b(?=(?<!&)(s)(\\\\s+\\\\S|\\\\s*[(),;<\\\\[{}]|$))","end":"((([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[]),;>{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s)\\\\s*\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces"}]},{"begin":"(s)\\\\s*\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets"}]},{"begin":"(s)\\\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt"}]},{"begin":"(s)\\\\s*\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\)","name":"string.regexp.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens"}]},{"begin":"\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"}","name":"string.regexp.format.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"]","name":"string.regexp.format.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"<","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":">","name":"string.regexp.format.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\)","name":"string.regexp.format.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"\'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\'","name":"string.regexp.format.single_quote.perl","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.perl"}]},{"begin":"([^(;<\\\\[{\\\\s\\\\w])","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\1","name":"string.regexp.format.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"match":"\\\\s+"}]},{"begin":"\\\\b(?=s([^(0-9<A-\\\\[a-{\\\\s]).*\\\\1([acdegil-prsux]*)([),;}]|\\\\s+))","end":"((([acdegil-prsux]*)))(?=([),;}]|\\\\s+|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s\\\\s*)([^(0-9<A-\\\\[a-{\\\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"(?=\\\\2)","name":"string.regexp.replaceXXX.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\'","name":"string.regexp.replaceXXX.format.single_quote.perl","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.perl.perl"}]},{"begin":"([^(0-9<A-\\\\[a-{\\\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\1","name":"string.regexp.replaceXXX.format.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},{"begin":"\\\\b(?=(?<!\\\\\\\\)s\\\\s*([^(<>\\\\[{\\\\s\\\\w]))","end":"((([acdegilmoprsu]*x[acdegilmoprsu]*)))\\\\b","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s)\\\\s*(.)","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"(?=\\\\2)","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\'(?=[acdegilmoprsu]*x[acdegilmoprsu]*)\\\\b","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"(.)","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\1(?=[acdegilmoprsu]*x[acdegilmoprsu]*)\\\\b","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},{"begin":"(?<=[\\\\&({|~]|if|unless|^)\\\\s*((/))","beginCaptures":{"1":{"name":"string.regexp.find.perl"},"2":{"name":"punctuation.definition.string.perl"}},"contentName":"string.regexp.find.perl","end":"((\\\\1([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[#),;{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.find.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"match":"\\\\$(?=/)","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"}]},{"captures":{"1":{"name":"constant.other.key.perl"}},"match":"\\\\b(\\\\w+)\\\\s*(?==>)"},{"match":"(?<=\\\\{)\\\\s*\\\\w+\\\\s*(?=})","name":"constant.other.bareword.perl"},{"captures":{"1":{"name":"keyword.control.perl"},"2":{"name":"entity.name.type.class.perl"}},"match":"^\\\\s*(package)\\\\s+([^;\\\\s]+)","name":"meta.class.perl"},{"captures":{"1":{"name":"storage.type.sub.perl"},"2":{"name":"entity.name.function.perl"},"3":{"name":"storage.type.method.perl"}},"match":"\\\\b(sub)(?:\\\\s+([-0-9A-Z_a-z]+))?\\\\s*(?:\\\\([$*;@]*\\\\))?[^{\\\\w]","name":"meta.function.perl"},{"captures":{"1":{"name":"entity.name.function.perl"},"2":{"name":"punctuation.definition.parameters.perl"},"3":{"name":"variable.parameter.function.perl"}},"match":"^\\\\s*(BEGIN|UNITCHECK|CHECK|INIT|END|DESTROY)\\\\b","name":"meta.function.perl"},{"begin":"^(?=(\\\\t| {4}))","end":"(?=[^\\\\t\\\\s])","name":"meta.leading-tabs","patterns":[{"captures":{"1":{"name":"meta.odd-tab"},"2":{"name":"meta.even-tab"}},"match":"(\\\\t| {4})(\\\\t| {4})?"}]},{"captures":{"1":{"name":"support.function.perl"},"2":{"name":"punctuation.definition.string.perl"},"5":{"name":"punctuation.definition.string.perl"},"8":{"name":"punctuation.definition.string.perl"}},"match":"\\\\b(tr|y)\\\\s*([^0-9A-Za-z\\\\s])(.*?)(?<!\\\\\\\\)(\\\\\\\\{2})*(\\\\2)(.*?)(?<!\\\\\\\\)(\\\\\\\\{2})*(\\\\2)","name":"string.regexp.replace.perl"},{"match":"\\\\b(__(?:FILE|LINE|PACKAGE|SUB)__)\\\\b","name":"constant.language.perl"},{"begin":"\\\\b(__(?:DATA__|END__))\\\\n?","beginCaptures":{"1":{"name":"constant.language.perl"}},"contentName":"comment.block.documentation.perl","end":"\\\\z","patterns":[{"include":"#pod"}]},{"match":"(?<!->)\\\\b(continue|default|die|do|else|elsif|exit|for|foreach|given|goto|if|last|next|redo|return|select|unless|until|wait|when|while|switch|case|require|use|eval)\\\\b","name":"keyword.control.perl"},{"match":"\\\\b(my|our|local)\\\\b","name":"storage.modifier.perl"},{"match":"(?<!\\\\w)-[ABCMORSTWXb-gklopr-uwxz]\\\\b","name":"keyword.operator.filetest.perl"},{"match":"\\\\b(and|or|xor|as|not)\\\\b","name":"keyword.operator.logical.perl"},{"match":"((?:<=|[-=])>)","name":"keyword.operator.comparison.perl"},{"include":"#heredoc"},{"begin":"\\\\bqq\\\\s*([^(<\\\\[{\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*([^\'(<\\\\[{\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.double.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqw?\\\\s*([^(<\\\\[{\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q.perl"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.single.perl","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.perl"}]},{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqq\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-paren.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqq\\\\s*\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-brace.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqq\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-bracket.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqq\\\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt_interpolated"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqx\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-paren.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-brace.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-bracket.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt_interpolated"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqw?\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-paren.perl","patterns":[{"include":"#nested_parens"}]},{"begin":"\\\\bqw?\\\\s*\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-brace.perl","patterns":[{"include":"#nested_braces"}]},{"begin":"\\\\bqw?\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-bracket.perl","patterns":[{"include":"#nested_brackets"}]},{"begin":"\\\\bqw?\\\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-ltgt.perl","patterns":[{"include":"#nested_ltgt"}]},{"begin":"^__\\\\w+__","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"$","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.unquoted.program-block.perl"},{"begin":"\\\\b(format)\\\\s+(\\\\w+)\\\\s*=","beginCaptures":{"1":{"name":"support.function.perl"},"2":{"name":"entity.name.function.format.perl"}},"end":"^\\\\.\\\\s*$","name":"meta.format.perl","patterns":[{"include":"#line_comment"},{"include":"#variable"}]},{"captures":{"1":{"name":"support.function.perl"},"2":{"name":"entity.name.function.perl"}},"match":"\\\\b(x)\\\\s*(\\\\d+)\\\\b"},{"match":"\\\\b(ARGV|DATA|ENV|SIG|STDERR|STDIN|STDOUT|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|cmp|connect|cos|crypt|dbmclose|dbmopen|defined|delete|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eq|eval|exec|exists|exp|fcntl|fileno|flock|fork|formline|ge|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|grep|gt|hex|import|index|int|ioctl|join|keys|kill|lc|lcfirst|le|length|link|listen|local|localtime|log|lstat|lt|m|map|mkdir|msgctl|msgget|msgrcv|msgsnd|ne|no|oct|open|opendir|ord|pack|pipe|pop|pos|printf??|push|quotemeta|rand|read|readdir|readlink|recv|ref|rename|reset|reverse|rewinddir|rindex|rmdir|s|say|scalar|seek|seekdir|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|substr|symlink|syscall|sysopen|sysread|system|syswrite|tell|telldir|tied??|times??|tr|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|utime|values|vec|waitpid|wantarray|warn|write|y)\\\\b","name":"support.function.perl"},{"captures":{"1":{"name":"punctuation.section.scope.begin.perl"},"2":{"name":"punctuation.section.scope.end.perl"}},"match":"(\\\\{)(})"},{"captures":{"1":{"name":"punctuation.section.scope.begin.perl"},"2":{"name":"punctuation.section.scope.end.perl"}},"match":"(\\\\()(\\\\))"}],"repository":{"escaped_char":{"patterns":[{"match":"\\\\\\\\\\\\d+","name":"constant.character.escape.perl"},{"match":"\\\\\\\\c[^\\\\\\\\\\\\s]","name":"constant.character.escape.perl"},{"match":"\\\\\\\\g(?:\\\\{(?:\\\\w*|-\\\\d+)}|\\\\d+)","name":"constant.character.escape.perl"},{"match":"\\\\\\\\k(?:\\\\{\\\\w*}|<\\\\w*>|\'\\\\w*\')","name":"constant.character.escape.perl"},{"match":"\\\\\\\\N\\\\{[^}]*}","name":"constant.character.escape.perl"},{"match":"\\\\\\\\o\\\\{\\\\d*}","name":"constant.character.escape.perl"},{"match":"\\\\\\\\[Pp](?:\\\\{\\\\w*}|P)","name":"constant.character.escape.perl"},{"match":"\\\\\\\\x(?:[0-9A-Za-z]{2}|\\\\{\\\\w*})?","name":"constant.character.escape.perl"},{"match":"\\\\\\\\.","name":"constant.character.escape.perl"}]},"heredoc":{"patterns":[{"begin":"((((<<(~)?) *\')(HTML)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\\\n","name":"text.html.basic","patterns":[{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *\')(XML)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\\\n","name":"text.xml","patterns":[{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *\')(CSS)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\\\n","name":"source.css","patterns":[{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *\')(JAVASCRIPT)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\\\n","name":"source.js","patterns":[{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *\')(SQL)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\\\n","name":"source.sql","patterns":[{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *\')(POSTSCRIPT)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\\\n","name":"source.postscript","patterns":[{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *\')([^\']*)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}}},{"begin":"((((<<(~)?) *\\\\\\\\)((?![ $(=\\\\d])[^\\"\'),;`\\\\s]*)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}}},{"begin":"((((<<(~)?) *\\")(HTML)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\\\n","name":"text.html.basic","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *\\")(XML)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\\\n","name":"text.xml","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *\\")(CSS)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\\\n","name":"source.css","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *\\")(JAVASCRIPT)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\\\n","name":"source.js","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *\\")(SQL)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\\\n","name":"source.sql","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *\\")(POSTSCRIPT)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\\\n","name":"source.postscript","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *\\")([^\\"]*)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"((((<<(~)?) *)(HTML)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\\\n","name":"text.html.basic","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *)(XML)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\\\n","name":"text.xml","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *)(CSS)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\\\n","name":"source.css","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *)(JAVASCRIPT)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\\\n","name":"source.js","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *)(SQL)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\\\n","name":"source.sql","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *)(POSTSCRIPT)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\\\n","name":"source.postscript","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *)((?![ $(=\\\\d])[^\\"\'),;`\\\\s]*)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"((((<<(~)?) *`)([^`]*)(`)))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.shell.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},"line_comment":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.perl"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.perl"}},"end":"\\\\n","name":"comment.line.number-sign.perl"}]}]},"nested_braces":{"begin":"\\\\{","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"}","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces"}]},"nested_braces_interpolated":{"begin":"\\\\{","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"}","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},"nested_brackets":{"begin":"\\\\[","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"]","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets"}]},"nested_brackets_interpolated":{"begin":"\\\\[","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"]","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},"nested_ltgt":{"begin":"<","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":">","patterns":[{"include":"#nested_ltgt"}]},"nested_ltgt_interpolated":{"begin":"<","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":">","patterns":[{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},"nested_parens":{"begin":"\\\\(","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"\\\\)","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens"}]},"nested_parens_interpolated":{"begin":"\\\\(","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"\\\\)","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[{\\\\s\\\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},"pod":{"patterns":[{"match":"^=(pod|back|cut)\\\\b","name":"storage.type.class.pod.perl"},{"begin":"^(=begin)\\\\s+(html)\\\\s*$","beginCaptures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl"}},"contentName":"text.embedded.html.basic","end":"^(?:(=end)\\\\s+(html)|(?==cut))","endCaptures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl"}},"name":"meta.embedded.pod.perl","patterns":[{"include":"text.html.basic"}]},{"captures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl","patterns":[{"include":"#pod-formatting"}]}},"match":"^(=(?:head[1-4]|item|over|encoding|begin|end|for))\\\\b\\\\s*(.*)"},{"include":"#pod-formatting"}]},"pod-formatting":{"patterns":[{"captures":{"1":{"name":"markup.italic.pod.perl"},"2":{"name":"markup.italic.pod.perl"}},"match":"I(?:<([^<>]+)>|<+(\\\\s+(?:(?<!\\\\s)>|[^>])+\\\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.bold.pod.perl"},"2":{"name":"markup.bold.pod.perl"}},"match":"B(?:<([^<>]+)>|<+(\\\\s+(?:(?<!\\\\s)>|[^>])+\\\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.raw.pod.perl"},"2":{"name":"markup.raw.pod.perl"}},"match":"C(?:<([^<>]+)>|<+(\\\\\\\\s+(?:(?<!\\\\\\\\s)>|[^>])+\\\\\\\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.underline.link.hyperlink.pod.perl"}},"match":"L<([^>]+)>","name":"entity.name.type.instance.pod.perl"},{"match":"[EFSXZ]<[^>]*>","name":"entity.name.type.instance.pod.perl"}]},"variable":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)&(?![0-9A-Z_a-z])","name":"variable.other.regexp.match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)`(?![0-9A-Z_a-z])","name":"variable.other.regexp.pre-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)\'(?![0-9A-Z_a-z])","name":"variable.other.regexp.post-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)\\\\+(?![0-9A-Z_a-z])","name":"variable.other.regexp.last-paren-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)\\"(?![0-9A-Z_a-z])","name":"variable.other.readwrite.list-separator.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)0(?![0-9A-Z_a-z])","name":"variable.other.predefined.program-name.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)[!#$%()*,-/:-@\\\\[-_ab|~](?![0-9A-Z_a-z])","name":"variable.other.predefined.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)[0-9]+(?![0-9A-Z_a-z])","name":"variable.other.subpattern.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"([$%@](#)?)([$7A-Za-z]|::)([$0-9A-Z_a-z]|::)*\\\\b","name":"variable.other.readwrite.global.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"},"2":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$\\\\{)(?:[$7A-Za-z]|::)(?:[$0-9A-Z_a-z]|::)*(})","name":"variable.other.readwrite.global.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"([$%@](#)?)[0-9_]\\\\b","name":"variable.other.readwrite.global.special.perl"}]}},"scopeName":"source.perl","embeddedLangs":["html","xml","css","javascript","sql"]}')),GV=[...I2,...y3,...G0,...w0,..._3,DV]});var Cx={};u1(Cx,{default:()=>WV});var OV,WV,Ax=n1(()=>{OV=Object.freeze(JSON.parse('{"displayName":"Verilog","fileTypes":["v","vh"],"name":"verilog","patterns":[{"include":"#comments"},{"include":"#module_pattern"},{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"},{"include":"#operators"},{"include":"#identifiers"}],"repository":{"comments":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.verilog"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.verilog"}},"end":"\\\\n","name":"comment.line.double-slash.verilog"}]},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.c-style.verilog"}]},"constants":{"patterns":[{"match":"`(?!(celldefine|endcelldefine|default_nettype|define|undef|ifdef|ifndef|else|endif|include|resetall|timescale|unconnected_drive|nounconnected_drive))[A-Z_a-z][$0-9A-Z_a-z]*","name":"variable.other.constant.verilog"},{"match":"[0-9]*\'[BDHObdho][XZ_xz\\\\h]+\\\\b","name":"constant.numeric.sized_integer.verilog"},{"captures":{"1":{"name":"constant.numeric.integer.verilog"},"2":{"name":"punctuation.separator.range.verilog"},"3":{"name":"constant.numeric.integer.verilog"}},"match":"\\\\b(\\\\d+)(:)(\\\\d+)\\\\b","name":"meta.block.numeric.range.verilog"},{"match":"\\\\b\\\\d[_\\\\d]*(?i:e\\\\d+)?\\\\b","name":"constant.numeric.integer.verilog"},{"match":"\\\\b\\\\d+\\\\.\\\\d+(?i:e\\\\d+)?\\\\b","name":"constant.numeric.real.verilog"},{"match":"#\\\\d+","name":"constant.numeric.delay.verilog"},{"match":"\\\\b[01XZxz]+\\\\b","name":"constant.numeric.logic.verilog"}]},"identifiers":{"patterns":[{"match":"(?<![$0-9A-Z_a-z])[A-Z_a-z][$0-9A-Z_a-z]*(?![$0-9A-Z_a-z])","name":"variable.other.identifier.verilog"}]},"instantiation_patterns":{"patterns":[{"include":"#keywords"},{"begin":"^\\\\s*(?!always|and|assign|output|input|inout|wire|module)([A-Z_a-z][$0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][$0-9A-Z_a-z]*)(?<!begin|if)\\\\s*(?=\\\\(|$)","beginCaptures":{"1":{"name":"entity.name.tag.module.reference.verilog"},"2":{"name":"entity.name.tag.module.identifier.verilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.expression.verilog"}},"name":"meta.block.instantiation.parameterless.verilog","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]},{"begin":"^\\\\s*([A-Z_a-z][$0-9A-Z_a-z]*)\\\\s*(#)(?=\\\\s*\\\\()","beginCaptures":{"1":{"name":"entity.name.tag.module.reference.verilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.expression.verilog"}},"name":"meta.block.instantiation.with.parameters.verilog","patterns":[{"include":"#parenthetical_list"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"entity.name.tag.module.identifier.verilog"}]}]},"keywords":{"patterns":[{"match":"\\\\b(always|and|assign|attribute|begin|buf|bufif0|bufif1|case[xz]?|cmos|deassign|default|defparam|disable|edge|else|end(attribute|case|function|generate|module|primitive|specify|table|task)?|event|for|force|forever|fork|function|generate|genvar|highz(01)|if(none)?|initial|inout|input|integer|join|localparam|medium|module|large|macromodule|nand|negedge|nmos|nor|not|notif(01)|or|output|parameter|pmos|posedge|primitive|pull0|pull1|pulldown|pullup|rcmos|real|realtime|reg|release|repeat|rnmos|rpmos|rtran|rtranif(01)|scalared|signed|small|specify|specparam|strength|strong0|strong1|supply0|supply1|table|task|time|tran|tranif(01)|tri(01)?|tri(and|or|reg)|unsigned|vectored|wait|wand|weak(01)|while|wire|wor|xnor|xor)\\\\b","name":"keyword.other.verilog"},{"match":"^\\\\s*`((cell)?define|default_(decay_time|nettype|trireg_strength)|delay_mode_(path|unit|zero)|ifdef|ifndef|include|end(if|celldefine)|else|(no)?unconnected_drive|resetall|timescale|undef)\\\\b","name":"keyword.other.compiler.directive.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(f(open|close)|readmem([bh])|timeformat|printtimescale|stop|finish|(s|real)?time|realtobits|bitstoreal|rtoi|itor|(f)?(display|write([bh])))(?![$0-9A-Z_a-z])","name":"support.function.system.console.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(random|dist_(chi_square|erlang|exponential|normal|poisson|t|uniform))(?![$0-9A-Z_a-z])","name":"support.function.system.random_number.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$((a)?sync\\\\$((n)?and|(n)or)\\\\$(array|plane))(?![$0-9A-Z_a-z])","name":"support.function.system.pld_modeling.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(q_(initialize|add|remove|full|exam))(?![$0-9A-Z_a-z])","name":"support.function.system.stochastic.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(hold|nochange|period|recovery|setup(hold)?|skew|width)(?![$0-9A-Z_a-z])","name":"support.function.system.timing.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(dump(file|vars|off|on|all|limit|flush))(?![$0-9A-Z_a-z])","name":"support.function.system.vcd.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(countdrivers|list|input|scope|showscopes|(no)?(key|log)|reset(_(?:count|value))?|(inc)?save|restart|showvars|getpattern|sreadmem([bh])|scale)(?![$0-9A-Z_a-z])","name":"support.function.non-standard.tasks.verilog"}]},"module_pattern":{"patterns":[{"begin":"\\\\b(module)\\\\s+([A-Z_a-z][$0-9A-Z_a-z]*)","beginCaptures":{"1":{"name":"storage.type.module.verilog"},"2":{"name":"entity.name.type.module.verilog"}},"end":"\\\\bendmodule\\\\b","endCaptures":{"0":{"name":"storage.type.module.verilog"}},"name":"meta.block.module.verilog","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"},{"include":"#instantiation_patterns"},{"include":"#operators"},{"include":"#identifiers"}]}]},"operators":{"patterns":[{"match":"[-%*+/]|([<>])=?|([!=])?==?|!|&&?|\\\\|\\\\|?|\\\\^?~|~\\\\^?","name":"keyword.operator.verilog"}]},"parenthetical_list":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.list.verilog"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.list.verilog"}},"name":"meta.block.parenthetical_list.verilog","patterns":[{"include":"#parenthetical_list"},{"include":"#comments"},{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]}]},"strings":{"patterns":[{"begin":"\\"","end":"\\"","name":"string.quoted.double.verilog","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.verilog"}]}]}},"scopeName":"source.verilog"}')),WV=[OV]});var Mx={};u1(Mx,{default:()=>XV});var UV,XV,$x=n1(()=>{UV=Object.freeze(JSON.parse('{"displayName":"SystemVerilog","fileTypes":["v","vh","sv","svh"],"name":"system-verilog","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#typedef-enum-struct-union"},{"include":"#typedef"},{"include":"#functions"},{"include":"#keywords"},{"include":"#tables"},{"include":"#function-task"},{"include":"#module-declaration"},{"include":"#class-declaration"},{"include":"#enum-struct-union"},{"include":"#sequence"},{"include":"#all-types"},{"include":"#module-parameters"},{"include":"#module-no-parameters"},{"include":"#port-net-parameter"},{"include":"#system-tf"},{"include":"#assertion"},{"include":"#bind-directive"},{"include":"#cast-operator"},{"include":"#storage-scope"},{"include":"#attributes"},{"include":"#imports"},{"include":"#operators"},{"include":"#constants"},{"include":"#identifiers"},{"include":"#selects"}],"repository":{"all-types":{"patterns":[{"include":"#built-ins"},{"include":"#modifiers"}]},"assertion":{"captures":{"1":{"name":"entity.name.goto-label.php"},"2":{"name":"keyword.operator.systemverilog"},"3":{"name":"keyword.sva.systemverilog"}},"match":"\\\\b([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*(assert|assume|cover|restrict)\\\\b"},"attributes":{"begin":"(?<!@[\\\\t\\\\n\\\\r ]?)\\\\(\\\\*","beginCaptures":{"0":{"name":"punctuation.attribute.rounds.begin"}},"end":"\\\\*\\\\)","endCaptures":{"0":{"name":"punctuation.attribute.rounds.end"}},"name":"meta.attribute.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"keyword.operator.assignment.systemverilog"}},"match":"([A-Z_a-z][$0-9A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]*(=)[\\\\t\\\\n\\\\r ]*)?"},{"include":"#constants"},{"include":"#strings"}]},"base-grammar":{"patterns":[{"include":"#all-types"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"captures":{"1":{"name":"storage.type.interface.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]+[A-Z_a-z][\\\\t\\\\n $,0-9=A-Z_a-z]*"},{"include":"#storage-scope"}]},"bind-directive":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(bind)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$.0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","name":"meta.definition.systemverilog"},"built-ins":{"patterns":[{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(bit|logic|reg)\\\\b","name":"storage.type.vector.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(byte|shortint|int|longint|integer|time|genvar)\\\\b","name":"storage.type.atom.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(shortreal|real|realtime)\\\\b","name":"storage.type.notint.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b","name":"storage.type.net.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(genvar|var|void|signed|unsigned|string|const|process)\\\\b","name":"storage.type.built-in.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(uvm_(?:root|transaction|component|monitor|driver|test|env|object|agent|sequence_base|sequence_item|sequence_state|sequencer|sequencer_base|sequence|component_registry|analysis_imp|analysis_port|analysis_export|config_db|active_passive_enum|phase|verbosity|tlm_analysis_fifo|tlm_fifo|report_server|objection|recorder|domain|reg_field|reg_block|reg|bitstream_t|radix_enum|printer|packer|comparer|scope_stack))\\\\b","name":"storage.type.uvm.systemverilog"}]},"cast-operator":{"captures":{"1":{"patterns":[{"include":"#built-ins"},{"include":"#constants"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.user-defined.systemverilog"}]},"2":{"name":"keyword.operator.cast.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*([0-9]+|[A-Z_a-z][$0-9A-Z_a-z]*)(\')(?=\\\\()","name":"meta.cast.systemverilog"},"class-declaration":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(virtual[\\\\t\\\\n\\\\r ]+)?(class)(?:[\\\\t\\\\n\\\\r ]+((?:st|autom)atic))?[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-:A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]+(extends|implements)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-:A-Z_a-z]*))?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.class.systemverilog"},"3":{"name":"storage.modifier.systemverilog"},"4":{"name":"entity.name.type.class.systemverilog"},"5":{"name":"keyword.control.systemverilog"},"6":{"name":"entity.name.type.class.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.class.end.systemverilog"}},"name":"meta.class.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"},"3":{"name":"entity.name.type.class.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]+\\\\b(extends|implements)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-:A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]*,[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-:A-Z_a-z]*))*"},{"captures":{"1":{"name":"storage.type.userdefined.systemverilog"},"2":{"name":"keyword.operator.param.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]+(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*(#)\\\\(","name":"meta.typedef.class.systemverilog"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#module-binding"},{"include":"#identifiers"}]},"comments":{"patterns":[{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"name":"comment.block.systemverilog","patterns":[{"include":"#fixme-todo"}]},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"$\\\\n?","name":"comment.line.double-slash.systemverilog","patterns":[{"include":"#fixme-todo"}]}]},"compiler-directives":{"name":"meta.preprocessor.systemverilog","patterns":[{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(else|endif|endcelldefine|celldefine|nounconnected_drive|resetall|undefineall|end_keywords|__FILE__|__LINE__)\\\\b"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"},"3":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)(ifdef|ifndef|elsif|define|undef|pragma)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(include|timescale|default_nettype|unconnected_drive|line|begin_keywords)\\\\b"},{"begin":"(`)(protected)\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"end":"(`)(endprotected)\\\\b","endCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"name":"meta.crypto.systemverilog"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])"}]},"constants":{"patterns":[{"match":"(\\\\b[1-9][0-9_]*)?\'([Ss]?[Bb][\\\\t\\\\n\\\\r ]*[01?XZxz][01?XZ_xz]*|[Ss]?[Oo][\\\\t\\\\n\\\\r ]*[0-7?XZxz][0-7?XZ_xz]*|[Ss]?[Dd][\\\\t\\\\n\\\\r ]*[0-9?XZxz][0-9?XZ_xz]*|[Ss]?[Hh][\\\\t\\\\n\\\\r ]*[?XZxz\\\\h][?XZ_xz\\\\h]*)(([Ee])([-+])?[0-9]+)?(?![\'\\\\w])","name":"constant.numeric.systemverilog"},{"match":"\'[01XZxz]","name":"constant.numeric.bit.systemverilog"},{"match":"\\\\b\\\\d[._\\\\d]*(?<!\\\\.)[Ee][-+]?[0-9]+\\\\b","name":"constant.numeric.exp.systemverilog"},{"match":"\\\\b\\\\d[._\\\\d]*(?![.\\\\d]|[\\\\t\\\\n\\\\r ]*(?:[Ee]|fs|ps|ns|us|ms|s))\\\\b","name":"constant.numeric.decimal.systemverilog"},{"match":"\\\\b\\\\d[.\\\\d]*[\\\\t\\\\n\\\\r ]*(?:[fnpu]|m?)s\\\\b","name":"constant.numeric.time.systemverilog"},{"include":"#compiler-directives"},{"match":"\\\\b(?:this|super|null)\\\\b","name":"constant.language.systemverilog"},{"match":"\\\\b([A-Z][0-9A-Z_]*)\\\\b","name":"constant.other.net.systemverilog"},{"match":"\\\\b(?<!\\\\.)([0-9A-Z_]+)(?!\\\\.)\\\\b","name":"constant.numeric.parameter.uppercase.systemverilog"},{"match":"\\\\.\\\\*","name":"keyword.operator.quantifier.regexp"}]},"enum-struct-union":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(enum|struct|union(?:[\\\\t\\\\n\\\\r ]+tagged)?|class|interface[\\\\t\\\\n\\\\r ]+class)(?:[\\\\t\\\\n\\\\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][$0-9A-Z_a-z]*)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?)?(?:[\\\\t\\\\n\\\\r ]+(packed))?(?:[\\\\t\\\\n\\\\r ]+((?:|un)signed))?(?=[\\\\t\\\\n\\\\r ]*(?:\\\\{|$))","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"patterns":[{"include":"#built-ins"}]},"3":{"patterns":[{"include":"#selects"}]},"4":{"name":"storage.modifier.systemverilog"},"5":{"name":"storage.modifier.systemverilog"}},"end":"(?<=})[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|(?<=^|[\\\\t\\\\n\\\\r ])\\\\\\\\[!-~]+(?=$|[\\\\t\\\\n\\\\r ]))[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*[,;]","endCaptures":{"1":{"patterns":[{"include":"#identifiers"}]},"2":{"patterns":[{"include":"#selects"}]}},"name":"meta.enum-struct-union.systemverilog","patterns":[{"include":"#keywords"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"fixme-todo":{"patterns":[{"match":"(?i:fixme)","name":"invalid.broken.fixme.systemverilog"},{"match":"(?i:todo)","name":"invalid.unimplemented.todo.systemverilog"}]},"function-task":{"begin":"[\\\\t\\\\n\\\\r ]*(?:\\\\b(virtual)[\\\\t\\\\n\\\\r ]+)?\\\\b(function|task)\\\\b(?:[\\\\t\\\\n\\\\r ]+\\\\b((?:st|autom)atic)\\\\b)?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.function.systemverilog"},"3":{"name":"storage.modifier.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.function.end.systemverilog"}},"name":"meta.function.systemverilog","patterns":[{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"},"3":{"patterns":[{"include":"#built-ins"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.user-defined.systemverilog"}]},"4":{"patterns":[{"include":"#modifiers"}]},"5":{"patterns":[{"include":"#selects"}]},"6":{"name":"entity.name.function.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*(?:(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(::))?([A-Z_a-z][$0-9A-Z_a-z]*(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]+)?(?:\\\\b((?:|un)signed)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])[\\\\t\\\\n\\\\r ]*)?(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*(?=[(;])"},{"include":"#keywords"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"functions":{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(?!while|for|iff??|else|casex??|casez)([A-Z_a-z][$0-9A-Z_a-z]*)(?=[\\\\t\\\\n\\\\r ]*\\\\()","name":"entity.name.function.systemverilog"},"identifiers":{"patterns":[{"match":"(?<![$0-9A-Z_a-z])[A-Z_a-z][$0-9A-Z_a-z]*(?![$0-9A-Z_a-z])","name":"variable.other.identifier.systemverilog"},{"match":"(?<=^|[\\\\t\\\\n\\\\r ])\\\\\\\\[!-~]+(?=$|[\\\\t\\\\n\\\\r ])","name":"string.regexp.identifier.systemverilog"}]},"imports":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"support.type.scope.systemverilog"},"3":{"name":"keyword.operator.scope.systemverilog"},"4":{"patterns":[{"include":"#operators"},{"include":"#identifiers"}]}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b((?:im|ex)port)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*|\\\\*)[\\\\t\\\\n\\\\r ]*(::)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|\\\\*)[\\\\t\\\\n\\\\r ]*([,;])","name":"meta.import.systemverilog"},"keywords":{"patterns":[{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(edge|negedge|posedge|cell|config|defparam|design|disable|endgenerate|endspecify|event|generate|ifnone|incdir|instance|liblist|library|noshowcancelled|pulsestyle_onevent|pulsestyle_ondetect|scalared|showcancelled|specify|specparam|use|vectored)\\\\b"},{"include":"#sv-control"},{"include":"#sv-control-begin"},{"include":"#sv-control-end"},{"include":"#sv-definition"},{"include":"#sv-cover-cross"},{"include":"#sv-std"},{"include":"#sv-option"},{"include":"#sv-local"},{"include":"#sv-rand"}]},"modifiers":{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(?:(?:un)?signed|packed|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\\\\b","name":"storage.modifier.systemverilog"},"module-binding":{"begin":"\\\\.([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*\\\\(","beginCaptures":{"1":{"name":"support.function.port.systemverilog"}},"end":"\\\\),?","name":"meta.port.binding.systemverilog","patterns":[{"include":"#constants"},{"include":"#comments"},{"include":"#operators"},{"include":"#strings"},{"include":"#constants"},{"include":"#storage-scope"},{"include":"#cast-operator"},{"include":"#system-tf"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"},{"include":"#identifiers"}]},"module-declaration":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b((?:macro)?module|interface|program|package|modport)[\\\\t\\\\n\\\\r ]+(?:((?:st|autom)atic)[\\\\t\\\\n\\\\r ]+)?([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"storage.modifier.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.module.end.systemverilog"}},"name":"meta.module.systemverilog","patterns":[{"include":"#parameters"},{"include":"#port-net-parameter"},{"include":"#imports"},{"include":"#base-grammar"},{"include":"#system-tf"},{"include":"#identifiers"}]},"module-no-parameters":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(?:(bind|pullup|pulldown)[\\\\t\\\\n\\\\r ]+(?:([A-Z_a-z][$.0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]+)?)?(\\\\b(?:and|nand|or|nor|xor|xnor|buf|not|bufif[01]|notif[01]|r?[cnp]mos|r?tran|r?tranif[01])\\\\b|[A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]+(?!intersect|and|or|throughout|within)([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*(?=\\\\(|$)(?!;)","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"},"4":{"name":"variable.other.module.systemverilog"},"5":{"patterns":[{"include":"#selects"}]}},"end":"\\\\)(?:[\\\\t\\\\n\\\\r ]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.no_parameters.systemverilog","patterns":[{"include":"#module-binding"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])(?=[\\\\t\\\\n\\\\r ]*(\\\\(|$))","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"module-parameters":{"begin":"^[\\\\t ]*\\\\b(?:(bind)[\\\\t ]+([A-Z_a-z][$.0-9A-Z_a-z]*)[\\\\t ]+)?(?!\\\\b(?:intersect|and|or|throughout|within)\\\\b)([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t ]*(?=#[^#]|$)","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":"\\\\)(?:[\\\\t\\\\n\\\\r ]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.parameters.systemverilog","patterns":[{"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])(?=[\\\\t\\\\n\\\\r ]*\\\\()","name":"variable.other.module.systemverilog"},{"include":"#module-binding"},{"include":"#parameters"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])(?=[\\\\t\\\\n\\\\r ]*$)","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"operators":{"patterns":[{"match":"\\\\b(?:dist|inside|with|intersect|and|or|throughout|within|first_match)\\\\b|:=|:/|\\\\|->|\\\\|=>|->>|\\\\*>|#-#|#=#|&&&","name":"keyword.operator.logical.systemverilog"},{"match":"@|##?|->|<->","name":"keyword.operator.channel.systemverilog"},{"match":"(?:[-%\\\\&*+/^|]|>>>?|<<<?|<?)=","name":"keyword.operator.assignment.systemverilog"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.systemverilog"},{"match":"--","name":"keyword.operator.decrement.systemverilog"},{"match":"[-+]|\\\\*\\\\*|[%*/]","name":"keyword.operator.arithmetic.systemverilog"},{"match":"!|&&|\\\\|\\\\|","name":"keyword.operator.logical.systemverilog"},{"match":"<<<?|>>>?","name":"keyword.operator.bitwise.shift.systemverilog"},{"match":"~&|~\\\\|?|\\\\^~|~\\\\^|[\\\\&^{|]|\'\\\\{|[:?}]","name":"keyword.operator.bitwise.systemverilog"},{"match":"<=?|>=?|==\\\\?|!=\\\\?|===|!==|==|!=","name":"keyword.operator.comparison.systemverilog"}]},"parameters":{"begin":"[\\\\t\\\\n\\\\r ]*(#)[\\\\t\\\\n\\\\r ]*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.channel.systemverilog"},"2":{"name":"punctuation.section.parameters.begin"}},"end":"(\\\\))[\\\\t\\\\n\\\\r ]*(?=[(;A-Z\\\\\\\\_a-z]|$)","endCaptures":{"1":{"name":"punctuation.section.parameters.end"}},"name":"meta.parameters.systemverilog","patterns":[{"include":"#port-net-parameter"},{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#strings"},{"include":"#system-tf"},{"include":"#functions"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"},{"include":"#module-binding"}]},"port-net-parameter":{"patterns":[{"captures":{"1":{"name":"support.type.direction.systemverilog"},"2":{"name":"storage.type.net.systemverilog"},"3":{"name":"support.type.scope.systemverilog"},"4":{"name":"keyword.operator.scope.systemverilog"},"5":{"patterns":[{"include":"#built-ins"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.user-defined.systemverilog"}]},"6":{"patterns":[{"include":"#modifiers"}]},"7":{"patterns":[{"include":"#selects"}]},"8":{"patterns":[{"include":"#constants"},{"include":"#identifiers"}]},"9":{"patterns":[{"include":"#selects"}]}},"match":",?[\\\\t\\\\n\\\\r ]*(?:\\\\b(output|input|inout|ref)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:\\\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(::))?(?:([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*)?(?:\\\\b((?:|un)signed)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])[\\\\t\\\\n\\\\r ]*)?(?<!(?<!#)[-!%\\\\&(*+/:<-?^|~][\\\\t\\\\n\\\\r ]*)(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*(?=[),/;=]|$)","name":"meta.port-net-parameter.declaration.systemverilog"}]},"selects":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.slice.brackets.begin"}},"end":"]","endCaptures":{"0":{"name":"punctuation.slice.brackets.end"}},"name":"meta.brackets.select.systemverilog","patterns":[{"match":"\\\\$(?![a-z])","name":"constant.language.systemverilog"},{"include":"#system-tf"},{"include":"#constants"},{"include":"#operators"},{"include":"#cast-operator"},{"include":"#storage-scope"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"variable.other.identifier.systemverilog"}]},"sequence":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.function.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(sequence)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","name":"meta.sequence.systemverilog"},"storage-scope":{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"}},"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(::)","name":"meta.scope.systemverilog"},"strings":{"patterns":[{"begin":"`?\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":"\\"`?","endCaptures":{"0":{"name":"punctuation.definition.string.end.systemverilog"}},"name":"string.quoted.double.systemverilog","patterns":[{"match":"\\\\\\\\(?:[\\"\\\\\\\\afntv]|[0-7]{3}|x\\\\h{2})","name":"constant.character.escape.systemverilog"},{"match":"%(\\\\d+\\\\$)?[- #\'+0]*[,:;_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh?|ll|[Ljltz])?[%B-HLMOPS-VXZb-hlmops-vxz]","name":"constant.character.format.placeholder.systemverilog"},{"match":"%","name":"invalid.illegal.placeholder.systemverilog"},{"include":"#fixme-todo"}]},{"begin":"(?<=include)[\\\\t\\\\n\\\\r ]*(<)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.systemverilog"}},"name":"string.quoted.other.lt-gt.include.systemverilog"}]},"sv-control":{"captures":{"1":{"name":"keyword.control.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|iff??|else|casex??|casez|default|endcase|return|break|continue|do|foreach|clocking|coverpoint|property|bins|binsof|illegal_bins|ignore_bins|randcase|matches|solve|before|expect|cross|ref|srandom|struct|chandle|tagged|extern|throughout|timeprecision|timeunit|priority|type|union|wait_order|triggered|randsequence|context|pure|wildcard|new|forkjoin|unique0??|priority)\\\\b"},"sv-control-begin":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"punctuation.definition.label.systemverilog"},"3":{"name":"entity.name.section.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(begin|fork)\\\\b(?:[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*))?","name":"meta.item.begin.systemverilog"},"sv-control-end":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"punctuation.definition.label.systemverilog"},"3":{"name":"entity.name.section.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\\\b(?:[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*))?","name":"meta.item.end.systemverilog"},"sv-cover-cross":{"captures":{"2":{"name":"entity.name.type.class.systemverilog"},"3":{"name":"keyword.operator.other.systemverilog"},"4":{"name":"keyword.control.systemverilog"}},"match":"(([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(:))?[\\\\t\\\\n\\\\r ]*(c(?:overpoint|ross))[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)","name":"meta.definition.systemverilog"},"sv-definition":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(primitive|package|constraint|interface|covergroup|program)[\\\\t\\\\n\\\\r ]+(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","name":"meta.definition.systemverilog"},"sv-local":{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(const|static|protected|virtual|localparam|parameter|local)\\\\b"},"sv-option":{"captures":{"1":{"name":"keyword.cover.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(option)\\\\."},"sv-rand":{"match":"[\\\\t\\\\n\\\\r ]*\\\\brandc??\\\\b","name":"storage.type.rand.systemverilog"},"sv-std":{"match":"\\\\b(std)\\\\b::","name":"support.class.systemverilog"},"system-tf":{"match":"(?<![$0-9A-Z_a-z])\\\\$[$0-9A-Z_a-z]+(?![$0-9A-Z_a-z])","name":"support.function.systemverilog"},"tables":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(table)\\\\b","beginCaptures":{"1":{"name":"keyword.table.systemverilog.begin"}},"end":"[\\\\t\\\\n\\\\r ]*\\\\b(endtable)\\\\b","endCaptures":{"1":{"name":"keyword.table.systemverilog.end"}},"name":"meta.table.systemverilog","patterns":[{"include":"#comments"},{"match":"\\\\b[01BFNPRXbfnprx]\\\\b","name":"constant.language.systemverilog"},{"match":"[-*?]","name":"constant.language.systemverilog"},{"captures":{"1":{"name":"constant.language.systemverilog"}},"match":"\\\\(([01?Xx]{2})\\\\)"},{"match":":","name":"punctuation.definition.label.systemverilog"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]},"typedef":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(typedef)[\\\\t\\\\n\\\\r ]+(?:([A-Z_a-z][$0-9A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]+\\\\b((?:|un)signed)\\\\b)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?)?(?=[\\\\t\\\\n\\\\r ]*[A-Z\\\\\\\\_a-z])","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"patterns":[{"include":"#built-ins"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"}]},"3":{"patterns":[{"include":"#modifiers"}]},"4":{"patterns":[{"include":"#selects"}]}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.typedef.end.systemverilog"}},"name":"meta.typedef.systemverilog","patterns":[{"include":"#identifiers"},{"include":"#selects"}]},"typedef-enum-struct-union":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(typedef)[\\\\t\\\\n\\\\r ]+(enum|struct|union(?:[\\\\t\\\\n\\\\r ]+tagged)?|class|interface[\\\\t\\\\n\\\\r ]+class)(?:[\\\\t\\\\n\\\\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][$0-9A-Z_a-z]*)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?)?(?:[\\\\t\\\\n\\\\r ]+(packed))?(?:[\\\\t\\\\n\\\\r ]+((?:|un)signed))?(?=[\\\\t\\\\n\\\\r ]*(?:\\\\{|$))","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"keyword.control.systemverilog"},"3":{"patterns":[{"include":"#built-ins"}]},"4":{"patterns":[{"include":"#selects"}]},"5":{"name":"storage.modifier.systemverilog"},"6":{"name":"storage.modifier.systemverilog"}},"end":"(?<=})[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|(?<=^|[\\\\t\\\\n\\\\r ])\\\\\\\\[!-~]+(?=$|[\\\\t\\\\n\\\\r ]))[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*[,;]","endCaptures":{"1":{"name":"storage.type.systemverilog"},"2":{"patterns":[{"include":"#selects"}]}},"name":"meta.typedef-enum-struct-union.systemverilog","patterns":[{"include":"#port-net-parameter"},{"include":"#keywords"},{"include":"#base-grammar"},{"include":"#identifiers"}]}},"scopeName":"source.systemverilog"}')),XV=[UV]});var Lx={};u1(Lx,{default:()=>YV});var KV,YV,Sx=n1(()=>{KV=Object.freeze(JSON.parse('{"displayName":"Protocol Buffer 3","fileTypes":["proto"],"name":"proto","patterns":[{"include":"#comments"},{"include":"#syntax"},{"include":"#package"},{"include":"#import"},{"include":"#optionStmt"},{"include":"#message"},{"include":"#enum"},{"include":"#service"}],"repository":{"comments":{"patterns":[{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.proto"},{"begin":"//","end":"$\\\\n?","name":"comment.line.double-slash.proto"}]},"constants":{"match":"\\\\b(true|false|max|[A-Z_]+)\\\\b","name":"constant.language.proto"},"enum":{"begin":"(enum)(\\\\s+)([A-Za-z][0-9A-Z_a-z]*)(\\\\s*)(\\\\{)?","beginCaptures":{"1":{"name":"keyword.other.proto"},"3":{"name":"entity.name.class.proto"}},"end":"}","patterns":[{"include":"#reserved"},{"include":"#optionStmt"},{"include":"#comments"},{"begin":"([A-Za-z][0-9A-Z_a-z]*)\\\\s*(=)\\\\s*(-?0[Xx]\\\\h+|-?[0-9]+)","beginCaptures":{"1":{"name":"variable.other.proto"},"2":{"name":"keyword.operator.assignment.proto"},"3":{"name":"constant.numeric.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#fieldOptions"}]}]},"field":{"begin":"\\\\s*(optional|repeated|required)?\\\\s*(\\\\.?[.\\\\w]+)\\\\s+(\\\\w+)\\\\s*(=)\\\\s*(0[Xx]\\\\h+|[0-9]+)","beginCaptures":{"1":{"name":"storage.modifier.proto"},"2":{"name":"storage.type.proto"},"3":{"name":"variable.other.proto"},"4":{"name":"keyword.operator.assignment.proto"},"5":{"name":"constant.numeric.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#fieldOptions"}]},"fieldOptions":{"begin":"\\\\[","end":"]","patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"},{"include":"#optionName"}]},"ident":{"match":"\\\\.?[A-Za-z][.0-9A-Z_a-z]*","name":"entity.name.class.proto"},"import":{"captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"keyword.other.proto"},"3":{"name":"string.quoted.double.proto.import"},"4":{"name":"punctuation.terminator.proto"}},"match":"\\\\s*(import)\\\\s+(weak|public)?\\\\s*(\\"[^\\"]+\\")\\\\s*(;)"},"kv":{"begin":"(\\\\w+)\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"punctuation.separator.key-value.proto"}},"end":"(;)|,|(?=[/A-Z_a-z}])","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"}]},"mapfield":{"begin":"\\\\s*(map)\\\\s*(<)\\\\s*(\\\\.?[.\\\\w]+)\\\\s*,\\\\s*(\\\\.?[.\\\\w]+)\\\\s*(>)\\\\s+(\\\\w+)\\\\s*(=)\\\\s*(\\\\d+)","beginCaptures":{"1":{"name":"storage.type.proto"},"2":{"name":"punctuation.definition.typeparameters.begin.proto"},"3":{"name":"storage.type.proto"},"4":{"name":"storage.type.proto"},"5":{"name":"punctuation.definition.typeparameters.end.proto"},"6":{"name":"variable.other.proto"},"7":{"name":"keyword.operator.assignment.proto"},"8":{"name":"constant.numeric.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#fieldOptions"}]},"message":{"begin":"(message|extend)(\\\\s+)([A-Z_a-z][.0-9A-Z_a-z]*)(\\\\s*)(\\\\{)?","beginCaptures":{"1":{"name":"keyword.other.proto"},"3":{"name":"entity.name.class.message.proto"}},"end":"}","patterns":[{"include":"#reserved"},{"include":"$self"},{"include":"#enum"},{"include":"#optionStmt"},{"include":"#comments"},{"include":"#oneof"},{"include":"#field"},{"include":"#mapfield"}]},"method":{"begin":"(rpc)\\\\s+([A-Za-z][0-9A-Z_a-z]*)","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"entity.name.function"}},"end":"}|(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#comments"},{"include":"#optionStmt"},{"include":"#rpcKeywords"},{"include":"#ident"}]},"number":{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)\\\\b","name":"constant.numeric.proto"},"oneof":{"begin":"(oneof)\\\\s+([A-Za-z][0-9A-Z_a-z]*)\\\\s*\\\\{?","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"variable.other.proto"}},"end":"}","patterns":[{"include":"#optionStmt"},{"include":"#comments"},{"include":"#field"}]},"optionName":{"captures":{"1":{"name":"support.other.proto"},"2":{"name":"support.other.proto"},"3":{"name":"support.other.proto"}},"match":"(\\\\w+|\\\\(\\\\w+(\\\\.\\\\w+)*\\\\))(\\\\.\\\\w+)*"},"optionStmt":{"begin":"(option)\\\\s+(\\\\w+|\\\\(\\\\w+(\\\\.\\\\w+)*\\\\))(\\\\.\\\\w+)*\\\\s*(=)","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"support.other.proto"},"3":{"name":"support.other.proto"},"4":{"name":"support.other.proto"},"5":{"name":"keyword.operator.assignment.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"}]},"package":{"captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"string.unquoted.proto.package"},"3":{"name":"punctuation.terminator.proto"}},"match":"\\\\s*(package)\\\\s+([.\\\\w]+)\\\\s*(;)"},"reserved":{"begin":"(reserved)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"captures":{"1":{"name":"constant.numeric.proto"},"3":{"name":"keyword.other.proto"},"4":{"name":"constant.numeric.proto"}},"match":"(\\\\d+)(\\\\s+(to)\\\\s+(\\\\d+))?"},{"include":"#string"}]},"rpcKeywords":{"match":"\\\\b(stream|returns)\\\\b","name":"keyword.other.proto"},"service":{"begin":"(service)\\\\s+([A-Za-z][.0-9A-Z_a-z]*)\\\\s*\\\\{?","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"entity.name.class.message.proto"}},"end":"}","patterns":[{"include":"#comments"},{"include":"#optionStmt"},{"include":"#method"}]},"storagetypes":{"match":"\\\\b(double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\\\\b","name":"storage.type.proto"},"string":{"match":"([\\"\'])(?:\\\\\\\\.|[^\\\\\\\\])*?\\\\1","name":"string.quoted.double.proto"},"subMsgOption":{"begin":"\\\\{","end":"}","patterns":[{"include":"#kv"},{"include":"#comments"}]},"syntax":{"captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"keyword.operator.assignment.proto"},"3":{"name":"string.quoted.double.proto.syntax"},"4":{"name":"punctuation.terminator.proto"}},"match":"\\\\s*(syntax)\\\\s*(=)\\\\s*(\\"proto[23]\\")\\\\s*(;)"}},"scopeName":"source.proto","aliases":["protobuf"]}')),YV=[KV]});var Zx={};u1(Zx,{default:()=>JV});var QV,JV,Ex=n1(()=>{QV=Object.freeze(JSON.parse('{"displayName":"HashiCorp HCL","fileTypes":["hcl"],"name":"hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\\\.(?!\\\\*)","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"end":"\\\\p{alpha}[-\\\\w]*|\\\\d*","endCaptures":{"0":{"patterns":[{"match":"(?!null|false|true)\\\\p{alpha}[-\\\\w]*","name":"variable.other.member.hcl"},{"match":"\\\\d+","name":"constant.numeric.integer.hcl"}]}}},"attribute_definition":{"captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}},"match":"(\\\\()?\\\\b((?!(?:null|false|true)\\\\b)\\\\p{alpha}[-_[:alnum:]]*)(\\\\))?\\\\s*(=(?![=>]))\\\\s*","name":"variable.declaration.hcl"},"attribute_splat":{"begin":"\\\\.","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"end":"\\\\*","endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"begin":"(\\\\w[-\\\\w]*)(([^\\\\n\\\\r\\\\S]+(\\\\w[-_\\\\w]*|\\"[^\\\\n\\\\r\\"]*\\"))*)[^\\\\n\\\\r\\\\S]*(\\\\{)","beginCaptures":{"1":{"patterns":[{"match":"\\\\b(?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*\\\\b","name":"entity.name.type.hcl"}]},"2":{"patterns":[{"match":"\\"[^\\\\n\\\\r\\"]*\\"","name":"variable.other.enummember.hcl"},{"match":"\\\\p{alpha}[-_[:alnum:]]*","name":"variable.other.enummember.hcl"}]},"5":{"name":"punctuation.section.block.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}},"name":"meta.block.hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#expressions"},{"include":"#block"}]},"block_inline_comments":{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"\\\\*/","name":"comment.block.hcl"},"brackets":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}},"patterns":[{"match":"\\\\*","name":"keyword.operator.splat.hcl"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}]},"char_escapes":{"match":"\\\\\\\\(?:[\\"\\\\\\\\nrt]|u(\\\\h{8}|\\\\h{4}))","name":"constant.character.escape.hcl"},"comma":{"match":",","name":"punctuation.separator.hcl"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"begin":"//","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"$\\\\n?","name":"comment.line.double-slash.hcl"},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"match":"\\\\bin\\\\b","name":"keyword.operator.word.hcl"},{"match":"\\\\bif\\\\b","name":"keyword.control.conditional.hcl"},{"match":":","name":"keyword.operator.hcl"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"begin":"([-:\\\\w]+)(\\\\()","beginCaptures":{"1":{"patterns":[{"match":"\\\\b\\\\p{alpha}[-_\\\\w]*::(\\\\p{alpha}[-_\\\\w]*::)?\\\\p{alpha}[-_\\\\w]*\\\\b","name":"support.function.namespaced.hcl"},{"match":"\\\\b\\\\p{alpha}[-_\\\\w]*\\\\b","name":"support.function.builtin.hcl"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}},"name":"meta.function-call.hcl","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}]},"hash_line_comments":{"begin":"#","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"$\\\\n?","name":"comment.line.number-sign.hcl"},"hcl_type_keywords":{"match":"\\\\b(any|string|number|bool|list|set|map|tuple|object)\\\\b","name":"storage.type.hcl"},"heredoc":{"begin":"(<<-?)\\\\s*(\\\\w+)\\\\s*$","beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"end":"^\\\\s*\\\\2\\\\s*$","endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}},"name":"string.unquoted.heredoc.hcl","patterns":[{"include":"#string_interpolation"}]},"inline_for_expression":{"captures":{"1":{"name":"keyword.control.hcl"},"2":{"patterns":[{"match":"=>","name":"storage.type.function.hcl"},{"include":"#for_expression_body"}]}},"match":"(for)\\\\b(.*)\\\\n"},"inline_if_expression":{"begin":"(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}},"end":"\\\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"language_constants":{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.hcl"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"}]},"local_identifiers":{"match":"\\\\b(?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*\\\\b","name":"variable.other.readwrite.hcl"},"numeric_literals":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.exponent.hcl"}},"match":"\\\\b\\\\d+([Ee][-+]?)\\\\d+\\\\b","name":"constant.numeric.float.hcl"},{"captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}},"match":"\\\\b\\\\d+(\\\\.)\\\\d+(?:([Ee][-+]?)\\\\d+)?\\\\b","name":"constant.numeric.float.hcl"},{"match":"\\\\b\\\\d+\\\\b","name":"constant.numeric.integer.hcl"}]},"object_for_expression":{"begin":"(\\\\{)\\\\s?(for)\\\\b","beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}},"patterns":[{"match":"=>","name":"storage.type.function.hcl"},{"include":"#for_expression_body"}]},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}},"name":"meta.braces.hcl","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl"}},"match":"\\\\b((?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*)\\\\s*(=(?!=))\\\\s*"},{"captures":{"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}},"match":"^\\\\s*((\\").*(\\"))\\\\s*(=)\\\\s*"},{"begin":"^\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"end":"(\\\\))\\\\s*([:=])\\\\s*","endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}},"name":"meta.mapping.key.hcl","patterns":[{"include":"#attribute_access"},{"include":"#attribute_splat"}]},{"include":"#object_key_values"}]},"operators":{"patterns":[{"match":">=","name":"keyword.operator.hcl"},{"match":"<=","name":"keyword.operator.hcl"},{"match":"==","name":"keyword.operator.hcl"},{"match":"!=","name":"keyword.operator.hcl"},{"match":"\\\\+","name":"keyword.operator.arithmetic.hcl"},{"match":"-","name":"keyword.operator.arithmetic.hcl"},{"match":"\\\\*","name":"keyword.operator.arithmetic.hcl"},{"match":"/","name":"keyword.operator.arithmetic.hcl"},{"match":"%","name":"keyword.operator.arithmetic.hcl"},{"match":"&&","name":"keyword.operator.logical.hcl"},{"match":"\\\\|\\\\|","name":"keyword.operator.logical.hcl"},{"match":"!","name":"keyword.operator.logical.hcl"},{"match":">","name":"keyword.operator.hcl"},{"match":"<","name":"keyword.operator.hcl"},{"match":"\\\\?","name":"keyword.operator.hcl"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.hcl"},{"match":":","name":"keyword.operator.hcl"},{"match":"=>","name":"keyword.operator.hcl"}]},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}},"patterns":[{"include":"#comments"},{"include":"#expressions"}]},"string_interpolation":{"begin":"(?<![$%])([$%]\\\\{)","beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}},"name":"meta.interpolation.hcl","patterns":[{"match":"~\\\\s","name":"keyword.operator.template.left.trim.hcl"},{"match":"\\\\s~","name":"keyword.operator.template.right.trim.hcl"},{"match":"\\\\b(if|else|endif|for|in|endfor)\\\\b","name":"keyword.control.hcl"},{"include":"#expressions"},{"include":"#local_identifiers"}]},"string_literals":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}},"name":"string.quoted.double.hcl","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}]},"tuple_for_expression":{"begin":"(\\\\[)\\\\s?(for)\\\\b","beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}},"patterns":[{"include":"#for_expression_body"}]}},"scopeName":"source.hcl"}')),JV=[QV]});var eq,Fx,jx=n1(()=>{eq=Object.freeze(JSON.parse('{"fileTypes":[],"injectTo":["text.html.markdown"],"injectionSelector":"L:text.html.markdown","name":"markdown-nix","patterns":[{"include":"#nix-code-block"}],"repository":{"nix-code-block":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(nix)(\\\\s+[^`~]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"5":{"name":"fenced_code.block.language"},"6":{"name":"fenced_code.block.language.attributes"}},"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.nix","patterns":[{"include":"source.nix"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]}},"scopeName":"markdown.nix.codeblock"}')),Fx=[eq]});var Hx={};u1(Hx,{default:()=>nq});var tq,nq,Nx=n1(()=>{jx();tq=Object.freeze(JSON.parse('{"displayName":"Nix","fileTypes":["nix"],"name":"nix","patterns":[{"include":"#expression"}],"repository":{"attribute-bind":{"patterns":[{"include":"#attribute-name"},{"include":"#attribute-bind-from-equals"}]},"attribute-bind-from-equals":{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.bind.nix"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.bind.nix"}},"patterns":[{"include":"#expression"}]},"attribute-inherit":{"begin":"\\\\binherit\\\\b","beginCaptures":{"0":{"name":"keyword.other.inherit.nix"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.inherit.nix"}},"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.function.arguments.nix"}},"end":"(?=;)","patterns":[{"begin":"\\\\)","beginCaptures":{"0":{"name":"punctuation.section.function.arguments.nix"}},"end":"(?=;)","patterns":[{"include":"#bad-reserved"},{"include":"#attribute-name-single"},{"include":"#others"}]},{"include":"#expression"}]},{"begin":"(?=[A-Z_a-z])","end":"(?=;)","patterns":[{"include":"#bad-reserved"},{"include":"#attribute-name-single"},{"include":"#others"}]},{"include":"#others"}]},"attribute-name":{"patterns":[{"match":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","name":"entity.other.attribute-name.multipart.nix"},{"match":"\\\\."},{"include":"#string-quoted"},{"include":"#interpolation"}]},"attribute-name-single":{"match":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","name":"entity.other.attribute-name.single.nix"},"attrset-contents":{"patterns":[{"include":"#attribute-inherit"},{"include":"#bad-reserved"},{"include":"#attribute-bind"},{"include":"#others"}]},"attrset-definition":{"begin":"(?=\\\\{)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}},"end":"(})","endCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}},"patterns":[{"include":"#attrset-contents"}]},{"begin":"(?<=})","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]}]},"attrset-definition-brace-opened":{"patterns":[{"begin":"(?<=})","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"(?=.?)","end":"}","endCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}},"patterns":[{"include":"#attrset-contents"}]}]},"attrset-for-sure":{"patterns":[{"begin":"(?=\\\\brec\\\\b)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\brec\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=\\\\{)","patterns":[{"include":"#others"}]},{"include":"#attrset-definition"},{"include":"#others"}]},{"begin":"(?=\\\\{\\\\s*(}|[^,?]*([;=])))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attrset-definition"},{"include":"#others"}]}]},"attrset-or-function":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.attrset-or-function.nix"}},"end":"(?=([]);}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"(?=(\\\\s*}|\\"|\\\\binherit\\\\b|\\\\$\\\\{|\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*(\\\\s*\\\\.|\\\\s*=[^=])))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attrset-definition-brace-opened"}]},{"begin":"(?=(\\\\.\\\\.\\\\.|\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*\\\\s*[,?]))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition-brace-opened"}]},{"include":"#bad-reserved"},{"begin":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"variable.parameter.function.maybe.nix"}},"end":"(?=([]);}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"(?=\\\\.)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attrset-definition-brace-opened"}]},{"begin":"\\\\s*(,)","beginCaptures":{"1":{"name":"keyword.operator.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition-brace-opened"}]},{"begin":"(?==)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attribute-bind-from-equals"},{"include":"#attrset-definition-brace-opened"}]},{"begin":"(?=\\\\?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-parameter-default"},{"begin":",","beginCaptures":{"0":{"name":"keyword.operator.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition-brace-opened"}]}]},{"include":"#others"}]},{"include":"#others"}]},"bad-reserved":{"match":"(?<![-\'\\\\w])(if|then|else|assert|with|let|in|rec|inherit)(?![-\'\\\\w])","name":"invalid.illegal.reserved.nix"},"comment":{"patterns":[{"begin":"/\\\\*([^*]|\\\\*[^/])*","end":"\\\\*/","name":"comment.block.nix"},{"begin":"#","end":"$","name":"comment.line.number-sign.nix"}]},"constants":{"patterns":[{"begin":"\\\\b(builtins|true|false|null)\\\\b","beginCaptures":{"0":{"name":"constant.language.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"\\\\b(scopedImport|import|isNull|abort|throw|baseNameOf|dirOf|removeAttrs|map|toString|derivationStrict|derivation)\\\\b","beginCaptures":{"0":{"name":"support.function.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"\\\\b[0-9]+\\\\b","beginCaptures":{"0":{"name":"constant.numeric.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]}]},"expression":{"patterns":[{"include":"#parens-and-cont"},{"include":"#list-and-cont"},{"include":"#string"},{"include":"#interpolation"},{"include":"#with-assert"},{"include":"#function-for-sure"},{"include":"#attrset-for-sure"},{"include":"#attrset-or-function"},{"include":"#let"},{"include":"#if"},{"include":"#operator-unary"},{"include":"#operator-binary"},{"include":"#constants"},{"include":"#bad-reserved"},{"include":"#parameter-name-and-cont"},{"include":"#others"}]},"expression-cont":{"begin":"(?=.?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#parens"},{"include":"#list"},{"include":"#string"},{"include":"#interpolation"},{"include":"#function-for-sure"},{"include":"#attrset-for-sure"},{"include":"#attrset-or-function"},{"include":"#operator-binary"},{"include":"#constants"},{"include":"#bad-reserved"},{"include":"#parameter-name"},{"include":"#others"}]},"function-body":{"begin":"(@\\\\s*([A-Z_a-z][-\'0-9A-Z_a-z]*)\\\\s*)?(:)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression"}]},"function-body-from-colon":{"begin":"(:)","beginCaptures":{"0":{"name":"punctuation.definition.function.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression"}]},"function-contents":{"patterns":[{"include":"#bad-reserved"},{"include":"#function-parameter"},{"include":"#others"}]},"function-definition":{"begin":"(?=.?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-body-from-colon"},{"begin":"(?=.?)","end":"(?=:)","patterns":[{"begin":"\\\\b([A-Z_a-z][-\'0-9A-Z_a-z]*)","beginCaptures":{"0":{"name":"variable.parameter.function.4.nix"}},"end":"(?=:)","patterns":[{"begin":"@","end":"(?=:)","patterns":[{"include":"#function-header-until-colon-no-arg"},{"include":"#others"}]},{"include":"#others"}]},{"begin":"(?=\\\\{)","end":"(?=:)","patterns":[{"include":"#function-header-until-colon-with-arg"}]}]},{"include":"#others"}]},"function-definition-brace-opened":{"begin":"(?=.?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-body-from-colon"},{"begin":"(?=.?)","end":"(?=:)","patterns":[{"include":"#function-header-close-brace-with-arg"},{"begin":"(?=.?)","end":"(?=})","patterns":[{"include":"#function-contents"}]}]},{"include":"#others"}]},"function-for-sure":{"patterns":[{"begin":"(?=(\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*\\\\s*[:@]|\\\\{[^\\"\'}]*}\\\\s*:|\\\\{[^\\"#\'/=}]*[,?]))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition"}]}]},"function-header-close-brace-no-arg":{"begin":"}","beginCaptures":{"0":{"name":"punctuation.definition.entity.function.nix"}},"end":"(?=:)","patterns":[{"include":"#others"}]},"function-header-close-brace-with-arg":{"begin":"}","beginCaptures":{"0":{"name":"punctuation.definition.entity.function.nix"}},"end":"(?=:)","patterns":[{"include":"#function-header-terminal-arg"},{"include":"#others"}]},"function-header-open-brace":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.entity.function.2.nix"}},"end":"(?=})","patterns":[{"include":"#function-contents"}]},"function-header-terminal-arg":{"begin":"(?=@)","end":"(?=:)","patterns":[{"begin":"@","end":"(?=:)","patterns":[{"begin":"\\\\b([A-Z_a-z][-\'0-9A-Z_a-z]*)","end":"(?=:)","name":"variable.parameter.function.3.nix"},{"include":"#others"}]},{"include":"#others"}]},"function-header-until-colon-no-arg":{"begin":"(?=\\\\{)","end":"(?=:)","patterns":[{"include":"#function-header-open-brace"},{"include":"#function-header-close-brace-no-arg"}]},"function-header-until-colon-with-arg":{"begin":"(?=\\\\{)","end":"(?=:)","patterns":[{"include":"#function-header-open-brace"},{"include":"#function-header-close-brace-with-arg"}]},"function-parameter":{"patterns":[{"begin":"(\\\\.\\\\.\\\\.)","end":"(,|(?=}))","name":"keyword.operator.nix","patterns":[{"include":"#others"}]},{"begin":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"variable.parameter.function.1.nix"}},"end":"(,|(?=}))","endCaptures":{"0":{"name":"keyword.operator.nix"}},"patterns":[{"include":"#whitespace"},{"include":"#comment"},{"include":"#function-parameter-default"},{"include":"#expression"}]},{"include":"#others"}]},"function-parameter-default":{"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.nix"}},"end":"(?=[,}])","patterns":[{"include":"#expression"}]},"if":{"begin":"(?=\\\\bif\\\\b)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\bif\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"\\\\bth(?=en\\\\b)","endCaptures":{"0":{"name":"keyword.other.nix"}},"patterns":[{"include":"#expression"}]},{"begin":"(?<=th)en\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"\\\\bel(?=se\\\\b)","endCaptures":{"0":{"name":"keyword.other.nix"}},"patterns":[{"include":"#expression"}]},{"begin":"(?<=el)se\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","endCaptures":{"0":{"name":"keyword.other.nix"}},"patterns":[{"include":"#expression"}]}]},"illegal":{"match":".","name":"invalid.illegal"},"interpolation":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nix"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.nix"}},"name":"meta.embedded","patterns":[{"include":"#expression"}]},"let":{"begin":"(?=\\\\blet\\\\b)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\blet\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=([]),;}]|\\\\b(in|else|then)\\\\b))","patterns":[{"begin":"(?=\\\\{)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\{","end":"}","patterns":[{"include":"#attrset-contents"}]},{"begin":"(^|(?<=}))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"include":"#others"}]},{"include":"#attrset-contents"},{"include":"#others"}]},{"begin":"\\\\bin\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression"}]}]},"list":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.list.nix"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.list.nix"}},"patterns":[{"include":"#expression"}]},"list-and-cont":{"begin":"(?=\\\\[)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#list"},{"include":"#expression-cont"}]},"operator-binary":{"match":"(\\\\bor\\\\b|\\\\.|\\\\|>|<\\\\||==|!=?|<=?|>=?|&&|\\\\|\\\\||->|//|\\\\?|\\\\+\\\\+|[-*]|/(?=([^*]|$))|\\\\+)","name":"keyword.operator.nix"},"operator-unary":{"match":"([-!])","name":"keyword.operator.unary.nix"},"others":{"patterns":[{"include":"#whitespace"},{"include":"#comment"},{"include":"#illegal"}]},"parameter-name":{"captures":{"0":{"name":"variable.parameter.name.nix"}},"match":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*"},"parameter-name-and-cont":{"begin":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"variable.parameter.name.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.expression.nix"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.expression.nix"}},"patterns":[{"include":"#expression"}]},"parens-and-cont":{"begin":"(?=\\\\()","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#parens"},{"include":"#expression-cont"}]},"string":{"patterns":[{"begin":"(?=\'\')","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\'\'","beginCaptures":{"0":{"name":"punctuation.definition.string.other.start.nix"}},"end":"\'\'(?![$\']|\\\\\\\\.)","endCaptures":{"0":{"name":"punctuation.definition.string.other.end.nix"}},"name":"string.quoted.other.nix","patterns":[{"match":"\'\'([$\']|\\\\\\\\.)","name":"constant.character.escape.nix"},{"include":"#interpolation"}]},{"include":"#expression-cont"}]},{"begin":"(?=\\")","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#string-quoted"},{"include":"#expression-cont"}]},{"begin":"(~?[-+.0-9A-Z_a-z]*(/[-+.0-9A-Z_a-z]+)+)","beginCaptures":{"0":{"name":"string.unquoted.path.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"(<[-+.0-9A-Z_a-z]+(/[-+.0-9A-Z_a-z]+)*>)","beginCaptures":{"0":{"name":"string.unquoted.spath.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"([A-Za-z][-+.0-9A-Za-z]*:[!$-\'*-:=?-Z_a-z~]+)","beginCaptures":{"0":{"name":"string.unquoted.url.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]}]},"string-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.double.start.nix"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.double.end.nix"}},"name":"string.quoted.double.nix","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.nix"},{"include":"#interpolation"}]},"whitespace":{"match":"\\\\s+"},"with-assert":{"begin":"(?<![-\'\\\\w])(with|assert)(?![-\'\\\\w])","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":";","patterns":[{"include":"#expression"}]}},"scopeName":"source.nix","embeddedLangs":["markdown-nix"]}')),nq=[...Fx,tq]});var aq,Tx,Vx=n1(()=>{aq=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":"text.html.vue"}]}},"scopeName":"markdown.vue.codeblock"}')),Tx=[aq]});var iq,qx,Ix=n1(()=>{iq=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":"text.html.vue#vue-directives"}],"scopeName":"vue.directives"}')),qx=[iq]});var rq,Bx,Px=n1(()=>{rq=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":"text.html.vue#vue-interpolations"}],"scopeName":"vue.interpolations"}')),Bx=[rq]});var sq,Rx,Dx=n1(()=>{ee();sq=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"]}')),Rx=[...w0,sq]});var Gx={};u1(Gx,{default:()=>oq});var cq,oq,Ox=n1(()=>{Ve();ee();P6();D6();u4();qo();Vx();Ix();Px();Dx();cq=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":"(?!template(?![-0-:A-Za-z]))([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"\']?)html\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"contentName":"text.html.derivative","end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"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":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.ts","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)","name":"source.ts","patterns":[{"include":"source.ts"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"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":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.tsx","patterns":[{"include":"source.tsx"}]},{"begin":"(?<=>)","name":"source.tsx","patterns":[{"include":"source.tsx"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"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":"text.html.vue","patterns":[{"include":"text.html.vue"}]}]},{"begin":"(template)(?=\\\\s|/?>)","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[>\\\\s])","name":"text.html.derivative","patterns":[{"include":"#html-stuff"}]}]},{"begin":"(script)(?=\\\\s|/?>)","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":"#multi-line-script-tag-stuff"}]},{"begin":"(style)(?=\\\\s|/?>)","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":"#multi-line-style-tag-stuff"}]},{"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":{"capitalized-tag":{"begin":"(<)([A-Z][-0-:A-Za-z]*)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.html.vue"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag.structure.$2.start.html.vue","patterns":[{"begin":"\\\\G","end":"(?=/?>)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]}]},"html-stuff":{"patterns":[{"include":"#template-tag"},{"include":"#capitalized-tag"},{"include":"text.html.derivative"},{"include":"text.html.basic"}]},"multi-line-script-tag-stuff":{"begin":"\\\\G","end":"(?=<\/script[>\\\\s])","patterns":[{"begin":"\\\\G(?!\\\\blang\\\\s*=\\\\s*[\\"\']?(?:tsx??|jsx|coffee)\\\\b)","end":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?(?:tsx??|jsx|coffee)\\\\b)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?ts\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.ts","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)","name":"source.ts","patterns":[{"include":"source.ts"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?tsx\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.tsx","patterns":[{"include":"source.tsx"}]},{"begin":"(?<=>)","name":"source.tsx","patterns":[{"include":"source.tsx"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?jsx\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\/script[>\\\\s])","name":"source.js.jsx","patterns":[{"include":"source.js.jsx"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?coffee\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\/script[>\\\\s])","name":"source.coffee","patterns":[{"include":"source.coffee"}]}]},{"begin":"(?<=>)","end":"(?=<\/script[>\\\\s])","name":"source.js","patterns":[{"include":"source.js"}]}]},"multi-line-style-tag-stuff":{"begin":"\\\\G","end":"(?=</style[>\\\\s])","patterns":[{"begin":"\\\\G(?!\\\\blang\\\\s*=\\\\s*[\\"\']?(?:scss|stylus|less|postcss)\\\\b)","end":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?(?:scss|stylus|less|postcss)\\\\b)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?scss\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css.scss","patterns":[{"include":"source.css.scss"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?stylus\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.stylus","patterns":[{"include":"source.stylus"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?less\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css.less","patterns":[{"include":"source.css.less"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?postcss\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.postcss","patterns":[{"include":"source.postcss"}]}]},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css","patterns":[{"include":"source.css"}]}]},"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)(?=[>\\\\s]))","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)(?=\\\\s|/?>)","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)(?=[>\\\\s]))","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":"text.html.vue","embeddedLangs":["css","javascript","typescript","json","html","html-derivative","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"]}')),oq=[...G0,...w0,...K3,...Q3,...I2,...Ga,...Tx,...qx,...Bx,...Rx,cq]});var lq,Wx,Ux=n1(()=>{lq=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"}')),Wx=[lq]});var Xx={};u1(Xx,{default:()=>uq});var pq,uq,Kx=n1(()=>{ee();P6();Ve();Ux();pq=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":"(?<=>)(?=[^\\\\n]+</(s(?:cript|tyle))[>\\\\s])","contentName":"source.ts","end":"(?=</(s(?:cript|tyle))[>\\\\s])","name":"meta.embedded.block.svelte","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)(?!</)","contentName":"source.ts","name":"meta.embedded.block.svelte","patterns":[{"include":"source.ts"}],"while":"^(?!\\\\s*</(s(?:cript|tyle))[>\\\\s])"}]},"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-comments"},{"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-comments":{"patterns":[{"match":"//.*$","name":"comment.line.double-slash.svelte"},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.svelte"}]},"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"]}')),uq=[...w0,...K3,...G0,...Wx,pq]});var Yx={};u1(Yx,{default:()=>dq});var mq,dq,Qx=n1(()=>{mq=Object.freeze(JSON.parse('{"displayName":"Makefile","name":"make","patterns":[{"include":"#comment"},{"include":"#variables"},{"include":"#variable-assignment"},{"include":"#directives"},{"include":"#recipe"},{"include":"#target"}],"repository":{"another-variable-braces":{"patterns":[{"begin":"(?<=\\\\{)(?!})","end":"(?=}|((?<!\\\\\\\\)\\\\n))","name":"variable.other.makefile","patterns":[{"include":"#variables"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"another-variable-parentheses":{"patterns":[{"begin":"(?<=\\\\()(?!\\\\))","end":"(?=\\\\)|((?<!\\\\\\\\)\\\\n))","name":"variable.other.makefile","patterns":[{"include":"#variables"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"braces-interpolation":{"begin":"\\\\{","end":"}","patterns":[{"include":"#variables"},{"include":"#interpolation"}]},"builtin-variable-braces":{"patterns":[{"match":"(?<=\\\\{)(MAKEFILES|VPATH|SHELL|MAKESHELL|MAKE|MAKELEVEL|MAKEFLAGS|MAKECMDGOALS|CURDIR|SUFFIXES|\\\\.LIBPATTERNS)(?=\\\\s*})","name":"variable.language.makefile"}]},"builtin-variable-parentheses":{"patterns":[{"match":"(?<=\\\\()(MAKEFILES|VPATH|SHELL|MAKESHELL|MAKE|MAKELEVEL|MAKEFLAGS|MAKECMDGOALS|CURDIR|SUFFIXES|\\\\.LIBPATTERNS)(?=\\\\s*\\\\))","name":"variable.language.makefile"}]},"comma":{"match":",","name":"punctuation.separator.delimeter.comma.makefile"},"comment":{"begin":"(^ +)?((?<!\\\\\\\\)(\\\\\\\\\\\\\\\\)*)(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.makefile"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.makefile"}},"end":"(?=[^\\\\\\\\])$","name":"comment.line.number-sign.makefile","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"directives":{"patterns":[{"begin":"^ *([-s]?include)\\\\b","beginCaptures":{"1":{"name":"keyword.control.include.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]},{"begin":"^ *(vpath)\\\\b","beginCaptures":{"1":{"name":"keyword.control.vpath.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]},{"begin":"^\\\\s*(?:(override)\\\\s*)?(define)\\\\s*(\\\\S+)\\\\s*([+:?]??=)?(?=\\\\s)","captures":{"1":{"name":"keyword.control.override.makefile"},"2":{"name":"keyword.control.define.makefile"},"3":{"name":"variable.other.makefile"},"4":{"name":"punctuation.separator.key-value.makefile"}},"end":"^\\\\s*(endef)\\\\b","name":"meta.scope.conditional.makefile","patterns":[{"begin":"\\\\G(?!\\\\n)","end":"^","patterns":[{"include":"#comment"}]},{"include":"#variables"},{"include":"#directives"}]},{"begin":"^ *(export)\\\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variable-assignment"},{"match":"\\\\S+","name":"variable.other.makefile"}]},{"begin":"^ *(override|private)\\\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variable-assignment"}]},{"begin":"^ *(un(?:export|define))\\\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"match":"\\\\S+","name":"variable.other.makefile"}]},{"begin":"^\\\\s*(ifn??(?:eq|def))(?=\\\\s)","captures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^\\\\s*(endif)\\\\b","name":"meta.scope.conditional.makefile","patterns":[{"begin":"\\\\G","end":"^","name":"meta.scope.condition.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#comment"}]},{"begin":"^\\\\s*else(?=\\\\s)\\\\s*(ifn??(?:eq|def))*(?=\\\\s)","beginCaptures":{"0":{"name":"keyword.control.else.makefile"}},"end":"^","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#comment"}]},{"include":"$self"}]}]},"flavor-variable-braces":{"patterns":[{"begin":"(?<=\\\\{)(origin|flavor)\\\\s(?=[^}\\\\s]+\\\\s*})","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"contentName":"variable.other.makefile","end":"(?=})","name":"meta.scope.function-call.makefile","patterns":[{"include":"#variables"}]}]},"flavor-variable-parentheses":{"patterns":[{"begin":"(?<=\\\\()(origin|flavor)\\\\s(?=[^)\\\\s]+\\\\s*\\\\))","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"contentName":"variable.other.makefile","end":"(?=\\\\))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#variables"}]}]},"function-variable-braces":{"patterns":[{"begin":"(?<=\\\\{)(subst|patsubst|strip|findstring|filter(-out)?|sort|word(list)?|firstword|lastword|dir|notdir|suffix|basename|addsuffix|addprefix|join|wildcard|realpath|abspath|info|error|warning|shell|foreach|if|or|and|call|eval|value|file|guile)\\\\s","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"end":"(?=}|((?<!\\\\\\\\)\\\\n))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#interpolation"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"function-variable-parentheses":{"patterns":[{"begin":"(?<=\\\\()(subst|patsubst|strip|findstring|filter(-out)?|sort|word(list)?|firstword|lastword|dir|notdir|suffix|basename|addsuffix|addprefix|join|wildcard|realpath|abspath|info|error|warning|shell|foreach|if|or|and|call|eval|value|file|guile)\\\\s","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"end":"(?=\\\\)|((?<!\\\\\\\\)\\\\n))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#interpolation"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"interpolation":{"patterns":[{"include":"#parentheses-interpolation"},{"include":"#braces-interpolation"}]},"parentheses-interpolation":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#variables"},{"include":"#interpolation"}]},"recipe":{"begin":"^\\\\t([-+@]*)","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"[^\\\\\\\\]$","name":"meta.scope.recipe.makefile","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"include":"#variables"}]},"simple-variable":{"patterns":[{"match":"\\\\$[^(){}]","name":"variable.language.makefile"}]},"target":{"begin":"^(?!\\\\t)([^:]*)(:)(?!=)","beginCaptures":{"1":{"patterns":[{"captures":{"1":{"name":"support.function.target.$1.makefile"}},"match":"^\\\\s*(\\\\.(PHONY|SUFFIXES|DEFAULT|PRECIOUS|INTERMEDIATE|SECONDARY|SECONDEXPANSION|DELETE_ON_ERROR|IGNORE|LOW_RESOLUTION_TIME|SILENT|EXPORT_ALL_VARIABLES|NOTPARALLEL|ONESHELL|POSIX))\\\\s*$"},{"begin":"(?=\\\\S)","end":"(?=\\\\s|$)","name":"entity.name.function.target.makefile","patterns":[{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]}]},"2":{"name":"punctuation.separator.key-value.makefile"}},"end":"[^\\\\\\\\]$","name":"meta.scope.target.makefile","patterns":[{"begin":"\\\\G","end":"(?=[^\\\\\\\\])$","name":"meta.scope.prerequisites.makefile","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"include":"#comment"},{"include":"#variables"}]}]},"variable-assignment":{"begin":"(^ *|\\\\G\\\\s*)([^#:=\\\\s]+)\\\\s*((?:(?<![!+:?])|[!+:?])=)","beginCaptures":{"2":{"name":"variable.other.makefile","patterns":[{"include":"#variables"}]},"3":{"name":"punctuation.separator.key-value.makefile"}},"end":"\\\\n","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"include":"#comment"},{"include":"#variables"}]},"variable-braces":{"patterns":[{"begin":"\\\\$\\\\{","captures":{"0":{"name":"punctuation.definition.variable.makefile"}},"end":"}|((?<!\\\\\\\\)\\\\n)","name":"string.interpolated.makefile","patterns":[{"include":"#variables"},{"include":"#builtin-variable-braces"},{"include":"#function-variable-braces"},{"include":"#flavor-variable-braces"},{"include":"#another-variable-braces"}]}]},"variable-parentheses":{"patterns":[{"begin":"\\\\$\\\\(","captures":{"0":{"name":"punctuation.definition.variable.makefile"}},"end":"\\\\)|((?<!\\\\\\\\)\\\\n)","name":"string.interpolated.makefile","patterns":[{"include":"#variables"},{"include":"#builtin-variable-parentheses"},{"include":"#function-variable-parentheses"},{"include":"#flavor-variable-parentheses"},{"include":"#another-variable-parentheses"}]}]},"variables":{"patterns":[{"include":"#simple-variable"},{"include":"#variable-parentheses"},{"include":"#variable-braces"}]}},"scopeName":"source.makefile","aliases":["makefile"]}')),dq=[mq]});var Jx={};u1(Jx,{default:()=>gq});var hq,gq,ek=n1(()=>{hq=Object.freeze(JSON.parse('{"displayName":"Groovy","name":"groovy","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.groovy"}},"match":"^(#!).+$\\\\n","name":"comment.line.hashbang.groovy"},{"captures":{"1":{"name":"keyword.other.package.groovy"},"2":{"name":"storage.modifier.package.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"match":"^\\\\s*(package)\\\\b(?:\\\\s*([^ $;]+)\\\\s*(;)?)?","name":"meta.package.groovy"},{"begin":"(import static)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.import.static.groovy"}},"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"storage.modifier.import.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"contentName":"storage.modifier.import.groovy","end":"\\\\s*(?:$|(?=%>)(;))","endCaptures":{"1":{"name":"punctuation.terminator.groovy"}},"name":"meta.import.groovy","patterns":[{"match":"\\\\.","name":"punctuation.separator.groovy"},{"match":"\\\\s","name":"invalid.illegal.character_not_allowed_here.groovy"}]},{"begin":"(import)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.import.groovy"}},"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"storage.modifier.import.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"contentName":"storage.modifier.import.groovy","end":"\\\\s*(?:$|(?=%>)|(;))","endCaptures":{"1":{"name":"punctuation.terminator.groovy"}},"name":"meta.import.groovy","patterns":[{"match":"\\\\.","name":"punctuation.separator.groovy"},{"match":"\\\\s","name":"invalid.illegal.character_not_allowed_here.groovy"}]},{"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"keyword.other.import.static.groovy"},"3":{"name":"storage.modifier.import.groovy"},"4":{"name":"punctuation.terminator.groovy"}},"match":"^\\\\s*(import)\\\\s+(static)\\\\s+\\\\b(?:\\\\s*([^ $;]+)\\\\s*(;)?)?","name":"meta.import.groovy"},{"include":"#groovy"}],"repository":{"annotations":{"patterns":[{"begin":"(?<!\\\\.)(@[^ (]+)(\\\\()","beginCaptures":{"1":{"name":"storage.type.annotation.groovy"},"2":{"name":"punctuation.definition.annotation-arguments.begin.groovy"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.annotation-arguments.end.groovy"}},"name":"meta.declaration.annotation.groovy","patterns":[{"captures":{"1":{"name":"constant.other.key.groovy"},"2":{"name":"keyword.operator.assignment.groovy"}},"match":"(\\\\w*)\\\\s*(=)"},{"include":"#values"},{"match":",","name":"punctuation.definition.seperator.groovy"}]},{"match":"(?<!\\\\.)@\\\\S+","name":"storage.type.annotation.groovy"}]},"anonymous-classes-and-new":{"begin":"\\\\bnew\\\\b","beginCaptures":{"0":{"name":"keyword.control.new.groovy"}},"end":"(?<=[])])(?!\\\\s*\\\\{)|(?<=})|(?=;)|$","patterns":[{"begin":"(\\\\w+)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"storage.type.groovy"}},"end":"}|(?=\\\\s*[),;])|$","patterns":[{"begin":"\\\\[","end":"]","patterns":[{"include":"#groovy"}]},{"begin":"\\\\{","end":"(?=})","patterns":[{"include":"#groovy"}]}]},{"begin":"(?=\\\\w.*\\\\(?)","end":"(?<=\\\\))|$","patterns":[{"include":"#object-types"},{"begin":"\\\\(","beginCaptures":{"1":{"name":"storage.type.groovy"}},"end":"\\\\)","patterns":[{"include":"#groovy"}]}]},{"begin":"\\\\{","end":"}","name":"meta.inner-class.groovy","patterns":[{"include":"#class-body"}]}]},"braces":{"begin":"\\\\{","end":"}","patterns":[{"include":"#groovy-code"}]},"class":{"begin":"(?=\\\\w?[\\\\w\\\\s]*(?:class|@?interface|enum)\\\\s+\\\\w+)","end":"}","endCaptures":{"0":{"name":"punctuation.section.class.end.groovy"}},"name":"meta.definition.class.groovy","patterns":[{"include":"#storage-modifiers"},{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.groovy"},"2":{"name":"entity.name.type.class.groovy"}},"match":"(class|@?interface|enum)\\\\s+(\\\\w+)","name":"meta.class.identifier.groovy"},{"begin":"extends","beginCaptures":{"0":{"name":"storage.modifier.extends.groovy"}},"end":"(?=\\\\{|implements)","name":"meta.definition.class.inherited.classes.groovy","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"(implements)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.groovy"}},"end":"(?=\\\\s*extends|\\\\{)","name":"meta.definition.class.implemented.interfaces.groovy","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\\\{","end":"(?=})","name":"meta.class.body.groovy","patterns":[{"include":"#class-body"}]}]},"class-body":{"patterns":[{"include":"#enum-values"},{"include":"#constructors"},{"include":"#groovy"}]},"closures":{"begin":"\\\\{(?=.*?->)","end":"}","patterns":[{"begin":"(?<=\\\\{)(?=[^}]*?->)","end":"->","endCaptures":{"0":{"name":"keyword.operator.groovy"}},"patterns":[{"begin":"(?!->)","end":"(?=->)","name":"meta.closure.parameters.groovy","patterns":[{"begin":"(?!,|->)","end":"(?=,|->)","name":"meta.closure.parameter.groovy","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"(?=,|->)","name":"meta.parameter.default.groovy","patterns":[{"include":"#groovy-code"}]},{"include":"#parameters"}]}]}]},{"begin":"(?=[^}])","end":"(?=})","patterns":[{"include":"#groovy-code"}]}]},"comment-block":{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.groovy"}},"end":"\\\\*/","name":"comment.block.groovy"},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.groovy"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.groovy"},{"include":"text.html.javadoc"},{"include":"#comment-block"},{"captures":{"1":{"name":"punctuation.definition.comment.groovy"}},"match":"(//).*$\\\\n?","name":"comment.line.double-slash.groovy"}]},"constants":{"patterns":[{"match":"\\\\b([A-Z][0-9A-Z_]+)\\\\b","name":"constant.other.groovy"},{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.groovy"}]},"constructors":{"applyEndPatternLast":1,"begin":"(?<=;|^)(?=\\\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)\\\\s+)*[A-Z]\\\\w*\\\\()","end":"}","patterns":[{"include":"#method-content"}]},"enum-values":{"patterns":[{"begin":"(?<=;|^)\\\\s*\\\\b([0-9A-Z_]+)(?=\\\\s*(?:[(,;}]|$))","beginCaptures":{"1":{"name":"constant.enum.name.groovy"}},"end":"[,;]|(?=})|^(?!\\\\s*\\\\w+\\\\s*(?:,|$))","patterns":[{"begin":"\\\\(","end":"\\\\)","name":"meta.enum.value.groovy","patterns":[{"match":",","name":"punctuation.definition.seperator.parameter.groovy"},{"include":"#groovy-code"}]}]}]},"groovy":{"patterns":[{"include":"#comments"},{"include":"#class"},{"include":"#variables"},{"include":"#methods"},{"include":"#annotations"},{"include":"#groovy-code"}]},"groovy-code":{"patterns":[{"include":"#groovy-code-minus-map-keys"},{"include":"#map-keys"}]},"groovy-code-minus-map-keys":{"patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#support-functions"},{"include":"#keyword-language"},{"include":"#values"},{"include":"#anonymous-classes-and-new"},{"include":"#keyword-operator"},{"include":"#types"},{"include":"#storage-modifiers"},{"include":"#parens"},{"include":"#closures"},{"include":"#braces"}]},"keyword":{"patterns":[{"include":"#keyword-operator"},{"include":"#keyword-language"}]},"keyword-language":{"patterns":[{"match":"\\\\b(try|catch|finally|throw)\\\\b","name":"keyword.control.exception.groovy"},{"match":"\\\\b((?<!\\\\.)(?:return|break|continue|default|do|while|for|switch|if|else))\\\\b","name":"keyword.control.groovy"},{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.groovy"}},"end":":","endCaptures":{"0":{"name":"punctuation.definition.case-terminator.groovy"}},"name":"meta.case.groovy","patterns":[{"include":"#groovy-code-minus-map-keys"}]},{"begin":"\\\\b(assert)\\\\s","beginCaptures":{"1":{"name":"keyword.control.assert.groovy"}},"end":"$|[;}]","name":"meta.declaration.assertion.groovy","patterns":[{"match":":","name":"keyword.operator.assert.expression-seperator.groovy"},{"include":"#groovy-code-minus-map-keys"}]},{"match":"\\\\b(throws)\\\\b","name":"keyword.other.throws.groovy"}]},"keyword-operator":{"patterns":[{"match":"\\\\b(as)\\\\b","name":"keyword.operator.as.groovy"},{"match":"\\\\b(in)\\\\b","name":"keyword.operator.in.groovy"},{"match":"\\\\?:","name":"keyword.operator.elvis.groovy"},{"match":"\\\\*:","name":"keyword.operator.spreadmap.groovy"},{"match":"\\\\.\\\\.","name":"keyword.operator.range.groovy"},{"match":"->","name":"keyword.operator.arrow.groovy"},{"match":"<<","name":"keyword.operator.leftshift.groovy"},{"match":"(?<=\\\\S)\\\\.(?=\\\\S)","name":"keyword.operator.navigation.groovy"},{"match":"(?<=\\\\S)\\\\?\\\\.(?=\\\\S)","name":"keyword.operator.safe-navigation.groovy"},{"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.groovy"}},"end":"(?=$|[])}])","name":"meta.evaluation.ternary.groovy","patterns":[{"match":":","name":"keyword.operator.ternary.expression-seperator.groovy"},{"include":"#groovy-code-minus-map-keys"}]},{"match":"==~","name":"keyword.operator.match.groovy"},{"match":"=~","name":"keyword.operator.find.groovy"},{"match":"\\\\b(instanceof)\\\\b","name":"keyword.operator.instanceof.groovy"},{"match":"(===?|!=|<=|>=|<=>|<>|[<>]|<<)","name":"keyword.operator.comparison.groovy"},{"match":"=","name":"keyword.operator.assignment.groovy"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.groovy"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.groovy"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.groovy"}]},"language-variables":{"patterns":[{"match":"\\\\b(this|super)\\\\b","name":"variable.language.groovy"}]},"map-keys":{"patterns":[{"captures":{"1":{"name":"constant.other.key.groovy"},"2":{"name":"punctuation.definition.seperator.key-value.groovy"}},"match":"(\\\\w+)\\\\s*(:)"}]},"method-call":{"begin":"([$\\\\w]+)(\\\\()","beginCaptures":{"1":{"name":"meta.method.groovy"},"2":{"name":"punctuation.definition.method-parameters.begin.groovy"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.method-parameters.end.groovy"}},"name":"meta.method-call.groovy","patterns":[{"match":",","name":"punctuation.definition.seperator.parameter.groovy"},{"include":"#groovy-code"}]},"method-content":{"patterns":[{"match":"\\\\s"},{"include":"#annotations"},{"begin":"(?=[<\\\\w][^(]*\\\\s+[$<\\\\w]+\\\\s*\\\\()","end":"(?=[$\\\\w]+\\\\s*\\\\()","name":"meta.method.return-type.java","patterns":[{"include":"#storage-modifiers"},{"include":"#types"}]},{"begin":"([$\\\\w]+)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.java"}},"end":"\\\\)","name":"meta.definition.method.signature.java","patterns":[{"begin":"(?=[^)])","end":"(?=\\\\))","name":"meta.method.parameters.groovy","patterns":[{"begin":"(?=[^),])","end":"(?=[),])","name":"meta.method.parameter.groovy","patterns":[{"match":",","name":"punctuation.definition.separator.groovy"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"(?=[),])","name":"meta.parameter.default.groovy","patterns":[{"include":"#groovy-code"}]},{"include":"#parameters"}]}]}]},{"begin":"(?=<)","end":"(?=\\\\s)","name":"meta.method.paramerised-type.groovy","patterns":[{"begin":"<","end":">","name":"storage.type.parameters.groovy","patterns":[{"include":"#types"},{"match":",","name":"punctuation.definition.seperator.groovy"}]}]},{"begin":"throws","beginCaptures":{"0":{"name":"storage.modifier.groovy"}},"end":"(?=[;{])|^(?=\\\\s*(?:[^{\\\\s]|$))","name":"meta.throwables.groovy","patterns":[{"include":"#object-types"}]},{"begin":"\\\\{","end":"(?=})","name":"meta.method.body.java","patterns":[{"include":"#groovy-code"}]}]},"methods":{"applyEndPatternLast":1,"begin":"(?<=;|^|\\\\{)(?=\\\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)|def|(?:(?:void|boolean|byte|char|short|int|float|long|double)|@?(?:[A-Za-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)[]\\\\[]*(?:<.*>)?)\\\\s+([^=]+\\\\s+)?\\\\w+\\\\s*\\\\()","end":"}|(?=[^{])","name":"meta.definition.method.groovy","patterns":[{"include":"#method-content"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.groovy"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"numbers":{"patterns":[{"match":"((0([Xx])\\\\h*)|([-+])?\\\\b(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdfglu]|UL|ul)?\\\\b","name":"constant.numeric.groovy"}]},"object-types":{"patterns":[{"begin":"\\\\b((?:[a-z]\\\\w*\\\\.)*(?:[A-Z]+\\\\w*[a-z]+\\\\w*|UR[IL]))<","end":"[>[^],<?\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy","patterns":[{"include":"#object-types"},{"begin":"<","end":"[>[^],<\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy"}]},{"begin":"\\\\b((?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*[a-z]+\\\\w*)(?=\\\\[)","end":"(?=[^]\\\\s])","name":"storage.type.object.array.groovy","patterns":[{"begin":"\\\\[","end":"]","patterns":[{"include":"#groovy"}]}]},{"match":"\\\\b(?:[A-Za-z]\\\\w*\\\\.)*(?:[A-Z]+\\\\w*[a-z]+\\\\w*|UR[IL])\\\\b","name":"storage.type.groovy"}]},"object-types-inherited":{"patterns":[{"begin":"\\\\b((?:[A-Za-z]\\\\w*\\\\.)*[A-Z]+\\\\w*[a-z]+\\\\w*)<","end":"[>[^],<?\\\\[\\\\w\\\\s]]","name":"entity.other.inherited-class.groovy","patterns":[{"include":"#object-types-inherited"},{"begin":"<","end":"[>[^],<\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy"}]},{"captures":{"1":{"name":"keyword.operator.dereference.groovy"}},"match":"\\\\b(?:[A-Za-z]\\\\w*(\\\\.))*[A-Z]+\\\\w*[a-z]+\\\\w*\\\\b","name":"entity.other.inherited-class.groovy"}]},"parameters":{"patterns":[{"include":"#annotations"},{"include":"#storage-modifiers"},{"include":"#types"},{"match":"\\\\w+","name":"variable.parameter.method.groovy"}]},"parens":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#groovy-code"}]},"primitive-arrays":{"patterns":[{"match":"\\\\b(?:void|boolean|byte|char|short|int|float|long|double)(\\\\[])*\\\\b","name":"storage.type.primitive.array.groovy"}]},"primitive-types":{"patterns":[{"match":"\\\\b(?:void|boolean|byte|char|short|int|float|long|double)\\\\b","name":"storage.type.primitive.groovy"}]},"regexp":{"patterns":[{"begin":"/(?=[^/]+/([^>]|$))","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.groovy"}},"end":"/","endCaptures":{"0":{"name":"punctuation.definition.string.regexp.end.groovy"}},"name":"string.regexp.groovy","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]},{"begin":"~\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.groovy"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.regexp.end.groovy"}},"name":"string.regexp.compiled.groovy","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]}]},"storage-modifiers":{"patterns":[{"match":"\\\\b(p(?:rivate|rotected|ublic))\\\\b","name":"storage.modifier.access-control.groovy"},{"match":"\\\\b(static)\\\\b","name":"storage.modifier.static.groovy"},{"match":"\\\\b(final)\\\\b","name":"storage.modifier.final.groovy"},{"match":"\\\\b(native|synchronized|abstract|threadsafe|transient)\\\\b","name":"storage.modifier.other.groovy"}]},"string-quoted-double":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.double.groovy","patterns":[{"include":"#string-quoted-double-contents"}]},"string-quoted-double-contents":{"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"},{"applyEndPatternLast":1,"begin":"\\\\$\\\\w","end":"(?=\\\\W)","name":"variable.other.interpolated.groovy","patterns":[{"match":"\\\\w","name":"variable.other.interpolated.groovy"},{"match":"\\\\.","name":"keyword.other.dereference.groovy"}]},{"begin":"\\\\$\\\\{","captures":{"0":{"name":"punctuation.section.embedded.groovy"}},"end":"}","name":"source.groovy.embedded.source","patterns":[{"include":"#nest_curly"}]}]},"string-quoted-double-multiline":{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.double.multiline.groovy","patterns":[{"include":"#string-quoted-double-contents"}]},"string-quoted-single":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.single.groovy","patterns":[{"include":"#string-quoted-single-contents"}]},"string-quoted-single-contents":{"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]},"string-quoted-single-multiline":{"begin":"\'\'\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\'\'\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.single.multiline.groovy","patterns":[{"include":"#string-quoted-single-contents"}]},"strings":{"patterns":[{"include":"#string-quoted-double-multiline"},{"include":"#string-quoted-single-multiline"},{"include":"#string-quoted-double"},{"include":"#string-quoted-single"},{"include":"#regexp"}]},"structures":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.structure.begin.groovy"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.structure.end.groovy"}},"name":"meta.structure.groovy","patterns":[{"include":"#groovy-code"},{"match":",","name":"punctuation.definition.separator.groovy"}]},"support-functions":{"patterns":[{"match":"\\\\b(?:sprintf|print(?:f|ln)?)\\\\b","name":"support.function.print.groovy"},{"match":"\\\\b(?:shouldFail|fail(?:NotEquals)?|ass(?:ume|ert(?:S(?:cript|ame)|N(?:ot(?:Same|Null)|ull)|Contains|T(?:hat|oString|rue)|Inspect|Equals|False|Length|ArrayEquals)))\\\\b","name":"support.function.testing.groovy"}]},"types":{"patterns":[{"match":"\\\\b(def)\\\\b","name":"storage.type.def.groovy"},{"include":"#primitive-types"},{"include":"#primitive-arrays"},{"include":"#object-types"}]},"values":{"patterns":[{"include":"#language-variables"},{"include":"#strings"},{"include":"#numbers"},{"include":"#constants"},{"include":"#types"},{"include":"#structures"},{"include":"#method-call"}]},"variables":{"applyEndPatternLast":1,"patterns":[{"begin":"(?=(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)|def|(?:void|boolean|byte|char|short|int|float|long|double)|(?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)\\\\s+[],<>\\\\[_\\\\w\\\\d\\\\s]+(?:=|$))","end":";|$","name":"meta.definition.variable.groovy","patterns":[{"match":"\\\\s"},{"captures":{"1":{"name":"constant.variable.groovy"}},"match":"([0-9A-Z_]+)\\\\s+(?==)"},{"captures":{"1":{"name":"meta.definition.variable.name.groovy"}},"match":"(\\\\w[^,\\\\s]*)\\\\s+(?==)"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"$","patterns":[{"include":"#groovy-code"}]},{"captures":{"1":{"name":"meta.definition.variable.name.groovy"}},"match":"(\\\\w[^=\\\\s]*)(?=\\\\s*($|;))"},{"include":"#groovy-code"}]}]}},"scopeName":"source.groovy"}')),gq=[hq]});var rz=ye(rl=>{"use strict";var iz=R3();rl.createRoot=iz.createRoot,rl.hydrateRoot=iz.hydrateRoot;var v51});var fP={};u1(fP,{mountNativeChatList:()=>mP,mountNativeComposer:()=>dP,mountNativeConversation:()=>pP,mountNativeRuntimeInput:()=>gP,nativeConversationCss:()=>uP});var At=U1(g0(),1);var zl={Workflows:"\u5DE5\u4F5C\u6D41","A workflow is a group of your Bots. Drag the flowchart to change who hands work to whom.":"\u5DE5\u4F5C\u6D41\u662F\u4E00\u7EC4\u4F60\u7684 Bot\u3002\u62D6\u52A8\u6D41\u7A0B\u56FE\uFF0C\u6539\u8C01\u628A\u5DE5\u4F5C\u4EA4\u7ED9\u8C01\u3002","Factory presets":"\u51FA\u5382\u9884\u8BBE","Ready-made pipelines. Use one to start your own.":"\u51FA\u5382\u5C31\u6709\u7684\u6D41\u7A0B\u3002\u7528\u4E00\u4E2A\uFF0C\u505A\u6210\u4F60\u81EA\u5DF1\u7684\u3002",Yours:"\u4F60\u81EA\u5DF1\u7684","Workflows saved on this machine.":"\u8FD9\u53F0\u673A\u5668\u4E0A\u4FDD\u5B58\u7684\u5DE5\u4F5C\u6D41\u3002","No workflows of your own yet.":"\u8FD8\u6CA1\u6709\u4F60\u81EA\u5DF1\u7684\u5DE5\u4F5C\u6D41\u3002","No workflows yet.":"\u8FD8\u6CA1\u6709\u5DE5\u4F5C\u6D41\u3002","Reading workflows\u2026":"\u6B63\u5728\u8BFB\u53D6\u5DE5\u4F5C\u6D41\u2026","Could not read workflows":"\u8BFB\u4E0D\u5230\u5DE5\u4F5C\u6D41\u3002","The Workflow plugin is not installed or not enabled. A default install includes @flybot/workflow.":"\u5DE5\u4F5C\u6D41\u63D2\u4EF6\u6CA1\u6709\u5B89\u88C5\uFF0C\u6216\u6CA1\u6709\u542F\u7528\u3002\u9ED8\u8BA4\u5B89\u88C5\u5305\u542B @flybot/workflow\u3002","Could not copy this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u590D\u5236\u4E0D\u4E86\u3002","Could not save this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u4FDD\u5B58\u4E0D\u4E86\u3002","Could not rename this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u6539\u4E0D\u4E86\u540D\u3002","Could not delete this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u5220\u4E0D\u6389\u3002","Use this":"\u7528\u8FD9\u4E2A","Rename workflow":"\u91CD\u547D\u540D\u5DE5\u4F5C\u6D41","Delete workflow":"\u5220\u9664\u5DE5\u4F5C\u6D41",'Are you sure you want to delete "{name}"? This cannot be undone.':"\u786E\u5B9A\u5220\u9664\u300C{name}\u300D\u5417\uFF1F\u5220\u9664\u540E\u65E0\u6CD5\u6062\u590D\u3002","Finish editing":"\u5B8C\u6210","Drag a Bot here":"\u628A Bot \u62D6\u5230\u56FE\u4E0A","System prompt":"\u7CFB\u7EDF\u63D0\u793A\u8BCD","Parallel branch, then join":"\u5E76\u884C\u5206\u652F \xB7 \u5168\u90E8\u901A\u8FC7\u540E\u6C47\u5408","This workflow has no flowchart yet.":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u8FD8\u6CA1\u6709\u6D41\u7A0B\u56FE\u3002",Queued:"\u6392\u961F\u4E2D",Running:"\u8FD0\u884C\u4E2D",Skipped:"\u8DF3\u8FC7",Idle:"\u7A7A\u95F2","project default":"\u9879\u76EE\u9ED8\u8BA4",Customize:"\u5B9A\u5236\u4E00\u4EFD",Save:"\u4FDD\u5B58","Use for this project":"\u672C\u9879\u76EE\u4F7F\u7528","This node has no guards, so nothing refuses it but its inputs.":"\u8FD9\u4E2A\u8282\u70B9\u6CA1\u6709 guard\uFF0C\u9664\u4E86\u8F93\u5165\u4E4B\u5916\u6CA1\u6709\u522B\u7684\u4E1C\u897F\u4F1A\u62D2\u7EDD\u5B83\u3002",Guards:"Guard",Edges:"\u8FB9","Guards of {node}":"{node} \u7684 Guard",holds:"\u6210\u7ACB","cannot read":"\u8BFB\u4E0D\u5230",refuses:"\u62D2\u7EDD","The flowchart, drawn from the node table":"\u6D41\u7A0B\u56FE\uFF0C\u6309\u8282\u70B9\u8868\u7ED8\u5236","This host could not read the facts, so these guards say what they could not read \u2014 none of them is a pass.":"\u8FD9\u53F0\u4E3B\u673A\u8BFB\u4E0D\u5230\u4E8B\u5B9E\uFF0C\u6240\u4EE5\u8FD9\u4E9B guard \u53EA\u8BF4\u8BFB\u4E0D\u5230\u4EC0\u4E48\u2014\u2014\u6CA1\u6709\u4E00\u6761\u7B97\u901A\u8FC7\u3002","Saved workflows/{id}.json":"\u5DF2\u4FDD\u5B58 workflows/{id}.json","Could not open this workflow":"\u6253\u4E0D\u5F00\u8FD9\u4E2A\u5DE5\u4F5C\u6D41","This definition cannot be saved":"\u8FD9\u4E2A\u5B9A\u4E49\u4E0D\u80FD\u4FDD\u5B58","This definition cannot be copied":"\u8FD9\u4E2A\u5B9A\u4E49\u4E0D\u80FD\u590D\u5236","Select a node to edit":"\u9009\u62E9\u4E00\u4E2A\u8282\u70B9\u6765\u7F16\u8F91","Node settings":"\u8282\u70B9\u8BBE\u7F6E",Tools:"\u5DE5\u5177","Inputs and outputs":"\u8F93\u5165\u548C\u8F93\u51FA","{count} card(s) name a node this workflow draws no column for.":"\u6709 {count} \u5F20\u5361\u6307\u5411\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u4E0D\u753B\u5217\u7684\u8282\u70B9\u3002","Main Bot":"\u4E3B Bot",Working:"\u5DE5\u4F5C\u4E2D","Waiting for your answer":"\u7B49\u4F60\u56DE\u7B54","Unread activity":"\u6709\u672A\u8BFB",Search:"\u641C\u7D22","New chat":"\u65B0\u5BF9\u8BDD","Message one of your Bots":"\u7ED9\u4F60\u7684\u4E00\u4E2A Bot \u53D1\u6D88\u606F","Set up a Bot with its own role":"\u521B\u5EFA\u4E00\u4E2A\u6709\u81EA\u5DF1\u89D2\u8272\u7684 Bot","New group chat":"\u65B0\u5EFA\u7FA4\u804A","Chat with several of your Bots":"\u548C\u4F60\u7684\u51E0\u4E2A Bot \u4E00\u8D77\u804A","Face-to-face room":"\u9762\u5BF9\u9762\u623F\u95F4","Meet people nearby with a 6-digit number":"\u7528\u540C\u4E00\u7EC4 6 \u4F4D\u6570\u5B57\u548C\u8EAB\u8FB9\u7684\u4EBA\u89C1\u9762","Join by number or link":"\u7528\u53F7\u7801\u6216\u94FE\u63A5\u52A0\u5165","Start a face-to-face room":"\u9762\u5BF9\u9762\u5EFA\u7FA4","Start a new room with {code}":"\u7528 {code} \u5F00\u4E00\u4E2A\u65B0\u623F\u95F4","No one is waiting under this number. If someone already opened the room, the number no longer works \u2014 ask them for an invite link.":"\u8FD9\u4E2A\u53F7\u7801\u4E0B\u8FD8\u6CA1\u6709\u4EBA\u5728\u7B49\u3002\u5982\u679C\u5DF2\u7ECF\u6709\u4EBA\u5F00\u8FC7\u8FD9\u4E2A\u623F\u95F4\uFF0C\u53F7\u7801\u5C31\u4E0D\u518D\u6709\u6548\u2014\u2014\u5411\u4ED6\u4EEC\u8981\u4E00\u6761\u9080\u8BF7\u94FE\u63A5\u3002","Start a new room":"\u5F00\u4E00\u4E2A\u65B0\u623F\u95F4","Enter a number, or paste a group invite link":"\u8F93\u5165\u6570\u5B57\u9762\u5BF9\u9762\u5EFA\u7FA4\uFF0C\u6216\u7C98\u8D34\u9080\u8BF7\u94FE\u63A5\u52A0\u5165","Pick your Bots. Enter the same 6-digit number as everyone nearby to build a room together, or paste a group invite link or scan its QR code to join that group.":"\u9009\u597D\u4F60\u7684 Bot\u3002\u548C\u8EAB\u8FB9\u7684\u4EBA\u8F93\u5165\u540C\u4E00\u7EC4 6 \u4F4D\u6570\u5B57\u4E00\u8D77\u5EFA\u7FA4\uFF0C\u6216\u7C98\u8D34\u7FA4\u9080\u8BF7\u94FE\u63A5\u3001\u626B\u63CF\u4E8C\u7EF4\u7801\u52A0\u5165\u90A3\u4E2A\u7FA4\u3002","Pick the number everyone nearby types":"\u5B9A\u4E00\u4E2A\u5927\u5BB6\u90FD\u8F93\u5165\u7684\u53F7\u7801","Pick your Bots and choose a 6-digit number. Everyone nearby types the same number to build the room together.":"\u9009\u597D\u4F60\u7684 Bot\uFF0C\u518D\u5B9A\u4E00\u7EC4 6 \u4F4D\u6570\u5B57\u3002\u8EAB\u8FB9\u7684\u4EBA\u8F93\u5165\u540C\u4E00\u4E2A\u53F7\u7801\uFF0C\u5C31\u80FD\u4E00\u8D77\u628A\u8FD9\u4E2A\u7FA4\u5EFA\u8D77\u6765\u3002","Or paste a group invite link (https://\u2026/r/\u2026)":"\u6216\u7C98\u8D34\u7FA4\u9080\u8BF7\u94FE\u63A5\uFF08https://\u2026/r/\u2026\uFF09","Could not run: {error}":"\u8FD9\u4E00\u8F6E\u6CA1\u80FD\u8DD1\u8D77\u6765\uFF1A{error}","the model call failed":"\u6A21\u578B\u8C03\u7528\u5931\u8D25","{count} turns in a row":"\u8FDE\u7EED {count} \u8F6E","Group invite link":"\u7FA4\u9080\u8BF7\u94FE\u63A5","Room-only: friends do not see these Bots unless you invite them.":"\u4EC5\u9650\u8FD9\u4E2A\u623F\u95F4\uFF1A\u9664\u975E\u4F60\u9080\u8BF7\uFF0C\u597D\u53CB\u770B\u4E0D\u5230\u8FD9\u4E9B Bot\u3002","6 digits":"6 \u4F4D\u6570\u5B57","6-digit room number":"6 \u4F4D\u623F\u95F4\u53F7","Pick a Bot first.":"\u8BF7\u5148\u9009\u4E00\u4E2A Bot\u3002","Enter all 6 digits.":"\u8BF7\u8F93\u5165\u5B8C\u6574\u7684 6 \u4F4D\u6570\u5B57\u3002","Enter 6 digits":"\u8BF7\u8F93\u5165 6 \u4F4D\u6570\u5B57","Join with link":"\u7528\u94FE\u63A5\u52A0\u5165","Scan a code":"\u626B\u7801","Join group":"\u52A0\u5165\u7FA4",Join:"\u52A0\u5165","Invite by link":"\u7528\u94FE\u63A5\u9080\u8BF7","Create link":"\u521B\u5EFA\u94FE\u63A5","New link":"\u65B0\u94FE\u63A5","Anyone you give the link to can join with their Bot, until you withdraw it. They do not become a friend.":"\u62FF\u5230\u94FE\u63A5\u7684\u4EBA\u53EF\u4EE5\u5E26\u7740\u81EA\u5DF1\u7684 Bot \u52A0\u5165\uFF0C\u76F4\u5230\u4F60\u64A4\u56DE\u94FE\u63A5\u3002\u4ED6\u4EEC\u4E0D\u4F1A\u6210\u4E3A\u4F60\u7684\u597D\u53CB\u3002","No link came back. Try again.":"\u6CA1\u6709\u62FF\u5230\u94FE\u63A5\uFF0C\u8BF7\u91CD\u8BD5\u3002","The link was withdrawn. Nobody can join with it now.":"\u94FE\u63A5\u5DF2\u64A4\u56DE\uFF0C\u73B0\u5728\u6CA1\u4EBA\u80FD\u7528\u5B83\u52A0\u5165\u3002","Every unused link was withdrawn.":"\u6240\u6709\u8FD8\u6CA1\u7528\u8FC7\u7684\u94FE\u63A5\u90FD\u5DF2\u64A4\u56DE\u3002","This link has expired.":"\u8FD9\u4E2A\u94FE\u63A5\u5DF2\u8FC7\u671F\u3002","QR code for this group invite":"\u8FD9\u4E2A\u7FA4\u9080\u8BF7\u7684\u4E8C\u7EF4\u7801","Scan with FlyBot to join this group":"\u7528 FlyBot \u626B\u7801\u52A0\u5165\u8FD9\u4E2A\u7FA4","Copy link":"\u590D\u5236\u94FE\u63A5","{time} left to join":"\u8FD8\u5269 {time} \u53EF\u52A0\u5165","Works until you withdraw it.":"\u5728\u4F60\u64A4\u56DE\u4E4B\u524D\u4E00\u76F4\u6709\u6548\u3002","Withdraw link":"\u64A4\u56DE\u94FE\u63A5","1 earlier link still works.":"\u8FD8\u6709 1 \u4E2A\u4E4B\u524D\u7684\u94FE\u63A5\u4ECD\u7136\u6709\u6548\u3002","{count} earlier links still work.":"\u8FD8\u6709 {count} \u4E2A\u4E4B\u524D\u7684\u94FE\u63A5\u4ECD\u7136\u6709\u6548\u3002","Withdraw all":"\u5168\u90E8\u64A4\u56DE","{names} cannot be shown to someone who joins by link. Share them (Bot settings \u2192 Sharing) or remove them from the group, then seat the guest.":"{names} \u4E0D\u80FD\u7ED9\u901A\u8FC7\u94FE\u63A5\u52A0\u5165\u7684\u4EBA\u770B\u5230\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E \u2192 \u5171\u4EAB\u91CC\u5171\u4EAB\u4ED6\u4EEC\uFF0C\u6216\u628A\u4ED6\u4EEC\u79FB\u51FA\u7FA4\uFF0C\u7136\u540E\u518D\u5B89\u6392\u5BA2\u4EBA\u5165\u5EA7\u3002","A Bot in this group cannot be shown to someone who joins by link. Share that Bot or remove it, then seat the guest.":"\u8FD9\u4E2A\u7FA4\u91CC\u6709\u4E00\u4E2A Bot \u4E0D\u80FD\u7ED9\u901A\u8FC7\u94FE\u63A5\u52A0\u5165\u7684\u4EBA\u770B\u5230\u3002\u8BF7\u5171\u4EAB\u8BE5 Bot \u6216\u628A\u5B83\u79FB\u51FA\u7FA4\uFF0C\u7136\u540E\u518D\u5B89\u6392\u5BA2\u4EBA\u5165\u5EA7\u3002","A guest is in the group, but telling their FlyBot is waiting for your approval.":"\u5BA2\u4EBA\u5DF2\u7ECF\u5728\u7FA4\u91CC\uFF0C\u4F46\u901A\u77E5\u5BF9\u65B9 FlyBot \u8FD8\u5728\u7B49\u4F60\u6279\u51C6\u3002","A guest is in the group, but their FlyBot has not opened it yet. Seat them again.":"\u5BA2\u4EBA\u5DF2\u7ECF\u5728\u7FA4\u91CC\uFF0C\u4F46\u5BF9\u65B9\u7684 FlyBot \u8FD8\u6CA1\u6709\u6253\u5F00\u8FD9\u4E2A\u7FA4\u3002\u8BF7\u518D\u5B89\u6392\u4E00\u6B21\u5165\u5EA7\u3002","Seat them":"\u5B89\u6392\u5165\u5EA7","Paste an invite link or code":"\u7C98\u8D34\u9080\u8BF7\u94FE\u63A5\u6216\u9080\u8BF7\u7801","A coding session without a Bot":"\u4E0D\u5E26 Bot \u7684\u7F16\u7801\u4F1A\u8BDD","New Bot \u201C{name}\u201D":"\u65B0\u5EFA Bot\u300C{name}\u300D","New\u2026":"\u65B0\u5EFA",Animation:"\u52A8\u753B","Bot animation":"Bot \u52A8\u753B",Quiet:"\u5B89\u9759",Normal:"\u6B63\u5E38",Lively:"\u6D3B\u6CFC",Settings:"\u8BBE\u7F6E",Usage:"\u7528\u91CF",Account:"\u8D26\u6237",Cancel:"\u53D6\u6D88",Delete:"\u5220\u9664",Duplicate:"\u590D\u5236\u4E00\u4EFD",Hidden:"\u5DF2\u9690\u85CF",Admin:"\u7BA1\u7406\u5458",Human:"\u4EBA",Chief:"Chief",Shared:"\u5171\u4EAB","Add person":"\u6DFB\u52A0\u6210\u5458","Add friend's Bot":"\u6DFB\u52A0\u597D\u53CB\u7684 Bot","Sending as {name}":"\u4EE5 {name} \u7684\u8EAB\u4EFD\u53D1\u9001","Messages in this room are attributed to you":"\u8FD9\u4E2A\u623F\u95F4\u91CC\u7684\u6D88\u606F\u4F1A\u8BB0\u5728\u4F60\u7684\u540D\u4E0B","You can remove your Bot from this room":"\u4F60\u53EF\u4EE5\u4ECE\u8FD9\u4E2A\u623F\u95F4\u79FB\u8D70\u81EA\u5DF1\u7684 Bot","Shared room from {name}":"\u6765\u81EA {name} \u7684\u5171\u4EAB\u623F\u95F4","a friend":"\u4E00\u4F4D\u670B\u53CB","Your Bot was invited to this room by {name}":"{name} \u9080\u8BF7\u4E86\u4F60\u7684 Bot \u52A0\u5165\u8FD9\u4E2A\u623F\u95F4","Invited {when}":"\u9080\u8BF7\u4E8E {when}","Remove my Bot":"\u79FB\u8D70\u6211\u7684 Bot","{count} to approve":"{count} \u6761\u5F85\u6279\u51C6","Outbound reply":"\u5F85\u53D1\u51FA\u7684\u56DE\u590D",Add:"\u6DFB\u52A0",Close:"\u5173\u95ED",Copy:"\u590D\u5236",Copied:"\u5DF2\u590D\u5236",Content:"\u5185\u5BB9","Referenced {labels}":"\u5F15\u7528\u4E86 {labels}",", ":"\u3001",You:"\u4F60",you:"\u4F60",Bot:"Bot","a Bot":"\u4E00\u4E2A Bot","a group chat":"\u4E00\u4E2A\u7FA4\u804A"," and ":"\u3001",and:"\u548C","{count} members":"{count} \u4F4D\u6210\u5458","{count} member":"{count} \u4F4D\u6210\u5458","1 person":"1 \u4EBA","{count} people":"{count} \u4EBA","1 Bot":"1 \u4E2A Bot","{count} Bots":"{count} \u4E2A Bot","Loading\u2026":"\u52A0\u8F7D\u4E2D\u2026","Edit Bot":"\u7F16\u8F91 Bot","Make Main Bot":"\u8BBE\u4E3A\u4E3B Bot","Remove Main Bot role":"\u53D6\u6D88\u4E3B Bot","Bot settings":"Bot \u8BBE\u7F6E","Create group chat":"\u65B0\u5EFA\u7FA4\u804A","{name} is not shared with {friend}, so it cannot be in a group with their Bot: the group's messages go to their home.":"{name} \u8FD8\u6CA1\u6709\u5171\u4EAB\u7ED9 {friend}\uFF0C\u6240\u4EE5\u4E0D\u80FD\u548C\u5BF9\u65B9\u7684 Bot \u5728\u540C\u4E00\u4E2A\u7FA4\u91CC\uFF1A\u7FA4\u6D88\u606F\u4F1A\u53D1\u5230\u5BF9\u65B9\u7684\u4E3B\u9875\u3002","{name} are not shared with {friend}, so they cannot be in a group with their Bot: the group's messages go to their home.":"{name} \u8FD8\u6CA1\u6709\u5171\u4EAB\u7ED9 {friend}\uFF0C\u6240\u4EE5\u4E0D\u80FD\u548C\u5BF9\u65B9\u7684 Bot \u5728\u540C\u4E00\u4E2A\u7FA4\u91CC\uFF1A\u7FA4\u6D88\u606F\u4F1A\u53D1\u5230\u5BF9\u65B9\u7684\u4E3B\u9875\u3002","that friend":"\u8FD9\u4F4D\u597D\u53CB","Copy invite link for {name}":"\u590D\u5236 {name} \u7684\u9080\u8BF7\u94FE\u63A5","Leave {name} out":"\u4E0D\u62C9 {name} \u8FDB\u7FA4","Invite link for {name} copied. Send it to your friend; once they accept, create the group again.":"{name} \u7684\u9080\u8BF7\u94FE\u63A5\u5DF2\u590D\u5236\u3002\u53D1\u7ED9\u597D\u53CB\uFF0C\u5BF9\u65B9\u63A5\u53D7\u540E\u518D\u91CD\u65B0\u5EFA\u7FA4\u3002","Invite link":"\u9080\u8BF7\u94FE\u63A5","Could not copy the invite link for {name}. Copy the link below and send it to your friend; once they accept, create the group again.":"\u65E0\u6CD5\u81EA\u52A8\u590D\u5236 {name} \u7684\u9080\u8BF7\u94FE\u63A5\u3002\u8BF7\u624B\u52A8\u590D\u5236\u4E0B\u9762\u7684\u94FE\u63A5\u53D1\u7ED9\u597D\u53CB\uFF0C\u5BF9\u65B9\u63A5\u53D7\u540E\u518D\u91CD\u65B0\u5EFA\u7FA4\u3002","Could not create the invite. Use Bot settings \u2192 Sharing \u2192 Copy invite link for this Bot.":"\u65E0\u6CD5\u521B\u5EFA\u9080\u8BF7\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E \u2192 Sharing \u91CC\u4F7F\u7528 Copy invite link for this Bot\u3002","Add friend":"\u6DFB\u52A0\u597D\u53CB","Friend requests":"\u597D\u53CB\u8BF7\u6C42","Accept or decline incoming requests.":"\u63A5\u53D7\u6216\u62D2\u7EDD\u6536\u5230\u7684\u8BF7\u6C42\u3002","Accept invite":"\u63A5\u53D7\u9080\u8BF7","Paste a friend\u2019s invite link or code.":"\u7C98\u8D34\u670B\u53CB\u7684\u9080\u8BF7\u94FE\u63A5\u6216\u9080\u8BF7\u7801\u3002","Copy invite link":"\u590D\u5236\u9080\u8BF7\u94FE\u63A5","Copy a link a friend can paste in Add friend.":"\u590D\u5236\u94FE\u63A5\uFF0C\u670B\u53CB\u5728\u6DFB\u52A0\u597D\u53CB\u91CC\u7C98\u8D34\u5373\u53EF\u3002","Copy my handle":"\u590D\u5236\u6211\u7684 handle","Your Bot Social handle":"\u4F60\u7684 Bot Social handle","Face-to-face":"\u9762\u5BF9\u9762","This Bot has no model set up yet.":"\u8FD9\u4E2A Bot \u8FD8\u6CA1\u6709\u914D\u7F6E\u6A21\u578B\u3002","This Bot could not answer right now.":"\u8FD9\u4E2A Bot \u73B0\u5728\u6CA1\u6CD5\u56DE\u7B54\u3002","Refreshing\u2026":"\u6B63\u5728\u5237\u65B0\u2026","Delete group":"\u5220\u9664\u7FA4\u804A","Open {name}'s chat":"\u6253\u5F00 {name} \u7684\u5BF9\u8BDD","New Bot":"\u65B0 Bot","Bot list":"Bot \u5217\u8868","Bot tree":"Bot \u6811","no longer shared":"\u5DF2\u4E0D\u518D\u5171\u4EAB","Messages waiting for your approval":"\u7B49\u4F60\u6279\u51C6\u7684\u6D88\u606F","Waiting for approval":"\u7B49\u5F85\u6279\u51C6","Decide on the reply bubble above.":"\u5728\u4E0A\u9762\u7684\u56DE\u590D\u6C14\u6CE1\u91CC\u6279\u51C6\u3002","Decide in {name}'s chat.":"\u5728 {name} \u7684\u804A\u5929\u91CC\u6279\u51C6\u3002","Not sent":"\u672A\u53D1\u51FA","{name} \xB7 Not sent":"{name} \xB7 \u672A\u53D1\u51FA","Sent to {to}":"\u5DF2\u53D1\u7ED9 {to}","Auto-sent to {to}":"\u5DF2\u81EA\u52A8\u53D1\u7ED9 {to}","Not sent: delivery failed":"\u672A\u53D1\u51FA\uFF1A\u53D1\u9001\u5931\u8D25","{from} \u2192 {to}":"{from} \u2192 {to}","+{count} more":"\u53E6\u6709 {count} \u6761",delegated:"\u59D4\u6258\u8F6C\u8FBE",All:"\u5168\u90E8",Filter:"\u7B5B\u9009",Review:"\u67E5\u770B","Attached files":"\u9644\u4EF6",Retry:"\u91CD\u8BD5",Approve:"\u6279\u51C6","Friend's Bot":"\u597D\u53CB\u7684 Bot",Unconfirmed:"\u672A\u786E\u8BA4","Not connected":"\u672A\u63A5\u5165",Expand:"\u5C55\u5F00",Collapse:"\u6536\u8D77","Setting up your Main Bot\u2026":"\u6B63\u5728\u8BBE\u7F6E\u4F60\u7684\u4E3B Bot\u2026","Connect apps":"\u8FDE\u63A5\u5E94\u7528",Plugins:"\u63D2\u4EF6",Connectors:"\u8FDE\u63A5\u5668","Search connectors":"\u641C\u7D22\u8FDE\u63A5\u5668","No connectors":"\u6682\u65E0\u8FDE\u63A5\u5668",Capabilities:"\u80FD\u529B","Shared capabilities":"\u5171\u4EAB\u80FD\u529B","Add capability":"\u6DFB\u52A0\u80FD\u529B","No capabilities saved":"\u8FD8\u6CA1\u6709\u4FDD\u5B58\u80FD\u529B",Type:"\u7C7B\u578B","MCP server":"MCP \u670D\u52A1",Skill:"\u6280\u80FD",Pack:"\u80FD\u529B\u5305",Connection:"\u8FDE\u63A5\u65B9\u5F0F","Local command":"\u672C\u5730\u547D\u4EE4","HTTP server":"HTTP \u670D\u52A1",Command:"\u547D\u4EE4","Arguments (one per line)":"\u53C2\u6570\uFF08\u6BCF\u884C\u4E00\u4E2A\uFF09","Environment (JSON)":"\u73AF\u5883\u53D8\u91CF\uFF08JSON\uFF09",'{"API_KEY": "$DSH_SECRET_MY_KEY"}':'{"API_KEY": "$DSH_SECRET_MY_KEY"}',URL:"URL","Headers (JSON)":"\u8BF7\u6C42\u5934\uFF08JSON\uFF09","Skill instructions":"\u6280\u80FD\u8BF4\u660E","Save changes":"\u4FDD\u5B58\u66F4\u6539",Edit:"\u7F16\u8F91","Click again to delete.":"\u518D\u70B9\u4E00\u6B21\u5220\u9664\u3002",Ready:"\u5C31\u7EEA","Needs approval":"\u9700\u8981\u6279\u51C6","No items":"\u6CA1\u6709\u9879\u76EE","Save an MCP server or skill first.":"\u8BF7\u5148\u4FDD\u5B58 MCP \u670D\u52A1\u6216\u6280\u80FD\u3002",Environment:"\u73AF\u5883\u53D8\u91CF",Headers:"\u8BF7\u6C42\u5934","{label} must be valid JSON.":"{label}\u5FC5\u987B\u662F\u6709\u6548\u7684 JSON\u3002","{label} must be a JSON object.":"{label}\u5FC5\u987B\u662F JSON \u5BF9\u8C61\u3002","Repositories, issues, and pull requests":"\u4ED3\u5E93\u3001issue \u548C PR","Connecting\u2026":"\u6B63\u5728\u8FDE\u63A5\u2026","Could not connect: {error}":"\u8FDE\u63A5\u5931\u8D25\uFF1A{error}","Connected as {account}":"\u5DF2\u8FDE\u63A5\uFF1A{account}","Bot Social":"Bot Social","Bot Social server":"Bot Social \u670D\u52A1\u5668","Connected as {handle}":"\u5DF2\u8FDE\u63A5\uFF1A{handle}","Held for your approval: contains {reasons}":"\u5DF2\u6263\u7559\uFF0C\u7B49\u5F85\u4F60\u6279\u51C6\uFF1A\u542B{reasons}","commitment language":"\u627F\u8BFA\u7528\u8BED","a phone number":"\u624B\u673A\u53F7","an email address":"\u90AE\u7BB1\u5730\u5740","a money amount":"\u91D1\u989D","one of your sensitive terms":"\u4F60\u8BBE\u7F6E\u7684\u654F\u611F\u8BCD","calendar details":"\u65E5\u7A0B\u8BE6\u60C5","No server set. Friends and sharing are off until you set one.":"\u8FD8\u6CA1\u6709\u8BBE\u7F6E\u670D\u52A1\u5668\u3002\u8BBE\u7F6E\u4E4B\u524D\uFF0C\u597D\u53CB\u548C\u5206\u4EAB\u529F\u80FD\u4E0D\u53EF\u7528\u3002","Set here":"\u5728\u8FD9\u91CC\u8BBE\u7F6E","Profile default":"\u914D\u7F6E\u6587\u4EF6\u9ED8\u8BA4\u503C","Not set":"\u672A\u8BBE\u7F6E","No server":"\u6CA1\u6709\u670D\u52A1\u5668","Change server":"\u66F4\u6362\u670D\u52A1\u5668",Features:"\u529F\u80FD","No optional features listed.":"\u670D\u52A1\u5668\u6CA1\u6709\u5217\u51FA\u53EF\u9009\u529F\u80FD\u3002","Supports: {list}":"\u652F\u6301\uFF1A{list}","typing as you":"\u4EE5\u4F60\u7684\u8EAB\u4EFD\u8F93\u5165","@mentions":"@\u63D0\u53CA","online status":"\u5728\u7EBF\u72B6\u6001","(+{count} more)":"\uFF08\u53E6\u6709 {count} \u9879\uFF09","Supports 1 optional feature":"\u652F\u6301 1 \u9879\u53EF\u9009\u529F\u80FD","Supports {count} optional features":"\u652F\u6301 {count} \u9879\u53EF\u9009\u529F\u80FD",Reachability:"\u8FDE\u901A\u6027","Read-only":"\u53EA\u8BFB","Another FlyBot window holds this team. Change the server there.":"\u53E6\u4E00\u4E2A FlyBot \u7A97\u53E3\u6B63\u5728\u4F7F\u7528\u8FD9\u4E2A\u56E2\u961F\uFF0C\u8BF7\u5728\u90A3\u91CC\u66F4\u6362\u670D\u52A1\u5668\u3002","Switch server":"\u5207\u6362\u670D\u52A1\u5668","Server address":"\u670D\u52A1\u5668\u5730\u5740","Used before:":"\u7528\u8FC7\u7684\u670D\u52A1\u5668\uFF1A","{host} (profile default)":"{host}\uFF08\u914D\u7F6E\u6587\u4EF6\u9ED8\u8BA4\u503C\uFF09","Name for your home (optional)":"\u4F60\u7684\u4E3B\u9875\u540D\u79F0\uFF08\u53EF\u9009\uFF09","Switching servers changes who you are":"\u6362\u670D\u52A1\u5668\uFF0C\u5C31\u662F\u6362\u4E00\u4E2A\u8EAB\u4EFD","You used this server before. Your saved identity, friends and settings for it come back.":"\u4F60\u4EE5\u524D\u7528\u8FC7\u8FD9\u53F0\u670D\u52A1\u5668\uFF0C\u5B83\u4E0A\u9762\u4FDD\u5B58\u7684\u8EAB\u4EFD\u3001\u597D\u53CB\u548C\u8BBE\u7F6E\u4F1A\u6062\u590D\u3002","You get a new identity on this server. The friends and sharing you have now stay on the current server; they do not move.":"\u4F60\u4F1A\u5728\u8FD9\u53F0\u670D\u52A1\u5668\u4E0A\u5F97\u5230\u4E00\u4E2A\u65B0\u8EAB\u4EFD\u3002\u73B0\u5728\u7684\u597D\u53CB\u548C\u5206\u4EAB\u7559\u5728\u5F53\u524D\u670D\u52A1\u5668\u4E0A\uFF0C\u4E0D\u4F1A\u642C\u8FC7\u53BB\u3002","Your current sign-in is kept as a backup on this computer and is never deleted. Switch back any time.":"\u5F53\u524D\u7684\u767B\u5F55\u51ED\u636E\u4F1A\u4F5C\u4E3A\u5907\u4EFD\u4FDD\u7559\u5728\u8FD9\u53F0\u7535\u8111\u4E0A\uFF0C\u4E0D\u4F1A\u88AB\u5220\u9664\u3002\u968F\u65F6\u53EF\u4EE5\u5207\u6362\u56DE\u6765\u3002","Your Bots stop being shared with friends until you share them again on the new server.":"\u5728\u65B0\u670D\u52A1\u5668\u4E0A\u91CD\u65B0\u5206\u4EAB\u4E4B\u524D\uFF0C\u4F60\u7684 Bot \u4E0D\u518D\u4E0E\u597D\u53CB\u5171\u4EAB\u3002",Friends:"\u597D\u53CB","No friends yet.":"\u8FD8\u6CA1\u6709\u597D\u53CB\u3002","Could not load friends.":"\u597D\u53CB\u6CA1\u6709\u52A0\u8F7D\u51FA\u6765\u3002","Accept them in Add friend.":"\u5230\u300C\u6DFB\u52A0\u597D\u53CB\u300D\u91CC\u63A5\u53D7\u3002","Waiting for them to accept":"\u7B49\u5F85\u5BF9\u65B9\u63A5\u53D7","Same panel as the + menu.":"\u548C\u4FA7\u680F\u7684 + \u83DC\u5355\u662F\u540C\u4E00\u4E2A\u9762\u677F\u3002","People with access":"\u53EF\u8BBF\u95EE\u7684\u4EBA","People with access to {name}":"\u53EF\u8BBF\u95EE {name} \u7684\u4EBA","No Bots to share yet.":"\u8FD8\u6CA1\u6709\u53EF\u5206\u4EAB\u7684 Bot\u3002","This is the server you already use.":"\u8FD9\u5C31\u662F\u4F60\u6B63\u5728\u7528\u7684\u670D\u52A1\u5668\u3002","Switching\u2026":"\u6B63\u5728\u5207\u6362\u2026","Switch to this server":"\u5207\u6362\u5230\u8FD9\u53F0\u670D\u52A1\u5668",Check:"\u68C0\u67E5",Connected:"\u5DF2\u8FDE\u63A5",Disconnect:"\u65AD\u5F00",Connect:"\u8FDE\u63A5","GitHub token":"GitHub token","Create a token on GitHub":"\u53BB GitHub \u751F\u6210 token","Could not reach GitHub":"\u8FDE\u4E0D\u4E0A GitHub","GitHub did not accept this token":"GitHub \u4E0D\u63A5\u53D7\u8FD9\u4E2A token","GitHub did not say who this token belongs to":"GitHub \u6CA1\u6709\u8FD4\u56DE\u8FD9\u4E2A token \u7684\u8D26\u53F7","Paste a token first":"\u8BF7\u5148\u7C98\u8D34 token","GitHub addresses must start with https://":"GitHub \u5730\u5740\u5FC5\u987B\u4EE5 https:// \u5F00\u5934","This DSH cannot load connectors":"\u8FD9\u4E2A DSH \u4E0D\u80FD\u52A0\u8F7D\u8FDE\u63A5\u5668","No such connector":"\u6CA1\u6709\u8FD9\u4E2A\u8FDE\u63A5\u5668","Gmail, Slack, Calendar, Notion and many more apps, through one Composio key":"Gmail\u3001Slack\u3001\u65E5\u5386\u3001Notion \u7B49\u4F17\u591A\u5E94\u7528\uFF0C\u4E00\u4E2A Composio key \u5C31\u80FD\u8FDE","Posts into one Feishu group through a custom bot webhook":"\u901A\u8FC7\u81EA\u5B9A\u4E49\u673A\u5668\u4EBA webhook \u53D1\u5230\u4F60\u7684\u4E00\u4E2A\u98DE\u4E66\u7FA4","Feishu webhook URL":"\u98DE\u4E66 webhook \u5730\u5740","Get a webhook URL in Feishu":"\u53BB\u98DE\u4E66\u83B7\u53D6 webhook \u5730\u5740","Custom bot webhook":"\u81EA\u5B9A\u4E49\u673A\u5668\u4EBA webhook","App (long connection)":"\u81EA\u5EFA\u5E94\u7528\uFF08\u957F\u8FDE\u63A5\uFF09","Webhook URL":"Webhook \u5730\u5740","App ID":"App ID","App Secret":"App Secret","Create a Feishu app":"\u53BB\u98DE\u4E66\u521B\u5EFA\u81EA\u5EFA\u5E94\u7528","How to connect":"\u8FDE\u63A5\u65B9\u5F0F","Connected: app, over the long connection":"\u5DF2\u8FDE\u63A5\uFF1A\u81EA\u5EFA\u5E94\u7528\uFF0C\u8D70\u957F\u8FDE\u63A5","Connected: custom bot webhook":"\u5DF2\u8FDE\u63A5\uFF1A\u81EA\u5B9A\u4E49\u673A\u5668\u4EBA webhook","Who may talk to the Bots":"\u5141\u8BB8\u7684\u98DE\u4E66\u7528\u6237","Nobody yet. A message from anyone else starts no turn.":"\u8FD8\u6CA1\u6709\u4EBA\u3002\u5176\u4ED6\u4EBA\u53D1\u6765\u7684\u6D88\u606F\u4E0D\u4F1A\u8D77 turn\u3002","Paste an open_id to allow":"\u7C98\u8D34 open_id \u6765\u5141\u8BB8\u67D0\u4E2A\u4EBA","Feishu open_id":"\u98DE\u4E66 open_id",Block:"\u79FB\u9664","Message to send to Feishu":"\u8981\u53D1\u5230\u98DE\u4E66\u7684\u6D88\u606F","Type a message for the Feishu group":"\u8F93\u5165\u8981\u53D1\u5230\u98DE\u4E66\u7FA4\u7684\u6D88\u606F",Send:"\u53D1\u9001","Connected: {apps}":"\u5DF2\u8FDE\u63A5\uFF1A{apps}","Composio API key":"Composio API key","Get a Composio API key":"\u53BB Composio \u83B7\u53D6 API key","Search apps":"\u641C\u7D22\u5E94\u7528","Search Composio apps":"\u641C\u7D22 Composio \u5E94\u7528","Could not search Composio: {error}":"\u65E0\u6CD5\u641C\u7D22 Composio\uFF1A{error}","No apps match":"\u6CA1\u6709\u5339\u914D\u7684\u5E94\u7528","Picked apps":"\u5DF2\u9009\u5E94\u7528","Apps to add":"\u53EF\u6DFB\u52A0\u7684\u5E94\u7528","Remove {app}":"\u79FB\u9664 {app}","App status":"\u5E94\u7528\u72B6\u6001","Needs sign-in":"\u9700\u8981\u767B\u5F55","Choose apps":"\u9009\u62E9\u5E94\u7528","Pick at least one app":"\u81F3\u5C11\u9009\u4E00\u4E2A\u5E94\u7528",'An app name has only lowercase letters, digits, "_" and "-"':"\u5E94\u7528\u540D\u53EA\u80FD\u542B\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u201C_\u201D\u548C\u201C-\u201D","The first time a Bot uses an app, it shows a sign-in link in the chat.":"Bot \u7B2C\u4E00\u6B21\u7528\u67D0\u4E2A\u5E94\u7528\u65F6\uFF0C\u4F1A\u5728\u804A\u5929\u91CC\u7ED9\u51FA\u767B\u5F55\u94FE\u63A5\u3002","Paste a key first":"\u8BF7\u5148\u7C98\u8D34 key","Could not reach Composio":"\u8FDE\u4E0D\u4E0A Composio","Composio did not accept this API key":"Composio \u4E0D\u63A5\u53D7\u8FD9\u4E2A API key","Composio did not give an MCP address":"Composio \u6CA1\u6709\u8FD4\u56DE MCP \u5730\u5740","Composio did not give a session id":"Composio \u6CA1\u6709\u8FD4\u56DE\u4F1A\u8BDD id","Say whether to turn it on or off":"\u8BF7\u8BF4\u660E\u662F\u5F00\u542F\u8FD8\u662F\u5173\u95ED","Composio gave an MCP address on another host":"Composio \u8FD4\u56DE\u7684 MCP \u5730\u5740\u4E0D\u5728\u5B83\u81EA\u5DF1\u7684\u57DF\u540D\u4E0A","Composio addresses must start with https://":"Composio \u5730\u5740\u5FC5\u987B\u4EE5 https:// \u5F00\u5934","Connect Composio first":"\u8BF7\u5148\u8FDE\u63A5 Composio","This connector has no apps to pick":"\u8FD9\u4E2A\u8FDE\u63A5\u5668\u6CA1\u6709\u53EF\u9009\u7684\u5E94\u7528","Switch to classic Agent mode":"\u5207\u6362\u7ECF\u5178 Agent \u6A21\u5F0F","{model} is not available anymore. Pick another model for me.":"{model} \u5DF2\u7ECF\u4E0D\u53EF\u7528\u4E86\u3002\u7ED9\u6211\u6362\u4E00\u4E2A\u6A21\u578B\u5427\u3002","{name} ({handle}) is no longer shared with you, so messages to it cannot be delivered. It runs on its owner's machine, so another model cannot stand in. Ask its owner for a new invite.":"{name}\uFF08{handle}\uFF09\u5DF2\u4E0D\u518D\u4E0E\u4F60\u5171\u4EAB\uFF0C\u6D88\u606F\u65E0\u6CD5\u9001\u8FBE\u3002\u5B83\u8FD0\u884C\u5728\u4E3B\u4EBA\u7684\u673A\u5668\u4E0A\uFF0C\u4E0D\u80FD\u6362\u7528\u5176\u4ED6\u6A21\u578B\u3002\u8BF7\u5411\u5B83\u7684\u4E3B\u4EBA\u8981\u4E00\u4E2A\u65B0\u7684\u9080\u8BF7\u3002","Hi, I'm {name}. I don't have a model yet. How do you want to set one up?":"\u4F60\u597D\uFF0C\u6211\u662F {name}\u3002\u6211\u8FD8\u6CA1\u6709\u53EF\u7528\u7684\u6A21\u578B\u3002\u4F60\u60F3\u600E\u4E48\u914D\u7F6E\uFF1F","Hi, I'm {name}. Pick a model for me first. You can change it later in my details.":"\u4F60\u597D\uFF0C\u6211\u662F {name}\u3002\u5148\u7ED9\u6211\u9009\u4E00\u4E2A\u6A21\u578B\u5427\uFF0C\u4EE5\u540E\u53EF\u4EE5\u5728\u6211\u7684\u8BE6\u60C5\u91CC\u6362\u3002","Sign in to DeepSeek":"\u767B\u5F55 DeepSeek \u8D26\u53F7","Enter a DeepSeek API key":"\u586B\u5165 DeepSeek API key","How to set a DeepSeek API key":"\u5982\u4F55\u8BBE\u7F6E DeepSeek API key","Open settings to set up a custom model":"\u6253\u5F00\u8BBE\u7F6E\u914D\u7F6E\u81EA\u5B9A\u4E49\u6A21\u578B",FlyBot:"FlyBot","FlyBot core":"FlyBot \u6838\u5FC3","Message {name}":"\u7ED9 {name} \u53D1\u6D88\u606F",Message:"\u53D1\u6D88\u606F","View conversation details":"\u67E5\u770B\u5BF9\u8BDD\u8BE6\u60C5","1 new message":"1 \u6761\u65B0\u6D88\u606F","{count} new messages":"{count} \u6761\u65B0\u6D88\u606F","New messages":"\u65B0\u6D88\u606F","Dismiss new messages":"\u5173\u95ED\u65B0\u6D88\u606F\u63D0\u793A",New:"\u65B0","Add to group chat":"\u52A0\u5165\u7FA4\u804A","Message Bot":"\u7ED9 Bot \u53D1\u6D88\u606F","To:":"\u53D1\u7ED9\uFF1A","Remove {name}":"\u79FB\u9664 {name}",Recipient:"\u6536\u4EF6\u4EBA",Recipients:"\u6536\u4EF6\u4EBA","Search Bots\u2026":"\u641C\u7D22 Bot\u2026","Start a chat with\u2026":"\u548C\u8C01\u804A\u2026","Close new chat":"\u5173\u95ED\u65B0\u5BF9\u8BDD","No Bots match":"\u6CA1\u6709\u5339\u914D\u7684 Bot","Type a name to create a Bot":"\u8F93\u5165\u540D\u5B57\u6765\u65B0\u5EFA Bot","Send message":"\u53D1\u9001",Details:"\u8BE6\u60C5",Browser:"\u6D4F\u89C8\u5668",About:"\u7B80\u4ECB","Show less":"\u6536\u8D77","Show more":"\u5C55\u5F00","Admin leads":"\u7BA1\u7406\u5458\u4E3B\u6301","Plain messages go to the admin, who calls others with @Name.":"\u666E\u901A\u6D88\u606F\u5148\u7ED9\u7BA1\u7406\u5458\uFF0C\u7531\u7BA1\u7406\u5458\u7528 @\u540D\u5B57 \u70B9\u540D\u5176\u4ED6\u6210\u5458\u3002",Everyone:"\u6240\u6709\u4EBA","Every member answers in turn, admin first.":"\u6BCF\u4F4D\u6210\u5458\u8F6E\u6D41\u56DE\u7B54\uFF0C\u7BA1\u7406\u5458\u5148\u8BF4\u3002","Members \xB7 {count}":"\u6210\u5458 \xB7 {count}","{name} (you)":"{name}\uFF08\u4F60\uFF09",Someone:"\u67D0\u4EBA","Leave the group without an admin":"\u8BA9\u7FA4\u804A\u4E0D\u8BBE\u7BA1\u7406\u5458",Unset:"\u53D6\u6D88","Make admin":"\u8BBE\u4E3A\u7BA1\u7406\u5458","Task lead":"\u603B\u8D1F\u8D23\u4EBA","Make task lead":"\u8BBE\u4E3A\u603B\u8D1F\u8D23\u4EBA","Use the admin":"\u6539\u7531\u7BA1\u7406\u5458\u8D1F\u8D23","The task lead divides the board. When unset, the admin does.":"\u603B\u8D1F\u8D23\u4EBA\u62C6\u5206\u770B\u677F\u4EFB\u52A1\u3002\u672A\u6307\u5B9A\u65F6\u7531\u7BA1\u7406\u5458\u8D1F\u8D23\u3002","Room lead":"\u603B\u8D1F\u8D23\u4EBA",Lead:"\u603B\u8D1F\u8D23\u4EBA","Make lead":"\u8BBE\u4E3A\u603B\u8D1F\u8D23\u4EBA","Use the default lead":"\u6539\u56DE\u9ED8\u8BA4\u603B\u8D1F\u8D23\u4EBA","Writes the plan and gives each Bot its part.":"\u5199\u8BA1\u5212\uFF0C\u5E76\u7ED9\u6BCF\u4E2A Bot \u5206\u914D\u4EFB\u52A1\u3002","Default: the first Bot of the room creator that joined.":"\u9ED8\u8BA4\uFF1A\u623F\u95F4\u521B\u5EFA\u8005\u6700\u5148\u52A0\u5165\u7684 Bot\u3002","Only the person who created this room can change it.":"\u53EA\u6709\u521B\u5EFA\u8FD9\u4E2A\u623F\u95F4\u7684\u4EBA\u53EF\u4EE5\u66F4\u6539\u3002","Could not change the room lead.":"\u65E0\u6CD5\u66F4\u6539\u603B\u8D1F\u8D23\u4EBA\u3002","Remove {name} from the group":"\u628A {name} \u79FB\u51FA\u7FA4\u804A","Remove from group":"\u79FB\u51FA\u7FA4\u804A","Add member":"\u6DFB\u52A0\u6210\u5458","{name} leads this group: it can call members with @Name, change the group, and post here.":"{name} \u4E3B\u6301\u8FD9\u4E2A\u7FA4\uFF1A\u53EF\u4EE5\u7528 @\u540D\u5B57 \u70B9\u540D\u6210\u5458\u3001\u4FEE\u6539\u7FA4\u8BBE\u7F6E\u3001\u5728\u7FA4\u91CC\u53D1\u8A00\u3002","No admin yet. An admin can call members with @Name, change the group, and post here.":"\u8FD8\u6CA1\u6709\u7BA1\u7406\u5458\u3002\u7BA1\u7406\u5458\u53EF\u4EE5\u7528 @\u540D\u5B57 \u70B9\u540D\u6210\u5458\u3001\u4FEE\u6539\u7FA4\u8BBE\u7F6E\u3001\u5728\u7FA4\u91CC\u53D1\u8A00\u3002","Who answers":"\u8C01\u6765\u56DE\u7B54","Choose an admin first":"\u5148\u9009\u4E00\u4E2A\u7BA1\u7406\u5458","@mentions always pick who answers.":"@\u63D0\u53CA\u603B\u662F\u6307\u5B9A\u7531\u8C01\u56DE\u7B54\u3002",Notice:"\u7FA4\u516C\u544A","Shared instructions every member reads before speaking\u2026":"\u6BCF\u4F4D\u6210\u5458\u53D1\u8A00\u524D\u90FD\u4F1A\u8BFB\u5230\u7684\u5171\u540C\u8BF4\u660E\u2026","Group notice":"\u7FA4\u516C\u544A","Back to details":"\u8FD4\u56DE\u8BE6\u60C5","Close details":"\u5173\u95ED\u8BE6\u60C5","Copied conversation":"\u5DF2\u590D\u5236\u5BF9\u8BDD","Share conversation":"\u5206\u4EAB\u5BF9\u8BDD","Copy conversation":"\u590D\u5236\u5BF9\u8BDD","Nothing to copy yet":"\u8FD8\u6CA1\u6709\u53EF\u590D\u5236\u7684\u5185\u5BB9","Conversation copied as Markdown":"\u5BF9\u8BDD\u5DF2\u590D\u5236\u4E3A Markdown","Could not copy the conversation":"\u65E0\u6CD5\u590D\u5236\u5BF9\u8BDD","No messages yet. Say something to {name}.":"\u8FD8\u6CA1\u6709\u6D88\u606F\u3002\u7ED9 {name} \u53D1\u70B9\u4EC0\u4E48\u5427\u3002","This model does not support that request. Pick another model in the Bot's settings.":"\u8BE5\u6A21\u578B\u4E0D\u652F\u6301\u8FD9\u9879\u8BF7\u6C42\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u6362\u4E00\u4E2A\u6A21\u578B\u3002","This model does not support {feature}. Pick another model in the Bot's settings.":"\u8BE5\u6A21\u578B\u4E0D\u652F\u6301 {feature}\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u6362\u4E00\u4E2A\u6A21\u578B\u3002","The provider does not know this model. Check the model name in the Bot's settings.":"\u670D\u52A1\u65B9\u4E0D\u8BA4\u8BC6\u8FD9\u4E2A\u6A21\u578B\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u68C0\u67E5\u6A21\u578B\u540D\u79F0\u3002","The conversation is longer than this model can read. Condense it, or pick a model with a larger window.":"\u8FD9\u6BB5\u5BF9\u8BDD\u8D85\u51FA\u4E86\u8BE5\u6A21\u578B\u80FD\u8BFB\u7684\u957F\u5EA6\u3002\u8BF7\u538B\u7F29\u5BF9\u8BDD\uFF0C\u6216\u6362\u4E00\u4E2A\u4E0A\u4E0B\u6587\u66F4\u5927\u7684\u6A21\u578B\u3002","The model service refused the request. Check the model and the endpoint in the Bot's settings.":"\u6A21\u578B\u670D\u52A1\u62D2\u7EDD\u4E86\u8FD9\u6B21\u8BF7\u6C42\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u68C0\u67E5\u6A21\u578B\u548C\u63A5\u53E3\u5730\u5740\u3002","Copy conversation as Markdown":"\u628A\u5BF9\u8BDD\u590D\u5236\u4E3A Markdown","This conversation is not part of your Bot team.":"\u8FD9\u4E2A\u5BF9\u8BDD\u4E0D\u5C5E\u4E8E\u4F60\u7684 Bot \u56E2\u961F\u3002","Admin {name}":"\u7BA1\u7406\u5458 {name}","No admin":"\u65E0\u7BA1\u7406\u5458","Bot name":"Bot \u540D\u5B57","Group name":"\u7FA4\u540D","Name after members":"\u6309\u6210\u5458\u547D\u540D","Rename {name}":"\u91CD\u547D\u540D {name}",Rename:"\u91CD\u547D\u540D","Add instructions in Bot settings":"\u5728 Bot \u8BBE\u7F6E\u91CC\u6DFB\u52A0\u8BF4\u660E","No scheduled tasks yet. To add one, tell the Bot in its chat what to do and when.":"\u8FD8\u6CA1\u6709\u5B9A\u65F6\u4EFB\u52A1\u3002\u8981\u6DFB\u52A0\uFF0C\u5728\u5BF9\u8BDD\u91CC\u544A\u8BC9 Bot \u505A\u4EC0\u4E48\u3001\u4EC0\u4E48\u65F6\u5019\u505A\u3002","The browser is in the DSH Desktop app.":"\u6D4F\u89C8\u5668\u5728 DSH \u684C\u9762\u7248\u5E94\u7528\u91CC\u3002","New tab":"\u65B0\u6807\u7B7E\u9875","Close tab":"\u5173\u95ED\u6807\u7B7E\u9875","Open {title}":"\u6253\u5F00 {title}","Conversation details":"\u5BF9\u8BDD\u8BE6\u60C5","Panel tabs":"\u9762\u677F\u6807\u7B7E\u9875","Close panel":"\u5173\u95ED\u9762\u677F","Choose a PNG, JPEG, WebP, or GIF image":"\u8BF7\u9009\u62E9 PNG\u3001JPEG\u3001WebP \u6216 GIF \u56FE\u7247","Choose an image smaller than 25 MB":"\u8BF7\u9009\u62E9\u5C0F\u4E8E 25 MB \u7684\u56FE\u7247","That image is too large":"\u56FE\u7247\u592A\u5927\u4E86",Model:"\u6A21\u578B","Avatar editor":"\u5F62\u8C61\u7F16\u8F91","Avatar source":"\u5F62\u8C61\u6765\u6E90",Upload:"\u4E0A\u4F20","Reset character to default":"\u6062\u590D\u9ED8\u8BA4\u5F62\u8C61",Reset:"\u6062\u590D\u9ED8\u8BA4","Character shape":"\u5F62\u72B6","Character color":"\u989C\u8272","Drag, drop, or paste an image":"\u62D6\u5165\u6216\u7C98\u8D34\u4E00\u5F20\u56FE\u7247",Replace:"\u66FF\u6362","Browse files":"\u9009\u62E9\u6587\u4EF6","Remove photo":"\u79FB\u9664\u7167\u7247","Edit Bot avatar":"\u7F16\u8F91 Bot \u5F62\u8C61",Name:"\u540D\u5B57",Instructions:"\u8BF4\u660E","What this Bot is responsible for\u2026":"\u8FD9\u4E2A Bot \u8D1F\u8D23\u4EC0\u4E48\u2026","Pick the model this Bot runs on.":"\u9009\u62E9\u8FD9\u4E2A Bot \u4F7F\u7528\u7684\u6A21\u578B\u3002","This model is not available now. Pick another one.":"\u8FD9\u4E2A\u6A21\u578B\u73B0\u5728\u4E0D\u53EF\u7528\uFF0C\u8BF7\u6362\u4E00\u4E2A\u3002","Every message of this Bot runs on it.":"\u8FD9\u4E2A Bot \u7684\u6BCF\u6761\u6D88\u606F\u90FD\u7528\u5B83\u3002","Applies from the next message.":"\u4ECE\u4E0B\u4E00\u6761\u6D88\u606F\u5F00\u59CB\u751F\u6548\u3002","Test connection":"\u6D4B\u8BD5\u8FDE\u63A5","Testing\u2026":"\u6B63\u5728\u6D4B\u8BD5\u2026","Sends one short request to this model. It may be billed.":"\u4F1A\u5411\u8FD9\u4E2A\u6A21\u578B\u53D1\u9001\u4E00\u6761\u5F88\u77ED\u7684\u8BF7\u6C42\uFF0C\u53EF\u80FD\u4EA7\u751F\u8D39\u7528\u3002","Works. {model} answered.":"\u8FDE\u63A5\u6B63\u5E38\uFF0C{model} \u5DF2\u56DE\u590D\u3002","Works. {model} answered in {seconds} s.":"\u8FDE\u63A5\u6B63\u5E38\uFF0C{model} \u5728 {seconds} \u79D2\u5185\u56DE\u590D\u3002","Pick a model first.":"\u8BF7\u5148\u9009\u62E9\u4E00\u4E2A\u6A21\u578B\u3002","This model has no API key yet. Set one up in the model settings.":"\u8FD9\u4E2A\u6A21\u578B\u8FD8\u6CA1\u6709 API \u5BC6\u94A5\uFF0C\u8BF7\u5728\u6A21\u578B\u8BBE\u7F6E\u91CC\u586B\u5199\u3002","The API key was rejected. Check it in the model settings.":"API \u5BC6\u94A5\u88AB\u62D2\u7EDD\uFF0C\u8BF7\u5728\u6A21\u578B\u8BBE\u7F6E\u91CC\u68C0\u67E5\u3002","The account is out of quota.":"\u8D26\u6237\u989D\u5EA6\u5DF2\u7528\u5B8C\u3002","Too many requests right now. Try again in a moment.":"\u8BF7\u6C42\u592A\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002","The model did not answer within 30 seconds.":"\u6A21\u578B\u5728 30 \u79D2\u5185\u6CA1\u6709\u56DE\u590D\u3002","This model is not available now. Check its provider in the model settings.":"\u8FD9\u4E2A\u6A21\u578B\u73B0\u5728\u4E0D\u53EF\u7528\uFF0C\u8BF7\u5728\u6A21\u578B\u8BBE\u7F6E\u91CC\u68C0\u67E5\u5B83\u7684\u670D\u52A1\u5546\u3002","The provider does not know this model. Check the model name.":"\u670D\u52A1\u5546\u6CA1\u6709\u8FD9\u4E2A\u6A21\u578B\uFF0C\u8BF7\u68C0\u67E5\u6A21\u578B\u540D\u79F0\u3002","Could not reach the model service. Check the endpoint address and your network.":"\u8FDE\u4E0D\u4E0A\u6A21\u578B\u670D\u52A1\uFF0C\u8BF7\u68C0\u67E5\u63A5\u53E3\u5730\u5740\u548C\u7F51\u7EDC\u3002","The model service failed. Try again later.":"\u6A21\u578B\u670D\u52A1\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002","The model service refused the request. Check the endpoint and the model.":"\u6A21\u578B\u670D\u52A1\u62D2\u7EDD\u4E86\u8BF7\u6C42\uFF0C\u8BF7\u68C0\u67E5\u63A5\u53E3\u5730\u5740\u548C\u6A21\u578B\u3002","The test failed.":"\u6D4B\u8BD5\u5931\u8D25\u3002","A test is already running for this Bot.":"\u8FD9\u4E2A Bot \u5DF2\u7ECF\u5728\u6D4B\u8BD5\u4E2D\u3002","A friend's Bot runs on its owner's model.":"\u670B\u53CB\u7684 Bot \u4F7F\u7528\u5B83\u4E3B\u4EBA\u7684\u6A21\u578B\u3002",Profile:"\u8D44\u6599",Label:"\u6807\u7B7E","Optional. Shown under the name.":"\u53EF\u9009\uFF0C\u663E\u793A\u5728\u540D\u5B57\u4E0B\u65B9\u3002","Research, admin\u2026":"\u7814\u7A76\u3001\u884C\u653F\u2026","What this Bot does":"\u8FD9\u4E2A Bot \u505A\u4EC0\u4E48","Its job on the team. Part of the Bot's system prompt.":"\u5B83\u5728\u56E2\u961F\u91CC\u7684\u5206\u5DE5\uFF0C\u4F1A\u5199\u8FDB Bot \u7684\u7CFB\u7EDF\u63D0\u793A\u8BCD\u3002","A copy with the same job and model, and fresh memory.":"\u590D\u5236\u5206\u5DE5\u548C\u6A21\u578B\uFF0C\u8BB0\u5FC6\u4ECE\u96F6\u5F00\u59CB\u3002","Delete {name}?":"\u5220\u9664 {name}\uFF1F","Delete Bot":"\u5220\u9664 Bot","Click again to delete. Its chats are archived.":"\u518D\u70B9\u4E00\u6B21\u5220\u9664\uFF0C\u5B83\u7684\u5BF9\u8BDD\u4F1A\u5F52\u6863\u3002","Removes the Bot from the team.":"\u628A\u8FD9\u4E2A Bot \u4ECE\u56E2\u961F\u91CC\u79FB\u9664\u3002","Pick a model and {name} can start.":"\u9009\u597D\u6A21\u578B\uFF0C{name} \u5C31\u80FD\u5F00\u59CB\u5DE5\u4F5C\u3002",Permissions:"\u6743\u9650","Read only":"\u4EC5\u53EF\u67E5\u770B",Workspace:"\u5DE5\u4F5C\u533A\u5185\u4FEE\u6539","Full access":"\u5B8C\u5168\u6743\u9650","The only Main Bot. To hand the role to another Bot, use Main Bot on the Bots page.":"\u8FD9\u662F\u552F\u4E00\u7684\u4E3B Bot\u3002\u8981\u628A\u4E3B Bot \u4EA4\u7ED9\u522B\u7684 Bot\uFF0C\u8BF7\u5230\u300CBot\u300D\u9875\u7684\u4E3B Bot \u91CC\u6362\u3002",Change:"\u66F4\u6362","Can create and change Bots, and runs every group chat.":"\u53EF\u4EE5\u521B\u5EFA\u548C\u4FEE\u6539 Bot\uFF0C\u5E76\u7BA1\u7406\u6240\u6709\u7FA4\u804A\u3002",Sidebar:"\u4FA7\u680F","Kept above the other chats.":"\u6392\u5728\u5176\u4ED6\u5BF9\u8BDD\u4E0A\u9762\u3002","Search still finds it.":"\u4ECD\u7136\u53EF\u4EE5\u641C\u7D22\u5230\u3002",Manage:"\u7BA1\u7406","Send a message. Your friend approves unless Auto-send is on.":"\u53D1\u9001\u6D88\u606F\u3002\u9664\u975E\u5DF2\u5F00\u542F\u81EA\u52A8\u53D1\u9001\uFF0C\u5426\u5219\u597D\u53CB\u9700\u8981\u6279\u51C6\u3002","Leave it empty to name the group after its members.":"\u7559\u7A7A\u5C31\u6309\u6210\u5458\u547D\u540D\u3002","Every member reads it before speaking in this group.":"\u6BCF\u4F4D\u6210\u5458\u5728\u8FD9\u4E2A\u7FA4\u91CC\u53D1\u8A00\u524D\u90FD\u4F1A\u8BFB\u5230\u3002","Add a Bot first: a group chat needs at least two.":"\u8BF7\u5148\u6DFB\u52A0\u4E00\u4E2A Bot\uFF1A\u7FA4\u804A\u81F3\u5C11\u8981\u4E24\u4E2A\u3002","Click again to delete. Its history is archived.":"\u518D\u70B9\u4E00\u6B21\u5220\u9664\uFF0C\u804A\u5929\u8BB0\u5F55\u4F1A\u5F52\u6863\u3002","Removes the group chat. Its members stay on the team.":"\u5220\u9664\u8FD9\u4E2A\u7FA4\u804A\uFF0C\u6210\u5458\u4ECD\u7559\u5728\u56E2\u961F\u91CC\u3002","Add a notice in group settings":"\u5728\u7FA4\u8BBE\u7F6E\u91CC\u6DFB\u52A0\u7FA4\u516C\u544A","Create Bot":"\u521B\u5EFA Bot","Back to new chat":"\u8FD4\u56DE\u65B0\u5BF9\u8BDD",Look:"\u5F62\u8C61",Shuffle:"\u968F\u673A","Replace photo":"\u66F4\u6362\u7167\u7247","Upload photo":"\u4E0A\u4F20\u7167\u7247","A Bot named {name} already exists":"\u5DF2\u7ECF\u6709\u53EB {name} \u7684 Bot \u4E86","The Bot runs on this model. You can change it later in its details.":"Bot \u4F1A\u4F7F\u7528\u8FD9\u4E2A\u6A21\u578B\u3002\u4EE5\u540E\u53EF\u4EE5\u5728\u8BE6\u60C5\u91CC\u4FEE\u6539\u3002","Add a provider and a model in DeepSeek Harness first, or pick one in the Bot's chat later.":"\u8BF7\u5148\u5728 DeepSeek Harness \u91CC\u6DFB\u52A0\u670D\u52A1\u5546\u548C\u6A21\u578B\uFF0C\u6216\u8005\u7A0D\u540E\u5728 Bot \u7684\u5BF9\u8BDD\u91CC\u9009\u62E9\u3002","Creating\u2026":"\u521B\u5EFA\u4E2D\u2026",Create:"\u521B\u5EFA",Default:"\u9ED8\u8BA4","Thinking level":"\u601D\u8003\u5F3A\u5EA6","Model: {model}":"\u6A21\u578B\uFF1A{model}",none:"\u65E0","Choose a model":"\u9009\u62E9\u6A21\u578B","{provider} \xB7 not available":"{provider} \xB7 \u4E0D\u53EF\u7528","Model for {name}":"{name} \u7684\u6A21\u578B","No models are set up in DeepSeek Harness yet.":"DeepSeek Harness \u91CC\u8FD8\u6CA1\u6709\u8BBE\u7F6E\u6A21\u578B\u3002","Models and providers\u2026":"\u6A21\u578B\u548C\u670D\u52A1\u5546\u2026",Models:"\u6A21\u578B","Harness default":"Harness \u9ED8\u8BA4",Saving:"\u4FDD\u5B58\u4E2D","Manage models":"\u7BA1\u7406\u6A21\u578B","This turn failed":"\u672C\u8F6E\u8FD0\u884C\u5931\u8D25","This Bot's model has no API key yet. Set one up, then send your message again.":"\u8FD9\u4E2A Bot \u7684\u6A21\u578B\u8FD8\u6CA1\u6709 API key\u3002\u8BBE\u7F6E\u597D\u540E\u518D\u53D1\u4E00\u6B21\u6D88\u606F\u3002",Whale:"\u9CB8\u9C7C",Star:"\u661F\u661F",Moon:"\u6708\u4EAE",Wave:"\u58F0\u6CE2",Squircle:"\u5706\u89D2\u65B9",Bull:"\u725B\u89D2",Blossom:"\u82B1\u6735",Gumdrop:"\u8F6F\u7CD6",Peanut:"\u82B1\u751F",Bubbles:"\u6CE1\u6CE1",Saucer:"\u98DE\u789F",Sprout:"\u5AE9\u82BD",Bunny:"\u5154\u5B50",Kitty:"\u5C0F\u732B",Beacon:"\u706F\u5854",Plus:"\u52A0\u53F7",Magnet:"\u78C1\u94C1",Acorn:"\u6A61\u679C",Pebbles:"\u77F3\u5B50",Cushion:"\u9760\u57AB",Ring:"\u5706\u73AF",Gem:"\u5B9D\u77F3",Black:"\u9ED1",Brown:"\u68D5",Red:"\u7EA2",Orange:"\u6A59",Yellow:"\u9EC4",Green:"\u7EFF",Cyan:"\u9752",Blue:"\u84DD",Violet:"\u7D2B",Magenta:"\u54C1\u7EA2",Gray:"\u7070",Aurora:"\u6781\u5149",Deepseek:"DeepSeek \u84DD",Charcoal:"\u70AD\u9ED1",Graphite:"\u77F3\u58A8",Rose:"\u73AB\u7470",Sky:"\u5929\u84DD",Tangerine:"\u6A58",Cobalt:"\u94B4\u84DD",DeepSeek:"DeepSeek",Mono:"\u9ED1\u767D",Paper:"\u7EB8\u5F20",Moonlight:"\u6708\u5149",General:"\u901A\u7528",Bots:"Bot","Group chats":"\u7FA4\u804A",Secrets:"\u5BC6\u94A5",Appearance:"\u5916\u89C2",Theme:"\u4E3B\u9898","Colors for the whole team, on every device.":"\u6574\u4E2A\u56E2\u961F\u7684\u914D\u8272\uFF0C\u6240\u6709\u8BBE\u5907\u540C\u6B65\u3002",Accent:"\u5F3A\u8C03\u8272","Unread marks, badges, and the brand mark.":"\u672A\u8BFB\u6807\u8BB0\u3001\u5FBD\u6807\u548C\u54C1\u724C\u6807\u5FD7\u3002","Theme accent":"\u4E3B\u9898\u5F3A\u8C03\u8272","Custom accent":"\u81EA\u5B9A\u4E49\u5F3A\u8C03\u8272","Bots \xB7 {count}":"Bot \xB7 {count}","First in the sidebar. Pick another Bot to hand it the role; {name} then stops being a Main Bot.":"\u6392\u5728\u4FA7\u680F\u6700\u4E0A\u9762\u3002\u9009\u53E6\u4E00\u4E2A Bot \u5C31\u4F1A\u628A\u4E3B Bot \u4EA4\u7ED9\u5B83\uFF0C{name} \u968F\u4E4B\u4E0D\u518D\u662F\u4E3B Bot\u3002","Choose a Bot\u2026":"\u9009\u62E9\u4E00\u4E2A Bot\u2026","Also a Main Bot.":"\u4E5F\u662F\u4E3B Bot\u3002","Move to first":"\u79FB\u5230\u6700\u524D","Add a Main Bot":"\u6DFB\u52A0\u4E3B Bot","Main Bots can create and change Bots, and run every group chat.":"\u4E3B Bot \u53EF\u4EE5\u521B\u5EFA\u548C\u4FEE\u6539 Bot\uFF0C\u5E76\u7BA1\u7406\u6240\u6709\u7FA4\u804A\u3002","Group chats \xB7 {count}":"\u7FA4\u804A \xB7 {count}","No group chats yet.":"\u8FD8\u6CA1\u6709\u7FA4\u804A\u3002","A group chat lets several Bots work on one thing with you.":"\u5728\u7FA4\u804A\u91CC\uFF0C\u51E0\u4E2A Bot \u548C\u4F60\u4E00\u8D77\u505A\u4E00\u4EF6\u4E8B\u3002","Back to group chats":"\u8FD4\u56DE\u7FA4\u804A\u5217\u8868","FlyBot settings":"FlyBot \u8BBE\u7F6E","Settings pages":"\u8BBE\u7F6E\u9875\u9762","Opens DeepSeek Harness's own settings (models, providers, permissions) in a separate window":"\u5728\u5355\u72EC\u7684\u7A97\u53E3\u4E2D\u6253\u5F00 DeepSeek Harness \u81EA\u5DF1\u7684\u8BBE\u7F6E\uFF08\u6A21\u578B\u3001\u670D\u52A1\u5546\u3001\u6743\u9650\uFF09","Harness settings, opens DeepSeek Harness's own settings window":"Harness \u8BBE\u7F6E\uFF0C\u6253\u5F00 DeepSeek Harness \u81EA\u5DF1\u7684\u8BBE\u7F6E\u7A97\u53E3","Harness settings":"Harness \u8BBE\u7F6E","Back to Bots":"\u8FD4\u56DE Bot \u5217\u8868","Close settings":"\u5173\u95ED\u8BBE\u7F6E",Unpin:"\u53D6\u6D88\u7F6E\u9876",Pin:"\u7F6E\u9876",Pinned:"\u5DF2\u7F6E\u9876","Mark as Unread":"\u6807\u4E3A\u672A\u8BFB","Group settings":"\u7FA4\u8BBE\u7F6E","Rename group":"\u91CD\u547D\u540D\u7FA4\u804A","Copy conversation ID":"\u590D\u5236\u5BF9\u8BDD ID","Hide from sidebar":"\u4ECE\u4FA7\u680F\u9690\u85CF","{name} actions":"{name} \u7684\u64CD\u4F5C","Add DSH Agent":"\u6DFB\u52A0 DSH Agent","Add coding agent":"\u6DFB\u52A0\u7F16\u7801 Agent","Add Agent":"\u6DFB\u52A0 Agent","Remove DSH Agent":"\u79FB\u9664 DSH Agent","New session":"\u65B0\u4F1A\u8BDD",Archive:"\u5F52\u6863","Session actions":"\u4F1A\u8BDD\u64CD\u4F5C","Plain dsh session":"\u539F\u751F dsh \u4F1A\u8BDD","just now":"\u521A\u521A","{n} min":"{n} \u5206\u949F","{n} h":"{n} \u5C0F\u65F6","{n} d":"{n} \u5929","FlyBot core {version} is available":"FlyBot \u6838\u5FC3 {version} \u53EF\u4EE5\u66F4\u65B0","Updating FlyBot core\u2026":"\u6B63\u5728\u66F4\u65B0 FlyBot \u6838\u5FC3\u2026","FlyBot core {version} is installed. Restart DSH to use it.":"FlyBot \u6838\u5FC3 {version} \u5DF2\u5B89\u88C5\uFF0C\u91CD\u542F DSH \u540E\u751F\u6548","FlyBot core update":"FlyBot \u6838\u5FC3\u66F4\u65B0","FlyBot core {version}":"FlyBot \u6838\u5FC3 {version}","Update installed":"\u66F4\u65B0\u5DF2\u5B89\u88C5","Restart DSH to start using FlyBot core {version}.":"\u91CD\u542F DSH \u540E\u5F00\u59CB\u4F7F\u7528 FlyBot \u6838\u5FC3 {version}\u3002","You have {version}.":"\u5F53\u524D\u7248\u672C {version}\u3002","The update did not finish: {reason}":"\u66F4\u65B0\u6CA1\u6709\u5B8C\u6210\uFF1A{reason}","What's new":"\u66F4\u65B0\u8BF4\u660E","Updating\u2026":"\u6B63\u5728\u66F4\u65B0\u2026","DSH {version} is available":"DSH {version} \u53EF\u4EE5\u66F4\u65B0","Updating DSH\u2026":"\u6B63\u5728\u66F4\u65B0 DSH\u2026","DSH update":"DSH \u66F4\u65B0","DSH {version}":"DSH {version}","Restart DSH to start using DSH {version}.":"\u91CD\u542F DSH \u540E\u5F00\u59CB\u4F7F\u7528 DSH {version}\u3002","Update FlyBot core {version} first.":"\u5148\u66F4\u65B0 FlyBot \u6838\u5FC3 {version}\u3002","Open updates":"\u6253\u5F00\u66F4\u65B0",Inbox:"\u6536\u4EF6\u7BB1","Inbox, {count} need you":"\u6536\u4EF6\u7BB1\uFF0C{count} \u9879\u9700\u8981\u4F60","Close inbox":"\u5173\u95ED\u6536\u4EF6\u7BB1","Your Bots":"\u4F60\u7684 Bot","Needs you":"\u9700\u8981\u4F60","In progress":"\u8FDB\u884C\u4E2D","Nothing needs you right now.":"\u73B0\u5728\u6CA1\u6709\u9700\u8981\u4F60\u5904\u7406\u7684\u4E8B\u3002","Nothing is running.":"\u6CA1\u6709\u6B63\u5728\u8FDB\u884C\u7684\u4E8B\u3002","Nothing finished in the last 7 days.":"\u6700\u8FD1 7 \u5929\u6CA1\u6709\u5B8C\u6210\u7684\u4E8B\u3002","Waiting to send":"\u7B49\u5F85\u53D1\u9001","Needs your answer":"\u7B49\u4F60\u56DE\u7B54","Result ready":"\u7ED3\u679C\u5DF2\u5C31\u7EEA",Failed:"\u5931\u8D25",Cancelled:"\u5DF2\u53D6\u6D88","A tool call":"\u4E00\u6B21\u5DE5\u5177\u8C03\u7528","A workflow":"\u4E00\u4E2A\u5DE5\u4F5C\u6D41","1 message waits for your approval":"1 \u6761\u6D88\u606F\u7B49\u4F60\u6279\u51C6","{count} messages wait for your approval":"{count} \u6761\u6D88\u606F\u7B49\u4F60\u6279\u51C6","Approve it in the chat":"\u8BF7\u5728\u5BF9\u8BDD\u91CC\u6279\u51C6","The last turn did not finish":"\u4E0A\u4E00\u8F6E\u6CA1\u6709\u5B8C\u6210","Latest: {text}":"\u6700\u65B0\uFF1A{text}","{count} tool calls":"{count} \u6B21\u5DE5\u5177\u8C03\u7528","Untitled task":"\u672A\u547D\u540D\u4EFB\u52A1",Accept:"\u63A5\u53D7","Send back":"\u9000\u56DE","Send it back":"\u9000\u56DE\u7ED9 Bot","What should change":"\u9700\u8981\u6539\u4EC0\u4E48","Sent back: {note}":"\u5DF2\u9000\u56DE\uFF1A{note}","Comment goes to {target}":"\u8BC4\u8BBA\u5199\u5230 {target}","Could not comment on {target}: {error}":"\u65E0\u6CD5\u5728 {target} \u4E0A\u7559\u8A00\uFF1A{error}","Could not confirm the comment on {target} went out":"\u65E0\u6CD5\u786E\u8BA4 {target} \u4E0A\u7684\u7559\u8A00\u662F\u5426\u53D1\u51FA",Board:"\u770B\u677F",Tasks:"\u4EFB\u52A1","Close board":"\u5173\u95ED\u770B\u677F","Close tasks":"\u5173\u95ED\u4EFB\u52A1","Task board":"\u4EFB\u52A1\u677F","Not started":"\u672A\u5F00\u59CB","Groups you admin":"\u4F60\u7BA1\u7406\u7684\u7FA4","No tasks yet.":"\u8FD8\u6CA1\u6709\u4EFB\u52A1\u3002","Nothing in this column.":"\u8FD9\u4E00\u5217\u662F\u7A7A\u7684\u3002",Highest:"\u6700\u9AD8",High:"\u8F83\u9AD8",Low:"\u8F83\u4F4E",Claimed:"\u5DF2\u8BA4\u9886",Blocked:"\u53D7\u963B",Waiting:"\u7B49\u5F85","In flight":"\u8FDB\u884C\u4E2D","PRs opened today":"\u4ECA\u65E5\u65B0\u5F00 PR","PRs merged today":"\u4ECA\u65E5\u5408\u5165 PR","Issues opened today":"\u4ECA\u65E5\u65B0\u5F00 issue","Issues closed today":"\u4ECA\u65E5\u5173\u95ED issue","PR merge time":"PR \u5408\u5165\u65F6\u957F","Issue close time":"issue \u5173\u95ED\u65F6\u957F","Task completion":"\u4EFB\u52A1\u5B8C\u6210\u65F6\u957F","Natural day in your time zone, by created_at.":"\u6309\u4F60\u6240\u5728\u65F6\u533A\u7684\u81EA\u7136\u65E5\uFF0C\u53D6 created_at\u3002","Natural day in your time zone, by merged_at.":"\u6309\u4F60\u6240\u5728\u65F6\u533A\u7684\u81EA\u7136\u65E5\uFF0C\u53D6 merged_at\u3002","Natural day in your time zone, by closed_at.":"\u6309\u4F60\u6240\u5728\u65F6\u533A\u7684\u81EA\u7136\u65E5\uFF0C\u53D6 closed_at\u3002","Median of the last 7 days, opened to merged.":"\u8FD1 7 \u5929\u4E2D\u4F4D\u6570\uFF0C\u5F00\u542F\u5230\u5408\u5165\u3002","Median of the last 7 days, opened to closed.":"\u8FD1 7 \u5929\u4E2D\u4F4D\u6570\uFF0C\u5F00\u542F\u5230\u5173\u95ED\u3002","Median of the last 7 days, created to done.":"\u8FD1 7 \u5929\u4E2D\u4F4D\u6570\uFF0C\u521B\u5EFA\u5230\u5B8C\u6210\u3002","Metrics unavailable":"\u6307\u6807\u4E0D\u53EF\u7528","Running tasks":"\u5728\u8DD1\u4EFB\u52A1","Claimed for":"\u5DF2\u505A\u591A\u4E45","Last activity":"\u6700\u8FD1\u6D3B\u52A8",Task:"\u4EFB\u52A1",Status:"\u72B6\u6001",Who:"\u8C01\u5728\u505A",Source:"\u6765\u6E90",unknown:"\u672A\u77E5",Start:"\u5F00\u59CB",Complete:"\u5B8C\u6210","Start task":"\u5F00\u59CB\u4EFB\u52A1","Complete task":"\u5B8C\u6210\u4EFB\u52A1","Add task":"\u6DFB\u52A0\u4EFB\u52A1","Group task":"\u7FA4\u4EFB\u52A1","Assign, claim, and progress live on this board: one overall task, a subtask per part, an assignee, a column, and progress. @ only wakes someone.":"\u6D3E\u6D3B\u3001\u9886\u6D3B\u548C\u8FDB\u5EA6\u90FD\u5728\u8FD9\u5757\u770B\u677F\u4E0A\uFF1A\u4E00\u4E2A\u603B\u4EFB\u52A1\u3001\u6BCF\u4E2A\u90E8\u5206\u4E00\u6761\u5B50\u4EFB\u52A1\u3001\u8D1F\u8D23\u4EBA\u3001\u5217\u548C\u8FDB\u5EA6\u3002@ \u53EA\u662F\u53EB\u9192\u5BF9\u65B9\u3002","Part of {title}":"\u5C5E\u4E8E {title}","Task title":"\u4EFB\u52A1\u6807\u9898",Progress:"\u8FDB\u5EA6",Group:"\u7FA4","{percent}%":"{percent}%","{done}/{total}":"{done}/{total}","for {time}":"\u5DF2 {time}","just started":"\u521A\u5F00\u59CB","Open {name}":"\u6253\u5F00 {name}","Allowed once for {name}":"\u5DF2\u4E3A {name} \u5141\u8BB8\u4E00\u6B21","Rejected for {name}":"\u5DF2\u62D2\u7EDD {name} \u7684\u8BF7\u6C42",Messages:"\u6D88\u606F",Commands:"\u547D\u4EE4","Search Bots, chats and messages":"\u641C\u7D22 Bot\u3001\u5BF9\u8BDD\u548C\u6D88\u606F","Clear search":"\u6E05\u9664\u641C\u7D22",Results:"\u7ED3\u679C","No results":"\u6CA1\u6709\u7ED3\u679C","Try a Bot name or words from a message":"\u8BD5\u8BD5 Bot \u540D\u5B57\u6216\u6D88\u606F\u91CC\u7684\u8BCD","Bot exchange":"Bot \u95F4\u5BF9\u8BDD","Bot exchange transcript":"Bot \u95F4\u5BF9\u8BDD\u8BB0\u5F55","No messages yet":"\u8FD8\u6CA1\u6709\u6D88\u606F","Close Chat":"\u5173\u95ED","Today {time}":"\u4ECA\u5929 {time}","Yesterday {time}":"\u6628\u5929 {time}","{tokens} tok \xB7 Cache hit {hit}%":"{tokens} tok \xB7 \u7F13\u5B58\u547D\u4E2D {hit}%",Footnotes:"\u811A\u6CE8","Remove reaction {emoji}":"\u79FB\u9664\u8868\u60C5 {emoji}","Add reaction":"\u6DFB\u52A0\u8868\u60C5",Reply:"\u56DE\u590D","More message actions":"\u66F4\u591A\u64CD\u4F5C",More:"\u66F4\u591A",Sharing:"\u5206\u4EAB",Reactions:"\u8868\u60C5","Message actions":"\u6D88\u606F\u64CD\u4F5C",Download:"\u4E0B\u8F7D","Thought it through":"\u601D\u8003\u8FC7\u7A0B","{n} line of reasoning":"{n} \u884C\u601D\u8003\u5185\u5BB9","{n} lines of reasoning":"{n} \u884C\u601D\u8003\u5185\u5BB9","Earlier messages":"\u66F4\u65E9\u7684\u6D88\u606F","Loading earlier messages\u2026":"\u6B63\u5728\u52A0\u8F7D\u66F4\u65E9\u7684\u6D88\u606F\u2026","Couldn\u2019t load earlier messages \xB7 Retry":"\u66F4\u65E9\u7684\u6D88\u606F\u6CA1\u52A0\u8F7D\u51FA\u6765 \xB7 \u91CD\u8BD5","Load earlier":"\u52A0\u8F7D\u66F4\u65E9\u7684\u6D88\u606F","1 image":"1 \u5F20\u56FE\u7247","{count} images":"{count} \u5F20\u56FE\u7247","Replies from":"\u7FA4\u804A\u56DE\u590D\uFF1A","Reply from":"\u6536\u5230\u56DE\u590D\uFF1A","Message from":"\u6536\u5230\u6D88\u606F\uFF1A","via {name}":"\u7ECF\u7531 {name}","{name} is talking to {bot} through Bot Social":"{name} \u6B63\u901A\u8FC7 Bot Social \u548C {bot} \u5BF9\u8BDD","your Bot":"\u4F60\u7684 Bot","Stopped by":"\u53EB\u505C\u8005\uFF1A","{count} messages with":"{count} \u6761\u6D88\u606F\uFF0C\u6765\u81EA","Routine started":"\u4F8B\u884C\u4EFB\u52A1\u5F00\u59CB",Update:"\u66F4\u65B0","Thinking about it":"\u60F3\u4E00\u60F3","Weighing the options":"\u6743\u8861\u4E00\u4E0B","Working out a plan":"\u7406\u4E00\u4E0B\u601D\u8DEF","Sorting out the details":"\u68B3\u7406\u7EC6\u8282","On it":"\u5728\u505A\u4E86","Using {tool}":"\u4F7F\u7528 {tool}","{action}: {detail}":"{action}\uFF1A{detail}","Busy with it":"\u6B63\u5728\u5904\u7406","Moving ahead":"\u63A8\u8FDB\u4E2D","Taking care of it":"\u5904\u7406\u4E2D","Making headway":"\u6709\u8FDB\u5C55\u4E86","Searching online":"\u4E0A\u7F51\u641C\u7D22","Reading a page":"\u9605\u8BFB\u7F51\u9875","Running shell commands":"\u8FD0\u884C\u547D\u4EE4","Opening a file":"\u6253\u5F00\u6587\u4EF6","Looking through files":"\u67E5\u627E\u6587\u4EF6","Writing changes":"\u5199\u5165\u4FEE\u6539","Working on an image":"\u5904\u7406\u56FE\u7247","Creating a group":"\u521B\u5EFA\u7FA4\u804A","Updating the group":"\u66F4\u65B0\u7FA4\u804A","Deleting the group":"\u5220\u9664\u7FA4\u804A","Posting in the group":"\u5728\u7FA4\u91CC\u53D1\u8A00","Checking the keys":"\u67E5\u770B\u5BC6\u94A5","Asking {name}":"\u8BE2\u95EE {name}","Asking another Bot":"\u8BE2\u95EE\u5176\u4ED6 Bot","Stopping {name}":"\u53EB\u505C {name}","Stopping another Bot":"\u53EB\u505C\u5176\u4ED6 Bot","Creating {name}":"\u521B\u5EFA {name}","Updating {name}":"\u66F4\u65B0 {name}","Checking the team":"\u67E5\u770B\u56E2\u961F","Reading {name}":"\u9605\u8BFB {name}","Looking back through the chat":"\u7FFB\u770B\u804A\u5929\u8BB0\u5F55","{name} looked up its own chat":"{name} \u67E5\u770B\u4E86\u81EA\u5DF1\u7684\u5BF9\u8BDD","{name} looked up its own chat for \u201C{text}\u201D":"{name} \u5728\u81EA\u5DF1\u7684\u5BF9\u8BDD\u91CC\u67E5\u627E\u300C{text}\u300D","{name} didn't answer in time":"{name} \u6CA1\u6709\u53CA\u65F6\u56DE\u5E94","{name} paused for your approval":"{name} \u505C\u4E0B\u6765\u7B49\u4F60\u6279\u51C6","{name} started on it":"{name} \u5F00\u59CB\u505A\u4E86","You stopped {name}'s work":"\u4F60\u505C\u4E0B\u4E86 {name} \u7684\u5DE5\u4F5C","{name} was cut off by a restart and picked its work back up":"{name} \u7684\u5DE5\u4F5C\u88AB\u91CD\u542F\u6253\u65AD\uFF0C\u5DF2\u7ECF\u63A5\u7740\u505A","{name} was cut off by a restart again and stopped":"{name} \u7684\u5DE5\u4F5C\u53C8\u88AB\u91CD\u542F\u6253\u65AD\uFF0C\u5DF2\u505C\u4E0B","Picked up its work after a restart":"\u91CD\u542F\u540E\u63A5\u7740\u505A\u4E4B\u524D\u7684\u5DE5\u4F5C","Asked to make the tool call it wrote as text":"\u5DE5\u5177\u8C03\u7528\u88AB\u5199\u6210\u4E86\u6587\u5B57\uFF0C\u5DF2\u8BA9\u5B83\u91CD\u65B0\u8C03\u7528","A Bot":"\u4E00\u4E2A Bot","{name} is waiting for your approval":"{name} \u7B49\u4F60\u6279\u51C6","{name} finished":"{name} \u5DF2\u5B8C\u6210","{name} failed: {reason}":"{name} \u5931\u8D25\uFF1A{reason}","{name} has waited {n} min for your approval":"{name} \u5DF2\u7ECF\u7B49\u4F60\u6279\u51C6 {n} \u5206\u949F\u4E86","{count} updates":"{count} \u6761\u66F4\u65B0","Once more if it still waits after 15 min.":"\u7B49\u4E86 15 \u5206\u949F\u8FD8\u6CA1\u6279\u51C6\u65F6\u518D\u63D0\u9192\u4E00\u6B21\u3002",Notifications:"\u901A\u77E5","In other chats":"\u5728\u5176\u4ED6\u5BF9\u8BDD\u65F6","When your Bots finish, fail, or wait for your approval while you are in another chat or app.":"\u4F60\u7684 Bot \u5B8C\u6210\u3001\u5931\u8D25\u6216\u7B49\u4F60\u6279\u51C6\u65F6\u63D0\u9192\u4F60\uFF08\u4F60\u5728\u522B\u7684\u5BF9\u8BDD\u6216\u5E94\u7528\u91CC\u65F6\uFF09\u3002","{first} and {second} are waiting for your approval":"{first}\u3001{second} \u7B49\u4F60\u6279\u51C6","{first}, {second} and {count} more are waiting for your approval":"{first}\u3001{second} \u7B49 {total} \u4E2A\u7B49\u4F60\u6279\u51C6","Waiting for your approval":"\u7B49\u4F60\u6279\u51C6","Waiting for their approval":"\u7B49\u5BF9\u65B9\u6279\u51C6","Your Bots post in rooms without asking each time. Use Auto-send in the room header to turn it off.":"\u4F60\u7684 Bot \u4F1A\u5728\u623F\u95F4\u91CC\u76F4\u63A5\u53D1\u9001\uFF0C\u4E0D\u518D\u6BCF\u6B21\u8BE2\u95EE\u3002\u8981\u5173\u6389\uFF0C\u7528\u623F\u95F4\u6807\u9898\u91CC\u7684\u81EA\u52A8\u53D1\u9001\u3002","Turn on auto-send":"\u6253\u5F00\u81EA\u52A8\u53D1\u9001","Approve and always auto-send in this room":"\u6279\u51C6\u5E76\u5728\u6B64\u623F\u95F4\u59CB\u7EC8\u81EA\u52A8\u53D1\u9001",Reject:"\u62D2\u7EDD","Allow once":"\u5141\u8BB8\u4E00\u6B21","Always allow for this Bot":"\u6B64 Bot \u59CB\u7EC8\u5141\u8BB8","Always allow for this group":"\u672C\u7FA4\u59CB\u7EC8\u5141\u8BB8","Always allowed for {name}":"\u5DF2\u4E3A {name} \u59CB\u7EC8\u5141\u8BB8","Always allowed in this group":"\u5DF2\u5728\u672C\u7FA4\u59CB\u7EC8\u5141\u8BB8","Always allowed":"\u59CB\u7EC8\u5141\u8BB8","Your Bots in this group do these without asking.":"\u4F60\u5728\u672C\u7FA4\u7684 Bot \u505A\u8FD9\u4E9B\u65F6\u4E0D\u518D\u8BE2\u95EE\u3002","This Bot does these without asking.":"\u6B64 Bot \u505A\u8FD9\u4E9B\u65F6\u4E0D\u518D\u8BE2\u95EE\u3002","Remove always allow for {kind}":"\u79FB\u9664 {kind} \u7684\u59CB\u7EC8\u5141\u8BB8","Couldn't message {name}":"\u6CA1\u80FD\u7ED9 {name} \u53D1\u6D88\u606F",Messaged:"\u5DF2\u53D1\u6D88\u606F\u7ED9","Couldn't stop {name}":"\u6CA1\u80FD\u53EB\u505C {name}",Stopped:"\u5DF2\u53EB\u505C",Created:"\u5DF2\u521B\u5EFA",Updated:"\u5DF2\u66F4\u65B0","Created group":"\u5DF2\u521B\u5EFA\u7FA4\u804A","Couldn't create the group":"\u6CA1\u80FD\u521B\u5EFA\u7FA4\u804A","Updated group":"\u5DF2\u66F4\u65B0\u7FA4\u804A","Couldn't update the group":"\u6CA1\u80FD\u66F4\u65B0\u7FA4\u804A","Deleted group":"\u5DF2\u5220\u9664\u7FA4\u804A","Couldn't delete the group":"\u6CA1\u80FD\u5220\u9664\u7FA4\u804A","Posted in":"\u5DF2\u53D1\u5230","Couldn't post in the group":"\u6CA1\u80FD\u5728\u7FA4\u91CC\u53D1\u8A00",Read:"\u5DF2\u8BFB\u53D6","Your own answer":"\u4F60\u81EA\u5DF1\u7684\u56DE\u7B54","Type your own answer":"\u8F93\u5165\u4F60\u81EA\u5DF1\u7684\u56DE\u7B54",Selected:"\u5DF2\u9009",Skip:"\u8DF3\u8FC7",Submit:"\u63D0\u4EA4",Answered:"\u5DF2\u56DE\u7B54","Choose all that apply":"\u53EF\u591A\u9009","Dismiss question":"\u5173\u95ED\u95EE\u9898",Dismiss:"\u5173\u95ED",Dismissed:"\u5DF2\u5173\u95ED","Your answer":"\u4F60\u7684\u56DE\u7B54","All my Bots":"\u6211\u7684\u6240\u6709 Bot","No Bot":"\u6CA1\u6709 Bot","Paste or type the key":"\u7C98\u8D34\u6216\u8F93\u5165\u5BC6\u94A5","Only {name}":"\u53EA\u7ED9 {name}","Who may use it":"\u8C01\u53EF\u4EE5\u7528","Cancel the request":"\u53D6\u6D88\u8BF7\u6C42","This page is not on HTTPS: the key crosses the network unencrypted.":"\u8FD9\u4E2A\u9875\u9762\u4E0D\u662F HTTPS\uFF1A\u5BC6\u94A5\u4F1A\u4EE5\u660E\u6587\u7ECF\u8FC7\u7F51\u7EDC\u3002","Let {bot} use {name}?":"\u5141\u8BB8 {bot} \u4F7F\u7528 {name}\uFF1F","{name} needs a key":"{name} \u9700\u8981\u4E00\u4E2A\u5BC6\u94A5","Saved for {scope}":"\u5DF2\u4FDD\u5B58\uFF0C\u53EF\u7528\u8303\u56F4\uFF1A{scope}","Value of {name}":"{name} \u7684\u503C","{bot} never sees the value. It reaches {bot}'s shell as ":"{bot} \u6C38\u8FDC\u770B\u4E0D\u5230\u8FD9\u4E2A\u503C\u3002\u5B83\u4F1A\u4F5C\u4E3A\u4E0B\u9762\u7684\u73AF\u5883\u53D8\u91CF\u8FDB\u5165 {bot} \u7684 shell\uFF1A"," At least {count} characters.":" \u81F3\u5C11 {count} \u4E2A\u5B57\u7B26\u3002","At least {count} characters.":"\u81F3\u5C11 {count} \u4E2A\u5B57\u7B26\u3002","Replace value":"\u66FF\u6362\u503C","Saving\u2026":"\u4FDD\u5B58\u4E2D\u2026","Allowing\u2026":"\u5141\u8BB8\u4E2D\u2026",Allow:"\u5141\u8BB8","{bot} asked for {name}":"{bot} \u8BF7\u6C42\u4E86 {name}","Allowed {bot} to use {name}":"\u5DF2\u5141\u8BB8 {bot} \u4F7F\u7528 {name}","Saved {name}":"\u5DF2\u4FDD\u5B58 {name}",Canceled:"\u5DF2\u53D6\u6D88",Done:"\u5B8C\u6210","Done cards":"\u5DF2\u5B8C\u6210","{bot} is using {name}":"{bot} \u6B63\u5728\u4F7F\u7528 {name}","a saved key":"\u4E00\u4E2A\u5DF2\u4FDD\u5B58\u7684\u5BC6\u94A5","Chosen Bots":"\u6307\u5B9A\u7684 Bot","Who may use {name}":"\u8C01\u53EF\u4EE5\u7528 {name}","Save access":"\u4FDD\u5B58\u6743\u9650","Replace the value":"\u66FF\u6362\u503C","New value of {name}":"{name} \u7684\u65B0\u503C","Replaced. Bots get the new value from their next command.":"\u5DF2\u66FF\u6362\u3002Bot \u4ECE\u4E0B\u4E00\u6761\u547D\u4EE4\u5F00\u59CB\u62FF\u5230\u65B0\u503C\u3002","a deleted Bot":"\u4E00\u4E2A\u5DF2\u5220\u9664\u7684 Bot","Asked by {name}":"\u7531 {name} \u8BF7\u6C42","added {time}":"\u6DFB\u52A0\u4E8E {time}","last used {time}":"\u4E0A\u6B21\u4F7F\u7528 {time}","not used yet":"\u8FD8\u6CA1\u7528\u8FC7","Delete {name}? Bots lose it at once.":"\u5220\u9664 {name}\uFF1FBot \u4F1A\u7ACB\u523B\u5931\u53BB\u5B83\u3002",Keep:"\u4FDD\u7559","Key name":"\u5BC6\u94A5\u540D","NAME, e.g. GITHUB_TOKEN":"\u540D\u5B57\uFF0C\u4F8B\u5982 GITHUB_TOKEN","What it is for":"\u7528\u9014",Value:"\u503C","New keys are for all your Bots; change who may use it afterwards.":"\u65B0\u5BC6\u94A5\u9ED8\u8BA4\u4F60\u7684\u6240\u6709 Bot \u53EF\u7528\uFF0C\u4E4B\u540E\u53EF\u4EE5\u66F4\u6539\u8C01\u80FD\u7528\u3002","Save key":"\u4FDD\u5B58\u5BC6\u94A5","Keys your Bots asked for. Bots never see the values: they use them as ":"\u4F60\u7684 Bot \u8BF7\u6C42\u8FC7\u7684\u5BC6\u94A5\u3002Bot \u6C38\u8FDC\u770B\u4E0D\u5230\u503C\uFF1A\u5B83\u4EEC\u5728 shell \u91CC\u901A\u8FC7 "," in their shell, and every value is replaced by ":" \u4F7F\u7528\uFF0C\u800C\u4E14\u53D1\u7ED9\u6A21\u578B\u4E4B\u524D\uFF0C\u6BCF\u4E2A\u503C\u90FD\u4F1A\u88AB\u66FF\u6362\u6210 "," before anything goes to a model.":"\u3002","Secrets \xB7 {count}":"\u5BC6\u94A5 \xB7 {count}","No keys yet. When a Bot needs one, it shows a card in its chat.":"\u8FD8\u6CA1\u6709\u5BC6\u94A5\u3002Bot \u9700\u8981\u65F6\uFF0C\u4F1A\u5728\u5BF9\u8BDD\u91CC\u5F39\u51FA\u4E00\u5F20\u5361\u7247\u3002","Add a key":"\u6DFB\u52A0\u5BC6\u94A5",Memory:"\u8BB0\u5FC6","Nothing saved yet":"\u8FD8\u6CA1\u6709\u4FDD\u5B58\u5185\u5BB9","1 entry":"1 \u6761","{count} entries":"{count} \u6761","Manage {name}'s memory":"\u7BA1\u7406 {name} \u7684\u8BB0\u5FC6","{name}'s memory":"{name} \u7684\u8BB0\u5FC6","Memory summary":"\u8BB0\u5FC6\u6458\u8981","All entries":"\u5168\u90E8\u8BB0\u5FC6","Memory options":"\u8BB0\u5FC6\u9009\u9879","Close memory":"\u5173\u95ED\u8BB0\u5FC6","Back to the summary":"\u8FD4\u56DE\u6458\u8981","Regenerate summary":"\u91CD\u65B0\u751F\u6210\u6458\u8981","Updated {time}":"\u66F4\u65B0\u4E8E {time}","Updated just now":"\u521A\u521A\u66F4\u65B0","Writing the summary\u2026":"\u6B63\u5728\u751F\u6210\u6458\u8981\u2026","The summary is out of date: {reason}":"\u6458\u8981\u4E0D\u662F\u6700\u65B0\u7684\uFF1A{reason}","The summary could not be written: {reason}":"\u6458\u8981\u6CA1\u80FD\u751F\u6210\uFF1A{reason}","{name} has not saved anything yet":"{name} \u8FD8\u6CA1\u6709\u8BB0\u4F4F\u4EFB\u4F55\u5185\u5BB9","Bots keep lasting preferences, decisions, and what you ask them to remember. Tell {name} below, or in its chat.":"Bot \u4F1A\u8BB0\u4F4F\u957F\u671F\u7684\u504F\u597D\u3001\u505A\u8FC7\u7684\u51B3\u5B9A\uFF0C\u4EE5\u53CA\u4F60\u8BA9\u5B83\u8BB0\u4F4F\u7684\u4E8B\u3002\u53EF\u4EE5\u5728\u4E0B\u9762\u544A\u8BC9 {name}\uFF0C\u4E5F\u53EF\u4EE5\u5728\u5BF9\u8BDD\u91CC\u8BF4\u3002","Team memory":"\u56E2\u961F\u8BB0\u5FC6","Every Bot reads it":"\u6240\u6709 Bot \u90FD\u4F1A\u8BFB","MEMORY.md, which every conversation reads":"MEMORY.md\uFF0C\u6BCF\u6B21\u5BF9\u8BDD\u90FD\u4F1A\u8BFB","{used} of {limit} characters":"{used} / {limit} \u5B57\u7B26","by you":"\u7531\u4F60\u6DFB\u52A0","by {name}":"\u7531 {name} \u6DFB\u52A0","Remove from memory":"\u4ECE\u8BB0\u5FC6\u4E2D\u5220\u9664","Click again to remove":"\u518D\u70B9\u4E00\u6B21\u5220\u9664",Remove:"\u5220\u9664","Ask or update":"\u8BE2\u95EE\u6216\u66F4\u65B0","Ask about or update {name}'s memory":"\u8BE2\u95EE\u6216\u66F4\u65B0 {name} \u7684\u8BB0\u5FC6","Added: {text}":"\u5DF2\u6DFB\u52A0\uFF1A{text}","Added to team memory: {text}":"\u5DF2\u52A0\u5165\u56E2\u961F\u8BB0\u5FC6\uFF1A{text}","Updated: {text}":"\u5DF2\u66F4\u65B0\uFF1A{text}","Removed: {text}":"\u5DF2\u5220\u9664\uFF1A{text}","Removed from team memory: {text}":"\u5DF2\u4ECE\u56E2\u961F\u8BB0\u5FC6\u5220\u9664\uFF1A{text}","Not changed: {text} ({reason})":"\u6CA1\u6709\u6539\u52A8\uFF1A{text}\uFF08{reason}\uFF09","Saving to memory":"\u6B63\u5728\u8BB0\u4E0B","Updating memory":"\u6B63\u5728\u66F4\u65B0\u8BB0\u5FC6","Checking memory":"\u6B63\u5728\u67E5\u770B\u8BB0\u5FC6","Memory updated":"\u8BB0\u5FC6\u5DF2\u66F4\u65B0","Team memory updated":"\u56E2\u961F\u8BB0\u5FC6\u5DF2\u66F4\u65B0","Updated {name}'s memory":"\u5DF2\u66F4\u65B0 {name} \u7684\u8BB0\u5FC6","Memory updated. Open {name}'s memory":"\u8BB0\u5FC6\u5DF2\u66F4\u65B0\uFF0C\u6253\u5F00 {name} \u7684\u8BB0\u5FC6","Close browser":"\u5173\u95ED\u6D4F\u89C8\u5668","Open browser":"\u6253\u5F00\u6D4F\u89C8\u5668","Open this Bot's browser":"\u6253\u5F00\u8FD9\u4E2A Bot \u7684\u6D4F\u89C8\u5668","{name}'s browser":"{name} \u7684\u6D4F\u89C8\u5668","Resize panel":"\u8C03\u6574\u9762\u677F\u5BBD\u5EA6","{name} read this page":"{name} \u8BFB\u4E86\u8FD9\u4E2A\u9875\u9762","{name}'s browser. {name} can read the page shown here.":"{name} \u7684\u6D4F\u89C8\u5668\u3002{name} \u80FD\u8BFB\u53D6\u8FD9\u91CC\u663E\u793A\u7684\u9875\u9762\u3002",Back:"\u540E\u9000",Forward:"\u524D\u8FDB",Stop:"\u505C\u6B62",Reload:"\u5237\u65B0",Address:"\u5730\u5740","Search or enter address":"\u641C\u7D22\u6216\u8F93\u5165\u7F51\u5740","This page didn\u2019t load":"\u9875\u9762\u6CA1\u6709\u52A0\u8F7D\u51FA\u6765","Try again":"\u91CD\u8BD5","Open a page here and {name} can read it with you. Logins and cookies stay with {name}; other Bots never see them.":"\u5728\u8FD9\u91CC\u6253\u5F00\u7F51\u9875\uFF0C{name} \u5C31\u80FD\u548C\u4F60\u4E00\u8D77\u8BFB\u3002\u767B\u5F55\u72B6\u6001\u548C cookie \u53EA\u5C5E\u4E8E {name}\uFF0C\u5176\u4ED6 Bot \u770B\u4E0D\u5230\u3002","Only http and https addresses open here.":"\u8FD9\u91CC\u53EA\u80FD\u6253\u5F00 http \u548C https \u5730\u5740\u3002","The page crashed.":"\u9875\u9762\u5D29\u6E83\u4E86\u3002","The browser blocked the new window.":"\u6D4F\u89C8\u5668\u62E6\u622A\u4E86\u65B0\u7A97\u53E3\u3002","Open the issue":"\u6253\u5F00\u95EE\u9898\u9875\u9762","Cloud metadata addresses do not open here.":"\u8FD9\u91CC\u4E0D\u80FD\u6253\u5F00\u4E91\u5143\u6570\u636E\u5730\u5740\u3002","Dictation is not available in this browser":"\u8FD9\u4E2A\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u542C\u5199","Microphone access is blocked":"\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u963B\u6B62\u4E86","Couldn't hear that":"\u6CA1\u542C\u6E05","Couldn't start dictation":"\u65E0\u6CD5\u5F00\u59CB\u542C\u5199","Stop dictation":"\u505C\u6B62\u542C\u5199",Dictate:"\u542C\u5199","Start voice chat":"\u5F00\u59CB\u8BED\u97F3\u5BF9\u8BDD","Voice chat":"\u8BED\u97F3\u5BF9\u8BDD",Listening:"\u5728\u542C",Thinking:"\u601D\u8003\u4E2D","Thinking\u2026":"\u601D\u8003\u4E2D\u2026",Speaking:"\u5728\u8BF4",Paused:"\u5DF2\u6682\u505C","Voice chat is not available in this browser":"\u8FD9\u4E2A\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u8BED\u97F3\u5BF9\u8BDD","Voice chat with {name}":"\u548C {name} \u8BED\u97F3\u5BF9\u8BDD","Resume listening":"\u7EE7\u7EED\u542C",Pause:"\u6682\u505C","End voice chat":"\u7ED3\u675F\u8BED\u97F3\u5BF9\u8BDD","Recognizing\u2026":"\u8BC6\u522B\u4E2D\u2026","Voice input needs its speech model":"\u8BED\u97F3\u8F93\u5165\u8FD8\u6CA1\u6709\u8BED\u97F3\u6A21\u578B","Set up voice input":"\u8BBE\u7F6E\u8BED\u97F3\u8F93\u5165","That was too long to recognize":"\u8FD9\u6BB5\u592A\u957F\u4E86\uFF0C\u8BC6\u522B\u4E0D\u4E86","24 hours":"24 \u5C0F\u65F6","7 days":"7 \u5929","30 days":"30 \u5929","12 weeks":"12 \u5468","12 months":"12 \u4E2A\u6708","Per hour":"\u6309\u5C0F\u65F6","Per day":"\u6309\u5929","Per week":"\u6309\u5468","Per month":"\u6309\u6708",Output:"\u8F93\u51FA",Input:"\u8F93\u5165","Cache hit":"\u7F13\u5B58\u547D\u4E2D","Deleted Bot":"\u5DF2\u5220\u9664\u7684 Bot",Deleted:"\u5DF2\u5220\u9664","Deleted group chat":"\u5DF2\u5220\u9664\u7684\u7FA4\u804A","Group chat":"\u7FA4\u804A","Own chat":"\u5355\u804A",Conversations:"\u5BF9\u8BDD","Compaction and handoff":"\u538B\u7F29\u4E0E\u4EA4\u63A5","Image reading":"\u8BC6\u56FE",Titles:"\u6807\u9898",Other:"\u5176\u4ED6","Last {range}":"\u6700\u8FD1 {range}",tokens:"Token","Compared with the {range} before":"\u4E0E\u518D\u5F80\u524D {range} \u76F8\u6BD4","{share}% of all usage in the last {range}":"\u5360\u6700\u8FD1 {range}\u5168\u90E8\u7528\u91CF\u7684 {share}%",Calls:"\u8C03\u7528\u6B21\u6570","Cache hit rate":"\u7F13\u5B58\u547D\u4E2D\u7387","Tokens over time":"Token \u8D70\u52BF","{count} tokens":"{count} Token","{tokens} tokens \xB7 {calls} calls":"{tokens} Token \xB7 {calls} \u6B21\u8C03\u7528","Active on 1 day in the last year":"\u8FD1\u4E00\u5E74\u6709 1 \u5929\u5728\u7528","Active on {count} days in the last year":"\u8FD1\u4E00\u5E74\u6709 {count} \u5929\u5728\u7528",Light:"\u5C11",Heavy:"\u591A","Unknown model":"\u672A\u77E5\u6A21\u578B","More Bots":"\u5176\u4F59 Bot","More models":"\u5176\u4F59\u6A21\u578B","Reading your chats\u2026":"\u6B63\u5728\u8BFB\u53D6\u804A\u5929\u8BB0\u5F55\u2026","No usage yet.":"\u8FD8\u6CA1\u6709\u7528\u91CF\u3002","Token usage shows up here after a model is called.":"\u8C03\u7528\u6A21\u578B\u4E4B\u540E\uFF0C\u8FD9\u91CC\u4F1A\u663E\u793A Token \u7528\u91CF\u3002","Nothing in this range.":"\u8FD9\u6BB5\u65F6\u95F4\u6CA1\u6709\u7528\u91CF\u3002","Who used it":"\u8C01\u5728\u7528","What for":"\u7528\u9014",Activity:"\u6D3B\u8DC3\u5EA6","Time range":"\u65F6\u95F4\u8303\u56F4","All usage":"\u5168\u90E8\u7528\u91CF","Group usage by":"\u7528\u91CF\u5206\u7EC4","By Bot":"\u6309 Bot","By model":"\u6309\u6A21\u578B","Still reading older chats; totals may grow.":"\u8FD8\u5728\u8BFB\u53D6\u8F83\u65E9\u7684\u804A\u5929\u8BB0\u5F55\uFF0C\u6570\u5B57\u53EF\u80FD\u8FD8\u4F1A\u53D8\u5927\u3002",Custom:"\u81EA\u5B9A\u4E49","Custom range":"\u81EA\u5B9A\u4E49\u65F6\u95F4\u8303\u56F4","This month":"\u672C\u6708","Last month":"\u4E0A\u4E2A\u6708","This year":"\u4ECA\u5E74","Previous month":"\u5F80\u524D\u4E00\u4E2A\u6708","Next month":"\u5F80\u540E\u4E00\u4E2A\u6708","Pick the first day":"\u9009\u62E9\u5F00\u59CB\u65E5\u671F","Pick the last day":"\u9009\u62E9\u7ED3\u675F\u65E5\u671F","1 day":"1 \u5929","{count} days":"{count} \u5929","Compared with the day before":"\u4E0E\u524D\u4E00\u5929\u76F8\u6BD4","Compared with the {count} days before":"\u4E0E\u518D\u5F80\u524D {count} \u5929\u76F8\u6BD4","{share}% of all usage from {span}":"\u5360 {span} \u5168\u90E8\u7528\u91CF\u7684 {share}%","About FlyBot":"\u5173\u4E8E FlyBot","Version {version}":"\u7248\u672C {version}","Star FlyBot on GitHub":"\u5728 GitHub \u4E0A\u7ED9 FlyBot \u70B9 Star","{count} stars":"{count} \u4E2A Star","If FlyBot helps you, a star on GitHub helps more people find it.":"\u5982\u679C FlyBot \u5BF9\u4F60\u6709\u7528\uFF0C\u6B22\u8FCE\u5728 GitHub \u4E0A\u70B9\u4E2A Star\uFF0C\u8BA9\u66F4\u591A\u4EBA\u770B\u5230\u5B83\u3002",Updates:"\u66F4\u65B0","Check for updates":"\u68C0\u67E5\u66F4\u65B0","Checking\u2026":"\u6B63\u5728\u68C0\u67E5\u2026","Up to date":"\u5DF2\u662F\u6700\u65B0\u7248\u672C","Checked {time}":"\u68C0\u67E5\u4E8E {time}","Could not check for updates.":"\u6CA1\u80FD\u68C0\u67E5\u66F4\u65B0\u3002","Update checks are off.":"\u5DF2\u5173\u95ED\u66F4\u65B0\u68C0\u67E5\u3002","Installed from a local folder; update it there.":"\u4ECE\u672C\u5730\u6587\u4EF6\u5939\u5B89\u88C5\uFF0C\u8BF7\u5728\u90A3\u91CC\u66F4\u65B0\u3002","Updates are not offered for this install.":"\u8FD9\u79CD\u5B89\u88C5\u65B9\u5F0F\u4E0D\u63D0\u4F9B\u66F4\u65B0\u3002","Installed from GitHub ({where}). Updates come from the maintainer: reinstall FlyBot to get them.":"\u4ECE GitHub \u5B89\u88C5\uFF08{where}\uFF09\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","Pinned to commit {commit}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u56FA\u5B9A\u5728\u63D0\u4EA4 {commit}\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","Up to date with {branch}.":"\u5DF2\u662F {branch} \u7684\u6700\u65B0\u63D0\u4EA4\u3002","1 commit behind {branch}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u843D\u540E {branch} 1 \u4E2A\u63D0\u4EA4\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","{count} commits behind {branch}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u843D\u540E {branch} {count} \u4E2A\u63D0\u4EA4\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","Could not compare with {branch}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u6CA1\u80FD\u548C {branch} \u6BD4\u8F83\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","DeepSeek Harness (underlying)":"DeepSeek Harness\uFF08\u5E95\u5C42\uFF09",Links:"\u94FE\u63A5","Source code":"\u6E90\u4EE3\u7801","Release notes":"\u53D1\u5E03\u8BF4\u660E",Open:"\u6253\u5F00",Feedback:"\u53CD\u9988","Report a problem":"\u62A5\u544A\u95EE\u9898","What happened?":"\u53D1\u751F\u4E86\u4EC0\u4E48\uFF1F","What you did, what you expected, and what happened instead. It goes into the issue.":"\u4F60\u505A\u4E86\u4EC0\u4E48\u3001\u671F\u671B\u4EC0\u4E48\u3001\u5B9E\u9645\u53D1\u751F\u4E86\u4EC0\u4E48\u3002\u4F1A\u5199\u8FDB issue\u3002","For example: I asked Writer in the group chat and it showed an error.":"\u4F8B\u5982\uFF1A\u6211\u5728\u7FA4\u804A\u91CC\u95EE Writer\uFF0C\u5B83\u663E\u793A\u51FA\u9519\u4E86\u3002",Diagnostics:"\u8BCA\u65AD\u4FE1\u606F","Versions, system, models, and the latest errors. Saved keys, tokens, and your home folder are hidden.":"\u7248\u672C\u3001\u7CFB\u7EDF\u3001\u6A21\u578B\u548C\u6700\u8FD1\u7684\u9519\u8BEF\u3002\u5DF2\u4FDD\u5B58\u7684\u5BC6\u94A5\u3001\u4EE4\u724C\u548C\u4F60\u7684\u7528\u6237\u76EE\u5F55\u90FD\u5DF2\u9690\u85CF\u3002",Show:"\u67E5\u770B",Hide:"\u6536\u8D77","GitHub issue":"GitHub issue","Opens a new issue in the FlyBot repository with all of this filled in. Nothing is sent until you submit it there.":"\u5728 FlyBot \u4ED3\u5E93\u65B0\u5EFA\u4E00\u4E2A issue\uFF0C\u5E76\u586B\u597D\u4EE5\u4E0A\u5185\u5BB9\u3002\u4F60\u5728 GitHub \u4E0A\u63D0\u4EA4\u4E4B\u524D\uFF0C\u4EC0\u4E48\u90FD\u4E0D\u4F1A\u53D1\u51FA\u3002","Report on GitHub":"\u5728 GitHub \u4E0A\u62A5\u544A","Copied the diagnostics.":"\u5DF2\u590D\u5236\u8BCA\u65AD\u4FE1\u606F\u3002","Could not copy. Select the text below and copy it.":"\u65E0\u6CD5\u590D\u5236\u3002\u8BF7\u9009\u4E2D\u4E0B\u9762\u7684\u6587\u5B57\u624B\u52A8\u590D\u5236\u3002","Opened a new GitHub issue with the diagnostics filled in. Check it before you submit.":"\u5DF2\u6253\u5F00\u65B0\u7684 GitHub issue\uFF0C\u8BCA\u65AD\u4FE1\u606F\u5DF2\u586B\u597D\u3002\u63D0\u4EA4\u524D\u8BF7\u68C0\u67E5\u4E00\u904D\u3002","Opened a new GitHub issue. The diagnostics are long, so they are on the clipboard: paste them into the issue.":"\u5DF2\u6253\u5F00\u65B0\u7684 GitHub issue\u3002\u8BCA\u65AD\u4FE1\u606F\u592A\u957F\uFF0C\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F\uFF0C\u8BF7\u7C98\u8D34\u5230 issue \u91CC\u3002","Opened a new GitHub issue. Copy the diagnostics below into it.":"\u5DF2\u6253\u5F00\u65B0\u7684 GitHub issue\u3002\u8BF7\u628A\u4E0B\u9762\u7684\u8BCA\u65AD\u4FE1\u606F\u590D\u5236\u8FDB\u53BB\u3002","Downloaded the log. Keys, tokens, and your home folder are hidden in it.":"\u5DF2\u4E0B\u8F7D\u65E5\u5FD7\u3002\u91CC\u9762\u7684\u5BC6\u94A5\u3001\u4EE4\u724C\u548C\u7528\u6237\u76EE\u5F55\u90FD\u5DF2\u9690\u85CF\u3002","Cleared the error log.":"\u5DF2\u6E05\u7A7A\u9519\u8BEF\u65E5\u5FD7\u3002","Recent errors":"\u6700\u8FD1\u7684\u9519\u8BEF","Recent errors \xB7 {count}":"\u6700\u8FD1\u7684\u9519\u8BEF \xB7 {count}","No errors recorded.":"\u6CA1\u6709\u9519\u8BEF\u8BB0\u5F55\u3002","Failed model calls and FlyBot problems show here, newest first.":"\u6A21\u578B\u8C03\u7528\u5931\u8D25\u548C FlyBot \u7684\u95EE\u9898\u4F1A\u663E\u793A\u5728\u8FD9\u91CC\uFF0C\u6700\u65B0\u7684\u5728\u524D\u3002","Model call":"\u6A21\u578B\u8C03\u7528","This window":"\u8FD9\u4E2A\u7A97\u53E3","Error log":"\u9519\u8BEF\u65E5\u5FD7","Kept on this computer across restarts, up to about 1 MB.":"\u4FDD\u5B58\u5728\u8FD9\u53F0\u7535\u8111\u4E0A\uFF0C\u91CD\u542F\u540E\u4ECD\u5728\uFF0C\u6700\u591A\u7EA6 1 MB\u3002",Clear:"\u6E05\u7A7A","Settings \u2192 Feedback has the details.":"\u8BE6\u60C5\u89C1 \u8BBE\u7F6E \u2192 \u53CD\u9988\u3002","Could not reach DSH. Check that it is still running.":"\u8FDE\u4E0D\u4E0A DSH\uFF0C\u8BF7\u786E\u8BA4\u5B83\u8FD8\u5728\u8FD0\u884C\u3002","{name} could not answer: {reason}":"{name} \u6CA1\u80FD\u56DE\u7B54\uFF1A{reason}","Unknown error":"\u672A\u77E5\u9519\u8BEF","The API key was rejected":"API \u5BC6\u94A5\u65E0\u6548","The account is out of quota":"\u8D26\u6237\u989D\u5EA6\u5DF2\u7528\u5C3D","Too many requests to the model":"\u6A21\u578B\u8BF7\u6C42\u592A\u9891\u7E41","The conversation is too long for the model":"\u5BF9\u8BDD\u592A\u957F\uFF0C\u8D85\u51FA\u6A21\u578B\u4E0A\u9650","The model service refused the request":"\u6A21\u578B\u670D\u52A1\u62D2\u7EDD\u4E86\u8BF7\u6C42","The model service failed":"\u6A21\u578B\u670D\u52A1\u51FA\u9519","The model took too long to answer":"\u6A21\u578B\u54CD\u5E94\u8D85\u65F6","Could not reach the model service":"\u8FDE\u4E0D\u4E0A\u6A21\u578B\u670D\u52A1","Its group conversation could not open":"\u5B83\u7684\u7FA4\u804A\u4F1A\u8BDD\u6253\u4E0D\u5F00","Add files":"\u6DFB\u52A0\u6587\u4EF6","Reference a chat":"\u5F15\u7528\u5BF9\u8BDD","Chat with {name}":"\u4E0E {name} \u7684\u5BF9\u8BDD","Scheduled task":"\u5B9A\u65F6\u4EFB\u52A1","Send to":"\u53D1\u7ED9","Scheduled task: {text}":"\u5B9A\u65F6\u4EFB\u52A1\uFF1A{text}","Choose the group admin":"\u9009\u62E9\u7FA4\u7BA1\u7406\u5458","Group admin":"\u7FA4\u7BA1\u7406\u5458","Who to chat with\u2026":"\u60F3\u548C\u8C01\u804A\u2026","Add at least one more Bot":"\u518D\u81F3\u5C11\u6DFB\u52A0\u4E00\u4E2A Bot",Members:"\u6210\u5458","Choose Bots":"\u9009\u62E9 Bot","Off for every Bot. Choose which Bots may use it.":"\u6240\u6709 Bot \u90FD\u672A\u5F00\u542F\u3002\u9009\u62E9\u54EA\u4E9B Bot \u53EF\u4EE5\u4F7F\u7528\u3002","On for {count} of {total} Bots":"\u5DF2\u4E3A {total} \u4E2A Bot \u4E2D\u7684 {count} \u4E2A\u5F00\u542F","On for all {total} Bots":"\u5DF2\u4E3A\u5168\u90E8 {total} \u4E2A Bot \u5F00\u542F","On. This Bot can use it on every turn.":"\u5DF2\u5F00\u542F\u3002\u8FD9\u4E2A Bot \u6BCF\u4E00\u8F6E\u90FD\u53EF\u4EE5\u4F7F\u7528\u5B83\u3002","Off. This Bot will not use it.":"\u5DF2\u5173\u95ED\u3002\u8FD9\u4E2A Bot \u4E0D\u4F1A\u4F7F\u7528\u5B83\u3002","On by default for each of your Bots, on every turn: in its own chat, in groups, on schedules and when a friend uses it. A friend's own Bot never gets it.":"\u9ED8\u8BA4\u5BF9\u4F60\u7684\u6BCF\u4E2A Bot \u5F00\u542F\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u53EF\u7528\uFF1A\u5B83\u81EA\u5DF1\u7684\u804A\u5929\u3001\u7FA4\u804A\u3001\u5B9A\u65F6\u4EFB\u52A1\uFF0C\u4EE5\u53CA\u597D\u53CB\u4F7F\u7528\u5B83\u65F6\u3002\u597D\u53CB\u81EA\u5DF1\u7684 Bot \u6C38\u8FDC\u62FF\u4E0D\u5230\u3002","No Bots":"\u6CA1\u6709 Bot","Scheduled tasks":"\u5B9A\u65F6\u4EFB\u52A1","Every day":"\u6BCF\u5929","Every {count} days":"\u6BCF {count} \u5929","Every hour":"\u6BCF\u5C0F\u65F6","Every {count} hours":"\u6BCF {count} \u5C0F\u65F6","Every {count} minutes":"\u6BCF {count} \u5206\u949F","Every {count} seconds":"\u6BCF {count} \u79D2","Once, {time}":"\u4E00\u6B21\uFF0C{time}","Every day at {time}":"\u6BCF\u5929 {time}","Every {days} at {time}":"\u6BCF{days} {time}","Every weekday at {time}":"\u6BCF\u4E2A\u5DE5\u4F5C\u65E5 {time}","Every weekend at {time}":"\u6BCF\u4E2A\u5468\u672B {time}","On the schedule {expression}":"\u6309\u8BA1\u5212 {expression}","Next: {time}":"\u4E0B\u6B21 {time}","Running since {time}":"\u8FD0\u884C\u4E2D\uFF0C{time} \u5F00\u59CB","Last run {time}":"\u4E0A\u6B21\u8FD0\u884C {time}","Last run {time} \xB7 Stopped":"\u4E0A\u6B21\u8FD0\u884C {time} \xB7 \u5DF2\u505C\u6B62","Last run {time} \xB7 Failed: {reason}":"\u4E0A\u6B21\u8FD0\u884C {time} \xB7 \u5931\u8D25\uFF1A{reason}","Run the task once now":"\u73B0\u5728\u8FD0\u884C\u4E00\u6B21\u8FD9\u4E2A\u4EFB\u52A1","DSH could not deliver it":"DSH \u6CA1\u80FD\u9001\u8FBE","Resume the task first":"\u8BF7\u5148\u7EE7\u7EED\u8FD9\u4E2A\u4EFB\u52A1","Copy to\u2026":"\u590D\u5236\u5230\u2026","Copy to":"\u590D\u5236\u5230","Copy to another Bot or group chat":"\u590D\u5236\u5230\u5176\u4ED6 Bot \u6216\u7FA4\u804A","Copy \u201C{name}\u201D to":"\u628A\u300C{name}\u300D\u590D\u5236\u5230","Pick a Bot or group chat":"\u9009\u62E9 Bot \u6216\u7FA4\u804A","Copying\u2026":"\u6B63\u5728\u590D\u5236\u2026",Finished:"\u5DF2\u7ED3\u675F",Resume:"\u7EE7\u7EED","in {name}":"\u5728 {name}","Click again to delete":"\u518D\u70B9\u4E00\u6B21\u5220\u9664","Delete task":"\u5220\u9664\u4EFB\u52A1",Once:"\u4E00\u6B21","Every week":"\u6BCF\u5468",Repeat:"\u91CD\u590D",minutes:"\u5206\u949F",hours:"\u5C0F\u65F6",days:"\u5929",seconds:"\u79D2","Morning briefing":"\u65E9\u95F4\u7B80\u62A5","What to do":"\u8981\u505A\u4EC0\u4E48","Sum up what changed since yesterday and what needs me today.":"\u603B\u7ED3\u4E00\u4E0B\u6628\u5929\u4EE5\u6765\u7684\u53D8\u5316\uFF0C\u4EE5\u53CA\u4ECA\u5929\u9700\u8981\u6211\u5904\u7406\u7684\u4E8B\u3002",When:"\u4EC0\u4E48\u65F6\u5019","Date and time":"\u65E5\u671F\u548C\u65F6\u95F4",Days:"\u661F\u671F",Time:"\u65F6\u95F4",Every:"\u6BCF","How many":"\u6570\u91CF",Unit:"\u5355\u4F4D","Create task":"\u521B\u5EFA\u4EFB\u52A1","Turn on Automation tasks in DSH":"\u5728 DSH \u91CC\u6253\u5F00\u300C\u81EA\u52A8\u5316\u4EFB\u52A1\u300D","Switch on Automation tasks on the Plugins page.":"\u5728\u300C\u63D2\u4EF6\u300D\u9875\u9762\u6253\u5F00\u300C\u81EA\u52A8\u5316\u4EFB\u52A1\u300D\u3002","Open Plugins":"\u6253\u5F00\u300C\u63D2\u4EF6\u300D\u9875\u9762","New task":"\u65B0\u5EFA\u4EFB\u52A1","Quiet hours":"\u5B89\u9759\u65F6\u6BB5","On, {from}\u2013{to}":"\u5F00\u7740\uFF0C{from}\u2013{to}",Off:"\u5173\u7740",Window:"\u65F6\u6BB5","Turn on":"\u6253\u5F00","Turn off":"\u5173\u6389","Save window":"\u4FDD\u5B58\u65F6\u6BB5","Quiet hours start":"\u5B89\u9759\u65F6\u6BB5\u5F00\u59CB","Quiet hours end":"\u5B89\u9759\u65F6\u6BB5\u7ED3\u675F","A new or edited task cannot be due inside the window. It never mutes a task that already exists.":"\u65B0\u5EFA\u6216\u4FEE\u6539\u7684\u4EFB\u52A1\u4E0D\u80FD\u843D\u5728\u65F6\u6BB5\u5185\u3002\u5DF2\u7ECF\u5B58\u5728\u7684\u4EFB\u52A1\u4E0D\u4F1A\u88AB\u9759\u97F3\u3002","A repeat or cron task can still run inside quiet hours, because DSH decides its next run. FlyBot says so here rather than claiming a silence it cannot keep.":"\u300C\u6BCF N \u5206\u949F\u300D\u548C cron \u4EFB\u52A1\u4ECD\u53EF\u80FD\u5728\u5B89\u9759\u65F6\u6BB5\u5185\u8FD0\u884C\uFF1A\u4E0B\u4E00\u6B21\u8FD0\u884C\u65F6\u95F4\u662F DSH \u7B97\u7684\u3002\u8FD9\u91CC\u5982\u5B9E\u8BF4\u660E\uFF0C\u4E0D\u5047\u88C5\u5DF2\u7ECF\u9759\u97F3\u3002","No scheduled tasks yet.":"\u8FD8\u6CA1\u6709\u5B9A\u65F6\u4EFB\u52A1\u3002","No scheduled tasks yet. Add one":"\u8FD8\u6CA1\u6709\u5B9A\u65F6\u4EFB\u52A1\uFF0C\u53BB\u6DFB\u52A0","Automation tasks are off in DSH":"DSH \u7684\u300C\u81EA\u52A8\u5316\u4EFB\u52A1\u300D\u6CA1\u6709\u6253\u5F00","No such Bot":"\u6CA1\u6709\u8FD9\u4E2A Bot","No such Bot or group chat":"\u6CA1\u6709\u8FD9\u4E2A Bot \u6216\u7FA4\u804A","Give the task a name":"\u7ED9\u4EFB\u52A1\u8D77\u4E2A\u540D\u5B57","Say what the Bot should do":"\u5199\u4E0B Bot \u8981\u505A\u4EC0\u4E48","Pick a date and time":"\u9009\u4E00\u4E2A\u65E5\u671F\u548C\u65F6\u95F4","Pick a time in the future":"\u9009\u4E00\u4E2A\u5C06\u6765\u7684\u65F6\u95F4","Pick a time of day":"\u9009\u4E00\u4E2A\u65F6\u95F4","Quiet hours must be on or off":"\u5B89\u9759\u65F6\u6BB5\u8981\u4E48\u5F00\u3001\u8981\u4E48\u5173","Quiet hours need a start and an end time":"\u5B89\u9759\u65F6\u6BB5\u9700\u8981\u5F00\u59CB\u548C\u7ED3\u675F\u65F6\u95F4","Quiet hours need two different times":"\u5B89\u9759\u65F6\u6BB5\u7684\u5F00\u59CB\u548C\u7ED3\u675F\u4E0D\u80FD\u662F\u540C\u4E00\u4E2A\u65F6\u95F4","Pick at least one day":"\u81F3\u5C11\u9009\u4E00\u5929","Repeat every 1 minute to 7 days":"\u91CD\u590D\u95F4\u9694\u8981\u5728 1 \u5206\u949F\u5230 7 \u5929\u4E4B\u95F4","Pick when it runs":"\u9009\u62E9\u4EC0\u4E48\u65F6\u5019\u8FD0\u884C","No such task":"\u6CA1\u6709\u8FD9\u4E2A\u4EFB\u52A1","This task has finished":"\u8FD9\u4E2A\u4EFB\u52A1\u5DF2\u7ECF\u7ED3\u675F","The task changed meanwhile. Try again":"\u4EFB\u52A1\u521A\u521A\u6709\u53D8\u5316\uFF0C\u8BF7\u518D\u8BD5\u4E00\u6B21","The task could not be saved":"\u4EFB\u52A1\u6CA1\u80FD\u4FDD\u5B58","This task cannot be edited here":"\u8FD9\u4E2A\u4EFB\u52A1\u4E0D\u80FD\u5728\u8FD9\u91CC\u7F16\u8F91","This task cannot be paused":"\u8FD9\u4E2A\u4EFB\u52A1\u4E0D\u80FD\u6682\u505C","Its time has passed. Edit the task to pick a new one":"\u65F6\u95F4\u5DF2\u7ECF\u8FC7\u4E86\uFF0C\u8BF7\u7F16\u8F91\u4EFB\u52A1\u9009\u4E00\u4E2A\u65B0\u65F6\u95F4","Working folder":"\u5DE5\u4F5C\u6587\u4EF6\u5939","Working folder: {folder}":"\u5DE5\u4F5C\u6587\u4EF6\u5939\uFF1A{folder}",Folder:"\u6587\u4EF6\u5939",Folders:"\u6587\u4EF6\u5939","Team workspace":"\u56E2\u961F\u5DE5\u4F5C\u533A","Each Bot's own folder":"\u5404 Bot \u81EA\u5DF1\u7684\u6587\u4EF6\u5939","Choose a folder\u2026":"\u9009\u62E9\u6587\u4EF6\u5939\u2026","Browse folders\u2026":"\u6D4F\u89C8\u6587\u4EF6\u5939\u2026","Enter a path\u2026":"\u8F93\u5165\u8DEF\u5F84\u2026","Folder path":"\u6587\u4EF6\u5939\u8DEF\u5F84","Full path of a folder":"\u6587\u4EF6\u5939\u7684\u5B8C\u6574\u8DEF\u5F84","Use this folder":"\u4F7F\u7528\u8FD9\u4E2A\u6587\u4EF6\u5939","Up one level":"\u4E0A\u4E00\u7EA7","No folders inside.":"\u91CC\u9762\u6CA1\u6709\u6587\u4EF6\u5939\u3002","Some folders are not shown.":"\u8FD8\u6709\u4E00\u4E9B\u6587\u4EF6\u5939\u6CA1\u6709\u663E\u793A\u3002","Project settings":"\u9879\u76EE\u8BBE\u7F6E","Project board":"\u9879\u76EE\u770B\u677F","No Project here.":"\u8FD9\u91CC\u6CA1\u6709\u9879\u76EE\u3002",Decisions:"\u51B3\u7B56",Meetings:"\u4F1A\u8BAE","Not decided":"\u672A\u51B3\u5B9A","decision file gone":"\u51B3\u7B56\u6587\u4EF6\u5DF2\u4E0D\u5728",ordinary:"\u666E\u901A",major:"\u91CD\u5927",severe:"\u4E25\u91CD","for {user}":"\u4EE3 {user} \u53D1\u8A00","not-started":"\u672A\u5F00\u59CB","in-progress":"\u8FDB\u884C\u4E2D",done:"\u5DF2\u5B8C\u6210",running:"\u8FD0\u884C\u4E2D",stalled:"\u5DF2\u505C\u6EDE",Projects:"\u9879\u76EE","New Project":"\u65B0\u5EFA\u9879\u76EE","Project name":"\u9879\u76EE\u540D\u79F0","e.g. Website":"\u4F8B\u5982\uFF1A\u5B98\u7F51","Optional. Where this Project's work happens.":"\u53EF\u9009\u3002\u8FD9\u4E2A\u9879\u76EE\u7684\u5DE5\u4F5C\u76EE\u5F55\u3002","Projects \xB7 {count}":"\u9879\u76EE \xB7 {count}",Maintainer:"\u7EF4\u62A4\u8005",Member:"\u6210\u5458","No Projects yet":"\u8FD8\u6CA1\u6709\u9879\u76EE","Reading Projects\u2026":"\u6B63\u5728\u8BFB\u53D6\u9879\u76EE\u2026","My role":"\u6211\u7684\u89D2\u8272","No role to switch here.":"\u8FD9\u91CC\u6CA1\u6709\u53EF\u5207\u6362\u7684\u89D2\u8272\u3002","Role changed.":"\u89D2\u8272\u5DF2\u66F4\u6539\u3002","Role unchanged: {reason}":"\u89D2\u8272\u672A\u66F4\u6539\uFF1A{reason}",refused:"\u88AB\u62D2\u7EDD","No Project yet \u2014 create one.":"\u8FD8\u6CA1\u6709\u9879\u76EE\u2014\u2014\u65B0\u5EFA\u4E00\u4E2A\u3002","Bind a Bot or group":"\u7ED1\u5B9A Bot \u6216\u7FA4\u804A","Bind to {name}":"\u7ED1\u5B9A\u5230 {name}","Open board":"\u6253\u5F00\u770B\u677F",Unbind:"\u89E3\u9664\u7ED1\u5B9A",Bindings:"\u7ED1\u5B9A\u5173\u7CFB","Bind a member to this Project":"\u628A\u6210\u5458\u7ED1\u5B9A\u5230\u8FD9\u4E2A\u9879\u76EE","Member kind":"\u6210\u5458\u7C7B\u578B","Member id":"\u6210\u5458 ID","Member bound.":"\u6210\u5458\u5DF2\u7ED1\u5B9A\u3002",Bind:"\u7ED1\u5B9A","Member unbound.":"\u5DF2\u89E3\u9664\u6210\u5458\u7684\u7ED1\u5B9A\u3002","Project Assistant":"\u9879\u76EE\u52A9\u624B","Project Chief":"\u9879\u76EE Chief","Chief of this Project":"\u672C\u9879\u76EE\u7684 Chief","Pause the daily digest":"\u6682\u505C\u6BCF\u65E5\u6458\u8981","Assistant settings saved.":"\u52A9\u624B\u8BBE\u7F6E\u5DF2\u4FDD\u5B58\u3002","Add to the assistant memory":"\u6DFB\u52A0\u5230\u52A9\u624B\u8BB0\u5FC6","Memory saved.":"\u8BB0\u5FC6\u5DF2\u4FDD\u5B58\u3002","Save memory":"\u4FDD\u5B58\u8BB0\u5FC6","Back to board":"\u8FD4\u56DE\u770B\u677F",Owner:"\u8D1F\u8D23\u4EBA","On the board":"\u5728\u770B\u677F\u4E0A","No member is named yet.":"\u8FD8\u6CA1\u6709\u6307\u5B9A\u6210\u5458\u3002","Member management is not part of this slice; owners and the members their cards name are listed here.":"\u6210\u5458\u7BA1\u7406\u4E0D\u5728\u672C\u6B21\u8303\u56F4\u5185\uFF1B\u8FD9\u91CC\u5217\u51FA\u9879\u76EE\u8D1F\u8D23\u4EBA\u548C\u5361\u7247\u4E0A\u70B9\u540D\u7684\u6210\u5458\u3002","Project team":"\u9879\u76EE\u56E2\u961F","My agent":"\u6211\u7684\u52A9\u624B","Role pool":"\u89D2\u8272\u6C60","Can switch to {roles}":"\u53EF\u5207\u6362\u4E3A {roles}","No one in this pool yet.":"\u89D2\u8272\u6C60\u91CC\u8FD8\u6CA1\u6709\u4EBA\u3002",Dossier:"\u6863\u6848",Persona:"\u4EBA\u8BBE",Skills:"\u6280\u80FD","No memory yet.":"\u8FD8\u6CA1\u6709\u8BB0\u5FC6\u3002","No skills attached.":"\u8FD8\u6CA1\u6709\u9644\u52A0\u6280\u80FD\u3002","Open chat":"\u6253\u5F00\u5BF9\u8BDD","Open my agent":"\u6253\u5F00\u6211\u7684\u9879\u76EE\u52A9\u624B","Open {name}'s dossier":"\u6253\u5F00 {name} \u7684\u6863\u6848","No cards yet.":"\u8FD8\u6CA1\u6709\u5361\u7247\u3002","Open Projects in Settings":"\u5728\u8BBE\u7F6E\u4E2D\u6253\u5F00\u9879\u76EE"},qz=[[/^Model (.+) is not available\. Available: (.*)$/,"\u6A21\u578B $1 \u4E0D\u53EF\u7528\u3002\u53EF\u7528\u7684\uFF1A$2"],[/^A Bot named (.+) already exists$/,"\u5DF2\u7ECF\u6709\u53EB $1 \u7684 Bot \u4E86"],[/^Name (.*) is not available$/,"\u540D\u5B57 $1 \u4E0D\u53EF\u7528"],[/^"(.+)" calls everyone in a group, so it cannot be a Bot name$/,"\u300C$1\u300D\u5728\u7FA4\u91CC\u8868\u793A\u6240\u6709\u4EBA\uFF0C\u4E0D\u80FD\u7528\u4F5C Bot \u540D\u5B57"],[/^Another group chat is already called "(.+)"$/,"\u5DF2\u7ECF\u6709\u53EB\u300C$1\u300D\u7684\u7FA4\u804A\u4E86"],[/^A group chat holds at most (\d+) Bots$/,"\u4E00\u4E2A\u7FA4\u804A\u6700\u591A $1 \u4E2A Bot"],[/^Reply mode must be one of (.+)$/,"\u56DE\u590D\u6A21\u5F0F\u53EA\u80FD\u662F $1"],[/^Only the user, a Main Bot, or the admin of "(.+)" can change it$/,"\u53EA\u6709\u4F60\u3001\u4E3B Bot \u6216\u300C$1\u300D\u7684\u7BA1\u7406\u5458\u53EF\u4EE5\u4FEE\u6539"],[/^A key must have at least (\d+) characters$/,"\u5BC6\u94A5\u81F3\u5C11 $1 \u4E2A\u5B57\u7B26"],[/^A key can have at most (\d+) characters$/,"\u5BC6\u94A5\u6700\u591A $1 \u4E2A\u5B57\u7B26"],[/^Quiet hours are on until (\d\d:\d\d)\. Pick a time outside (\d\d:\d\d)–(\d\d:\d\d)\.$/,"\u5B89\u9759\u65F6\u6BB5\u5230 $1 \u7ED3\u675F\u3002\u8BF7\u9009 $2\u2013$3 \u4E4B\u5916\u7684\u65F6\u95F4\u3002"],[/^(.+) is not saved yet$/,"$1 \u8FD8\u6CA1\u6709\u4FDD\u5B58"],[/^The Bot team in (.+) is open in another dsh \((.+)\)\. This window shows the team but cannot change it; close the other one and reload\.$/,"$1 \u91CC\u7684 Bot \u56E2\u961F\u5DF2\u5728\u53E6\u4E00\u4E2A dsh \u4E2D\u6253\u5F00\uFF08$2\uFF09\u3002\u8FD9\u4E2A\u7A97\u53E3\u53EA\u80FD\u67E5\u770B\uFF0C\u4E0D\u80FD\u4FEE\u6539\uFF1B\u5173\u6389\u53E6\u4E00\u4E2A\u540E\u5237\u65B0\u3002"],[/^The Bot team file (.+) could not be read \((.+)\)\. FlyBot does not change it; fix or move the file and reload\.$/,"$1 \u91CC\u7684 Bot \u56E2\u961F\u6587\u4EF6\u8BFB\u4E0D\u51FA\u6765\uFF08$2\uFF09\u3002FlyBot \u4E0D\u4F1A\u6539\u5B83\uFF1B\u4FEE\u597D\u6216\u79FB\u8D70\u6587\u4EF6\u540E\u5237\u65B0\u3002"],[/^The Bot team file lists (\d+) members; FlyBot runs one owner per team$/,"\u56E2\u961F\u6587\u4EF6\u5217\u51FA\u4E86 $1 \u4E2A\u6210\u5458\uFF1BFlyBot \u6BCF\u4E2A\u56E2\u961F\u53EA\u8FD0\u884C\u4E00\u4F4D\u4E3B\u4EBA"],[/^HTTP (\d+)$/,"\u8BF7\u6C42\u5931\u8D25\uFF08HTTP $1\uFF09"],[/^GitHub answered (\d+)$/,"GitHub \u8FD4\u56DE\u4E86 $1"],[/^Keep the name under (\d+) characters$/,"\u540D\u5B57\u4E0D\u80FD\u8D85\u8FC7 $1 \u4E2A\u5B57"],[/^Give the full path of the folder, not (.+)$/,"\u8BF7\u586B\u5199\u6587\u4EF6\u5939\u7684\u5B8C\u6574\u8DEF\u5F84\uFF0C\u800C\u4E0D\u662F $1"],[/^There is no folder at (.+)$/,"\u627E\u4E0D\u5230\u6587\u4EF6\u5939 $1"],[/^(.+) is a file, not a folder$/,"$1 \u662F\u6587\u4EF6\uFF0C\u4E0D\u662F\u6587\u4EF6\u5939"],[/^(.+) holds DeepSeek Harness data, so Bots cannot work there$/,"$1 \u91CC\u6709 DeepSeek Harness \u7684\u6570\u636E\uFF0CBot \u4E0D\u80FD\u5728\u8FD9\u91CC\u5DE5\u4F5C"],[/^This looks like a key, token, or password[\s\S]*$/,"\u770B\u8D77\u6765\u50CF\u5BC6\u94A5\u3001\u4EE4\u724C\u6216\u5BC6\u7801\uFF0C\u8BB0\u5FC6\u4E0D\u4F1A\u4FDD\u5B58\u8FD9\u7C7B\u5185\u5BB9"],[/^An entry holds at most (\d+) characters; this one has (\d+)\.[\s\S]*$/,"\u4E00\u6761\u8BB0\u5FC6\u6700\u591A $1 \u4E2A\u5B57\u7B26\uFF0C\u8FD9\u6761\u6709 $2 \u4E2A"],[/^[\s\S]*'s MEMORY\.md would have (\d+) of its (\d+) characters\.[\s\S]*$/,"\u4E3B\u8BB0\u5FC6\u4F1A\u8D85\u8FC7 $2 \u4E2A\u5B57\u7B26\u7684\u4E0A\u9650\uFF0C\u8BF7\u5148\u5220\u6389\u4E00\u4E9B"],[/^The topic \[\[(.+?)\]\] in [\s\S]* would have (\d+) of its (\d+) characters\.[\s\S]*$/,"\u4E3B\u9898 $1 \u4F1A\u8D85\u8FC7 $3 \u4E2A\u5B57\u7B26\u7684\u4E0A\u9650"],[/^[\s\S]* already has (\d+) topics, the most it holds\.[\s\S]*$/,"\u4E3B\u9898\u5DF2\u7ECF\u6709 $1 \u4E2A\uFF0C\u4E0D\u80FD\u518D\u52A0\u65B0\u4E3B\u9898"],[/^There is no entry (.+)\.$/,"\u6CA1\u6709\u7B2C $1 \u6761"],[/^No entry in [\s\S]* matches "([\s\S]*)"\.[\s\S]*$/,"\u627E\u4E0D\u5230\u300C$1\u300D\u8FD9\u6761\u8BB0\u5FC6"],[/^"([\s\S]*)" matches (\d+) entries in [\s\S]*$/,"\u300C$1\u300D\u5BF9\u5E94\u4E86 $2 \u6761\u8BB0\u5FC6\uFF0C\u8BF7\u8BF4\u5F97\u66F4\u5177\u4F53"],[/^Memory cannot change now: [\s\S]*$/,"\u73B0\u5728\u4E0D\u80FD\u4FEE\u6539\u8BB0\u5FC6\uFF1A\u53E6\u4E00\u4E2A dsh \u6B63\u5728\u4F7F\u7528\u8FD9\u4E2A Bot \u56E2\u961F"],[/^Only the owner of this Project may change it$/,"\u53EA\u6709\u8FD9\u4E2A\u9879\u76EE\u7684\u4E3B\u4EBA\u53EF\u4EE5\u4FEE\u6539"],[/^A binding needs the member id$/,"\u7ED1\u5B9A\u9700\u8981 member id"],[/^A Project memory entry needs text$/,"\u9879\u76EE\u8BB0\u5FC6\u6761\u76EE\u9700\u8981\u6587\u5B57"],[/^A Project memory entry is at most (\d+) characters$/,"\u9879\u76EE\u8BB0\u5FC6\u6761\u76EE\u6700\u591A $1 \u4E2A\u5B57\u7B26"],[/^Unknown Project (\S+)$/,"\u627E\u4E0D\u5230\u9879\u76EE $1"]],Iz={"Request failed":"\u8BF7\u6C42\u5931\u8D25","Permissions are not available in this DeepSeek Harness":"\u8FD9\u4E2A DeepSeek Harness \u4E0D\u652F\u6301\u6743\u9650\u8BBE\u7F6E","Avatar images must be PNG, JPEG, WebP, or GIF":"\u5934\u50CF\u56FE\u7247\u5FC5\u987B\u662F PNG\u3001JPEG\u3001WebP \u6216 GIF","Avatar image is too large":"\u5934\u50CF\u56FE\u7247\u592A\u5927\u4E86","A Bot needs a name":"Bot \u9700\u8981\u4E00\u4E2A\u540D\u5B57","A Bot name cannot contain @, ` or a line break":"Bot \u540D\u5B57\u91CC\u4E0D\u80FD\u6709 @\u3001` \u6216\u6362\u884C","Unknown Bot":"\u627E\u4E0D\u5230\u8FD9\u4E2A Bot","Unknown conversation":"\u627E\u4E0D\u5230\u8FD9\u4E2A\u5BF9\u8BDD","A group chat needs at least two Bots":"\u7FA4\u804A\u81F3\u5C11\u8981\u4E24\u4E2A Bot","You are not a member of that room":"\u4F60\u4E0D\u662F\u8FD9\u4E2A\u623F\u95F4\u7684\u6210\u5458","Only a room admin can add participants":"\u53EA\u6709\u623F\u95F4\u7BA1\u7406\u5458\u53EF\u4EE5\u6DFB\u52A0\u6210\u5458","Only a room admin can remove participants":"\u53EA\u6709\u623F\u95F4\u7BA1\u7406\u5458\u53EF\u4EE5\u79FB\u9664\u6210\u5458","Specialists stay in their owner's private rooms; a cross-owner room takes each side's Chief":"\u4E13\u5458\u53EA\u5F85\u5728\u5176\u4E3B\u4EBA\u7684\u79C1\u6709\u623F\u95F4\u91CC\uFF1B\u8DE8\u4E3B\u4EBA\u623F\u95F4\u53EA\u63A5\u53D7\u5404\u65B9\u7684 Chief","Only a designated Chief of a room member may join a shared room":"\u53EA\u6709\u623F\u95F4\u6210\u5458\u7684\u6307\u5B9A Chief \u53EF\u4EE5\u52A0\u5165\u5171\u4EAB\u623F\u95F4","Only a Bot granted to you may join a shared room":"\u53EA\u6709\u5DF2\u6388\u6743\u7ED9\u4F60\u7684 Bot \u53EF\u4EE5\u52A0\u5165\u5171\u4EAB\u623F\u95F4","Only a Chief or a Bot published to friends may join a shared room":"\u53EA\u6709\u5DF2\u6388\u6743\u7ED9\u4F60\u7684 Bot \u53EF\u4EE5\u52A0\u5165\u5171\u4EAB\u623F\u95F4","Participant kind must be human or bot":"\u6210\u5458\u7C7B\u578B\u53EA\u80FD\u662F human \u6216 bot","A participant needs an id":"\u6210\u5458\u9700\u8981 id","Room role must be admin or member":"\u623F\u95F4\u89D2\u8272\u53EA\u80FD\u662F admin \u6216 member","That participant is already in the room":"\u8FD9\u4E2A\u6210\u5458\u5DF2\u7ECF\u5728\u623F\u95F4\u91CC","Unknown team member":"\u627E\u4E0D\u5230\u8FD9\u4E2A\u56E2\u961F\u6210\u5458","That participant is not in the room":"\u8FD9\u4E2A\u6210\u5458\u4E0D\u5728\u623F\u95F4\u91CC","Each participant needs a kind (human or bot) and an id":"\u6BCF\u4E2A\u6210\u5458\u90FD\u9700\u8981\u7C7B\u578B\uFF08human \u6216 bot\uFF09\u548C id","The admin must be a member of the group":"\u7BA1\u7406\u5458\u5FC5\u987B\u662F\u7FA4\u6210\u5458","Unknown group chat":"\u627E\u4E0D\u5230\u8FD9\u4E2A\u7FA4\u804A","Hand the admin role to another member instead of leaving the group without one":"\u8BF7\u628A\u7BA1\u7406\u5458\u4EA4\u7ED9\u5176\u4ED6\u6210\u5458\uFF0C\u4E0D\u8981\u8BA9\u7FA4\u804A\u6CA1\u6709\u7BA1\u7406\u5458","Hand the admin role to another member before leaving the group":"\u79BB\u5F00\u7FA4\u804A\u524D\uFF0C\u8BF7\u5148\u628A\u7BA1\u7406\u5458\u4EA4\u7ED9\u5176\u4ED6\u6210\u5458","The team needs at least one Main Bot":"\u56E2\u961F\u81F3\u5C11\u8981\u6709\u4E00\u4E2A\u4E3B Bot","Only a Main Bot can be replaced":"\u53EA\u80FD\u66FF\u6362\u4E3B Bot","A Main Bot cannot be deleted; remove its Main Bot role first":"\u4E3B Bot \u4E0D\u80FD\u5220\u9664\uFF0C\u8BF7\u5148\u53D6\u6D88\u5B83\u7684\u4E3B Bot \u8EAB\u4EFD","Unknown theme":"\u672A\u77E5\u4E3B\u9898","Accent must be a #rrggbb color":"\u5F3A\u8C03\u8272\u5FC5\u987B\u662F #rrggbb \u683C\u5F0F","Type the key first":"\u8BF7\u5148\u8F93\u5165\u5BC6\u94A5","Choose every Bot or a list of Bots":"\u8BF7\u9009\u62E9\u6240\u6709 Bot \u6216\u6307\u5B9A\u7684 Bot","This request is gone":"\u8FD9\u4E2A\u8BF7\u6C42\u5DF2\u7ECF\u4E0D\u5B58\u5728\u4E86","This request was already answered":"\u8FD9\u4E2A\u8BF7\u6C42\u5DF2\u7ECF\u5904\u7406\u8FC7\u4E86","A name uses capitals, digits, and underscores, and starts with a letter":"\u540D\u5B57\u53EA\u80FD\u7528\u5927\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF\uFF0C\u5E76\u4EE5\u5B57\u6BCD\u5F00\u5934","No such key":"\u6CA1\u6709\u8FD9\u4E2A\u5BC6\u94A5","Type a question or a change first":"\u8BF7\u5148\u8F93\u5165\u95EE\u9898\u6216\u8981\u6539\u7684\u5185\u5BB9","No model is available. Add one in Harness settings.":"\u6CA1\u6709\u53EF\u7528\u7684\u6A21\u578B\uFF0C\u8BF7\u5148\u5728 Harness \u8BBE\u7F6E\u91CC\u6DFB\u52A0\u6A21\u578B\u3002","Memory is turned off on this host":"\u8FD9\u53F0\u4E3B\u673A\u5173\u95ED\u4E86\u8BB0\u5FC6\u529F\u80FD","The model wrote nothing":"\u6A21\u578B\u6CA1\u6709\u8F93\u51FA\u5185\u5BB9","Write the entry to save.":"\u8BF7\u5199\u4E0B\u8981\u4FDD\u5B58\u7684\u5185\u5BB9\u3002","This DeepSeek Harness has no folder chooser":"\u8FD9\u4E2A DeepSeek Harness \u6CA1\u6709\u6587\u4EF6\u5939\u9009\u62E9\u7A97\u53E3","This DeepSeek Harness cannot list folders":"\u8FD9\u4E2A DeepSeek Harness \u4E0D\u80FD\u5217\u51FA\u6587\u4EF6\u5939","No FlyBot core update is available":"\u6CA1\u6709\u53EF\u7528\u7684 FlyBot \u6838\u5FC3\u66F4\u65B0","saved by a newer FlyBot; update FlyBot":"\u7531\u66F4\u65B0\u7684 FlyBot \u4FDD\u5B58\uFF1B\u8BF7\u66F4\u65B0 FlyBot"};Object.assign(zl,Iz);var Bz=(e,t)=>t?e.replace(/\{(\w+)\}/g,(n,a)=>a in t?String(t[a]):n):e,Pz=null,kl=null;function T(e,t){return kl?kl(e,t):Bz(e,t)}function ft(e){if(!Cl().startsWith("zh"))return e;if(Object.hasOwn(zl,e))return T(e);for(let[t,n]of qz)if(t.test(e))return e.replace(t,n);return e}function Cl(){let e=Pz?.getLocale?.().active;return typeof e=="string"?e:"en"}var Al=30,Rz=300*1e3,vt=[],l9=new WeakSet,p9=e=>(e!==null&&typeof e=="object"&&l9.add(e),e);function L7(e,t){if(t!==null&&typeof t=="object"){if(l9.has(t))return;l9.add(t)}let n=String(t?.message??t??"error").slice(0,300),a=typeof t?.code=="string"?t.code:void 0,i="".concat(e,": ").concat(n),r=Date.now(),s=vt.at(-1);if(s&&s.text===i&&r-s.time<Rz){s.time=r,s.count=(s.count??1)+1;return}vt.push({time:r,level:"error",text:i,...a?{code:a}:{}}),vt.length>Al&&vt.splice(0,vt.length-Al)}var Dz="api/bot",Gz=new Set(["bot/refused","bot/invalid","bot/read-only","bot/not-found","bot/browser-off"]),yt=async(e,t,n)=>{let a;try{let r={"content-type":"application/json"};try{let s=localStorage.getItem("flybot-member-session");s&&(r["x-flybot-member-session"]=s)}catch{}a=await fetch(Dz,{method:"POST",credentials:"same-origin",headers:r,body:JSON.stringify({endpoint:e,payload:t??null}),signal:n})}catch(r){throw r?.name==="AbortError"?r:(L7(e,Object.assign(new Error("network error: ".concat(r?.message??r)),{code:"NETWORK"})),p9(Object.assign(new Error(T("Could not reach DSH. Check that it is still running.")),{code:"NETWORK",cause:r})))}if(!a.ok){let r=Object.assign(new Error(ft("HTTP ".concat(a.status))),{code:"HTTP_".concat(a.status)});throw L7(e,r),r}let i=await a.json();if(!i.ok){let r=i.error?.code??"bot/error",s=ft(i.error?.message??"Request failed"),c=Object.assign(new Error(r==="bot/internal"?"".concat(s," ").concat(T("Settings \u2192 Feedback has the details.")):s),{code:r,details:i.error?.details});throw Gz.has(r)||(L7(e,Object.assign(new Error(i.error?.message??"Request failed"),{code:r})),p9(c)),c}return i.value};function L2(e,t=""){return String(e??"").replace(/[\u0000-\u001f\u007f-\u009f\u2028\u2029]/g," ").replace(/[[\]"`<>]/g,"").replace(/\s+/g," ").trim().slice(0,60)||t}function Ll(e){return"@".concat(String(e??"").trim().replace(/^@+/,"").toLowerCase())}function _t(e){let t=String(e??"").replace(/^@/,"").split(".");return t.length>=3&&t.at(-1)==="home"?t.at(-2):t.length===2&&t[1]==="home"?t[0]:""}function Oz(e){let t=String(e?.handle??e?.remote?.handle??""),a=Ll(t).replace(/^@/,"").split(".");return a.length===2&&a[1]==="home"}function Sl(e){if(!e||e.hidden)return!1;let t=e.remote;return!t||typeof t.handle!="string"?!0:!(t.gone||t.hidden||Oz(t))}function Zl(e){return e?Sl(e)?!0:e.remote?.gone!==!0?!1:e.hidden!==!0||e.remote.hiddenByGone===!0:!1}var Wz=/^flybot[\s._-]*(?=[0-9a-f]*\d)[0-9a-f]{6,}$/i;function u9(e){return Wz.test(String(e??"").trim())}function n5(e){if(!e)return"";let t=L2(e.ownerName||e.owner||e.homeName||e.ownerHome||e.home||_t(e.handle),"");return u9(t)&&([e.ownerName,e.owner,e.homeName].map(a=>L2(a,"")).find(a=>a&&!u9(a))||L2(_t(e.handle)||_t(e.ownerHome)||_t(e.home),""))||t}var Ml=e=>String(e??"").toLowerCase().replace(/[\s._@-]+/g,"");function El(e,t=""){let n=L2(e?.displayName||e?.name,t),a=n.lastIndexOf(" \xB7 ");if(a<=0)return n;let i=Ml(n.slice(a+3)),r=[e?.ownerName,e?.owner,e?.homeName,_t(e?.handle),n5(e)].map(Ml).filter(Boolean);return u9(n.slice(a+3))||r.includes(i)?n.slice(0,a).trim():n}function Uz(e){return e?e.isChief===!0?!0:/^chief$/i.test(String(e.displayName||e.name||"")):!1}function Fl(e){let t=n5(e)||L2(e?.handle,"Friend"),n=El(e,Uz(e)?"Chief":L2(e?.handle,"Bot"));return"".concat(n," (").concat(t,")")}function Xz(e){return n5(e)||L2(e?.handle,"Friend")}function jl(e){let t=e?.remote&&typeof e.remote=="object"?e.remote:{};return{displayName:t.displayName||t.name||e?.name,ownerName:t.ownerName||t.owner||t.homeName||e?.ownerName||e?.owner||e?.homeName,handle:t.handle??e?.handle,isChief:t.isChief??e?.isChief}}function t5(e){return Fl(jl(e))}var $l=e=>String((e?.remote&&typeof e.remote=="object"?e.remote.handle:e?.handle)??"").replace(/^@+/,"").toLowerCase();function S7(e,t=[]){let n=t5(e),a=$l(e);if(!(t??[]).some(s=>{let c=$l(s);return c!==""&&c!==a&&t5(s)===n}))return n;let r=L2(String(e?.remote?.home??e?.home??"").replace(/^@+/,""),"");return r?"".concat(n," \xB7 ").concat(r):n}function m9(e){return Xz(jl(e))}function d9(e){return"Shared room from ".concat(L2(e,"a friend"))}function h9(e){if(!e)return"";let t=L2(e.name,"");return e.sharedFrom?.ticket&&t?t:e.displayName||(e.sharedFrom?d9(e.sharedFrom.inviterName):e.name)||""}var Hl=["flybot.sidebar.section","flybot.sidebar.structure","flybot.composer.mention","flybot.bot.details","flybot.approvals","flybot.room.overview","flybot.room.members","flybot.session.dock","flybot.new-chat.action","flybot.account.header","flybot.settings.page"];function Nl(){let e=new Map(Hl.map(i=>[i,[]])),t=new Set,n=0,a=()=>{n+=1;for(let i of[...t])i()};return{register(i,r){if(!e.has(i))throw new Error("flybot: unknown slot ".concat(i));if(typeof r?.id!="string")throw new Error("flybot: a slot entry needs an id");let s=e.get(i).filter(o=>o.id!==r.id),c={order:0,...r};return s.push(c),s.sort((o,l)=>o.order-l.order),e.set(i,s),a(),()=>{e.set(i,e.get(i).filter(o=>o!==c)),a()}},entries:i=>e.get(i)??[],subscribe(i){return t.add(i),()=>t.delete(i)},version:()=>n}}function g9(){let e=globalThis;return e.__flybot__??={slots:Nl()},e.__flybot__.slots}function b9(e,t,n){let a=new Map(e.map(o=>[o.id,o])),i=a.get(t);if(i===void 0)return[];let r=o=>{if(o===t)return null;let l;try{l=n(o)}catch{l=void 0}if(typeof l!="string"||l===o||!a.has(l))return t;let p=new Set([o]);for(let u=l;u!==t;){if(p.has(u))return t;p.add(u);let m;try{m=n(u)}catch{m=void 0}u=typeof m=="string"&&a.has(m)&&m!==u?m:t}return l},s=new Map;for(let o of e){if(o.id===t)continue;let l=r(o.id);s.has(l)||s.set(l,[]),s.get(l).push(o)}let c=(o,l)=>({bot:o,depth:l,children:(s.get(o.id)??[]).map(p=>c(p,l+1))});return[c(i,0)]}var k1=U1(g0(),1);var Be={deepseek:["#4D6BFE","#6A84FF"],charcoal:["#141416","#F1F2F4"],graphite:["#2D2D2D","#D6D6DA"],rose:["#EC2F6B","#FF5A7A"],sky:["#0AA8D6","#2EE6E0"],tangerine:["#FF6900","#FF8A2E"],cobalt:["#082DFF","#5C78FF"],black:["#000000","#FFFFFF"],brown:["#A27952","#855C36"],red:["#FF3E51","#E02135"],orange:["#FF781C","#FF6700"],yellow:["#FFAF38","#FF9800"],green:["#00C972","#009957"],cyan:["#1CC3B0","#00A592"],blue:["#2A92FE","#0E74E0"],violet:["#A97EFE","#804EE0"],magenta:["#FF5EB1","#E02A88"],gray:["#959595","#777777"],aurora:["#00B8D4","#2EE6E0"]},f9={aurora:[[0,"#A4FFB0"],[.42,"#00F0E4"],[1,"#2E9EF7"]]};var Tl={kimi:"charcoal",zai:"graphite",minimax:"rose",stepfun:"sky",mimo:"tangerine",qwen:"cobalt"},Z7=e=>typeof e=="string"&&/^#[0-9a-f]{6}$/i.test(e);var Kz=e=>Be[e]?e:Be[Tl[e]]?Tl[e]:"gray",E7=e=>Z7(e)?e:"var(--bt-ink-".concat(Kz(e),")");var Bl={whale:{label:"Whale",body:"M65.3 20.9l5.1 .1 4.8 .9 4.8 1.7 4.3 2.3 3.8 3.1 3 3.4 2.3 3.8 1.6 4.3 .9 4.3 0 4.8-.8 4.8-1.4 4.3-2.3 4.3-3.2 4.3-3.4 3.3-4.3 3.1-7.2 3.5-7.6 1.7-7.2 .1-9.6-1.6-3.3-1-2.9-1.7-8.8-8.9-6-4.7-3.3-.5-7.7 1.1-4.8-.1-4.7-1.2-1.9-1.2-1-1-.5-1.5 .4-1.4 1.1-1.3 1.9-1.3 4.7-1.5 7.7-.6 1.1-.5 .7-1 0-1.4-2.8-7.2-1.2-5.3-.1-4.3 .4-1.4 .9-1.2 1.9-.2 2 1 2.2 2.3 2.2 3.4 3.2 7.6 1.9 9.7 .5-.1 1.1-7.2 1.8-4.8 3.2-5.2 3.9-4.3 4.9-3.9 5.6-2.9 5.8-1.9z",paints:[["M93.3 55.8l1-.3 .1 1.2-2.4 5.3-3.4 4.8-3.8 3.8-4.8 3.4-5.7 2.8-4.8 1.5-4.8 .4 20.1-17.4 5.2-3.7z","#fff",1]],shade:"M88.6 29.5l2.4 2.9 1.9 2.8 2.4 6.3 .5 3.3 .1 5.3-1.5 6.6-1.9 4.3-2 3.3-4.8 5.4-5.7 4.3-7.2 3.3-6.2 1.5-6.7 .1-3.3-.2-9.6-1.8-3.3-1.5-2.4-1.9-8.6-8.9-5.3-3.9-3.3-.1-2.9 .2-3.3 .8-5.8 0-4.3-1-2.9-1.9 .6-.6 3.8-1.3 10.5-2.5 4.3 .9 1.4-.1 2.2-1.7 .5-1.4-.3-1.5-1.2-1.4-2.2-1.4-1.2-1.9-.6-12 .4-3.3 .5-.5 2.9 3.8 2.4 4.8 1.9 5.7 .7 5.8 .7 2.8 2.1 2.4 2.7 5.5 3.8 4.3 2.9 2.2 3.3 1 3.4-.4 6.2-3 7.1-4.5 7.3-5.6 6.6-5.9 5.9-6.5 3.7-5.3 1.7-4.2 .1-2.9z",light:"M55.6 22.8l1.9-.3 1.5 .3 .6 1 .1 .9-2 4.3-3.8 5.3-5.8 6.2-5.4 4.4-4.8 2.3-1.4 0-1.2-.5-.8-1.9 .5-3.3 2.5-4.8 3.3-4.3 2.4-2.4 5.3-3.9zM19.3 28.1l-1.4 2 .3-1.1zM21.7 49.1l.6 .5-.3 .5-.8 0zM35.8 52l1.2-.4 .9 .7 .7 1.6-.4 .9-1.2 .1-2.6-.5zM7.2 52.9l-2.9 2.9 1.2-1.6z",eyes:[[72.5,48.4,9.3,23,-15.8],[85.6,43.4,7,22.9,-21.2]]},star:{label:"Star",body:"M40.1 4.4l1.5-.4 1.9 .1 5.2 1.1 1.9 .9 13.2 14.9 17.1-.8 5.2 1.1 1.8 .9 1.7 1.6 .7 2.4-.4 1.9-9.7 23.6 5.6 23.7 .1 1.9-.6 1.4-2.1 1.8-2.3 .5-19.9-1.8-16.6 15.5-1.9 1-1.9 .3-7-1.5-2.6-2.1-.9-2.4-2.8-24.1-16-13.6-1.1-1.5-.5-1.9 .4-1.9 1.2-1.5 18.9-13.6 7.1-24.6 1-1.7z",shade:"M52 7.7l14.3 16.1 1 2.9 .3 3.1 19.4-1.3 2-1.4 .7-2.3-.4-1 .5 .5 .5 1.9-.4 1.9-9.8 23.2 5.5 23.1 .1 3.4-2 2.4-2.8 .8-19.4-2.1-1.9 1.4-14.7 14-2.4 1.4-3.3 .1-4.7-1-2-1 .6-.2 3.3 .8 2.8 .1 5.1-2.1 .7-.9 .4-2.4-2.6-22.7-.3-.3-1.4 .2-1.4 .7-5.7 .7-5.6-1.2-16.7-13.8 1-.1 5.2 1 3.8-1.1 1-.7 1.9-.4 .4-.4 1.5 .3 .4-.4 1 .2 18-12.8 6.7-23.5 0-1.8-.4-.5-.3-1.9 .4-2.4z",light:"M40.1 4.4l2-.1 4.7 1 .7 1-.5 1.4-2.8 1.5-6.6 23.1 .7 1.2 .6 .3-18.1 12.5-1.8 2.1-3.4 .7-5.2-1.2-.3-.4 .3-.9 1.4-1.4 18.3-12.9 .9-2.3 6.4-22.7 .8-1.4z",eyes:[[53.9,53.4,7.2,18.8,-10],[65.1,49.2,7.2,18.8,-10]]},moon:{label:"Moon",body:"M45.8 4.2l4.7-.2 4.2 .4 10.2 2.4 3.7 1.6 3.6 2.1 3.3 2.5 3 3.1 4.6 6.7 3.4 8.3 1.5 8.8 .1 4.6-.8 7.8-2.6 8.8-3.9 7.7-5.1 6.7-6.1 5.3-4.1 2.6-3.6 1.6-27.2 10.2-2.8 .7-2.6 0-5.7-1.3-2-.8-1.9-1.7-1.1-2.6-6.5-37.7-.2-5.2 .8-7.7 1.3-5.2 3.1-7.8 4.2-6.7 3-3.6 3.9-3.6 6.3-4.2 4.1-1.8z",paints:[["M57.6 9.9l.2-.3 .2 .3 2 4.7 1.9 1.9 2.6 .5 1.5-.7 1.1-1.1 .4 .4-.1 1.6-.7 1.5-2.2 2.5-1.6 .7-2 0-1.6-.8-1.3-1.4-.8-2-.4-2.6 .1-3.1z","#1783FF",1]],shade:"M74.3 13.5l2.1 1.5 .3-.4-.3-.6 2.1 2.1 4.6 6.7 3.1 7.4 1.5 7.6 .1 10.4-.6 4.6-2.5 8.3-4.2 8.2-3.1 4.2-5.7 5.7-6.2 4.2-4.6 2-28 10.3-4.1 0-5.2-1.1-2-.9-.5-.7 .5 .5 1.5 0 3.6 1 2.6-.3 5.7-2.1 2.1-2.1-5.4-31.5-.2-4.1 .4-1.1-.1-2.6 .5-3.6 1.8-7.7 2.8-6.7 1.9-3.1 3.9-5.2 3.2-3.1 2.5-2 5.2-2.9 3.1-1.1 3.1-.8 2.1 0 .5-.4 2.6 .2 1-.3 1.6 .4 1-.5 2.1 .8 1-.8 2.1 1.2z",light:"M38 6.3l1.7-.3 2.5 .2 .6 .4 1.5 0 .5 .5 1.6 .3-3.1 1.3 .4 .7-2.5 1.6-.5 1-2.5 2.1-2.7 2.9-6.2 7.9-1.5 2.7-1 .9-1.2 2.6-1.4 1-1.3 3.7-1.3 .3-6-1.4-1 3.6-.8 0 .9-3.6-.5-1 1.1-3.6 2.7-5.7 4.1-6.2 5.7-5.8 3.1-2.4 3.6-2.2z",eyes:[[51.6,48.5,8.4,22.1,-10],[66.8,42.9,8.4,22.1,-10]]},wave:{label:"Wave",body:"M46.1 4l6.1 .3 9.6 2.1 4.5 1.8 4.1 2.4 3.5 2.8 4.4 4.8 2.6 4 2.1 4.1 2.2 6 4.8 26 .5 5.3-.3 4.1-1.2 3.8-1.5 2.8-2.4 2.5-2.1 1.4-3.1 1-3 .3-8.1-1.5-3.2 5.3-2.1 2.1-2.5 1.5-2.8 1-3 .4-9.1-1.6-2.7 4.2-3.4 3.1-4 1.7-4.6 .1-7-1.5-3.5-1.9-3.4-3.5-2.1-4-1.5-5.6-3.7-20.7-.6-5.6-.1-5 .5-6.1 2.3-9.6 2.3-5.5 2.7-4.9 2.7-3.7 3.2-3.6 4.2-3.6 4.7-2.9 4.4-2 4-1.2z",paints:[["M61.6 48.5l2.2-.3 2 1.1 1.1 2.2 .3 3-.6 3.1-1.5 3.5-2.5 4.1-2.4 2.8-5-2.2-3-2.2-2.3-3-.7-3.5 .6-2.6 1.8-2.1 1.6-.7 1.5 0 1.5 .6 1.5 1.3 2-3.6z","#fff",.4]],shade:"M69.3 13.6l2.6 1.3 .5-.3 .5-1.3 2 1.7 .5 0 2.5 2.7 3.5 5.5 3.6 8.6 1.5 6.6 3.5 19.7 .5 5.5-.4 4.6-2 5-1 1.6-2.6 2.5-3 1.5-2.1 .5-4 0-6.6-1.4-1.4 2.9-1.9 2.5-2.7 2.6-3.1 1.5-2.5 .6-4 .1-7.1-1.5-1.5 2.8-2.6 3-2 1.6-3 1.4-4.5 .6-7.1-1.5-3.6-1.5-3.5-3.1 6.6 1.5 2.8-.5 .5-.5-.3-.5 3.2-2-.4-1 1.4-1.5-.3-1 .7-1.6-.2-2.5-3.4-19.2 .3-.5-.6-5 .5-.5-.1-4.6 .4-.5 .3-4 1-4.1 1.5-4.5 3.8-7.7 5.5-6.9 3.1-2.6 6.5-3.9 7.6-2.2 3.1 0 .5-.4 3 .5 1-.5 2.5 1z",light:"M36.5 6.1l2-.3 .5 .6 4.1 .5 1 .7-3.3 1.5-.3 1.2-3 2-.3 .8-2.8 2.6-3.5 4-3.9 5-2 3.6-1 .5-1.7 4-1.5 .5-1.4 4.6-1.6 .2-.5-.4-5.6-.9-.4-.4 1.4-5.1 1.5-3.5 2.6-5.1 4-5.5 6.6-6.2 4-2.5z",eyes:[[47.5,37.2,8.4,22.1,-10],[61.6,31.9,8.4,22.1,-10]]},squircle:{label:"Squircle",body:"M54.5 4.2l3.9-.2 3.7 .3 11.6 2.7 3.1 1.6 2.8 1.9 2.6 2.7 2.2 3.1 2.4 4.8 1.9 5.8 3.7 19.4 .8 11.1-.4 4.7-1 4.7-1.3 3.5-1.8 3.4-4.8 5.8-6.4 4.7-8 4-14.2 5.3-9.5 2.2-7.4 .1-10.5-2.2-5.3-2.5-4.3-3.7-3.3-4.8-2.7-6.3-2.4-9.5-2.8-17.9-.2-7.8 1.3-7.9 2.2-5.3 2.8-4.2 4.1-4.2 4.3-3.1 6.3-3.4 11.6-4.6 7.9-2.7z",shade:"M80.5 11.6l2.1 2.1 2.1 3.2 3.2 7.3 2.1 8.4 2.7 15.8 .5 7.9-.6 7.4-2 6.3-3.8 6.3-4.2 4.3-2.6 2-6.9 3.8-15.2 6.2-9.5 2.7-6.8 .6-6.2-.7-8.5-2-5.8-3.2-3.2-3.3 .5 .4 1.1-.2 5.8 1.4 2.1-.8 1.4-.7-.3-.5 1.4-1.1-.1-1 .8-.5 0-1.1 1.1-1 .1-2.1 .4-.6-.2-3.6-2.4-17.9-.2-9.5 .8-5.3 1.1-3.6 1.2-2.7 2.2-3.5 2.7-2.8 3.1-2.5 5.8-3.2 17.9-6.9 5.3-1.4 8.4-1.4 1.6-1.1 .5 .1 .9-1.5z",light:"M39.4 8.4l1.2 0-1.6 .7-1-.1 1-.1zM36.8 9.5l1 0 .6 .9 4.2 .6 .7 .6-3.8-.4-.3 .4 1.9 .3 .1 .7-3.2 1.6-6.9 5.8-5.3 6-4.7 6.1-3.8 3.7-.2 .5-1.8 .1-6.8-1.7 .4-3.6 2.1-4.2 2.2-3.2 4.2-4.3 4.2-3 3.1-1.8 5.3-2.5zM35.1 10.5l1.7 0-.5 .4zM36.5 11.1l.3-.5 2.2 .1 .4 .4-.4 .3z",eyes:[[52.6,52.4,8.4,22.1,-10],[67.3,46.9,8.4,22.1,-10]]},zed:{label:"Bull",body:"M77 4.4l1.1-.4 1.1 .2 1.2 1.3 2 9.8 2.2 5.9 .4 2.8-.3 2.1-.8 1.7-4.7 5.1-1.3 1.9-.4 1.7 .1 1.6 1 1.7 4.4 .2 3.8 1.3 2 1.7 .6 1.6-.3 1.7-.7 1.1-3.5 2.7 1.7 6 .4 5.9-.8 6.6-1.9 6-3.4 5.9-4.4 5.3-5.5 4.4-6 3.1-6.5 2-7.1 .7-6.5-.7-6.5-2.1-6-3.4-4.8-4.4-3.5-4.9-3.1-6.7-3.3 1.1-2.7 .3-2-.6-1.1-1.1-.3-2.2 .9-2.7 2.9-3.8 4.6-3.8 1.8-7.1-6.3-1.8-1.6-1.3-1.3-1.8-.6-2.7 0-6.6-1.4-8.7 .2-1.1 1.5-1.4 1.1-.1 1 .5 5.5 7.9 2.2 2.2 2.7 1.4 4.9 .4 .5-.1 6.5-5.1 6.6-3.2 6-1.6 8.7-.7 3.8-.9 2.7-1.5 3.9-3.2 3-3.8 2.4-4.9 2.1-10z",paints:[["M61 36.5l1.9 .7 1.4 2-.7 5.4 .3 .4 2.8-1.2 1.1 0 1 .9 .5 1.6-.5 .8-1 .5-7.1 2.4-1.1-.5-.9-1.6 1.4-5.4-.5-.6-3.3 1.1-1.1-.1-1.6-1-1-1.6 .5-.9z","#fff",1]],shade:"M80.2 5.5l.6 1.6 1.3 8.2 2.5 6 .2 3.7-.1 1.1-1.2 2.2-5.2 5.4-1.1 3.3 .9 2.7 3.8 3.9 1.6 .1 4.4-1.4 1.2 1.2 .1 1.1-.2 1.7-.6 1.1-3.6 2.7 .9 2.2 1.1 5.4 .1 6-1.1 6.5-2.3 6-3.8 6-6 6-4.9 3.3-5.9 2.6-7.1 1.7-7.1 .1-6-1.1-5.9-2.3-4.4-2.7-4.4-4.5 3.8 .4 5.5-1.5 7.6-3.9 6.8-4.7 7.9-6.5 7.1-6.9 5.4-6.5 4.4-6.7 1.8-4.4 .4-3.2-.3-1.1-3.3-3.8-.8-2.8 .8-2.7 6.2-7 .8-2.2-.1-2.7-1.7-4.4-.8-8.2zM14.9 29.9l.1-.5 4 6.5 2.3 2.7-1.4 .1-2-.6-3.6-7.1zM24.3 44.6l1-.3 1.1 .2 3.3 2.9 1.7 .5 .3 1.6-.5 2.2-1 1.6-1.6 1.5-1.6 .7-1.7 .1-3.2-2.2-2.2 0-2.7-.6-2.9-1.6 3.9-1.6 2.2-1.7 2.2-2.3zM21 68.6l.5-.5 1.1 .1 1.1 .5 .8 1 .6 2.7-.1 1.1-.7 1.1-.6 .1-2.2-1.2-2.7 1.1-3.8 .6-2.7-1.2 3.4-1.6z",light:"M77 4.4l.6-.2 .1 .7-1.2 .8-.1-.8zM74.2 15.8l.6 1.1 .1 2.7-.6 2.2-1 1.6-5.5 5-1.7 .7-3.3 .3 .1-.6 2.1-1.2 4.2-3.6 2.7-3.9zM11.7 28.9l.8 0-.1 .5-1.2 .8-.1-.8zM44.3 32.1l3.1 0 .8 1.1 0 1.1-1.9 4.3-3 4.1-1.7-1.1-2.1-.8-4.4-.6-4.4 .1 5.5-4.4zM22 54.4l.6 0-.3 .6 .2 .5 2.3 2.7 .4 1.7-1 .9-4.8 2.3-7.1 7.8 0-1.8 2.1-3.3 6.4-5.4 1.2-4.3z",eyes:[[61.8,69,9.5,22.3,-10.5],[78.4,62.7,6.9,22.2,-11.2]]},hex:{label:"Blossom",body:"M38.8 4.2l2.6-.1 6 1.3 2 1.3 3 3.3 12-4.5 2-.5 6.5 1.1 2.9 1.6 4.9 6 .8 2 .3 2-.2 2.5-1.9 7-1.3 2.2-1.9 1.8 2.9 1.3 1.8 1.7 10.1 12.5 1.5 3 .1 4-1.8 7-.9 2-2.8 2.7-7.1 2.7-5.2 20-.8 2-1.4 1.9-1.5 1.1-6.5 2.6-3 .2-6.5-1.6-2-1.4-4-4.9-16 5.7-2 .1-4.5-1-3-1.2-5.2-6-1.3-3 0-3.5 2-8.5-10.8-13.4-1.4-3-.3-2 .3-2.5 1.7-6.5 1.8-3 2.2-1.8 5.9-2.2 2.1-.4 2.5 .3 .4-.4-.7-2.5 .1-2.5 4.8-18.5 1-2.5 2.9-2.9z",shade:"M49.7 7.7l.2-.4 .5 .4 2 2.3 0 .7 1.6 1.5 1 2 .1 1.5-.3 .5 .6 1.3 17.5-6.5 2.5-1.3 1-1.5 4.5 6 .6 1.5 .3 3-1.9 8-1 2-3 3-.3 1 .4 .5-1.7 3 .1 .5-.5 .5 0 .7 5.5-2.2 1.5-1.5 2 2 8 10 1 1.5 1 2.5-.1 4-1.9 7-1.1 1.9-2.9 2.5-6.8 2.5-4.7 19-1.5 3.5-2.5 2.5-6.5 2.6-4 0-5.5-1.4-2.2-1.7-3.2-4 4.9 .8 2.5-1.4 1.5-2.6 .7-2.3 1.7-6.5-.4-.3-.6 .8-.7 3.5-1.1 1.5 .3 .5-.3 .5-.7-.5-1.4-5.5-.5 1-.2 2-.9 1-.1 1.5-1.1 2-2.7 2.8-1 .4-1 .1-15.5 5.8-3-.1-4.5-1-2-1-2-2-2.2-3 .2-.2 4 .9 2-1.1 1.7-1.6 1.3-3.2 1.7-6.3 1.1-2.5-.3-.3-.5 .2-6.5-.3-.5-.5-2 0-.5-.5-1.7-.1-10.4-13.4 4.1 .7 3.1-1.7 1.3-2 2.5-8.5 .9-1.5 1.7-1.3 6.5-2.7 2-1.5-.3-.5 .3-.5 1.5-1.2 1.5-3 5.6-20.3 1.9-2 6-2.4 1.1-.6zM73.2 31.2l1.5 0-.8 1-34 12.7-1 .1-1.5-.5-2 .8-1.9-2.6 .4-.9 2 .5 1.5 1 .5-.4 1 .5 1-.3 1 .4 3-1.5 1 .1 3-1.6 1 .1 3-1.6 1 .1 3-1.6 2.5-.5 1.5-1 2.5-.5 1.5-1 2.5-.5 1.5-1 2.5-.5 1.5-1 1 0zM61.3 74.6l.1-.2 .4 .2-.4 1.7z",light:"M33.4 6.2l3 .1 1.9 .9-.1 .5-1.8 2.5-3.4 3.5-4.5 17-3.6-.9-1 .4 0-1 4.4-16.5 0-1.5 2.1-3.1zM68.2 6.2l1.2 0zM14.9 37.7l3.5 .9 .4 .6-.3 1-5 5.5-1.1 4.6-2.5-.5-2 .1 0-1.7 1-4.5 1-2.5 2-2.1zM19.4 71.6l4 .7 1.8 .8-1.2 1-1.1 5.1-4.5-.5-.5-.6 1.4-5z",eyes:[[49.8,55.5,6.7,17.7,-10],[61.6,51.1,6.7,17.7,-10]]},gumdrop:{body:"M38.7 4.5l4.4-.5 4.6 .8 4.1 1.9 3.7 3.2 23.2 36.6 2.3 5 1.4 5.1 .7 6.4-.7 6.4-1.8 6.1-3.1 5.7-4.1 5.1-5.2 4.2-5.8 3.1-6 1.8-6.4 .6-6.4-.6-6-1.8-5.9-3.1-5.1-4.2-4.1-5.1-3-5.4-1.9-6.4-.7-6 .5-5.9 9-41.6 2-4.1 2.6-3.2 3.4-2.5z",shade:"M54.9 9.5l1.9 2.3 22.9 36.5 1.8 4.6 .9 3.7 .6 4.1-.1 5.9-1.4 6.4-2.3 5.5-3.7 5.4-4.1 4.2-4.5 3.3-7.3 3.2-6.4 1.2-6.4 0-5.1-.9-5.9-2.1-5.5-3.3-4.6-4.1 .5-.3 4.1 .8 5.5-1 6.4-2.6 7.3-4.5 7.2-5.7 6.5-6.4 5.5-6.9 3.5-5.9-18.1-37 1.1-3.7 .2-2.3z",light:"M37.1 4.9l2.5 0 .8 1.4-.5 2.1-1.8 2.9-3.2 3.2-3.2 2.1-2.3 .7-1.8-.1-.7-.9 .1-1.8 2.4-4.1 2.7-2.8z",eyes:[[52.1,40.3,9.7,22.9,-15.2],[64.8,35.6,6.3,23,-27]]},peanut:{body:"M43.5 4l6.6 .7 5.8 2.2 5.4 3.8 4.1 4.7 2 3.8 1.4 4.3 1.3 11.9 1 4.3 1.6 3.8 5.8 10.5 1.4 3.8 .8 4.3 .1 6.2-1 5.7-2.1 5.5-3.2 4.9-4.1 4.3-4.8 3.4-5.6 2.4-5.7 1.3-6.1 .1-5.8-1.1-5.7-2.2-4.7-3.1-4.3-4.1-3.3-4.8-2.5-5.7-1.2-5.7-.1-6.7 1.7-9 .4-4.3-.5-4.7-2.5-9.6-.6-3.8 .2-5.2 1.2-5.2 1.5-3.4 2.2-3.3 2.5-2.9 2.8-2.3 3.4-2.1 3.4-1.4 3.8-.9z",shade:"M62.7 12.6l2.6 2.8 2.8 5.8 1.1 4.2 1 11.9 1 3.4 2.3 4.7 4.2 6.7 1.9 4.7 .9 3.8 .2 2.9-.1 6.2-.5 3.3-1.9 5.3-3.4 5.7-3.4 3.8-4.2 3.3-5.7 2.9-4.8 1.4-5.7 .6-6.2-.6-3.8-1-5.2-2.3-4.8-3.4-2.9-2.8 3.9 .8 5.2-.7 6.2-2.5 5.7-3.3 6.7-5.1 6.2-5.9 5.1-6.2 3.5-5.7-1.1-2.8-2.4-2.4-3.2-1.7-11.5-4.1-2.7-1.8-1.6-2.4-.2-2.4 .8-2.9 7.8-8 4.9-7.7 1.6-5.2z",light:"M35.9 5.4l3.2-.2 1.3 .7 .5 1-.5 3.3-2.9 4.8-4.1 4.1-4.8 3.3-4.2 1.5-1.5 0-1.4-.6-.7-1.2 .2-2.4 1.9-3.8 2.4-3.3 4.3-3.9z",eyes:[[50.9,31.5,8.7,20.5,-11.9],[64.2,26.5,5.7,20.3,-16.3]]},saucer:{body:"M45 22.7l6.7 .1 6.7 1.9 4.3 2.5 3.5 3.1 2.8 3.5 2.5 4.5 6.8 .9 5.6 1.2 4.5 1.6 3.5 2.1 2.8 2.8 1.3 3.5-.5 3.5-2 3.5-2.6 2.8-3.5 2.8-4.5 2.8-5.1 2.6-12 4.4-13.6 3.1-13.6 1.5-12.6-.3-5.5-.7-5-1.2-4.1-1.6-3.5-2-2.8-3.1-1.1-3 .5-3.5 2-3.6 2.7-3 3.7-2.9 10.3-5.6 .7-5.1 1.5-4.5 2.6-4.5 3.1-3.5 3-2.4 3.5-2 3.5-1.4z",shade:"M66.5 31.3l.3-.2 .6 .7 1.9 2.5 2 4.5 1.6 1.5 .1 1.5-1.7 1.7-3 1.2-3.1 .5-3.1-.3 4-8.1 .7-3.5zM94.9 47.4l1.1 3-.5 3.5-2.1 3.5-4 4.1-5 3.5-6.1 3.1-7 2.9-6.6 2.1-8 2-9.1 1.5-6.5 .6-11.6 0-4.5-.2-8-1.4-4.6-1.5-3.6-2.1 4.1 1.2 5.1 .8 7 .3 6-.2 15.1-1.9 15.6-3.6 14.5-5.1 5.4-2.5 5.3-3.1 4-3 2.3-2.5 1.2-2.1zM7.3 71l.7 .5z",light:"M40.6 23.7l2.8 0 .8 .5 .7 1.5-.8 3.6-2.6 4-3.9 4-4.5 3.2-4.6 1.7-2.5-.4-1-1.4 0-1.6 .9-2.5 2.1-3.5 2.6-3 3-2.6 3.5-2.1zM22.4 47.4l.7 0-.5 .5 0 1.5 .4 .8 2 1.4 3 1.2 9.1 2 15.1 1.1-.2 1.5-2.2 3.6-3 2.5-4.9 2.5-6 2-7.9 1.5-6.5 .5-7.1-.4-4.9-1.1-3-1.5-1.6-1.7-.6-2.3 1.1-3.1 2.9-3.5 4.1-3.5 4.1-2.6z",eyes:[[53.6,45,7.8,18.4,-14.5],[66.2,40.3,5,18.3,-25.1]]},bunny:{body:"M49.3 4.4l1.5-.4 2 1.2 1.6 2.7 1.2 3.4 1.6 8.9 .2 6-.2 6.4 .6 3 2.4 2.5 5.4 3 3.4 2.4 5.1 5.5 2.4 3.9 1.7 4 1.1 4.4 .4 4.5-.5 5.9-1.6 5.5-2.8 5.4-3.6 4.5-4.6 3.8-4.9 2.7-5.5 1.7-5.9 .7-6-.5-5.4-1.7-4.9-2.5-4.7-3.7-3.8-4.5-2.7-4.9-1.8-5.5-.7-5.9 .6-6.5 1.9-5.9 3.1-5.4 4.6-5.5-.4-2-3.4-8.4-1.8-6.9-.6-6.9 .3-3 .6-2 1.3-1.4 2-.1 2.5 1.5 2.1 2.5 4 6.9 2.1 5.5 1.7 5.9 1.5 2.1 1.8-1.6 .7-2-.4-12.4 1-8.9 1.6-4.9z",shade:"M52.7 5.4l2.1 3.5 1.9 7.4 .7 7.9-.5 8.4 .8 3.6-4.4-2.5-2.1-2.6 1.4-17.3zM31.2 15.3l.3-.5 2 2.5 2.9 4.9 2.5 6 1.7 6.4 1.4 2.5 0 .5-1.1 .9-4.5 1.9-2.4 .2-1.2-.6zM71.5 46l3.6 4.4 2.9 6 1.5 6.4 .1 5.5-1.1 6.3-2 5-3.4 5.4-3.5 3.6-4 2.9-6.4 3-4 1-6.9 .5-5.9-1-5.5-2-5.4-3.5-3.6-3.4 2.6 .7 2.5 .1 2.9-.5 4-1.3 8.4-4.6 8.7-6.8 7.4-7.9 5.3-7.9 1.3-3 1-3.5 .2-2.9-.2-2z",light:"M49.3 4.4l.6 0-3.6 6.2 1-3.7zM26 13.3l.5-.4 .2 .4-1.7 2.2 0-.7zM44.8 34.6l.5-.1 1.2 1.1 .8 1 0 .7-.5 .3-4-.5zM45.1 42.5l.8 0-.3 1-2.4 4.5-3.8 4.4-4.1 3.5-3.8 2.4-4 1.6-2.9 .1-1.8-1.1-.4-2.5 1.1-3.5 3.5-5.4 3-3.1 .2 1.6 .8 .8 3 .1 4.4-1.2z",eyes:[[59.2,69.2,8.2,19.3,-12],[72.9,64,5.6,19.1,-15.4]]},kitty:{body:"M62.4 4.2l1.6-.1 1.5 1.2 7.4 21.3 3.7 6.4 6.2 7.4 3.1 5.9 1.5 4.8 .7 5.3-.2 5.4-1.1 5.3-3 7.4-4.4 6.4-5.3 5.4-6.9 4.6-7.5 3.1-8 1.7-8 .2-7.4-1.4-4.3-1.5-3.7-1.8-3.8-2.5-3.1-2.7-2.7-3-2.5-3.7-1.9-3.7-1.4-4.3-.9-5.3 .1-5.8 1.4-7 1.6-4.2 2-3.8 .8-3.2 .2-20.2 1.1-1.4 1.1-.3 1.1 .3 12.2 9.7 5.9-2.5 8-2.1 3.2-1.8 2.3-2.4 8.3-16z",shade:"M64.9 5.8l.1-.3 .7 .3 6.5 19.7 3.1 5.9 2.5 3.2-1.6-.8-2.6-2.4-5.1-8zM79.4 36.7l2.2 2.1 1.6 2.2 3.3 6.9 1.5 6.9-.1 6.4-1.6 7.5-3.1 6.9-3.8 5.3-5.3 5.4-6.4 4.3-7 3.1-6.3 1.6-4.3 .6-5.3 0-7.5-1.1-5.8-2-5.9-3.3-5.9-5.4 2.7 .7 3.2-.1 3.7-.8 5.2-1.9 10.3-5.5 11-7.8 10.7-9.6 7.8-9.1 3-4.6 1.6-3.4 .7-3.2z",light:"M62.4 4.2l.5-.1 0 .6-.8 1.1-4.5 14.4 .2 2.7-.3 1.6-1.1 1-2 .6-6.9-.5 2.6-1.3 3.1-3 8.1-16zM18.7 20.7l1.1-.5 0 .8-1.1 .9-.6-.1zM39.5 27.7l2.6-.3 1.9 .8 .4 1.6-.7 1.8-4.2-1.5-5.4 .2 0-.5zM16 47.4l.3 4.2 1.6 2.2 3 2.1-.6 .5-3.7 .6-1.1-.3-1.1-1.1-.4-1.8 .4-2.7z",eyes:[[59.6,65.1,9.4,22.6,-11.9],[77.5,58.4,7,22.5,-14]]},beacon:{body:"M40 4.1l2.7 0 2.5 .9 2 1.7 1.1 2.1 .5 2-.2 2.1-2.1 4.1-.4 1.6 1.5 7.7 9-3.1 4.1-.2 18.5 4 3.1 1.6 2.4 2.3 1.3 2.1 .9 2.6 5.8 33.4-.4 3.1-1.3 3.1-2 2.5-2.6 1.9-41.7 15.7-4.1 .7-19.6-4-3.5-1.9-2.5-2.5-1.2-2.1-.8-2.6-5.7-32.9 .4-3.1 1-2.7 1.7-2.5 2.4-1.9 28.4-10.9-1.5-9.3-.7-1-3.5-3.3-.9-1.9-.4-2 .5-2.6 1.1-2.1 1.7-1.5z",shade:"M47.1 7.2l.4 0 .8 1.6 .3 2-.2 2.6-2.5 4.7 1.5 8.2 0 2 .5 .6 .1 1.5 .5 1-1.2 .4-1.3-.4-.3-.5-1.9-10.3-4.1-1.5-3.2-2.6 3.1-.9 3.2-2.2 2.5-2.6zM84.2 30.9l1.2 1.1 1.5 3.6 5.7 32.4 0 2.6-1 3.6-1 1.5-3.1 3.2-4.2 1.9-40.6 15-4.2 0-16.4-3.6-3.6-1.4-2.6-2.2 .5 .4 17.5 3.4 3.8-1.2 5-3.4 1-1.3-5.4-30.3 .2-.6 3.1-3.4 40.2-15.1 2-3.6z",light:"M38.5 4.7l2 0-.1 1-.8 1.4-2.6 2.2-1 .4-1.1-.1-.1-.8 .7-1.6 1.5-1.6zM55 23.7l1.1 .1-1.6 .6-.9-.2 .9 0zM52.4 24.7l1 0-3 1.2-.9-.1 2.4-.6zM48.3 26.3l1 0-1.5 .6zM40 29.4l1.1 0-3.1 1.2-.9-.2 2.5-.5zM35.9 30.9l1 0-3 1.2-.9-.1 2.5-.6zM31.8 32.5l1 0-3 1.2-.9-.2 2.4-.5zM40.2 33l.4-.4 1-.1 1.6 .8 3 .7-1.5 .5-4.1 0-.9-1zM27.7 34l1 0-3 1.2-1-.2 2.5-.5zM23.6 35.6l1 0-3 1.1-1-.1 2.5-.5zM19.4 37.1l1 0-2.4 .8-.5 .7 15.4 3.3 .5 .3 .3 1.1-1.1 2.6-3.3 3.3-3.1 1.5-17.5-3.6-.6-1.2 .5-1.6 3.2-3.7 2.1-1.4 2.5-1.1 1 0 .6-.5 1 0z",eyes:[[55.5,65.3,8.4,22.1,-10],[74.2,58.3,8.4,22.1,-10]]},plus:{body:"M44.6 4.3l3.3-.1 11.9 2.5 2.5 1.3 1.3 1.4 .7 1.6 2.1 11.4 4.1-1.2 2.1 0 12.3 2.6 2.8 1.6 1.2 1.5 .7 1.5 3.8 21.6-.5 3.1-1 1.5-1.3 1.3-17 6.6 3.4 20.4-.4 2.5-1.2 2.1-2.3 1.6-19 6.9-2-.2-11.9-2.5-2.5-1.3-1.3-1.4-.7-1.6-2.1-11.4-4.1 1.2-2.1 0-12.3-2.6-2.8-1.6-1.2-1.5-.7-1.5-3.8-21.6 .5-3.1 1-1.5 1.3-1.3 17-6.6-3.4-20.4 .2-2 1.1-2.2 2.6-2z",shade:"M63.2 9.4l.7 .6 .5 1.5 2.1 13.3 .6 .6 0 2.5 .5 .5 .1 2.6 .5 .5 .1 2.1-.8 3.1 19-7.1 1-1.2 1-2.1 1.1 2.1 .4 2.6 3.2 18 0 3.1-1 2-2.2 2.1-15.9 5.8-.8 .8 3.6 19.5-.1 2.6-1.5 2.6-2.2 1.6-16.4 6.1-2.1 .6-2.5 0-12.4-2.7-2.2-1.5 12.5 2.5 2.4-1 2.7-2-3.9-22.1-3.8 3.5-1 .4-2.6 .5-1.5 1-2.6 .5-1.5 1-2.6 .4-1.5 1-4.6 1.5-2.5 0-11.9-2.6-2.7-1.6 12.4 2.3 2.6-.9 2.4-1.9-3.4-20.5 .3-.5 1.7-1.8 18.6-6.9 .3-.6-.7-1-3.8-22.1 2.1-2.1 16.4-6.1 .6-.5z",light:"M28.4 10.5l1.1 .5 10.2 2.1 .5 .4-.1 1.1-1.9 2.3-2.1 1-12.3-2.5-.1-1.3 1-1.6 1.2-1zM11.4 43.3l11.4 2.2 1 .6 0 .8-1.5 2.3-2.6 1.4-12.3-2.6-.2-1.1 .6-1 2.2-2.1z",eyes:[[54.5,53.1,6.1,15.9,-10],[64.5,49.4,6.1,15.9,-10]]},magnet:{body:"M71.9 4.2l1.2-.2 12.1 2.6 .5 .3 .6 1 6.2 35.6 .6 5.8-.1 5.7-.7 5.8-1.5 5.7-2.2 5.8-4.2 7.3-5.5 6.5-6.5 5-7.1 3.4-6.3 1.3-6.3 0-15.2-3.1-5.2-1.8-5.2-3-4.6-4.1-4-5.2-2.9-5.8-2.4-7.8-6.4-36.2 25-9.5 13.1 2.9 .5 .9 6.3 35.3 1.8-3.9 .5-4.7-6.3-36.1 .4-.6z",shade:"M86.2 9.5l.5 1 5.8 33 .6 4.7 0 5.2-.6 5.8-2.1 8.4-3.1 7.3-3.7 5.8-6.3 6.8-5.7 4.1-5.8 2.7-6.8 1.5-6.3 0-15.2-3.1-5.7-2-5.2-3.2-5.9-5.8 .1-.7 11.5 2.5 .3-3.4-1.9-13.6-5.7-32.4 1-.1 18.3-6.9 .9-.9 .4-1 6.1 35 1.6 2.1 .1 .6 4 4.7 3.2 1.1 3.6-.6 3.2-1.9 2.4-2.8 1.9-4.2 .6-3.7-6.4-36.6 19.3-7.1 .8-.8z",light:"M53.6 54.5l.7-.4 12 2.8 .6 1.8-.6 2.1-2.1 2.4-2.6 1-1.5 0-6.3-1.4-1.6-2.6-.2-2.1z",eyes:[[59.6,82.1,6.1,15.9,-10],[72,77.5,6.1,15.9,-10]]},acorn:{body:"M47.6 4l2.1 .6 1.3 1.5 .4 1.5-.4 5.2 .3 .3 8.8-.1 7.7 1 7.3 2.1 5.7 2.9 3.6 2.9 2.6 3 1.8 3.4 .9 3.7 0 4.1-1 3.6-1.7 2.2-3.9 3 2.9 8.3 .9 8.3-.9 8.3-2.7 7.7-4.2 6.8-2.9 3.1-3.2 2.6-6.7 3.8-3.7 1.2-4.1 .8-7.2 0-7.3-1.7-7-3.6-5.9-5.1-4.8-6.3-3.3-7.3-1.8-7.7-.1-8.3-4.5-1.5-2.6-1.7-2.6-4.1-1.1-4.1 0-4.2 1.2-4.1 2.2-4.1 2.8-3.7 5.2-4.6 6.3-3.8 7.2-3.2 8.3-2.3 .9-8.3 1.2-1.4z",shade:"M50.6 6.1l.1-.5 .6 2-.6 5.7 .2 2.1-1.2 .2-1.2-.7 .5-6.8zM85.8 23.7l1.7 2 1.6 3.7 .6 2.6-.1 4.1-.5 2.6-1.1 2.1-2.1 2-2.9 2.1 1.4 3.1 1.6 5.2 .9 8.8-.5 5.7-1.4 5.7-2.2 5.1-2.6 4.2-5.1 5.7-5.2 3.6-4.7 2.2-6.2 1.5-7.7 .1-5.7-1.2-6.8-3-4.6-3.2-4.2-4.2 2.1 1 2.1 .3 3.1-.3 3.1-.9 6.4-3.1 6.5-4.6 6.6-5.8 5.9-6.4 5.6-7.9 4-7.4-2.4 .4-.5 .5-1.1 0-.5 .5-1 0-.5 .5-1.1 0-.5 .5-1 0-.5 .6-1.6-.1-.5 .5-1.6 0-.5 .5-3.6 .5-.5 .5-2.1-.1-.5 .6-2.1-.1-.5 .7-3.1-.2-.5 .5-3.1 0-.5 .7-4.7-.2-.5 .7-15.6-.3 0-.3 8.3-.6 11.4-2.4 11.4-3.8 10.5-4.8 9.2-5.7 6-5.2 2.2-2.6 1.6-2.9 .5-1.7z",light:"M46 4.5l1.1-.1 0 .6-1.5 1.6-1.1 .2-.1-.7zM38.5 15.9l5 0 3.3 1.6 1.6 3.1 .1 3.1-.9 3.1-1.9 3.1-3.2 3.6-4 3.1-3.6 2.1-8.5 3.2-4.1 .7-4.2 .1-3.1-.5-2.6-1.5-1.1-2 .1-2.1 .5-1.5 2.1-3.7 4.1-4.6 3.7-3.1 5.1-3.2 6.3-3z",eyes:[[63.6,63.3,9.6,22.7,-11.9],[79.5,57.3,6.5,22.5,-15.5]]},pebbles:{body:"M47.3 4.5l2.7-.4 2.7 .1 13.7 3 4.3 2.1 3.3 3.4 1.3 2.2 1 2.8 2 12-.5 4.3-3.1 7.7 .2 .5 8.4 1.9 2.7 1 3.3 2.1 2.7 2.8 2.4 4.3 1.4 6.5 .1 4.4-.8 3.8-1.3 2.7-2 2.8-2.4 2.2-2.7 1.6-45.5 17-3.3 .6-3.2-.2-19.2-4.2-4.9-2.8-3.4-3.8-1.9-4.4-1.3-7.7 .2-3.2 .8-2.8 1.3-2.7 2-2.7 3.2-2.8 7.9-3.8 2.5-2.2-.4-1.6-5.4-6.1-1.8-3.8-2.3-12.5 .2-3.3 .7-2.7 2.6-4.4 2.2-2 2.2-1.4z",shade:"M73.2 12.2l.4 0 1.5 2.2 1.2 3.3 1.8 11.4-.2 4.4-3.3 7.6 0 1.1 .6 1.1-1.2 1.3-26.8 10.1-3.2 .5-5.8-.4-15.2-3.3-1.4-.5-3.5-3.8 .2-.3 1.6 .2 10.9 2.2 2.8-.5 4.4-2.2 5-3.8 .1-.6-1.5-8.7 4-4.5 24.2-9.2 2.4-3.8zM90.9 48.8l2.8 3.8 1 2.8 1.2 6 0 4.3-1.1 3.9-1.7 3.2-3.8 3.9-2.7 1.7-42.1 15.8-5.5 1.6-3.8 0-18-3.8-4.9-2.1-3.4-2.9 17.6 3.8 2.7-.2 3.3-1.2 4.3-2.6 4.4-3.6-.4-3.8 4.4-4.9 42.5-16 2.1-3.1 1.1-2.8 .5-3.3z",light:"M45.6 5.1l1.5 0-.4 .2-22.9 8.5 11.4 2.5 .6 .8 0 1.6-1.5 2.8-1.9 2.2-2.8 2.1-3.1 1.2-13.2-2.8-.1-2.2 1.2-2.2 1.7-2.2 2.7-2.2 2.2-1.1 2.2-.5 .5-.5 2.8-.6 1.6-1.1 2.7-.5 1.7-1.1 2.7-.6 1.6-1 2.8-.6 1.6-1.1 2.8-.5zM21.6 53.2l15.8 3.6 1.2 .7-.1 .9-.8 .8-3.1 1.6-1.3 3.8-3 3.8-3.3 2.5-3.3 1.4-18-3.6-.6-1.3 .6-2.2 1.6-2.7 1.7-1.8 3.8-2.8 5.5-2.2z",eyes:[[51.2,34.1,6.9,18.1,-10],[66.4,28.4,6.9,18.1,-10]]},cushion:{body:"M64.2 4.4l3.3-.4 2.8 .2 3.9 .8 2.8 1.1 2.7 1.7 2.4 2.1 1.9 2.4 1.5 2.8 1.2 3.9 7.1 40.6-.1 5-1.4 4.5-1.6 2.9-1.9 2.2-2.2 1.9-2.8 1.7-45.6 17.1-3.4 .9-3.4 .2-4.5-.7-3.4-1.2-3.3-2-2.9-2.7-2.3-3.4-1.5-3.9-7.3-41.7 .1-5 1.4-4.5 1.6-2.9 1.9-2.2 2.2-1.9 2.8-1.7z",shade:"M82.1 10l2.9 4 1.6 4.5 7.3 42.2-.5 5.1-1.1 3.3-1.7 2.9-4.6 4.5-3.3 1.7-46.8 17.4-5.6 .2-4-.7-3.3-1.2-3.4-2.2-1.7-1.8 .6 .4 3.3 .2 4.5-1.2 5.1-2.8 5.3-4.4-6.9-39.4 5-5.7 43.9-16.4 2.3-3.6 1.1-2.8 .5-3.6z",light:"M62.3 4.9l1.8 .1-43.4 16.1 1.1 .4 .8 .9 .1 1.7-1.6 3.4-2.6 3-3.4 2.7-3.4 1.5-3.4-.2-.8-.8-.2-1.2 .4-1.6 1.7-2.9 3.4-3.5 2.3-1.6 3.4-1.6 5.6-1.8 .6-.5 1.1 0 .5-.6 2.3-.5 .6-.6 1.1 0 .6-.6 2.2-.5 .6-.6 1.1 0 .6-.6 2.2-.5 .6-.6 1.1 0 .6-.5 2.2-.6 .6-.6 1.1 0 .6-.5 2.2-.6 .6-.5 1.1-.1 .6-.5 2.2-.6 .6-.5 1.1-.1 .6-.5 2.2-.6 .6-.5 1.1 0 .6-.6 2.2-.6 .6-.5 1.1 0z",eyes:[[51.1,57.2,8.4,22.1,-10],[69.9,50.1,8.4,22.1,-10]]},ring:{body:"M48.1 4.3l8-.1 7.8 1.8 7.3 3.5 6.7 5.4 5.2 6.7 4.1 8.3 2.3 8.9 .7 9-1 9.5-2.5 8.9-4.1 8.3-5.3 7.3-6.6 6.1-7.3 4.5-7.8 2.7-8.4 .9-7.2-.8-7.3-2.5-6.7-4.1-5.6-5.3-4.5-6.5-3.5-7.8-2-8.4-.6-8.4 .9-8.9 2.2-8.4 3.5-7.8 4.9-7.2 5.8-6.1 6.3-4.5 7.1-3.3zM50.5 33.8l2.3-.3 1.7 .4 1.6 1.1 2 2.2 1.3 2.8 .8 2.7 .4 3.4-.1 3.3-1.4 6.2-3 5.6-2.2 2.4-2.2 1.6-2.3 1-2.2 .3-1.7-.4-1.6-1.1-2.8-3.7-1.5-5.2-.1-5.5 1.2-5.6 2.4-5 3.6-4z",shade:"M76.2 14.9l1.1-.5 3.4 3.8 2.8 3.9 2.3 4.5 1.6 3.9 1.6 5.6 1.1 8.3-.4 10.1-1.3 6.1-2.6 7.8-4.6 8.3-4.4 5.6-6.2 5.7-6.1 3.8-7.2 2.9-6.2 1.1-7.8-.1-7.2-1.7-3.9-1.6-4-2.2-5.5-4.5-2.8-3.4 1.7-.6 2.4-2.1 2-2.8 1.2-2.8 1.2-5 1.1-13.4 1.4-7.8 2.5-7.8 3.8-7.3 3.3-4.5 3.4-3.4 3.9-3.1 4.4-2.6 3.9-1.5 4.5-1.1 12.3-.9zM50.5 33.8l.6-.3 2.8 0 1.6 .9 2.7 2.8 3 1.4 3.3 .5 6.1 .2 3.9 .9 1.7 1 1.7 1.6 2.1 4.4 .7 4.5-.3 5-1.2 5-1.9 4.5-2.8 4.2-3.3 3.6-3.9 2.8-3.9 1.7-3.4 .6-3.3-.1-3.4-1.1-2.5-1.7-2.5-3-3.6-7-2.9-3.4-2.1-5-.6-5.6 .6-4.4 1-3.4 2.3-4.4 1.4-2.1 2.3-2.2 2.7-1.7z",light:"M41.1 5.9l.5 .1 .2 .5-.3 .6-12.4 13.3-13.1 18.1-2.3 2.1-1.1 0-.2-1.2 .2-2.8 1.6-5 4.6-8.3 3.9-5.1 4.4-4.4 4.5-3.4 5-2.8zM60.5 53.3l1.2-.3 1.1 .6 1.1 1.3 .8 1.8-.2 3.3-1.5 2.8-2 1.7-2.6 1-7.3 .2 2.2-1.4 2.6-2.6z",eyes:[[56.2,84.6,5.3,13.3,-6.8],[71.7,78.8,5.1,13.4,-6.5]]},gem:{body:"M57 9.3l2.9-.4 14.9 3.5 19.6 14.1 1 1.4 .6 1.6-.5 2.6-27.1 56.5-1.6 1.8-2.1 .7-15.9-3.4-42.9-30.7-1.3-1.6-.6-1.6 .5-2.6 12-25.2 1.1-1.5 1.5-1z",shade:"M75.7 14.6l.1-.4 .6 .2 16.9 12.3 1.1 .7 .5-.2 .5 .7 .6 2.6-.5 1.6-26.4 55.1-1.2 2.1-1.1 1.1-1.6 .6-2.1 0-14.3-3.3-42.8-30.7 1.5-.2 11.6 2.5 2.2-.7 2.8-2.6 11.9-24.9 .6-.8 38.2-14.2z",light:"M19.1 23.6l1.1-.4 .5 .5 11.7 2.2 1 .9-.2 .5-1.8 2.7-11.7 24.4-1.6 .6-13.3-2.8-.5-.5 12.1-25.4 1.2-1.7z",eyes:[[51.4,42.9,6.7,17.7,-10],[66.1,37.4,6.7,17.7,-10]]}},Yz=Object.keys(Bl);var F7=["star","moon","gumdrop","peanut","bunny","kitty","acorn"],w9="gumdrop",Qz=Object.freeze({shape:"whale",color:"deepseek"}),Jz=["black","brown","red","orange","yellow","green","cyan","blue","violet","magenta","gray","aurora"],v9=Jz.filter(e=>!["black","gray","brown"].includes(e)&&!f9[e]),eC=e=>Z7(e)||Object.hasOwn(Be,e);function i5(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t=Math.imul(t^e.charCodeAt(n),16777619);return t>>>0}function x9(e){let t=i5(e)+1831565813|0,n=Math.imul(t^t>>>15,1|t);return n=n+Math.imul(n^n>>>7,61|n)^n,v9[Math.floor(((n^n>>>14)>>>0)/4294967296*v9.length)]}function tC(e){let t=i5(e)|0;return t=Math.imul(t^t>>>16,73244475),t=Math.imul(t^t>>>13,3266489909),F7[((t^t>>>16)>>>0)%F7.length]}var k9=e=>"remote:".concat(String(e??"").trim().replace(/^@+/,"").toLowerCase()),y9=e=>typeof e?.remote?.handle=="string"&&e.remote.handle.trim()!==""?k9(e.remote.handle):e?.id!==void 0?String(e.id):void 0;function j7(e,t){let n=String(e?.handle||e?.remote?.handle||"").trim(),a=n?(t?.bots??[]).find(s=>s.remote?.handle===n):void 0,i={};if(typeof e?.color=="string"&&(i.color=e.color),e?.avatar&&typeof e.avatar=="object"&&(i.avatar=e.avatar),a)return Object.keys(i).length?{...a,...i}:a;let r=e?.label||e?.displayName||e?.name||n||"Bot";return n?{id:k9(n),name:r,remote:{handle:n},...i}:{id:e?.id||"remote",name:r,...i}}var z9=e=>eC(e?.color)?e.color:y9(e)!==void 0?x9(y9(e)):"black";function d4(e){let t=e?.avatar??{},n=y9(e);return{shape:M9(t.shape)?t.shape:n!==void 0?tC(n):w9,image:t.image,...typeof t.emoji=="string"&&t.emoji?{emoji:t.emoji}:{},color:z9(e)}}var _9=e=>{let t=String(e??"");return Object.hasOwn(Be,t)?[t,...Be[t].map(n=>n.toLowerCase())]:[Z7(t)?t.toLowerCase():t]};function wt(e){return e?.image?["image:".concat(String(e.image).slice(0,96))]:e?.emoji?["emoji:".concat(e.emoji)]:_9(e?.color).map(t=>"shape:".concat(xt(e?.shape),":").concat(t))}var nC=[];var Vl=e=>String(e?.name??"").trim().toLowerCase(),aC=(e,t)=>{let n=wt(e);return wt(t).some(a=>n.includes(a))};function C9(e,t=nC){let n=d4(e),a=e?.avatar??{};if(a.image||typeof a.emoji=="string"&&a.emoji)return n;let i=(Array.isArray(t)?t:[]).filter(p=>p&&!p.remote);if(i.length===0)return n;if(M9(a.shape)){let p=Vl(e);if(!(p===""?[]:i.filter(m=>Vl(m)===p)).some(m=>aC(n,d4(m))))return n}let r=new Set(i.flatMap(p=>wt(d4(p)))),s=p=>!wt(p).some(u=>r.has(u));if(s(n))return n;let c=[...F7,...Yz.filter(p=>p!=="whale"&&!F7.includes(p))],o=[n.color,...v9.filter(p=>!_9(p).some(u=>_9(n.color).includes(u)))],l=Math.max(0,c.indexOf(xt(n.shape)));for(let p of o)for(let u=1;u<=c.length;u+=1){let m={...n,color:p,shape:c[(l+u)%c.length]};if(s(m))return m}return n}var A9={};for(let[e,t]of Object.entries(Bl)){let n=[...(t.paints??[]).map(([a,i,r])=>'<path d="'.concat(a,'" fill="').concat(i,'" fill-opacity="').concat(r,'"/>')),'<path d="'.concat(t.shade,'" fill="#000" fill-opacity=".14"/>'),'<path d="'.concat(t.light,'" fill="#fff" fill-opacity=".16"/>')].join("");A9[e]={label:t.label??e[0].toUpperCase()+e.slice(1),size:100,path:t.body,layers:n,eyes:t.eyes}}var M9=e=>typeof e=="string"&&Object.hasOwn(A9,e),xt=e=>M9(e)?e:w9,H7=e=>A9[xt(e)];function Pl(e,t,n=!1){if(e.path)return'<g fill-rule="evenodd"><path d="'.concat(e.path,'" fill="').concat(t,'"/>').concat(n?"":e.layers,"</g>");try{return e.body(t)}catch{return""}}var Rl=([e,t,n,a,i])=>'<g transform="translate('.concat(e," ").concat(t,") rotate(").concat(i,')"><rect class="bt-eye" x="').concat(-n/2,'" y="').concat(-a/2,'" width="').concat(n,'" height="').concat(a,'" rx="').concat(n/2,'"/></g>'),iC=([e,t,n,a,i])=>'<g transform="translate('.concat(e," ").concat(t,") rotate(").concat(i,')"><path class="bt-eye-happy" opacity="0" d="M').concat(-n*.62," ").concat(a*.14,"Q0 ").concat(-a*.42," ").concat(n*.62," ").concat(a*.14,'" fill="none" stroke="#000" stroke-width="').concat(n*.5,'" stroke-linecap="round"/></g>'),Dl=e=>'maskUnits="userSpaceOnUse" x="'.concat(-e,'" y="').concat(-e,'" width="').concat(e*3,'" height="').concat(e*3,'"'),Gl=(e,t)=>'<rect x="'.concat(-e.size,'" y="').concat(-e.size,'" width="').concat(e.size*3,'" height="').concat(e.size*3,'" fill="#fff"/>').concat(t),a5="%MASK%",rC=0,Ol=()=>rC+=1,ql=new Map;function Wl(e,t){let n="".concat(e,"|").concat(t),a=ql.get(n);if(a===void 0){let i=H7(e),r='<g class="bt-gaze"><g class="bt-eyes" fill="#000">'.concat(i.eyes.map(Rl).join("")).concat(i.eyes.map(iC).join(""),"</g></g>"),s=f9[t],c=s?'<linearGradient id="'.concat(a5,'g" gradientUnits="userSpaceOnUse" x1="18" y1="10" x2="78" y2="92">').concat(s.map(([l,p])=>'<stop offset="'.concat(l,'" stop-color="').concat(p,'"/>')).join(""),"</linearGradient>"):"",o='<g mask="url(#'.concat(a5,')">').concat(Pl(i,s?"url(#".concat(a5,"g)"):E7(t)),"</g>");a="<defs>".concat(c,'<mask id="').concat(a5,'" ').concat(Dl(i.size),">").concat(Gl(i,r),'</mask></defs><g class="bt-b">').concat(i.wrap?'<g transform="'.concat(i.wrap,'">').concat(o,"</g>"):o,"</g>"),ql.set(n,a)}return a}var sC=(e,t)=>'url("data:image/svg+xml,'.concat(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 '.concat(t," ").concat(t,'">').concat(e,"</svg>")),'")'),Il=new Map;function cC(e){let t=Il.get(e);if(t===void 0){let n=H7(e),a='<g mask="url(#e)">'.concat(Pl(n,"#000",!0),"</g>");t=sC('<mask id="e" '.concat(Dl(n.size),">").concat(Gl(n,n.eyes.map(Rl).join("").replaceAll('class="bt-eye"','fill="#000"')),"</mask>").concat(n.wrap?'<g transform="'.concat(n.wrap,'">').concat(a,"</g>"):a),n.size),Il.set(e,t)}return t}var $9=cC(w9);function Ul(e){let t=Array.isArray(e)?e:[],n=r=>!!r?.remote;if(!t.some(n))return t;let a=t.filter(r=>!n(r)),i=t.filter(n);return t.length<=4?[...i,...a]:[...a,...i]}var oC=["all","everyone","\u6240\u6709\u4EBA","\u5168\u4F53"],Kl=/^(?:[a-z0-9_\-/\\]|\.[a-z0-9_-])/i,Yl=/[a-z0-9_./]/i,lC=/```[\s\S]*?(?:```|$)|`[^`\n]*`|\[[^\]\n]*\]\([^)\s]*(?:\s+(?:"[^"\n]*"|'[^'\n]*'))?\)/g,Xl=(e,t,n)=>e.slice(t,t+n.length).toLowerCase()===n.toLowerCase()&&!Kl.test(e.slice(t+n.length)),Ql=(e,t,n)=>e.some(a=>t<a.end&&a.start<n);function pC(e,t=[]){let n=[];for(let a of[...t].sort((i,r)=>r.length-i.length)){let i="@".concat(a);for(let r=e.indexOf(i);r!==-1;r=e.indexOf(i,r+1)){let s=r+i.length;if(!(r>0&&Yl.test(e[r-1])||Kl.test(e.slice(s))||Ql(n,r,s))){n.push({start:r,end:s,label:a});break}}}return n.sort((a,i)=>a.start-i.start)}function Jl(e,t,{references:n=[]}={}){let a=String(e??""),i=[...[...a.matchAll(lC)].map(c=>({start:c.index,end:c.index+c[0].length})),...pC(a,n)],r=t.filter(c=>c?.name).sort((c,o)=>o.name.length-c.name.length),s=[];for(let c=a.indexOf("@");c!==-1;c=a.indexOf("@",c+1)){if(c>0&&Yl.test(a[c-1])||Ql(i,c,c+1))continue;let o=r.find(u=>Xl(a,c+1,u.name)),l=o?void 0:oC.find(u=>Xl(a,c+1,u));if(!o&&!l)continue;let p=c+1+(o?o.name.length:l.length);s.push(o?{start:c,end:p,bot:o}:{start:c,end:p,all:!0}),c=p-1}return s}var uC=/<\s*\/?\s*untrusted-(?:message|file)\b[^<>]*>/gi,mC=/\bfrom\s*=\s*(?:"[^"]*"|'[^']*')\s*>/gi,dC=/<[^<>]*\buntrusted-(?:message|file)\b[^<>]*$/i,hC=/(?:\/\s*)?untrusted-(?:message|file)\b\s*>?/gi;function ep(e){let t=String(e??"");for(let n;n!==t;)n=t,t=t.replace(uC,"").replace(mC,"");return t.replace(dC,"").replace(hC,"")}function N7(e){let t=String(e??"");for(let n;n!==t;){n=t;let a=t.indexOf("<untrusted-message");if(a<0)break;let i=t.lastIndexOf("</untrusted-message>"),r=i>a?t.slice(t.indexOf(">",a)+1,i):t;t=ep(r)}return ep(t).replace(/\s+/g," ").trim()}var h4="https://bots.local/";function np(e,t,n){if(!e||!e.includes("@"))return e;let a=[...t??[]].sort((s,c)=>+!!s?.remote-+!!c?.remote),i="",r=0;for(let s of Jl(e,a))!s.bot||s.bot.id===n||(i+="".concat(e.slice(r,s.start),"[").concat(e.slice(s.start+1,s.end).replace(/[[\]\\]/g,"\\$&"),"](").concat(h4).concat(s.bot.id,")"),r=s.end);return r===0?e:i+e.slice(r)}function ap(e){let t=e.target instanceof Element?e.target.closest('a[href^="'.concat(h4,'"]')):null;return t?t.getAttribute("href").slice(h4.length):null}function T7(e,t){let n=String(e??"");if(!n.includes("@")||t===null||typeof t!="object")return n;let a=[...Array.isArray(t.remoteBots)?t.remoteBots:[],...Array.isArray(t.bots)?t.bots:[]],i=new Map;for(let c of a){let o=typeof c?.remote=="object"&&c.remote!==null?c.remote.handle:c?.handle;typeof o=="string"&&typeof c?.name=="string"&&c.name!==""&&i.set(o.replace(/^@+/,"").toLowerCase(),S7(c,a))}let r=[...i.keys()].filter(Boolean).sort((c,o)=>o.length-c.length);if(r.length===0)return n;let s=r.map(c=>c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");return n.replace(new RegExp("(^|[^a-z0-9_./])@(".concat(s,")(?![a-z0-9_\\-/\\\\])(?!\\.[a-z0-9_-])"),"gi"),(c,o,l)=>"".concat(o,"@").concat(i.get(l.toLowerCase())))}var gC=/^\[(Message from|Reply from|Group chat|Group post from|Bot team setup|Handoff · part|Secret card)[^\]]*\]\n?/,r5=e=>e.sessionId??e.id;var ip=e=>e.replace(gC,""),bC=/^[ \t]*[^\n→]{1,60}(?:[ \t]*→[ \t]*[^\n→]{1,60})+[ \t]*\n+/;function L9(e){if(typeof e!="string")return e;let t=e.match(bC)?.[0];return!t||/[.!?。!?::,,]/.test(t.replace(/[^\S\n]*\n+$/,"").replace(/→/g,""))?e:e.slice(t.length).replace(/^\s+/,"")}function rp(e,t,n){if(t===void 0||n===void 0)return;let a=e.remoteTypedTurns?.[t]?.[n];return typeof a=="string"&&a?a:void 0}function sp(e,t,n){return t===void 0||n===void 0?!1:(e.exchangeTurns[t]??[]).includes(n)}var fC=new Set(["request","reply","stopped"]),cp=e=>{let t=e?.source;return t===null||typeof t!="object"||t.kind!=="bot"||t.handoff===!0||t.deferred===!0||t.resumed===!0||t.retried===!0?!1:fC.has(t.role)&&typeof t.senderSessionId=="string"},vC=e=>(e?.blocks??[]).some(t=>t===void 0||t.kind==="tool-call"?!1:t.kind==="text"||t.kind==="reasoning"?String(t.text??"").trim()!=="":!0),yC=e=>(e?.blocks??[]).some(t=>t?.kind==="reasoning"&&String(t.text??"").trim()!==""),op=(e,t)=>t===void 0||(yC(e)?t==="reasoning":t==="response");function lp(e,t,n){let a=t.findIndex(r=>r?.step===n?.step);if(a===-1)return[];let i=-1/0;for(let r=a-1;r>=0;r-=1)if(vC(t[r])){i=t[r].time;break}return(e??[]).filter(r=>cp(r)&&typeof r.time=="number"&&r.time>=i&&r.time<n.time)}function pp(e,t,n){let a=Array.isArray(e?.heldReplies)?e.heldReplies:[],i;for(let r of a)r.sessionId===t&&String(r.turn)===String(n)&&(i=r);return i}var up=(e,t)=>(Array.isArray(e?.heldReplies)?e.heldReplies:[]).filter(n=>n.sessionId===t&&n.status!=="approved"&&n.status!=="auto").map(n=>n.turn);function V7(e,t,n=[],a=[],i=[]){let r=e.projectionsBySession?.[t]?.values?.turnOutline??e.byId[t]?.projectionValues?.turnOutline;if(!Array.isArray(r))return"";for(let s=r.length-1;s>=0;s-=1){let c=r[s];if(n.includes(c.turn))continue;let o=(a.includes(c.turn)?"":c.response)||c.prompt||"";if(o!=="")return _C(o,i)}return""}function _C(e,t=[]){return xC(wC(e),t)}function wC(e){return N7(L9(ip("".concat(e))).replace(/\s+/g," ").trim())}function xC(e,t){let n=[...new Set((Array.isArray(t)?t:[]).map(o=>String(o??"").trim()).filter(o=>o!==""))].sort((o,l)=>l.length-o.length);if(n.length===0||e==="")return e;let a=n.map(o=>o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),i="(?:".concat(a,")(?=[ \\t\u2192,\uFF0C.\u3002:\uFF1A]|$)"),s=new RegExp("^".concat(i,"(?:[ \\t]*\u2192[ \\t]*").concat(i,")+[ \\t]*(?:[,\uFF0C.\u3002:\uFF1A][ \\t]*)?(?:\\d{1,2}:\\d{2}Z?[ \\t]*)?")).exec(e);if(!s)return e;let c=e.slice(s[0].length);return/^[\s,,.。::]*$/.test(c)?"":c}var q7=e=>[...e?.bots??[],...e?.remoteBots??[],...e?.agents??[]].map(t=>t?.name).filter(t=>typeof t=="string"&&t!=="");function S9(e){let t=String(e??""),n=t.match(/^Face-to-face · (.+) · (\d{6})$/);return n?"".concat(n[2]," \xB7 ").concat(n[1]):t.match(/^Face-to-face · (\d{6})$/)?.[1]??t}function mp(e,t){let n=e.model??e.appliedModel;if(!n)return;let a=(t.models??[]).find(s=>s.ref===n),[i,...r]=n.split("/");return{ref:n,name:a?.name??r.join("/"),provider:a?.providerName??i,served:a!==void 0}}function dp(e,t,n){return t?"".concat(e," \xB7 ").concat(t):n?void 0:e}function hp(e,t){return(e??[]).filter(n=>t?.[n.id]?.origin!=="face-to-face")}var Z9=(e,t)=>t!==void 0&&(e.mainBotIds??[]).includes(t);function I7(e,t){if(t==null||t==="")return;let a=(e?.bots??[]).find(i=>i&&!i.remote&&(i.id===t||i.sessionId===t||(i.parts??[]).includes(t)));return a||e?.byId?.[t]}var bp=["idle","thinking","searching","working","sending","orbit","alert","done"],fp=(e,t,n)=>e?bp.includes(t)?t:"working":n?"alert":"idle",E9=e=>/^(message_bot|stop_bot|create_bot|update_bot|create_group|update_group|delete_group|post_to_group)$/.test(e)?"sending":/search|fetch|browse|read|grep|glob|list|recall/i.test(e)?"searching":"working";function zC(e,t){(0,k1.useEffect)(()=>{if(!t)return;let n=0,a=null,i=()=>{n=0;let c=e.current;if(!c||!a)return;let o=c.getBoundingClientRect(),l=p=>Math.max(-1,Math.min(1,p));c.style.setProperty("--bt-gx",l((a.x-o.left-o.width/2)/160).toFixed(2)),c.style.setProperty("--bt-gy",l((a.y-o.top-o.height/2)/160).toFixed(2))},r=c=>{a={x:c.clientX,y:c.clientY},n||(n=requestAnimationFrame(i))},s=()=>{a=null,e.current?.style.setProperty("--bt-gx","0"),e.current?.style.setProperty("--bt-gy","0")};return window.addEventListener("pointermove",r,{passive:!0}),document.documentElement.addEventListener("pointerleave",s),()=>{cancelAnimationFrame(n),window.removeEventListener("pointermove",r),document.documentElement.removeEventListener("pointerleave",s)}},[t])}var gp=["hop","sway","stretch","look"];function O0({bot:e,look:t,size:n=36,state:a="idle",live:i=!1,gaze:r=!1,pokeable:s=!1,label:c}){let o=t??(e?.remote?C9(e):d4(e)),l=(0,k1.useRef)(null),p=(0,k1.useRef)("");p.current===""&&(p.current="bt-mark-".concat(Ol()));let[u,m]=(0,k1.useState)(!1);zC(l,r);let d={ref:l,className:u?"bt-mark bt-mark-poke":"bt-mark","data-shape":o.image?"image":o.emoji?"emoji":xt(o.shape),"data-state":bp.includes(a)?a:"idle","data-live":i?"":void 0,"data-fidget":i?gp[i5("".concat(e?.id??"",":fidget"))%gp.length]:void 0,"data-gaze":r?"":void 0,"data-poke":s?"":void 0,style:{width:n,height:n,...i?{"--bt-delay":"".concat(-(i5(String(e?.id??""))%5e3)/1e3,"s"),"--bt-fidget-delay":"".concat(-(i5("".concat(e?.id??"",":when"))%9e3)/1e3,"s")}:{}},role:c?"img":void 0,"aria-label":c,"aria-hidden":c?void 0:!0,onClick:s?()=>m(!0):void 0,onAnimationEnd:u?w=>{/^bt-poke/.test(w.animationName)&&m(!1)}:void 0};if(o.image)return(0,k1.createElement)("span",d,(0,k1.createElement)("img",{className:"bt-mark-img",src:o.image,alt:"",draggable:!1}));if(o.emoji)return(0,k1.createElement)("span",d,(0,k1.createElement)("span",{className:"bt-mark-emoji",style:{fontSize:Math.max(12,Math.round(n*.62)),lineHeight:1}},o.emoji));let f=H7(o.shape).size;return(0,k1.createElement)("span",d,(0,k1.createElement)("svg",{viewBox:"0 0 ".concat(f," ").concat(f),dangerouslySetInnerHTML:{__html:Wl(o.shape,o.color).replaceAll(a5,p.current)}}))}function CC({size:e=8}){return(0,k1.createElement)("svg",{width:e,height:e,viewBox:"0 0 10 10","aria-hidden":!0},(0,k1.createElement)("path",{d:"M5 .6l1.3 2.8 3 .3-2.3 2 .7 3L5 7.2 2.3 8.7l.7-3L.7 3.7l3-.3z",fill:"#fff"}))}var AC=e=>(Array.from(String(e??"").trim())[0]??"").toUpperCase(),MC=e=>x9("person:".concat(String(e??"").trim().toLowerCase()));function B7({size:e=22,name:t}){let n=AC(t);return n?(0,k1.createElement)("span",{className:"bt-person-mark bt-person-initial","data-initial":n,style:{width:e,height:e,background:E7(MC(t)),fontSize:Math.max(9,Math.round(e*.46))},"aria-hidden":!0},n):(0,k1.createElement)("span",{className:"bt-person-mark",style:{width:e,height:e},"aria-hidden":!0},(0,k1.createElement)("svg",{width:e*.64,height:e*.64,viewBox:"0 0 24 24",fill:"currentColor"},(0,k1.createElement)("circle",{cx:12,cy:8.5,r:4.2}),(0,k1.createElement)("path",{d:"M3.5 21c0-4.7 3.8-7.6 8.5-7.6s8.5 2.9 8.5 7.6z"})))}function $C(){return(0,k1.createElement)("svg",{viewBox:"0 0 20 20","aria-hidden":!0},(0,k1.createElement)("path",{d:"M10 2.4l2.29 5.04 5.51.63-4.09 3.74 1.11 5.42L10 14.5l-4.82 2.73 1.11-5.42L2.2 8.07l5.51-.63z"}))}function LC(e){let t=(0,k1.useRef)(e),[n,a]=(0,k1.useState)(!1);return(0,k1.useEffect)(()=>{let i=t.current;if(t.current=e,e!=="idle"){a(!1);return}if(i==="idle"||i==="alert")return;a(!0);let r=setTimeout(()=>a(!1),1800);return()=>clearTimeout(r)},[e]),n}function s5({bot:e,size:t,state:n="idle",main:a,admin:i,badge:r=!0,live:s=!0,gaze:c=!1,pokeable:o=!1}){let l=LC(n);if(e===void 0)return(0,k1.createElement)(O0,{size:t});let p=r?n==="alert"?"alert":n!=="idle"?"working":i?"admin":a?"main":null:null;return(0,k1.createElement)("span",{className:"bt-mark",style:{width:t,height:t,"--bt-size":"".concat(t,"px")}},(0,k1.createElement)(O0,{bot:e,size:t,state:l?"done":n,live:s,gaze:c,pokeable:o}),p==="working"?(0,k1.createElement)("span",{className:"bt-badge bt-badge-working","aria-label":T("Working"),role:"img"}):null,p==="alert"?(0,k1.createElement)("span",{className:"bt-badge bt-badge-alert","aria-label":T("Waiting for your answer"),role:"img"},"?"):null,p==="admin"?(0,k1.createElement)("span",{className:"bt-badge bt-badge-admin","aria-label":T("Admin"),role:"img"},(0,k1.createElement)(CC)):null,p==="main"?(0,k1.createElement)("span",{className:"bt-badge bt-badge-main","aria-label":T("Main Bot"),role:"img"},(0,k1.createElement)($C)):null)}function SC(e,t){if(e===1)return[[0,0,t]];if(e===2)return[[0,0,t*2/3],[t/3,t/3,t*2/3]];if(e===3){let a=t*5/9,i=t-a;return[[i/2,0,a],[0,i,a],[i,i,a]]}let n=t/2;return[[0,0,n],[n,0,n],[0,n,n],[n,n,n]]}function ZC(e,t){let n=(e?.members??[]).map(r=>I7(t,r)).filter(Boolean),a=new Set(n.map(r=>r.id)),i=[];for(let r of e?.participants??[]){if(r.leftSeq!==void 0||r.kind==="human"||!r.remote&&r.id&&a.has(r.id))continue;let s=!r.remote&&r.id?I7(t,r.id):void 0;if(s){a.has(s.id)||(n.push(s),a.add(s.id));continue}let c=r.handle||(r.remote?r.id:"");if(!c||n.some(l=>l.remote?.handle===c||l.handle===c))continue;let o="h:".concat(c);a.has(o)||(a.add(o),i.push(j7({handle:c,displayName:r.displayName,name:r.displayName,label:r.label,color:r.color,avatar:r.avatar},t)))}return e?.origin!=="face-to-face"&&n.length===1&&i.length===0?[n[0],null]:[...n,...i]}function kt({room:e,roster:t,size:n=36}){let a=Ul(ZC(e,t)),i=(l,p,u)=>l?(0,k1.createElement)(O0,{key:u,bot:l,size:p}):(0,k1.createElement)("span",{key:u,className:"bt-cluster-you",style:{width:p*.92,height:p*.92,margin:p*.04}});if(a.length===0)return(0,k1.createElement)(O0,{size:n});if(n<=20&&a.length>1)return(0,k1.createElement)("span",{className:"bt-stack",style:{"--bt-stack-size":"".concat(n,"px")}},a.slice(0,3).map((l,p)=>i(l,n,l?.id??"you-".concat(p))),a.length>3?(0,k1.createElement)("span",{className:"bt-stack-more"},"+".concat(a.length-3)):null);let r=SC(Math.min(a.length,4),n),s=a.length>4?a.length-3:0,c=n/14,o=r.map(([l,p,u])=>({cx:l+u/2,cy:p+u/2,r:u*.48+c}));return(0,k1.createElement)("span",{className:"bt-cluster",style:{width:n,height:n}},r.map(([l,p,u],m)=>{let d=o.slice(m+1).filter(k=>Math.hypot(k.cx-l-u/2,k.cy-p-u/2)<k.r+u*.46).map(k=>"radial-gradient(circle at ".concat(k.cx-l,"px ").concat(k.cy-p,"px,transparent ").concat(k.r,"px,#000 ").concat(k.r+.5,"px)")),f={left:l,top:p,width:u,height:u};if(d.length>0&&Object.assign(f,{WebkitMaskImage:d.join(","),maskImage:d.join(","),WebkitMaskComposite:"source-in",maskComposite:"intersect"}),s>0&&m===3)return(0,k1.createElement)("span",{key:"more",className:"bt-cluster-more",style:{...f,width:u*.92,height:u*.92,margin:u*.04,fontSize:Math.max(8,Math.round(u*.36))}},"+".concat(s));let w=a[m];return(0,k1.createElement)("span",{key:w?.id??"you",style:f},i(w,u))}))}var vp=new Map,EC=new Set;var FC=()=>{for(let e of[...EC])e()};function zt(e,t){!Array.isArray(t)||t.length===0?vp.delete(e):vp.set(e,new Set(t.map(String))),FC()}var yp=Object.freeze(["pending","pending_approval"]);function Ct(e){return yp.includes(e)}var jC=[/no such remote bot/i,/is not shared with your Bots/i,/is no longer shared with you/i,/has not granted chat\.public/i,/bot_not_shared/i,/bot_not_found/i],F9=e=>{if(!e)return!0;if(e.retry===!1||e.noRetry===!0)return!1;let t="".concat(e.error??""," ").concat(e.code??"");return!jC.some(n=>n.test(t))};var j9=e=>e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB");var C1=U1(g0(),1);var B2=U1(g0(),1);var LR=10*6e4;function _p({size:e=16}){return(0,B2.createElement)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round","aria-hidden":!0},(0,B2.createElement)("rect",{x:7,y:2.5,width:6,height:10,rx:3,fill:"currentColor",stroke:"none"}),(0,B2.createElement)("path",{d:"M4.5 9.5a5.5 5.5 0 0 0 11 0M10 15v2.5"}))}function Mt(){return(0,B2.createElement)("svg",{width:16,height:16,viewBox:"0 0 20 20","aria-hidden":!0},(0,B2.createElement)("path",{d:"M5 5l10 10M15 5L5 15",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round"}))}var I1=e=>function(){return(0,B2.createElement)("svg",{width:15,height:15,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.map((n,a)=>(0,B2.createElement)("path",{key:a,d:n})))};var wp=I1(["M10 3.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z","M7.3 11.6a3.4 3.4 0 0 0 5.4 0","M7.75 8.25h.01M12.25 8.25h.01"]),xp=I1(["M8 5L4 9l4 4","M4 9h7.5a4.5 4.5 0 0 1 4.5 4.5V15"]),kp=I1(["M5 10h.01M10 10h.01M15 10h.01"]),$t=I1(["M4.5 10.5l3.5 3.5 7.5-8"]),IR=I1(["M10 4v12","M5 11l5 5 5-5"]),zp=I1(["M10 3.5v9","M6.5 9.5L10 13l3.5-3.5","M4 16h12"]),NC=I1(["M3.5 13.5a6.5 6.5 0 1 1 13 0","M10 13.5l3-4","M10 13.5h.01"]),TC=I1(["M7 3v4M13 3v4","M5 7h10v2.5a5 5 0 0 1-10 0z","M10 14.5V17"]),BR=I1(["M5.5 5h9A1.5 1.5 0 0 1 16 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 4 14.5v-8A1.5 1.5 0 0 1 5.5 5z","M4 8.75h12","M7.25 3.5v3M12.75 3.5v3"]),PR=I1(["M4.5 4h4v3.5h-4z","M11.5 12.5h4V16h-4z","M6.5 7.5v3.5a2 2 0 0 0 2 2h3"]),VC=I1(["M7 10a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z","M18 10a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z","M7 10h6"]),qC=I1(["M4 7h9.5M10.5 3.5L14 7l-3.5 3.5","M16 13H6.5M9.5 9.5L6 13l3.5 3.5"]),Cp=I1(["M15.5 9.5l-5.6 5.6a3.4 3.4 0 0 1-4.8-4.8l6.1-6.1a2.25 2.25 0 0 1 3.2 3.2l-6 6a1.1 1.1 0 0 1-1.6-1.6l5.5-5.5"]),Ap=I1(["M10 3.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z","M10 6.5V10l2.5 1.5"]),Mp=I1(["M10 7.4a2.6 2.6 0 1 1 0 5.2 2.6 2.6 0 0 1 0-5.2z","M7.85 4.4l.29-1.87a7.7 7.7 0 0 1 3.72 0l.29 1.87a6 6 0 0 1 1.63.94l1.76-.69a7.7 7.7 0 0 1 1.86 3.23l-1.47 1.18a6 6 0 0 1 0 1.88l1.47 1.18a7.7 7.7 0 0 1-1.86 3.23l-1.76-.69a6 6 0 0 1-1.63.94l-.29 1.87a7.7 7.7 0 0 1-3.72 0l-.29-1.87a6 6 0 0 1-1.63-.94l-1.76.69a7.7 7.7 0 0 1-1.86-3.23l1.47-1.18a6 6 0 0 1 0-1.88L2.6 7.88a7.7 7.7 0 0 1 1.86-3.23l1.76.69a6 6 0 0 1 1.63-.94z"]),RR=I1(["M12.5 3l4.5 4.5-3 1.5-2.5 2.5.5 3.5-1.5 1.5L7 13 3.5 16.5","M7 13l-3.5-3.5L5 8l3.5.5L11 6l1.5-3"]);function $p(){return(0,B2.createElement)("svg",{width:12,height:12,viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":!0},(0,B2.createElement)("g",{transform:"rotate(45 10 10)"},(0,B2.createElement)("path",{d:"M8 2.5h4a.9.9 0 0 1 0 1.8h-.4v4.1c0 1.4 1.1 2.6 2.6 3.1l.7.3v1.5H5.1v-1.5l.7-.3c1.5-.5 2.6-1.7 2.6-3.1V4.3H8a.9.9 0 0 1 0-1.8z"}),(0,B2.createElement)("path",{d:"M9.35 13.3h1.3v3.6L10 18l-.65-1.1z"})))}var DR=I1(["M10 3.5a4.5 4.5 0 0 0-4.5 4.5v3L4 13.5h12L14.5 11V8","M8.3 16a1.8 1.8 0 0 0 3.4 0","M15.5 3.2a1.6 1.6 0 1 1 0 3.2 1.6 1.6 0 0 1 0-3.2z"]),GR=I1(["M9 4H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3","M14.3 3.7a1.6 1.6 0 0 1 2.3 2.3L10.5 12l-3 .8.8-3z"]),OR=I1(["M10 3.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z","M10 9.25v4","M10 6.6h.01"]),WR=I1(["M10 3l2.1 4.3 4.7.7-3.4 3.3.8 4.7L10 13.8 5.8 16l.8-4.7L3.2 8l4.7-.7z"]),Lp=I1(["M8.5 7h6A1.5 1.5 0 0 1 16 8.5v6a1.5 1.5 0 0 1-1.5 1.5h-6A1.5 1.5 0 0 1 7 14.5v-6A1.5 1.5 0 0 1 8.5 7z","M4 12.5V5.5A1.5 1.5 0 0 1 5.5 4H13"]),UR=I1(["M3 3l14 14","M8.6 5.2A7.6 7.6 0 0 1 10 5c4.5 0 7 5 7 5a12.6 12.6 0 0 1-2 2.6M12.2 14.5A6.8 6.8 0 0 1 10 15c-4.5 0-7-5-7-5a12.4 12.4 0 0 1 3-3.4","M8.5 8.5a2 2 0 0 0 3 3"]),IC=I1(["M3.5 5.5h13","M8 5.5V4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v1.5","M5 5.5l.7 10A1.5 1.5 0 0 0 7.2 17h5.6a1.5 1.5 0 0 0 1.5-1.5l.7-10","M8.5 9v4.5M11.5 9v4.5"]),XR=I1(["M7 7h8.5v9.5H7z","M4.5 13V3.5H13","M11.25 9.5v4.5M9 11.75h4.5"]),KR=I1(["M8.5 11.5a3.5 3.5 0 0 0 5 0l2.5-2.5a3.5 3.5 0 0 0-5-5l-1 1","M11.5 8.5a3.5 3.5 0 0 0-5 0L4 11a3.5 3.5 0 0 0 5 5l1-1"]),YR=I1(["M4 6.5h5M12.5 6.5H16M4 13.5h4M11.5 13.5H16","M10.5 4.5v4M9.5 11.5v4"]),BC=I1(["M5.5 3.5h8A1.5 1.5 0 0 1 15 5v10a1.5 1.5 0 0 1-1.5 1.5h-8z","M5.5 3.5v13","M8.5 7.5h3.5M8.5 10.5h2.5","M12 3.5v4l1-.8 1 .8"]),QR=I1(["M3 6A1.5 1.5 0 0 1 4.5 4.5h3.2l1.8 2h6A1.5 1.5 0 0 1 17 8v6.5a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 3 14.5z"]),JR=I1(["M4 5.5A1.5 1.5 0 0 1 5.5 4h9A1.5 1.5 0 0 1 16 5.5v6a1.5 1.5 0 0 1-1.5 1.5H9l-3.5 3v-3A1.5 1.5 0 0 1 4 11.5z"]),eD=I1(["M6 7.5h8a2 2 0 0 1 2 2V14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9.5a2 2 0 0 1 2-2z","M10 4.5v3","M10 3.5h.01","M7.75 11.5h.01M12.25 11.5h.01"]),tD=I1(["M4.5 4.5h11a1.5 1.5 0 0 1 1.5 1.5v8a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 3 14V6a1.5 1.5 0 0 1 1.5-1.5z","M6.5 8.25L8.75 10 6.5 11.75","M10.5 12h3"]),PC=I1(["M3.5 5.5A1.5 1.5 0 0 1 5 4h7a1.5 1.5 0 0 1 1.5 1.5V10A1.5 1.5 0 0 1 12 11.5H8L5 14v-2.5A1.5 1.5 0 0 1 3.5 10z","M13.5 7.5H15A1.5 1.5 0 0 1 16.5 9v4.5A1.5 1.5 0 0 1 15 15v2l-2.5-2h-3A1.5 1.5 0 0 1 8 13.5V13"]);var H9=e=>String.fromCharCode(65+e),DC=e=>(e?.options??[]).map(t=>typeof t=="string"?{label:t}:t),Sp=e=>e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLElement&&e.isContentEditable;function GC(e,t,n){let a=(0,C1.useRef)(t);a.current=t,(0,C1.useEffect)(()=>{if(e===0)return;let i=r=>{if(r.defaultPrevented||r.metaKey||r.ctrlKey||r.altKey||r.shiftKey||r.key.length!==1||Sp(r.target)||Sp(document.activeElement)||document.querySelector('[role="dialog"], [aria-modal="true"]')!==null)return;let s=r.key.toUpperCase().charCodeAt(0)-65;s>=0&&s<e?(r.preventDefault(),a.current(s)):s===e&&n.current&&(r.preventDefault(),n.current.focus())};return document.addEventListener("keydown",i,!0),()=>document.removeEventListener("keydown",i,!0)},[e,n])}function OC({question:e,onAnswer:t,onDismiss:n,ownAnswer:a=!1,raised:i=!1}){let[r,s]=(0,C1.useState)(""),[c,o]=(0,C1.useState)([]),l=(0,C1.useRef)(null),p=(0,C1.useId)(),u=DC(e),m=e.multiSelect===!0,d=r.trim(),f=m&&c.length>0||d!=="",w=L=>{if(m){o(C=>C.includes(L)?C.filter(j=>j!==L):[...C,L]);return}t({selected:[L]})},k=()=>{f&&t({selected:m?c:[],...d?{custom:d}:{}})};GC(u.length,L=>w(u[L].label),l);let v=u.length>0?H9(u.length):void 0,b=a?(0,C1.createElement)("textarea",{ref:l,rows:1,value:r,autoComplete:"off",spellCheck:!1,className:"bt-q-input","aria-label":T("Your own answer"),placeholder:T("Type your own answer"),"aria-keyshortcuts":v?.toLowerCase(),onChange:L=>s(L.target.value),onKeyDown:L=>{L.key!=="Enter"||L.shiftKey||L.nativeEvent.isComposing||(L.preventDefault(),k())}}):null,_=u.map((L,C)=>{let j=m&&c.includes(L.label);return(0,C1.createElement)("button",{key:L.label,type:"button",className:"bt-q-opt","aria-pressed":m?j:void 0,"aria-keyshortcuts":H9(C).toLowerCase(),onClick:()=>w(L.label)},(0,C1.createElement)("span",{className:"bt-key","aria-hidden":!0},H9(C)),(0,C1.createElement)("span",{className:"bt-q-body"},(0,C1.createElement)("span",{className:"bt-q-label"},L.label),L.description?(0,C1.createElement)("span",{className:"bt-q-desc"},L.description):null),j&&!i?(0,C1.createElement)("span",{className:"bt-q-check",title:T("Selected")},(0,C1.createElement)($t)):null)});i&&b&&_.push((0,C1.createElement)("label",{key:"own",className:"bt-q-opt bt-q-ownrow","data-filled":d!==""?"":void 0},v?(0,C1.createElement)("span",{className:"bt-key","aria-hidden":!0},v):null,(0,C1.createElement)("span",{className:"bt-q-body"},b)));let z=null;return i&&m?z=(0,C1.createElement)("div",{className:"bt-q-foot"},(0,C1.createElement)("button",{type:"button",className:"bt-q-btn",onClick:n},T("Skip")),(0,C1.createElement)("button",{type:"submit",className:"bt-q-submit",disabled:!f},T("Submit"))):(i||m)&&f&&(z=(0,C1.createElement)("div",{className:"bt-q-foot"},(0,C1.createElement)("button",{type:"submit",className:"bt-q-submit"},T("Submit")))),(0,C1.createElement)("form",{className:i?"bt-q bt-q-raised":"bt-q","aria-labelledby":p,onSubmit:L=>{L.preventDefault(),k()}},(0,C1.createElement)("div",{className:"bt-q-head"},(0,C1.createElement)("div",{className:"bt-q-text"},(0,C1.createElement)("p",{className:"bt-q-title",id:p},e.header?"".concat(e.header," \xB7 "):"",e.question),e.detail?(0,C1.createElement)("div",{className:"bt-q-detail"},e.detail):null,i&&m?(0,C1.createElement)("div",{className:"bt-q-detail"},T("Choose all that apply")):null),(0,C1.createElement)("button",{type:"button",className:"bt-q-x","aria-label":T("Dismiss question"),title:T("Dismiss"),onClick:n},(0,C1.createElement)(Mt))),_.length>0?(0,C1.createElement)("div",{className:"bt-q-list",role:"group"},_):null,b&&!i?(0,C1.createElement)("div",{className:"bt-q-custom"},(0,C1.createElement)("label",{className:"bt-q-field"},b),!m&&f?(0,C1.createElement)("button",{type:"submit",className:"bt-q-submit"},T("Submit")):null):null,z)}function N9({sessionId:e,question:t,actions:n,inline:a}){let[i,r]=(0,C1.useState)(null);if(i===t.id)return null;let s=o=>{r(t.id),n.answerQuestion(e,t.id,{selected:o.selected??[],custom:o.custom??""}).catch(()=>r(null))},c=()=>{r(t.id),n.dismissQuestion(e)};return(0,C1.createElement)("div",{className:a?"bt-q-inline":"bt-q-dock"},(0,C1.createElement)(OC,{key:t.id,question:t,onAnswer:s,onDismiss:c,ownAnswer:t.allowCustom===!0,raised:!a}))}var J1=U1(g0(),1);var c1=U1(g0(),1),el=U1(R3(),1);var E=U1(eh(),1);function th(e){var t,n,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=th(e[t]))&&(a&&(a+=" "),a+=n)}else for(n in e)e[n]&&(a&&(a+=" "),a+=n);return a}function e$(){for(var e,t,n=0,a="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=th(e))&&(a&&(a+=" "),a+=t);return a}var f0=e$;var q=U1(g0(),1);var D3={root:"Ei",content:"Ni",text:"be",decoration:"ze",sweep:"u","dsh-row-shimmer-sweep":"we",highlight:"E","dsh-row-shimmer-highlight":"ke"};var Qe={root:"Ai",header:"N",row:"l",leading:"A",iconIdle:"ve",chevronHover:"ye",title:"Yi"};var _6={button:"je",md:"Ii",sm:"Ri",primary:"Xe",ghost:"Te",outline:"Ke",toolbar:"_e",icon:"Bi"};var ln={wrap:"Fe",icon:"Qi",input:"Ee"};var v7=U1(R3(),1);var N5={keys:"Ui",key:"I",tooltip:"Ae",separator:"Vi",joined:"Ye"};var T5={surface:"R",backing:"B",compact:"Wi",material:"Zi"};var Ae={root:"pa",card:"xa",copyable:"Ge",feedback:"fa",copied:"ca",status:"ma",preview:"K",inline:"ga",media:"ha"};var H1='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>',N1='';var nh={title:"AliExpress",slug:"aliexpress",get svg(){return H1+"AliExpress"+N1+this.path+T1},path:"M5.166 9.096a.022.022 0 0 0-.022.021c0 .396-.32.717-.713.717a.021.021 0 0 0-.021.022c0 .012.01.021.021.021.394 0 .713.322.713.718 0 .012.01.021.022.021.011 0 .021-.01.021-.021A.717.717 0 0 1 5.9 9.88a.021.021 0 0 0 0-.043.716.716 0 0 1-.713-.718v-.002a.021.021 0 0 0-.006-.015.022.022 0 0 0-.015-.006zm-3.693.526L0 13.462h.48l.355-.922h1.782l.354.922h.481L1.98 9.622zm2.264.002v3.838h.491V9.624zm2.375 0v3.838h2.413v-.502H6.613v-1.19H8.19v-.477H6.613v-1.166h1.773v-.502zm-4.386.592l.698 1.82H1.028zm14.689.402a1.466 1.466 0 0 0-.966.366V10.7h-.491v2.763h.49c.002-.477 0-.955.002-1.433a.969.969 0 0 1 .965-.918zm4.18.007c-.053 0-.105.003-.158.01-.315.031-.606.175-.753.377a.689.689 0 0 0-.14.465c.007.2.066.357.233.496.184.147.42.2.657.259.311.067.426.095.546.186.08.07.133.127.136.27 0 .25-.221.372-.42.41a.89.89 0 0 1-.894-.344l-.371.288c.33.382.777.505 1.09.5.54-.01.891-.217 1.029-.534.066-.153.063-.309.063-.38a.677.677 0 0 0-.267-.545c-.228-.177-.583-.228-.636-.242-.437-.078-.658-.196-.697-.341-.043-.192.102-.35.297-.411a.76.76 0 0 1 .857.277l.367-.247a1.166 1.166 0 0 0-.939-.494zm2.387 0c-.052 0-.105.003-.157.01-.316.031-.607.175-.753.377a.689.689 0 0 0-.14.465c.006.2.065.357.233.496.183.147.42.2.657.259.31.067.426.095.545.186.081.07.134.127.136.27.001.25-.221.372-.42.41a.89.89 0 0 1-.894-.344l-.371.288c.33.382.777.505 1.09.5.541-.01.891-.217 1.03-.534.065-.153.062-.309.062-.38a.677.677 0 0 0-.267-.545c-.227-.177-.583-.228-.636-.242-.437-.078-.658-.196-.696-.341-.043-.192.101-.35.297-.411a.76.76 0 0 1 .857.277l.367-.247a1.167 1.167 0 0 0-.94-.494zm-9.84.002a1.461 1.461 0 0 0-1.42 1.117 1.305 1.305 0 0 0-.041.327v2.833h.491v-1.813c.17.18.487.42.96.454a1.447 1.447 0 0 0 1.208-.627 1.457 1.457 0 0 0-1.199-2.292zm4.804 0a1.448 1.448 0 0 0-1.288 2.08c.255.53.811.87 1.412.833a1.452 1.452 0 0 0 1.012-.51l-.363-.291a.968.968 0 0 1-1.106.273 1.01 1.01 0 0 1-.602-.69h2.239l.002-.427a1.295 1.295 0 0 0-1.306-1.268zm-9.2.08l1.062 1.377-1.062 1.378h.581l.779-1.01.778 1.01h.581l-1.062-1.378 1.062-1.378h-.581l-.778 1.01-.779-1.01zm-3.825.015v2.74h.49v-2.74zm8.233.37a.96.96 0 0 1 .95.993.963.963 0 0 1-.863.998.962.962 0 0 1-1.034-.739c-.074-.382 0-.746.307-1.019a.959.959 0 0 1 .64-.233zm4.79.015a.823.823 0 0 1 .819.755h-1.76a.964.964 0 0 1 .94-.755z",source:"https://www.alibabagroup.com/en/ir/reports",hex:"FF4747"};var ah={title:"Apple",slug:"apple",get svg(){return H1+"Apple"+N1+this.path+T1},path:"M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701",source:"https://www.apple.com",hex:"000000"};var ih={title:"Baidu",slug:"baidu",get svg(){return H1+"Baidu"+N1+this.path+T1},path:"M9.154 0C7.71 0 6.54 1.658 6.54 3.707c0 2.051 1.171 3.71 2.615 3.71 1.446 0 2.614-1.659 2.614-3.71C11.768 1.658 10.6 0 9.154 0zm7.025.594C14.86.58 13.347 2.589 13.2 3.927c-.187 1.745.25 3.487 2.179 3.735 1.933.25 3.175-1.806 3.422-3.364.252-1.555-.995-3.364-2.362-3.674a1.218 1.218 0 0 0-.261-.03zM3.582 5.535a2.811 2.811 0 0 0-.156.008c-2.118.19-2.428 3.24-2.428 3.24-.287 1.41.686 4.425 3.297 3.864 2.617-.561 2.262-3.68 2.183-4.362-.125-1.018-1.292-2.773-2.896-2.75zm16.534 1.753c-2.308 0-2.617 2.119-2.617 3.616 0 1.43.121 3.425 2.988 3.362 2.867-.063 2.553-3.238 2.553-3.988 0-.745-.62-2.99-2.924-2.99zm-8.264 2.478c-1.424.014-2.708.925-3.323 1.947-1.118 1.868-2.863 3.05-3.112 3.363-.25.309-3.61 2.116-2.864 5.42.746 3.301 3.365 3.237 3.365 3.237s1.93.19 4.171-.31c2.24-.495 4.17.123 4.17.123s5.233 1.748 6.665-1.616c1.43-3.364-.808-5.109-.808-5.109s-2.99-2.306-4.736-4.798c-1.072-1.665-2.348-2.268-3.528-2.257zm-2.234 3.84l1.542.024v8.197H7.758c-1.47-.291-2.055-1.292-2.13-1.462-.072-.173-.488-.976-.268-2.343.635-2.049 2.447-2.196 2.447-2.196h1.81zm3.964 2.39v3.881c.096.413.612.488.612.488h1.614v-4.343h1.689v5.782h-3.915c-1.517-.39-1.59-1.465-1.59-1.465v-4.317zm-5.458 1.147c-.66.197-.978.708-1.05.928-.076.22-.247.78-.1 1.269.294 1.095 1.248 1.144 1.248 1.144h1.37v-3.34z",source:"https://www.baidu.com",hex:"2932E1"};var rh={title:"Bilibili",slug:"bilibili",get svg(){return H1+"Bilibili"+N1+this.path+T1},path:"M17.813 4.653h.854c1.51.054 2.769.578 3.773 1.574 1.004.995 1.524 2.249 1.56 3.76v7.36c-.036 1.51-.556 2.769-1.56 3.773s-2.262 1.524-3.773 1.56H5.333c-1.51-.036-2.769-.556-3.773-1.56S.036 18.858 0 17.347v-7.36c.036-1.511.556-2.765 1.56-3.76 1.004-.996 2.262-1.52 3.773-1.574h.774l-1.174-1.12a1.234 1.234 0 0 1-.373-.906c0-.356.124-.658.373-.907l.027-.027c.267-.249.573-.373.92-.373.347 0 .653.124.92.373L9.653 4.44c.071.071.134.142.187.213h4.267a.836.836 0 0 1 .16-.213l2.853-2.747c.267-.249.573-.373.92-.373.347 0 .662.151.929.4.267.249.391.551.391.907 0 .355-.124.657-.373.906zM5.333 7.24c-.746.018-1.373.276-1.88.773-.506.498-.769 1.13-.786 1.894v7.52c.017.764.28 1.395.786 1.893.507.498 1.134.756 1.88.773h13.334c.746-.017 1.373-.275 1.88-.773.506-.498.769-1.129.786-1.893v-7.52c-.017-.765-.28-1.396-.786-1.894-.507-.497-1.134-.755-1.88-.773zM8 11.107c.373 0 .684.124.933.373.25.249.383.569.4.96v1.173c-.017.391-.15.711-.4.96-.249.25-.56.374-.933.374s-.684-.125-.933-.374c-.25-.249-.383-.569-.4-.96V12.44c0-.373.129-.689.386-.947.258-.257.574-.386.947-.386zm8 0c.373 0 .684.124.933.373.25.249.383.569.4.96v1.173c-.017.391-.15.711-.4.96-.249.25-.56.374-.933.374s-.684-.125-.933-.374c-.25-.249-.383-.569-.4-.96V12.44c.017-.391.15-.711.4-.96.249-.249.56-.373.933-.373Z",source:"https://www.bilibili.com",hex:"00A1D6"};var sh={title:"CSDN",slug:"csdn",get svg(){return H1+"CSDN"+N1+this.path+T1},path:"M4.693 13.638c-.497.568-1.363.63-1.712.63-.648 0-1.144-.164-1.474-.488-.313-.307-.478-.76-.489-1.346-.025-1.358.744-2.762 2.074-2.762.635 0 1.124.455 1.311.644a.337.337 0 0 0 .282.099.38.38 0 0 0 .241-.159c.068-.087.135-.237.138-.401s-.057-.344-.243-.49a2.642 2.642 0 0 0-1.668-.591c-.819 0-1.627.376-2.218 1.033-.621.691-.953 1.63-.935 2.646.015.815.282 1.5.773 1.982.528.518 1.3.791 2.235.791 1.097 0 1.776-.325 2.154-.597a.584.584 0 0 0 .24-.456.702.702 0 0 0-.208-.497c-.23-.248-.448-.101-.503-.037ZM9.663 11.488a7.471 7.471 0 0 0-.698-.248c-.157-.048-.309-.091-.45-.131-.922-.26-1.027-.5-1.017-.68.022-.363.515-.853 1.352-.792.607.045 1.015.509 1.205.781.149.214.371.135.434.095a.602.602 0 0 0 .309-.514.626.626 0 0 0-.209-.488 2.654 2.654 0 0 0-3.347-.273c-.456.323-.744.772-.77 1.202-.064 1.061 1.015 1.366 1.803 1.588.214.061.429.127.667.202 1.14.357 1.173.717 1.092 1.267-.082.556-.696.834-1.685.761-1.029-.076-1.464-.61-1.612-.901-.05-.098-.205-.248-.413-.156-.514.229-.473.731-.26.993.339.416 1.15 1.035 2.667 1.035 1.734 0 2.255-.875 2.378-1.64.092-.572-.022-1.028-.348-1.396-.236-.267-.592-.495-1.101-.706ZM16.44 9.323c-.598-.431-1.393-.61-2.36-.532-.712.058-1.274.243-1.335.263l-.006.002a.437.437 0 0 0-.297.379l-.47 5.201a.337.337 0 0 0 .247.35l.072.02.066.018.086.021a7.914 7.914 0 0 0 1.64.183c.972 0 1.765-.23 2.36-.684.764-.583 1.141-1.5 1.118-2.725-.021-1.135-.398-1.974-1.121-2.495Zm-.662 4.461c-.836.639-2.09.562-2.677.481a.128.128 0 0 1-.109-.137l.397-4.248a.113.113 0 0 1 .086-.1c.999-.241 1.777-.168 2.312.218.189.137.348.331.471.568.176.339.277.765.286 1.234.017.916-.24 1.583-.765 1.984ZM23.967 10.41a1.92 1.92 0 0 0-.432-.919c-.399-.465-1.029-.689-1.848-.689-.734 0-1.372.228-1.947.799.007-.086.019-.159.018-.223s-.017-.116-.066-.163c-.048-.045-.077-.067-.127-.077-.05-.01-.122-.008-.256-.006a.587.587 0 0 0-.589.54s-.325 3.874-.428 5.165a.308.308 0 0 0 .073.228.36.36 0 0 0 .26.131h.387a.224.224 0 0 0 .226-.205l.273-2.929.014-.147a1.902 1.902 0 0 1 .082-.412c.014-.045.03-.092.047-.14.245-.694.803-1.72 1.971-1.694.84.018 1.449.455 1.385 1.114-.101 1.034-.266 3.1-.358 4.14-.019.209.182.273.252.273h.304a.442.442 0 0 0 .444-.404s.185-2.127.294-3.352l.048-.532a1.959 1.959 0 0 0-.026-.5Z",source:"https://www.csdn.net/company/index.html",hex:"FC5531"};var ch={title:"DuckDuckGo",slug:"duckduckgo",get svg(){return H1+"DuckDuckGo"+N1+this.path+T1},path:"M12 0C5.37 0 0 5.37 0 12s5.37 12 12 12 12-5.37 12-12S18.63 0 12 0zm0 .984C18.083.984 23.016 5.916 23.016 12S18.084 23.016 12 23.016.984 18.084.984 12C.984 5.917 5.916.984 12 .984zm0 .938C6.434 1.922 1.922 6.434 1.922 12c0 4.437 2.867 8.205 6.85 9.55-.237-.82-.776-2.753-1.6-6.052-1.184-4.741-2.064-8.606 2.379-9.813.047-.011.064-.064.03-.093-.514-.467-1.382-.548-2.233-.38a.06.06 0 0 1-.07-.058c0-.011 0-.023.011-.035.205-.286.572-.507.822-.64a1.843 1.843 0 0 0-.607-.335c-.059-.022-.059-.12-.006-.144.006-.006.012-.012.024-.012 1.749-.233 3.586.292 4.49 1.448.011.011.023.017.035.023 2.968.635 3.509 4.837 3.328 5.998a9.607 9.607 0 0 0 2.346-.576c.746-.286 1.008-.222 1.101-.053.1.193-.018.513-.28.81-.496.567-1.393 1.01-2.974 1.137-.546.044-1.029.024-1.445.006-.789-.035-1.339-.059-1.633.39-.192.298-.041.998 1.487 1.22 1.09.157 2.078.047 2.798-.034.643-.07 1.073-.118 1.172.069.21.402-.996 1.207-3.066 1.224-.158 0-.315-.006-.467-.011-1.283-.065-2.227-.414-2.816-.735a.094.094 0 0 1-.035-.017c-.105-.059-.31.045-.188.267.07.134.444.478 1.004.776-.058.466.087 1.184.338 2l.088-.016c.041-.009.087-.019.134-.025.507-.082.775.012.926.175.717-.536 1.913-1.294 2.03-1.154.583.694.66 2.332.53 2.99-.004.012-.017.024-.04.035-.274.117-1.783-.296-1.783-.511-.059-1.075-.26-1.173-.493-1.225h-.156c.006.006.012.018.018.03l.052.12c.093.257.24 1.063.13 1.26-.112.199-.835.297-1.284.303-.443.006-.543-.158-.637-.408-.07-.204-.103-.675-.103-.95a.857.857 0 0 1 .012-.216c-.134.058-.333.193-.397.281-.017.262-.017.682.123 1.149.07.221-1.518 1.164-1.74.99-.227-.181-.634-1.952-.459-2.67-.187.017-.338.075-.42.191-.367.508.093 2.933.582 3.248.257.169 1.54-.553 2.176-1.095.105.145.305.158.553.158.326-.012.782-.06 1.103-.158.192.45.423.972.613 1.388 4.47-1.032 7.803-5.037 7.803-9.82 0-5.566-4.512-10.078-10.078-10.078zm1.791 5.646c-.42 0-.678.146-.795.332-.023.047.047.094.094.07.14-.075.357-.161.701-.156.328.006.516.09.67.159l.023.01c.041.017.088-.03.059-.065-.134-.18-.332-.35-.752-.35zm-5.078.198a1.24 1.24 0 0 0-.522.082c-.454.169-.67.526-.67.76 0 .051.112.057.141.011.081-.123.21-.31.617-.478.408-.17.73-.146.951-.094.047.012.083-.041.041-.07a.989.989 0 0 0-.558-.211zm5.434 1.423a.651.651 0 0 0-.655.647.652.652 0 0 0 1.307 0 .646.646 0 0 0-.652-.647zm.283.262h.008a.17.17 0 0 1 .17.17c0 .093-.077.17-.17.17a.17.17 0 0 1-.17-.17c0-.09.072-.165.162-.17zm-5.358.076a.752.752 0 0 0-.758.758c0 .42.338.758.758.758s.758-.337.758-.758a.756.756 0 0 0-.758-.758zm.328.303h.01c.112 0 .2.089.2.2 0 .11-.088.197-.2.197a.195.195 0 0 1-.197-.198c0-.107.082-.194.187-.199z",source:"https://github.com/duckduckgo/duckduckgo-privacy-extension/blob/5c6ac8d6a07421adbfb97ee2ff855dd7655f8d71/shared/img/logo-small-grayscale.svg",hex:"DE5833",guidelines:"https://duckduckgo.com/press#press-materials"};var oh={title:"eBay",slug:"ebay",get svg(){return H1+"eBay"+N1+this.path+T1},path:"M6.056 12.132v-4.92h1.2v3.026c.59-.703 1.402-.906 2.202-.906 1.34 0 2.828.904 2.828 2.855 0 .233-.015.457-.06.668.24-.953 1.274-1.305 2.896-1.344.51-.018 1.095-.018 1.56-.018v-.135c0-.885-.556-1.244-1.53-1.244-.72 0-1.245.3-1.305.81h-1.275c.136-1.29 1.5-1.62 2.686-1.62 1.064 0 1.995.27 2.415 1.02l-.436-.84h1.41l2.055 4.125 2.055-4.126H24l-3.72 7.305h-1.346l1.07-2.04-2.33-4.38c.13.255.2.555.2.93v2.46c0 .346.01.69.04 1.005H16.8a6.543 6.543 0 01-.046-.765c-.603.734-1.32.96-2.32.96-1.48 0-2.272-.78-2.272-1.695 0-.15.015-.284.037-.405-.3 1.246-1.36 2.086-2.767 2.086-.87 0-1.694-.315-2.2-.93 0 .24-.015.494-.04.734h-1.18c.02-.39.04-.855.04-1.245v-1.05h-4.83c.065 1.095.818 1.74 1.853 1.74.718 0 1.355-.3 1.568-.93h1.24c-.24 1.29-1.61 1.725-2.79 1.725C.95 15.009 0 13.822 0 12.232c0-1.754.982-2.91 3.116-2.91 1.688 0 2.93.886 2.94 2.806v.005zm9.137.183c-1.095.034-1.77.233-1.77.95 0 .465.36.97 1.305.97 1.26 0 1.935-.69 1.935-1.814v-.13c-.45 0-.99.006-1.484.022h.012zm-6.06 1.875c1.11 0 1.876-.806 1.876-2.02s-.768-2.02-1.893-2.02c-1.11 0-1.89.806-1.89 2.02s.765 2.02 1.875 2.02h.03zm-4.35-2.514c-.044-1.125-.854-1.546-1.725-1.546-.944 0-1.694.474-1.815 1.546z",source:"https://go.developer.ebay.com/logos",hex:"E53238"};var lh={title:"Facebook",slug:"facebook",get svg(){return H1+"Facebook"+N1+this.path+T1},path:"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z",source:"https://about.meta.com/brand/resources/facebook/logo",hex:"0866FF",guidelines:"https://about.meta.com/brand/resources/facebook/logo"};var pn={title:"GitHub",slug:"github",get svg(){return H1+"GitHub"+N1+this.path+T1},path:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12",source:"https://github.com/logos",hex:"181717",guidelines:"https://github.com/logos"};var ph={title:"GitLab",slug:"gitlab",get svg(){return H1+"GitLab"+N1+this.path+T1},path:"m23.6004 9.5927-.0337-.0862L20.3.9814a.851.851 0 0 0-.3362-.405.8748.8748 0 0 0-.9997.0539.8748.8748 0 0 0-.29.4399l-2.2055 6.748H7.5375l-2.2057-6.748a.8573.8573 0 0 0-.29-.4412.8748.8748 0 0 0-.9997-.0537.8585.8585 0 0 0-.3362.4049L.4332 9.5015l-.0325.0862a6.0657 6.0657 0 0 0 2.0119 7.0105l.0113.0087.03.0213 4.976 3.7264 2.462 1.8633 1.4995 1.1321a1.0085 1.0085 0 0 0 1.2197 0l1.4995-1.1321 2.4619-1.8633 5.006-3.7489.0125-.01a6.0682 6.0682 0 0 0 2.0094-7.003z",source:"https://about.gitlab.com/press/press-kit/",hex:"FC6D26",guidelines:"https://about.gitlab.com/handbook/marketing/corporate-marketing/brand-activation/trademark-guidelines/"};var uh={title:"Google",slug:"google",get svg(){return H1+"Google"+N1+this.path+T1},path:"M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z",source:"https://partnermarketinghub.withgoogle.com",hex:"4285F4",guidelines:"https://about.google/brand-resource-center/brand-elements/"};var mh={title:"Instagram",slug:"instagram",get svg(){return H1+"Instagram"+N1+this.path+T1},path:"M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077",source:"https://about.meta.com/brand/resources/instagram",hex:"FF0069",guidelines:"https://about.meta.com/brand/resources/instagram"};var dh={title:"Juejin",slug:"juejin",get svg(){return H1+"Juejin"+N1+this.path+T1},path:"m12 14.316 7.454-5.88-2.022-1.625L12 11.1l-.004.003-5.432-4.288-2.02 1.624 7.452 5.88Zm0-7.247 2.89-2.298L12 2.453l-.004-.005-2.884 2.318 2.884 2.3Zm0 11.266-.005.002-9.975-7.87L0 12.088l.194.156 11.803 9.308 7.463-5.885L24 12.085l-2.023-1.624Z",source:"https://juejin.cn",hex:"007FFF"};var hh={title:"MDN Web Docs",slug:"mdnwebdocs",get svg(){return H1+"MDN Web Docs"+N1+this.path+T1},path:"m21.538 1.1-6.745 21.8h-2.77L18.77 1.1ZM24 1.1v21.8h-2.462V1.1Zm-12 0v21.8H9.538V1.1Zm-2.462 0L2.77 22.9H0L6.746 1.1Z",source:"https://github.com/mdn/yari/blob/77e6cda02f7013219e9da27a00b9424085e60fdb/client/src/assets/mdn-logo.svg",hex:"000000"};var gh={title:"Netflix",slug:"netflix",get svg(){return H1+"Netflix"+N1+this.path+T1},path:"m5.398 0 8.348 23.602c2.346.059 4.856.398 4.856.398L10.113 0H5.398zm8.489 0v9.172l4.715 13.33V0h-4.715zM5.398 1.5V24c1.873-.225 2.81-.312 4.715-.398V14.83L5.398 1.5z",source:"https://brand.netflix.com/en/assets/logos",hex:"E50914",guidelines:"https://brand.netflix.com/en/assets/logos"};var bh={title:"npm",slug:"npm",get svg(){return H1+"npm"+N1+this.path+T1},path:"M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z",source:"https://www.npmjs.com",hex:"CB3837",guidelines:"https://docs.npmjs.com/policies/logos-and-usage"};var fh={title:"PyPI",slug:"pypi",get svg(){return H1+"PyPI"+N1+this.path+T1},path:"M23.922 13.58v3.912L20.55 18.72l-.078.055.052.037 3.45-1.256.026-.036v-3.997l-.053-.036-.025.092z M23.621 5.618l-3.04 1.107v3.912l3.339-1.215V5.509zM23.92 13.457V9.544l-3.336 1.215v3.913zM20.47 14.71V10.8L17.17 12v3.913zM17.034 19.996v-3.912l-3.313 1.206v3.912zM17.17 16.057v3.868l3.314-1.206V14.85l-3.314 1.206zm2.093 1.882c-.367.134-.663-.074-.663-.463s.296-.814.663-.947c.365-.133.662.075.662.464s-.297.814-.662.946z M13.225 9.315l.365-.132-3.285-1.197-3.323 1.21.102.037 3.184 1.16zM20.507 10.664V6.751L17.17 7.965v3.913zM17.058 11.918V8.005l-3.302 1.202v3.912zM13.643 9.246l-3.336 1.215v3.913l3.336-1.215zM6.907 13.165l3.322 1.209v-3.913L6.907 9.252z M10.34 7.873l3.281 1.193V5.198l-3.28-1.193zM20.507 2.715L17.19 3.922v3.913l3.317-1.207zM16.95 3.903L13.724 2.73l-3.269 1.19 3.225 1.174zM15.365 4.606l-1.624.592v3.868l3.317-1.207V3.991l-1.693.615zm-.391 2.778c-.367.134-.662-.074-.662-.464s.295-.813.662-.946c.366-.133.663.074.663.464s-.297.813-.663.946z M10.229 18.41v-3.914l-3.322-1.209V17.2zM13.678 17.182v-3.913l-3.371 1.227v3.913z M13.756 17.154l3.3-1.2V12.04l-3.3 1.2zM13.678 21.217l-3.371 1.227v-3.912h-.078v3.912l-3.322-1.209v-3.913l-.053-.058-.025-.06-3.336-1.21v-3.948l.034.013 3.287 1.196.015-.078-3.261-1.187 3.26-1.187v-.109L3.876 9.62l-.307-.112 3.26-1.188v.877l.079-.055V6.769l3.257 1.185.058-.061L7.084 6.75l-.102-.037 3.24-1.179v-.083L6.854 6.677v.018l-.025.018v1.523L3.44 9.47v.02l-.025.017v4.007l-3.39 1.233v.019L0 14.784v3.995l.025.037 3.4 1.237.008-.006.007.01 3.4 1.238.008-.006.006.01 3.4 1.237.014-.009.012.01 3.45-1.256.026-.037-.078-.027zM3.493 9.563l3.257 1.185-3.257 1.187V9.562zM3.4 19.96L.078 18.752v-3.913l2.361.86.96.349v3.913zm.015-3.99L.335 14.85l-.182-.066 3.262-1.187v2.374zm3.399 5.231l-3.321-1.209v-3.912l3.321 1.209v3.912zM23.791 5.434l-3.21-1.17v2.338zM20.387 2.643l-3.24-1.18-3.27 1.19 3.247 1.182z",source:"https://pypi.org",hex:"3775A9"};var vh={title:"QQ",slug:"qq",get svg(){return H1+"QQ"+N1+this.path+T1},path:"M21.395 15.035a40 40 0 0 0-.803-2.264l-1.079-2.695c.001-.032.014-.562.014-.836C19.526 4.632 17.351 0 12 0S4.474 4.632 4.474 9.241c0 .274.013.804.014.836l-1.08 2.695a39 39 0 0 0-.802 2.264c-1.021 3.283-.69 4.643-.438 4.673.54.065 2.103-2.472 2.103-2.472 0 1.469.756 3.387 2.394 4.771-.612.188-1.363.479-1.845.835-.434.32-.379.646-.301.778.343.578 5.883.369 7.482.189 1.6.18 7.14.389 7.483-.189.078-.132.132-.458-.301-.778-.483-.356-1.233-.646-1.846-.836 1.637-1.384 2.393-3.302 2.393-4.771 0 0 1.563 2.537 2.103 2.472.251-.03.581-1.39-.438-4.673",source:"https://en.wikipedia.org/wiki/File:Tencent_QQ.svg",hex:"1EBAFC",guidelines:"https://qq.design/brand/BrandDesign/Logo"};var yh={title:"Quora",slug:"quora",get svg(){return H1+"Quora"+N1+this.path+T1},path:"M7.3799.9483A11.9628 11.9628 0 0 1 21.248 19.5397l2.4096 2.4225c.7322.7362.21 1.9905-.8272 1.9905l-10.7105.01a12.52 12.52 0 0 1-.304 0h-.02A11.9628 11.9628 0 0 1 7.3818.9503Zm7.3217 4.428a7.1717 7.1717 0 1 0-5.4873 13.2512 7.1717 7.1717 0 0 0 5.4883-13.2511Z",source:"https://www.quora.com",hex:"B92B27"};var _h={title:"Reddit",slug:"reddit",get svg(){return H1+"Reddit"+N1+this.path+T1},path:"M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286C.775 23.225 1.097 24 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199c1.104 0 1.999.895 1.999 1.999 0 1.105-.895 2-1.999 2-.946 0-1.739-.657-1.947-1.539v.002c-1.147.162-2.032 1.15-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363.473-.363 1.064-.58 1.707-.58 1.547 0 2.802 1.254 2.802 2.802 0 1.117-.655 2.081-1.601 2.531-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87-.954-.447-1.614-1.415-1.614-2.538 0-1.548 1.255-2.802 2.803-2.802.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01c0-1.663 1.263-3.034 2.88-3.207.188-.911.993-1.595 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135-.147.015-.241.168-.183.305.483 1.154 1.622 1.964 2.953 1.964 1.33 0 2.47-.81 2.953-1.964.057-.137-.037-.29-.184-.305-.863-.087-1.795-.135-2.769-.135Z",source:"https://www.redditinc.com/brand",hex:"FF4500",guidelines:"https://www.redditinc.com/brand"};var wh={title:"Sina Weibo",slug:"sinaweibo",get svg(){return H1+"Sina Weibo"+N1+this.path+T1},path:"M10.098 20.323c-3.977.391-7.414-1.406-7.672-4.02-.259-2.609 2.759-5.047 6.74-5.441 3.979-.394 7.413 1.404 7.671 4.018.259 2.6-2.759 5.049-6.737 5.439l-.002.004zM9.05 17.219c-.384.616-1.208.884-1.829.602-.612-.279-.793-.991-.406-1.593.379-.595 1.176-.861 1.793-.601.622.263.82.972.442 1.592zm1.27-1.627c-.141.237-.449.353-.689.253-.236-.09-.313-.361-.177-.586.138-.227.436-.346.672-.24.239.09.315.36.18.601l.014-.028zm.176-2.719c-1.893-.493-4.033.45-4.857 2.118-.836 1.704-.026 3.591 1.886 4.21 1.983.64 4.318-.341 5.132-2.179.8-1.793-.201-3.642-2.161-4.149zm7.563-1.224c-.346-.105-.57-.18-.405-.615.375-.977.42-1.804 0-2.404-.781-1.112-2.915-1.053-5.364-.03 0 0-.766.331-.571-.271.376-1.217.315-2.224-.27-2.809-1.338-1.337-4.869.045-7.888 3.08C1.309 10.87 0 13.273 0 15.348c0 3.981 5.099 6.395 10.086 6.395 6.536 0 10.888-3.801 10.888-6.82 0-1.822-1.547-2.854-2.915-3.284v.01zm1.908-5.092c-.766-.856-1.908-1.187-2.96-.962-.436.09-.706.511-.616.932.09.42.511.691.932.602.511-.105 1.067.044 1.442.465.376.421.466.977.316 1.473-.136.406.089.856.51.992.405.119.857-.105.992-.512.33-1.021.12-2.178-.646-3.035l.03.045zm2.418-2.195c-1.576-1.757-3.905-2.419-6.054-1.968-.496.104-.812.587-.706 1.081.104.496.586.813 1.082.707 1.532-.331 3.185.15 4.296 1.383 1.112 1.246 1.429 2.943.947 4.416-.165.48.106 1.007.586 1.157.479.165.991-.104 1.157-.586.675-2.088.241-4.478-1.338-6.235l.03.045z",source:"https://en.wikipedia.org/wiki/Sina_Weibo",hex:"E6162D"};var xh={title:"Spotify",slug:"spotify",get svg(){return H1+"Spotify"+N1+this.path+T1},path:"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z",source:"https://developer.spotify.com/documentation/general/design-and-branding/#using-our-logo",hex:"1ED760",guidelines:"https://developer.spotify.com/documentation/general/design-and-branding/#using-our-logo"};var kh={title:"Stack Overflow",slug:"stackoverflow",get svg(){return H1+"Stack Overflow"+N1+this.path+T1},path:"M15.725 0l-1.72 1.277 6.39 8.588 1.716-1.277L15.725 0zm-3.94 3.418l-1.369 1.644 8.225 6.85 1.369-1.644-8.225-6.85zm-3.15 4.465l-.905 1.94 9.702 4.517.904-1.94-9.701-4.517zm-1.85 4.86l-.44 2.093 10.473 2.201.44-2.092-10.473-2.203zM1.89 15.47V24h19.19v-8.53h-2.133v6.397H4.021v-6.396H1.89zm4.265 2.133v2.13h10.66v-2.13H6.154Z",source:"https://stackoverflow.design/brand/logo/",hex:"F58025",guidelines:"https://stackoverflow.com/legal/trademark-guidance"};var zh={title:"Taobao",slug:"taobao",get svg(){return H1+"Taobao"+N1+this.path+T1},path:"M21.3099 9.9008c.5285 0 .9584.4284.9584.9589 0 .5276-.4299.958-.9584.958-.5276 0-.9585-.4304-.9585-.958 0-.5305.4309-.959.9585-.959zm2.3899 3.0462h-10.408v-.9595h4.15V9.7591h-2.8869v-.768h2.8868v-.9234h-2.508v.2034h-1.6418V5.3733h1.6418v.3497c.4945-.0607 1.463-.1814 2.5175-.2956v-.8257h1.8522v.6408c.9249-.0807 1.753-.1312 2.211-.1112 1.489.0716 2.4449.2816 2.485 1.273.0356.989-1.4244 1.9043-1.4244 1.9043l-.4509-.4338v.1929h-2.8116v.9233h3.229v.768h-3.229v2.2285h4.3873v.9595zM21.5259 7.299l-.0115-.0115s1.3722-.7595.3427-1.272c-.8633-.43-5.5346.3056-6.9234.6257v.6578h6.5922zM1.8822 6.4166c.5515 0 .9985-.449.9985-1 0-.5531-.447-.9995-.9985-.9995a.9984.9984 0 00-1.001.9995c0 .551.4463 1 1.001 1zm3.4094-.8596c.252-.4364.3717-.7195.3717-.7195l-1.466-.4123S3.6068 6.3546 2.5527 7.253c0 0 1.0195.5897 1.0095.5732a9.6444 9.6444 0 00.782-.8793c.2345-.1017.4585-.198.6794-.2876-.2715.487-.7094 1.219-1.1478 1.6809l.6178.5385s.4198-.4033.8792-.8907h.5246v.8993H3.8557v.7204h2.0416v1.7235c-.025 0-.0521 0-.0782-.002-.224-.0106-.5751-.0476-.7124-.265-.1678-.2636-.044-.7496-.0346-1.0457H3.6608l-.0496.026s-.517 2.3142 1.489 2.2621c1.8793.0521 2.9544-.523 3.4725-.9178l.2064.7645 1.1583-.4825-.785-1.9183-.941.292.1764.6574c-.2415.1809-.518.3157-.8187.4134V9.6076h1.995v-.7204h-1.995v-.8993h2.003v-.72h-3.557c.2565-.3111.4589-.5982.5095-.78L5.9058 6.32c2.6603-.9519 4.1408-.7886 4.1278.773v4.1128s.1568 1.4124-1.461 1.3107l-.8757-.188-.207.8307s3.7822 1.0812 4.0913-1.8246c.3096-2.9058-.0767-4.7576-.0767-4.7576s-.3451-2.6824-6.213-1.02zM.0582 12.1534l1.5867.9905c1.0967-2.3813 1.0265-2.0657 1.302-2.92.2832-.8737.3453-1.54-.1362-2.023-.6172-.6197-.6844-.6773-1.6017-1.3582L.5487 7.8562l1.2164.7576s.8141.4153.4274 1.1903c-.3617.7375-2.1343 2.3493-2.1343 2.3493zm19.94 6.8484s-.0186.523-.6704.523c-.5892 0-.6363-.4113-.6363-.4113-.2485.2996-.6207.4549-1.0696.4549-.7606 0-1.2961-.5135-1.2961-1.2896 0-.786.5576-1.28 1.3983-1.28.3832 0 .725.1462.9258.4037.0066-.0706.0136-.1362.0136-.1968 0-.5622-.3092-.8127-1.01-.8127-.3382 0-.6659.0486-1.0136.1408.1107-.219.1924-.3793.2971-.4574.1202-.0972.4294-.1408.9419-.1408 1.269 0 1.742.4259 1.742 1.4279v1.2024c0 .3161.033.4359.3772.4359zm-1.3272-.745c0-.4815-.2555-.747-.6378-.747-.4043 0-.6668.2825-.6668.7595 0 .467.2775.7615.6533.7615.3882 0 .6513-.275.6513-.774zm5.2706-.501c0 1.1528-.6924 1.8271-1.7786 1.8271-1.0957 0-1.7766-.6743-1.7766-1.8271 0-1.1584.6809-1.8252 1.7766-1.8252 1.0862 0 1.7786.6719 1.7786 1.8252zm-1.0867 0c0-.8693-.237-1.2997-.692-1.2997-.4734 0-.6938.4304-.6938 1.2997 0 .8662.2204 1.299.6939 1.299.467 0 .6919-.4328.6919-1.299zm-7.1313-.0441c0 1.1703-.6534 1.8567-1.5767 1.8567-.4233 0-.8056-.1633-1.0466-.47 0 0-.1082.4264-.6618.4264-.6884 0-.6644-.523-.6644-.523.3868.0165.3758-.2145.3758-.436v-2.8862c0-.3552-.0742-.4795-.4269-.4865.0136-.1072.0777-.5376.6789-.5376.8156 0 .7615.9149.7615.9149v.786c.229-.268.5516-.3942.9905-.3942.9624 0 1.5697.6447 1.5697 1.7495zm-1.0937.0806c0-.8983-.2716-1.3557-.7616-1.3557-.4393 0-.74.3968-.74 1.1047v.3602c0 .7205.3152 1.1168.7631 1.1168.477 0 .7385-.4134.7385-1.226zm-3.2425-.0365c0 1.1528-.688 1.8271-1.7806 1.8271-1.0937 0-1.7726-.6743-1.7726-1.8271 0-1.1584.6789-1.8252 1.7726-1.8252 1.0927 0 1.7806.6719 1.7806 1.8252zm-1.0832 0c0-.8693-.236-1.2997-.6974-1.2997-.467 0-.6874.4304-.6874 1.2997 0 .8662.2205 1.299.6874 1.299.469 0 .6974-.4328.6974-1.299zm-5.9895-2.716c-.268.0782-.7901.0972-1.5516.0972-.925 0-1.5391-.039-1.8543-.039-.5195 0-.7254.1342-.9088.6592.3006-.1017.6729-.1087 1.1353-.1087.3512 0 .4108.0431.4108.2941V18.846c0 .2821.1178.6789.7255.6789.7104 0 .8346-.526.8346-.526-.3552-.007-.4248-.1313-.4248-.4865V15.952c0-.2675.1012-.2795.471-.2795.1252 0 .2094.007.2605.007.545 0 .6883-.1047.9018-.6398zm3.1303 3.962s-.018.523-.6664.523c-.556 0-.6403-.4113-.6403-.4113-.248.2996-.6207.4549-1.0656.4549-.7655 0-1.2996-.5135-1.2996-1.2896 0-.786.557-1.28 1.3993-1.28.3843 0 .7274.1462.9258.4037.0036-.0706.0106-.1362.0106-.1968 0-.5622-.3051-.8127-1.007-.8127-.3382 0-.6669.0486-1.015.1408.1131-.219.1923-.3793.2945-.4574.1293-.0972.4329-.1408.9469-.1408 1.265 0 1.746.4259 1.746 1.4279v1.2024c0 .3161.0276.4359.3708.4359zm-1.3262-.745c0-.4815-.2555-.747-.6378-.747-.4013 0-.6668.2825-.6668.7595 0 .467.279.7615.6513.7615.3893 0 .6533-.275.6533-.774z",source:"https://www.alibabagroup.com/en/ir/reports",hex:"E94F20"};var Kr={title:"Telegram",slug:"telegram",get svg(){return H1+"Telegram"+N1+this.path+T1},path:"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z",source:"https://telegram.org/tour/screenshots",hex:"26A5E4"};var Ch={title:"TikTok",slug:"tiktok",get svg(){return H1+"TikTok"+N1+this.path+T1},path:"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z",source:"https://tiktok.com",hex:"000000"};var Ah={title:"V2EX",slug:"v2ex",get svg(){return H1+"V2EX"+N1+this.path+T1},path:"M.671 1.933h13.821a1.342 1.342 0 0 1 .98.425l8.166 8.725a1.342 1.342 0 0 1 0 1.834l-8.166 8.724a1.342 1.342 0 0 1-.98.426H.673A.671.671 0 0 1 0 21.395v-6.878h13.19l2.276-2.28a.336.336 0 0 0 0-.474l-2.276-2.28H0V2.604a.671.671 0 0 1 .671-.671Z",source:"https://www.v2ex.com",hex:"1F1F1F"};var Mh={title:"WeChat",slug:"wechat",get svg(){return H1+"WeChat"+N1+this.path+T1},path:"M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 0 1 .213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 0 0 .167-.054l1.903-1.114a.864.864 0 0 1 .717-.098 10.16 10.16 0 0 0 2.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348zM5.785 5.991c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178A1.17 1.17 0 0 1 4.623 7.17c0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178 1.17 1.17 0 0 1-1.162-1.178c0-.651.52-1.18 1.162-1.18zm5.34 2.867c-1.797-.052-3.746.512-5.28 1.786-1.72 1.428-2.687 3.72-1.78 6.22.942 2.453 3.666 4.229 6.884 4.229.826 0 1.622-.12 2.361-.336a.722.722 0 0 1 .598.082l1.584.926a.272.272 0 0 0 .14.047c.134 0 .24-.111.24-.247 0-.06-.023-.12-.038-.177l-.327-1.233a.582.582 0 0 1-.023-.156.49.49 0 0 1 .201-.398C23.024 18.48 24 16.82 24 14.98c0-3.21-2.931-5.837-6.656-6.088V8.89c-.135-.01-.27-.027-.407-.03zm-2.53 3.274c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.97-.982zm4.844 0c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.969-.982z",source:"https://wechat.design/tool/brand",hex:"07C160",guidelines:"https://wechat.design/brand/main-brand"};var Yr={title:"WhatsApp",slug:"whatsapp",get svg(){return H1+"WhatsApp"+N1+this.path+T1},path:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z",source:"https://about.meta.com/brand/resources/whatsapp/whatsapp-brand",hex:"25D366",guidelines:"https://about.meta.com/brand/resources/whatsapp/whatsapp-brand"};var $h={title:"Wikipedia",slug:"wikipedia",get svg(){return H1+"Wikipedia"+N1+this.path+T1},path:"M12.09 13.119c-.936 1.932-2.217 4.548-2.853 5.728-.616 1.074-1.127.931-1.532.029-1.406-3.321-4.293-9.144-5.651-12.409-.251-.601-.441-.987-.619-1.139-.181-.15-.554-.24-1.122-.271C.103 5.033 0 4.982 0 4.898v-.455l.052-.045c.924-.005 5.401 0 5.401 0l.051.045v.434c0 .119-.075.176-.225.176l-.564.031c-.485.029-.727.164-.727.436 0 .135.053.33.166.601 1.082 2.646 4.818 10.521 4.818 10.521l.136.046 2.411-4.81-.482-1.067-1.658-3.264s-.318-.654-.428-.872c-.728-1.443-.712-1.518-1.447-1.617-.207-.023-.313-.05-.313-.149v-.468l.06-.045h4.292l.113.037v.451c0 .105-.076.15-.227.15l-.308.047c-.792.061-.661.381-.136 1.422l1.582 3.252 1.758-3.504c.293-.64.233-.801.111-.947-.07-.084-.305-.22-.812-.24l-.201-.021c-.052 0-.098-.015-.145-.051-.045-.031-.067-.076-.067-.129v-.427l.061-.045c1.247-.008 4.043 0 4.043 0l.059.045v.436c0 .121-.059.178-.193.178-.646.03-.782.095-1.023.439-.12.186-.375.589-.646 1.039l-2.301 4.273-.065.135 2.792 5.712.17.048 4.396-10.438c.154-.422.129-.722-.064-.895-.197-.172-.346-.273-.857-.295l-.42-.016c-.061 0-.105-.014-.152-.045-.043-.029-.072-.075-.072-.119v-.436l.059-.045h4.961l.041.045v.437c0 .119-.074.18-.209.18-.648.03-1.127.18-1.443.421-.314.255-.557.616-.736 1.067 0 0-4.043 9.258-5.426 12.339-.525 1.007-1.053.917-1.503-.031-.571-1.171-1.773-3.786-2.646-5.71l.053-.036z",source:"https://commons.wikimedia.org/wiki/File:Wikipedia-logo-v2.svg",hex:"000000"};var Qr={title:"X",slug:"x",get svg(){return H1+"X"+N1+this.path+T1},path:"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z",source:"https://x.com",hex:"000000",guidelines:"https://about.x.com/en/who-we-are/brand-toolkit"};var Lh={title:"Y Combinator",slug:"ycombinator",get svg(){return H1+"Y Combinator"+N1+this.path+T1},path:"M0 24V0h24v24H0zM6.951 5.896l4.112 7.708v5.064h1.583v-4.972l4.148-7.799h-1.749l-2.457 4.875c-.372.745-.688 1.434-.688 1.434s-.297-.708-.651-1.434L8.831 5.896h-1.88z",source:"https://www.ycombinator.com/press",hex:"F0652F"};var Jr={title:"YouTube",slug:"youtube",get svg(){return H1+"YouTube"+N1+this.path+T1},path:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z",source:"https://www.youtube.com/howyoutubeworks/resources/brand-resources/#logos-icons-and-colors",hex:"FF0000",guidelines:"https://www.youtube.com/howyoutubeworks/resources/brand-resources/#logos-icons-and-colors"};var Sh={title:"Zhihu",slug:"zhihu",get svg(){return H1+"Zhihu"+N1+this.path+T1},path:"M5.721 0C2.251 0 0 2.25 0 5.719V18.28C0 21.751 2.252 24 5.721 24h12.56C21.751 24 24 21.75 24 18.281V5.72C24 2.249 21.75 0 18.281 0zm1.964 4.078c-.271.73-.5 1.434-.68 2.11h4.587c.545-.006.445 1.168.445 1.171H9.384a58.104 58.104 0 01-.112 3.797h2.712c.388.023.393 1.251.393 1.266H9.183a9.223 9.223 0 01-.408 2.102l.757-.604c.452.456 1.512 1.712 1.906 2.177.473.681.063 2.081.063 2.081l-2.794-3.382c-.653 2.518-1.845 3.607-1.845 3.607-.523.468-1.58.82-2.64.516 2.218-1.73 3.44-3.917 3.667-6.497H4.491c0-.015.197-1.243.806-1.266h2.71c.024-.32.086-3.254.086-3.797H6.598c-.136.406-.158.447-.268.753-.594 1.095-1.603 1.122-1.907 1.155.906-1.821 1.416-3.6 1.591-4.064.425-1.124 1.671-1.125 1.671-1.125zM13.078 6h6.377v11.33h-2.573l-2.184 1.373-.401-1.373h-1.219zm1.313 1.219v8.86h.623l.263.937 1.455-.938h1.456v-8.86z",source:"https://www.zhihu.com",hex:"0084FF"};var Q0={markdown:"e",fileLink:"Ze",fileMention:"p",linkIcon:"Qa",tableScroll:"a",tableFill:"Ua",imageAlt:"Va",image:"ei",compact:"i",imageButton:"W",previewName:"Wa"};var es={bubble:"r","tooltip-in":"ii",label:"ai"};var K1=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function p$(e){return ps(e)}function ps(e){return Array.isArray(e)?u$(e):e instanceof RegExp?e:typeof e=="object"?m$(e):e}function u$(e){let t=[];for(let n=0,a=e.length;n{for(let a in n)e[a]=n[a]}),e}function Ih(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Ih(e.substring(0,e.length-1)):e.substr(~t+1)}var ts=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,un=class{static hasCaptures(e){return e===null?!1:(ts.lastIndex=0,ts.test(e))}static replaceCaptures(e,t,n){return e.replace(ts,(a,i,r,s)=>{let c=n[parseInt(i||r,10)];if(c){let o=t.substring(c.start,c.end);for(;o[0]===".";)o=o.substring(1);switch(s){case"downcase":return o.toLowerCase();case"upcase":return o.toUpperCase();default:return o}}else return a})}};function Bh(e,t){return et?1:0}function Ph(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,a=t.length;if(n===a){for(let i=0;ithis._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,a=this._cachedMatchRoot.get(t).find(i=>d$(e.parent,i.parentScopes));return a?new Gh(a.fontStyle,a.foreground,a.background):null}},ns=class mn{constructor(t,n){this.parent=t,this.scopeName=n}parent;scopeName;static push(t,n){for(let a of n)t=new mn(t,a);return t}static from(...t){let n=null;for(let a=0;a"){if(n===t.length-1)return!1;a=t[++n],i=!0}for(;e&&!h$(e.scopeName,a);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function h$(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Gh=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}fontStyle;foregroundId;backgroundId};function g$(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],a=0;for(let i=0,r=t.length;i1&&(k=f.slice(0,f.length-1),k.reverse()),n[a++]=new b$(w,k,i,o,l,p)}}return n}var b$=class{constructor(e,t,n,a,i,r){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=a,this.foreground=i,this.background=r}scope;parentScopes;index;fontStyle;foreground;background},D0=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(D0||{});function f$(e,t){e.sort((o,l)=>{let p=Bh(o.scope,l.scope);return p!==0||(p=Ph(o.parentScopes,l.parentScopes),p!==0)?p:o.index-l.index});let n=0,a="#000000",i="#ffffff";for(;e.length>=1&&e[0].scope==="";){let o=e.shift();o.fontStyle!==-1&&(n=o.fontStyle),o.foreground!==null&&(a=o.foreground),o.background!==null&&(i=o.background)}let r=new v$(t),s=new Gh(n,r.getId(a),r.getId(i)),c=new _$(new is(0,null,-1,0,0),[]);for(let o=0,l=e.length;ot?console.log("how did this happen?"):this.scopeDepth=t,n!==-1&&(this.fontStyle=n),a!==0&&(this.foreground=a),i!==0&&(this.background=i)}},_$=class rs{constructor(t,n=[],a={}){this._mainRule=t,this._children=a,this._rulesWithParentScopes=n}_mainRule;_children;_rulesWithParentScopes;static _cmpBySpecificity(t,n){if(t.scopeDepth!==n.scopeDepth)return n.scopeDepth-t.scopeDepth;let a=0,i=0;for(;t.parentScopes[a]===">"&&a++,n.parentScopes[i]===">"&&i++,!(a>=t.parentScopes.length||i>=n.parentScopes.length);){let r=n.parentScopes[i].length-t.parentScopes[a].length;if(r!==0)return r;a++,i++}return n.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let a=t.indexOf("."),i,r;if(a===-1?(i=t,r=""):(i=t.substring(0,a),r=t.substring(a+1)),this._children.hasOwnProperty(i))return this._children[i].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(rs._cmpBySpecificity),n}insert(t,n,a,i,r,s){if(n===""){this._doInsertHere(t,a,i,r,s);return}let c=n.indexOf("."),o,l;c===-1?(o=n,l=""):(o=n.substring(0,c),l=n.substring(c+1));let p;this._children.hasOwnProperty(o)?p=this._children[o]:(p=new rs(this._mainRule.clone(),is.cloneArr(this._rulesWithParentScopes)),this._children[o]=p),p.insert(t+1,l,a,i,r,s)}_doInsertHere(t,n,a,i,r){if(n===null){this._mainRule.acceptOverwrite(t,a,i,r);return}for(let s=0,c=this._rulesWithParentScopes.length;s>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,n,a,i,r,s,c){let o=X2.getLanguageId(t),l=X2.getTokenType(t),p=X2.containsBalancedBrackets(t)?1:0,u=X2.getFontStyle(t),m=X2.getForeground(t),d=X2.getBackground(t);return n!==0&&(o=n),a!==8&&(l=a),i!==null&&(p=i?1:0),r!==-1&&(u=r),s!==0&&(m=s),c!==0&&(d=c),(o<<0|l<<8|p<<10|u<<11|m<<15|d<<24)>>>0}};function hn(e,t){let n=[],a=w$(e),i=a.next();for(;i!==null;){let o=0;if(i.length===2&&i.charAt(1)===":"){switch(i.charAt(0)){case"R":o=1;break;case"L":o=-1;break;default:console.log("Unknown priority ".concat(i," in scope selector"))}i=a.next()}let l=s();if(n.push({matcher:l,priority:o}),i!==",")break;i=a.next()}return n;function r(){if(i==="-"){i=a.next();let o=r();return l=>!!o&&!o(l)}if(i==="("){i=a.next();let o=c();return i===")"&&(i=a.next()),o}if(Eh(i)){let o=[];do o.push(i),i=a.next();while(Eh(i));return l=>t(o,l)}return null}function s(){let o=[],l=r();for(;l;)o.push(l),l=r();return p=>o.every(u=>u(p))}function c(){let o=[],l=s();for(;l&&(o.push(l),i==="|"||i===",");){do i=a.next();while(i==="|"||i===",");l=s()}return p=>o.some(u=>u(p))}}function Eh(e){return!!e&&!!e.match(/[\w\.:]+/)}function w$(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let a=n[0];return n=t.exec(e),a}}}function Wh(e){typeof e.dispose=="function"&&e.dispose()}var z6=class{constructor(e){this.scopeName=e}scopeName;toKey(){return this.scopeName}},x$=class{constructor(e,t){this.scopeName=e,this.ruleName=t}scopeName;ruleName;toKey(){return"".concat(this.scopeName,"#").concat(this.ruleName)}},k$=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},z$=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new z6(this.initialScopeName)]}repo;initialScopeName;seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new k$;for(let n of e)C$(n,this.initialScopeName,this.repo,t);for(let n of t.references)if(n instanceof z6){if(this.seenFullScopeRequests.has(n.scopeName))continue;this.seenFullScopeRequests.add(n.scopeName),this.Q.push(n)}else{if(this.seenFullScopeRequests.has(n.scopeName)||this.seenPartialScopeRequests.has(n.toKey()))continue;this.seenPartialScopeRequests.add(n.toKey()),this.Q.push(n)}}};function C$(e,t,n,a){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw new Error("No grammar provided for <".concat(t,">"));return}let r=n.lookup(t);e instanceof z6?dn({baseGrammar:r,selfGrammar:i},a):ss(e.ruleName,{baseGrammar:r,selfGrammar:i,repository:i.repository},a);let s=n.injections(e.scopeName);if(s)for(let c of s)a.add(new z6(c))}function ss(e,t,n){if(t.repository&&t.repository[e]){let a=t.repository[e];gn([a],t,n)}}function dn(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&gn(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&gn(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function gn(e,t,n){for(let a of e){if(n.visitedRule.has(a))continue;n.visitedRule.add(a);let i=a.repository?qh({},t.repository,a.repository):t.repository;Array.isArray(a.patterns)&&gn(a.patterns,{...t,repository:i},n);let r=a.include;if(!r)continue;let s=Uh(r);switch(s.kind){case 0:dn({...t,selfGrammar:t.baseGrammar},n);break;case 1:dn(t,n);break;case 2:ss(s.ruleName,{...t,repository:i},n);break;case 3:case 4:let c=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(c){let o={baseGrammar:t.baseGrammar,selfGrammar:c,repository:i};s.kind===4?ss(s.ruleName,o,n):dn(o,n)}else s.kind===4?n.add(new x$(s.scopeName,s.ruleName)):n.add(new z6(s.scopeName));break}}}var A$=class{kind=0},M$=class{kind=1},$$=class{constructor(e){this.ruleName=e}ruleName;kind=2},L$=class{constructor(e){this.scopeName=e}scopeName;kind=3},S$=class{constructor(e,t){this.scopeName=e,this.ruleName=t}scopeName;ruleName;kind=4};function Uh(e){if(e==="$base")return new A$;if(e==="$self")return new M$;let t=e.indexOf("#");if(t===-1)return new L$(e);if(t===0)return new $$(e.substring(1));{let n=e.substring(0,t),a=e.substring(t+1);return new S$(n,a)}}var Z$=/\\(\d+)/,Fh=/\\(\d+)/g,E$=-1,Xh=-2;var M6=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,a){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=un.hasCaptures(this._name),this._contentName=a||null,this._contentNameIsCapturing=un.hasCaptures(this._contentName)}get debugName(){let e=this.$location?"".concat(Ih(this.$location.filename),":").concat(this.$location.line):"unknown";return"".concat(this.constructor.name,"#").concat(this.id," @ ").concat(e)}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:un.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:un.replaceCaptures(this._contentName,e,t)}},F$=class extends M6{retokenizeCapturedWithRuleId;constructor(e,t,n,a,i){super(e,t,n,a),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,n,a){throw new Error("Not supported!")}},j$=class extends M6{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,a,i){super(e,t,n,null),this._match=new C6(a,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return"".concat(this._match.source)}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e).compileAG(e,n,a)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new A6,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},jh=class extends M6{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,a,i){super(e,t,n,a),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e).compileAG(e,n,a)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new A6,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},cs=class extends M6{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,a,i,r,s,c,o,l){super(e,t,n,a),this._begin=new C6(i,this.id),this.beginCaptures=r,this._end=new C6(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=c,this.applyEndPatternLast=o||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return"".concat(this._begin.source)}get debugEndRegExp(){return"".concat(this._end.source)}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,a)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new A6;for(let n of this.patterns)e.getRule(n).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},bn=class extends M6{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,a,i,r,s,c,o){super(e,t,n,a),this._begin=new C6(i,this.id),this.beginCaptures=r,this.whileCaptures=c,this._while=new C6(s,Xh),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=o.patterns,this.hasMissingPatterns=o.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return"".concat(this._begin.source)}get debugWhileRegExp(){return"".concat(this._while.source)}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e).compileAG(e,n,a)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new A6;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,a){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,a)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new A6,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Kh=class J0{static createCaptureRule(t,n,a,i,r){return t.registerRule(s=>new F$(n,s,a,i,r))}static getCompiledRuleId(t,n,a){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new j$(t.$vscodeTextmateLocation,t.id,t.name,t.match,J0._compileCaptures(t.captures,n,a));if(typeof t.begin>"u"){t.repository&&(a=qh({},a,t.repository));let r=t.patterns;return typeof r>"u"&&t.include&&(r=[{include:t.include}]),new jh(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,J0._compilePatterns(r,n,a))}return t.while?new bn(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,J0._compileCaptures(t.beginCaptures||t.captures,n,a),t.while,J0._compileCaptures(t.whileCaptures||t.captures,n,a),J0._compilePatterns(t.patterns,n,a)):new cs(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,J0._compileCaptures(t.beginCaptures||t.captures,n,a),t.end,J0._compileCaptures(t.endCaptures||t.captures,n,a),t.applyEndPatternLast,J0._compilePatterns(t.patterns,n,a))}),t.id}static _compileCaptures(t,n,a){let i=[];if(t){let r=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let c=parseInt(s,10);c>r&&(r=c)}for(let s=0;s<=r;s++)i[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let c=parseInt(s,10),o=0;t[s].patterns&&(o=J0.getCompiledRuleId(t[s],n,a)),i[c]=J0.createCaptureRule(n,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,o)}}return i}static _compilePatterns(t,n,a){let i=[];if(t)for(let r=0,s=t.length;rt.substring(i.start,i.end));return Fh.lastIndex=0,this.source.replace(Fh,(i,r)=>Rh(a[parseInt(r,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],n=[],a=[],i=[],r,s,c,o;for(r=0,s=this.source.length;rn.source);this._cached=new Hh(e,t,this._items.map(n=>n.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){let a=this._items.map(i=>i.resolveAnchors(t,n));return new Hh(e,a,this._items.map(i=>i.ruleId))}},Hh=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}regExps;rules;scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t{let n=this._scopeToLanguage(t),a=this._toStandardTokenType(t);return new as(n,a)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let n=t.match(os.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},N$=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([n,a])=>Rh(n));t.sort(),t.reverse(),this.scopesRegExp=new RegExp("^((".concat(t.join(")|("),"))($|\\.)"),"")}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},mG={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Qh=!1,Nh=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}stack;stoppedEarly};function Jh(e,t,n,a,i,r,s,c){let o=t.content.length,l=!1,p=-1;if(s){let d=T$(e,t,n,a,i,r);i=d.stack,a=d.linePos,n=d.isFirstLine,p=d.anchorPosition}let u=Date.now();for(;!l;){if(c!==0&&Date.now()-u>c)return new Nh(i,!0);m()}return new Nh(i,!1);function m(){let d=V$(e,t,n,a,i,p);if(!d){r.produce(i,o),l=!0;return}let f=d.captureIndices,w=d.matchedRuleId,k=f&&f.length>0?f[0].end>a:!1;if(w===E$){let v=i.getRule(e);r.produce(i,f[0].start),i=i.withContentNameScopesList(i.nameScopesList),w6(e,t,n,i,r,v.endCaptures,f),r.produce(i,f[0].end);let b=i;if(i=i.parent,p=b.getAnchorPos(),!k&&b.getEnterPos()===a){i=b,r.produce(i,o),l=!0;return}}else{let v=e.getRule(w);r.produce(i,f[0].start);let b=i,_=v.getName(t.content,f),z=i.contentNameScopesList.pushAttributed(_,e);if(i=i.push(w,a,p,f[0].end===o,null,z,z),v instanceof cs){let L=v;w6(e,t,n,i,r,L.beginCaptures,f),r.produce(i,f[0].end),p=f[0].end;let C=L.getContentName(t.content,f),j=z.pushAttributed(C,e);if(i=i.withContentNameScopesList(j),L.endHasBackReferences&&(i=i.withEndRule(L.getEndWithResolvedBackReferences(t.content,f))),!k&&b.hasSameRuleAs(i)){i=i.pop(),r.produce(i,o),l=!0;return}}else if(v instanceof bn){let L=v;w6(e,t,n,i,r,L.beginCaptures,f),r.produce(i,f[0].end),p=f[0].end;let C=L.getContentName(t.content,f),j=z.pushAttributed(C,e);if(i=i.withContentNameScopesList(j),L.whileHasBackReferences&&(i=i.withEndRule(L.getWhileWithResolvedBackReferences(t.content,f))),!k&&b.hasSameRuleAs(i)){i=i.pop(),r.produce(i,o),l=!0;return}}else if(w6(e,t,n,i,r,v.captures,f),r.produce(i,f[0].end),i=i.pop(),!k){i=i.safePop(),r.produce(i,o),l=!0;return}}f[0].end>a&&(a=f[0].end,n=!1)}}function T$(e,t,n,a,i,r){let s=i.beginRuleCapturedEOL?0:-1,c=[];for(let o=i;o;o=o.pop()){let l=o.getRule(e);l instanceof bn&&c.push({rule:l,stack:o})}for(let o=c.pop();o;o=c.pop()){let{ruleScanner:l,findOptions:p}=B$(o.rule,e,o.stack.endRule,n,a===s),u=l.findNextMatchSync(t,a,p);if(u){if(u.ruleId!==Xh){i=o.stack.pop();break}u.captureIndices&&u.captureIndices.length&&(r.produce(o.stack,u.captureIndices[0].start),w6(e,t,n,o.stack,r,o.rule.whileCaptures,u.captureIndices),r.produce(o.stack,u.captureIndices[0].end),s=u.captureIndices[0].end,u.captureIndices[0].end>a&&(a=u.captureIndices[0].end,n=!1))}else{i=o.stack.pop();break}}return{stack:i,linePos:a,anchorPosition:s,isFirstLine:n}}function V$(e,t,n,a,i,r){let s=q$(e,t,n,a,i,r),c=e.getInjections();if(c.length===0)return s;let o=I$(c,e,t,n,a,i,r);if(!o)return s;if(!s)return o;let l=s.captureIndices[0].start,p=o.captureIndices[0].start;return p=c)&&(c=_,o=b.captureIndices,l=b.ruleId,p=f.priority,c===i))break}return o?{priorityMatch:p===-1,captureIndices:o,matchedRuleId:l}:null}function eg(e,t,n,a,i){if(Qh){let s=e.compile(t,n),c=tg(a,i);return{ruleScanner:s,findOptions:c}}return{ruleScanner:e.compileAG(t,n,a,i),findOptions:0}}function B$(e,t,n,a,i){if(Qh){let s=e.compileWhile(t,n),c=tg(a,i);return{ruleScanner:s,findOptions:c}}return{ruleScanner:e.compileWhileAG(t,n,a,i),findOptions:0}}function tg(e,t){let n=0;return e||(n|=1),t||(n|=4),n}function w6(e,t,n,a,i,r,s){if(r.length===0)return;let c=t.content,o=Math.min(r.length,s.length),l=[],p=s[0].end;for(let u=0;up)break;for(;l.length>0&&l[l.length-1].endPos<=d.start;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop();if(l.length>0?i.produceFromScopes(l[l.length-1].scopes,d.start):i.produce(a,d.start),m.retokenizeCapturedWithRuleId){let w=m.getName(c,s),k=a.contentNameScopesList.pushAttributed(w,e),v=m.getContentName(c,s),b=k.pushAttributed(v,e),_=a.push(m.retokenizeCapturedWithRuleId,d.start,-1,!1,null,k,b),z=e.createOnigString(c.substring(0,d.end));Jh(e,z,n&&d.start===0,d.start,_,i,!1,0),Wh(z);continue}let f=m.getName(c,s);if(f!==null){let k=(l.length>0?l[l.length-1].scopes:a.contentNameScopesList).pushAttributed(f,e);l.push(new P$(k,d.end))}}for(;l.length>0;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var P$=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function R$(e,t,n,a,i,r,s,c){return new G$(e,t,n,a,i,r,s,c)}function Th(e,t,n,a,i){let r=hn(t,fn),s=Kh.getCompiledRuleId(n,a,i.repository);for(let c of r)e.push({debugSelector:t,matcher:c.matcher,ruleId:s,grammar:i,priority:c.priority})}function fn(e,t){if(t.length{for(let i=n;in&&e.substr(0,n)===t&&e[n]==="."}var G$=class{constructor(e,t,n,a,i,r,s,c){if(this._rootScopeName=e,this.balancedBracketSelectors=r,this._onigLib=c,this._basicScopeAttributesProvider=new H$(n,a),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=Vh(t,null),this._injections=null,this._tokenTypeMatchers=[],i)for(let o of Object.keys(i)){let l=hn(o,fn);for(let p of l)this._tokenTypeMatchers.push({matcher:p.matcher,type:i[o]})}}_rootScopeName;balancedBracketSelectors;_onigLib;_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:i=>i===this._rootScopeName?this._grammar:this.getExternalGrammar(i),injections:i=>this._grammarRepository.injections(i)},t=[],n=this._rootScopeName,a=e.lookup(n);if(a){let i=a.injections;if(i)for(let s in i)Th(t,s,i[s],this,a);let r=this._grammarRepository.injections(n);r&&r.forEach(s=>{let c=this.getExternalGrammar(s);if(c){let o=c.injectionSelector;o&&Th(t,o,c,this,c)}})}return t.sort((i,r)=>i.priority-r.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,n=e(t);return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=Vh(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){let a=this._tokenize(e,t,!1,n);return{tokens:a.lineTokens.getResult(a.ruleStack,a.lineLength),ruleStack:a.ruleStack,stoppedEarly:a.stoppedEarly}}tokenizeLine2(e,t,n=0){let a=this._tokenize(e,t,!0,n);return{tokens:a.lineTokens.getBinaryResult(a.ruleStack,a.lineLength),ruleStack:a.ruleStack,stoppedEarly:a.stoppedEarly}}_tokenize(e,t,n,a){this._rootId===-1&&(this._rootId=Kh.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let i;if(!t||t===ls.NULL){i=!0;let l=this._basicScopeAttributesProvider.getDefaultAttributes(),p=this.themeProvider.getDefaults(),u=G3.set(0,l.languageId,l.tokenType,null,p.fontStyle,p.foregroundId,p.backgroundId),m=this.getRule(this._rootId).getName(null,null),d;m?d=x6.createRootAndLookUpScopeName(m,u,this):d=x6.createRoot("unknown",u),t=new ls(null,this._rootId,-1,-1,!1,null,d,d)}else i=!1,t.reset();e=e+"\n";let r=this.createOnigString(e),s=r.content.length,c=new W$(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),o=Jh(this,r,i,0,t,c,!0,a);return Wh(r),{lineLength:s,lineTokens:c,ruleStack:o.stack,stoppedEarly:o.stoppedEarly}}};function Vh(e,t){return e=p$(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var x6=class Me{constructor(t,n,a){this.parent=t,this.scopePath=n,this.tokenAttributes=a}parent;scopePath;tokenAttributes;static fromExtension(t,n){let a=t,i=t?.scopePath??null;for(let r of n)i=ns.push(i,r.scopeNames),a=new Me(a,i,r.encodedTokenAttributes);return a}static createRoot(t,n){return new Me(null,new ns(null,t),n)}static createRootAndLookUpScopeName(t,n,a){let i=a.getMetadataForScope(t),r=new ns(null,t),s=a.themeProvider.themeMatch(r),c=Me.mergeAttributes(n,i,s);return new Me(null,r,c)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Me.equals(this,t)}static equals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.scopeName!==n.scopeName||t.tokenAttributes!==n.tokenAttributes)return!1;t=t.parent,n=n.parent}while(!0)}static mergeAttributes(t,n,a){let i=-1,r=0,s=0;return a!==null&&(i=a.fontStyle,r=a.foregroundId,s=a.backgroundId),G3.set(t,n.languageId,n.tokenType,null,i,r,s)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(" ")===-1)return Me._pushAttributed(this,t,n);let a=t.split(/ /g),i=this;for(let r of a)i=Me._pushAttributed(i,r,n);return i}static _pushAttributed(t,n,a){let i=a.getMetadataForScope(n),r=t.scopePath.push(n),s=a.themeProvider.themeMatch(r),c=Me.mergeAttributes(t.tokenAttributes,i,s);return new Me(t,r,c)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let n=[],a=this;for(;a&&a!==t;)n.push({encodedTokenAttributes:a.tokenAttributes,scopeNames:a.scopePath.getExtensionIfDefined(a.parent?.scopePath??null)}),a=a.parent;return a===t?n.reverse():void 0}},ls=class S4{constructor(t,n,a,i,r,s,c,o){this.parent=t,this.ruleId=n,this.beginRuleCapturedEOL=r,this.endRule=s,this.nameScopesList=c,this.contentNameScopesList=o,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=a,this._anchorPos=i}parent;ruleId;beginRuleCapturedEOL;endRule;nameScopesList;contentNameScopesList;_stackElementBrand=void 0;static NULL=new S4(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:S4._equals(this,t)}static _equals(t,n){return t===n?!0:this._structuralEquals(t,n)?x6.equals(t.contentNameScopesList,n.contentNameScopesList):!1}static _structuralEquals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.depth!==n.depth||t.ruleId!==n.ruleId||t.endRule!==n.endRule)return!1;t=t.parent,n=n.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){S4._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,a,i,r,s,c){return new S4(this,t,n,a,i,r,s,c)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,n){return this.parent&&(n=this.parent._writeString(t,n)),t[n++]="(".concat(this.ruleId,", ").concat(this.nameScopesList?.toString(),", ").concat(this.contentNameScopesList?.toString(),")"),n}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new S4(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let n=this;for(;n&&n._enterPos===t._enterPos;){if(n.ruleId===t.ruleId)return!0;n=n.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,n){let a=x6.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new S4(t,n.ruleId,n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,a,x6.fromExtension(a,n.contentNameScopesList))}},O$=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(n=>n==="*"?(this.allowAny=!0,[]):hn(n,fn).map(a=>a.matcher)),this.unbalancedBracketScopes=t.flatMap(n=>hn(n,fn).map(a=>a.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},W$=class{constructor(e,t,n,a){this.balancedBracketSelectors=a,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}balancedBracketSelectors;_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let a=e?.tokenAttributes??0,i=!1;if(this.balancedBracketSelectors?.matchesAlways&&(i=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let r=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(r)&&(a=G3.set(a,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(i=this.balancedBracketSelectors.match(r))}if(i&&(a=G3.set(a,0,8,i,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===a){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(a),this._lastTokenEndIndex=t;return}let n=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let n=new Uint32Array(this._binaryTokens.length);for(let a=0,i=this._binaryTokens.length;a0;)r.Q.map(s=>this._loadSingleGrammar(s.scopeName)),r.processQueue();return this._grammarForScopeName(e,t,n,a,i)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let n=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,n)}}addGrammar(e,t=[],n=0,a=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,n,a)}_grammarForScopeName(e,t=0,n=null,a=null,i=null){return this._syncRegistry.grammarForScopeName(e,t,n,a,i)}},vn=ls.NULL;function L6(e,t){let n=typeof e=="string"?{}:{...e.colorReplacements},a=typeof e=="string"?e:e.name;for(let[i,r]of Object.entries(t?.colorReplacements||{}))typeof r=="string"?n[i]=r:i===a&&Object.assign(n,r);return n}function Je(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function cg(e){return Array.isArray(e)?e:[e]}async function us(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function S6(e){return!e||["plaintext","txt","text","plain"].includes(e)}function og(e){return e==="ansi"||S6(e)}function Z6(e){return e==="none"}function lg(e){return Z6(e)}var X$=/(\r?\n)/g;function V5(e,t=!1){if(e.length===0)return[["",0]];let n=e.split(X$),a=0,i=[];for(let r=0;r!o.name&&!o.scope):void 0;c?.settings?.foreground&&(a=c.settings.foreground),c?.settings?.background&&(n=c.settings.background),!a&&t?.colors?.["editor.foreground"]&&(a=t.colors["editor.foreground"]),!n&&t?.colors?.["editor.background"]&&(n=t.colors["editor.background"]),a||(a=t.type==="light"?ag.light:ag.dark),n||(n=t.type==="light"?ig.light:ig.dark),t.fg=a,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,r=new Map;function s(c){if(r.has(c))return r.get(c);i+=1;let o="#".concat(i.toString(16).padStart(8,"0").toLowerCase());return t.colorReplacements?.["#".concat(o)]?s(c):(r.set(c,o),o)}t.settings=t.settings.map(c=>{let o=c.settings?.foreground&&!c.settings.foreground.startsWith("#"),l=c.settings?.background&&!c.settings.background.startsWith("#");if(!o&&!l)return c;let p={...c,settings:{...c.settings}};if(o){let u=s(c.settings.foreground);t.colorReplacements[u]=c.settings.foreground,p.settings.foreground=u}if(l){let u=s(c.settings.background);t.colorReplacements[u]=c.settings.background,p.settings.background=u}return p});for(let c of Object.keys(t.colors||{}))if((c==="editor.foreground"||c==="editor.background"||c.startsWith("terminal.ansi"))&&!t.colors[c]?.startsWith("#")){let o=s(t.colors[c]);t.colorReplacements[o]=t.colors[c],t.colors[c]=o}return Object.defineProperty(t,rg,{enumerable:!1,writable:!1,value:!0}),t}async function K$(e){return[...new Set((await Promise.all(e.filter(t=>!og(t)).map(async t=>await us(t).then(n=>Array.isArray(n)?n:[n])))).flat())]}async function Y$(e){return(await Promise.all(e.map(async t=>lg(t)?null:yn(await us(t))))).filter(t=>!!t)}function pg(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new K1("Circular alias `".concat([...n].join(" -> ")," -> ").concat(e,"`"));n.add(e)}}return e}var Q$=class extends ng{_resolver;_themes;_langs;_alias;_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;constructor(e,t,n,a={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=a,this._themes.map(i=>this.loadTheme(i)),this.loadLanguages(this._langs)}getTheme(e){return typeof e=="string"?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=yn(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=k6.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=pg(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(i=>i.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||["*"],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let a=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(a.name=e.name,this._resolvedGrammars.set(e.name,a),e.aliases&&e.aliases.forEach(i=>{this._alias[i]=e.name}),this._loadedLanguagesCache=null,t.size)for(let i of t)this._syncRegistry?._grammars?.get(i.scopeName)?.dispose(),this._resolvedGrammars.delete(i.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(i.scopeName),this._syncRegistry?._grammars?.delete(i.scopeName),this.loadLanguage(this._langMap.get(i.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let a of e)this.resolveEmbeddedLanguages(a);let t=[...this._langGraph.entries()],n=t.filter(([a,i])=>!i);if(n.length){let a=t.filter(([i,r])=>r?(r.embeddedLanguages||r.embeddedLangs)?.some(s=>n.map(([c])=>c).includes(s)):!1).filter(i=>!n.includes(i));throw new K1("Missing languages ".concat(n.map(([i])=>"`".concat(i,"`")).join(", "),", required by ").concat(a.map(([i])=>"`".concat(i,"`")).join(", ")))}for(let[a,i]of t)this._resolver.addLanguage(i);for(let[a,i]of t)this.loadLanguage(i)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let n of t)this._langGraph.set(n,this._langMap.get(n))}},J$=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:n=>e.createScanner(n),createOnigString:n=>e.createString(n)},t.forEach(n=>this.addLanguage(n))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).includes(e.scopeName)||this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split("."),n=[];for(let a=1;a<=t.length;a++){let i=t.slice(0,a).join(".");n=[...n,...this._injections.get(i)||[]]}return n}},$6=0;function ms(e){$6+=1,e.warnings!==!1&&$6>=10&&$6%10===0&&console.warn("[Shiki] ".concat($6," 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."));let t=!1;if(!e.engine)throw new K1("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),a=(e.themes||[]).flat(1).map(yn),i=new Q$(new J$(e.engine,n),a,n,e.langAlias),r;function s(b){return pg(b,e.langAlias)}function c(b){k();let _=i.getGrammar(typeof b=="string"?b:b.name);if(!_)throw new K1("Language `".concat(b,"` not found, you may need to load it first"));return _}function o(b){if(b==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};k();let _=i.getTheme(b);if(!_)throw new K1("Theme `".concat(b,"` not found, you may need to load it first"));return _}function l(b){k();let _=o(b);return r!==b&&(i.setTheme(_),r=b),{theme:_,colorMap:i.getColorMap()}}function p(){return k(),i.getLoadedThemes()}function u(){return k(),i.getLoadedLanguages()}function m(...b){k(),i.loadLanguages(b.flat(1))}async function d(...b){return m(await K$(b))}function f(...b){k();for(let _ of b.flat(1))i.loadTheme(_)}async function w(...b){return k(),f(await Y$(b))}function k(){if(t)throw new K1("Shiki instance has been disposed")}function v(){t||(t=!0,i.dispose(),$6-=1)}return{setTheme:l,getTheme:o,getLanguage:c,getLoadedThemes:p,getLoadedLanguages:u,resolveLangAlias:s,loadLanguage:d,loadLanguageSync:m,loadTheme:w,loadThemeSync:f,dispose:v,[Symbol.dispose]:v}}var ug=new WeakMap;function E6(e,t){ug.set(e,t)}function q5(e){return ug.get(e)}var _n=class mg{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new mg(Object.fromEntries(cg(n).map(a=>[a,vn])),t)}constructor(...t){if(t.length===2){let[n,a]=t;this.lang=a,this._stacks=n}else{let[n,a,i]=t;this.lang=a,this._stacks={[i]:n}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return eL(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function eL(e){let t=[],n=new Set;function a(i){if(n.has(i))return;n.add(i);let r=i?.nameScopesList?.scopeName;r&&t.push(r),i.parent&&a(i.parent)}return a(e),t}function tL(e,t){if(!(e instanceof _n))throw new K1("Invalid grammar state");return e.getInternalStack(t)}var nL=/,/,aL=/ /;function ds(e,t,n={}){let{theme:a=e.getLoadedThemes()[0]}=n;if(S6(e.resolveLangAlias(n.lang||"text"))||Z6(a))return V5(t).map(c=>[{content:c[0],offset:c[1]}]);let{theme:i,colorMap:r}=e.setTheme(a),s=e.getLanguage(n.lang||"text");if(n.grammarState){if(n.grammarState.lang!==s.name)throw new K1('Grammar state language "'.concat(n.grammarState.lang,'" does not match highlight language "').concat(s.name,'"'));if(!n.grammarState.themes.includes(i.name))throw new K1('Grammar state themes "'.concat(n.grammarState.themes,'" do not contain highlight theme "').concat(i.name,'"'))}return hg(t,s,i,r,n)}function dg(...e){if(e.length===2)return q5(e[1]);let[t,n,a={}]=e,{lang:i="text",theme:r=t.getLoadedThemes()[0]}=a;if(S6(i)||Z6(r))throw new K1("Plain language does not have grammar state");if(i==="ansi")throw new K1("ANSI language does not have grammar state");let{theme:s,colorMap:c}=t.setTheme(r),o=t.getLanguage(i);return new _n(hs(n,o,s,c,a).stateStack,o.name,s.name)}function hg(e,t,n,a,i){let r=hs(e,t,n,a,i),s=new _n(r.stateStack,t.name,n.name);return E6(r.tokens,s),r.tokens}function hs(e,t,n,a,i){let r=L6(n,i),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:c=500,includeExplanation:o=!1}=i,l=V5(e),p=i.grammarState?tL(i.grammarState,n.name)??vn:i.grammarContextCode!=null?hs(i.grammarContextCode,t,n,a,{...i,grammarState:void 0,grammarContextCode:void 0}).stateStack:vn,u=[],m=[];for(let d=0,f=l.length;d0&&w.length>=s){u=[],m.push([{content:w,offset:k,color:"",fontStyle:0}]);continue}let v,b,_;o&&o!=="tokenType"&&(v=t.tokenizeLine(w,p,c),b=v.tokens,_=0);let z=t.tokenizeLine2(w,p,c),L=z.tokens.length/2;for(let C=0;Co1.trim());break;case"object":X=G.scope;break;default:continue}I.push({settings:G,selectors:X.map(o1=>o1.split(aL))})}B.explanation=[];let e1=0;for(;j+e1({scopeName:t}))}function rL(e,t){let n=[];for(let a=0,i=t.length;a=0&&i>=0;)sg(e[a],n[i])&&(a-=1),i-=1;return a===-1}function cL(e,t,n){let a=[];for(let{selectors:i,settings:r}of e)for(let s of i)if(sL(s,t,n)){a.push(r);break}return a}function wn(e,t,n,a=ds){let i=Object.entries(n.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),r=i.map(l=>{let p=a(e,t,{...n,theme:l.theme});return{tokens:p,state:q5(p),theme:typeof l.theme=="string"?l.theme:l.theme.name}}),s=oL(...r.map(l=>l.tokens)),c=s[0].map((l,p)=>l.map((u,m)=>{let d={content:u.content,variants:{},offset:u.offset};return"includeExplanation"in n&&n.includeExplanation&&(d.explanation=u.explanation),s.forEach((f,w)=>{let{content:k,explanation:v,offset:b,..._}=f[p][m];d.variants[i[w].color]=_}),d})),o=r[0].state?new _n(Object.fromEntries(r.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),r[0].state.lang):void 0;return o&&E6(c,o),c}function oL(...e){let t=e.map(()=>[]),n=e.length;for(let a=0;ao[a]),r=t.map(()=>[]);t.forEach((o,l)=>o.push(r[l]));let s=i.map(()=>0),c=i.map(o=>o[0]);for(;c.every(o=>o);){let o=Math.min(...c.map(l=>l.content.length));for(let l=0;lv1,booleanish:()=>v0,commaOrSpaceSeparated:()=>k2,commaSeparated:()=>t3,number:()=>O,overloadedBoolean:()=>xn,spaceSeparated:()=>O1});var lL=0,v1=Z4(),v0=Z4(),xn=Z4(),O=Z4(),O1=Z4(),t3=Z4(),k2=Z4();function Z4(){return 2**++lL}var bs=Object.keys(j6),E4=class extends q0{constructor(t,n,a,i){let r=-1;if(super(t,n),bg(this,"space",i),typeof a=="number")for(;++r4&&n.slice(0,4)==="data"&&uL.test(t)){if(t.charAt(4)==="-"){let r=t.slice(5).replace(yg,dL);a="data"+r.charAt(0).toUpperCase()+r.slice(1)}else{let r=t.slice(4);if(!yg.test(r)){let s=r.replace(pL,mL);s.charAt(0)!=="-"&&(s="-"+s),t="data"+s}}i=E4}return new i(a,t)}function mL(e){return"-"+e.toLowerCase()}function dL(e){return e.charAt(1).toUpperCase()}var Cn=gs([fs,fg,vs,ys,_s],"html"),An=gs([fs,vg,vs,ys,_s],"svg");var _g={}.hasOwnProperty;function wg(e,t){let n=t||{};function a(i,...r){let s=a.invalid,c=a.handlers;if(i&&_g.call(i,e)){let o=String(i[e]);s=_g.call(c,o)?c[o]:a.unknown}if(s)return s.call(this,i,...r)}return a.handlers=n.handlers||{},a.invalid=n.invalid,a.unknown=n.unknown,a}var hL=/["&'<>`]/g,gL=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,bL=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,fL=/[|\\{}()[\]^$+*?.]/g,xg=new WeakMap;function kg(e,t){if(e=e.replace(t.subset?vL(t.subset):hL,a),t.subset||t.escapeOnly)return e;return e.replace(gL,n).replace(bL,a);function n(i,r,s){return t.format((i.charCodeAt(0)-55296)*1024+i.charCodeAt(1)-56320+65536,s.charCodeAt(r+2),t)}function a(i,r,s){return t.format(i.charCodeAt(0),s.charCodeAt(r+1),t)}}function vL(e){let t=xg.get(e);return t||(t=yL(e),xg.set(e,t)),t}function yL(e){let t=[],n=-1;for(;++n",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var Mg=["cent","copy","divide","gt","lt","not","para","times"];var $g={}.hasOwnProperty,xs={},$n;for($n in Mn)$g.call(Mn,$n)&&(xs[Mn[$n]]=$n);var xL=/[^\dA-Za-z]/;function Lg(e,t,n,a){let i=String.fromCharCode(e);if($g.call(xs,i)){let r=xs[i],s="&"+r;return n&&Ag.includes(r)&&!Mg.includes(r)&&(!a||t&&t!==61&&xL.test(String.fromCharCode(t)))?s:s+";"}return""}function Sg(e,t,n){let a=zg(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=Lg(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let r=Cg(e,t,n.omitOptionalSemicolons);r.length|^->||--!>|"],CL=["<",">"];function Zg(e,t,n,a){return a.settings.bogusComments?"":"";function i(r){return n3(r,Object.assign({},a.settings.characterReferences,{subset:CL}))}}function Eg(e,t,n,a){return""}function I5(e,t){let n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let a=0,i=n.indexOf(t);for(;i!==-1;)a++,i=n.indexOf(t,i+t.length);return a}function Fg(e,t){let n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function jg(e){return e.join(" ").trim()}var AL=/[ \t\n\f\r]/g;function F4(e){return typeof e=="object"?e.type==="text"?Hg(e.value):!1:Hg(e)}function Hg(e){return e.replace(AL,"")===""}var k0=Ng(1),ks=Ng(-1),ML=[];function Ng(e){return t;function t(n,a,i){let r=n?n.children:ML,s=(a||0)+e,c=r[s];if(!i)for(;c&&F4(c);)s+=e,c=r[s];return c}}var $L={}.hasOwnProperty;function Ln(e){return t;function t(n,a,i){return $L.call(e,n.tagName)&&e[n.tagName](n,a,i)}}var H6=Ln({body:SL,caption:zs,colgroup:zs,dd:jL,dt:FL,head:zs,html:LL,li:EL,optgroup:HL,option:NL,p:ZL,rp:Tg,rt:Tg,tbody:VL,td:Vg,tfoot:qL,th:Vg,thead:TL,tr:IL});function zs(e,t,n){let a=k0(n,t,!0);return!a||a.type!=="comment"&&!(a.type==="text"&&F4(a.value.charAt(0)))}function LL(e,t,n){let a=k0(n,t);return!a||a.type!=="comment"}function SL(e,t,n){let a=k0(n,t);return!a||a.type!=="comment"}function ZL(e,t,n){let a=k0(n,t);return a?a.type==="element"&&(a.tagName==="address"||a.tagName==="article"||a.tagName==="aside"||a.tagName==="blockquote"||a.tagName==="details"||a.tagName==="div"||a.tagName==="dl"||a.tagName==="fieldset"||a.tagName==="figcaption"||a.tagName==="figure"||a.tagName==="footer"||a.tagName==="form"||a.tagName==="h1"||a.tagName==="h2"||a.tagName==="h3"||a.tagName==="h4"||a.tagName==="h5"||a.tagName==="h6"||a.tagName==="header"||a.tagName==="hgroup"||a.tagName==="hr"||a.tagName==="main"||a.tagName==="menu"||a.tagName==="nav"||a.tagName==="ol"||a.tagName==="p"||a.tagName==="pre"||a.tagName==="section"||a.tagName==="table"||a.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"||n.tagName.includes("-")))}function EL(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&a.tagName==="li"}function FL(e,t,n){let a=k0(n,t);return!!(a&&a.type==="element"&&(a.tagName==="dt"||a.tagName==="dd"))}function jL(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&(a.tagName==="dt"||a.tagName==="dd")}function Tg(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&(a.tagName==="rp"||a.tagName==="rt")}function HL(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&a.tagName==="optgroup"}function NL(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&(a.tagName==="option"||a.tagName==="optgroup")}function TL(e,t,n){let a=k0(n,t);return!!(a&&a.type==="element"&&(a.tagName==="tbody"||a.tagName==="tfoot"))}function VL(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&(a.tagName==="tbody"||a.tagName==="tfoot")}function qL(e,t,n){return!k0(n,t)}function IL(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&a.tagName==="tr"}function Vg(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&(a.tagName==="td"||a.tagName==="th")}var qg=Ln({body:RL,colgroup:DL,head:PL,html:BL,tbody:GL});function BL(e){let t=k0(e,-1);return!t||t.type!=="comment"}function PL(e){let t=new Set;for(let a of e.children)if(a.type==="element"&&(a.tagName==="base"||a.tagName==="title")){if(t.has(a.tagName))return!1;t.add(a.tagName)}let n=e.children[0];return!n||n.type==="element"}function RL(e){let t=k0(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&F4(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function DL(e,t,n){let a=ks(n,t);if(n&&a&&a.type==="element"&&a.tagName==="colgroup"&&H6(a,n.children.indexOf(a),n))return!1;let i=k0(e,-1,!0);return!!(i&&i.type==="element"&&i.tagName==="col")}function GL(e,t,n){let a=ks(n,t);if(n&&a&&a.type==="element"&&(a.tagName==="thead"||a.tagName==="tbody")&&H6(a,n.children.indexOf(a),n))return!1;let i=k0(e,-1);return!!(i&&i.type==="element"&&i.tagName==="tr")}var Sn={name:[[" \n\f\r &/=>".split("")," \n\f\r \"&'/=>`".split("")],["\0 \n\f\r \"&'/<=>".split(""),"\0 \n\f\r \"&'/<=>`".split("")]],unquoted:[[" \n\f\r &>".split(""),"\0 \n\f\r \"&'<=>`".split("")],["\0 \n\f\r \"&'<=>`".split(""),"\0 \n\f\r \"&'<=>`".split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]},OL=new Set(["desc","foreignObject","title"]);function Ig(e,t,n,a){let{schema:i}=a,r=i.space==="svg"?!1:a.settings.omitOptionalTags,s=i.space==="svg"?a.settings.closeEmptyElements:a.settings.voids.includes(e.tagName.toLowerCase()),c=[];i.space==="html"&&e.tagName==="svg"&&(a.schema=An);let o=WL(a,e.properties);a.schema.space==="svg"&&OL.has(e.tagName)&&(a.schema=Cn);let l=a.all(i.space==="html"&&e.tagName==="template"?e.content:e);if(a.schema=i,l&&(s=!1),o||!r||!qg(e,t,n)){if(c.push("<",e.tagName,o?" "+o:""),s&&(i.space==="svg"||a.settings.closeSelfClosing)){let p=o.charAt(o.length-1);(!a.settings.tightSelfClosing||p==="/"||p&&p!=='"'&&p!=="'")&&c.push(" "),c.push("/")}c.push(">")}return c.push(l),!s&&(!r||!H6(e,t,n))&&c.push(""),c.join("")}function WL(e,t){let n=[],a=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let r=UL(e,i,t[i]);r&&n.push(r)}}for(;++aI5(n,e.alternative)&&(o=e.alternative),c=o+n3(n,Object.assign({},e.settings.characterReferences,{subset:(o==="'"?Sn.single:Sn.double)[i][r],attribute:!0}))+o}return s+(c&&"="+c)}var XL=["<","&"];function Zn(e,t,n,a){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?e.value:n3(e.value,Object.assign({},a.settings.characterReferences,{subset:XL}))}function Bg(e,t,n,a){return a.settings.allowDangerousHtml?e.value:Zn(e,t,n,a)}function Pg(e,t,n,a){return a.all(e)}var Rg=wg("type",{invalid:KL,unknown:YL,handlers:{comment:Zg,doctype:Eg,element:Ig,raw:Bg,root:Pg,text:Zn}});function KL(e){throw new Error("Expected node, not `"+e+"`")}function YL(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var QL={},JL={},eS=[];function Cs(e,t){let n=t||QL,a=n.quote||'"';if(a!=='"'&&a!=="'")throw new Error("Invalid quote `"+a+"`, expected `'` or `\"`");let i=a==='"'?"'":'"';return{one:tS,all:nS,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||gg,characterReferences:n.characterReferences||JL,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?An:Cn,quote:a,alternative:i}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function tS(e,t,n){return Rg(e,t,n,this)}function nS(e){let t=[],n=e&&e.children||eS,a=-1;for(;++ai);function n(i){if(i===e.length)return{line:t.length-1,character:t.at(-1).length};let r=i,s=0;for(let c of t){if(rn&&a.push({...e,content:e.content.slice(n,i),offset:e.offset+n}),n=i;return n>1);e[i]<=t?n=i+1:a=i}return n}function oS(e,t){let n=[...t instanceof Set?t:new Set(t)].sort((a,i)=>a-i);return n.length?e.map(a=>a.flatMap(i=>{let r=i.offset+i.content.length,s=cS(n,i.offset),c=s;for(;cEn(e.variants[p])),c=new Set(s.flatMap(p=>Object.keys(p))),o={},l=(p,u)=>{let m=u==="color"?"":u==="background-color"?"-bg":"-".concat(u);return n+t[p]+(u==="color"?"":m)};return s.forEach((p,u)=>{for(let m of c){let d=p[m]||"inherit";if(u===0&&a&&rS.includes(m))if(a==="light-dark()"&&s.length>1){let f=t.findIndex(b=>b==="light"),w=t.findIndex(b=>b==="dark");if(f===-1||w===-1)throw new K1('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let k=s[f][m]||"inherit",v=s[w][m]||"inherit";o[m]="light-dark(".concat(k,", ").concat(v,")"),i==="css-vars"&&(o[l(u,m)]=d)}else o[m]=d;else i==="css-vars"&&(o[l(u,m)]=d)}}),r.htmlStyle=o,r}function En(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&D0.Italic&&(t["font-style"]="italic"),e.fontStyle&D0.Bold&&(t["font-weight"]="bold");let n=[];e.fontStyle&D0.Underline&&n.push("underline"),e.fontStyle&D0.Strikethrough&&n.push("line-through"),n.length&&(t["text-decoration"]=n.join(" "))}return t}function Ms(e){return typeof e=="string"?e:Object.entries(e).map(([t,n])=>"".concat(t,":").concat(n)).join(";")}function pS(){let e=new WeakMap;function t(n){if(!e.has(n.meta)){let i=function(s){if(typeof s=="number"){if(s<0||s>n.source.length)throw new K1("Invalid decoration offset: ".concat(s,". Code length: ").concat(n.source.length));return{...a.indexToPos(s),offset:s}}else{let c=a.lines[s.line];if(c===void 0)throw new K1("Invalid decoration position ".concat(JSON.stringify(s),". Lines length: ").concat(a.lines.length));let o=s.character;if(o<0&&(o=c.length+o),o<0||o>c.length)throw new K1("Invalid decoration position ".concat(JSON.stringify(s),". Line ").concat(s.line," length: ").concat(c.length));return{...s,character:o,offset:a.posToIndex(s.line,o)}}},a=iS(n.source),r=(n.options.decorations||[]).map(s=>({...s,start:i(s.start),end:i(s.end)}));uS(r),e.set(n.meta,{decorations:r,converter:a,source:n.source})}return e.get(n.meta)}return{name:"shiki:decorations",tokens(n){if(this.options.decorations?.length)return oS(n,t(this).decorations.flatMap(a=>[a.start.offset,a.end.offset]))},code(n){if(!this.options.decorations?.length)return;let a=t(this),i=[...n.children].filter(p=>p.type==="element"&&p.tagName==="span");if(i.length!==a.converter.lines.length)throw new K1("Number of lines in code element (".concat(i.length,") does not match the number of lines in the source (").concat(a.converter.lines.length,"). Failed to apply decorations."));function r(p,u,m,d){let f=i[p],w="",k=-1,v=-1;if(u===0&&(k=0),m===0&&(v=0),m===Number.POSITIVE_INFINITY&&(v=f.children.length),k===-1||v===-1)for(let _=0;_w);return p.tagName=u.tagName||"span",p.properties={...p.properties,...d,class:p.properties.class},u.properties?.class&&Wg(p,u.properties.class),p=f(p,m)||p,p}let o=[],l=a.decorations.sort((p,u)=>u.start.offset-p.start.offset||p.end.offset-u.end.offset);for(let p of l){let{start:u,end:m}=p;if(u.line===m.line)r(u.line,u.character,m.character,p);else if(u.lines(d,p));r(m.line,0,m.character,p)}}o.forEach(p=>p())}}}function uS(e){for(let t=0;tn.end.offset)throw new K1("Invalid decoration range: ".concat(JSON.stringify(n.start)," - ").concat(JSON.stringify(n.end)));for(let a=t+1;aNumber.parseInt(a));return n.length!==3||n.some(a=>Number.isNaN(a))?void 0:{type:"rgb",rgb:n}}else if(t==="5"){let n=e.shift();if(n)return{type:"table",index:Number(n)}}}function gS(e){let t=[];for(;e.length>0;){let n=e.shift();if(!n)continue;let a=Number.parseInt(n);if(!Number.isNaN(a))if(a===0)t.push({type:"resetAll"});else if(a<=9)As[a]&&t.push({type:"setDecoration",value:As[a]});else if(a<=29){let i=As[a-20];i&&(t.push({type:"resetDecoration",value:i}),i==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(a<=37)t.push({type:"setForegroundColor",value:{type:"named",name:j4[a-30]}});else if(a===38){let i=Gg(e);i&&t.push({type:"setForegroundColor",value:i})}else if(a===39)t.push({type:"resetForegroundColor"});else if(a<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:j4[a-40]}});else if(a===48){let i=Gg(e);i&&t.push({type:"setBackgroundColor",value:i})}else a===49?t.push({type:"resetBackgroundColor"}):a===53?t.push({type:"setDecoration",value:"overline"}):a===55?t.push({type:"resetDecoration",value:"overline"}):a>=90&&a<=97?t.push({type:"setForegroundColor",value:{type:"named",name:j4[a-90+8]}}):a>=100&&a<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:j4[a-100+8]}})}return t}function bS(){let e=null,t=null,n=new Set;return{parse(a){let i=[],r=0;do{let s=hS(a,r),c=s.sequence?a.substring(r,s.startPosition):a.substring(r);if(c.length>0&&i.push({value:c,foreground:e,background:t,decorations:new Set(n)}),s.sequence){let o=gS(s.sequence);for(let l of o)l.type==="resetAll"?(e=null,t=null,n.clear()):l.type==="resetForegroundColor"?e=null:l.type==="resetBackgroundColor"?t=null:l.type==="resetDecoration"&&n.delete(l.value);for(let l of o)l.type==="setForegroundColor"?e=l.value:l.type==="setBackgroundColor"?t=l.value:l.type==="setDecoration"&&n.add(l.value)}r=s.position}while(rMath.max(0,Math.min(o,255)).toString(16).padStart(2,"0")).join(""))}let a;function i(){if(a)return a;a=[];for(let l=0;l{let o="terminal.ansi".concat(c[0].toUpperCase()).concat(c.substring(1));return[c,e.colors?.[o]||wS[c]]}))),s=bS();return i.map(c=>s.parse(c[0]).map(o=>{let l,p;o.decorations.has("reverse")?(l=o.background?r.value(o.background):e.bg,p=o.foreground?r.value(o.foreground):e.fg):(l=o.foreground?r.value(o.foreground):e.fg,p=o.background?r.value(o.background):void 0),l=Je(l,a),p=Je(p,a),o.decorations.has("dim")&&(l=kS(l));let u=D0.None;return o.decorations.has("bold")&&(u|=D0.Bold),o.decorations.has("italic")&&(u|=D0.Italic),o.decorations.has("underline")&&(u|=D0.Underline),o.decorations.has("strikethrough")&&(u|=D0.Strikethrough),{content:o.value,offset:c[1],color:l,bgColor:p,fontStyle:u}}))}function kS(e){let t=e.match(yS);if(t){let a=t[1];if(a.length===8){let i=Math.round(Number.parseInt(a.slice(6,8),16)/2).toString(16).padStart(2,"0");return"#".concat(a.slice(0,6)).concat(i)}else{if(a.length===6)return"#".concat(a,"80");if(a.length===4){let i=a[0],r=a[1],s=a[2],c=a[3];return"#".concat(i).concat(i).concat(r).concat(r).concat(s).concat(s).concat(Math.round(Number.parseInt("".concat(c).concat(c),16)/2).toString(16).padStart(2,"0"))}else if(a.length===3){let i=a[0],r=a[1],s=a[2];return"#".concat(i).concat(i).concat(r).concat(r).concat(s).concat(s,"80")}}}let n=e.match(_S);return n?"var(".concat(n[1],"-dim)"):e}function $s(e,t,n={}){let a=e.resolveLangAlias(n.lang||"text"),{theme:i=e.getLoadedThemes()[0]}=n;if(!S6(a)&&!Z6(i)&&a==="ansi"){let{theme:r}=e.setTheme(i);return xS(r,t,n)}return ds(e,t,n)}function jn(e,t,n){let a,i,r,s,c,o;if("themes"in n){let{defaultColor:l="light",cssVariablePrefix:p="--shiki-",colorsRendering:u="css-vars"}=n,m=Object.entries(n.themes).filter(v=>v[1]).map(v=>({color:v[0],theme:v[1]})).sort((v,b)=>v.color===l?-1:b.color===l?1:0);if(m.length===0)throw new K1("`themes` option must not be empty");let d=wn(e,t,n,$s);if(o=q5(d),l&&l!=="light-dark()"&&!m.some(v=>v.color===l))throw new K1("`themes` option must contain the defaultColor key `".concat(l,"`"));let f=m.map(v=>e.getTheme(v.theme)),w=m.map(v=>v.color);r=d.map(v=>v.map(b=>lS(b,w,p,l,u))),o&&E6(r,o);let k=m.map(v=>L6(v.theme,n));i=Og(m,f,k,p,l,"fg",u),a=Og(m,f,k,p,l,"bg",u),s="shiki-themes ".concat(f.map(v=>v.name).join(" ")),c=l?void 0:[i,a].join(";")}else if("theme"in n){let l=L6(n.theme,n);r=$s(e,t,n);let p=e.getTheme(n.theme);a=Je(p.bg,l),i=Je(p.fg,l),s=p.name,o=q5(r)}else throw new K1("Invalid options, either `theme` or `themes` must be provided");return{tokens:r,fg:i,bg:a,themeName:s,rootStyle:c,grammarState:o}}function Og(e,t,n,a,i,r,s){return e.map((c,o)=>{let l=Je(t[o][r],n[o])||"inherit",p="".concat(a+c.color).concat(r==="bg"?"-bg":"",":").concat(l);if(o===0&&i){if(i==="light-dark()"&&e.length>1){let u=e.findIndex(d=>d.color==="light"),m=e.findIndex(d=>d.color==="dark");if(u===-1||m===-1)throw new K1('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return"light-dark(".concat(Je(t[u][r],n[u])||"inherit",", ").concat(Je(t[m][r],n[m])||"inherit",");").concat(p)}return l}return s==="css-vars"?p:null}).filter(c=>!!c).join(";")}var Xg=/^\s+$/,zS=/^(\s*)(.*?)(\s*)$/;function Hn(e,t,n,a={meta:{},options:n,codeToHast:(i,r)=>Hn(e,i,r),codeToTokens:(i,r)=>jn(e,i,r)}){let i=t;for(let f of Fn(n))i=f.preprocess?.call(a,i,n)||i;let{tokens:r,fg:s,bg:c,themeName:o,rootStyle:l,grammarState:p}=jn(e,i,n),{mergeWhitespaces:u=!0,mergeSameStyleTokens:m=!1}=n;u===!0?r=AS(r):u==="never"&&(r=MS(r)),m&&(r=$S(r));let d={...a,get source(){return i}};for(let f of Fn(n))r=f.tokens?.call(d,r)||r;return CS(r,{...n,fg:s,bg:c,themeName:o,rootStyle:n.rootStyle===!1?!1:n.rootStyle??l},d,p)}function CS(e,t,n,a=q5(e)){let i=Fn(t),r=[],s={type:"root",children:[]},{structure:c="classic",tabindex:o="0"}=t,l={class:"shiki ".concat(t.themeName||"")};t.rootStyle!==!1&&(t.rootStyle!=null?l.style=t.rootStyle:l.style="background-color:".concat(t.bg,";color:").concat(t.fg)),o!==!1&&o!=null&&(l.tabindex=o.toString());for(let[w,k]of Object.entries(t.meta||{}))w.startsWith("_")||(l[w]=k);let p={type:"element",tagName:"pre",properties:l,children:[],data:t.data},u={type:"element",tagName:"code",properties:{},children:r},m=[],d={...n,structure:c,addClassToHast:Wg,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return p},get code(){return u},get lines(){return m}};if(e.forEach((w,k)=>{k&&(c==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):c==="classic"&&r.push({type:"text",value:"\n"}));let v={type:"element",tagName:"span",properties:{class:"line"},children:[]},b=0;for(let _ of w){let z={type:"element",tagName:"span",properties:{..._.htmlAttrs},children:[{type:"text",value:_.content}]},L=Ms(_.htmlStyle||En(_));L&&(z.properties.style=L);for(let C of i)z=C?.span?.call(d,z,k+1,b,v,_)||z;c==="inline"?s.children.push(z):c==="classic"&&v.children.push(z),b+=_.content.length}if(c==="classic"){for(let _ of i)v=_?.line?.call(d,v,k+1)||v;m.push(v),r.push(v)}else c==="inline"&&m.push(v)}),c==="classic"){for(let w of i)u=w?.code?.call(d,u)||u;p.children.push(u);for(let w of i)p=w?.pre?.call(d,p)||p;s.children.push(p)}else if(c==="inline"){let w=[],k={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let b of s.children)b.type==="element"&&b.tagName==="br"?(w.push(k),k={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(b.type==="element"||b.type==="text")&&k.children.push(b);w.push(k);let v={type:"element",tagName:"code",properties:{},children:w};for(let b of i)v=b?.code?.call(d,v)||v;s.children=[];for(let b=0;b0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let _=v.children[b];_.type==="element"&&s.children.push(..._.children)}}let f=s;for(let w of i)f=w?.root?.call(d,f)||f;return a&&E6(f,a),f}function AS(e){return e.map(t=>{let n=[],a="",i;return t.forEach((r,s)=>{let c=!(r.fontStyle&&(r.fontStyle&D0.Underline||r.fontStyle&D0.Strikethrough));c&&Xg.test(r.content)&&t[s+1]?(i===void 0&&(i=r.offset),a+=r.content):a?(c?n.push({...r,offset:i,content:a+r.content}):n.push({content:a,offset:i},r),i=void 0,a=""):n.push(r)}),n})}function MS(e){return e.map(t=>t.flatMap(n=>{if(Xg.test(n.content))return n;let a=n.content.match(zS);if(!a)return n;let[,i,r,s]=a;if(!i&&!s)return n;let c=[{...n,offset:n.offset+i.length,content:r}];return i&&c.unshift({content:i,offset:n.offset}),s&&c.push({content:s,offset:n.offset+i.length+r.length}),c}))}function $S(e){return e.map(t=>{let n=[];for(let a of t){if(n.length===0){n.push({...a});continue}let i=n.at(-1),r=Ms(i.htmlStyle||En(i)),s=Ms(a.htmlStyle||En(a)),c=i.fontStyle&&(i.fontStyle&D0.Underline||i.fontStyle&D0.Strikethrough),o=a.fontStyle&&(a.fontStyle&D0.Underline||a.fontStyle&D0.Strikethrough);!c&&!o&&r===s?i.content+=a.content:n.push({...a})}return n})}var LS=Cs;function SS(e,t,n){let a={meta:{},options:n,codeToHast:(r,s)=>Hn(e,r,s),codeToTokens:(r,s)=>jn(e,r,s)},i=LS(Hn(e,t,n,a));for(let r of Fn(n))i=r.postprocess?.call(a,i,n)||i;return i}function Kg(e){let t=ms(e);return{getLastGrammarState:(...n)=>dg(t,...n),codeToTokensBase:(n,a)=>$s(t,n,a),codeToTokensWithThemes:(n,a)=>wn(t,n,a),codeToTokens:(n,a)=>jn(t,n,a),codeToHast:(n,a)=>Hn(t,n,a),codeToHtml:(n,a)=>SS(t,n,a),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Yg(e={}){let{name:t="css-variables",variablePrefix:n="--shiki-",fontStyle:a=!0}=e,i=s=>e.variableDefaults?.[s]?"var(".concat(n).concat(s,", ").concat(e.variableDefaults[s],")"):"var(".concat(n).concat(s,")"),r={name:t,type:"dark",colors:{"editor.foreground":i("foreground"),"editor.background":i("background"),"terminal.ansiBlack":i("ansi-black"),"terminal.ansiRed":i("ansi-red"),"terminal.ansiGreen":i("ansi-green"),"terminal.ansiYellow":i("ansi-yellow"),"terminal.ansiBlue":i("ansi-blue"),"terminal.ansiMagenta":i("ansi-magenta"),"terminal.ansiCyan":i("ansi-cyan"),"terminal.ansiWhite":i("ansi-white"),"terminal.ansiBrightBlack":i("ansi-bright-black"),"terminal.ansiBrightRed":i("ansi-bright-red"),"terminal.ansiBrightGreen":i("ansi-bright-green"),"terminal.ansiBrightYellow":i("ansi-bright-yellow"),"terminal.ansiBrightBlue":i("ansi-bright-blue"),"terminal.ansiBrightMagenta":i("ansi-bright-magenta"),"terminal.ansiBrightCyan":i("ansi-bright-cyan"),"terminal.ansiBrightWhite":i("ansi-bright-white")},tokenColors:[{scope:["keyword.operator.accessor","meta.group.braces.round.function.arguments","meta.template.expression","markup.fenced_code meta.embedded.block"],settings:{foreground:i("foreground")}},{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:i("token-link")}},{scope:["string","markup.fenced_code","markup.inline"],settings:{foreground:i("token-string")}},{scope:["comment","string.quoted.docstring.multi"],settings:{foreground:i("token-comment")}},{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:i("token-constant")}},{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:i("token-keyword")}},{scope:"variable.parameter.function",settings:{foreground:i("token-parameter")}},{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:i("token-function")}},{scope:["entity.name.tag","string.quoted","string.regexp","string.interpolated","string.template","string.unquoted.plain.out.yaml","keyword.other.template"],settings:{foreground:i("token-string-expression")}},{scope:["punctuation.definition.arguments","punctuation.definition.dict","punctuation.separator","meta.function-call.arguments"],settings:{foreground:i("token-punctuation")}},{scope:["markup.underline.link","punctuation.definition.metadata.markdown"],settings:{foreground:i("token-link")}},{scope:["beginning.punctuation.definition.list.markdown"],settings:{foreground:i("token-string")}},{scope:["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","string.other.link.title.markdown","string.other.link.description.markdown"],settings:{foreground:i("token-keyword")}},{scope:["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],settings:{foreground:i("token-inserted")}},{scope:["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],settings:{foreground:i("token-deleted")}},{scope:["markup.changed","punctuation.definition.changed"],settings:{foreground:i("token-changed")}}]};return a||(r.tokenColors=r.tokenColors?.map(s=>(s.settings?.fontStyle&&delete s.settings.fontStyle,s))),r}function ZS(e){return!e.sticky&&!e.rawOptions?.strategy}function Qg(e,t){return{index:e,captureIndices:t.map(n=>n==null?{start:4294967295,end:4294967295,length:0}:{start:n[0],end:n[1],length:n[1]-n[0]})}}var Jg=class{patterns;options;regexps;lastSearches;constructor(e,t={}){this.patterns=e,this.options=t;let{forgiving:n=!1,cache:a,regexConstructor:i}=t;if(!i)throw new Error("Option `regexConstructor` is not provided");this.regexps=e.map(r=>{if(typeof r!="string")return r;let s=a?.get(r);if(s){if(s instanceof RegExp)return s;if(n)return null;throw s}try{let c=i(r);return a?.set(r,c),c}catch(c){if(a?.set(r,c),n)return null;throw c}}),this.lastSearches=this.regexps.map(r=>r&&ZS(r)?{strId:0,searchedFrom:0,matchIndex:-1,indices:null}:null)}findNextMatchSync(e,t,n){let a=typeof e=="string"?e:e.content,i=typeof e=="string"?0:e.id||0,r=-1,s=0,c=null;for(let o=0;o=t))u=p.matchIndex,m=p.indices;else{l.lastIndex=t;let d=l.exec(a);u=d?d.index:-1,m=d?d.indices:null,p&&(p.strId=i,p.searchedFrom=t,p.matchIndex=u,p.indices=m)}if(u===-1)continue;if(u===t)return Qg(o,m);(r===-1||u]*>?\n | [gk]'[^']*'?\n | .\n )\n | ( (?:\n ? (?:\n [:=!>({]\n | <[=!]\n | <[^>]*>\n | '[^']*'\n | ~|?\n | #(?:[^)\\]|\\.?)*\n | [^:)]*[:)]\n )?\n | *[^)]*)?\n )?\n | (?:",")+\n | ","\n | .\n"],["\n \\\\ (?:\n ","\n | [gk]<[^>]*>?\n | [gk]'[^']*'?\n | .\n )\n | \\( (?:\n \\? (?:\n [:=!>({]\n | <[=!]\n | <[^>]*>\n | '[^']*'\n | ~\\|?\n | #(?:[^)\\\\]|\\\\.?)*\n | [^:)]*[:)]\n )?\n | \\*[^\\)]*\\)?\n )?\n | (?:",")+\n | ","\n | .\n"])),wb,Ss.source,_b).replace(/\s+/g,""),"gsu"),hb,Ls=new RegExp(M0(hb||(hb=t1(["\n \\ (?:\n ","\n | .\n )\n | [:(?:^?p{Alpha}+|^):]\n | ","\n | &&\n | .\n"],["\n \\\\ (?:\n ","\n | .\n )\n | \\[:(?:\\^?\\p{Alpha}+|\\^):\\]\n | ","\n | &&\n | .\n"])),wb,_b).replace(/\s+/g,""),"gsu");function xb(e,t={}){let n={flags:"",...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!="string")throw new Error("String expected as pattern");let a=YS(n.flags),i=[a.extended],r={captureGroup:n.rules.captureGroup,getCurrentModX(){return i.at(-1)},numOpenGroups:0,popModX(){i.pop()},pushModX(u){i.push(u)},replaceCurrentModX(u){i[i.length-1]=u},singleline:n.rules.singleline},s=[],c;for(Nn.lastIndex=0;c=Nn.exec(e);){let u=FS(r,e,c[0],Nn.lastIndex);u.tokens?s.push(...u.tokens):u.token&&s.push(u.token),u.lastIndex!==void 0&&(Nn.lastIndex=u.lastIndex)}let o=[],l=0;s.filter(u=>u.type==="GroupOpen").forEach(u=>{u.kind==="capturing"?u.number=++l:u.raw==="("&&o.push(u)}),l||o.forEach((u,m)=>{u.kind="capturing",u.number=m+1});let p=l||o.length;return{tokens:s.map(u=>u.type==="EscapedNumber"?JS(u,p):u).flat(),flags:a}}var gb,bb;function FS(e,t,n,a){let[i,r]=n;if(n==="["||n==="[^"){let s=jS(t,n,a);return{tokens:s.tokens,lastIndex:s.lastIndex}}if(i==="\\"){if("AbBGyYzZ".includes(r))return{token:nb(n,n)};if(/^\\g[<']/.test(n)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(n))throw new Error('Invalid group name "'.concat(n,'"'));return{token:DS(n)}}if(/^\\k[<']/.test(n)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(n))throw new Error('Invalid group name "'.concat(n,'"'));return{token:zb(n)}}if(r==="K")return{token:Cb("keep",n)};if(r==="N"||r==="R")return{token:H4("newline",n,{negate:r==="N"})};if(r==="O")return{token:H4("any",n)};if(r==="X")return{token:H4("text_segment",n)};let s=kb(n,{inCharClass:!1});return Array.isArray(s)?{tokens:s}:{token:s}}if(i==="("){if(r==="*")return{token:US(n)};if(n==="(?{")throw new Error('Unsupported callout "'.concat(n,'"'));if(n.startsWith("(?#")){if(t[a]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:a+1}}if(/^\(\?[-imx]+[:)]$/.test(n))return{token:WS(n,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,n==="("&&!e.captureGroup||n==="(?:")return{token:B5("group",n)};if(n==="(?>")return{token:B5("atomic",n)};if(n==="(?="||n==="(?!"||n==="(?<="||n==="(?")||n.startsWith("(?'")&&n.endsWith("'"))return{token:B5("capturing",n,{...n!=="("&&{name:n.slice(3,-1)}})};if(n.startsWith("(?~")){if(n==="(?~|")throw new Error('Unsupported absence function kind "'.concat(n,'"'));return{token:B5("absence_repeater",n)}}throw n==="(?("?new Error('Unsupported conditional "'.concat(n,'"')):new Error('Invalid or unsupported group option "'.concat(n,'"'))}if(n===")"){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:BS(n)}}if(e.getCurrentModX()){if(n==="#"){let s=t.indexOf("\n",a);return{lastIndex:s===-1?t.length:s}}if(/^\s$/.test(n)){let s=/\s+/y;return s.lastIndex=a,{lastIndex:s.exec(t)?s.lastIndex:a}}}if(n===".")return{token:H4("dot",n)};if(n==="^"||n==="$"){let s=e.singleline?{"^":M0(gb||(gb=t1(["A"],["\\A"]))),$:M0(bb||(bb=t1(["Z"],["\\Z"])))}[n]:n;return{token:nb(s,n)}}return n==="|"?{token:NS(n)}:Ss.test(n)?{tokens:eZ(n)}:{token:i3(O3(n),n)}}function jS(e,t,n){let a=[ab(t[1]==="^",t)],i=1,r;for(Ls.lastIndex=n;r=Ls.exec(e);){let s=r[0];if(s[0]==="["&&s[1]!==":")i++,a.push(ab(s[1]==="^",s));else if(s==="]"){if(a.at(-1).type==="CharacterClassOpen")a.push(i3(93,s));else if(i--,a.push(TS(s)),!i)break}else{let c=HS(s);Array.isArray(c)?a.push(...c):a.push(c)}}return{tokens:a,lastIndex:Ls.lastIndex||e.length}}function HS(e){if(e[0]==="\\")return kb(e,{inCharClass:!0});if(e[0]==="["){let t=/\[:(?\^?)(?[a-z]+):\]/.exec(e);if(!t||!N6.has(t.groups.name))throw new Error('Invalid POSIX class "'.concat(e,'"'));return H4("posix",e,{value:t.groups.name,negate:!!t.groups.negate})}return e==="-"?VS(e):e==="&&"?qS(e):i3(O3(e),e)}var fb,vb;function kb(e,{inCharClass:t}){let n=e[1];if(n==="c"||n==="C")return OS(e);if("dDhHsSwW".includes(n))return XS(e);if(e.startsWith(M0(fb||(fb=t1(["o{"],["\\o{"])))))throw new Error('Incomplete, invalid, or unsupported octal code point "'.concat(e,'"'));if(/^\\[pP]\{/.test(e)){if(e.length===3)throw new Error('Incomplete or invalid Unicode property "'.concat(e,'"'));return KS(e)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(e))try{let a=e.split(/\\x/).slice(1).map(s=>parseInt(s,16)),i=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(a)),r=new TextEncoder;return[...i].map(s=>{let c=[...r.encode(s)].map(o=>"\\x".concat(o.toString(16))).join("");return i3(O3(s),c)})}catch{throw new Error('Multibyte code "'.concat(e,'" incomplete or invalid in Oniguruma'))}if(n==="u"||n==="x")return i3(QS(e),e);if(ib.has(n))return i3(ib.get(n),e);if(/\d/.test(n))return IS(t,e);if(e==="\\")throw new Error(M0(vb||(vb=t1(['Incomplete escape ""'],['Incomplete escape "\\"']))));if(n==="M")throw new Error('Unsupported meta "'.concat(e,'"'));if([...e].length===2)return i3(e.codePointAt(1),e);throw new Error('Unexpected escape "'.concat(e,'"'))}function NS(e){return{type:"Alternator",raw:e}}function nb(e,t){return{type:"Assertion",kind:e,raw:t}}function zb(e){return{type:"Backreference",raw:e}}function i3(e,t){return{type:"Character",value:e,raw:t}}function TS(e){return{type:"CharacterClassClose",raw:e}}function VS(e){return{type:"CharacterClassHyphen",raw:e}}function qS(e){return{type:"CharacterClassIntersector",raw:e}}function ab(e,t){return{type:"CharacterClassOpen",negate:e,raw:t}}function H4(e,t,n={}){return{type:"CharacterSet",kind:e,...n,raw:t}}function Cb(e,t,n={}){return e==="keep"?{type:"Directive",kind:e,raw:t}:{type:"Directive",kind:e,flags:a3(n.flags),raw:t}}function IS(e,t){return{type:"EscapedNumber",inCharClass:e,raw:t}}function BS(e){return{type:"GroupClose",raw:e}}function B5(e,t,n={}){return{type:"GroupOpen",kind:e,...n,raw:t}}function PS(e,t,n,a){return{type:"NamedCallout",kind:e,tag:t,arguments:n,raw:a}}function RS(e,t,n,a){return{type:"Quantifier",kind:e,min:t,max:n,raw:a}}function DS(e){return{type:"Subroutine",raw:e}}var GS=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),ib=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function OS(e){let t=e[1]==="c"?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw new Error('Unsupported control character "'.concat(e,'"'));return i3(O3(t.toUpperCase())-64,e)}function WS(e,t){let{on:n,off:a}=/^\(\?(?[imx]*)(?:-(?[-imx]*))?/.exec(e).groups;a??="";let i=(t.getCurrentModX()||n.includes("x"))&&!a.includes("x"),r=sb(n),s=sb(a),c={};if(r&&(c.enable=r),s&&(c.disable=s),e.endsWith(")"))return t.replaceCurrentModX(i),Cb("flags",e,{flags:c});if(e.endsWith(":"))return t.pushModX(i),t.numOpenGroups++,B5("group",e,{...(r||s)&&{flags:c}});throw new Error('Unexpected flag modifier "'.concat(e,'"'))}function US(e){let t=/\(\*(?[A-Za-z_]\w*)?(?:\[(?(?:[A-Za-z_]\w*)?)\])?(?:\{(?[^}]*)\})?\)/.exec(e);if(!t)throw new Error('Incomplete or invalid named callout "'.concat(e,'"'));let{name:n,tag:a,args:i}=t.groups;if(!n)throw new Error('Invalid named callout "'.concat(e,'"'));if(a==="")throw new Error('Named callout tag with empty value not allowed "'.concat(e,'"'));let r=i?i.split(",").filter(p=>p!=="").map(p=>/^[+-]?\d+$/.test(p)?+p:p):[],[s,c,o]=r,l=GS.has(n)?n.toLowerCase():"custom";switch(l){case"fail":case"mismatch":case"skip":if(r.length>0)throw new Error('Named callout arguments not allowed "'.concat(r,'"'));break;case"error":if(r.length>1)throw new Error('Named callout allows only one argument "'.concat(r,'"'));if(typeof s=="string")throw new Error('Named callout argument must be a number "'.concat(s,'"'));break;case"max":if(!r.length||r.length>2)throw new Error('Named callout must have one or two arguments "'.concat(r,'"'));if(typeof s=="string"&&!/^[A-Za-z_]\w*$/.test(s))throw new Error('Named callout argument one must be a tag or number "'.concat(s,'"'));if(r.length===2&&(typeof c=="number"||!/^[<>X]$/.test(c)))throw new Error("Named callout optional argument two must be '<', '>', or 'X' \"".concat(c,'"'));break;case"count":case"total_count":if(r.length>1)throw new Error('Named callout allows only one argument "'.concat(r,'"'));if(r.length===1&&(typeof s=="number"||!/^[<>X]$/.test(s)))throw new Error("Named callout optional argument must be '<', '>', or 'X' \"".concat(s,'"'));break;case"cmp":if(r.length!==3)throw new Error('Named callout must have three arguments "'.concat(r,'"'));if(typeof s=="string"&&!/^[A-Za-z_]\w*$/.test(s))throw new Error('Named callout argument one must be a tag or number "'.concat(s,'"'));if(typeof c=="number"||!/^(?:[<>!=]=|[<>])$/.test(c))throw new Error("Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' \"".concat(c,'"'));if(typeof o=="string"&&!/^[A-Za-z_]\w*$/.test(o))throw new Error('Named callout argument three must be a tag or number "'.concat(o,'"'));break;case"custom":throw new Error('Undefined callout name "'.concat(n,'"'));default:throw new Error('Unexpected named callout kind "'.concat(l,'"'))}return PS(l,a??null,i?.split(",")??null,e)}function rb(e){let t=null,n,a;if(e[0]==="{"){let{minStr:i,maxStr:r}=/^\{(?\d*)(?:,(?\d*))?/.exec(e).groups,s=1e5;if(+i>s||r&&+r>s)throw new Error("Quantifier value unsupported in Oniguruma");if(n=+i,a=r===void 0?+i:r===""?1/0:+r,n>a&&(t="possessive",[n,a]=[a,n]),e.endsWith("?")){if(t==="possessive")throw new Error('Unsupported possessive interval quantifier chain with "?"');t="lazy"}else t||(t="greedy")}else n=e[0]==="+"?1:0,a=e[0]==="?"?1:1/0,t=e[1]==="+"?"possessive":e[1]==="?"?"lazy":"greedy";return RS(t,n,a,e)}function XS(e){let t=e[1].toLowerCase();return H4({d:"digit",h:"hex",s:"space",w:"word"}[t],e,{negate:e[1]!==t})}function KS(e){let{p:t,neg:n,value:a}=/^\\(?

[pP])\{(?\^?)(?[^}]+)/.exec(e).groups;return H4("property",e,{value:a,negate:t==="P"&&!n||t==="p"&&!!n})}function sb(e){let t={};return e.includes("i")&&(t.ignoreCase=!0),e.includes("m")&&(t.dotAll=!0),e.includes("x")&&(t.extended=!0),Object.keys(t).length?t:null}function YS(e){let t={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let n=0;n\p{AHex}+)/u.exec(e).groups.hex:e.slice(2);return parseInt(t,16)}var yb;function JS(e,t){let{raw:n,inCharClass:a}=e,i=n.slice(1);if(!a&&(i!=="0"&&i.length===1||i[0]!=="0"&&+i<=t))return[zb(n)];let r=[],s=i.match(/^[0-7]+|\d/g);for(let c=0;c127)throw new Error(M0(yb||(yb=t1(['Octal encoded byte above 177 unsupported "','"'])),n))}else l=O3(o);r.push(i3(l,(c===0?"\\":"")+o))}return r}function eZ(e){let t=[],n=new RegExp(Ss,"gy"),a;for(;a=n.exec(e);){let i=a[0];if(i[0]==="{"){let r=/^\{(?\d+),(?\d+)\}\??$/.exec(i);if(r){let{min:s,max:c}=r.groups;if(+s>+c&&i.endsWith("?")){n.lastIndex--,t.push(rb(i.slice(0,-1)));continue}}}t.push(rb(i))}return t}function Tn(e,t){if(!Array.isArray(e.body))throw new Error("Expected node with body array");if(e.body.length!==1)return!1;let n=e.body[0];return!t||Object.keys(t).every(a=>t[a]===n[a])}function Ab(e){return tZ.has(e.type)}var tZ=new Set(["AbsenceFunction","Backreference","CapturingGroup","Character","CharacterClass","CharacterSet","Group","Quantifier","Subroutine"]);var Zb,Eb;function qn(e,t={}){let n={flags:"",normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},a=xb(e,{flags:n.flags,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline}}),i=(m,d)=>{let f=a.tokens[r.nextIndex];switch(r.parent=m,r.nextIndex++,f.type){case"Alternator":return r3();case"Assertion":return nZ(f);case"Backreference":return aZ(f,r);case"Character":return P5(f.value,{useLastValid:!!d.isCheckingRangeEnd});case"CharacterClassHyphen":return iZ(f,r,d);case"CharacterClassOpen":return rZ(f,r,d);case"CharacterSet":return sZ(f,r);case"Directive":return mZ(f.kind,{flags:f.flags});case"GroupOpen":return cZ(f,r,d);case"NamedCallout":return hZ(f.kind,f.tag,f.arguments);case"Quantifier":return oZ(f,r);case"Subroutine":return lZ(f,r);default:throw new Error('Unexpected token type "'.concat(f.type,'"'))}},r={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:n.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:n.skipBackrefValidation,skipLookbehindValidation:n.skipLookbehindValidation,skipPropertyNameValidation:n.skipPropertyNameValidation,subroutines:[],tokens:a.tokens,unicodePropertyMap:n.unicodePropertyMap,walk:i},s=bZ(dZ(a.flags)),c=s.body[0];for(;r.nextIndexo.length)throw new Error("Subroutine uses a group number that's not defined");m&&(o[m-1].isSubroutined=!0)}else if(p.has(m)){if(p.get(m).length>1)throw new Error(M0(Zb||(Zb=t1(['Subroutine uses a duplicate group name "g<','>"'],['Subroutine uses a duplicate group name "\\g<','>"'])),m));p.get(m)[0].isSubroutined=!0}else throw new Error(M0(Eb||(Eb=t1(["Subroutine uses a group name that's not defined \"g<",'>"'],["Subroutine uses a group name that's not defined \"\\g<",'>"'])),m));return s}var Fb,jb;function nZ({kind:e}){return In(a3({"^":"line_start",$:"line_end","\\A":"string_start","\\b":"word_boundary","\\B":"word_boundary","\\G":"search_start","\\y":"text_segment_boundary","\\Y":"text_segment_boundary","\\z":"string_end","\\Z":"string_end_newline"}[e],'Unexpected assertion kind "'.concat(e,'"')),{negate:e===M0(Fb||(Fb=t1(["B"],["\\B"])))||e===M0(jb||(jb=t1(["Y"],["\\Y"])))})}function aZ({raw:e},t){let n=/^\\k[<']/.test(e),a=n?e.slice(3,-1):e.slice(1),i=(r,s=!1)=>{let c=t.capturingGroups.length,o=!1;if(r>c)if(t.skipBackrefValidation)o=!0;else throw new Error('Not enough capturing groups defined to the left "'.concat(e,'"'));return t.hasNumberedRef=!0,Vn(s?c+1-r:r,{orphan:o})};if(n){let r=/^(?-?)0*(?[1-9]\d*)$/.exec(a);if(r)return i(+r.groups.num,!!r.groups.sign);if(/[-+]/.test(a))throw new Error('Invalid backref name "'.concat(e,'"'));if(!t.namedGroupsByName.has(a))throw new Error('Group name not defined to the left "'.concat(e,'"'));return Vn(a)}return i(+a)}function iZ(e,t,n){let{tokens:a,walk:i}=t,r=t.parent,s=r.body.at(-1),c=a[t.nextIndex];if(!n.isCheckingRangeEnd&&s&&s.type!=="CharacterClass"&&s.type!=="CharacterClassRange"&&c&&c.type!=="CharacterClassOpen"&&c.type!=="CharacterClassClose"&&c.type!=="CharacterClassIntersector"){let o=i(r,{...n,isCheckingRangeEnd:!0});if(s.type==="Character"&&o.type==="Character")return r.body.pop(),uZ(s,o);throw new Error("Invalid character class range")}return P5(O3("-"))}function rZ({negate:e},t,n){let{tokens:a,walk:i}=t,r=[T6()],s=a[t.nextIndex],c=Lb(s);for(;c.type!=="CharacterClassClose";){if(c.type==="CharacterClassIntersector")r.push(T6()),t.nextIndex++;else{let l=r.at(-1);l.body.push(i(l,n))}c=Lb(a[t.nextIndex],s)}let o=T6({negate:e});return r.length===1?o.body=r[0].body:(o.kind="intersection",o.body=r.map(l=>l.body.length===1?l.body[0]:l)),t.nextIndex++,o}function sZ({kind:e,negate:t,value:n},a){let{normalizeUnknownPropertyNames:i,skipPropertyNameValidation:r,unicodePropertyMap:s}=a;if(e==="property"){let c=R5(n);if(N6.has(c)&&!s?.has(c))e="posix",n=c;else return N4(n,{negate:t,normalizeUnknownPropertyNames:i,skipPropertyNameValidation:r,unicodePropertyMap:s})}return e==="posix"?gZ(n,{negate:t}):Bn(e,{negate:t})}function cZ(e,t,n){let{tokens:a,capturingGroups:i,namedGroupsByName:r,skipLookbehindValidation:s,walk:c}=t,o=fZ(e),l=o.type==="AbsenceFunction",p=$b(o),u=p&&o.negate;if(o.type==="CapturingGroup"&&(i.push(o),o.name&&tb(r,o.name,[]).push(o)),l&&n.isInAbsenceFunction)throw new Error("Nested absence function not supported by Oniguruma");let m=Sb(a[t.nextIndex]);for(;m.type!=="GroupClose";){if(m.type==="Alternator")o.body.push(r3()),t.nextIndex++;else{let d=o.body.at(-1),f=c(d,{...n,isInAbsenceFunction:n.isInAbsenceFunction||l,isInLookbehind:n.isInLookbehind||p,isInNegLookbehind:n.isInNegLookbehind||u});if(d.body.push(f),(p||n.isInLookbehind)&&!s){let w="Lookbehind includes a pattern not allowed by Oniguruma";if(u||n.isInNegLookbehind){if(Mb(f)||f.type==="CapturingGroup")throw new Error(w)}else if(Mb(f)||$b(f)&&f.negate)throw new Error(w)}}m=Sb(a[t.nextIndex])}return t.nextIndex++,o}function oZ({kind:e,min:t,max:n},a){let i=a.parent,r=i.body.at(-1);if(!r||!Ab(r))throw new Error("Quantifier requires a repeatable token");let s=Es(e,t,n,r);return i.body.pop(),s}function lZ({raw:e},t){let{capturingGroups:n,subroutines:a}=t,i=e.slice(3,-1),r=/^(?[-+]?)0*(?[1-9]\d*)$/.exec(i);if(r){let c=+r.groups.num,o=n.length;if(t.hasNumberedRef=!0,i={"":c,"+":o+c,"-":o+1-c}[r.groups.sign],i<1)throw new Error("Invalid subroutine number")}else i==="0"&&(i=0);let s=Fs(i);return a.push(s),s}function pZ(e,t){if(e!=="repeater")throw new Error('Unexpected absence function kind "'.concat(e,'"'));return{type:"AbsenceFunction",kind:e,body:V6(t?.body)}}function r3(e){return{type:"Alternative",body:Nb(e?.body)}}function In(e,t){let n={type:"Assertion",kind:e};return(e==="word_boundary"||e==="text_segment_boundary")&&(n.negate=!!t?.negate),n}function Vn(e,t){let n=!!t?.orphan;return{type:"Backreference",ref:e,...n&&{orphan:n}}}function Zs(e,t){let n={name:void 0,isSubroutined:!1,...t};if(n.name!==void 0&&!vZ(n.name))throw new Error('Group name "'.concat(n.name,'" invalid in Oniguruma'));return{type:"CapturingGroup",number:e,...n.name&&{name:n.name},...n.isSubroutined&&{isSubroutined:n.isSubroutined},body:V6(t?.body)}}function P5(e,t){let n={useLastValid:!1,...t};if(e>1114111){let a=e.toString(16);if(n.useLastValid)e=1114111;else throw e>1310719?new Error('Invalid code point out of range "\\x{'.concat(a,'}"')):new Error('Invalid code point out of range in JS "\\x{'.concat(a,'}"'))}return{type:"Character",value:e}}function T6(e){let t={kind:"union",negate:!1,...e};return{type:"CharacterClass",kind:t.kind,negate:t.negate,body:Nb(e?.body)}}function uZ(e,t){if(t.valuen)throw new Error("Invalid reversed quantifier range");return{type:"Quantifier",kind:e,min:t,max:n,body:a}}function bZ(e,t){return{type:"Regex",body:V6(t?.body),flags:e}}function Fs(e){return{type:"Subroutine",ref:e}}var Hb;function N4(e,t){let n={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t},a=n.unicodePropertyMap?.get(R5(e));if(!a){if(n.normalizeUnknownPropertyNames)a=yZ(e);else if(n.unicodePropertyMap&&!n.skipPropertyNameValidation)throw new Error(M0(Hb||(Hb=t1(['Invalid Unicode property "p{','}"'],['Invalid Unicode property "\\p{','}"'])),e))}return{type:"CharacterSet",kind:"property",value:a??e,negate:n.negate}}function fZ({flags:e,kind:t,name:n,negate:a,number:i}){switch(t){case"absence_repeater":return pZ("repeater");case"atomic":return N2({atomic:!0});case"capturing":return Zs(i,{name:n});case"group":return N2({flags:e});case"lookahead":case"lookbehind":return W3({behind:t==="lookbehind",negate:a});default:throw new Error('Unexpected group kind "'.concat(t,'"'))}}function V6(e){if(e===void 0)e=[r3()];else if(!Array.isArray(e)||!e.length||!e.every(t=>t.type==="Alternative"))throw new Error("Invalid body; expected array of one or more Alternative nodes");return e}function Nb(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(t=>!!t.type))throw new Error("Invalid body; expected array of nodes");return e}function Mb(e){return e.type==="LookaroundAssertion"&&e.kind==="lookahead"}function $b(e){return e.type==="LookaroundAssertion"&&e.kind==="lookbehind"}function vZ(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function yZ(e){return e.trim().replace(/[- _]+/g,"_").replace(/[A-Z][a-z]+(?=[A-Z])/g,"$&_").replace(/[A-Za-z]+/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function R5(e){return e.replace(/[- _]+/g,"").toLowerCase()}function Lb(e,t){let n=t;return a3(e,"Unclosed character class".concat(n?.type==="Character"&&n.value===93&&n.raw==="]"?' (started with "]")':""))}function Sb(e){return a3(e,"Unclosed group")}function T4(e,t,n=null){function a(r,s){for(let c=0;cA-Za-z-]|<[=!]|(DEFINE))"],["\\(\\?(?:[:=!>A-Za-z\\-]|<[=!]|\\(DEFINE\\))"])));function qb(e,t){for(let n=0;n=t&&e[n]++}function Ib(e,t,n,a){return e.slice(0,t)+a+e.slice(t+n.length)}var z2=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"}),Bb;function q6(e,t,n,a){let i=new RegExp(String.raw(Bb||(Bb=t1(["","|(?<$skip>[^?|\\?.)"],["","|(?<$skip>\\[\\^?|\\\\?.)"])),t),"gsu"),r=[!1],s=0,c="";for(let o of e.matchAll(i)){let{0:l,groups:{$skip:p}}=o;if(!p&&(!a||a===z2.DEFAULT==!s)){n instanceof Function?c+=n(o,{context:s?z2.CHAR_CLASS:z2.DEFAULT,negated:r[r.length-1]}):c+=n;continue}l[0]==="["?(s++,r.push(l[1]==="^")):l==="]"&&s&&(s--,r.pop()),c+=l}return c}function js(e,t,n,a){q6(e,t,n,a)}function _Z(e,t,n=0,a){if(!new RegExp(t,"su").test(e))return null;let i=new RegExp("".concat(t,"|(?<$skip>\\\\?.)"),"gsu");i.lastIndex=n;let r=0,s;for(;s=i.exec(e);){let{0:c,groups:{$skip:o}}=s;if(!o&&(!a||a===z2.DEFAULT==!r))return s;c==="["?r++:c==="]"&&r&&r--,i.lastIndex==s.index&&i.lastIndex++}return null}function I6(e,t,n){return!!_Z(e,t,0,n)}function Pb(e,t){let n=/\\?./gsu;n.lastIndex=t;let a=e.length,i=0,r=1,s;for(;s=n.exec(e);){let[c]=s;if(c==="[")i++;else if(i)c==="]"&&i--;else if(c==="(")r++;else if(c===")"&&(r--,!r)){a=s.index;break}}return e.slice(t,a)}var Db,Rb=new RegExp(String.raw(Db||(Db=t1(["(?",")|(?((?:?<[^>]+>)?)|\\?."],["(?",")|(?\\((?:\\?<[^>]+>)?)|\\\\?."])),Vb),"gsu"),Gb;function Ns(e,t){let n=t?.hiddenCaptures??[],a=t?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:a,hiddenCaptures:n};let i="(?>",r="(?:(?=(",s=[0],c=[],o=0,l=0,p=NaN,u;do{u=!1;let m=0,d=0,f=!1,w;for(Rb.lastIndex=Number.isNaN(p)?0:p+r.length;w=Rb.exec(e);){let{0:k,index:v,groups:{capturingStart:b,noncapturingStart:_}}=w;if(k==="[")m++;else if(m)k==="]"&&m--;else if(k===i&&!f)p=v,f=!0;else if(f&&_)d++;else if(b)f?d++:(o++,s.push(o+l));else if(k===")"&&f){if(!d){l++;let z=o+l;if(e="".concat(e.slice(0,p)).concat(r).concat(e.slice(p+i.length,v),"))<$$").concat(z,">)").concat(e.slice(v+1)),u=!0,c.push(z),qb(n,z),a.size){let L=new Map;a.forEach((C,j)=>{L.set(j>=z?j+1:j,C.map(N=>N>=z?N+1:N))}),a=L}break}d--}}}while(u);return n.push(...c),e=q6(e,String.raw(Gb||(Gb=t1(["\\(?[1-9]d*)|<$$(?d+)>"],["\\\\(?[1-9]\\d*)|<\\$\\$(?\\d+)>"]))),({0:m,groups:{backrefNum:d,wrappedBackrefNum:f}})=>{if(d){let w=+d;if(w>s.length-1)throw new Error('Backref "'.concat(m,'" greater than number of captures'));return"\\".concat(s[w])}return"\\".concat(f)},z2.DEFAULT),{pattern:e,captureTransfers:a,hiddenCaptures:n}}var Ob,Ub=String.raw(Ob||(Ob=t1(["(?:[?*+]|{d+(?:,d*)?})"],["(?:[?*+]|\\{\\d+(?:,\\d*)?\\})"]))),Wb,Hs=new RegExp(String.raw(Wb||(Wb=t1(["\n\\(?: d+\n | c[A-Za-z]\n | [gk]<[^>]+>\n | [pPu]{[^}]+}\n | u[A-Fa-fd]{4}\n | x[A-Fa-fd]{2}\n )\n| ((?: ? (?: [:=!>]\n | <(?:[=!]|[^>]+>)\n | [A-Za-z-]+:\n | (DEFINE)\n ))?\n| (?",")(?[?+]?)(?[?*+{]?)\n| \\?.\n"],["\n\\\\(?: \\d+\n | c[A-Za-z]\n | [gk]<[^>]+>\n | [pPu]\\{[^\\}]+\\}\n | u[A-Fa-f\\d]{4}\n | x[A-Fa-f\\d]{2}\n )\n| \\((?: \\? (?: [:=!>]\n | <(?:[=!]|[^>]+>)\n | [A-Za-z\\-]+:\n | \\(DEFINE\\)\n ))?\n| (?",")(?[?+]?)(?[?*+\\{]?)\n| \\\\?.\n"])),Ub).replace(/\s+/g,""),"gsu");function Ts(e){if(!new RegExp("".concat(Ub,"\\+")).test(e))return{pattern:e};let t=[],n=null,a=null,i="",r=0,s;for(Hs.lastIndex=0;s=Hs.exec(e);){let{0:c,index:o,groups:{qBase:l,qMod:p,invalidQ:u}}=s;if(c==="[")r||(a=o),r++;else if(c==="]")r?r--:a=null;else if(!r)if(p==="+"&&i&&!i.startsWith("(")){if(u)throw new Error('Invalid quantifier "'.concat(c,'"'));let m=-1;if(/^\{\d+\}$/.test(l))e=Ib(e,o+l.length,p,"");else{if(i===")"||i==="]"){let d=i===")"?n:a;if(d===null)throw new Error('Invalid unmatched "'.concat(i,'"'));e="".concat(e.slice(0,d),"(?>").concat(e.slice(d,o)).concat(l,")").concat(e.slice(o+c.length))}else e="".concat(e.slice(0,o-i.length),"(?>").concat(i).concat(l,")").concat(e.slice(o+c.length));m+=4}Hs.lastIndex+=m}else c[0]==="("?t.push(o):c===")"&&(n=t.length?t.pop():null);i=c}return{pattern:e}}var Y2=String.raw,Jb,wZ=Y2(Jb||(Jb=t1(["\\g<(?[^>&]+)&R=(?[^>]+)>"],["\\\\g<(?[^>&]+)&R=(?[^>]+)>"]))),ef,qs=Y2(ef||(ef=t1(["(?R=(?[^)]+))|",""],["\\(\\?R=(?[^\\)]+)\\)|",""])),wZ),tf,Rn=Y2(tf||(tf=t1(["(?<(?![=!])(?[^>]+)>"],["\\(\\?<(?![=!])(?[^>]+)>"]))),nf,mf=Y2(nf||(nf=t1(["","|(?()(?!?)"],["","|(?\\()(?!\\?)"])),Rn),af,V4=new RegExp(Y2(af||(af=t1(["","|","|(?|\\?."],["","|","|\\(\\?|\\\\?."])),Rn,qs),"gsu"),Vs="Cannot use multiple overlapping recursions",rf,sf,cf,of,lf;function df(e,t){let{hiddenCaptures:n,mode:a}={hiddenCaptures:[],mode:"plugin",...t},i=t?.captureTransfers??new Map;if(!new RegExp(qs,"su").test(e))return{pattern:e,captureTransfers:i,hiddenCaptures:n};if(a==="plugin"&&I6(e,Y2(rf||(rf=t1(["(?(DEFINE)"],["\\(\\?\\(DEFINE\\)"]))),z2.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");let r=[],s=I6(e,Y2(sf||(sf=t1(["\\[1-9]"],["\\\\[1-9]"]))),z2.DEFAULT),c=new Map,o=[],l=!1,p=0,u=0,m;for(V4.lastIndex=0;m=V4.exec(e);){let{0:d,groups:{captureName:f,rDepth:w,gRNameOrNum:k,gRDepth:v}}=m;if(d==="[")p++;else if(p)d==="]"&&p--;else if(w){if(Xb(w),l)throw new Error(Vs);if(s)throw new Error("".concat(a==="external"?"Backrefs":"Numbered backrefs"," cannot be used with global recursion"));let b=e.slice(0,m.index),_=e.slice(V4.lastIndex);if(I6(_,qs,z2.DEFAULT))throw new Error(Vs);let z=+w-1;e=Kb(b,_,z,!1,n,r,u),i=Qb(i,b,z,r.length,0,u);break}else if(k){Xb(v);let b=!1;for(let B of o)if(B.name===k||B.num===+k){if(b=!0,B.hasRecursedWithin)throw new Error(Vs);break}if(!b)throw new Error(Y2(of||(of=t1(['Recursive g cannot be used outside the referenced group "','"'],['Recursive \\g cannot be used outside the referenced group "','"'])),a==="external"?k:Y2(cf||(cf=t1(["g<","&R=",">"],["\\g<","&R=",">"])),k,v)));let _=c.get(k),z=Pb(e,_);if(s&&I6(z,Y2(lf||(lf=t1(["","|((?!?)"],["","|\\((?!\\?)"])),Rn),z2.DEFAULT))throw new Error("".concat(a==="external"?"Backrefs":"Numbered backrefs"," cannot be used with recursion of capturing groups"));let L=e.slice(_,m.index),C=z.slice(L.length+d.length),j=r.length,N=+v-1,H=Kb(L,C,N,!0,n,r,u);i=Qb(i,L,N,r.length-j,j,u);let S=e.slice(0,_),R=e.slice(_+z.length);e="".concat(S).concat(H).concat(R),V4.lastIndex+=H.length-d.length-L.length-C.length,o.forEach(B=>B.hasRecursedWithin=!0),l=!0}else if(f)u++,c.set(String(u),V4.lastIndex),c.set(f,V4.lastIndex),o.push({num:u,name:f});else if(d[0]==="("){let b=d==="(";b&&(u++,c.set(String(u),V4.lastIndex)),o.push(b?{num:u}:{})}else d===")"&&o.pop()}return n.push(...r),{pattern:e,captureTransfers:i,hiddenCaptures:n}}function Xb(e){let t="Max depth must be integer between 2 and 100; used ".concat(e);if(!/^[1-9]\d*$/.test(e))throw new Error(t);if(e=+e,e<2||e>100)throw new Error(t)}function Kb(e,t,n,a,i,r,s){let c=new Set;a&&js(e+t,Rn,({groups:{captureName:l}})=>{c.add(l)},z2.DEFAULT);let o=[n,a?c:null,i,r,s];return"".concat(e).concat(Yb("(?:".concat(e),"forward",...o),"(?:)").concat(Yb("".concat(t,")"),"backward",...o)).concat(t)}var pf,uf;function Yb(e,t,n,a,i,r,s){let o=p=>t==="forward"?p+2:n-p+2-1,l="";for(let p=0;p[^>]+)>"],["","|\\\\k<(?[^>]+)>"])),mf),({0:m,groups:{captureName:d,unnamed:f,backref:w}})=>{if(w&&a&&!a.has(w))return m;let k="_$".concat(u);if(f||d){let v=s+r.length+1;return r.push(v),xZ(i,v),f?m:"(?<".concat(d).concat(k,">")}return Y2(uf||(uf=t1(["k<","",">"],["\\k<","",">"])),w,k)},z2.DEFAULT)}return l}function xZ(e,t){for(let n=0;n=t&&e[n]++}function Qb(e,t,n,a,i,r){if(e.size&&a){let s=0;js(t,mf,()=>s++,z2.DEFAULT);let c=r-s+i,o=new Map;return e.forEach((l,p)=>{let u=(a-s*n)/n,m=s*n,d=p>c+s?p+a:p,f=[];for(let w of l)if(w<=c)f.push(w);else if(w>c+s+u)f.push(w+a);else if(w<=c+s)for(let k=0;k<=n;k++)f.push(w+s*k);else for(let k=0;k<=n;k++)f.push(w+m+u*k);o.set(d,f)}),o}return e}var F0=String.fromCodePoint,z1=String.raw,ue={},Gn=globalThis.RegExp;ue.flagGroups=(()=>{try{new Gn("(?i:)")}catch{return!1}return!0})();ue.unicodeSets=(()=>{try{new Gn("[[]]","v")}catch{return!1}return!0})();var yf;ue.bugFlagVLiteralHyphenIsRange=ue.unicodeSets?(()=>{try{new Gn(z1(yf||(yf=t1(["[d-a]"],["[\\d\\-a]"]))),"v")}catch{return!0}return!1})():!1;ue.bugNestedClassIgnoresNegation=ue.unicodeSets&&new Gn("[[^a]]","v").test("a");function Dn(e,{enable:t,disable:n}){return{dotAll:!n?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!n?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function B6(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function Ds(e,t){return hf[e]>=hf[t]}function kZ(e,t){if(e==null)throw new Error(t??"Value expected");return e}var hf={ES2025:2025,ES2024:2024,ES2018:2018},zZ={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function ov(e={}){if({}.toString.call(e)!=="[object Object]")throw new Error("Unexpected options");if(e.target!==void 0&&!zZ[e.target])throw new Error('Unexpected target "'.concat(e.target,'"'));let t={accuracy:"default",avoidSubclass:!1,flags:"",global:!1,hasIndices:!1,lazyCompileLength:1/0,target:"auto",verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return t.target==="auto"&&(t.target=ue.flagGroups?"ES2025":ue.unicodeSets?"ES2024":"ES2018"),t}var CZ="[ -\r ]",AZ=new Set([F0(304),F0(305)]),_f,s3=z1(_f||(_f=t1(["[p{L}p{M}p{N}p{Pc}]"],["[\\p{L}\\p{M}\\p{N}\\p{Pc}]"])));function lv(e){if(AZ.has(e))return[e];let t=new Set,n=e.toLowerCase(),a=n.toUpperCase(),i=LZ.get(n),r=MZ.get(n),s=$Z.get(n);return[...a].length===1&&t.add(a),s&&t.add(s),i&&t.add(i),t.add(n),r&&t.add(r),[...t]}var Os=new Map("C Other\nCc Control cntrl\nCf Format\nCn Unassigned\nCo Private_Use\nCs Surrogate\nL Letter\nLC Cased_Letter\nLl Lowercase_Letter\nLm Modifier_Letter\nLo Other_Letter\nLt Titlecase_Letter\nLu Uppercase_Letter\nM Mark Combining_Mark\nMc Spacing_Mark\nMe Enclosing_Mark\nMn Nonspacing_Mark\nN Number\nNd Decimal_Number digit\nNl Letter_Number\nNo Other_Number\nP Punctuation punct\nPc Connector_Punctuation\nPd Dash_Punctuation\nPe Close_Punctuation\nPf Final_Punctuation\nPi Initial_Punctuation\nPo Other_Punctuation\nPs Open_Punctuation\nS Symbol\nSc Currency_Symbol\nSk Modifier_Symbol\nSm Math_Symbol\nSo Other_Symbol\nZ Separator\nZl Line_Separator\nZp Paragraph_Separator\nZs Space_Separator\nASCII\nASCII_Hex_Digit AHex\nAlphabetic Alpha\nAny\nAssigned\nBidi_Control Bidi_C\nBidi_Mirrored Bidi_M\nCase_Ignorable CI\nCased\nChanges_When_Casefolded CWCF\nChanges_When_Casemapped CWCM\nChanges_When_Lowercased CWL\nChanges_When_NFKC_Casefolded CWKCF\nChanges_When_Titlecased CWT\nChanges_When_Uppercased CWU\nDash\nDefault_Ignorable_Code_Point DI\nDeprecated Dep\nDiacritic Dia\nEmoji\nEmoji_Component EComp\nEmoji_Modifier EMod\nEmoji_Modifier_Base EBase\nEmoji_Presentation EPres\nExtended_Pictographic ExtPict\nExtender Ext\nGrapheme_Base Gr_Base\nGrapheme_Extend Gr_Ext\nHex_Digit Hex\nIDS_Binary_Operator IDSB\nIDS_Trinary_Operator IDST\nID_Continue IDC\nID_Start IDS\nIdeographic Ideo\nJoin_Control Join_C\nLogical_Order_Exception LOE\nLowercase Lower\nMath\nNoncharacter_Code_Point NChar\nPattern_Syntax Pat_Syn\nPattern_White_Space Pat_WS\nQuotation_Mark QMark\nRadical\nRegional_Indicator RI\nSentence_Terminal STerm\nSoft_Dotted SD\nTerminal_Punctuation Term\nUnified_Ideograph UIdeo\nUppercase Upper\nVariation_Selector VS\nWhite_Space space\nXID_Continue XIDC\nXID_Start XIDS".split(/\s/).map(e=>[R5(e),e])),MZ=new Map([["s",F0(383)],[F0(383),"s"]]),$Z=new Map([[F0(223),F0(7838)],[F0(107),F0(8490)],[F0(229),F0(8491)],[F0(969),F0(8486)]]),LZ=new Map([U3(453),U3(456),U3(459),U3(498),...Is(8072,8079),...Is(8088,8095),...Is(8104,8111),U3(8124),U3(8140),U3(8188)]),wf,xf,kf,zf,Cf,Af,Mf,$f,Lf,Sf,Zf,Ef,Ff,jf,SZ=new Map([["alnum",z1(wf||(wf=t1(["[p{Alpha}p{Nd}]"],["[\\p{Alpha}\\p{Nd}]"])))],["alpha",z1(xf||(xf=t1(["p{Alpha}"],["\\p{Alpha}"])))],["ascii",z1(kf||(kf=t1(["p{ASCII}"],["\\p{ASCII}"])))],["blank",z1(zf||(zf=t1(["[p{Zs} ]"],["[\\p{Zs}\\t]"])))],["cntrl",z1(Cf||(Cf=t1(["p{Cc}"],["\\p{Cc}"])))],["digit",z1(Af||(Af=t1(["p{Nd}"],["\\p{Nd}"])))],["graph",z1(Mf||(Mf=t1(["[P{space}&&P{Cc}&&P{Cn}&&P{Cs}]"],["[\\P{space}&&\\P{Cc}&&\\P{Cn}&&\\P{Cs}]"])))],["lower",z1($f||($f=t1(["p{Lower}"],["\\p{Lower}"])))],["print",z1(Lf||(Lf=t1(["[[P{space}&&P{Cc}&&P{Cn}&&P{Cs}]p{Zs}]"],["[[\\P{space}&&\\P{Cc}&&\\P{Cn}&&\\P{Cs}]\\p{Zs}]"])))],["punct",z1(Sf||(Sf=t1(["[p{P}p{S}]"],["[\\p{P}\\p{S}]"])))],["space",z1(Zf||(Zf=t1(["p{space}"],["\\p{space}"])))],["upper",z1(Ef||(Ef=t1(["p{Upper}"],["\\p{Upper}"])))],["word",z1(Ff||(Ff=t1(["[p{Alpha}p{M}p{Nd}p{Pc}]"],["[\\p{Alpha}\\p{M}\\p{Nd}\\p{Pc}]"])))],["xdigit",z1(jf||(jf=t1(["p{AHex}"],["\\p{AHex}"])))]]);function ZZ(e,t){let n=[];for(let a=e;a<=t;a++)n.push(a);return n}function U3(e){let t=F0(e);return[t.toLowerCase(),t]}function Is(e,t){return ZZ(e,t).map(n=>U3(n))}var pv=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function EZ(e,t){let n={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...t};uv(e);let a={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:Ds(n.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};T4(e,FZ,a);let i={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},r={currentFlags:i,prevFlags:null,globalFlags:i,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:a.subroutineRefMap};T4(e,jZ,r);let s={groupsByName:r.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:r.reffedNodesByReferencer};return T4(e,HZ,s),e._originMap=r.groupOriginByCopy,e._strategy=a.strategy,e}var Hf,Nf,Tf,Vf,qf,If,Bf,Pf,Rf,FZ={AbsenceFunction({node:e,parent:t,replaceWith:n}){let{body:a,kind:i}=e;if(i==="repeater"){let r=N2();r.body[0].body.push(W3({negate:!0,body:a}),N4("Any"));let s=N2();s.body[0].body.push(Es("greedy",0,1/0,r)),n(z0(s,t),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:a}){let i=e.body.filter(r=>r.kind==="flags");for(let r=n+1;r\r\n|","|P{M}p{M}*)"],["(?>\\r\\n|","|\\P{M}\\p{M}*)"])),i?z1(If||(If=t1(["p{RGI_Emoji}"],["\\p{RGI_Emoji}"]))):m),{skipPropertyNameValidation:!0}),t))}else if(o==="hex")n(X3(N4("AHex",{negate:l}),t));else if(o==="newline")n(z0(c3(l?"[^\n]":"(?>\r\n?|[\n\v\f\x85\u2028\u2029])"),t));else if(o==="posix")if(!i&&(p==="graph"||p==="print")){if(a==="strict")throw new Error('POSIX class "'.concat(p,'" requires min target ES2024 or non-strict accuracy'));let u={graph:"!-~",print:" -~"}[p];l&&(u="\0-".concat(F0(u.codePointAt(0)-1)).concat(F0(u.codePointAt(2)+1),"-\u{10FFFF}")),n(z0(c3("[".concat(u,"]")),t))}else n(z0(Rs(c3(SZ.get(p)),l),t));else if(o==="property")Os.has(R5(p))||(e.key="sc");else if(o==="space")n(X3(N4("space",{negate:l}),t));else if(o==="word")n(z0(Rs(c3(s3),l),t));else throw new Error('Unexpected character set kind "'.concat(o,'"'))},Directive({node:e,parent:t,root:n,remove:a,replaceWith:i,removeAllPrevSiblings:r,removeAllNextSiblings:s}){let{kind:c,flags:o}=e;if(c==="flags")if(!o.enable&&!o.disable)a();else{let l=N2({flags:o});l.body[0].body=s(),i(z0(l,t),{traverse:!0})}else if(c==="keep"){let l=n.body[0],u=n.body.length===1&&Tn(l,{type:"Group"})&&l.body[0].body.length===1?l.body[0]:n;if(t.parent!==u||u.body.length>1)throw new Error(z1(Pf||(Pf=t1(['Uses "K" in a way that\'s unsupported'],['Uses "\\K" in a way that\'s unsupported']))));let m=W3({behind:!0});m.body[0].body=r(),i(z0(m,t))}else throw new Error('Unexpected directive kind "'.concat(c,'"'))},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(n=>delete e[n]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;let{enable:t,disable:n}=e.flags;t?.extended&&delete t.extended,n?.extended&&delete n.extended,t?.dotAll&&n?.dotAll&&delete t.dotAll,t?.ignoreCase&&n?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){let{kind:n}=e;n==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){let{kind:a}=e;if(a==="fail")n(z0(W3({negate:!0}),t));else throw new Error('Unsupported named callout "(*'.concat(a.toUpperCase(),'"'))},Quantifier({node:e}){if(e.body.type==="Quantifier"){let t=N2();t.body[0].body.push(e.body),e.body=z0(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){let n=[],a=!1,i=!1;for(let r of e.body)if(r.body.length===1&&r.body[0].kind==="search_start")r.body.pop();else{let s=gv(r.body);s?(a=!0,Array.isArray(s)?n.push(...s):n.push(s)):i=!0}a&&!i&&n.forEach(r=>t.add(r))},exit(e,{accuracy:t,passedLookbehind:n,strategy:a}){if(t==="strict"&&n&&a)throw new Error(z1(Rf||(Rf=t1(['Uses "G" in a way that requires non-strict accuracy'],['Uses "\\G" in a way that requires non-strict accuracy']))))}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!Ps(n)&&(n=Bs(n,t),e.ref=n)}},jZ={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){let{orphan:a,ref:i}=e;a||n.set(e,[...t.get(i).map(({node:r})=>r)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:a},{groupOriginByCopy:i,groupsByName:r,multiplexCapturesToLeftByRef:s,openRefs:c,reffedNodesByReferencer:o}){let l=i.get(e);if(l&&c.has(e.number)){let u=X3(gf(e.number),t);o.set(u,c.get(e.number)),n(u);return}c.set(e.number,e),s.set(e.number,[]),e.name&&B6(s,e.name,[]);let p=s.get(e.name??e.number);for(let u=0;um.type==="Group"&&!!m.flags)),u=p?Dn(a.globalFlags,p):a.globalFlags;NZ(u,a.currentFlags)||(l=N2({flags:qZ(u)}),l.body[0].body.push(o))}n(z0(l,t),{traverse:!c})}},HZ={Backreference({node:e,parent:t,replaceWith:n},a){if(e.orphan){a.highestOrphanBackref=Math.max(a.highestOrphanBackref,e.ref);return}let r=a.reffedNodesByReferencer.get(e).filter(s=>TZ(s,e));if(!r.length)n(z0(W3({negate:!0}),t));else if(r.length>1){let s=N2({atomic:!0,body:r.reverse().map(c=>r3({body:[Vn(c.number)]}))});n(z0(s,t))}else e.ref=r[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){let n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let a=0;a{t.forEach(i=>{a.enable?.[i]&&(delete n.disable[i],n.enable[i]=!0),a.disable?.[i]&&(n.disable[i]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function qZ({dotAll:e,ignoreCase:t}){let n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function hv(e){if(!e)throw new Error("Node expected");let{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function gv(e){let t=e.find(n=>n.kind==="search_start"||PZ(n,{negate:!1})||!IZ(n));if(!t)return null;if(t.kind==="search_start")return t;if(t.type==="LookaroundAssertion")return t.body[0].body[0];if(t.type==="CapturingGroup"||t.type==="Group"){let n=[];for(let a of t.body){let i=gv(a.body);if(!i)return null;Array.isArray(i)?n.push(...i):n.push(i)}return n}return null}function bv(e,t){let n=hv(e)??[];for(let a of n)if(a===t||bv(a,t))return!0;return!1}function IZ({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function BZ(e){let t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function PZ(e,t){let n={negate:null,...t};return e.type==="LookaroundAssertion"&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&Tn(e.body[0],{type:"Assertion",kind:"search_start"})}function Ps(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function c3(e,t){let a=qn(e,{...t,unicodePropertyMap:Os}).body;return a.length>1||a[0].body.length>1?N2({body:a}):a[0].body[0]}function Rs(e,t){return e.negate=t,e}function X3(e,t){return e.parent=t,e}function z0(e,t){return uv(e),e.parent=t,e}function RZ(e,t){let n=ov(t),a=Ds(n.target,"ES2024"),i=Ds(n.target,"ES2025"),r=n.rules.recursionLimit;if(!Number.isInteger(r)||r<2||r>20)throw new Error("Invalid recursionLimit; use 2-20");let s=null,c=null;if(!i){let d=[e.flags.ignoreCase];T4(e,DZ,{getCurrentModI:()=>d.at(-1),popModI(){d.pop()},pushModI(f){d.push(f)},setHasCasedChar(){d.at(-1)?s=!0:c=!0}})}let o={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||s)&&!c)},l=e,p={accuracy:n.accuracy,appliedGlobalFlags:o,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:l,originMap:e._originMap,recursionLimit:r,useAppliedIgnoreCase:!!(!i&&s&&c),useFlagMods:i,useFlagV:a,verbose:n.verbose};function u(d){return p.lastNode=l,l=d,kZ(GZ[d.type],'Unexpected node type "'.concat(d.type,'"'))(d,p,u)}let m={pattern:e.body.map(u).join("|"),flags:u(e.flags),options:{...e.options}};return a||(delete m.options.force.v,m.options.disable.v=!0,m.options.unicodeSetsPlugin=null),m._captureTransfers=new Map,m._hiddenCaptures=[],p.captureMap.forEach((d,f)=>{d.hidden&&m._hiddenCaptures.push(f),d.transferTo&&B6(m._captureTransfers,d.transferTo,[]).push(f)}),m}var DZ={"*":{enter({node:e},t){if(ff(e)){let n=t.getCurrentModI();t.pushModI(e.flags?Dn({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){ff(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){Ws(F0(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),fv(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&pv.has(e.value)&&t.setHasCasedChar()}},Df,Gf,Of,Wf,Uf,Xf,Kf,Yf,Qf,Jf,GZ={Alternative({body:e},t,n){return e.map(n).join("")},Assertion({kind:e,negate:t}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return z1(t?Df||(Df=t1(["B"],["\\B"])):Gf||(Gf=t1(["\b"],["\\b"])));throw new Error('Unexpected assertion kind "'.concat(e,'"'))},Backreference({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,t,n){let{body:a,name:i,number:r}=e,s={ignoreCase:t.currentFlags.ignoreCase},c=t.originMap.get(e);return c&&(s.hidden=!0,r>c.number&&(s.transferTo=c.number)),t.captureMap.set(r,s),"(".concat(i?"?<".concat(i,">"):"").concat(a.map(n).join("|"),")")},Character({value:e},t){let n=F0(e),a=G5(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(a!==n)return a;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&Ws(n)){let i=lv(n);return t.inCharClass?i.join(""):i.length>1?"[".concat(i.join(""),"]"):i[0]}return n},CharacterClass(e,t,n){let{kind:a,negate:i,parent:r}=e,{body:s}=e;if(a==="intersection"&&!t.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");ue.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&s.some(vf)&&(s=[P5(45),...s.filter(l=>!vf(l))]);let c=()=>"[".concat(i?"^":"").concat(s.map(n).join(a==="intersection"?"&&":""),"]");if(!t.inCharClass){if((!t.useFlagV||ue.bugNestedClassIgnoresNegation)&&!i){let p=s.filter(u=>u.type==="CharacterClass"&&u.kind==="union"&&u.negate);if(p.length){let u=N2(),m=u.body[0];return u.parent=r,m.parent=u,s=s.filter(d=>!p.includes(d)),e.body=s,s.length?(e.parent=m,m.body.push(e)):u.body.pop(),p.forEach(d=>{let f=r3({body:[d]});d.parent=f,f.parent=u,u.body.push(f)}),n(u)}}t.inCharClass=!0;let l=c();return t.inCharClass=!1,l}let o=s[0];if(a==="union"&&!i&&o&&((!t.useFlagV||!t.verbose)&&r.kind==="union"&&!(ue.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&r.kind==="intersection"&&s.length===1&&o.type!=="CharacterClassRange"))return s.map(n).join("");if(!t.useFlagV&&r.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return c()},CharacterClassRange(e,t){let n=e.min.value,a=e.max.value,i={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},r=G5(n,i),s=G5(a,i),c=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){let o=fv(e);KZ(o).forEach(p=>{c.add(Array.isArray(p)?"".concat(G5(p[0],i),"-").concat(G5(p[1],i)):G5(p,i))})}return"".concat(r,"-").concat(s).concat([...c].join(""))},CharacterSet({kind:e,negate:t,value:n,key:a},i){if(e==="dot")return i.currentFlags.dotAll?i.appliedGlobalFlags.dotAll||i.useFlagMods?".":"[^]":z1(Of||(Of=t1(["[^\n]"],["[^\\n]"])));if(e==="digit")return z1(t?Wf||(Wf=t1(["D"],["\\D"])):Uf||(Uf=t1(["d"],["\\d"])));if(e==="property"){if(i.useAppliedIgnoreCase&&i.currentFlags.ignoreCase&&pv.has(n))throw new Error('Unicode property "'.concat(n,"\" can't be case-insensitive when other chars have specific case"));return"".concat(z1(t?Xf||(Xf=t1(["P"],["\\P"])):Kf||(Kf=t1(["p"],["\\p"]))),"{").concat(a?"".concat(a,"="):"").concat(n,"}")}if(e==="word")return z1(t?Yf||(Yf=t1(["W"],["\\W"])):Qf||(Qf=t1(["w"],["\\w"])));throw new Error('Unexpected character set kind "'.concat(e,'"'))},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:t,flags:n,parent:a},i,r){let s=i.currentFlags;n&&(i.currentFlags=Dn(s,n));let c=t.map(r).join("|"),o=!i.verbose&&t.length===1&&a.type!=="Quantifier"&&!e&&(!i.useFlagMods||!n)?c:"(?".concat(YZ(e,n,i.useFlagMods)).concat(c,")");return i.currentFlags=s,o},LookaroundAssertion({body:e,kind:t,negate:n},a,i){let r="".concat(t==="lookahead"?"":"<").concat(n?"!":"=");return"(?".concat(r).concat(e.map(i).join("|"),")")},Quantifier(e,t,n){return n(e.body)+QZ(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");let a=n.recursionLimit;return t===0?"(?R=".concat(a,")"):z1(Jf||(Jf=t1(["g<","&R=",">"],["\\g<","&R=",">"])),t,a)}},OZ=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),WZ=new Set(["-","\\","]","^","["]),UZ=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),ev,tv,nv,av,iv,rv,sv,cv,bf=new Map([[9,z1(ev||(ev=t1([" "],["\\t"])))],[10,z1(tv||(tv=t1(["\n"],["\\n"])))],[11,z1(nv||(nv=t1(["\v"],["\\v"])))],[12,z1(av||(av=t1(["\f"],["\\f"])))],[13,z1(iv||(iv=t1(["\r"],["\\r"])))],[8232,z1(rv||(rv=t1(["\u2028"],["\\u2028"])))],[8233,z1(sv||(sv=t1(["\u2029"],["\\u2029"])))],[65279,z1(cv||(cv=t1(["\uFEFF"],["\\uFEFF"])))]]),XZ=/^\p{Cased}$/u;function Ws(e){return XZ.test(e)}function fv(e,t){let n=!!t?.firstOnly,a=e.min.value,i=e.max.value,r=[];if(a<65&&(i===65535||i>=131071)||a===65536&&i>=131071)return r;for(let s=a;s<=i;s++){let c=F0(s);if(!Ws(c))continue;let o=lv(c).filter(l=>{let p=l.codePointAt(0);return pi});if(o.length&&(r.push(...o),n))break}return r}function G5(e,{escDigit:t,inCharClass:n,useFlagV:a}){if(bf.has(e))return bf.get(e);if(e<32||e>126&&e<160||e>262143||t&&JZ(e))return e>255?"\\u{".concat(e.toString(16).toUpperCase(),"}"):"\\x".concat(e.toString(16).toUpperCase().padStart(2,"0"));let i=n?a?UZ:WZ:OZ,r=F0(e);return(i.has(r)?"\\":"")+r}function KZ(e){let t=e.map(i=>i.codePointAt(0)).sort((i,r)=>i-r),n=[],a=null;for(let i=0;i";let a="";if(t&&n){let{enable:i,disable:r}=t;a=(i?.ignoreCase?"i":"")+(i?.dotAll?"s":"")+(r?"-":"")+(r?.ignoreCase?"i":"")+(r?.dotAll?"s":"")}return"".concat(a,":")}function QZ({kind:e,max:t,min:n}){let a;return!n&&t===1?a="?":!n&&t===1/0?a="*":n===1&&t===1/0?a="+":n===t?a="{".concat(n,"}"):a="{".concat(n,",").concat(t===1/0?"":t,"}"),a+{greedy:"",lazy:"?",possessive:"+"}[e]}function ff({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function JZ(e){return e>47&&e<58}function vf({type:e,value:t}){return e==="Character"&&t===45}var eE=class Gs extends RegExp{#t=new Map;#e=null;#a;#n=null;#i=null;rawOptions={};get source(){return this.#a||"(?:)"}constructor(t,n,a){let i=!!a?.lazyCompile;if(t instanceof RegExp){if(a)throw new Error("Cannot provide options when copying a regexp");let r=t;super(r,n),this.#a=r.source,r instanceof Gs&&(this.#t=r.#t,this.#n=r.#n,this.#i=r.#i,this.rawOptions=r.rawOptions)}else{let r={hiddenCaptures:[],strategy:null,transfers:[],...a};super(i?"":t,n),this.#a=t,this.#t=nE(r.hiddenCaptures,r.transfers),this.#i=r.strategy,this.rawOptions=a??{}}i||(this.#e=this)}exec(t){if(!this.#e){let{lazyCompile:i,...r}=this.rawOptions;this.#e=new Gs(this.#a,this.flags,r)}let n=this.global||this.sticky,a=this.lastIndex;if(this.#i==="clip_search"&&n&&a){this.lastIndex=0;let i=this.#r(t.slice(a));return i&&(tE(i,a,t,this.hasIndices),this.lastIndex+=a),i}return this.#r(t)}#r(t){this.#e.lastIndex=this.lastIndex;let n=super.exec.call(this.#e,t);if(this.lastIndex=this.#e.lastIndex,!n||!this.#t.size)return n;let a=[...n];n.length=1;let i;this.hasIndices&&(i=[...n.indices],n.indices.length=1);let r=[0];for(let s=1;s{let c=r[s];c&&(r[s]=[c[0]+t,c[1]+t])})}}function nE(e,t){let n=new Map;for(let a of e)n.set(a,{hidden:!0});for(let[a,i]of t)for(let r of i)B6(n,r,{}).transferTo=a;return n}function aE(e){let t=/(?\((?:\?<(?![=!])(?[^>]+)>|(?!\?)))|\\?./gsu,n=new Map,a=0,i=0,r;for(;r=t.exec(e);){let{0:s,groups:{capture:c,name:o}}=r;s==="["?a++:a?s==="]"&&a--:c&&(i++,o&&n.set(i,o))}return n}function vv(e,t){let n=iE(e,t);return n.options?new eE(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function iE(e,t){let n=ov(t),a=qn(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:Os}),i=EZ(a,{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),r=RZ(i,n),s=df(r.pattern,{captureTransfers:r._captureTransfers,hiddenCaptures:r._hiddenCaptures,mode:"external"}),c=Ts(s.pattern),o=Ns(c.pattern,{captureTransfers:s.captureTransfers,hiddenCaptures:s.hiddenCaptures}),l={pattern:o.pattern,flags:"".concat(n.hasIndices?"d":"").concat(n.global?"g":"").concat(r.flags).concat(r.options.disable.v?"u":"v")};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{let p=o.hiddenCaptures.sort((f,w)=>f-w),u=Array.from(o.captureTransfers),m=i._strategy,d=l.pattern.length>=n.lazyCompileLength;(p.length||u.length||m||d)&&(l.options={...p.length&&{hiddenCaptures:p},...u.length&&{transfers:u},...m&&{strategy:m},...d&&{lazyCompile:d}})}return l}function On(e,t){return vv(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function Us(e={}){let t={target:"auto",cache:new Map,...e};return t.regexConstructor||=n=>On(n,{target:t.target}),{createScanner(n){return new Jg(n,t)},createString:eb}}P6();R6();D6();var oE=new Map(Object.entries({typescript:["ts","tsx","mts","cts"],javascript:["js","jsx","mjs","cjs"],shellscript:["sh","bash","zsh"],fish:["fish"],json:["json","jsonc","jsonl","ndjson","ipynb"],csv:["csv"],python:["py","pyw","pyi"],ruby:["rb","rake","gemspec"],go:["go"],rust:["rs"],java:["java"],c:["c","h"],cpp:["cc","cpp","cxx","hh","hpp","hxx"],csharp:["cs"],kotlin:["kt","kts"],swift:["swift"],php:["php"],yaml:["yaml","yml"],toml:["toml"],ini:["ini","conf","cfg","properties"],dotenv:["env"],log:["log"],diff:["diff","patch"],http:["http"],markdown:["md","markdown"],mdx:["mdx"],rst:["rst"],latex:["tex","sty","cls"],bibtex:["bib"],asciidoc:["adoc"],html:["html","htm","xhtml"],css:["css"],scss:["scss"],less:["less"],sql:["sql"],xml:["xml","xsd","xsl","xslt","plist","svg"],lua:["lua"],bat:["bat","cmd"],powershell:["ps1","psm1","psd1"],r:["r"],julia:["jl"],dart:["dart"],scala:["scala"],clojure:["clj","cljs","edn"],erlang:["erl","hrl"],elixir:["ex","exs"],haskell:["hs"],fsharp:["fs","fsi","fsx"],vb:["vb"],perl:["pl","pm"],verilog:["v"],"system-verilog":["sv","svh"],graphql:["graphql","gql"],proto:["proto"],hcl:["tf","tfvars","hcl"],nix:["nix"],vue:["vue"],svelte:["svelte"],make:["makefile","mk"],cmake:["cmake"],groovy:["gradle","groovy"]}).flatMap(([e,t])=>t.map(n=>[n,e]))),lE=[...oE.keys()];var bq=U1(_v(),1);var o3={card:"At",header:"Yt",heading:"It",language:"Rt",title:"Bt",actions:"Dt",status:"Gt",action:"ne",body:"Ht"};var O5={block:"le",body:"ki",line:"vi",path:"Lt",gap:"Ot",del:"yi",add:"ji",context:"Xi",expand:"Ti"};var dE={};function Ks(e,t){let n=t||dE,a=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return xv(e,a,i)}function xv(e,t,n){if(hE(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return wv(e.children,t,n)}return Array.isArray(e)?wv(e,t,n):""}function wv(e,t,n){let a=[],i=-1;for(;++ii?0:i+t:t=t>i?i:t,n=n>0?n:0,a.length<1e4)s=Array.from(a),s.unshift(t,n),e.splice(...s);else for(n&&e.splice(t,n);r0?(I0(e,e.length,0,t),e):t}var zv={}.hasOwnProperty;function Wn(e){let t={},n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"\uFFFD":String.fromCodePoint(n)}function e2(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var j0=e4(/[A-Za-z]/),y0=e4(/[\dA-Za-z]/),Cv=e4(/[#-'*+\--9=?A-Z^-~]/);function q4(e){return e!==null&&(e<32||e===127)}var G6=e4(/\d/),Av=e4(/[\dA-Fa-f]/),Mv=e4(/[!-/:-@[-`{-~]/);function Q(e){return e!==null&&e<-2}function L1(e){return e!==null&&(e<0||e===32)}function h1(e){return e===-2||e===-1||e===32}var l3=e4(/\p{P}|\p{S}/u),$e=e4(/\s/);function e4(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Xn(e){let t=[],n=-1,a=0,i=0;for(;++n55295&&r<57344){let c=e.charCodeAt(n+1);r<56320&&c>56319&&c<57344?(s=String.fromCharCode(r,c),i=1):s="\uFFFD"}else s=String.fromCharCode(r);s&&(t.push(e.slice(a,n),encodeURIComponent(s)),a=n+i+1,s=""),i&&(n+=i,i=0)}return t.join("")+e.slice(a)}function m1(e,t,n,a){let i=a?a-1:1/0,r=0;return s;function s(o){return h1(o)?(e.enter(n),c(o)):t(o)}function c(o){return h1(o)&&r++0&&h1(p)?(e.enter(a),o(p)):l(p)}function o(p){return h1(p)&&s=i?t(p):n(p)}}var $v={tokenize:fE};function fE(e){let t=e.attempt(this.parser.constructs.contentInitial,a,i),n;return t;function a(c){if(c===null){e.consume(c);return}return e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),m1(e,t,"linePrefix")}function i(c){return e.enter("paragraph"),r(c)}function r(c){let o=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=o),n=o,s(c)}function s(c){if(c===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(c);return}return Q(c)?(e.consume(c),e.exit("chunkText"),r):(e.consume(c),s)}}var p3=class{constructor(){this.index=new Map,this.map=[]}add(t,n,a){Lv(this,t,n,a,!1)}addBefore(t,n,a){Lv(this,t,n,a,!0)}consume(t){if(this.map.sort(function(r,s){return r[0]-s[0]}),this.map.length===0)return;let n=this.map.length,a=[];for(;n>0;)n-=1,a.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];a.push(t.slice()),t.length=0;let i=a.pop();for(;i;){for(let r of i)t.push(r);i=a.pop()}this.map.length=0,this.index.clear()}};function Lv(e,t,n,a,i){if(n===0&&a.length===0)return;let r=e.index.get(t);if(r){r[1]+=n,i?(a.push(...r[2]),r[2]=a):r[2].push(...a);return}let s=[t,n,a];e.map.push(s),e.index.set(t,s)}var Zv={tokenize:vE},Sv={tokenize:yE};function vE(e){let t=this,n=[],a=0,i,r,s;return c;function c(_){if(as))return;let j=t.events.length,N=j,H,S;for(;N--;)if(t.events[N][0]==="exit"&&t.events[N][1].type==="chunkFlow"){if(H){S=t.events[N][1].end;break}H=!0}for(v(a),C=j;C_;){let L=n[z];t.containerState=L[1],L[0].exit.call(t,e)}n.length=_}function b(){i.write([null]),r=void 0,i=void 0,t.containerState._closeFlow=void 0}}function yE(e,t,n){return m1(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function u3(e){if(e===null||L1(e)||$e(e))return 1;if(l3(e))return 2}function t4(e,t,n){let a=[],i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1,s={...e[i][1].end},c={...e[n][1].start};Ev(s,-r),Ev(c,r);let o={type:r>1?"strongSequence":"emphasisSequence",start:s,end:{...e[i][1].end}},l={type:r>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:c},p={type:r>1?"strongText":"emphasisText",start:{...e[i][1].end},end:{...e[n][1].start}},u={type:r>1?"strong":"emphasis",start:{...o.start},end:{...l.end}};e[i][1].end={...o.start},e[n][1].start={...l.end},a=[],e[i][1].end.offset-e[i][1].start.offset&&(a=o2(a,[["enter",e[i][1],t],["exit",e[i][1],t]])),a=o2(a,[["enter",u,t],["enter",o,t],["exit",o,t],["enter",p,t]]),a=o2(a,t4(t.parser.constructs.insideSpan.null,e.slice(i+1,n),t)),a=o2(a,[["exit",p,t],["enter",l,t],["exit",l,t],["exit",u,t]]);let m=0;e[n][1].end.offset-e[n][1].start.offset&&(m=2,a=o2(a,[["enter",e[n][1],t],["exit",e[n][1],t]])),I0(e,i-1,n-i+3,a),n=i+a.length-m-2;break}}for(n=-1;++n0&&h1(C)?m1(e,b,"linePrefix",r+1)(C):b(C)}function b(C){return C===null||Q(C)?e.check(O6,w,z)(C):(e.enter("codeFlowValue"),_(C))}function _(C){return C===null||Q(C)?(e.exit("codeFlowValue"),b(C)):(e.consume(C),_)}function z(C){return e.exit("codeFenced"),t(C)}function L(C,j,N){let H=0;return S;function S(G){return C.enter("lineEnding"),C.consume(G),C.exit("lineEnding"),R}function R(G){return C.enter("codeFencedFence"),h1(G)?m1(C,B,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(G):B(G)}function B(G){return G===c?(C.enter("codeFencedFenceSequence"),I(G)):N(G)}function I(G){return G===c?(H++,C.consume(G),I):H>=s?(C.exit("codeFencedFenceSequence"),h1(G)?m1(C,e1,"whitespace")(G):e1(G)):N(G)}function e1(G){return G===null||Q(G)?(C.exit("codeFencedFence"),j(G)):N(G)}}}var W6={name:"codeIndented",tokenize:EE},ZE={partial:!0,tokenize:FE};function EE(e,t,n){return a;function a(c){return e.enter("codeIndented"),Ys(e,i,n,"linePrefix",4,4)(c)}function i(c){return c===null?s(c):Q(c)?e.attempt(ZE,i,s)(c):(e.enter("codeFlowValue"),r(c))}function r(c){return c===null||Q(c)?(e.exit("codeFlowValue"),i(c)):(e.consume(c),r)}function s(c){return e.exit("codeIndented"),t(c)}}function FE(e,t,n){let a=this;return i;function i(s){return a.parser.lazy[a.now().line]?n(s):Q(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i):Ys(e,t,r,"linePrefix",4,4)(s)}function r(s){return Q(s)?i(s):n(s)}}var Js={name:"codeText",previous:HE,resolve:jE,tokenize:NE};function jE(e){let t=e.length-4,n=3,a,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(a=n;++a=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-a+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-a+this.left.length).reverse())}splice(t,n,a){let i=n||0;this.setCursor(Math.trunc(t));let r=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return a&&U6(this.left,a),r.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),U6(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),U6(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(s):e.interrupt(a.parser.constructs.flow,n,t)(s)}}function na(e,t,n,a,i,r,s,c,o){let l=o||Number.POSITIVE_INFINITY,p=0;return u;function u(v){return v===60?(e.enter(a),e.enter(i),e.enter(r),e.consume(v),e.exit(r),m):v===null||v===32||v===41||q4(v)?n(v):(e.enter(a),e.enter(s),e.enter(c),e.enter("chunkString",{contentType:"string"}),w(v))}function m(v){return v===62?(e.enter(r),e.consume(v),e.exit(r),e.exit(i),e.exit(a),t):(e.enter(c),e.enter("chunkString",{contentType:"string"}),d(v))}function d(v){return v===62?(e.exit("chunkString"),e.exit(c),m(v)):v===null||v===60||Q(v)?n(v):(e.consume(v),v===92?f:d)}function f(v){return v===60||v===62||v===92?(e.consume(v),d):d(v)}function w(v){return!p&&(v===null||v===41||L1(v))?(e.exit("chunkString"),e.exit(c),e.exit(s),e.exit(a),t(v)):p999||d===null||d===91||d===93&&!o||d===94&&!c&&"_hiddenFootnoteSupport"in s.parser.constructs?n(d):d===93?(e.exit(r),e.enter(i),e.consume(d),e.exit(i),e.exit(a),t):Q(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),p):(e.enter("chunkString",{contentType:"string"}),u(d))}function u(d){return d===null||d===91||d===93||Q(d)||c++>999?(e.exit("chunkString"),p(d)):(e.consume(d),o||(o=!h1(d)),d===92?m:u)}function m(d){return d===91||d===92||d===93?(e.consume(d),c++,u):u(d)}}function ia(e,t,n,a,i,r){let s;return c;function c(m){return m===34||m===39||m===40?(e.enter(a),e.enter(i),e.consume(m),e.exit(i),s=m===40?41:m,o):n(m)}function o(m){return m===s?(e.enter(i),e.consume(m),e.exit(i),e.exit(a),t):(e.enter(r),l(m))}function l(m){return m===s?(e.exit(r),o(s)):m===null?n(m):Q(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),m1(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),p(m))}function p(m){return m===s||m===null||Q(m)?(e.exit("chunkString"),l(m)):(e.consume(m),m===92?u:p)}function u(m){return m===s||m===92?(e.consume(m),p):p(m)}}function B4(e,t){let n;return a;function a(i){return Q(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,a):h1(i)?m1(e,a,n?"linePrefix":"lineSuffix")(i):t(i)}}var tc={name:"definition",tokenize:RE},PE={partial:!0,tokenize:DE};function RE(e,t,n){let a=this,i;return r;function r(d){return e.enter("definition"),s(d)}function s(d){return aa.call(a,e,c,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(d)}function c(d){return i=e2(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)),d===58?(e.enter("definitionMarker"),e.consume(d),e.exit("definitionMarker"),o):n(d)}function o(d){return L1(d)?B4(e,l)(d):l(d)}function l(d){return na(e,p,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(d)}function p(d){return e.attempt(PE,u,u)(d)}function u(d){return h1(d)?m1(e,m,"whitespace")(d):m(d)}function m(d){return d===null||Q(d)?(e.exit("definition"),a.parser.defined.push(i),t(d)):n(d)}}function DE(e,t,n){return a;function a(c){return L1(c)?B4(e,i)(c):n(c)}function i(c){return ia(e,r,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(c)}function r(c){return h1(c)?m1(e,s,"whitespace")(c):s(c)}function s(c){return c===null||Q(c)?t(c):n(c)}}var nc={name:"hardBreakEscape",tokenize:GE};function GE(e,t,n){return a;function a(r){return e.enter("hardBreakEscape"),e.consume(r),i}function i(r){return Q(r)?(e.exit("hardBreakEscape"),t(r)):n(r)}}var ac={name:"headingAtx",resolve:OE,tokenize:WE};function OE(e,t){let n=e.length-2,a=3;if(e[a][1].type==="whitespace"&&(a+=2),n-2>a&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(a===n-1||n-4>a&&e[n-2][1].type==="whitespace")&&(n-=a+1===n?2:4),n>a){let i={type:"atxHeadingText",start:e[a][1].start,end:e[n][1].end},r={type:"chunkText",start:e[a][1].start,end:e[n][1].end,contentType:"text"};I0(e,a,n-a+1,[["enter",i,t],["enter",r,t],["exit",r,t],["exit",i,t]])}return e}function WE(e,t,n){let a=0;return i;function i(p){return e.enter("atxHeading"),r(p)}function r(p){return e.enter("atxHeadingSequence"),s(p)}function s(p){return p===35&&a++<6?(e.consume(p),s):p===null||L1(p)?(e.exit("atxHeadingSequence"),c(p)):n(p)}function c(p){return p===35?(e.enter("atxHeadingSequence"),o(p)):p===null||Q(p)?(e.exit("atxHeading"),t(p)):h1(p)?m1(e,c,"whitespace")(p):(e.enter("atxHeadingText"),l(p))}function o(p){return p===35?(e.consume(p),o):(e.exit("atxHeadingSequence"),c(p))}function l(p){return p===null||p===35||L1(p)?(e.exit("atxHeadingText"),c(p)):(e.consume(p),l)}}var Fv=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ic=["pre","script","style","textarea"];var rc={concrete:!0,name:"htmlFlow",resolveTo:XE,tokenize:KE},UE={partial:!0,tokenize:YE};function XE(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function KE(e,t,n){let a=this,i,r,s,c,o;return l;function l(Z){return p(Z)}function p(Z){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(Z),u}function u(Z){return Z===33?(e.consume(Z),m):Z===47?(e.consume(Z),r=!0,w):Z===63?(e.consume(Z),i=3,a.interrupt?t:M):j0(Z)?(e.consume(Z),s=String.fromCharCode(Z),k):n(Z)}function m(Z){return Z===45?(e.consume(Z),i=2,d):Z===91?(e.consume(Z),i=5,c=0,f):j0(Z)?(e.consume(Z),i=4,a.interrupt?t:M):n(Z)}function d(Z){return Z===45?(e.consume(Z),a.interrupt?t:M):n(Z)}function f(Z){let P1="CDATA[";return Z===P1.charCodeAt(c++)?(e.consume(Z),c===P1.length?a.interrupt?t:B:f):n(Z)}function w(Z){return j0(Z)?(e.consume(Z),s=String.fromCharCode(Z),k):n(Z)}function k(Z){if(Z===null||Z===47||Z===62||L1(Z)){let P1=Z===47,C0=s.toLowerCase();return!P1&&!r&&ic.includes(C0)?(i=1,a.interrupt?t(Z):B(Z)):Fv.includes(s.toLowerCase())?(i=6,P1?(e.consume(Z),v):a.interrupt?t(Z):B(Z)):(i=7,a.interrupt&&!a.parser.lazy[a.now().line]?n(Z):r?b(Z):_(Z))}return Z===45||y0(Z)?(e.consume(Z),s+=String.fromCharCode(Z),k):n(Z)}function v(Z){return Z===62?(e.consume(Z),a.interrupt?t:B):n(Z)}function b(Z){return h1(Z)?(e.consume(Z),b):S(Z)}function _(Z){return Z===47?(e.consume(Z),S):Z===58||Z===95||j0(Z)?(e.consume(Z),z):h1(Z)?(e.consume(Z),_):S(Z)}function z(Z){return Z===45||Z===46||Z===58||Z===95||y0(Z)?(e.consume(Z),z):L(Z)}function L(Z){return Z===61?(e.consume(Z),C):h1(Z)?(e.consume(Z),L):_(Z)}function C(Z){return Z===null||Z===60||Z===61||Z===62||Z===96?n(Z):Z===34||Z===39?(e.consume(Z),o=Z,j):h1(Z)?(e.consume(Z),C):N(Z)}function j(Z){return Z===o?(e.consume(Z),o=null,H):Z===null||Q(Z)?n(Z):(e.consume(Z),j)}function N(Z){return Z===null||Z===34||Z===39||Z===47||Z===60||Z===61||Z===62||Z===96||L1(Z)?L(Z):(e.consume(Z),N)}function H(Z){return Z===47||Z===62||h1(Z)?_(Z):n(Z)}function S(Z){return Z===62?(e.consume(Z),R):n(Z)}function R(Z){return Z===null||Q(Z)?B(Z):h1(Z)?(e.consume(Z),R):n(Z)}function B(Z){return Z===45&&i===2?(e.consume(Z),X):Z===60&&i===1?(e.consume(Z),o1):Z===62&&i===4?(e.consume(Z),a1):Z===63&&i===3?(e.consume(Z),M):Z===93&&i===5?(e.consume(Z),M1):Q(Z)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(UE,l1,I)(Z)):Z===null||Q(Z)?(e.exit("htmlFlowData"),I(Z)):(e.consume(Z),B)}function I(Z){return e.check(O6,e1,l1)(Z)}function e1(Z){return e.enter("lineEnding"),e.consume(Z),e.exit("lineEnding"),G}function G(Z){return Z===null||Q(Z)?I(Z):(e.enter("htmlFlowData"),B(Z))}function X(Z){return Z===45?(e.consume(Z),M):B(Z)}function o1(Z){return Z===47?(e.consume(Z),s="",w1):B(Z)}function w1(Z){if(Z===62){let P1=s.toLowerCase();return ic.includes(P1)?(e.consume(Z),a1):B(Z)}return j0(Z)&&s.length<8?(e.consume(Z),s+=String.fromCharCode(Z),w1):B(Z)}function M1(Z){return Z===93?(e.consume(Z),M):B(Z)}function M(Z){return Z===62?(e.consume(Z),a1):Z===45&&i===2?(e.consume(Z),M):B(Z)}function a1(Z){return Z===null||Q(Z)?(e.exit("htmlFlowData"),l1(Z)):(e.consume(Z),a1)}function l1(Z){return e.exit("htmlFlow"),t(Z)}}function YE(e,t,n){return a;function a(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Le,t,n)}}var sc={name:"htmlText",tokenize:QE};function QE(e,t,n){let a=this,i,r,s;return c;function c(M){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(M),o}function o(M){return M===33?(e.consume(M),l):M===47?(e.consume(M),L):M===63?(e.consume(M),_):j0(M)?(e.consume(M),N):n(M)}function l(M){return M===45?(e.consume(M),p):M===91?(e.consume(M),r=0,f):j0(M)?(e.consume(M),b):n(M)}function p(M){return M===45?(e.consume(M),d):n(M)}function u(M){return M===null?n(M):M===45?(e.consume(M),m):Q(M)?(s=u,o1(M)):(e.consume(M),u)}function m(M){return M===45?(e.consume(M),d):u(M)}function d(M){return M===62?X(M):M===45?m(M):u(M)}function f(M){let a1="CDATA[";return M===a1.charCodeAt(r++)?(e.consume(M),r===a1.length?w:f):n(M)}function w(M){return M===null?n(M):M===93?(e.consume(M),k):Q(M)?(s=w,o1(M)):(e.consume(M),w)}function k(M){return M===93?(e.consume(M),v):w(M)}function v(M){return M===62?X(M):M===93?(e.consume(M),v):w(M)}function b(M){return M===null||M===62?X(M):Q(M)?(s=b,o1(M)):(e.consume(M),b)}function _(M){return M===null?n(M):M===63?(e.consume(M),z):Q(M)?(s=_,o1(M)):(e.consume(M),_)}function z(M){return M===62?X(M):_(M)}function L(M){return j0(M)?(e.consume(M),C):n(M)}function C(M){return M===45||y0(M)?(e.consume(M),C):j(M)}function j(M){return Q(M)?(s=j,o1(M)):h1(M)?(e.consume(M),j):X(M)}function N(M){return M===45||y0(M)?(e.consume(M),N):M===47||M===62||L1(M)?H(M):n(M)}function H(M){return M===47?(e.consume(M),X):M===58||M===95||j0(M)?(e.consume(M),S):Q(M)?(s=H,o1(M)):h1(M)?(e.consume(M),H):X(M)}function S(M){return M===45||M===46||M===58||M===95||y0(M)?(e.consume(M),S):R(M)}function R(M){return M===61?(e.consume(M),B):Q(M)?(s=R,o1(M)):h1(M)?(e.consume(M),R):H(M)}function B(M){return M===null||M===60||M===61||M===62||M===96?n(M):M===34||M===39?(e.consume(M),i=M,I):Q(M)?(s=B,o1(M)):h1(M)?(e.consume(M),B):(e.consume(M),e1)}function I(M){return M===i?(e.consume(M),i=void 0,G):M===null?n(M):Q(M)?(s=I,o1(M)):(e.consume(M),I)}function e1(M){return M===null||M===34||M===39||M===60||M===61||M===96?n(M):M===47||M===62||L1(M)?H(M):(e.consume(M),e1)}function G(M){return M===47||M===62||L1(M)?H(M):n(M)}function X(M){return M===62?(e.consume(M),e.exit("htmlTextData"),e.exit("htmlText"),t):n(M)}function o1(M){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(M),e.exit("lineEnding"),w1}function w1(M){return h1(M)?m1(e,M1,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(M):M1(M)}function M1(M){return e.enter("htmlTextData"),s(M)}}var P4={name:"labelEnd",resolveAll:nF,resolveTo:aF,tokenize:iF},JE={tokenize:rF},eF={tokenize:sF},tF={tokenize:cF};function nF(e){let t=-1,n=[];for(;++t0&&i[i.length-1]._balanced;)i.pop();r=i[i.length-1]}return c;function c(m){return r?r._inactive?u(m):(s=a.parser.defined.includes(e2(a.sliceSerialize({start:r.end,end:a.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(m),e.exit("labelMarker"),e.exit("labelEnd"),o):n(m)}function o(m){return m===40?e.attempt(JE,p,s?p:u)(m):m===91?e.attempt(eF,p,s?l:u)(m):s?p(m):u(m)}function l(m){return e.attempt(tF,p,u)(m)}function p(m){return i.pop(),t(m)}function u(m){return r._balanced=!0,n(m)}}function rF(e,t,n){return a;function a(u){return e.enter("resource"),e.enter("resourceMarker"),e.consume(u),e.exit("resourceMarker"),i}function i(u){return L1(u)?B4(e,r)(u):r(u)}function r(u){return u===41?p(u):na(e,s,c,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(u)}function s(u){return L1(u)?B4(e,o)(u):p(u)}function c(u){return n(u)}function o(u){return u===34||u===39||u===40?ia(e,l,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(u):p(u)}function l(u){return L1(u)?B4(e,p)(u):p(u)}function p(u){return u===41?(e.enter("resourceMarker"),e.consume(u),e.exit("resourceMarker"),e.exit("resource"),t):n(u)}}function sF(e,t,n){let a=this;return i;function i(c){return aa.call(a,e,r,s,"reference","referenceMarker","referenceString")(c)}function r(c){return a.parser.defined.includes(e2(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)))?t(c):n(c)}function s(c){return n(c)}}function cF(e,t,n){return a;function a(r){return e.enter("reference"),e.enter("referenceMarker"),e.consume(r),e.exit("referenceMarker"),i}function i(r){return r===93?(e.enter("referenceMarker"),e.consume(r),e.exit("referenceMarker"),e.exit("reference"),t):n(r)}}var cc={name:"labelStartImage",resolveAll:P4.resolveAll,tokenize:oF};function oF(e,t,n){let a=this,i;return r;function r(o){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(o),e.exit("labelImageMarker"),s}function s(o){return o===91?(e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),i=e.exit("labelImage"),c):n(o)}function c(o){return o===94&&"_hiddenFootnoteSupport"in a.parser.constructs?n(o):(a._labelStarts=a._labelStarts||[],a._labelStarts.push(i),t(o))}}var oc={name:"labelStartLink",resolveAll:P4.resolveAll,tokenize:lF};function lF(e,t,n){let a=this,i;return r;function r(c){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(c),e.exit("labelMarker"),i=e.exit("labelLink"),s}function s(c){return c===94&&"_hiddenFootnoteSupport"in a.parser.constructs?n(c):(a._labelStarts=a._labelStarts||[],a._labelStarts.push(i),t(c))}}var X6={name:"lineEnding",tokenize:pF};function pF(e,t){return n;function n(a){return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),m1(e,t,"linePrefix")}}var R4={name:"thematicBreak",tokenize:uF};function uF(e,t,n){let a=0,i;return r;function r(l){return e.enter("thematicBreak"),s(l)}function s(l){return i=l,c(l)}function c(l){return l===i?(e.enter("thematicBreakSequence"),o(l)):a>=3&&(l===null||Q(l))?(e.exit("thematicBreak"),t(l)):n(l)}function o(l){return l===i?(e.consume(l),a++,o):(e.exit("thematicBreakSequence"),h1(l)?m1(e,c,"whitespace")(l):c(l))}}var t2={continuation:{tokenize:gF},exit:fF,name:"list",tokenize:hF},mF={partial:!0,tokenize:vF},dF={partial:!0,tokenize:bF};function hF(e,t,n){let a=this,i=a.events[a.events.length-1],r=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,s=0;return c;function c(d){let f=a.containerState.type||(d===42||d===43||d===45?"listUnordered":"listOrdered");if(f==="listUnordered"?!a.containerState.marker||d===a.containerState.marker:G6(d)){if(a.containerState.type||(a.containerState.type=f,e.enter(f,{_container:!0})),f==="listUnordered")return e.enter("listItemPrefix"),d===42||d===45?e.check(R4,n,l)(d):l(d);if(!a.interrupt||d===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),o(d)}return n(d)}function o(d){return G6(d)&&++s<10?(e.consume(d),o):(!a.interrupt||s<2)&&(a.containerState.marker?d===a.containerState.marker:d===41||d===46)?(e.exit("listItemValue"),l(d)):n(d)}function l(d){return e.enter("listItemMarker"),e.consume(d),e.exit("listItemMarker"),a.containerState.marker=a.containerState.marker||d,e.check(Le,a.interrupt?n:p,e.attempt(mF,m,u))}function p(d){return a.containerState.initialBlankLine=!0,r++,m(d)}function u(d){return h1(d)?(e.enter("listItemPrefixWhitespace"),e.consume(d),e.exit("listItemPrefixWhitespace"),m):n(d)}function m(d){return a.containerState.size=r+a.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(d)}}function gF(e,t,n){let a=this;return a.containerState._closeFlow=void 0,e.check(Le,i,r);function i(c){return a.containerState.furtherBlankLines=a.containerState.furtherBlankLines||a.containerState.initialBlankLine,m1(e,t,"listItemIndent",a.containerState.size+1)(c)}function r(c){return a.containerState.furtherBlankLines||!h1(c)?(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,s(c)):(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,e.attempt(dF,t,s)(c))}function s(c){return a.containerState._closeFlow=!0,a.interrupt=void 0,m1(e,e.attempt(t2,t,n),"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(c)}}function bF(e,t,n){let a=this;return m1(e,i,"listItemIndent",a.containerState.size+1);function i(r){let s=a.events[a.events.length-1];return s&&s[1].type==="listItemIndent"&&s[2].sliceSerialize(s[1],!0).length===a.containerState.size?t(r):n(r)}}function fF(e){e.exit(this.containerState.type)}function vF(e,t,n){let a=this;return m1(e,i,"listItemPrefixWhitespace",a.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(r){let s=a.events[a.events.length-1];return!h1(r)&&s&&s[1].type==="listItemPrefixWhitespace"?t(r):n(r)}}var ra={name:"setextUnderline",resolveTo:yF,tokenize:_F};function yF(e,t){let n=new p3,a=e.length,i,r,s;for(;a--;)if(e[a][0]==="enter"){if(e[a][1].type==="content"){i=a;break}e[a][1].type==="paragraph"&&(r=a)}else e[a][1].type==="content"&&n.add(a,1,[]),!s&&e[a][1].type==="definition"&&(s=a);let c={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type="setextHeadingText",s?(n.add(r,0,[["enter",c,t]]),n.add(s+1,0,[["exit",e[i][1],t]]),e[i][1].end={...e[s][1].end}):e[i][1]=c,n.add(e.length,0,[["exit",c,t]]),n.consume(e),e}function _F(e,t,n){let a=this,i;return r;function r(l){let p=a.events.length,u;for(;p--;)if(a.events[p][1].type!=="lineEnding"&&a.events[p][1].type!=="linePrefix"&&a.events[p][1].type!=="content"){u=a.events[p][1].type==="paragraph";break}return!a.parser.lazy[a.now().line]&&(a.interrupt||u)?(e.enter("setextHeadingLine"),i=l,s(l)):n(l)}function s(l){return e.enter("setextHeadingLineSequence"),c(l)}function c(l){return l===i?(e.consume(l),c):(e.exit("setextHeadingLineSequence"),h1(l)?m1(e,o,"lineSuffix")(l):o(l))}function o(l){return l===null||Q(l)?(e.exit("setextHeadingLine"),t(l)):n(l)}}var jv={tokenize:wF};function wF(e){let t=this,n=e.attempt(Le,a,e.attempt(this.parser.constructs.flowInitial,i,m1(e,e.attempt(this.parser.constructs.flow,i,e.attempt(ec,i)),"linePrefix")));return n;function a(r){if(r===null){e.consume(r);return}return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var Hv={resolveAll:qv()},Nv=Vv("string"),Tv=Vv("text");function Vv(e){return{resolveAll:qv(e==="text"?xF:void 0),tokenize:t};function t(n){let a=this,i=this.parser.constructs[e],r=n.attempt(i,s,c);return s;function s(p){return l(p)?r(p):c(p)}function c(p){if(p===null){n.consume(p);return}return n.enter("data"),n.consume(p),o}function o(p){return l(p)?(n.exit("data"),r(p)):(n.consume(p),o)}function l(p){if(p===null)return!0;let u=i[p],m=-1;if(u)for(;++mSF,contentInitial:()=>zF,disable:()=>ZF,document:()=>kF,flow:()=>AF,flowInitial:()=>CF,insideSpan:()=>LF,string:()=>MF,text:()=>$F});var kF={42:t2,43:t2,45:t2,48:t2,49:t2,50:t2,51:t2,52:t2,53:t2,54:t2,55:t2,56:t2,57:t2,62:Kn},zF={91:tc},CF={[-2]:W6,[-1]:W6,32:W6},AF={35:ac,42:R4,45:[ra,R4],60:rc,61:ra,95:R4,96:Jn,126:Jn},MF={38:Qn,92:Yn},$F={[-5]:X6,[-4]:X6,[-3]:X6,33:cc,38:Qn,42:I4,60:[Qs,sc],91:oc,92:[nc,Yn],93:P4,95:I4,96:Js},LF={null:[I4,Hv]},SF={null:[42,95]},ZF={null:[]};function Iv(e,t,n){let a={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},r=[],s=[],c=[],o=!0,l={attempt:H(j),check:H(N),consume:z,enter:L,exit:C,interrupt:H(N,{interrupt:!0})},p={code:null,containerState:{},defineSkip:v,events:[],now:k,parser:e,previous:null,sliceSerialize:f,sliceStream:w,write:d},u=t.tokenize.call(p,l),m;return t.resolveAll&&r.push(t),p;function d(I){return s=o2(s,I),b(),s[s.length-1]!==null?[]:(S(t,0),p.events=t4(r,p.events,p),p.events)}function f(I,e1){return FF(w(I),e1)}function w(I){return EF(s,I)}function k(){let{_bufferIndex:I,_index:e1,line:G,column:X,offset:o1}=a;return{_bufferIndex:I,_index:e1,line:G,column:X,offset:o1}}function v(I){i[I.line]=I.column,B()}function b(){for(;a._index-1){let c=s[0];typeof c=="string"?s[0]=c.slice(a):s.shift()}r>0&&s.push(e[i].slice(0,r))}return s}function FF(e,t){let n=-1,a=[],i;for(;++n0&&i(t.beforeEnter,{...b1,sliceSerialize:V[e0][2].sliceSerialize},V[e0][1]),Ov.call(f2,V[e0][1].type)&&f2[V[e0][1].type].call({...b1,sliceSerialize:V[e0][2].sliceSerialize},V[e0][1]),V[e0][0]==="exit"&&t.afterExit.length>0&&i(t.afterExit,{...b1,sliceSerialize:V[e0][2].sliceSerialize},V[e0][1])}if(b1.tokenStack.length>0){let f2=b1.tokenStack[b1.tokenStack.length-1];(f2[1]||Gv).call(b1,void 0,f2[0])}for(Y.position={start:n4(V.length>0?V[0][1].start:{line:1,column:1,offset:0}),end:n4(V.length>0?V[V.length-2][1].end:{line:1,column:1,offset:0})},e0=-1;++e0":""))+")"})}return k;function k(){let v=!r||l(m,d,f[f.length-1]||void 0),b=Xv;if(c&&v&&(b=Uv(c(m,f,d)),b[0]===oa))return b;if("children"in m&&m.children){let _=m;if(_.children&&b[0]!==K6){let z=(i?-1:_.children.length)+p,L=[...f,_];for(;z>-1&&z<_.children.length;){let C=_.children[z],j=u(C,z,L)();if(j[0]===oa)return j;z=typeof j[1]=="number"?j[1]:z+p}}}if(o&&v){let _=Uv(o(m,f,d));if(_[0]===K6)throw new Error("Unexpected value `"+_[0]+"` from `exit`, expected `CONTINUE`, `EXIT`, index, or nothing");if(_[0]===oa||typeof _[1]=="number")return _}return b}}}function Uv(e){return Array.isArray(e)?e:typeof e=="number"?[Kv,e]:e==null?Xv:[e]}function bc(e,t,n){let i=X5((n||{}).ignore||[]),r=RF(t),s=-1;for(;++s0?{type:"text",value:C}:void 0),C===!1)d.lastIndex=z+1;else{if(w!==z&&_({type:"text",value:l.value.slice(w,z)}),Array.isArray(C))for(let j of C)_(j);else C&&_(C);w=z+b[0].length,k=!0}if(!d.global)break;b=d.exec(l.value)}return k?(w?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],a=n.indexOf(")"),i=I5(e,"("),r=I5(e,")");for(;a!==-1&&i>r;)e+=n.slice(0,a+1),n=n.slice(a+1),a=n.indexOf(")"),r++;return[e,n]}function Yv(e,t){let n=e.input.charCodeAt(e.index-1);return(e.index===0||$e(n)||l3(n))&&(!t||n!==47)}mj.peek=uj;function aj(){this.buffer()}function ij(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function rj(){this.buffer()}function sj(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function cj(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=e2(this.sliceSerialize(e)).toLowerCase(),n.label=t}function oj(e){this.exit(e)}function lj(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=e2(this.sliceSerialize(e)).toLowerCase(),n.label=t}function pj(e){this.exit(e)}function uj(){return"["}function mj(e,t,n,a){let i=n.createTracker(a),r=i.move("[^"),s=n.enter("footnoteReference"),c=n.enter("reference");return r+=i.move(n.safe(n.associationId(e),{after:"]",before:r})),c(),s(),r+=i.move("]"),r}function yc(){return{enter:{gfmFootnoteCallString:aj,gfmFootnoteCall:ij,gfmFootnoteDefinitionLabelString:rj,gfmFootnoteDefinition:sj},exit:{gfmFootnoteCallString:cj,gfmFootnoteCall:oj,gfmFootnoteDefinitionLabelString:lj,gfmFootnoteDefinition:pj}}}Qv.attention=bj;Qv.peek=fj;function _c(){return{canContainEols:["delete"],enter:{strikethrough:hj},exit:{strikethrough:gj}}}function hj(e){this.enter({type:"delete",children:[],position:void 0},e)}function gj(e){this.exit(e)}function Qv(e,t,n,a){let i=n.createTracker(a),r=n.stack.includes("strikethrough")?"~":"~~",s=n.enter("strikethrough"),c=i.move(r);return c+=n.containerPhrasing(e,{...i.current(),before:c,after:"~"}),c+=i.move(r),s(),c}function bj(){return{construct:"strikethrough",markers:["~"],sizes:[2,1]}}function fj(){return"~"}function xc(){return{enter:{table:yj,tableData:Jv,tableHeader:Jv,tableRow:wj},exit:{codeText:xj,table:_j,tableData:wc,tableHeader:wc,tableRow:wc}}}function yj(e){let t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function _j(e){this.exit(e),this.data.inTable=void 0}function wj(e){this.enter({type:"tableRow",children:[]},e)}function wc(e){this.exit(e)}function Jv(e){this.enter({type:"tableCell",children:[]},e)}function xj(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,kj));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function kj(e,t){return t==="|"?t:e}function kc(){return{exit:{taskListCheckValueChecked:ey,taskListCheckValueUnchecked:ey,paragraph:Cj}}}function ey(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function Cj(e){let t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){let n=this.stack[this.stack.length-1];n.type;let a=n.children[0];if(a&&a.type==="text"){let i=t.children,r=-1,s;for(;++r0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var Tj={tokenize:Dj,partial:!0};function $c(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Bj,continuation:{tokenize:Pj},exit:Rj}},text:{91:{name:"gfmFootnoteCall",tokenize:Ij},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Vj,resolveTo:qj}}}}function Vj(e,t,n){let a=this,i=a.events.length,r=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),s;for(;i--;){let o=a.events[i][1];if(o.type==="labelImage"){s=o;break}if(o.type==="gfmFootnoteCall"||o.type==="labelLink"||o.type==="label"||o.type==="image"||o.type==="link")break}return c;function c(o){if(!s||!s._balanced)return n(o);let l=e2(a.sliceSerialize({start:s.end,end:a.now()}));return l.codePointAt(0)!==94||!r.includes(l.slice(1))?n(o):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(o),e.exit("gfmFootnoteCallLabelMarker"),t(o))}}function qj(e,t){let n=e.length,a;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){a=e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";let i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},r={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};r.end.column++,r.end.offset++,r.end._bufferIndex++;let s={type:"gfmFootnoteCallString",start:Object.assign({},r.end),end:Object.assign({},e[e.length-1][1].start)},c={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},o=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",r,t],["exit",r,t],["enter",s,t],["enter",c,t],["exit",c,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...o),e}function Ij(e,t,n){let a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),r=0,s;return c;function c(u){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),o}function o(u){return u!==94?n(u):(e.enter("gfmFootnoteCallMarker"),e.consume(u),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(u){if(r>999||u===93&&!s||u===null||u===91||L1(u))return n(u);if(u===93){e.exit("chunkString");let m=e.exit("gfmFootnoteCallString");return i.includes(e2(a.sliceSerialize(m)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(u)}return L1(u)||(s=!0),r++,e.consume(u),u===92?p:l}function p(u){return u===91||u===92||u===93?(e.consume(u),r++,l):l(u)}}function Bj(e,t,n){let a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),r,s=0,c;return o;function o(f){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),l}function l(f){return f===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",p):n(f)}function p(f){if(s>999||f===93&&!c||f===null||f===91||L1(f))return n(f);if(f===93){e.exit("chunkString");let w=e.exit("gfmFootnoteDefinitionLabelString");return r=e2(a.sliceSerialize(w)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),m}return L1(f)||(c=!0),s++,e.consume(f),f===92?u:p}function u(f){return f===91||f===92||f===93?(e.consume(f),s++,p):p(f)}function m(f){return f===58?(e.enter("definitionMarker"),e.consume(f),e.exit("definitionMarker"),i.includes(r)||i.push(r),m1(e,d,"gfmFootnoteDefinitionWhitespace")):n(f)}function d(f){return t(f)}}function Pj(e,t,n){return e.check(Le,t,e.attempt(Tj,t,n))}function Rj(e){e.exit("gfmFootnoteDefinition")}function Dj(e,t,n){let a=this;return m1(e,i,"gfmFootnoteDefinitionIndent",5);function i(r){let s=a.events[a.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(r):n(r)}}function Lc(e){let n=(e||{}).singleTilde,a={name:"strikethrough",tokenize:r,resolveAll:i};return n==null&&(n=!0),{text:{126:a},insideSpan:{null:[a]},attentionMarkers:{null:[126]}};function i(s,c){let o=-1;for(;++o1?o(f):(s.consume(f),u++,d);if(u<2&&!n)return o(f);let k=s.exit("strikethroughSequenceTemporary"),v=u3(f);return k._open=!v||v===2&&!!w,k._close=!w||w===2&&!!v,c(f)}}}var pa=class{constructor(){this.map=[],this.index=new Map}add(t,n,a){Gj(this,t,n,a)}consume(t){if(this.map.sort(function(r,s){return r[0]-s[0]}),this.map.length===0)return;let n=this.map.length,a=[];for(;n>0;)n-=1,a.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];a.push(t.slice()),t.length=0;let i=a.pop();for(;i;){for(let r of i)t.push(r);i=a.pop()}this.map.length=0,this.index.clear()}};function Gj(e,t,n,a){if(n===0&&a.length===0)return;let i=e.index.get(t);if(i){i[1]+=n,i[2].push(...a);return}let r=[t,n,a];e.map.push(r),e.index.set(t,r)}function ly(e,t){let n=!1,a=[];for(;t-1;){let{type:e1}=a.events[R][1];if(e1==="lineEnding"||e1==="linePrefix")R--;else break}let B=R>-1?a.events[R][1].type:null,I=B==="tableHead"||B==="tableRow"?C:o;return I===C&&a.parser.lazy[a.now().line]?n(S):I(S)}function o(S){return e.enter("tableHead"),e.enter("tableRow"),l(S)}function l(S){return S===124||(s=!0,r+=1),p(S)}function p(S){return S===null?n(S):Q(S)?r>1?(r=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(S),e.exit("lineEnding"),d):n(S):h1(S)?m1(e,p,"whitespace")(S):(r+=1,s&&(s=!1,i+=1),S===124?(e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),s=!0,p):(e.enter("data"),u(S)))}function u(S){return S===null||S===124||L1(S)?(e.exit("data"),p(S)):(e.consume(S),S===92?m:u)}function m(S){return S===92||S===124?(e.consume(S),u):u(S)}function d(S){return a.interrupt=!1,a.parser.lazy[a.now().line]?n(S):(e.enter("tableDelimiterRow"),s=!1,h1(S)?m1(e,f,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(S):f(S))}function f(S){return S===45||S===58?k(S):S===124?(s=!0,e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),w):L(S)}function w(S){return h1(S)?m1(e,k,"whitespace")(S):k(S)}function k(S){return S===58?(r+=1,s=!0,e.enter("tableDelimiterMarker"),e.consume(S),e.exit("tableDelimiterMarker"),v):S===45?(r+=1,v(S)):S===null||Q(S)?z(S):L(S)}function v(S){return S===45?(e.enter("tableDelimiterFiller"),b(S)):L(S)}function b(S){return S===45?(e.consume(S),b):S===58?(s=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(S),e.exit("tableDelimiterMarker"),_):(e.exit("tableDelimiterFiller"),_(S))}function _(S){return h1(S)?m1(e,z,"whitespace")(S):z(S)}function z(S){return S===124?f(S):S===null||Q(S)?!s||i!==r?L(S):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(S)):L(S)}function L(S){return n(S)}function C(S){return e.enter("tableRow"),j(S)}function j(S){return S===124?(e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),j):S===null||Q(S)?(e.exit("tableRow"),t(S)):h1(S)?m1(e,j,"whitespace")(S):(e.enter("data"),N(S))}function N(S){return S===null||S===124||L1(S)?(e.exit("data"),j(S)):(e.consume(S),S===92?H:N)}function H(S){return S===92||S===124?(e.consume(S),N):N(S)}}function Wj(e,t){let n=-1,a=!0,i=0,r=[0,0,0,0],s=[0,0,0,0],c=!1,o=0,l,p,u,m=new pa;for(;++nn[2]+1){let f=n[2]+1,w=n[3]-n[2]-1;e.add(f,w,[])}}e.add(n[3]+1,0,[["exit",u,t]])}return i!==void 0&&(r.end=Object.assign({},K5(t.events,i)),e.add(i,0,[["exit",r,t]]),r=void 0),r}function py(e,t,n,a,i){let r=[],s=K5(t.events,n);i&&(i.end=Object.assign({},s),r.push(["exit",i,t])),a.end=Object.assign({},s),r.push(["exit",a,t]),e.add(n+1,0,r)}function K5(e,t){let n=e[t],a=n[0]==="enter"?"start":"end";return n[1][a]}var Uj={name:"tasklistCheck",tokenize:Xj};function Zc(){return{text:{91:Uj}}}function Xj(e,t,n){let a=this;return i;function i(o){return a.previous!==null||!a._gfmTasklistFirstContentOfListItem?n(o):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(o),e.exit("taskListCheckMarker"),r)}function r(o){return L1(o)?(e.enter("taskListCheckValueUnchecked"),e.consume(o),e.exit("taskListCheckValueUnchecked"),s):o===88||o===120?(e.enter("taskListCheckValueChecked"),e.consume(o),e.exit("taskListCheckValueChecked"),s):n(o)}function s(o){return o===93?(e.enter("taskListCheckMarker"),e.consume(o),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),c):n(o)}function c(o){return Q(o)?t(o):h1(o)?e.check({tokenize:Kj},t,n)(o):n(o)}}function Kj(e,t,n){return m1(e,a,"whitespace");function a(i){return i===null?n(i):t(i)}}function Ec(e){return Wn([Ac(),$c(),Lc(e),Sc(),Zc()])}var my={tokenize:Yj,concrete:!0,name:"mathFlow"},uy={tokenize:Qj,partial:!0};function Yj(e,t,n){let a=this,i=a.events[a.events.length-1],r=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,s=0;return c;function c(b){return e.enter("mathFlow"),e.enter("mathFlowFence"),e.enter("mathFlowFenceSequence"),o(b)}function o(b){return b===36?(e.consume(b),s++,o):s<2?n(b):(e.exit("mathFlowFenceSequence"),m1(e,l,"whitespace")(b))}function l(b){return b===null||Q(b)?u(b):(e.enter("mathFlowFenceMeta"),e.enter("chunkString",{contentType:"string"}),p(b))}function p(b){return b===null||Q(b)?(e.exit("chunkString"),e.exit("mathFlowFenceMeta"),u(b)):b===36?n(b):(e.consume(b),p)}function u(b){return e.exit("mathFlowFence"),a.interrupt?t(b):e.attempt(uy,m,k)(b)}function m(b){return e.attempt({tokenize:v,partial:!0},k,d)(b)}function d(b){return(r?m1(e,f,"linePrefix",r+1):f)(b)}function f(b){return b===null?k(b):Q(b)?e.attempt(uy,m,k)(b):(e.enter("mathFlowValue"),w(b))}function w(b){return b===null||Q(b)?(e.exit("mathFlowValue"),f(b)):(e.consume(b),w)}function k(b){return e.exit("mathFlow"),t(b)}function v(b,_,z){let L=0;return m1(b,C,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function C(H){return b.enter("mathFlowFence"),b.enter("mathFlowFenceSequence"),j(H)}function j(H){return H===36?(L++,b.consume(H),j):L15?l="\u2026"+c.slice(i-15,i):l=c.slice(0,i);var p;r+15e.replace(nH,"-$1").toLowerCase(),iH={"&":"&",">":">","<":"<",'"':""","'":"'"},rH=/[&><"']/g,a2=e=>String(e).replace(rH,t=>iH[t]),wa=e=>e.type==="ordgroup"||e.type==="color"?e.body.length===1?wa(e.body[0]):e:e.type==="font"?wa(e.body):e,sH=new Set(["mathord","textord","atom"]),b3=e=>sH.has(wa(e).type),cH=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},Wc={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand ",cliProcessor:e=>e==="Infinity"?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function oH(e){if(typeof e!="string")return e.enum[0];switch(e){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}function lH(e){if(Object.prototype.hasOwnProperty.call(e,"default")&&e.default!==void 0)return e.default;var t=Array.isArray(e.type)?e.type[0]:e.type;return oH(t)}function pH(e,t,n,a){var i=Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0,r=Object.prototype.hasOwnProperty.call(a,"processor")?a.processor:void 0;e[t]=i!==void 0?r?r(i):i:lH(a)}var n7=class{constructor(t){t===void 0&&(t={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,t=t||{};for(var n of Object.keys(Wc)){var a=Wc[n];a&&pH(this,n,t,a)}}reportNonstrict(t,n,a){var i=this.strict;if(typeof i=="function"&&(i=i(t,n,a)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new W("LaTeX-incompatible input and strict mode is set to 'error': "+(n+" ["+t+"]"),a);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+t+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+n+" ["+t+"]"))}}useStrictBehavior(t,n,a){var i=this.strict;if(typeof i=="function")try{i=i(t,n,a)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+t+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+n+" ["+t+"]")),!1)}isTrusted(t){if("url"in t&&t.url&&!t.protocol){var n=cH(t.url);if(n==null)return!1;t.protocol=n}var a=typeof this.trust=="function"?this.trust(t):this.trust;return!!a}},Ze=class{constructor(t,n,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=n,this.cramped=a}sup(){return Ee[uH[this.id]]}sub(){return Ee[mH[this.id]]}fracNum(){return Ee[dH[this.id]]}fracDen(){return Ee[hH[this.id]]}cramp(){return Ee[gH[this.id]]}text(){return Ee[bH[this.id]]}isTight(){return this.size>=2}},go=0,ka=1,Q5=2,g3=3,a7=4,Q2=5,J5=6,u2=7,Ee=[new Ze(go,0,!1),new Ze(ka,0,!0),new Ze(Q5,1,!1),new Ze(g3,1,!0),new Ze(a7,2,!1),new Ze(Q2,2,!0),new Ze(J5,3,!1),new Ze(u2,3,!0)],uH=[a7,Q2,a7,Q2,J5,u2,J5,u2],mH=[Q2,Q2,Q2,Q2,u2,u2,u2,u2],dH=[Q5,g3,a7,Q2,J5,u2,J5,u2],hH=[g3,g3,Q2,Q2,u2,u2,u2,u2],gH=[ka,ka,g3,g3,Q2,Q2,u2,u2],bH=[go,ka,Q5,g3,Q5,g3,Q5,g3],_1={DISPLAY:Ee[go],TEXT:Ee[Q5],SCRIPT:Ee[a7],SCRIPTSCRIPT:Ee[J5]},Uc=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function fH(e){for(var t=0;t=i[0]&&e<=i[1])return n.name}return null}var xa=[];Uc.forEach(e=>e.blocks.forEach(t=>xa.push(...t)));function Yy(e){for(var t=0;t=xa[t]&&e<=xa[t+1])return!0;return!1}var H0=e=>e+" "+e,Y5=80,vH=function(t,n){return"M95,"+(622+t+n)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+t/2.075+" -"+t+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+t)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},yH=function(t,n){return"M263,"+(601+t+n)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+t/2.084+" -"+t+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+t)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},_H=function(t,n){return"M983 "+(10+t+n)+"\nl"+t/3.13+" -"+t+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+t)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},wH=function(t,n){return"M424,"+(2398+t+n)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+t/4.223+" -"+t+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+t)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+t)+" "+n+"\nh400000v"+(40+t)+"h-400000z"},xH=function(t,n){return"M473,"+(2713+t+n)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+t/5.298+" -"+t+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+t)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+t)+" "+n+"h400000v"+(40+t)+"H1017.7z"},kH=function(t){var n=t/2;return"M400000 "+t+" H0 L"+n+" 0 l65 45 L145 "+(t-80)+" H400000z"},zH=function(t,n,a){var i=a-54-n-t;return"M702 "+(t+n)+"H400000"+(40+t)+"\nH742v"+i+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+n+"H400000v"+(40+t)+"H742z"},CH=function(t,n,a){n=1e3*n;var i="";switch(t){case"sqrtMain":i=vH(n,Y5);break;case"sqrtSize1":i=yH(n,Y5);break;case"sqrtSize2":i=_H(n,Y5);break;case"sqrtSize3":i=wH(n,Y5);break;case"sqrtSize4":i=xH(n,Y5);break;case"sqrtTall":i=zH(n,Y5,a)}return i},AH=function(t,n){switch(t){case"\u239C":return H0("M291 0 H417 V"+n+" H291z");case"\u2223":return H0("M145 0 H188 V"+n+" H145z");case"\u2225":return H0("M145 0 H188 V"+n+" H145z")+H0("M367 0 H410 V"+n+" H367z");case"\u239F":return H0("M457 0 H583 V"+n+" H457z");case"\u23A2":return H0("M319 0 H403 V"+n+" H319z");case"\u23A5":return H0("M263 0 H347 V"+n+" H263z");case"\u23AA":return H0("M384 0 H504 V"+n+" H384z");case"\u23D0":return H0("M312 0 H355 V"+n+" H312z");case"\u2016":return H0("M257 0 H300 V"+n+" H257z")+H0("M478 0 H521 V"+n+" H478z");default:return""}},hy={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:H0("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:H0("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:H0("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:H0("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:H0("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:H0("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:H0("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:H0("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},MH=function(t,n){switch(t){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+n+" v1759 v84 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+n+" v1759 v84 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+n+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+n+" v1759 h84z";case"vert":return"M145 15 v585 v"+n+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-n+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+n+" v585 h43z";case"doublevert":return"M145 15 v585 v"+n+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-n+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+n+" v585 h43z\nM367 15 v585 v"+n+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-n+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+n+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+n+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+n+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+n+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+n+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+n+" v602 h84z\nM403 1759 V0 H319 V1759 v"+n+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+n+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+n+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(n+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(n+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(n+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(n+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}};function $H(e){return"toText"in e}var r4=class{constructor(t){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(t){return this.classes.includes(t)}toNode(){for(var t=document.createDocumentFragment(),n=0;n{if($H(t))return t.toText();throw new Error("Expected MathDomNode with toText, got "+t.constructor.name)}).join("")}},Xc={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},LH={ex:!0,em:!0,mu:!0},Qy=function(t){return typeof t!="string"&&(t=t.unit),t in Xc||t in LH||t==="ex"},m0=function(t,n){var a;if(t.unit in Xc)a=Xc[t.unit]/n.fontMetrics().ptPerEm/n.sizeMultiplier;else if(t.unit==="mu")a=n.fontMetrics().cssEmPerMu;else{var i;if(n.style.isTight()?i=n.havingStyle(n.style.text()):i=n,t.unit==="ex")a=i.fontMetrics().xHeight;else if(t.unit==="em")a=i.fontMetrics().quad;else throw new W("Invalid unit: '"+t.unit+"'");i!==n&&(a*=i.sizeMultiplier/n.sizeMultiplier)}return Math.min(t.number*a,n.maxSize)},J=function(t){return+t.toFixed(4)+"em"},s4=function(t){return t.filter(n=>n).join(" ")},bo=function(t){var n="";for(var a of Object.keys(t)){var i=t[a];i!==void 0&&(n+=aH(a)+":"+i+";")}return n},Jy=function(t,n,a){if(this.classes=t||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=a||{},n){n.style.isTight()&&this.classes.push("mtight");var i=n.getColor();i&&(this.style.color=i)}},e_=function(t){var n=document.createElement(t);n.className=s4(this.classes),Object.assign(n.style,this.style);for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);for(var i=0;i/=\x00-\x1f]/,t_=function(t){var n="<"+t;this.classes.length&&(n+=' class="'+a2(s4(this.classes))+'"');var a=bo(this.style);a&&(n+=' style="'+a2(a)+'"');for(var i of Object.keys(this.attributes)){if(SH.test(i))throw new W("Invalid attribute name '"+i+"'");n+=" "+i+'="'+a2(this.attributes[i])+'"'}n+=">";for(var r=0;r",n},c4=class{constructor(t,n,a,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,Jy.call(this,t,a,i),this.children=n||[]}setAttribute(t,n){this.attributes[t]=n}hasClass(t){return this.classes.includes(t)}toNode(){return e_.call(this,"span")}toMarkup(){return t_.call(this,"span")}},et=class{constructor(t,n,a,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,Jy.call(this,n,i),this.children=a||[],this.setAttribute("href",t)}setAttribute(t,n){this.attributes[t]=n}hasClass(t){return this.classes.includes(t)}toNode(){return e_.call(this,"a")}toMarkup(){return t_.call(this,"a")}},Kc=class{constructor(t,n,a){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=n,this.src=t,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=a}hasClass(t){return this.classes.includes(t)}toNode(){var t=document.createElement("img");return t.src=this.src,t.alt=this.alt,t.className="mord",Object.assign(t.style,this.style),t}toMarkup(){var t=''+a2(this.alt)+'0&&(n=document.createElement("span"),n.style.marginRight=J(this.italic)),this.classes.length>0&&(n=n||document.createElement("span"),n.className=s4(this.classes)),Object.keys(this.style).length>0&&(n=n||document.createElement("span"),Object.assign(n.style,this.style)),n?(n.appendChild(t),n):t}toMarkup(){var t=!1,n="0&&(a+="margin-right:"+J(this.italic)+";"),a+=bo(this.style),a&&(t=!0,n+=' style="'+a2(a)+'"');var i=a2(this.text);return t?(n+=">",n+=i,n+="",n):i}},de=class{constructor(t,n){this.children=void 0,this.attributes=void 0,this.children=t||[],this.attributes=n||{}}toNode(){var t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"svg");for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);for(var i=0;i':''}},i7=class{constructor(t){this.attributes=void 0,this.attributes=t||{}}toNode(){var t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"line");for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);return n}toMarkup(){var t=" but got "+String(e)+".")}var jH=e=>e instanceof c4||e instanceof et||e instanceof r4,Fe={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},jc={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},gy={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};function HH(e,t){Fe[e]=t}function fo(e,t,n){if(!Fe[t])throw new Error("Font metrics not found for font: "+t+".");var a=e.charCodeAt(0),i=Fe[t][a];if(!i&&e[0]in gy&&(a=gy[e[0]].charCodeAt(0),i=Fe[t][a]),!i&&n==="text"&&Yy(a)&&(i=Fe[t][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var Hc={};function NH(e){var t;if(e>=5?t=0:e>=3?t=1:t=2,!Hc[t]){var n=Hc[t]={cssEmPerMu:jc.quad[t]/18};for(var a of Object.keys(jc))n[a]=jc[a][t]}return Hc[t]}var i0={math:{},text:{}};function h(e,t,n,a,i,r){i0[e][i]={font:t,group:n,replace:a},r&&a&&(i0[e][a]=i0[e][i])}var g="math",P="text",y="main",A="ams",r0="accent-token",s1="bin",d2="close",at="inner",g1="mathord",L0="op-token",V2="open",l7="punct",$="rel",f3="spacing",F="textord";h(g,y,$,"\u2261","\\equiv",!0);h(g,y,$,"\u227A","\\prec",!0);h(g,y,$,"\u227B","\\succ",!0);h(g,y,$,"\u223C","\\sim",!0);h(g,y,$,"\u22A5","\\perp");h(g,y,$,"\u2AAF","\\preceq",!0);h(g,y,$,"\u2AB0","\\succeq",!0);h(g,y,$,"\u2243","\\simeq",!0);h(g,y,$,"\u2223","\\mid",!0);h(g,y,$,"\u226A","\\ll",!0);h(g,y,$,"\u226B","\\gg",!0);h(g,y,$,"\u224D","\\asymp",!0);h(g,y,$,"\u2225","\\parallel");h(g,y,$,"\u22C8","\\bowtie",!0);h(g,y,$,"\u2323","\\smile",!0);h(g,y,$,"\u2291","\\sqsubseteq",!0);h(g,y,$,"\u2292","\\sqsupseteq",!0);h(g,y,$,"\u2250","\\doteq",!0);h(g,y,$,"\u2322","\\frown",!0);h(g,y,$,"\u220B","\\ni",!0);h(g,y,$,"\u221D","\\propto",!0);h(g,y,$,"\u22A2","\\vdash",!0);h(g,y,$,"\u22A3","\\dashv",!0);h(g,y,$,"\u220B","\\owns");h(g,y,l7,".","\\ldotp");h(g,y,l7,"\u22C5","\\cdotp");h(g,y,l7,"\u22C5","\xB7");h(P,y,F,"\u22C5","\xB7");h(g,y,F,"#","\\#");h(P,y,F,"#","\\#");h(g,y,F,"&","\\&");h(P,y,F,"&","\\&");h(g,y,F,"\u2135","\\aleph",!0);h(g,y,F,"\u2200","\\forall",!0);h(g,y,F,"\u210F","\\hbar",!0);h(g,y,F,"\u2203","\\exists",!0);h(g,y,F,"\u2207","\\nabla",!0);h(g,y,F,"\u266D","\\flat",!0);h(g,y,F,"\u2113","\\ell",!0);h(g,y,F,"\u266E","\\natural",!0);h(g,y,F,"\u2663","\\clubsuit",!0);h(g,y,F,"\u2118","\\wp",!0);h(g,y,F,"\u266F","\\sharp",!0);h(g,y,F,"\u2662","\\diamondsuit",!0);h(g,y,F,"\u211C","\\Re",!0);h(g,y,F,"\u2661","\\heartsuit",!0);h(g,y,F,"\u2111","\\Im",!0);h(g,y,F,"\u2660","\\spadesuit",!0);h(g,y,F,"\xA7","\\S",!0);h(P,y,F,"\xA7","\\S");h(g,y,F,"\xB6","\\P",!0);h(P,y,F,"\xB6","\\P");h(g,y,F,"\u2020","\\dag");h(P,y,F,"\u2020","\\dag");h(P,y,F,"\u2020","\\textdagger");h(g,y,F,"\u2021","\\ddag");h(P,y,F,"\u2021","\\ddag");h(P,y,F,"\u2021","\\textdaggerdbl");h(g,y,d2,"\u23B1","\\rmoustache",!0);h(g,y,V2,"\u23B0","\\lmoustache",!0);h(g,y,d2,"\u27EF","\\rgroup",!0);h(g,y,V2,"\u27EE","\\lgroup",!0);h(g,y,s1,"\u2213","\\mp",!0);h(g,y,s1,"\u2296","\\ominus",!0);h(g,y,s1,"\u228E","\\uplus",!0);h(g,y,s1,"\u2293","\\sqcap",!0);h(g,y,s1,"\u2217","\\ast");h(g,y,s1,"\u2294","\\sqcup",!0);h(g,y,s1,"\u25EF","\\bigcirc",!0);h(g,y,s1,"\u2219","\\bullet",!0);h(g,y,s1,"\u2021","\\ddagger");h(g,y,s1,"\u2240","\\wr",!0);h(g,y,s1,"\u2A3F","\\amalg");h(g,y,s1,"&","\\And");h(g,y,$,"\u27F5","\\longleftarrow",!0);h(g,y,$,"\u21D0","\\Leftarrow",!0);h(g,y,$,"\u27F8","\\Longleftarrow",!0);h(g,y,$,"\u27F6","\\longrightarrow",!0);h(g,y,$,"\u21D2","\\Rightarrow",!0);h(g,y,$,"\u27F9","\\Longrightarrow",!0);h(g,y,$,"\u2194","\\leftrightarrow",!0);h(g,y,$,"\u27F7","\\longleftrightarrow",!0);h(g,y,$,"\u21D4","\\Leftrightarrow",!0);h(g,y,$,"\u27FA","\\Longleftrightarrow",!0);h(g,y,$,"\u21A6","\\mapsto",!0);h(g,y,$,"\u27FC","\\longmapsto",!0);h(g,y,$,"\u2197","\\nearrow",!0);h(g,y,$,"\u21A9","\\hookleftarrow",!0);h(g,y,$,"\u21AA","\\hookrightarrow",!0);h(g,y,$,"\u2198","\\searrow",!0);h(g,y,$,"\u21BC","\\leftharpoonup",!0);h(g,y,$,"\u21C0","\\rightharpoonup",!0);h(g,y,$,"\u2199","\\swarrow",!0);h(g,y,$,"\u21BD","\\leftharpoondown",!0);h(g,y,$,"\u21C1","\\rightharpoondown",!0);h(g,y,$,"\u2196","\\nwarrow",!0);h(g,y,$,"\u21CC","\\rightleftharpoons",!0);h(g,A,$,"\u226E","\\nless",!0);h(g,A,$,"\uE010","\\@nleqslant");h(g,A,$,"\uE011","\\@nleqq");h(g,A,$,"\u2A87","\\lneq",!0);h(g,A,$,"\u2268","\\lneqq",!0);h(g,A,$,"\uE00C","\\@lvertneqq");h(g,A,$,"\u22E6","\\lnsim",!0);h(g,A,$,"\u2A89","\\lnapprox",!0);h(g,A,$,"\u2280","\\nprec",!0);h(g,A,$,"\u22E0","\\npreceq",!0);h(g,A,$,"\u22E8","\\precnsim",!0);h(g,A,$,"\u2AB9","\\precnapprox",!0);h(g,A,$,"\u2241","\\nsim",!0);h(g,A,$,"\uE006","\\@nshortmid");h(g,A,$,"\u2224","\\nmid",!0);h(g,A,$,"\u22AC","\\nvdash",!0);h(g,A,$,"\u22AD","\\nvDash",!0);h(g,A,$,"\u22EA","\\ntriangleleft");h(g,A,$,"\u22EC","\\ntrianglelefteq",!0);h(g,A,$,"\u228A","\\subsetneq",!0);h(g,A,$,"\uE01A","\\@varsubsetneq");h(g,A,$,"\u2ACB","\\subsetneqq",!0);h(g,A,$,"\uE017","\\@varsubsetneqq");h(g,A,$,"\u226F","\\ngtr",!0);h(g,A,$,"\uE00F","\\@ngeqslant");h(g,A,$,"\uE00E","\\@ngeqq");h(g,A,$,"\u2A88","\\gneq",!0);h(g,A,$,"\u2269","\\gneqq",!0);h(g,A,$,"\uE00D","\\@gvertneqq");h(g,A,$,"\u22E7","\\gnsim",!0);h(g,A,$,"\u2A8A","\\gnapprox",!0);h(g,A,$,"\u2281","\\nsucc",!0);h(g,A,$,"\u22E1","\\nsucceq",!0);h(g,A,$,"\u22E9","\\succnsim",!0);h(g,A,$,"\u2ABA","\\succnapprox",!0);h(g,A,$,"\u2246","\\ncong",!0);h(g,A,$,"\uE007","\\@nshortparallel");h(g,A,$,"\u2226","\\nparallel",!0);h(g,A,$,"\u22AF","\\nVDash",!0);h(g,A,$,"\u22EB","\\ntriangleright");h(g,A,$,"\u22ED","\\ntrianglerighteq",!0);h(g,A,$,"\uE018","\\@nsupseteqq");h(g,A,$,"\u228B","\\supsetneq",!0);h(g,A,$,"\uE01B","\\@varsupsetneq");h(g,A,$,"\u2ACC","\\supsetneqq",!0);h(g,A,$,"\uE019","\\@varsupsetneqq");h(g,A,$,"\u22AE","\\nVdash",!0);h(g,A,$,"\u2AB5","\\precneqq",!0);h(g,A,$,"\u2AB6","\\succneqq",!0);h(g,A,$,"\uE016","\\@nsubseteqq");h(g,A,s1,"\u22B4","\\unlhd");h(g,A,s1,"\u22B5","\\unrhd");h(g,A,$,"\u219A","\\nleftarrow",!0);h(g,A,$,"\u219B","\\nrightarrow",!0);h(g,A,$,"\u21CD","\\nLeftarrow",!0);h(g,A,$,"\u21CF","\\nRightarrow",!0);h(g,A,$,"\u21AE","\\nleftrightarrow",!0);h(g,A,$,"\u21CE","\\nLeftrightarrow",!0);h(g,A,$,"\u25B3","\\vartriangle");h(g,A,F,"\u210F","\\hslash");h(g,A,F,"\u25BD","\\triangledown");h(g,A,F,"\u25CA","\\lozenge");h(g,A,F,"\u24C8","\\circledS");h(g,A,F,"\xAE","\\circledR");h(P,A,F,"\xAE","\\circledR");h(g,A,F,"\u2221","\\measuredangle",!0);h(g,A,F,"\u2204","\\nexists");h(g,A,F,"\u2127","\\mho");h(g,A,F,"\u2132","\\Finv",!0);h(g,A,F,"\u2141","\\Game",!0);h(g,A,F,"\u2035","\\backprime");h(g,A,F,"\u25B2","\\blacktriangle");h(g,A,F,"\u25BC","\\blacktriangledown");h(g,A,F,"\u25A0","\\blacksquare");h(g,A,F,"\u29EB","\\blacklozenge");h(g,A,F,"\u2605","\\bigstar");h(g,A,F,"\u2222","\\sphericalangle",!0);h(g,A,F,"\u2201","\\complement",!0);h(g,A,F,"\xF0","\\eth",!0);h(P,y,F,"\xF0","\xF0");h(g,A,F,"\u2571","\\diagup");h(g,A,F,"\u2572","\\diagdown");h(g,A,F,"\u25A1","\\square");h(g,A,F,"\u25A1","\\Box");h(g,A,F,"\u25CA","\\Diamond");h(g,A,F,"\xA5","\\yen",!0);h(P,A,F,"\xA5","\\yen",!0);h(g,A,F,"\u2713","\\checkmark",!0);h(P,A,F,"\u2713","\\checkmark");h(g,A,F,"\u2136","\\beth",!0);h(g,A,F,"\u2138","\\daleth",!0);h(g,A,F,"\u2137","\\gimel",!0);h(g,A,F,"\u03DD","\\digamma",!0);h(g,A,F,"\u03F0","\\varkappa");h(g,A,V2,"\u250C","\\@ulcorner",!0);h(g,A,d2,"\u2510","\\@urcorner",!0);h(g,A,V2,"\u2514","\\@llcorner",!0);h(g,A,d2,"\u2518","\\@lrcorner",!0);h(g,A,$,"\u2266","\\leqq",!0);h(g,A,$,"\u2A7D","\\leqslant",!0);h(g,A,$,"\u2A95","\\eqslantless",!0);h(g,A,$,"\u2272","\\lesssim",!0);h(g,A,$,"\u2A85","\\lessapprox",!0);h(g,A,$,"\u224A","\\approxeq",!0);h(g,A,s1,"\u22D6","\\lessdot");h(g,A,$,"\u22D8","\\lll",!0);h(g,A,$,"\u2276","\\lessgtr",!0);h(g,A,$,"\u22DA","\\lesseqgtr",!0);h(g,A,$,"\u2A8B","\\lesseqqgtr",!0);h(g,A,$,"\u2251","\\doteqdot");h(g,A,$,"\u2253","\\risingdotseq",!0);h(g,A,$,"\u2252","\\fallingdotseq",!0);h(g,A,$,"\u223D","\\backsim",!0);h(g,A,$,"\u22CD","\\backsimeq",!0);h(g,A,$,"\u2AC5","\\subseteqq",!0);h(g,A,$,"\u22D0","\\Subset",!0);h(g,A,$,"\u228F","\\sqsubset",!0);h(g,A,$,"\u227C","\\preccurlyeq",!0);h(g,A,$,"\u22DE","\\curlyeqprec",!0);h(g,A,$,"\u227E","\\precsim",!0);h(g,A,$,"\u2AB7","\\precapprox",!0);h(g,A,$,"\u22B2","\\vartriangleleft");h(g,A,$,"\u22B4","\\trianglelefteq");h(g,A,$,"\u22A8","\\vDash",!0);h(g,A,$,"\u22AA","\\Vvdash",!0);h(g,A,$,"\u2323","\\smallsmile");h(g,A,$,"\u2322","\\smallfrown");h(g,A,$,"\u224F","\\bumpeq",!0);h(g,A,$,"\u224E","\\Bumpeq",!0);h(g,A,$,"\u2267","\\geqq",!0);h(g,A,$,"\u2A7E","\\geqslant",!0);h(g,A,$,"\u2A96","\\eqslantgtr",!0);h(g,A,$,"\u2273","\\gtrsim",!0);h(g,A,$,"\u2A86","\\gtrapprox",!0);h(g,A,s1,"\u22D7","\\gtrdot");h(g,A,$,"\u22D9","\\ggg",!0);h(g,A,$,"\u2277","\\gtrless",!0);h(g,A,$,"\u22DB","\\gtreqless",!0);h(g,A,$,"\u2A8C","\\gtreqqless",!0);h(g,A,$,"\u2256","\\eqcirc",!0);h(g,A,$,"\u2257","\\circeq",!0);h(g,A,$,"\u225C","\\triangleq",!0);h(g,A,$,"\u223C","\\thicksim");h(g,A,$,"\u2248","\\thickapprox");h(g,A,$,"\u2AC6","\\supseteqq",!0);h(g,A,$,"\u22D1","\\Supset",!0);h(g,A,$,"\u2290","\\sqsupset",!0);h(g,A,$,"\u227D","\\succcurlyeq",!0);h(g,A,$,"\u22DF","\\curlyeqsucc",!0);h(g,A,$,"\u227F","\\succsim",!0);h(g,A,$,"\u2AB8","\\succapprox",!0);h(g,A,$,"\u22B3","\\vartriangleright");h(g,A,$,"\u22B5","\\trianglerighteq");h(g,A,$,"\u22A9","\\Vdash",!0);h(g,A,$,"\u2223","\\shortmid");h(g,A,$,"\u2225","\\shortparallel");h(g,A,$,"\u226C","\\between",!0);h(g,A,$,"\u22D4","\\pitchfork",!0);h(g,A,$,"\u221D","\\varpropto");h(g,A,$,"\u25C0","\\blacktriangleleft");h(g,A,$,"\u2234","\\therefore",!0);h(g,A,$,"\u220D","\\backepsilon");h(g,A,$,"\u25B6","\\blacktriangleright");h(g,A,$,"\u2235","\\because",!0);h(g,A,$,"\u22D8","\\llless");h(g,A,$,"\u22D9","\\gggtr");h(g,A,s1,"\u22B2","\\lhd");h(g,A,s1,"\u22B3","\\rhd");h(g,A,$,"\u2242","\\eqsim",!0);h(g,y,$,"\u22C8","\\Join");h(g,A,$,"\u2251","\\Doteq",!0);h(g,A,s1,"\u2214","\\dotplus",!0);h(g,A,s1,"\u2216","\\smallsetminus");h(g,A,s1,"\u22D2","\\Cap",!0);h(g,A,s1,"\u22D3","\\Cup",!0);h(g,A,s1,"\u2A5E","\\doublebarwedge",!0);h(g,A,s1,"\u229F","\\boxminus",!0);h(g,A,s1,"\u229E","\\boxplus",!0);h(g,A,s1,"\u22C7","\\divideontimes",!0);h(g,A,s1,"\u22C9","\\ltimes",!0);h(g,A,s1,"\u22CA","\\rtimes",!0);h(g,A,s1,"\u22CB","\\leftthreetimes",!0);h(g,A,s1,"\u22CC","\\rightthreetimes",!0);h(g,A,s1,"\u22CF","\\curlywedge",!0);h(g,A,s1,"\u22CE","\\curlyvee",!0);h(g,A,s1,"\u229D","\\circleddash",!0);h(g,A,s1,"\u229B","\\circledast",!0);h(g,A,s1,"\u22C5","\\centerdot");h(g,A,s1,"\u22BA","\\intercal",!0);h(g,A,s1,"\u22D2","\\doublecap");h(g,A,s1,"\u22D3","\\doublecup");h(g,A,s1,"\u22A0","\\boxtimes",!0);h(g,A,$,"\u21E2","\\dashrightarrow",!0);h(g,A,$,"\u21E0","\\dashleftarrow",!0);h(g,A,$,"\u21C7","\\leftleftarrows",!0);h(g,A,$,"\u21C6","\\leftrightarrows",!0);h(g,A,$,"\u21DA","\\Lleftarrow",!0);h(g,A,$,"\u219E","\\twoheadleftarrow",!0);h(g,A,$,"\u21A2","\\leftarrowtail",!0);h(g,A,$,"\u21AB","\\looparrowleft",!0);h(g,A,$,"\u21CB","\\leftrightharpoons",!0);h(g,A,$,"\u21B6","\\curvearrowleft",!0);h(g,A,$,"\u21BA","\\circlearrowleft",!0);h(g,A,$,"\u21B0","\\Lsh",!0);h(g,A,$,"\u21C8","\\upuparrows",!0);h(g,A,$,"\u21BF","\\upharpoonleft",!0);h(g,A,$,"\u21C3","\\downharpoonleft",!0);h(g,y,$,"\u22B6","\\origof",!0);h(g,y,$,"\u22B7","\\imageof",!0);h(g,A,$,"\u22B8","\\multimap",!0);h(g,A,$,"\u21AD","\\leftrightsquigarrow",!0);h(g,A,$,"\u21C9","\\rightrightarrows",!0);h(g,A,$,"\u21C4","\\rightleftarrows",!0);h(g,A,$,"\u21A0","\\twoheadrightarrow",!0);h(g,A,$,"\u21A3","\\rightarrowtail",!0);h(g,A,$,"\u21AC","\\looparrowright",!0);h(g,A,$,"\u21B7","\\curvearrowright",!0);h(g,A,$,"\u21BB","\\circlearrowright",!0);h(g,A,$,"\u21B1","\\Rsh",!0);h(g,A,$,"\u21CA","\\downdownarrows",!0);h(g,A,$,"\u21BE","\\upharpoonright",!0);h(g,A,$,"\u21C2","\\downharpoonright",!0);h(g,A,$,"\u21DD","\\rightsquigarrow",!0);h(g,A,$,"\u21DD","\\leadsto");h(g,A,$,"\u21DB","\\Rrightarrow",!0);h(g,A,$,"\u21BE","\\restriction");h(g,y,F,"\u2018","`");h(g,y,F,"$","\\$");h(P,y,F,"$","\\$");h(P,y,F,"$","\\textdollar");h(g,y,F,"%","\\%");h(P,y,F,"%","\\%");h(g,y,F,"_","\\_");h(P,y,F,"_","\\_");h(P,y,F,"_","\\textunderscore");h(g,y,F,"\u2220","\\angle",!0);h(g,y,F,"\u221E","\\infty",!0);h(g,y,F,"\u2032","\\prime");h(g,y,F,"\u25B3","\\triangle");h(g,y,F,"\u0393","\\Gamma",!0);h(g,y,F,"\u0394","\\Delta",!0);h(g,y,F,"\u0398","\\Theta",!0);h(g,y,F,"\u039B","\\Lambda",!0);h(g,y,F,"\u039E","\\Xi",!0);h(g,y,F,"\u03A0","\\Pi",!0);h(g,y,F,"\u03A3","\\Sigma",!0);h(g,y,F,"\u03A5","\\Upsilon",!0);h(g,y,F,"\u03A6","\\Phi",!0);h(g,y,F,"\u03A8","\\Psi",!0);h(g,y,F,"\u03A9","\\Omega",!0);h(g,y,F,"A","\u0391");h(g,y,F,"B","\u0392");h(g,y,F,"E","\u0395");h(g,y,F,"Z","\u0396");h(g,y,F,"H","\u0397");h(g,y,F,"I","\u0399");h(g,y,F,"K","\u039A");h(g,y,F,"M","\u039C");h(g,y,F,"N","\u039D");h(g,y,F,"O","\u039F");h(g,y,F,"P","\u03A1");h(g,y,F,"T","\u03A4");h(g,y,F,"X","\u03A7");h(g,y,F,"\xAC","\\neg",!0);h(g,y,F,"\xAC","\\lnot");h(g,y,F,"\u22A4","\\top");h(g,y,F,"\u22A5","\\bot");h(g,y,F,"\u2205","\\emptyset");h(g,A,F,"\u2205","\\varnothing");h(g,y,g1,"\u03B1","\\alpha",!0);h(g,y,g1,"\u03B2","\\beta",!0);h(g,y,g1,"\u03B3","\\gamma",!0);h(g,y,g1,"\u03B4","\\delta",!0);h(g,y,g1,"\u03F5","\\epsilon",!0);h(g,y,g1,"\u03B6","\\zeta",!0);h(g,y,g1,"\u03B7","\\eta",!0);h(g,y,g1,"\u03B8","\\theta",!0);h(g,y,g1,"\u03B9","\\iota",!0);h(g,y,g1,"\u03BA","\\kappa",!0);h(g,y,g1,"\u03BB","\\lambda",!0);h(g,y,g1,"\u03BC","\\mu",!0);h(g,y,g1,"\u03BD","\\nu",!0);h(g,y,g1,"\u03BE","\\xi",!0);h(g,y,g1,"\u03BF","\\omicron",!0);h(g,y,g1,"\u03C0","\\pi",!0);h(g,y,g1,"\u03C1","\\rho",!0);h(g,y,g1,"\u03C3","\\sigma",!0);h(g,y,g1,"\u03C4","\\tau",!0);h(g,y,g1,"\u03C5","\\upsilon",!0);h(g,y,g1,"\u03D5","\\phi",!0);h(g,y,g1,"\u03C7","\\chi",!0);h(g,y,g1,"\u03C8","\\psi",!0);h(g,y,g1,"\u03C9","\\omega",!0);h(g,y,g1,"\u03B5","\\varepsilon",!0);h(g,y,g1,"\u03D1","\\vartheta",!0);h(g,y,g1,"\u03D6","\\varpi",!0);h(g,y,g1,"\u03F1","\\varrho",!0);h(g,y,g1,"\u03C2","\\varsigma",!0);h(g,y,g1,"\u03C6","\\varphi",!0);h(g,y,s1,"\u2217","*",!0);h(g,y,s1,"+","+");h(g,y,s1,"\u2212","-",!0);h(g,y,s1,"\u22C5","\\cdot",!0);h(g,y,s1,"\u2218","\\circ",!0);h(g,y,s1,"\xF7","\\div",!0);h(g,y,s1,"\xB1","\\pm",!0);h(g,y,s1,"\xD7","\\times",!0);h(g,y,s1,"\u2229","\\cap",!0);h(g,y,s1,"\u222A","\\cup",!0);h(g,y,s1,"\u2216","\\setminus",!0);h(g,y,s1,"\u2227","\\land");h(g,y,s1,"\u2228","\\lor");h(g,y,s1,"\u2227","\\wedge",!0);h(g,y,s1,"\u2228","\\vee",!0);h(g,y,F,"\u221A","\\surd");h(g,y,V2,"\u27E8","\\langle",!0);h(g,y,V2,"\u2223","\\lvert");h(g,y,V2,"\u2225","\\lVert");h(g,y,d2,"?","?");h(g,y,d2,"!","!");h(g,y,d2,"\u27E9","\\rangle",!0);h(g,y,d2,"\u2223","\\rvert");h(g,y,d2,"\u2225","\\rVert");h(g,y,$,"=","=");h(g,y,$,":",":");h(g,y,$,"\u2248","\\approx",!0);h(g,y,$,"\u2245","\\cong",!0);h(g,y,$,"\u2265","\\ge");h(g,y,$,"\u2265","\\geq",!0);h(g,y,$,"\u2190","\\gets");h(g,y,$,">","\\gt",!0);h(g,y,$,"\u2208","\\in",!0);h(g,y,$,"\uE020","\\@not");h(g,y,$,"\u2282","\\subset",!0);h(g,y,$,"\u2283","\\supset",!0);h(g,y,$,"\u2286","\\subseteq",!0);h(g,y,$,"\u2287","\\supseteq",!0);h(g,A,$,"\u2288","\\nsubseteq",!0);h(g,A,$,"\u2289","\\nsupseteq",!0);h(g,y,$,"\u22A8","\\models");h(g,y,$,"\u2190","\\leftarrow",!0);h(g,y,$,"\u2264","\\le");h(g,y,$,"\u2264","\\leq",!0);h(g,y,$,"<","\\lt",!0);h(g,y,$,"\u2192","\\rightarrow",!0);h(g,y,$,"\u2192","\\to");h(g,A,$,"\u2271","\\ngeq",!0);h(g,A,$,"\u2270","\\nleq",!0);h(g,y,f3,"\xA0","\\ ");h(g,y,f3,"\xA0","\\space");h(g,y,f3,"\xA0","\\nobreakspace");h(P,y,f3,"\xA0","\\ ");h(P,y,f3,"\xA0"," ");h(P,y,f3,"\xA0","\\space");h(P,y,f3,"\xA0","\\nobreakspace");h(g,y,f3,"","\\nobreak");h(g,y,f3,"","\\allowbreak");h(g,y,l7,",",",");h(g,y,l7,";",";");h(g,A,s1,"\u22BC","\\barwedge",!0);h(g,A,s1,"\u22BB","\\veebar",!0);h(g,y,s1,"\u2299","\\odot",!0);h(g,y,s1,"\u2295","\\oplus",!0);h(g,y,s1,"\u2297","\\otimes",!0);h(g,y,F,"\u2202","\\partial",!0);h(g,y,s1,"\u2298","\\oslash",!0);h(g,A,s1,"\u229A","\\circledcirc",!0);h(g,A,s1,"\u22A1","\\boxdot",!0);h(g,y,s1,"\u25B3","\\bigtriangleup");h(g,y,s1,"\u25BD","\\bigtriangledown");h(g,y,s1,"\u2020","\\dagger");h(g,y,s1,"\u22C4","\\diamond");h(g,y,s1,"\u22C6","\\star");h(g,y,s1,"\u25C3","\\triangleleft");h(g,y,s1,"\u25B9","\\triangleright");h(g,y,V2,"{","\\{");h(P,y,F,"{","\\{");h(P,y,F,"{","\\textbraceleft");h(g,y,d2,"}","\\}");h(P,y,F,"}","\\}");h(P,y,F,"}","\\textbraceright");h(g,y,V2,"{","\\lbrace");h(g,y,d2,"}","\\rbrace");h(g,y,V2,"[","\\lbrack",!0);h(P,y,F,"[","\\lbrack",!0);h(g,y,d2,"]","\\rbrack",!0);h(P,y,F,"]","\\rbrack",!0);h(g,y,V2,"(","\\lparen",!0);h(g,y,d2,")","\\rparen",!0);h(P,y,F,"<","\\textless",!0);h(P,y,F,">","\\textgreater",!0);h(g,y,V2,"\u230A","\\lfloor",!0);h(g,y,d2,"\u230B","\\rfloor",!0);h(g,y,V2,"\u2308","\\lceil",!0);h(g,y,d2,"\u2309","\\rceil",!0);h(g,y,F,"\\","\\backslash");h(g,y,F,"\u2223","|");h(g,y,F,"\u2223","\\vert");h(P,y,F,"|","\\textbar",!0);h(g,y,F,"\u2225","\\|");h(g,y,F,"\u2225","\\Vert");h(P,y,F,"\u2225","\\textbardbl");h(P,y,F,"~","\\textasciitilde");h(P,y,F,"\\","\\textbackslash");h(P,y,F,"^","\\textasciicircum");h(g,y,$,"\u2191","\\uparrow",!0);h(g,y,$,"\u21D1","\\Uparrow",!0);h(g,y,$,"\u2193","\\downarrow",!0);h(g,y,$,"\u21D3","\\Downarrow",!0);h(g,y,$,"\u2195","\\updownarrow",!0);h(g,y,$,"\u21D5","\\Updownarrow",!0);h(g,y,L0,"\u2210","\\coprod");h(g,y,L0,"\u22C1","\\bigvee");h(g,y,L0,"\u22C0","\\bigwedge");h(g,y,L0,"\u2A04","\\biguplus");h(g,y,L0,"\u22C2","\\bigcap");h(g,y,L0,"\u22C3","\\bigcup");h(g,y,L0,"\u222B","\\int");h(g,y,L0,"\u222B","\\intop");h(g,y,L0,"\u222C","\\iint");h(g,y,L0,"\u222D","\\iiint");h(g,y,L0,"\u220F","\\prod");h(g,y,L0,"\u2211","\\sum");h(g,y,L0,"\u2A02","\\bigotimes");h(g,y,L0,"\u2A01","\\bigoplus");h(g,y,L0,"\u2A00","\\bigodot");h(g,y,L0,"\u222E","\\oint");h(g,y,L0,"\u222F","\\oiint");h(g,y,L0,"\u2230","\\oiiint");h(g,y,L0,"\u2A06","\\bigsqcup");h(g,y,L0,"\u222B","\\smallint");h(P,y,at,"\u2026","\\textellipsis");h(g,y,at,"\u2026","\\mathellipsis");h(P,y,at,"\u2026","\\ldots",!0);h(g,y,at,"\u2026","\\ldots",!0);h(g,y,at,"\u22EF","\\@cdots",!0);h(g,y,at,"\u22F1","\\ddots",!0);h(g,y,F,"\u22EE","\\varvdots");h(P,y,F,"\u22EE","\\varvdots");h(g,y,r0,"\u02CA","\\acute");h(g,y,r0,"\u02CB","\\grave");h(g,y,r0,"\xA8","\\ddot");h(g,y,r0,"~","\\tilde");h(g,y,r0,"\u02C9","\\bar");h(g,y,r0,"\u02D8","\\breve");h(g,y,r0,"\u02C7","\\check");h(g,y,r0,"^","\\hat");h(g,y,r0,"\u20D7","\\vec");h(g,y,r0,"\u02D9","\\dot");h(g,y,r0,"\u02DA","\\mathring");h(g,y,g1,"\uE131","\\@imath");h(g,y,g1,"\uE237","\\@jmath");h(g,y,F,"\u0131","\u0131");h(g,y,F,"\u0237","\u0237");h(P,y,F,"\u0131","\\i",!0);h(P,y,F,"\u0237","\\j",!0);h(P,y,F,"\xDF","\\ss",!0);h(P,y,F,"\xE6","\\ae",!0);h(P,y,F,"\u0153","\\oe",!0);h(P,y,F,"\xF8","\\o",!0);h(P,y,F,"\xC6","\\AE",!0);h(P,y,F,"\u0152","\\OE",!0);h(P,y,F,"\xD8","\\O",!0);h(P,y,r0,"\u02CA","\\'");h(P,y,r0,"\u02CB","\\`");h(P,y,r0,"\u02C6","\\^");h(P,y,r0,"\u02DC","\\~");h(P,y,r0,"\u02C9","\\=");h(P,y,r0,"\u02D8","\\u");h(P,y,r0,"\u02D9","\\.");h(P,y,r0,"\xB8","\\c");h(P,y,r0,"\u02DA","\\r");h(P,y,r0,"\u02C7","\\v");h(P,y,r0,"\xA8",'\\"');h(P,y,r0,"\u02DD","\\H");h(P,y,r0,"\u25EF","\\textcircled");var n_={"--":!0,"---":!0,"``":!0,"''":!0};h(P,y,F,"\u2013","--",!0);h(P,y,F,"\u2013","\\textendash");h(P,y,F,"\u2014","---",!0);h(P,y,F,"\u2014","\\textemdash");h(P,y,F,"\u2018","`",!0);h(P,y,F,"\u2018","\\textquoteleft");h(P,y,F,"\u2019","'",!0);h(P,y,F,"\u2019","\\textquoteright");h(P,y,F,"\u201C","``",!0);h(P,y,F,"\u201C","\\textquotedblleft");h(P,y,F,"\u201D","''",!0);h(P,y,F,"\u201D","\\textquotedblright");h(g,y,F,"\xB0","\\degree",!0);h(P,y,F,"\xB0","\\degree");h(P,y,F,"\xB0","\\textdegree",!0);h(g,y,F,"\xA3","\\pounds");h(g,y,F,"\xA3","\\mathsterling",!0);h(P,y,F,"\xA3","\\pounds");h(P,y,F,"\xA3","\\textsterling",!0);h(g,A,F,"\u2720","\\maltese");h(P,A,F,"\u2720","\\maltese");var by='0123456789/@."';for(ma=0;ma{var t=e.charCodeAt(0),n=e.charCodeAt(1),a=(t-55296)*1024+(n-56320)+65536;if(119808<=a&&a<120484){var i=Math.floor((a-119808)/26);return zy[i]}else if(120782<=a&&a<=120831){var r=Math.floor((a-120782)/10);return VH[r]}else{if(a===120485||a===120486)return zy[0];if(120486{if(s4(e.classes)!==s4(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize||e.italic!==0&&e.hasClass("mathnormal"))return!1;if(e.classes.length===1){var n=e.classes[0];if(n==="mbin"||n==="mord")return!1}for(var a of Object.keys(e.style))if(e.style[a]!==t.style[a])return!1;for(var i of Object.keys(t.style))if(e.style[i]!==t.style[i])return!1;return!0},a_=e=>{for(var t=0;tn&&(n=s.height),s.depth>a&&(a=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}t.height=n,t.depth=a,t.maxFontSize=i},D=function(t,n,a,i){var r=new c4(t,n,a,i);return yo(r),r},o4=(e,t,n,a)=>new c4(e,t,n,a),tt=function(t,n,a){var i=D([t],[],n);return i.height=Math.max(a||n.fontMetrics().defaultRuleThickness,n.minRuleThickness),i.style.borderBottomWidth=J(i.height),i.maxFontSize=1,i},PH=function(t,n,a,i){var r=new et(t,n,a,i);return yo(r),r},v3=function(t){var n=new r4(t);return yo(n),n},nt=function(t,n){return t instanceof r4?D([],[t],n):t},RH=function(t){if(t.positionType==="individualShift"){for(var n=t.children,a=[n[0]],i=-n[0].shift-n[0].elem.depth,r=i,s=1;s{var n=D(["mspace"],[],t),a=m0(e,t);return n.style.marginRight=J(a),n},ba=(e,t,n)=>{var a,i;switch(e){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=e}return t==="textbf"&&n==="textit"?i="BoldItalic":t==="textbf"?i="Bold":n==="textit"?i="Italic":i="Regular",a+"-"+i},no={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},r_={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},s_=function(t,n){var a=r_[t],i=a[0],r=a[1],s=a[2],c=new je(i),o=new de([c],{width:J(r),height:J(s),style:"width:"+J(r),viewBox:"0 0 "+1e3*r+" "+1e3*s,preserveAspectRatio:"xMinYMin"}),l=o4(["katex-overlay"],[o],n);return l.height=s,l.style.height=J(s),l.style.width=J(r),l},u0={number:3,unit:"mu"},G4={number:4,unit:"mu"},h3={number:5,unit:"mu"},DH={mord:{mop:u0,mbin:G4,mrel:h3,minner:u0},mop:{mord:u0,mop:u0,mrel:h3,minner:u0},mbin:{mord:G4,mop:G4,mopen:G4,minner:G4},mrel:{mord:h3,mop:h3,mopen:h3,minner:h3},mopen:{},mclose:{mop:u0,mbin:G4,mrel:h3,minner:u0},mpunct:{mord:u0,mop:u0,mrel:h3,mopen:u0,mclose:u0,mpunct:u0,minner:u0},minner:{mord:u0,mop:u0,mbin:G4,mrel:h3,mopen:u0,mpunct:u0,minner:u0}},GH={mord:{mop:u0},mop:{mord:u0,mop:u0},mbin:{},mrel:{},mopen:{},mclose:{mop:u0},mpunct:{},minner:{mop:u0}},c_={},r7={},s7={};function i1(e){for(var t=e.type,n=e.names,a=e.htmlBuilder,i=e.mathmlBuilder,r=0;r{var k=w.classes[0],v=f.classes[0];k==="mbin"&&WH.has(v)?w.classes[0]="mord":v==="mbin"&&OH.has(k)&&(f.classes[0]="mord")},{node:u},m,d),ao(r,(f,w)=>{var k,v,b=ro(w),_=ro(f),z=b&&_?f.hasClass("mtight")?(k=GH[b])==null?void 0:k[_]:(v=DH[b])==null?void 0:v[_]:null;if(z)return i_(z,l)},{node:u},m,d),r},ao=function(t,n,a,i,r){i&&t.push(i);for(var s=0;sm=>{t.splice(u+1,0,m),s++})(s)}i&&t.pop()},o_=function(t){return t instanceof r4||t instanceof et||t instanceof c4&&t.hasClass("enclosing")?t:null},io=function(t,n){var a=o_(t);if(a){var i=a.children;if(i.length){if(n==="right")return io(i[i.length-1],"right");if(n==="left")return io(i[0],"left")}}return t},ro=function(t,n){if(!t)return null;n&&(t=io(t,n));var a=t.classes[0];return XH[a]||null},o7=function(t,n){var a=["nulldelimiter"].concat(t.baseSizingClasses());return D(n.concat(a))},B1=function(t,n,a){if(!t)return D();if(r7[t.type]){var i=r7[t.type](t,n);if(a&&n.size!==a.size){i=D(n.sizingClasses(a),[i],n);var r=n.sizeMultiplier/a.sizeMultiplier;i.height*=r,i.depth*=r}return i}else throw new W("Got group of unknown type: '"+t.type+"'")};function fa(e,t){var n=D(["katex-base"],e,t),a=D(["katex-strut"]);return a.style.height=J(n.height+n.depth),n.depth&&(a.style.verticalAlign=J(-n.depth)),n.children.unshift(a),n}function so(e,t){var n=null;e.length===1&&e[0].type==="tag"&&(n=e[0].tag,e=e[0].body);var a=N0(e,t,"root"),i;a.length===2&&a[1].hasClass("katex-tag")&&(i=a.pop());for(var r=[],s=[],c=0;c0&&(r.push(fa(s,t)),s=[]),r.push(a[c]));s.length>0&&r.push(fa(s,t));var l;n?(l=fa(N0(n,t,!0),t),l.classes=["katex-tag"],r.push(l)):i&&r.push(i);var p=D(["katex-html"],r);if(p.setAttribute("aria-hidden","true"),l){var u=l.children[0];u.style.height=J(p.height+p.depth),p.depth&&(u.style.verticalAlign=J(-p.depth))}return p}function l_(e){return new r4(e)}var U=class{constructor(t,n,a){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=t,this.attributes={},this.children=n||[],this.classes=a||[]}setAttribute(t,n){this.attributes[t]=n}getAttribute(t){return this.attributes[t]}toNode(){var t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var n of Object.entries(this.attributes)){var a=n[0],i=n[1];t.setAttribute(a,i)}this.classes.length>0&&(t.className=s4(this.classes));for(var r=0;r0&&(t+=' class ="'+a2(s4(this.classes))+'"'),t+=">";for(var r=0;r",t}toText(){return this.children.map(t=>t.toText()).join("")}},_0=class{constructor(t){this.text=void 0,this.text=t}toNode(){return document.createTextNode(this.text)}toMarkup(){return a2(this.toText())}toText(){return this.text}},Ca=class{constructor(t){this.width=void 0,this.character=void 0,this.width=t,t>=.05555&&t<=.05556?this.character="\u200A":t>=.1666&&t<=.1667?this.character="\u2009":t>=.2222&&t<=.2223?this.character="\u2005":t>=.2777&&t<=.2778?this.character="\u2005\u200A":t>=-.05556&&t<=-.05555?this.character="\u200A\u2063":t>=-.1667&&t<=-.1666?this.character="\u2009\u2063":t>=-.2223&&t<=-.2222?this.character="\u205F\u2063":t>=-.2778&&t<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var t=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return t.setAttribute("width",J(this.width)),t}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},KH=new Set(["\\imath","\\jmath"]),YH=new Set(["mrow","mtable"]),J2=function(t,n,a){var i,r;return i0[n][t]&&i0[n][t].replace&&t.charCodeAt(0)!==55349&&!(Object.prototype.hasOwnProperty.call(n_,t)&&((a==null||(i=a.fontFamily)==null?void 0:i.slice(4,6))==="tt"||(a==null||(r=a.font)==null?void 0:r.slice(4,6))==="tt"))&&(t=i0[n][t].replace),new _0(t)},_o=function(t){return t.length===1?t[0]:new U("mrow",t)},QH={mathit:"italic",boldsymbol:e=>e.type==="textord"?"bold":"bold-italic",mathbf:"bold",mathbb:"double-struck",mathsfit:"sans-serif-italic",mathfrak:"fraktur",mathscr:"script",mathcal:"script",mathsf:"sans-serif",mathtt:"monospace"},wo=(e,t)=>{if(e.mode==="text"){if(t.fontFamily==="texttt")return"monospace";if(t.fontFamily==="textsf")return t.fontShape==="textit"&&t.fontWeight==="textbf"?"sans-serif-bold-italic":t.fontShape==="textit"?"sans-serif-italic":t.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(t.fontShape==="textit"&&t.fontWeight==="textbf")return"bold-italic";if(t.fontShape==="textit")return"italic";if(t.fontWeight==="textbf")return"bold"}var n=t.font;if(!n||n==="mathnormal")return null;var a=e.mode,i=QH[n];if(i)return typeof i=="function"?i(e):i;var r=e.text;if(KH.has(r))return null;if(i0[a][r]){var s=i0[a][r].replace;s&&(r=s)}var c=no[n].fontName;return fo(r,c,a)?no[n].variant:null};function Vc(e){if(!e)return!1;if(e.type==="mi"&&e.children.length===1){var t=e.children[0];return t instanceof _0&&t.text==="."}else if(e.type==="mo"&&e.children.length===1&&e.getAttribute("separator")==="true"&&e.getAttribute("lspace")==="0em"&&e.getAttribute("rspace")==="0em"){var n=e.children[0];return n instanceof _0&&n.text===","}else return!1}var q2=function(t,n,a){if(t.length===1){var i=X1(t[0],n);return a&&i instanceof U&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var r=[],s,c=0;c=1&&(s.type==="mn"||Vc(s))){var l=o.children[0];l instanceof U&&l.type==="mn"&&(l.children=[...s.children,...l.children],r.pop())}else if(s.type==="mi"&&s.children.length===1){var p=s.children[0];if(p instanceof _0&&p.text==="\u0338"&&(o.type==="mo"||o.type==="mi"||o.type==="mn")){var u=o.children[0];u instanceof _0&&u.text.length>0&&(u.text=u.text.slice(0,1)+"\u0338"+u.text.slice(1),r.pop())}}}r.push(o),s=o}return r},l4=function(t,n,a){return _o(q2(t,n,a))},X1=function(t,n){if(!t)return new U("mrow");if(s7[t.type])return s7[t.type](t,n);throw new W("Got group of unknown type: '"+t.type+"'")};function Cy(e,t,n,a,i){var r=q2(e,n),s;r.length===1&&r[0]instanceof U&&YH.has(r[0].type)?s=r[0]:s=new U("mrow",r);var c=new U("annotation",[new _0(t)]);c.setAttribute("encoding","application/x-tex");var o=new U("semantics",[s,c]),l=new U("math",[o]);l.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&l.setAttribute("display","block");var p=i?"katex":"katex-mathml";return D([p],[l])}var JH=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Ay=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],My=function(t,n){return n.size<2?t:JH[t-1][n.size-1]},Aa=class e{constructor(t){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=t.style,this.color=t.color,this.size=t.size||e.BASESIZE,this.textSize=t.textSize||this.size,this.phantom=!!t.phantom,this.font=t.font||"",this.fontFamily=t.fontFamily||"",this.fontWeight=t.fontWeight||"",this.fontShape=t.fontShape||"",this.sizeMultiplier=Ay[this.size-1],this.maxSize=t.maxSize,this.minRuleThickness=t.minRuleThickness,this._fontMetrics=void 0}extend(t){var n={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(n,t),new e(n)}havingStyle(t){return this.style===t?this:this.extend({style:t,size:My(this.textSize,t)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(t){return this.size===t&&this.textSize===t?this:this.extend({style:this.style.text(),size:t,textSize:t,sizeMultiplier:Ay[t-1]})}havingBaseStyle(t){t=t||this.style.text();var n=My(e.BASESIZE,t);return this.size===n&&this.textSize===e.BASESIZE&&this.style===t?this:this.extend({style:t,size:n})}havingBaseSizing(){var t;switch(this.style.id){case 4:case 5:t=3;break;case 6:case 7:t=1;break;default:t=6}return this.extend({style:this.style.text(),size:t})}withColor(t){return this.extend({color:t})}withPhantom(){return this.extend({phantom:!0})}withFont(t){return this.extend({font:t})}withTextFontFamily(t){return this.extend({fontFamily:t,font:""})}withTextFontWeight(t){return this.extend({fontWeight:t,font:""})}withTextFontShape(t){return this.extend({fontShape:t,font:""})}sizingClasses(t){return t.size!==this.size?["katex-sizing","reset-size"+t.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==e.BASESIZE?["katex-sizing","reset-size"+this.size,"size"+e.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=NH(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};Aa.BASESIZE=6;var p_=function(t){return new Aa({style:t.displayMode?_1.DISPLAY:_1.TEXT,maxSize:t.maxSize,minRuleThickness:t.minRuleThickness})},u_=function(t,n){if(n.displayMode){var a=["katex-display"];n.leqno&&a.push("leqno"),n.fleqn&&a.push("fleqn"),t=D(a,[t])}return t},eN=function(t,n,a){var i=p_(a),r;if(a.output==="mathml")return Cy(t,n,i,a.displayMode,!0);if(a.output==="html"){var s=so(t,i);r=D(["katex"],[s])}else{var c=Cy(t,n,i,a.displayMode,!1),o=so(t,i);r=D(["katex"],[c,o])}return u_(r,a)},tN=function(t,n,a){var i=p_(a),r=so(t,i),s=D(["katex"],[r]);return u_(s,a)},nN={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",underbracket:"\u23B5",overbracket:"\u23B4",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Za=function(t){var n=new U("mo",[new _0(nN[t.replace(/^\\/,"")])]);return n.setAttribute("stretchy","true"),n},aN={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},iN=new Set(["widehat","widecheck","widetilde","utilde"]),Ea=function(t,n){function a(){var o=4e5,l=t.label.slice(1);if(iN.has(l)&&"base"in t){var p=t.base.type==="ordgroup"?t.base.body.length:1,u,m,d;if(p>5)l==="widehat"||l==="widecheck"?(u=420,o=2364,d=.42,m=l+"4"):(u=312,o=2340,d=.34,m="tilde4");else{var f=[1,1,2,2,3,3][p];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][f],u=[0,239,300,360,420][f],d=[0,.24,.3,.3,.36,.42][f],m=l+f):(o=[0,600,1033,2339,2340][f],u=[0,260,286,306,312][f],d=[0,.26,.286,.3,.306,.34][f],m="tilde"+f)}var w=new je(m),k=new de([w],{width:"100%",height:J(d),viewBox:"0 0 "+o+" "+u,preserveAspectRatio:"none"});return{span:o4([],[k],n),minWidth:0,height:d}}else{var v=[],b=aN[l];if(!b)throw new Error('No SVG data for "'+l+'".');var _=b[0],z=b[1],L=b[2],C=L/1e3,j=_.length,N,H;if(j===1){if(b.length!==4)throw new Error('Expected 4-tuple for single-path SVG data "'+l+'".');N=["hide-tail"],H=[b[3]]}else if(j===2)N=["halfarrow-left","halfarrow-right"],H=["xMinYMin","xMaxYMin"];else if(j===3)N=["brace-left","brace-center","brace-right"],H=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error("Correct katexImagesData or update code here to support\n "+j+" children.");for(var S=0;S0&&(r.style.minWidth=J(s)),r},rN=function(t,n,a,i,r){var s,c=t.height+t.depth+a+i;if(/fbox|color|angl/.test(n)){if(s=D(["katex-stretchy",n],[],r),n==="fbox"){var o=r.color&&r.getColor();o&&(s.style.borderColor=o)}}else{var l=[];/^[bx]cancel$/.test(n)&&l.push(new i7({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(n)&&l.push(new i7({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var p=new de(l,{width:"100%",height:J(c)});s=o4([],[p],r)}return s.height=c,s.style.height=J(c),s},sN=["bin","close","inner","open","punct","rel"],cN=["accent-token","mathord","op-token","spacing","textord"],oN=new Set(sN),lN=new Set(cN);function pN(e){return oN.has(e)}function Z1(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function Fa(e){var t=ja(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function ja(e){return e.type==="atom"||lN.has(e.type)?e:null}function xo(e,t,n){var a="";for(var i of e.body)if(i.type==="textord")a+=i.text;else if(n&&i.type==="spacing"&&i.text===" ")a+=" ";else throw new W(t,e);return a}var m_=e=>{if(e instanceof m2)return e;if(jH(e)&&e.children.length===1)return m_(e.children[0])},d_=(e,t)=>{var n,a,i;e&&e.type==="supsub"?(a=Z1(e.base,"accent"),n=a.base,e.base=n,i=FH(B1(e,t)),e.base=a):(a=Z1(e,"accent"),n=a.base);var r=B1(n,t.havingCrampedStyle()),s=a.isShifty&&b3(n),c=0;if(s){var o,l;c=(o=(l=m_(r))==null?void 0:l.skew)!=null?o:0}var p=a.label==="\\c",u=p?r.height+r.depth:Math.min(r.height,t.fontMetrics().xHeight),m;if(a.isStretchy)m=Ea(a,t),m=R1({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"elem",elem:m,wrapperClasses:["svg-align"],wrapperStyle:c>0?{width:"calc(100% - "+J(2*c)+")",marginLeft:J(2*c)}:void 0}]});else{var d,f;a.label==="\\vec"?(d=s_("vec",t),f=r_.vec[1]):(d=Sa({type:"textord",mode:a.mode,text:a.label},t),d=EH(d),d.italic=0,f=d.width,p&&(u+=d.depth)),m=D(["accent-body"],[d]);var w=a.label==="\\textcircled";w&&(m.classes.push("accent-full"),u=r.height);var k=c;w||(k-=f/2),m.style.left=J(k),a.label==="\\textcircled"&&(m.style.top=".2em"),m=R1({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:-u},{type:"elem",elem:m}]})}var v=D(["mord","katex-accent"],[m],t);return i?(i.children[0]=v,i.height=Math.max(v.height,i.height),i.classes[0]="mord",i):v},uN=(e,t)=>{var n=e.isStretchy?Za(e.label):new U("mo",[J2(e.label,e.mode)]),a=new U("mover",[X1(e.base,t),n]);return a.setAttribute("accent","true"),a},mN=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(e=>"\\"+e).join("|"));i1({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],numArgs:1,handler:(e,t)=>{var n=c7(t[0]),a=!mN.test(e.funcName),i=!a||e.funcName==="\\widehat"||e.funcName==="\\widetilde"||e.funcName==="\\widecheck";return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:a,isShifty:i,base:n}},htmlBuilder:d_,mathmlBuilder:uN});i1({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"],handler:(e,t)=>{var n=t[0],a=e.parser.mode;return a==="math"&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:e.funcName,isStretchy:!1,isShifty:!0,base:n}}});i1({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],numArgs:1,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0];return{type:"accentUnder",mode:n.mode,label:a,base:i}},htmlBuilder:(e,t)=>{var n=B1(e.base,t),a=Ea(e,t),i=e.label==="\\utilde"?.12:0,r=R1({positionType:"top",positionData:n.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:n}]});return D(["mord","accentunder"],[r],t)},mathmlBuilder:(e,t)=>{var n=Za(e.label),a=new U("munder",[X1(e.base,t),n]);return a.setAttribute("accentunder","true"),a}});var va=e=>{var t=new U("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};i1({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],numArgs:1,numOptionalArgs:1,handler(e,t,n){var a=e.parser,i=e.funcName;return{type:"xArrow",mode:a.mode,label:i,body:t[0],below:n[0]}},htmlBuilder(e,t){var n=t.style,a=t.havingStyle(n.sup()),i=nt(B1(e.body,a,t),t),r=e.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(r+"-arrow-pad");var s;e.below&&(a=t.havingStyle(n.sub()),s=nt(B1(e.below,a,t),t),s.classes.push(r+"-arrow-pad"));var c=Ea(e,t),o=-t.fontMetrics().axisHeight+.5*c.height,l=-t.fontMetrics().axisHeight-.5*c.height-.111;(i.depth>.25||e.label==="\\xleftequilibrium")&&(l-=i.depth);var p;if(s){var u=-t.fontMetrics().axisHeight+s.height+.5*c.height+.111;p=R1({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:c,shift:o,wrapperClasses:["svg-align"]},{type:"elem",elem:s,shift:u}]})}else p=R1({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:c,shift:o,wrapperClasses:["svg-align"]}]});return D(["mrel","x-arrow"],[p],t)},mathmlBuilder(e,t){var n=Za(e.label);n.setAttribute("minsize",e.label.charAt(0)==="x"?"1.75em":"3.0em");var a;if(e.body){var i=va(X1(e.body,t));if(e.below){var r=va(X1(e.below,t));a=new U("munderover",[n,r,i])}else a=new U("mover",[n,i])}else if(e.below){var s=va(X1(e.below,t));a=new U("munder",[n,s])}else a=va(),a=new U("mover",[n,a]);return a}});function dN(e,t){var n=N0(e.body,t,!0);return D([e.mclass],n,t)}function hN(e,t){var n,a=q2(e.body,t);return e.mclass==="minner"?n=new U("mpadded",a):e.mclass==="mord"?e.isCharacterBox?(n=a[0],n.type="mi"):n=new U("mi",a):(e.isCharacterBox?(n=a[0],n.type="mo"):n=new U("mo",a),e.mclass==="mbin"?(n.attributes.lspace="0.22em",n.attributes.rspace="0.22em"):e.mclass==="mpunct"?(n.attributes.lspace="0em",n.attributes.rspace="0.17em"):(e.mclass==="mopen"||e.mclass==="mclose")&&(n.attributes.lspace="0em",n.attributes.rspace="0em")),n}i1({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],numArgs:1,primitive:!0,handler(e,t){var n=e.parser,a=e.funcName,i=t[0];return{type:"mclass",mode:n.mode,mclass:"m"+a.slice(5),body:$0(i),isCharacterBox:b3(i)}},htmlBuilder:dN,mathmlBuilder:hN});var Ha=e=>{var t=e.type==="ordgroup"&&e.body.length?e.body[0]:e;return t.type==="atom"&&(t.family==="bin"||t.family==="rel")?"m"+t.family:"mord"};i1({type:"mclass",names:["\\@binrel"],numArgs:2,handler(e,t){var n=e.parser;return{type:"mclass",mode:n.mode,mclass:Ha(t[0]),body:$0(t[1]),isCharacterBox:b3(t[1])}}});i1({type:"mclass",names:["\\stackrel","\\overset","\\underset"],numArgs:2,handler(e,t){var n=e.parser,a=e.funcName,i=t[1],r=t[0],s;a!=="\\stackrel"?s=Ha(i):s="mrel";var c={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:a!=="\\stackrel",body:$0(i)},o=a==="\\underset"?{type:"supsub",mode:r.mode,base:c,sub:r}:{type:"supsub",mode:r.mode,base:c,sup:r};return{type:"mclass",mode:n.mode,mclass:s,body:[o],isCharacterBox:b3(o)}}});i1({type:"pmb",names:["\\pmb"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser;return{type:"pmb",mode:n.mode,mclass:Ha(t[0]),body:$0(t[0])}},htmlBuilder(e,t){var n=N0(e.body,t,!0),a=D([e.mclass],n,t);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(e,t){var n=q2(e.body,t),a=new U("mstyle",n);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var gN={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},$y=()=>({type:"styling",body:[],mode:"math",style:"display",resetFont:!0}),Ly=e=>e.type==="textord"&&e.text==="@",bN=(e,t)=>(e.type==="mathord"||e.type==="atom")&&e.text===t;function fN(e,t,n){var a=gN[e];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return n.callFunction(a,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":{var i=n.callFunction("\\\\cdleft",[t[0]],[]),r={type:"atom",text:a,mode:"math",family:"rel"},s=n.callFunction("\\Big",[r],[]),c=n.callFunction("\\\\cdright",[t[1]],[]),o={type:"ordgroup",mode:"math",body:[i,s,c]};return n.callFunction("\\\\cdparent",[o],[])}case"\\\\cdlongequal":return n.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var l={type:"textord",text:"\\Vert",mode:"math"};return n.callFunction("\\Big",[l],[])}default:return{type:"textord",text:" ",mode:"math"}}}function vN(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();var n=e.fetch().text;if(n==="&"||n==="\\\\")e.consume();else if(n==="\\end"){t[t.length-1].length===0&&t.pop();break}else throw new W("Expected \\\\ or \\cr or \\end",e.nextToken)}for(var a=[],i=[a],r=0;rAV".includes(l))for(var u=0;u<2;u++){for(var m=!0,d=o+1;dAV=|." after @',s[o]);var f=fN(l,p,e),w={type:"styling",body:[f],mode:"math",style:"display",resetFont:!0};a.push(w),c=$y()}r%2===0?a.push(c):a.shift(),a=[],i.push(a)}e.gullet.endGroup(),e.gullet.endGroup();var k=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:k,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}i1({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],numArgs:1,handler(e,t){var n=e.parser,a=e.funcName;return{type:"cdlabel",mode:n.mode,side:a.slice(4),label:t[0]}},htmlBuilder(e,t){var n=t.havingStyle(t.style.sup()),a=nt(B1(e.label,n,t),t);return a.classes.push("cd-label-"+e.side),a.style.bottom=J(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(e,t){var n=new U("mrow",[X1(e.label,t)]);return n=new U("mpadded",[n]),n.setAttribute("width","0"),e.side==="left"&&n.setAttribute("lspace","-1width"),n.setAttribute("voffset","0.7em"),n=new U("mstyle",[n]),n.setAttribute("displaystyle","false"),n.setAttribute("scriptlevel","1"),n}});i1({type:"cdlabelparent",names:["\\\\cdparent"],numArgs:1,handler(e,t){var n=e.parser;return{type:"cdlabelparent",mode:n.mode,fragment:t[0]}},htmlBuilder(e,t){var n=nt(B1(e.fragment,t),t);return n.classes.push("cd-vert-arrow"),n},mathmlBuilder(e,t){return new U("mrow",[X1(e.fragment,t)])}});i1({type:"textord",names:["\\@char"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser,a=Z1(t[0],"ordgroup"),i=xo(a,"\\@char has non-numeric argument"),r=parseInt(i),s;if(isNaN(r))throw new W("\\@char has non-numeric argument "+i);if(r<0||r>1114111)throw new W("\\@char with invalid code point "+i);return r<=65535?s=String.fromCharCode(r):(r-=65536,s=String.fromCharCode((r>>10)+55296,(r&1023)+56320)),{type:"textord",mode:n.mode,text:s}}});var yN=(e,t)=>{var n=N0(e.body,t.withColor(e.color),!1);return v3(n)},_N=(e,t)=>{var n=q2(e.body,t.withColor(e.color)),a=new U("mstyle",n);return a.setAttribute("mathcolor",e.color),a};i1({type:"color",names:["\\textcolor"],numArgs:2,allowedInText:!0,argTypes:["color","original"],handler(e,t){var n=e.parser,a=Z1(t[0],"color-token").color,i=t[1];return{type:"color",mode:n.mode,color:a,body:$0(i)}},htmlBuilder:yN,mathmlBuilder:_N});i1({type:"color",names:["\\color"],numArgs:1,allowedInText:!0,argTypes:["color"],handler(e,t){var n=e.parser,a=e.breakOnTokenText,i=Z1(t[0],"color-token").color;n.gullet.macros.set("\\current@color",i);var r=n.parseExpression(!0,a);return{type:"color",mode:n.mode,color:i,body:r}}});i1({type:"cr",names:["\\\\"],numArgs:0,numOptionalArgs:0,allowedInText:!0,handler(e,t,n){var a=e.parser,i=a.gullet.future().text==="["?a.parseSizeGroup(!0):null,r=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:r,size:i&&Z1(i,"size").value}},htmlBuilder(e,t){var n=D(["mspace"],[],t);return e.newLine&&(n.classes.push("katex-newline"),e.size&&(n.style.marginTop=J(m0(e.size,t)))),n},mathmlBuilder(e,t){var n=new U("mspace");return e.newLine&&(n.setAttribute("linebreak","newline"),e.size&&n.setAttribute("height",J(m0(e.size,t)))),n}});var co={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},h_=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new W("Expected a control sequence",e);return t},wN=e=>{var t=e.gullet.popToken();return t.text==="="&&(t=e.gullet.popToken(),t.text===" "&&(t=e.gullet.popToken())),t},g_=(e,t,n,a)=>{var i=e.gullet.macros.get(n.text);i==null&&(n.noexpand=!0,i={tokens:[n],numArgs:0,unexpandable:!e.gullet.isExpandable(n.text)}),e.gullet.macros.set(t,i,a)};i1({type:"internal",names:["\\global","\\long","\\\\globallong"],numArgs:0,allowedInText:!0,handler(e){var t=e.parser,n=e.funcName;t.consumeSpaces();var a=t.fetch();if(co[a.text])return(n==="\\global"||n==="\\\\globallong")&&(a.text=co[a.text]),Z1(t.parseFunction(),"internal");throw new W("Invalid token after macro prefix",a)}});i1({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,a=t.gullet.popToken(),i=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new W("Expected a control sequence",a);for(var r=0,s,c=[[]];t.gullet.future().text!=="{";)if(a=t.gullet.popToken(),a.text==="#"){if(t.gullet.future().text==="{"){s=t.gullet.future(),c[r].push("{");break}if(a=t.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new W('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==r+1)throw new W('Argument number "'+a.text+'" out of order');r++,c.push([])}else{if(a.text==="EOF")throw new W("Expected a macro definition");c[r].push(a.text)}var o=t.gullet.consumeArg(),l=o.tokens;return s&&l.unshift(s),(n==="\\edef"||n==="\\xdef")&&(l=t.gullet.expandTokens(l),l.reverse()),t.gullet.macros.set(i,{tokens:l,numArgs:r,delimiters:c},n===co[n]),{type:"internal",mode:t.mode}}});i1({type:"internal",names:["\\let","\\\\globallet"],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,a=h_(t.gullet.popToken());t.gullet.consumeSpaces();var i=wN(t);return g_(t,a,i,n==="\\\\globallet"),{type:"internal",mode:t.mode}}});i1({type:"internal",names:["\\futurelet","\\\\globalfuture"],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,a=h_(t.gullet.popToken()),i=t.gullet.popToken(),r=t.gullet.popToken();return g_(t,a,r,n==="\\\\globalfuture"),t.gullet.pushToken(r),t.gullet.pushToken(i),{type:"internal",mode:t.mode}}});var e7=function(t,n,a){var i=i0.math[t]&&i0.math[t].replace,r=fo(i||t,n,a);if(!r)throw new Error("Unsupported symbol "+t+" and font size "+n+".");return r},ko=function(t,n,a,i){var r=a.havingBaseStyle(n),s=D(i.concat(r.sizingClasses(a)),[t],a),c=r.sizeMultiplier/a.sizeMultiplier;return s.height*=c,s.depth*=c,s.maxFontSize=r.sizeMultiplier,s},b_=function(t,n,a){var i=n.havingBaseStyle(a),r=(1-n.sizeMultiplier/i.sizeMultiplier)*n.fontMetrics().axisHeight;t.classes.push("delimcenter"),t.style.top=J(r),t.height-=r,t.depth+=r},xN=function(t,n,a,i,r,s){var c=p2(t,"Main-Regular",r,i),o=ko(c,n,i,s);return a&&b_(o,i,n),o},kN=function(t,n,a,i){return p2(t,"Size"+n+"-Regular",a,i)},f_=function(t,n,a,i,r,s){var c=kN(t,n,r,i),o=ko(D(["delimsizing","size"+n],[c],i),_1.TEXT,i,s);return a&&b_(o,i,_1.TEXT),o},qc=function(t,n,a){var i;n==="Size1-Regular"?i="delim-size1":i="delim-size4";var r=D(["delimsizinginner",i],[D([],[p2(t,n,a)])]);return{type:"elem",elem:r}},Ic=function(t,n,a){var i=Fe["Size4-Regular"][t.charCodeAt(0)]?Fe["Size4-Regular"][t.charCodeAt(0)][4]:Fe["Size1-Regular"][t.charCodeAt(0)][4],r=new je("inner",AH(t,Math.round(1e3*n))),s=new de([r],{width:J(i),height:J(n),style:"width:"+J(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*n),preserveAspectRatio:"xMinYMin"}),c=o4([],[s],a);return c.height=n,c.style.height=J(n),c.style.width=J(i),{type:"elem",elem:c}},oo=.008,ya={type:"kern",size:-1*oo},zN=new Set(["|","\\lvert","\\rvert","\\vert"]),CN=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),v_=function(t,n,a,i,r,s){var c,o,l,p,u="",m=0;c=l=p=t,o=null;var d="Size1-Regular";t==="\\uparrow"?l=p="\u23D0":t==="\\Uparrow"?l=p="\u2016":t==="\\downarrow"?c=l="\u23D0":t==="\\Downarrow"?c=l="\u2016":t==="\\updownarrow"?(c="\\uparrow",l="\u23D0",p="\\downarrow"):t==="\\Updownarrow"?(c="\\Uparrow",l="\u2016",p="\\Downarrow"):zN.has(t)?(l="\u2223",u="vert",m=333):CN.has(t)?(l="\u2225",u="doublevert",m=556):t==="["||t==="\\lbrack"?(c="\u23A1",l="\u23A2",p="\u23A3",d="Size4-Regular",u="lbrack",m=667):t==="]"||t==="\\rbrack"?(c="\u23A4",l="\u23A5",p="\u23A6",d="Size4-Regular",u="rbrack",m=667):t==="\\lfloor"||t==="\u230A"?(l=c="\u23A2",p="\u23A3",d="Size4-Regular",u="lfloor",m=667):t==="\\lceil"||t==="\u2308"?(c="\u23A1",l=p="\u23A2",d="Size4-Regular",u="lceil",m=667):t==="\\rfloor"||t==="\u230B"?(l=c="\u23A5",p="\u23A6",d="Size4-Regular",u="rfloor",m=667):t==="\\rceil"||t==="\u2309"?(c="\u23A4",l=p="\u23A5",d="Size4-Regular",u="rceil",m=667):t==="("||t==="\\lparen"?(c="\u239B",l="\u239C",p="\u239D",d="Size4-Regular",u="lparen",m=875):t===")"||t==="\\rparen"?(c="\u239E",l="\u239F",p="\u23A0",d="Size4-Regular",u="rparen",m=875):t==="\\{"||t==="\\lbrace"?(c="\u23A7",o="\u23A8",p="\u23A9",l="\u23AA",d="Size4-Regular"):t==="\\}"||t==="\\rbrace"?(c="\u23AB",o="\u23AC",p="\u23AD",l="\u23AA",d="Size4-Regular"):t==="\\lgroup"||t==="\u27EE"?(c="\u23A7",p="\u23A9",l="\u23AA",d="Size4-Regular"):t==="\\rgroup"||t==="\u27EF"?(c="\u23AB",p="\u23AD",l="\u23AA",d="Size4-Regular"):t==="\\lmoustache"||t==="\u23B0"?(c="\u23A7",p="\u23AD",l="\u23AA",d="Size4-Regular"):(t==="\\rmoustache"||t==="\u23B1")&&(c="\u23AB",p="\u23A9",l="\u23AA",d="Size4-Regular");var f=e7(c,d,r),w=f.height+f.depth,k=e7(l,d,r),v=k.height+k.depth,b=e7(p,d,r),_=b.height+b.depth,z=0,L=1;if(o!==null){var C=e7(o,d,r);z=C.height+C.depth,L=2}var j=w+_+z,N=Math.max(0,Math.ceil((n-j)/(L*v))),H=j+N*L*v,S=i.fontMetrics().axisHeight;a&&(S*=i.sizeMultiplier);var R=H/2-S,B=[];if(u.length>0){var I=H-w-_,e1=Math.round(H*1e3),G=MH(u,Math.round(I*1e3)),X=new je(u,G),o1=J(m/1e3),w1=J(e1/1e3),M1=new de([X],{width:o1,height:w1,viewBox:"0 0 "+m+" "+e1}),M=o4([],[M1],i);M.height=e1/1e3,M.style.width=o1,M.style.height=w1,B.push({type:"elem",elem:M})}else{if(B.push(qc(p,d,r)),B.push(ya),o===null){var a1=H-w-_+2*oo;B.push(Ic(l,a1,i))}else{var l1=(H-w-_-z)/2+2*oo;B.push(Ic(l,l1,i)),B.push(ya),B.push(qc(o,d,r)),B.push(ya),B.push(Ic(l,l1,i))}B.push(ya),B.push(qc(c,d,r))}var Z=i.havingBaseStyle(_1.TEXT),P1=R1({positionType:"bottom",positionData:R,children:B});return ko(D(["delimsizing","mult"],[P1],Z),_1.TEXT,i,s)},Bc=80,Pc=.08,Rc=function(t,n,a,i,r){var s=CH(t,i,a),c=new je(t,s),o=new de([c],{width:"400em",height:J(n),viewBox:"0 0 400000 "+a,preserveAspectRatio:"xMinYMin slice"});return o4(["hide-tail"],[o],r)},AN=function(t,n){var a=n.havingBaseSizing(),i=k_("\\surd",t*a.sizeMultiplier,x_,a),r=a.sizeMultiplier,s=Math.max(0,n.minRuleThickness-n.fontMetrics().sqrtRuleThickness),c,o,l,p,u;return i.type==="small"?(p=1e3+1e3*s+Bc,t<1?r=1:t<1.4&&(r=.7),o=(1+s+Pc)/r,l=(1+s)/r,c=Rc("sqrtMain",o,p,s,n),c.style.minWidth="0.853em",u=.833/r):i.type==="large"?(p=(1e3+Bc)*t7[i.size],l=(t7[i.size]+s)/r,o=(t7[i.size]+s+Pc)/r,c=Rc("sqrtSize"+i.size,o,p,s,n),c.style.minWidth="1.02em",u=1/r):(o=t+s+Pc,l=t+s,p=Math.floor(1e3*t+s)+Bc,c=Rc("sqrtTall",o,p,s,n),c.style.minWidth="0.742em",u=1.056),c.height=l,c.style.height=J(o),{span:c,advanceWidth:u,ruleWidth:(n.fontMetrics().sqrtRuleThickness+s)*r}},y_=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"]),MN=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"]),__=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),t7=[0,1.2,1.8,2.4,3],w_=function(t,n,a,i,r){if(t==="<"||t==="\\lt"||t==="\u27E8"?t="\\langle":(t===">"||t==="\\gt"||t==="\u27E9")&&(t="\\rangle"),y_.has(t)||__.has(t))return f_(t,n,!1,a,i,r);if(MN.has(t))return v_(t,t7[n],!1,a,i,r);throw new W("Illegal delimiter: '"+t+"'")},$N=[{type:"small",style:_1.SCRIPTSCRIPT},{type:"small",style:_1.SCRIPT},{type:"small",style:_1.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],LN=[{type:"small",style:_1.SCRIPTSCRIPT},{type:"small",style:_1.SCRIPT},{type:"small",style:_1.TEXT},{type:"stack"}],x_=[{type:"small",style:_1.SCRIPTSCRIPT},{type:"small",style:_1.SCRIPT},{type:"small",style:_1.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],SN=function(t){if(t.type==="small")return"Main-Regular";if(t.type==="large")return"Size"+t.size+"-Regular";if(t.type==="stack")return"Size4-Regular";var n=t.type;throw new Error("Add support for delim type '"+n+"' here.")},k_=function(t,n,a,i){for(var r=Math.min(2,3-i.style.size),s=r;sn)return c}return a[a.length-1]},lo=function(t,n,a,i,r,s){t==="<"||t==="\\lt"||t==="\u27E8"?t="\\langle":(t===">"||t==="\\gt"||t==="\u27E9")&&(t="\\rangle");var c;__.has(t)?c=$N:y_.has(t)?c=x_:c=LN;var o=k_(t,n,c,i);return o.type==="small"?xN(t,o.style,a,i,r,s):o.type==="large"?f_(t,o.size,a,i,r,s):v_(t,n,a,i,r,s)},Dc=function(t,n,a,i,r,s){var c=i.fontMetrics().axisHeight*i.sizeMultiplier,o=901,l=5/i.fontMetrics().ptPerEm,p=Math.max(n-c,a+c),u=Math.max(p/500*o,2*p-l);return lo(t,u,!0,i,r,s)},Sy={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},ZN=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function Zy(e){return"isMiddle"in e}function Na(e,t){var n=ja(e);if(n&&ZN.has(n.text))return n;throw n?new W("Invalid delimiter '"+n.text+"' after '"+t.funcName+"'",e):new W("Invalid delimiter type '"+e.type+"'",e)}i1({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],numArgs:1,argTypes:["primitive"],handler:(e,t)=>{var n=Na(c7(t[0]),e);return{type:"delimsizing",mode:e.parser.mode,size:Sy[e.funcName].size,mclass:Sy[e.funcName].mclass,delim:n.text}},htmlBuilder:(e,t)=>e.delim==="."?D([e.mclass]):w_(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];e.delim!=="."&&t.push(J2(e.delim,e.mode));var n=new U("mo",t);e.mclass==="mopen"||e.mclass==="mclose"?n.setAttribute("fence","true"):n.setAttribute("fence","false"),n.setAttribute("stretchy","true");var a=J(t7[e.size]);return n.setAttribute("minsize",a),n.setAttribute("maxsize",a),n}});function Ey(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}i1({type:"leftright-right",names:["\\right"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=e.parser.gullet.macros.get("\\current@color");if(n&&typeof n!="string")throw new W("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:Na(t[0],e).text,color:n}}});i1({type:"leftright",names:["\\left"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=Na(t[0],e),a=e.parser;++a.leftrightDepth;var i=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var r=Z1(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:i,left:n.text,right:r.delim,rightColor:r.color}},htmlBuilder:(e,t)=>{Ey(e);for(var n=N0(e.body,t,!0,["mopen","mclose"]),a=0,i=0,r=!1,s=0;s{Ey(e);var n=q2(e.body,t);if(e.left!=="."){var a=new U("mo",[J2(e.left,e.mode)]);a.setAttribute("fence","true"),n.unshift(a)}if(e.right!=="."){var i=new U("mo",[J2(e.right,e.mode)]);i.setAttribute("fence","true"),e.rightColor&&i.setAttribute("mathcolor",e.rightColor),n.push(i)}return _o(n)}});i1({type:"middle",names:["\\middle"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=Na(t[0],e);if(!e.parser.leftrightDepth)throw new W("\\middle without preceding \\left",n);return{type:"middle",mode:e.parser.mode,delim:n.text}},htmlBuilder:(e,t)=>{var n;return e.delim==="."?n=o7(t,[]):(n=w_(e.delim,1,t,e.mode,[]),n.isMiddle={delim:e.delim,options:t}),n},mathmlBuilder:(e,t)=>{var n=e.delim==="\\vert"||e.delim==="|"?J2("|","text"):J2(e.delim,e.mode),a=new U("mo",[n]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var EN=(e,t)=>{var n=nt(B1(e.body,t),t),a=e.label.slice(1),i=t.sizeMultiplier,r,s,c=b3(e.body);if(a==="sout")r=D(["katex-stretchy","katex-sout"]),r.height=t.fontMetrics().defaultRuleThickness/i,s=-.5*t.fontMetrics().xHeight;else if(a==="phase"){var o=m0({number:.6,unit:"pt"},t),l=m0({number:.35,unit:"ex"},t),p=t.havingBaseSizing();i=i/p.sizeMultiplier;var u=n.height+n.depth+o+l;n.style.paddingLeft=J(u/2+o);var m=Math.floor(1e3*u*i),d=kH(m),f=new de([new je("phase",d)],{width:"400em",height:J(m/1e3),viewBox:"0 0 400000 "+m,preserveAspectRatio:"xMinYMin slice"});r=o4(["hide-tail"],[f],t),r.style.height=J(u),s=n.depth+o+l}else{/cancel/.test(a)?c||n.classes.push("cancel-pad"):a==="angl"?n.classes.push("anglpad"):n.classes.push("boxpad");var w,k,v=0;/box/.test(a)?(v=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),w=t.fontMetrics().fboxsep+(a==="colorbox"?0:v),k=w):a==="angl"?(v=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),w=4*v,k=Math.max(0,.25-n.depth)):(w=c?.2:0,k=w),r=rN(n,a,w,k,t),/fbox|boxed|fcolorbox/.test(a)?(r.style.borderStyle="solid",r.style.borderWidth=J(v)):a==="angl"&&v!==.049&&(r.style.borderTopWidth=J(v),r.style.borderRightWidth=J(v)),s=n.depth+k,e.backgroundColor&&(r.style.backgroundColor=e.backgroundColor,e.borderColor&&(r.style.borderColor=e.borderColor))}var b;if(e.backgroundColor)b=R1({positionType:"individualShift",children:[{type:"elem",elem:r,shift:s},{type:"elem",elem:n,shift:0}]});else{var _=/cancel|phase/.test(a)?["svg-align"]:[];b=R1({positionType:"individualShift",children:[{type:"elem",elem:n,shift:0},{type:"elem",elem:r,shift:s,wrapperClasses:_}]})}return/cancel/.test(a)&&(b.height=n.height,b.depth=n.depth),/cancel/.test(a)&&!c?D(["mord","cancel-lap"],[b],t):D(["mord"],[b],t)},FN=(e,t)=>{var n,a=new U(e.label.includes("colorbox")?"mpadded":"menclose",[X1(e.body,t)]);switch(e.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(n=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*n+"pt"),a.setAttribute("height","+"+2*n+"pt"),a.setAttribute("lspace",n+"pt"),a.setAttribute("voffset",n+"pt"),e.label==="\\fcolorbox"){var i=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);a.setAttribute("style","border: "+J(i)+" solid "+e.borderColor)}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return e.backgroundColor&&a.setAttribute("mathbackground",e.backgroundColor),a};i1({type:"enclose",names:["\\colorbox"],numArgs:2,allowedInText:!0,argTypes:["color","hbox"],handler(e,t,n){var a=e.parser,i=e.funcName,r=Z1(t[0],"color-token").color,s=t[1];return{type:"enclose",mode:a.mode,label:i,backgroundColor:r,body:s}},htmlBuilder:EN,mathmlBuilder:FN});i1({type:"enclose",names:["\\fcolorbox"],numArgs:3,allowedInText:!0,argTypes:["color","color","hbox"],handler(e,t,n){var a=e.parser,i=e.funcName,r=Z1(t[0],"color-token").color,s=Z1(t[1],"color-token").color,c=t[2];return{type:"enclose",mode:a.mode,label:i,backgroundColor:s,borderColor:r,body:c}}});i1({type:"enclose",names:["\\fbox"],numArgs:1,argTypes:["hbox"],allowedInText:!0,handler(e,t){var n=e.parser;return{type:"enclose",mode:n.mode,label:"\\fbox",body:t[0]}}});i1({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],numArgs:1,handler(e,t){var n=e.parser,a=e.funcName,i=t[0];return{type:"enclose",mode:n.mode,label:a,body:i}}});i1({type:"enclose",names:["\\sout"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser,a=e.funcName;n.mode==="math"&&n.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=t[0];return{type:"enclose",mode:n.mode,label:a,body:i}}});i1({type:"enclose",names:["\\angl"],numArgs:1,argTypes:["hbox"],allowedInText:!1,handler(e,t){var n=e.parser;return{type:"enclose",mode:n.mode,label:"\\angl",body:t[0]}}});var z_={};function He(e){for(var t=e.type,n=e.names,a=e.props,i=e.handler,r=e.htmlBuilder,s=e.mathmlBuilder,c={type:t,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},o=0;o{var t=e.parser.settings;if(!t.displayMode)throw new W("{"+e.envName+"} can be used only in display mode.")},jN=new Set(["gather","gather*"]);function zo(e){if(!e.includes("ed"))return!e.includes("*")}function p4(e,t,n){var a=t.hskipBeforeAndAfter,i=t.addJot,r=t.cols,s=t.arraystretch,c=t.colSeparationType,o=t.autoTag,l=t.singleRow,p=t.emptySingleRow,u=t.maxNumCols,m=t.leqno;if(e.gullet.beginGroup(),l||e.gullet.macros.set("\\cr","\\\\\\relax"),!s){var d=e.gullet.expandMacroAsText("\\arraystretch");if(d==null)s=1;else if(s=parseFloat(d),!s||s<0)throw new W("Invalid \\arraystretch: "+d)}e.gullet.beginGroup();var f=[],w=[f],k=[],v=[],b=o!=null?[]:void 0;function _(){o&&e.gullet.macros.set("\\@eqnsw","1",!0)}function z(){b&&(e.gullet.macros.get("\\df@tag")?(b.push(e.subparse([new T2("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):b.push(!!o&&e.gullet.macros.get("\\@eqnsw")==="1"))}for(_(),v.push(Fy(e));;){var L=e.parseExpression(!1,l?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup();var C={type:"ordgroup",mode:e.mode,body:L};n&&(C={type:"styling",mode:e.mode,style:n,resetFont:!0,body:[C]}),f.push(C);var j=e.fetch().text;if(j==="&"){if(u&&f.length===u){if(l||c)throw new W("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else if(j==="\\end"){z(),f.length===1&&C.type==="styling"&&C.body.length===1&&C.body[0].type==="ordgroup"&&C.body[0].body.length===0&&(w.length>1||!p)&&!Array.isArray(b?.[b.length-1])&&!(o&&b?.[b.length-1]===!0)&&w.pop(),v.length0&&(_+=.25),l.push({pos:_,isDashed:Y[b1]})}for(z(s[0]),a=0;a0&&(R+=b,jY))for(a=0;a=c)){var G1=void 0;if(i>0||t.hskipBeforeAndAfter){var h0,h2;G1=(h0=(h2=Z)==null?void 0:h2.pregap)!=null?h0:m,G1!==0&&(G=D(["arraycolsep"],[]),G.style.width=J(G1),e1.push(G))}var S0=[];for(a=0;a0){for(var k7=tt("katex-hline",n,p),t9=tt("katex-hdashline",n,p),ut=[{type:"elem",elem:m4,shift:0}];l.length>0;){var z7=l.pop(),C7=z7.pos-B;z7.isDashed?ut.push({type:"elem",elem:t9,shift:C7}):ut.push({type:"elem",elem:k7,shift:C7})}m4=R1({positionType:"individualShift",children:ut})}if(o1.length===0)return D(["mord"],[m4],n);var n9=R1({positionType:"individualShift",children:o1}),V=D(["katex-tag"],[n9],n);return v3([m4,V])},HN={c:"center ",l:"left ",r:"right "},Te=function(t,n){for(var a=[],i=new U("mtd",[],["mtr-glue"]),r=new U("mtd",[],["mml-eqn-num"]),s=0;s0){var f=t.cols,w="",k=!1,v=0,b=f.length;f[0].type==="separator"&&(m+="top ",v=1),f[f.length-1].type==="separator"&&(m+="bottom ",b-=1);for(var _=v;_0?"left ":"",m+=H[H.length-1].length>0?"right ":"";for(var S=1;S0&&u&&(f=1),a[m]={type:"align",align:d,pregap:f,postgap:0}}return r.colSeparationType=u?"align":"alignat",r};He({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){var n=ja(t[0]),a=n?[t[0]]:Z1(t[0],"ordgroup").body,i=a.map(function(s){var c=Fa(s),o=c.text;if("lcr".includes(o))return{type:"align",align:o};if(o==="|")return{type:"separator",separator:"|"};if(o===":")return{type:"separator",separator:":"};throw new W("Unknown column alignment: "+o,s)}),r={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return p4(e.parser,r,Co(e.envName))},htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],n="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:n}]};if(e.envName.charAt(e.envName.length-1)==="*"){var i=e.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),n=i.fetch().text,!"lcr".includes(n))throw new W("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),a.cols=[{type:"align",align:n}]}}var r=p4(e.parser,a,Co(e.envName)),s=Math.max(0,...r.body.map(c=>c.length));return r.cols=new Array(s).fill({type:"align",align:n}),t?{type:"leftright",mode:e.mode,body:[r],left:t[0],right:t[1],rightColor:void 0}:r},htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){var t={arraystretch:.5},n=p4(e.parser,t,"script");return n.colSeparationType="small",n},htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){var n=ja(t[0]),a=n?[t[0]]:Z1(t[0],"ordgroup").body,i=a.map(function(c){var o=Fa(c),l=o.text;if("lc".includes(l))return{type:"align",align:l};throw new W("Unknown column alignment: "+l,c)});if(i.length>1)throw new W("{subarray} can contain only one column");var r={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=p4(e.parser,r,"script");if(s.body.length>0&&s.body[0].length>1)throw new W("{subarray} can contain only one column");return s},htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){var t={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},n=p4(e.parser,t,Co(e.envName));return{type:"leftright",mode:e.mode,body:[n],left:e.envName.includes("r")?".":"\\{",right:e.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:A_,htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){jN.has(e.envName)&&Ta(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:zo(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return p4(e.parser,t,"display")},htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:A_,htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){Ta(e);var t={autoTag:zo(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return p4(e.parser,t,"display")},htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["CD"],props:{numArgs:0},handler(e){return Ta(e),vN(e.parser)},htmlBuilder:Ne,mathmlBuilder:Te});x("\\nonumber","\\gdef\\@eqnsw{0}");x("\\notag","\\nonumber");i1({type:"text",names:["\\hline","\\hdashline"],numArgs:0,allowedInText:!0,allowedInMath:!0,handler(e,t){throw new W(e.funcName+" valid only within array environment")}});var jy=z_;i1({type:"environment",names:["\\begin","\\end"],numArgs:1,argTypes:["text"],handler(e,t){var n=e.parser,a=e.funcName,i=t[0];if(i.type!=="ordgroup")throw new W("Invalid environment name",i);var r=xo(i,"Environment name should contain only text characters and spaces",!0);if(a==="\\begin"){if(!Object.prototype.hasOwnProperty.call(jy,r))throw new W("No such environment: "+r,i);var s=jy[r],c=n.parseArguments("\\begin{"+r+"}",s),o=c.args,l=c.optArgs,p={mode:n.mode,envName:r,parser:n},u=s.handler(p,o,l);n.expect("\\end",!1);var m=n.nextToken,d=Z1(n.parseFunction(),"environment");if(d.name!==r)throw new W("Mismatch: \\begin{"+r+"} matched by \\end{"+d.name+"}",m);return u}return{type:"environment",mode:n.mode,name:r,nameGroup:i}}});var NN=(e,t)=>{var n=e.font,a=t.withFont(n);return B1(e.body,a)},TN=(e,t)=>{var n=e.font,a=t.withFont(n);return X1(e.body,a)},Hy={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak"};i1({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],numArgs:1,allowedInArgument:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=c7(t[0]),r=a in Hy?Hy[a]:a;return{type:"font",mode:n.mode,font:r.slice(1),body:i}},htmlBuilder:NN,mathmlBuilder:TN});i1({type:"mclass",names:["\\boldsymbol","\\bm"],numArgs:1,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"mclass",mode:n.mode,mclass:Ha(a),body:[{type:"font",mode:n.mode,font:"boldsymbol",body:a}],isCharacterBox:b3(a)}}});i1({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],numArgs:0,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=e.breakOnTokenText,r=n.mode,s=n.parseExpression(!0,i);return{type:"font",mode:r,font:"math"+a.slice(1),body:{type:"ordgroup",mode:n.mode,body:s}}}});var VN=(e,t)=>{var n=t.style,a=n.fracNum(),i=n.fracDen(),r;r=t.havingStyle(a);var s=B1(e.numer,r,t);if(e.continued){var c=8.5/t.fontMetrics().ptPerEm,o=3.5/t.fontMetrics().ptPerEm;s.height=s.height0?f=3*m:f=7*m,w=t.fontMetrics().denom1):(u>0?(d=t.fontMetrics().num2,f=m):(d=t.fontMetrics().num3,f=3*m),w=t.fontMetrics().denom2);var k;if(p){var b=t.fontMetrics().axisHeight;d-s.depth-(b+.5*u){var n=new U("mfrac",[X1(e.numer,t),X1(e.denom,t)]);if(!e.hasBarLine)n.setAttribute("linethickness","0px");else if(e.barSize){var a=m0(e.barSize,t);n.setAttribute("linethickness",J(a))}if(e.leftDelim!=null||e.rightDelim!=null){var i=[];if(e.leftDelim!=null){var r=new U("mo",[new _0(e.leftDelim.replace("\\",""))]);r.setAttribute("fence","true"),i.push(r)}if(i.push(n),e.rightDelim!=null){var s=new U("mo",[new _0(e.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return _o(i)}return n},M_=(e,t)=>{if(!t)return e;var n={type:"styling",mode:e.mode,style:t,body:[e]};return n};i1({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],numArgs:2,allowedInArgument:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0],r=t[1],s,c=null,o=null;switch(a){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,c="(",o=")";break;case"\\\\bracefrac":s=!1,c="\\{",o="\\}";break;case"\\\\brackfrac":s=!1,c="[",o="]";break;default:throw new Error("Unrecognized genfrac command")}var l=a==="\\cfrac",p=null;return l||a.startsWith("\\d")?p="display":a.startsWith("\\t")&&(p="text"),M_({type:"genfrac",mode:n.mode,numer:i,denom:r,continued:l,hasBarLine:s,leftDelim:c,rightDelim:o,barSize:null},p)},htmlBuilder:VN,mathmlBuilder:qN});i1({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],numArgs:0,infix:!0,handler(e){var t=e.parser,n=e.funcName,a=e.token,i;switch(n){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:t.mode,replaceWith:i,token:a}}});var Ny=["display","text","script","scriptscript"],Ty=function(t){var n=null;return t.length>0&&(n=t,n=n==="."?null:n),n};i1({type:"genfrac",names:["\\genfrac"],numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"],handler(e,t){var n=e.parser,a=t[4],i=t[5],r=c7(t[0]),s=r.type==="atom"&&r.family==="open"?Ty(r.text):null,c=c7(t[1]),o=c.type==="atom"&&c.family==="close"?Ty(c.text):null,l=Z1(t[2],"size"),p,u=null;l.isBlank?p=!0:(u=l.value,p=u.number>0);var m=null,d=t[3];if(d.type==="ordgroup"){if(d.body.length>0){var f=Z1(d.body[0],"textord");m=Ny[Number(f.text)]}}else d=Z1(d,"textord"),m=Ny[Number(d.text)];return M_({type:"genfrac",mode:n.mode,numer:a,denom:i,continued:!1,hasBarLine:p,barSize:u,leftDelim:s,rightDelim:o},m)}});i1({type:"infix",names:["\\above"],numArgs:1,argTypes:["size"],infix:!0,handler(e,t){var n=e.parser;e.funcName;var a=e.token;return{type:"infix",mode:n.mode,replaceWith:"\\\\abovefrac",size:Z1(t[0],"size").value,token:a}}});i1({type:"genfrac",names:["\\\\abovefrac"],numArgs:3,argTypes:["math","size","math"],handler:(e,t)=>{var n=e.parser;e.funcName;var a=t[0],i=Z1(t[1],"infix").size;if(!i)throw new Error("\\\\abovefrac expected size, but got "+String(i));var r=t[2],s=i.number>0;return{type:"genfrac",mode:n.mode,numer:a,denom:r,continued:!1,hasBarLine:s,barSize:i,leftDelim:null,rightDelim:null}}});var $_=(e,t)=>{var n=t.style,a,i;e.type==="supsub"?(a=e.sup?B1(e.sup,t.havingStyle(n.sup()),t):B1(e.sub,t.havingStyle(n.sub()),t),i=Z1(e.base,"horizBrace")):i=Z1(e,"horizBrace");var r=B1(i.base,t.havingBaseStyle(_1.DISPLAY)),s=Ea(i,t),c;if(i.isOver?c=R1({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:.1},{type:"elem",elem:s,wrapperClasses:["svg-align"]}]}):c=R1({positionType:"bottom",positionData:r.depth+.1+s.height,children:[{type:"elem",elem:s,wrapperClasses:["svg-align"]},{type:"kern",size:.1},{type:"elem",elem:r}]}),a){var o=D(["minner",i.isOver?"mover":"munder"],[c],t);i.isOver?c=R1({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.2},{type:"elem",elem:a}]}):c=R1({positionType:"bottom",positionData:o.depth+.2+a.height+a.depth,children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:o}]})}return D(["minner",i.isOver?"mover":"munder"],[c],t)},IN=(e,t)=>{var n=Za(e.label);return new U(e.isOver?"mover":"munder",[X1(e.base,t),n])};i1({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],numArgs:1,handler(e,t){var n=e.parser,a=e.funcName;return{type:"horizBrace",mode:n.mode,label:a,isOver:a.includes("\\over"),base:t[0]}},htmlBuilder:$_,mathmlBuilder:IN});i1({type:"href",names:["\\href"],numArgs:2,argTypes:["url","original"],allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=t[1],i=Z1(t[0],"url").url;return n.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:n.mode,href:i,body:$0(a)}:n.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{var n=N0(e.body,t,!1);return PH(e.href,[],n,t)},mathmlBuilder:(e,t)=>{var n=l4(e.body,t);return n instanceof U||(n=new U("mrow",[n])),n.setAttribute("href",e.href),n}});i1({type:"href",names:["\\url"],numArgs:1,argTypes:["url"],allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=Z1(t[0],"url").url;if(!n.settings.isTrusted({command:"\\url",url:a}))return n.formatUnsupportedCmd("\\url");for(var i=[],r=0;r{var n=e.parser,a=e.funcName;e.token;var i=Z1(t[0],"raw").string,r=t[1];n.settings.strict&&n.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var s,c={};switch(a){case"\\htmlClass":c.class=i,s={command:"\\htmlClass",class:i};break;case"\\htmlId":c.id=i,s={command:"\\htmlId",id:i};break;case"\\htmlStyle":c.style=i,s={command:"\\htmlStyle",style:i};break;case"\\htmlData":{for(var o="{,}",l=[],p="",u=0;u{var n=N0(e.body,t,!1),a=["enclosing"];e.attributes.class&&a.push(...e.attributes.class.trim().split(/\s+/));var i=D(a,n,t);for(var r of Object.entries(e.attributes)){var s=r[0],c=r[1];s!=="class"&&i.setAttribute(s,c)}return i},mathmlBuilder:(e,t)=>l4(e.body,t)});i1({type:"htmlmathml",names:["\\html@mathml"],numArgs:2,allowedInArgument:!0,allowedInText:!0,handler:(e,t)=>{var n=e.parser;return{type:"htmlmathml",mode:n.mode,html:$0(t[0]),mathml:$0(t[1])}},htmlBuilder:(e,t)=>{var n=N0(e.html,t,!1);return v3(n)},mathmlBuilder:(e,t)=>l4(e.mathml,t)});var Gc=function(t){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(t))return{number:+t,unit:"bp"};var n=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t);if(!n)throw new W("Invalid size: '"+t+"' in \\includegraphics");var a={number:+(n[1]+n[2]),unit:n[3]};if(!Qy(a))throw new W("Invalid unit: '"+a.unit+"' in \\includegraphics.");return a};i1({type:"includegraphics",names:["\\includegraphics"],numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1,handler:(e,t,n)=>{var a=e.parser,i={number:0,unit:"em"},r={number:.9,unit:"em"},s={number:0,unit:"em"},c="";if(n[0])for(var o=Z1(n[0],"raw").string,l=o.split(","),p=0;p{var n=m0(e.height,t),a=0;e.totalheight.number>0&&(a=m0(e.totalheight,t)-n);var i=0;e.width.number>0&&(i=m0(e.width,t));var r={height:J(n+a)};i>0&&(r.width=J(i)),a>0&&(r.verticalAlign=J(-a));var s=new Kc(e.src,e.alt,r);return s.height=n,s.depth=a,s},mathmlBuilder:(e,t)=>{var n=new U("mglyph",[]);n.setAttribute("alt",e.alt);var a=m0(e.height,t),i=0;if(e.totalheight.number>0&&(i=m0(e.totalheight,t)-a,n.setAttribute("valign",J(-i))),n.setAttribute("height",J(a+i)),e.width.number>0){var r=m0(e.width,t);n.setAttribute("width",J(r))}return n.setAttribute("src",e.src),n}});i1({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0,handler(e,t){var n=e.parser,a=e.funcName,i=Z1(t[0],"size");if(n.settings.strict){var r=a[1]==="m",s=i.value.unit==="mu";r?(s||n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, "+("not "+i.value.unit+" units")),n.mode!=="math"&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):s&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:n.mode,dimension:i.value}},htmlBuilder(e,t){return i_(e.dimension,t)},mathmlBuilder(e,t){var n=m0(e.dimension,t);return new Ca(n)}});i1({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0];return{type:"lap",mode:n.mode,alignment:a.slice(5),body:i}},htmlBuilder:(e,t)=>{var n;e.alignment==="clap"?(n=D([],[B1(e.body,t)]),n=D(["katex-inner"],[n],t)):n=D(["katex-inner"],[B1(e.body,t)]);var a=D(["katex-fix"],[]),i=D([e.alignment],[n,a],t),r=D(["katex-strut"]);return r.style.height=J(i.height+i.depth),i.depth&&(r.style.verticalAlign=J(-i.depth)),i.children.unshift(r),i=D(["katex-thinbox"],[i],t),D(["mord","katex-vbox"],[i],t)},mathmlBuilder:(e,t)=>{var n=new U("mpadded",[X1(e.body,t)]);if(e.alignment!=="rlap"){var a=e.alignment==="llap"?"-1":"-0.5";n.setAttribute("lspace",a+"width")}return n.setAttribute("width","0px"),n}});i1({type:"styling",names:["\\(","$"],numArgs:0,allowedInText:!0,allowedInMath:!1,handler(e,t){var n=e.funcName,a=e.parser,i=a.mode;a.switchMode("math");var r=n==="\\("?"\\)":"$",s=a.parseExpression(!1,r);return a.expect(r),a.switchMode(i),{type:"styling",mode:a.mode,style:"text",resetFont:!0,body:s}}});i1({type:"text",names:["\\)","\\]"],numArgs:0,allowedInText:!0,allowedInMath:!1,handler(e,t){throw new W("Mismatched "+e.funcName)}});var Vy=(e,t)=>{switch(t.style.size){case _1.DISPLAY.size:return e.display;case _1.TEXT.size:return e.text;case _1.SCRIPT.size:return e.script;case _1.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};i1({type:"mathchoice",names:["\\mathchoice"],numArgs:4,primitive:!0,handler:(e,t)=>{var n=e.parser;return{type:"mathchoice",mode:n.mode,display:$0(t[0]),text:$0(t[1]),script:$0(t[2]),scriptscript:$0(t[3])}},htmlBuilder:(e,t)=>{var n=Vy(e,t),a=N0(n,t,!1);return v3(a)},mathmlBuilder:(e,t)=>{var n=Vy(e,t);return l4(n,t)}});var L_=(e,t,n,a,i,r,s)=>{e=D([],[e]);var c=n&&b3(n),o,l;if(t){var p=B1(t,a.havingStyle(i.sup()),a);l={elem:p,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-p.depth)}}if(n){var u=B1(n,a.havingStyle(i.sub()),a);o={elem:u,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-u.height)}}var m;if(l&&o){var d=a.fontMetrics().bigOpSpacing5+o.elem.height+o.elem.depth+o.kern+e.depth+s;m=R1({positionType:"bottom",positionData:d,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:J(-r)},{type:"kern",size:o.kern},{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:J(r)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else if(o){var f=e.height-s;m=R1({positionType:"top",positionData:f,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:J(-r)},{type:"kern",size:o.kern},{type:"elem",elem:e}]})}else if(l){var w=e.depth+s;m=R1({positionType:"bottom",positionData:w,children:[{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:J(r)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else return e;var k=[m];if(o&&r!==0&&!c){var v=D(["mspace"],[],a);v.style.marginRight=J(r),k.unshift(v)}return D(["mop","op-limits"],k,a)},S_=new Set(["\\smallint"]),Z_=(e,t)=>{var n,a,i=!1,r;e.type==="supsub"?(n=e.sup,a=e.sub,r=Z1(e.base,"op"),i=!0):r=Z1(e,"op");var s=t.style,c=!1;s.size===_1.DISPLAY.size&&r.symbol&&!S_.has(r.name)&&(c=!0);var o,l;if(r.symbol){var p=c?"Size2-Regular":"Size1-Regular",u="";if((r.name==="\\oiint"||r.name==="\\oiiint")&&(u=r.name.slice(1),r.name=u==="oiint"?"\\iint":"\\iiint"),o=p2(r.name,p,"math",t,["mop","op-symbol",c?"large-op":"small-op"]),l=o.italic,u.length>0){var m=s_(u+"Size"+(c?"2":"1"),t);o=R1({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:m,shift:c?.08:0}]}),r.name="\\"+u,o.classes.unshift("mop"),o.italic=l}}else if(r.body){var d=N0(r.body,t,!0);d.length===1&&d[0]instanceof m2?(o=d[0],o.classes[0]="mop"):o=D(["mop"],d,t)}else{for(var f=[],w=1;w{var n;if(e.symbol)n=new U("mo",[J2(e.name,e.mode)]),S_.has(e.name)&&n.setAttribute("largeop","false");else if(e.body)n=new U("mo",q2(e.body,t));else{n=new U("mi",[new _0(e.name.slice(1))]);var a=new U("mo",[J2("\u2061","text")]);e.parentIsSupSub?n=new U("mrow",[n,a]):n=l_([n,a])}return n},PN={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};i1({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],numArgs:0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=a;return i.length===1&&(i=PN[i]),{type:"op",mode:n.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Z_,mathmlBuilder:BN});i1({type:"op",names:["\\mathop"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"op",mode:n.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:$0(a)}}});var RN={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};i1({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],numArgs:0,handler(e){var t=e.parser,n=e.funcName;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:n}}});i1({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],numArgs:0,handler(e){var t=e.parser,n=e.funcName;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:n}}});i1({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],numArgs:0,allowedInArgument:!0,handler(e){var t=e.parser,n=e.funcName,a=n;return a.length===1&&(a=RN[a]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}}});var E_=(e,t)=>{var n,a,i=!1,r;e.type==="supsub"?(n=e.sup,a=e.sub,r=Z1(e.base,"operatorname"),i=!0):r=Z1(e,"operatorname");var s;if(r.body.length>0){for(var c=r.body.map(u=>{var m="text"in u?u.text:void 0;return typeof m=="string"?{type:"textord",mode:u.mode,text:m}:u}),o=N0(c,t.withFont("mathrm"),!0),l=0;l{for(var n=q2(e.body,t.withFont("mathrm")),a=!0,i=0;ip.toText()).join("");n=[new _0(c)]}var o=new U("mi",n);o.setAttribute("mathvariant","normal");var l=new U("mo",[J2("\u2061","text")]);return e.parentIsSupSub?new U("mrow",[o,l]):l_([o,l])};i1({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],numArgs:1,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0];return{type:"operatorname",mode:n.mode,body:$0(i),alwaysHandleSupSub:a==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:E_,mathmlBuilder:DN});x("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");W4({type:"ordgroup",htmlBuilder(e,t){return e.semisimple?v3(N0(e.body,t,!1)):D(["mord"],N0(e.body,t,!0),t)},mathmlBuilder(e,t){return l4(e.body,t,!0)}});i1({type:"overline",names:["\\overline"],numArgs:1,handler(e,t){var n=e.parser,a=t[0];return{type:"overline",mode:n.mode,body:a}},htmlBuilder(e,t){var n=B1(e.body,t.havingCrampedStyle()),a=tt("overline-line",t),i=t.fontMetrics().defaultRuleThickness,r=R1({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:a},{type:"kern",size:i}]});return D(["mord","katex-overline"],[r],t)},mathmlBuilder(e,t){var n=new U("mo",[new _0("\u203E")]);n.setAttribute("stretchy","true");var a=new U("mover",[X1(e.body,t),n]);return a.setAttribute("accent","true"),a}});i1({type:"phantom",names:["\\phantom"],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"phantom",mode:n.mode,body:$0(a)}},htmlBuilder:(e,t)=>{var n=N0(e.body,t.withPhantom(),!1);return v3(n)},mathmlBuilder:(e,t)=>{var n=q2(e.body,t);return new U("mphantom",n)}});x("\\hphantom","\\smash{\\phantom{#1}}");i1({type:"vphantom",names:["\\vphantom"],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"vphantom",mode:n.mode,body:a}},htmlBuilder:(e,t)=>{var n=D(["katex-inner"],[B1(e.body,t.withPhantom())]),a=D(["katex-fix"],[]);return D(["mord","rlap"],[n,a],t)},mathmlBuilder:(e,t)=>{var n=q2($0(e.body),t),a=new U("mphantom",n),i=new U("mpadded",[a]);return i.setAttribute("width","0px"),i}});i1({type:"raisebox",names:["\\raisebox"],numArgs:2,argTypes:["size","hbox"],allowedInText:!0,handler(e,t){var n=e.parser,a=Z1(t[0],"size").value,i=t[1];return{type:"raisebox",mode:n.mode,dy:a,body:i}},htmlBuilder(e,t){var n=B1(e.body,t),a=m0(e.dy,t);return R1({positionType:"shift",positionData:-a,children:[{type:"elem",elem:n}]})},mathmlBuilder(e,t){var n=new U("mpadded",[X1(e.body,t)]),a=e.dy.number+e.dy.unit;return n.setAttribute("voffset",a),n}});var F_=(e,t)=>{var n=e.parser;return{type:"reflectbox",mode:n.mode,body:t[0]}};i1({type:"reflectbox",names:["\\reflectbox"],numArgs:1,argTypes:["hbox"],allowedInText:!0,handler:F_,htmlBuilder(e,t){return D(["mord","reflectbox"],[B1(e.body,t)],t)},mathmlBuilder(e,t){return X1(e.body,t)}});i1({type:"reflectbox",names:["\\mathreflectbox"],numArgs:1,argTypes:["math"],handler:F_});i1({type:"internal",names:["\\relax"],numArgs:0,allowedInText:!0,allowedInArgument:!0,handler(e){var t=e.parser;return{type:"internal",mode:t.mode}}});i1({type:"rule",names:["\\rule"],numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"],handler(e,t,n){var a=e.parser,i=n[0],r=Z1(t[0],"size"),s=Z1(t[1],"size");return{type:"rule",mode:a.mode,shift:i&&Z1(i,"size").value,width:r.value,height:s.value}},htmlBuilder(e,t){var n=D(["mord","katex-rule"],[],t),a=m0(e.width,t),i=m0(e.height,t),r=e.shift?m0(e.shift,t):0;return n.style.borderRightWidth=J(a),n.style.borderTopWidth=J(i),n.style.bottom=J(r),n.width=a,n.height=i+r,n.depth=-r,n.maxFontSize=i*1.125*t.sizeMultiplier,n},mathmlBuilder(e,t){var n=m0(e.width,t),a=m0(e.height,t),i=e.shift?m0(e.shift,t):0,r=t.color&&t.getColor()||"black",s=new U("mspace");s.setAttribute("mathbackground",r),s.setAttribute("width",J(n)),s.setAttribute("height",J(a));var c=new U("mpadded",[s]);return i>=0?c.setAttribute("height",J(i)):(c.setAttribute("height",J(i)),c.setAttribute("depth",J(-i))),c.setAttribute("voffset",J(i)),c}});function j_(e,t,n){for(var a=N0(e,t,!1),i=t.sizeMultiplier/n.sizeMultiplier,r=0;r{var n=t.havingSize(e.size);return j_(e.body,n,t)};i1({type:"sizing",names:qy,numArgs:0,allowedInText:!0,handler:(e,t)=>{var n=e.breakOnTokenText,a=e.funcName,i=e.parser,r=i.parseExpression(!1,n);return{type:"sizing",mode:i.mode,size:qy.indexOf(a)+1,body:r}},htmlBuilder:GN,mathmlBuilder:(e,t)=>{var n=t.havingSize(e.size),a=q2(e.body,n),i=new U("mstyle",a);return i.setAttribute("mathsize",J(n.sizeMultiplier)),i}});i1({type:"smash",names:["\\smash"],numArgs:1,numOptionalArgs:1,allowedInText:!0,handler:(e,t,n)=>{var a=e.parser,i=!1,r=!1,s=n[0]&&Z1(n[0],"ordgroup");if(s)for(var c,o=0;o{var n=D([],[B1(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return n;if(e.smashHeight&&(n.height=0),e.smashDepth&&(n.depth=0),e.smashHeight&&e.smashDepth)return D(["mord","katex-smash"],[n],t);if(n.children)for(var a=0;a{var n=new U("mpadded",[X1(e.body,t)]);return e.smashHeight&&n.setAttribute("height","0px"),e.smashDepth&&n.setAttribute("depth","0px"),n}});i1({type:"sqrt",names:["\\sqrt"],numArgs:1,numOptionalArgs:1,handler(e,t,n){var a=e.parser,i=n[0],r=t[0];return{type:"sqrt",mode:a.mode,body:r,index:i}},htmlBuilder(e,t){var n=B1(e.body,t.havingCrampedStyle());n.height===0&&(n.height=t.fontMetrics().xHeight),n=nt(n,t);var a=t.fontMetrics(),i=a.defaultRuleThickness,r=i;t.style.id<_1.TEXT.id&&(r=t.fontMetrics().xHeight);var s=i+r/4,c=n.height+n.depth+s+i,o=AN(c,t),l=o.span,p=o.ruleWidth,u=o.advanceWidth,m=l.height-p;m>n.height+n.depth+s&&(s=(s+m-n.height-n.depth)/2);var d=l.height-n.height-s-p;n.style.paddingLeft=J(u);var f=R1({positionType:"firstBaseline",children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:-(n.height+d)},{type:"elem",elem:l},{type:"kern",size:p}]});if(e.index){var w=t.havingStyle(_1.SCRIPTSCRIPT),k=B1(e.index,w,t),v=.6*(f.height-f.depth),b=R1({positionType:"shift",positionData:-v,children:[{type:"elem",elem:k}]}),_=D(["katex-root"],[b]);return D(["mord","sqrt"],[_,f],t)}else return D(["mord","sqrt"],[f],t)},mathmlBuilder(e,t){var n=e.body,a=e.index;return a?new U("mroot",[X1(n,t),X1(a,t)]):new U("msqrt",[X1(n,t)])}});var po={display:_1.DISPLAY,text:_1.TEXT,script:_1.SCRIPT,scriptscript:_1.SCRIPTSCRIPT};function ON(e){return e in po}i1({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],numArgs:0,allowedInText:!0,primitive:!0,handler(e,t){var n=e.breakOnTokenText,a=e.funcName,i=e.parser,r=i.parseExpression(!0,n),s=a.slice(1,a.length-5);if(!ON(s))throw new Error("Unknown style: "+s);return{type:"styling",mode:i.mode,style:s,body:r}},htmlBuilder(e,t){var n=po[e.style],a=t.havingStyle(n);return e.resetFont&&(a=a.withFont("")),j_(e.body,a,t)},mathmlBuilder(e,t){var n=po[e.style],a=t.havingStyle(n);e.resetFont&&(a=a.withFont(""));var i=q2(e.body,a),r=new U("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},c=s[e.style];return r.setAttribute("scriptlevel",c[0]),r.setAttribute("displaystyle",c[1]),r}});var WN=function(t,n){var a=t.base;if(a)if(a.type==="op"){var i=a.limits&&(n.style.size===_1.DISPLAY.size||a.alwaysHandleSupSub);return i?Z_:null}else if(a.type==="operatorname"){var r=a.alwaysHandleSupSub&&(n.style.size===_1.DISPLAY.size||a.limits);return r?E_:null}else{if(a.type==="accent")return b3(a.base)?d_:null;if(a.type==="horizBrace"){var s=!t.sub;return s===a.isOver?$_:null}else return null}else return null};W4({type:"supsub",htmlBuilder(e,t){var n=WN(e,t);if(n)return n(e,t);var a=e.base,i=e.sup,r=e.sub,s=B1(a,t),c,o,l=t.fontMetrics(),p=0,u=0,m=a&&b3(a);if(i){var d=t.havingStyle(t.style.sup());c=B1(i,d,t),m||(p=s.height-d.fontMetrics().supDrop*d.sizeMultiplier/t.sizeMultiplier)}if(r){var f=t.havingStyle(t.style.sub());o=B1(r,f,t),m||(u=s.depth+f.fontMetrics().subDrop*f.sizeMultiplier/t.sizeMultiplier)}var w;t.style===_1.DISPLAY?w=l.sup1:t.style.cramped?w=l.sup3:w=l.sup2;var k=t.sizeMultiplier,v=J(.5/l.ptPerEm/k),b=null;if(o){var _=e.base&&e.base.type==="op"&&e.base.name&&(e.base.name==="\\oiint"||e.base.name==="\\oiiint");if(s instanceof m2||_){var z;b=J(-((z=s.italic)!=null?z:0))}}var L;if(c&&o){p=Math.max(p,w,c.depth+.25*l.xHeight),u=Math.max(u,l.sub2);var C=l.defaultRuleThickness,j=4*C;if(p-c.depth-(o.height-u)0&&(p+=N,u-=N)}var H=[{type:"elem",elem:o,shift:u,marginRight:v,marginLeft:b},{type:"elem",elem:c,shift:-p,marginRight:v}];L=R1({positionType:"individualShift",children:H})}else if(o){u=Math.max(u,l.sub1,o.height-.8*l.xHeight);var S=[{type:"elem",elem:o,marginLeft:b,marginRight:v}];L=R1({positionType:"shift",positionData:u,children:S})}else if(c)p=Math.max(p,w,c.depth+.25*l.xHeight),L=R1({positionType:"shift",positionData:-p,children:[{type:"elem",elem:c,marginRight:v}]});else throw new Error("supsub must have either sup or sub.");var R=ro(s,"right")||"mord";return D([R],[s,D(["msupsub"],[L])],t)},mathmlBuilder(e,t){var n=!1,a,i;e.base&&e.base.type==="horizBrace"&&(i=!!e.sup,i===e.base.isOver&&(n=!0,a=e.base.isOver)),e.base&&(e.base.type==="op"||e.base.type==="operatorname")&&(e.base.parentIsSupSub=!0);var r=[X1(e.base,t)];e.sub&&r.push(X1(e.sub,t)),e.sup&&r.push(X1(e.sup,t));var s;if(n)s=a?"mover":"munder";else if(e.sub)if(e.sup){var l=e.base;l&&l.type==="op"&&l.limits&&t.style===_1.DISPLAY||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(t.style===_1.DISPLAY||l.limits)?s="munderover":s="msubsup"}else{var o=e.base;o&&o.type==="op"&&o.limits&&(t.style===_1.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||t.style===_1.DISPLAY)?s="munder":s="msub"}else{var c=e.base;c&&c.type==="op"&&c.limits&&(t.style===_1.DISPLAY||c.alwaysHandleSupSub)||c&&c.type==="operatorname"&&c.alwaysHandleSupSub&&(c.limits||t.style===_1.DISPLAY)?s="mover":s="msup"}return new U(s,r)}});W4({type:"atom",htmlBuilder(e,t){return vo(e.text,e.mode,t,["m"+e.family])},mathmlBuilder(e,t){var n=new U("mo",[J2(e.text,e.mode)]);if(e.family==="bin"){var a=wo(e,t);a==="bold-italic"&&n.setAttribute("mathvariant",a)}else e.family==="punct"?n.setAttribute("separator","true"):(e.family==="open"||e.family==="close")&&n.setAttribute("stretchy","false");return n}});var H_={mi:"italic",mn:"normal",mtext:"normal"};W4({type:"mathord",htmlBuilder(e,t){return Sa(e,t)},mathmlBuilder(e,t){var n=new U("mi",[J2(e.text,e.mode,t)]),a=wo(e,t)||"italic";return a!==H_[n.type]&&n.setAttribute("mathvariant",a),n}});W4({type:"textord",htmlBuilder(e,t){return Sa(e,t)},mathmlBuilder(e,t){var n=J2(e.text,e.mode,t),a=wo(e,t)||"normal",i;return e.mode==="text"?i=new U("mtext",[n]):/[0-9]/.test(e.text)?i=new U("mn",[n]):e.text==="\\prime"?i=new U("mo",[n]):i=new U("mi",[n]),a!==H_[i.type]&&i.setAttribute("mathvariant",a),i}});var Iy=new Map([["\\nobreak","nobreak"],["\\allowbreak","allowbreak"]]),By=new Map([[" ",{}],["\\ ",{}],["~",{className:"nobreak"}],["\\space",{}],["\\nobreakspace",{className:"nobreak"}]]);W4({type:"spacing",htmlBuilder(e,t){var n=By.get(e.text),a=Iy.get(e.text);if(n){var i=n.className||"";if(e.mode==="text"){var r=Sa(e,t);return r.classes.push(i),r}else return D(["mspace",i],[vo(e.text,e.mode,t)],t)}else{if(a)return D(["mspace",a],[],t);throw new W('Unknown type of space "'+e.text+'"')}},mathmlBuilder(e,t){var n;if(By.has(e.text))n=new U("mtext",[new _0("\xA0")]);else{if(Iy.has(e.text))return new U("mspace");throw new W('Unknown type of space "'+e.text+'"')}return n}});var Py=()=>{var e=new U("mtd",[]);return e.setAttribute("width","50%"),e};W4({type:"tag",mathmlBuilder(e,t){var n=new U("mtable",[new U("mtr",[Py(),new U("mtd",[l4(e.body,t)]),Py(),new U("mtd",[l4(e.tag,t)])])]);return n.setAttribute("width","100%"),n}});var Ry={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Dy={"\\textbf":"textbf","\\textmd":"textmd"},UN={"\\textit":"textit","\\textup":"textup"},Gy=(e,t)=>{var n=e.font;if(n){if(Ry[n])return t.withTextFontFamily(Ry[n]);if(Dy[n])return t.withTextFontWeight(Dy[n]);if(n==="\\emph")return t.fontShape==="textit"?t.withTextFontShape("textup"):t.withTextFontShape("textit")}else return t;return t.withTextFontShape(UN[n])};i1({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0,handler(e,t){var n=e.parser,a=e.funcName,i=t[0];return{type:"text",mode:n.mode,body:$0(i),font:a}},htmlBuilder(e,t){var n=Gy(e,t),a=N0(e.body,n,!0);return D(["mord","text"],a,n)},mathmlBuilder(e,t){var n=Gy(e,t);return l4(e.body,n)}});i1({type:"underline",names:["\\underline"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser;return{type:"underline",mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=B1(e.body,t),a=tt("underline-line",t),i=t.fontMetrics().defaultRuleThickness,r=R1({positionType:"top",positionData:n.height,children:[{type:"kern",size:i},{type:"elem",elem:a},{type:"kern",size:3*i},{type:"elem",elem:n}]});return D(["mord","katex-underline"],[r],t)},mathmlBuilder(e,t){var n=new U("mo",[new _0("\u203E")]);n.setAttribute("stretchy","true");var a=new U("munder",[X1(e.body,t),n]);return a.setAttribute("accentunder","true"),a}});i1({type:"vcenter",names:["\\vcenter"],numArgs:1,argTypes:["original"],allowedInText:!1,handler(e,t){var n=e.parser;return{type:"vcenter",mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=B1(e.body,t),a=t.fontMetrics().axisHeight,i=.5*(n.height-a-(n.depth+a));return R1({positionType:"shift",positionData:i,children:[{type:"elem",elem:n}]})},mathmlBuilder(e,t){var n=new U("mpadded",[X1(e.body,t)],["vcenter"]);return new U("mrow",[n])}});i1({type:"verb",names:["\\verb"],numArgs:0,allowedInText:!0,handler(e,t,n){throw new W("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){for(var n=Oy(e),a=[],i=t.havingStyle(t.style.text()),r=0;re.body.replace(/ /g,e.star?"\u2423":"\xA0"),i4=c_,N_="[ \r\n ]",XN="\\\\[a-zA-Z@]+",KN="\\\\[^\uD800-\uDFFF]",YN="("+XN+")"+N_+"*",QN="\\\\(\n|[ \r ]+\n?)[ \r ]*",uo="[\u0300-\u036F]",JN=new RegExp(uo+"+$"),eT="("+N_+"+)|"+(QN+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(uo+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(uo+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+YN)+("|"+KN+")"),Ma=class{constructor(t,n){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=t,this.settings=n,this.tokenRegex=new RegExp(eT,"g"),this.catcodes={"%":14,"~":13}}setCatcode(t,n){this.catcodes[t]=n}lex(){var t=this.input,n=this.tokenRegex.lastIndex;if(n===t.length)return new T2("EOF",new C2(this,n,n));var a=this.tokenRegex.exec(t);if(a===null||a.index!==n)throw new W("Unexpected character: '"+t[n]+"'",new T2(t[n],new C2(this,n,n+1)));var i=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[i]===14){var r=t.indexOf("\n",this.tokenRegex.lastIndex);return r===-1?(this.tokenRegex.lastIndex=t.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=r+1,this.lex()}return new T2(i,new C2(this,n,this.tokenRegex.lastIndex))}},mo=class{constructor(t,n){t===void 0&&(t={}),n===void 0&&(n={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=n,this.builtins=t,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new W("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var t=this.undefStack.pop();for(var n of Object.keys(t))t[n]===void 0?delete this.current[n]:this.current[n]=t[n]}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(t){return Object.prototype.hasOwnProperty.call(this.current,t)||Object.prototype.hasOwnProperty.call(this.builtins,t)}get(t){return Object.prototype.hasOwnProperty.call(this.current,t)?this.current[t]:Object.prototype.hasOwnProperty.call(this.builtins,t)?this.builtins[t]:void 0}set(t,n,a){if(a===void 0&&(a=!1),a){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][t]=n)}else{var r=this.undefStack[this.undefStack.length-1];r&&!Object.prototype.hasOwnProperty.call(r,t)&&(r[t]=Object.prototype.hasOwnProperty.call(this.current,t)?this.current[t]:void 0)}n==null?delete this.current[t]:this.current[t]=n}},tT=C_;x("\\noexpand",function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}});x("\\expandafter",function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}});x("\\@firstoftwo",function(e){var t=e.consumeArgs(2);return{tokens:t[0],numArgs:0}});x("\\@secondoftwo",function(e){var t=e.consumeArgs(2);return{tokens:t[1],numArgs:0}});x("\\@ifnextchar",function(e){var t=e.consumeArgs(3);e.consumeSpaces();var n=e.future();return t[0].length===1&&t[0][0].text===n.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}});x("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");x("\\TextOrMath",function(e){var t=e.consumeArgs(2);return e.mode==="text"?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var Wy={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};x("\\char",function(e){var t=e.popToken(),n,a=0;if(t.text==="'")n=8,t=e.popToken();else if(t.text==='"')n=16,t=e.popToken();else if(t.text==="`")if(t=e.popToken(),t.text[0]==="\\")a=t.text.charCodeAt(1);else{if(t.text==="EOF")throw new W("\\char` missing argument");a=t.text.charCodeAt(0)}else n=10;if(n){if(a=Wy[t.text],a==null||a>=n)throw new W("Invalid base-"+n+" digit "+t.text);for(var i;(i=Wy[e.future().text])!=null&&i{var i=e.consumeArg().tokens;if(i.length!==1)throw new W("\\newcommand's first argument must be a macro name");var r=i[0].text,s=e.isDefined(r);if(s&&!t)throw new W("\\newcommand{"+r+"} attempting to redefine "+(r+"; use \\renewcommand"));if(!s&&!n)throw new W("\\renewcommand{"+r+"} when command "+r+" does not yet exist; use \\newcommand");var c=0;if(i=e.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var o="",l=e.expandNextToken();l.text!=="]"&&l.text!=="EOF";)o+=l.text,l=e.expandNextToken();if(!o.match(/^\s*[0-9]+\s*$/))throw new W("Invalid number of arguments: "+o);c=parseInt(o),i=e.consumeArg().tokens}return s&&a||e.macros.set(r,{tokens:i,numArgs:c}),""};x("\\newcommand",e=>Ao(e,!1,!0,!1));x("\\renewcommand",e=>Ao(e,!0,!1,!1));x("\\providecommand",e=>Ao(e,!0,!0,!0));x("\\message",e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(n=>n.text).join("")),""});x("\\errmessage",e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(n=>n.text).join("")),""});x("\\show",e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),i4[n],i0.math[n],i0.text[n]),""});x("\\bgroup","{");x("\\egroup","}");x("~","\\nobreakspace");x("\\lq","`");x("\\rq","'");x("\\aa","\\r a");x("\\AA","\\r A");x("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");x("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");x("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");x("\u212C","\\mathscr{B}");x("\u2130","\\mathscr{E}");x("\u2131","\\mathscr{F}");x("\u210B","\\mathscr{H}");x("\u2110","\\mathscr{I}");x("\u2112","\\mathscr{L}");x("\u2133","\\mathscr{M}");x("\u211B","\\mathscr{R}");x("\u212D","\\mathfrak{C}");x("\u210C","\\mathfrak{H}");x("\u2128","\\mathfrak{Z}");x("\\Bbbk","\\Bbb{k}");x("\\llap","\\mathllap{\\textrm{#1}}");x("\\rlap","\\mathrlap{\\textrm{#1}}");x("\\clap","\\mathclap{\\textrm{#1}}");x("\\mathstrut","\\vphantom{(}");x("\\underbar","\\underline{\\text{#1}}");x("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');x("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");x("\\ne","\\neq");x("\u2260","\\neq");x("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");x("\u2209","\\notin");x("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");x("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");x("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");x("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");x("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");x("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");x("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");x("\u27C2","\\perp");x("\u203C","\\mathclose{!\\mkern-0.8mu!}");x("\u220C","\\notni");x("\u231C","\\ulcorner");x("\u231D","\\urcorner");x("\u231E","\\llcorner");x("\u231F","\\lrcorner");x("\xA9","\\copyright");x("\xAE","\\textregistered");x("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');x("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');x("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');x("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');x("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");x("\u22EE","\\vdots");x("\\varGamma","\\mathit{\\Gamma}");x("\\varDelta","\\mathit{\\Delta}");x("\\varTheta","\\mathit{\\Theta}");x("\\varLambda","\\mathit{\\Lambda}");x("\\varXi","\\mathit{\\Xi}");x("\\varPi","\\mathit{\\Pi}");x("\\varSigma","\\mathit{\\Sigma}");x("\\varUpsilon","\\mathit{\\Upsilon}");x("\\varPhi","\\mathit{\\Phi}");x("\\varPsi","\\mathit{\\Psi}");x("\\varOmega","\\mathit{\\Omega}");x("\\substack","\\begin{subarray}{c}#1\\end{subarray}");x("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");x("\\boxed","\\fbox{$\\displaystyle{#1}$}");x("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");x("\\implies","\\DOTSB\\;\\Longrightarrow\\;");x("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");x("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");x("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var Uy={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},nT=new Set(["bin","rel"]);x("\\dots",function(e){var t="\\dotso",n=e.expandAfterFuture().text;return n in Uy?t=Uy[n]:(n.slice(0,4)==="\\not"||n in i0.math&&nT.has(i0.math[n].group))&&(t="\\dotsb"),t});var Mo={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};x("\\dotso",function(e){var t=e.future().text;return t in Mo?"\\ldots\\,":"\\ldots"});x("\\dotsc",function(e){var t=e.future().text;return t in Mo&&t!==","?"\\ldots\\,":"\\ldots"});x("\\cdots",function(e){var t=e.future().text;return t in Mo?"\\@cdots\\,":"\\@cdots"});x("\\dotsb","\\cdots");x("\\dotsm","\\cdots");x("\\dotsi","\\!\\cdots");x("\\dotsx","\\ldots\\,");x("\\DOTSI","\\relax");x("\\DOTSB","\\relax");x("\\DOTSX","\\relax");x("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");x("\\,","\\tmspace+{3mu}{.1667em}");x("\\thinspace","\\,");x("\\>","\\mskip{4mu}");x("\\:","\\tmspace+{4mu}{.2222em}");x("\\medspace","\\:");x("\\;","\\tmspace+{5mu}{.2777em}");x("\\thickspace","\\;");x("\\!","\\tmspace-{3mu}{.1667em}");x("\\negthinspace","\\!");x("\\negmedspace","\\tmspace-{4mu}{.2222em}");x("\\negthickspace","\\tmspace-{5mu}{.277em}");x("\\enspace","\\kern.5em ");x("\\enskip","\\hskip.5em\\relax");x("\\quad","\\hskip1em\\relax");x("\\qquad","\\hskip2em\\relax");x("\\tag","\\@ifstar\\tag@literal\\tag@paren");x("\\tag@paren","\\tag@literal{({#1})}");x("\\tag@literal",e=>{if(e.macros.get("\\df@tag"))throw new W("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});x("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");x("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");x("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");x("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");x("\\newline","\\\\\\relax");x("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var T_=J(Fe["Main-Regular"][84][1]-.7*Fe["Main-Regular"][65][1]);x("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+T_+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");x("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+T_+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");x("\\hspace","\\@ifstar\\@hspacer\\@hspace");x("\\@hspace","\\hskip #1\\relax");x("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");x("\\ordinarycolon",":");x("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");x("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');x("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');x("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');x("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');x("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');x("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');x("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');x("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');x("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');x("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');x("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');x("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');x("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');x("\u2237","\\dblcolon");x("\u2239","\\eqcolon");x("\u2254","\\coloneqq");x("\u2255","\\eqqcolon");x("\u2A74","\\Coloneqq");x("\\ratio","\\vcentcolon");x("\\coloncolon","\\dblcolon");x("\\colonequals","\\coloneqq");x("\\coloncolonequals","\\Coloneqq");x("\\equalscolon","\\eqqcolon");x("\\equalscoloncolon","\\Eqqcolon");x("\\colonminus","\\coloneq");x("\\coloncolonminus","\\Coloneq");x("\\minuscolon","\\eqcolon");x("\\minuscoloncolon","\\Eqcolon");x("\\coloncolonapprox","\\Colonapprox");x("\\coloncolonsim","\\Colonsim");x("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");x("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");x("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");x("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");x("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");x("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");x("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");x("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");x("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");x("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");x("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");x("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");x("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");x("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");x("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");x("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");x("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");x("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");x("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");x("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");x("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");x("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");x("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");x("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");x("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");x("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");x("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");x("\\imath","\\html@mathml{\\@imath}{\u0131}");x("\\jmath","\\html@mathml{\\@jmath}{\u0237}");x("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");x("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");x("\u27E6","\\llbracket");x("\u27E7","\\rrbracket");x("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");x("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");x("\u21A4","\\mapsfrom");x("\\mapsfrom","\\html@mathml{\\mathrel{\\mathreflectbox{\\mapsto}}}{\\mathrel{\\char`\u21A4}}");x("\u2983","\\lBrace");x("\u2984","\\rBrace");x("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");x("\u29B5","\\minuso");x("\\darr","\\downarrow");x("\\dArr","\\Downarrow");x("\\Darr","\\Downarrow");x("\\lang","\\langle");x("\\rang","\\rangle");x("\\uarr","\\uparrow");x("\\uArr","\\Uparrow");x("\\Uarr","\\Uparrow");x("\\N","\\mathbb{N}");x("\\R","\\mathbb{R}");x("\\Z","\\mathbb{Z}");x("\\alef","\\aleph");x("\\alefsym","\\aleph");x("\\Alpha","\\mathrm{A}");x("\\Beta","\\mathrm{B}");x("\\bull","\\bullet");x("\\Chi","\\mathrm{X}");x("\\clubs","\\clubsuit");x("\\cnums","\\mathbb{C}");x("\\Complex","\\mathbb{C}");x("\\Dagger","\\ddagger");x("\\diamonds","\\diamondsuit");x("\\empty","\\emptyset");x("\\Epsilon","\\mathrm{E}");x("\\Eta","\\mathrm{H}");x("\\exist","\\exists");x("\\harr","\\leftrightarrow");x("\\hArr","\\Leftrightarrow");x("\\Harr","\\Leftrightarrow");x("\\hearts","\\heartsuit");x("\\image","\\Im");x("\\infin","\\infty");x("\\Iota","\\mathrm{I}");x("\\isin","\\in");x("\\Kappa","\\mathrm{K}");x("\\larr","\\leftarrow");x("\\lArr","\\Leftarrow");x("\\Larr","\\Leftarrow");x("\\lrarr","\\leftrightarrow");x("\\lrArr","\\Leftrightarrow");x("\\Lrarr","\\Leftrightarrow");x("\\Mu","\\mathrm{M}");x("\\natnums","\\mathbb{N}");x("\\Nu","\\mathrm{N}");x("\\Omicron","\\mathrm{O}");x("\\plusmn","\\pm");x("\\rarr","\\rightarrow");x("\\rArr","\\Rightarrow");x("\\Rarr","\\Rightarrow");x("\\real","\\Re");x("\\reals","\\mathbb{R}");x("\\Reals","\\mathbb{R}");x("\\Rho","\\mathrm{P}");x("\\sdot","\\cdot");x("\\sect","\\S");x("\\spades","\\spadesuit");x("\\sub","\\subset");x("\\sube","\\subseteq");x("\\supe","\\supseteq");x("\\Tau","\\mathrm{T}");x("\\thetasym","\\vartheta");x("\\weierp","\\wp");x("\\Zeta","\\mathrm{Z}");x("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");x("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");x("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");x("\\bra","\\mathinner{\\langle{#1}|}");x("\\ket","\\mathinner{|{#1}\\rangle}");x("\\braket","\\mathinner{\\langle{#1}\\rangle}");x("\\Bra","\\left\\langle#1\\right|");x("\\Ket","\\left|#1\\right\\rangle");var V_=e=>t=>{var n=t.consumeArg().tokens,a=t.consumeArg().tokens,i=t.consumeArg().tokens,r=t.consumeArg().tokens,s=t.macros.get("|"),c=t.macros.get("\\|");t.macros.beginGroup();var o=u=>m=>{e&&(m.macros.set("|",s),i.length&&m.macros.set("\\|",c));var d=u;if(!u&&i.length){var f=m.future();f.text==="|"&&(m.popToken(),d=!0)}return{tokens:d?i:a,numArgs:0}};t.macros.set("|",o(!1)),i.length&&t.macros.set("\\|",o(!0));var l=t.consumeArg().tokens,p=t.expandTokens([...r,...l,...n]);return t.macros.endGroup(),{tokens:p.reverse(),numArgs:0}};x("\\bra@ket",V_(!1));x("\\bra@set",V_(!0));x("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");x("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");x("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");x("\\angln","{\\angl n}");x("\\blue","\\textcolor{##6495ed}{#1}");x("\\orange","\\textcolor{##ffa500}{#1}");x("\\pink","\\textcolor{##ff00af}{#1}");x("\\red","\\textcolor{##df0030}{#1}");x("\\green","\\textcolor{##28ae7b}{#1}");x("\\gray","\\textcolor{gray}{#1}");x("\\purple","\\textcolor{##9d38bd}{#1}");x("\\blueA","\\textcolor{##ccfaff}{#1}");x("\\blueB","\\textcolor{##80f6ff}{#1}");x("\\blueC","\\textcolor{##63d9ea}{#1}");x("\\blueD","\\textcolor{##11accd}{#1}");x("\\blueE","\\textcolor{##0c7f99}{#1}");x("\\tealA","\\textcolor{##94fff5}{#1}");x("\\tealB","\\textcolor{##26edd5}{#1}");x("\\tealC","\\textcolor{##01d1c1}{#1}");x("\\tealD","\\textcolor{##01a995}{#1}");x("\\tealE","\\textcolor{##208170}{#1}");x("\\greenA","\\textcolor{##b6ffb0}{#1}");x("\\greenB","\\textcolor{##8af281}{#1}");x("\\greenC","\\textcolor{##74cf70}{#1}");x("\\greenD","\\textcolor{##1fab54}{#1}");x("\\greenE","\\textcolor{##0d923f}{#1}");x("\\goldA","\\textcolor{##ffd0a9}{#1}");x("\\goldB","\\textcolor{##ffbb71}{#1}");x("\\goldC","\\textcolor{##ff9c39}{#1}");x("\\goldD","\\textcolor{##e07d10}{#1}");x("\\goldE","\\textcolor{##a75a05}{#1}");x("\\redA","\\textcolor{##fca9a9}{#1}");x("\\redB","\\textcolor{##ff8482}{#1}");x("\\redC","\\textcolor{##f9685d}{#1}");x("\\redD","\\textcolor{##e84d39}{#1}");x("\\redE","\\textcolor{##bc2612}{#1}");x("\\maroonA","\\textcolor{##ffbde0}{#1}");x("\\maroonB","\\textcolor{##ff92c6}{#1}");x("\\maroonC","\\textcolor{##ed5fa6}{#1}");x("\\maroonD","\\textcolor{##ca337c}{#1}");x("\\maroonE","\\textcolor{##9e034e}{#1}");x("\\purpleA","\\textcolor{##ddd7ff}{#1}");x("\\purpleB","\\textcolor{##c6b9fc}{#1}");x("\\purpleC","\\textcolor{##aa87ff}{#1}");x("\\purpleD","\\textcolor{##7854ab}{#1}");x("\\purpleE","\\textcolor{##543b78}{#1}");x("\\mintA","\\textcolor{##f5f9e8}{#1}");x("\\mintB","\\textcolor{##edf2df}{#1}");x("\\mintC","\\textcolor{##e0e5cc}{#1}");x("\\grayA","\\textcolor{##f6f7f7}{#1}");x("\\grayB","\\textcolor{##f0f1f2}{#1}");x("\\grayC","\\textcolor{##e3e5e6}{#1}");x("\\grayD","\\textcolor{##d6d8da}{#1}");x("\\grayE","\\textcolor{##babec2}{#1}");x("\\grayF","\\textcolor{##888d93}{#1}");x("\\grayG","\\textcolor{##626569}{#1}");x("\\grayH","\\textcolor{##3b3e40}{#1}");x("\\grayI","\\textcolor{##21242c}{#1}");x("\\kaBlue","\\textcolor{##314453}{#1}");x("\\kaGreen","\\textcolor{##71B307}{#1}");var q_={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},ho=class{constructor(t,n,a){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=n,this.expansionCount=0,this.feed(t),this.macros=new mo(tT,n.macros),this.mode=a,this.stack=[]}feed(t){this.lexer=new Ma(t,this.settings)}switchMode(t){this.mode=t}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(t){this.stack.push(t)}pushTokens(t){this.stack.push(...t)}scanArgument(t){var n,a,i;if(t){if(this.consumeSpaces(),this.future().text!=="[")return null;n=this.popToken();var r=this.consumeArg(["]"]);i=r.tokens,a=r.end}else{var s=this.consumeArg();i=s.tokens,n=s.start,a=s.end}return this.pushToken(new T2("EOF",a.loc)),this.pushTokens(i),new T2("",C2.range(n,a))}consumeSpaces(){for(;;){var t=this.future();if(t.text===" ")this.stack.pop();else break}}consumeArg(t){var n=[],a=t&&t.length>0;a||this.consumeSpaces();var i=this.future(),r,s=0,c=0;do{if(r=this.popToken(),n.push(r),r.text==="{")++s;else if(r.text==="}"){if(--s,s===-1)throw new W("Extra }",r)}else if(r.text==="EOF")throw new W("Unexpected end of input in a macro argument, expected '"+(t&&a?t[c]:"}")+"'",r);if(t&&a)if((s===0||s===1&&t[c]==="{")&&r.text===t[c]){if(++c,c===t.length){n.splice(-c,c);break}}else c=0}while(s!==0||a);return i.text==="{"&&n[n.length-1].text==="}"&&(n.pop(),n.shift()),n.reverse(),{tokens:n,start:i,end:r}}consumeArgs(t,n){if(n){if(n.length!==t+1)throw new W("The length of delimiters doesn't match the number of args!");for(var a=n[0],i=0;ithis.settings.maxExpand)throw new W("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(t){var n=this.popToken(),a=n.text,i=n.noexpand?null:this._getExpansion(a);if(i==null||t&&i.unexpandable){if(t&&i==null&&a[0]==="\\"&&!this.isDefined(a))throw new W("Undefined control sequence: "+a);return this.pushToken(n),!1}this.countExpansion(1);var r=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){r=r.slice();for(var c=r.length-1;c>=0;--c){var o=r[c];if(o.text==="#"){if(c===0)throw new W("Incomplete placeholder at end of macro body",o);if(o=r[--c],o.text==="#")r.splice(c+1,1);else if(/^[1-9]$/.test(o.text))r.splice(c,2,...s[+o.text-1]);else throw new W("Not a valid argument number",o)}}}return this.pushTokens(r),r.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var t=this.stack.pop();return t.treatAsRelax&&(t.text="\\relax"),t}}expandMacro(t){return this.macros.has(t)?this.expandTokens([new T2(t)]):void 0}expandTokens(t){var n=[],a=this.stack.length;for(this.pushTokens(t);this.stack.length>a;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),n.push(i)}return this.countExpansion(n.length),n}expandMacroAsText(t){var n=this.expandMacro(t);return n&&n.map(a=>a.text).join("")}_getExpansion(t){var n=this.macros.get(t);if(n==null)return n;if(t.length===1){var a=this.lexer.catcodes[t];if(a!=null&&a!==13)return}var i=typeof n=="function"?n(this):n;if(typeof i=="string"){var r=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(r+1));)++r;for(var c=new Ma(i,this.settings),o=[],l=c.lex();l.text!=="EOF";)o.push(l),l=c.lex();o.reverse();var p={tokens:o,numArgs:r};return p}return i}isDefined(t){return this.macros.has(t)||Object.prototype.hasOwnProperty.call(i4,t)||Object.prototype.hasOwnProperty.call(i0.math,t)||Object.prototype.hasOwnProperty.call(i0.text,t)||Object.prototype.hasOwnProperty.call(q_,t)}isExpandable(t){var n=this.macros.get(t);return n!=null?typeof n=="string"||typeof n=="function"||!n.unexpandable:Object.prototype.hasOwnProperty.call(i4,t)&&!i4[t].primitive}},Xy=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,_a=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),Oc={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},Ky={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},$a=class e{constructor(t,n){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new ho(t,n,this.mode),this.settings=n,this.leftrightDepth=0,this.nextToken=null}expect(t,n){if(n===void 0&&(n=!0),this.fetch().text!==t)throw new W("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());n&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(t){this.mode=t,this.gullet.switchMode(t)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var t=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),t}finally{this.gullet.endGroups()}}subparse(t){var n=this.nextToken;this.consume(),this.gullet.pushToken(new T2("}")),this.gullet.pushTokens(t);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=n,a}parseExpression(t,n){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(e.endOfExpression.has(i.text)||n&&i.text===n||t&&i4[i.text]&&i4[i.text].infix)break;var r=this.parseAtom(n);if(r){if(r.type==="internal")continue}else break;a.push(r)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(t){for(var n=-1,a,i=0;i=128)this.settings.strict&&(Yy(n.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+n[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+n[0]+'"'+(" ("+n.charCodeAt(0)+")"),t)),s={type:"textord",mode:"text",loc:C2.range(t),text:n};else return null;if(this.consume(),r)for(var p=0;p(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("path",{d:"M7.99986 14.0887C11.3626 14.0887 14.0886 11.3627 14.0886 7.99998C14.0886 4.63727 11.3626 1.91125 7.99986 1.91125C4.63715 1.91125 1.91113 4.63727 1.91113 7.99998C1.91113 11.3627 4.63715 14.0887 7.99986 14.0887Z",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M2.34619 8H13.6538",stroke:"currentColor",strokeLinecap:"square"}),(0,E.jsx)("path",{d:"M7.99976 14.0889C9.23509 14.0889 10.1743 11.3629 10.1743 8.00006C10.1743 4.63739 9.23509 1.91138 7.99976 1.91138",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M7.99973 14.0889C6.76445 14.0889 5.8252 11.3629 5.8252 8.00006C5.8252 4.63739 6.76445 1.91138 7.99973 1.91138",stroke:"currentColor"})]}),vq=({size:e=14,className:t,strokeWidth:n})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("path",{d:"M4.67398 4.25061L1.36094 7.86484C1.29085 7.9413 1.29085 8.05866 1.36094 8.13513L4.67398 11.7494",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M11.3262 4.25061L14.6392 7.86484C14.7093 7.9413 14.7093 8.05866 14.6392 8.13513L11.3262 11.7494",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M9.56222 3.62573L6.43774 12.3743",stroke:"currentColor"})]});var yq=({size:e=16,className:t,strokeWidth:n})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("path",{d:"M1.50439 3.11059C1.50439 2.55831 1.95211 2.1106 2.50439 2.1106H5.43389C5.67773 2.1106 5.91318 2.19969 6.09593 2.36113L7.71649 3.79265C7.89924 3.95409 8.1347 4.04319 8.3785 4.04319H13.4958C14.0481 4.04319 14.4958 4.4909 14.4958 5.04319V12.8894C14.4958 13.4417 14.0481 13.8894 13.4958 13.8894H2.50439C1.95211 13.8894 1.50439 13.4417 1.50439 12.8894V4.04319V3.11059Z",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M3.63501 7.66614H12.3647",stroke:"currentColor"})]});var _q=1.3;var wq=({size:e=16,className:t,strokeWidth:n})=>(0,E.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,E.jsx)("path",{d:"M2.25 8.5L5.49732 11.7473C5.90519 12.1552 6.57263 12.1344 6.95426 11.7018L13.75 4",stroke:"currentColor"})}),xq=e=>(0,E.jsx)(wq,{...e,strokeWidth:1});var kq=({size:e=14,className:t,strokeWidth:n})=>(0,E.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,E.jsx)("path",{d:"M4 6L7.29289 9.29289C7.68342 9.68342 8.31658 9.68342 8.70711 9.29289L12 6",stroke:"currentColor"})}),zq=e=>(0,E.jsx)(kq,{...e,strokeWidth:1});var Cq=({size:e=14,className:t,strokeWidth:n})=>(0,E.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,E.jsx)("path",{d:"M12 10L8.70711 6.70711C8.31658 6.31658 7.68342 6.31658 7.29289 6.70711L4 10",stroke:"currentColor"})}),Aq=e=>(0,E.jsx)(Cq,{...e,strokeWidth:1});var Mq=({size:e=16,className:t,strokeWidth:n})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("path",{d:"M2.5 2.5L13.5 13.5",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M13.5 2.5L2.5 13.5",stroke:"currentColor"})]}),$q=e=>(0,E.jsx)(Mq,{...e,strokeWidth:1});var Lq=({size:e=16,className:t,strokeWidth:n})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("rect",{x:"1.52075",y:"4.07373",width:"10.3932",height:"10.3932",rx:"2",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M11.9792 1.53296C13.36 1.53296 14.4792 2.65225 14.4792 4.03296V9.42847C14.4792 10.3756 13.9521 11.1987 13.1755 11.6228V10.3298C13.3652 10.0787 13.4792 9.7674 13.4792 9.42847V4.03296C13.4792 3.20453 12.8077 2.53296 11.9792 2.53296H6.58374C6.27966 2.53301 5.99684 2.6235 5.7605 2.77905H4.42358C4.85652 2.03463 5.66056 1.53304 6.58374 1.53296H11.9792Z",fill:"currentColor"})]}),Sq=e=>(0,E.jsx)(Lq,{...e,strokeWidth:1});var Zq=({size:e=16,className:t,strokeWidth:n})=>(0,E.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,E.jsx)("path",{d:"M12.596 12.596C11.687 13.5049 10.5288 14.1239 9.26798 14.3747C8.00716 14.6255 6.70028 14.4968 5.51261 14.0048C4.32494 13.5129 3.30981 12.6798 2.59557 11.611C1.88134 10.5421 1.50008 9.2855 1.5 7.99998C1.50008 6.71446 1.88134 5.45783 2.59557 4.38898C3.30981 3.32013 4.32494 2.48707 5.51261 1.99513C6.70028 1.50319 8.00716 1.37447 9.26798 1.62524C10.5288 1.87602 11.687 2.49502 12.596 3.40398",stroke:"currentColor"})}),Eq=e=>(0,E.jsx)(Zq,{...e,strokeWidth:1});var Fq=({size:e=16,className:t})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"M2 15H1V1H2V15Z",fill:"currentColor"}),(0,E.jsx)("path",{d:"M12.3535 7.64645C12.5487 7.84171 12.5487 8.15829 12.3535 8.35355L9.85352 10.8535L9.14648 10.1465L10.793 8.5H3.5V7.5H10.793L9.14648 5.85352L9.85352 5.14648L12.3535 7.64645Z",fill:"currentColor"}),(0,E.jsx)("path",{d:"M15 15H14V1H15V15Z",fill:"currentColor"})]}),jq=e=>(0,E.jsx)(Fq,{...e});var Hq=({size:e=16,className:t})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"M10.9999 8C10.9999 6.89543 10.1046 6 9 6H4.5V5H9C10.6568 5 11.9999 6.34315 11.9999 8C11.9999 9.65685 10.6568 11 9 11H6.20703L6.85351 11.6465L6.14648 12.3535L4.64652 10.8536C4.45126 10.6583 4.45126 10.3417 4.64652 10.1464L6.14648 8.64648L6.85351 9.35352L6.20703 10H9C10.1046 10 10.9999 9.10457 10.9999 8Z",fill:"currentColor"}),(0,E.jsx)("path",{d:"M2 15H1V1H2V15Z",fill:"currentColor"}),(0,E.jsx)("path",{d:"M15 15H14V1H15V15Z",fill:"currentColor"})]}),Nq=e=>(0,E.jsx)(Hq,{...e});var Wa=(0,q.createContext)(void 0);function tk({children:e,className:t}){let n=(0,q.useContext)(Wa)===!0&&typeof e=="string";return(0,E.jsx)("span",{className:f0(D3.text,t),"data-shimmer-text":n?e:void 0,children:n?null:e})}var nk=(0,q.memo)(function({children:t,active:n=!1,className:a,contentClassName:i}){if((0,q.useContext)(Wa)!==void 0)return(0,E.jsx)(tk,{className:a,children:t});let r=typeof t=="string"?(0,E.jsx)(tk,{children:t}):t;return(0,E.jsxs)("span",{className:f0(D3.root,a),"data-shimmer":n||void 0,children:[(0,E.jsx)(Wa.Provider,{value:!1,children:(0,E.jsx)("span",{className:f0(D3.content,i),children:r})}),n&&(0,E.jsx)("span",{className:D3.decoration,"aria-hidden":"true",inert:"",children:(0,E.jsx)("span",{className:D3.sweep,children:(0,E.jsx)(Wa.Provider,{value:!0,children:(0,E.jsx)("span",{className:f0(D3.content,D3.highlight,i),children:r})})})})]})}),x31=(0,q.memo)(function({icon:t,title:n,open:a,expandable:i,onToggle:r,running:s=!1,expandOnRowClick:c=!1,previewChevron:o=i,keepContentWhenOpen:l=!1,collapsedContent:p,headerAccessory:u,children:m,className:d,rowClassName:f,contentClassName:w,contentLayoutClassName:k,leadingClassName:v,chevronClassName:b,titleClassName:_}){let z=i&&c,L=H=>{H.stopPropagation(),r()},C=H=>{!z||H.key!=="Enter"&&H.key!==" "||(H.preventDefault(),r())},j=o?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("span",{className:Qe.iconIdle,children:t}),(0,E.jsx)(zq,{className:f0(b,Qe.chevronHover)})]}):t,N=a?(0,E.jsx)(Aq,{className:b}):j;return(0,E.jsxs)("div",{className:f0(Qe.root,d),"data-open":a||void 0,children:[(0,E.jsxs)("div",{className:Qe.header,"data-disclosure-header":!0,"data-has-accessory":!!u||void 0,children:[(0,E.jsxs)("div",{className:f0(Qe.row,f),"data-disclosure-row":!0,"data-expandable":z||void 0,role:z?"button":void 0,tabIndex:z?0:void 0,"aria-expanded":z?a:void 0,onClick:z?r:void 0,onKeyDown:z?C:void 0,children:[i&&!z?(0,E.jsx)("button",{type:"button",className:f0(Qe.leading,v),"aria-label":n,"aria-expanded":a,onClick:L,children:N}):(0,E.jsx)("span",{className:f0(Qe.leading,v),children:N}),(0,E.jsxs)(nk,{active:s,className:w,contentClassName:k,children:[(0,E.jsx)(nk,{className:f0(Qe.title,_),children:n}),(l||!a)&&p]})]}),u]}),a&&m]})}),k31=(0,q.forwardRef)(function({variant:t="ghost",size:n="md",icon:a,className:i,children:r,...s},c){return(0,E.jsxs)("button",{ref:c,type:"button",className:f0(_6.button,_6[t],_6[n],i),...s,children:[a!=null&&(0,E.jsx)("span",{className:_6.icon,children:a}),r]})});var z31=(0,q.forwardRef)(function({icon:t,className:n,...a},i){return(0,E.jsxs)("span",{className:f0(ln.wrap,n),children:[t!=null&&(0,E.jsx)("span",{className:ln.icon,children:t}),(0,E.jsx)("input",{ref:i,className:ln.input,...a})]})});function ak(e){let t=document.documentElement,n=Number.parseFloat(getComputedStyle(t).getPropertyValue("--dsh-frame-top-clearance"));return Number.isNaN(n)?e:Math.max(e,(t.hasAttribute("data-fullscreen")?0:n)+20)}function Tq(e){let t=(0,q.useRef)(null),n=(0,q.useRef)(e);n.current=e;let a=(0,q.useCallback)(()=>{t.current!==null&&(clearTimeout(t.current),t.current=null)},[]),i=(0,q.useCallback)(()=>{a(),t.current=setTimeout(()=>{t.current=null,n.current()},200)},[a]);return(0,q.useEffect)(()=>a,[a]),{arm:i,cancel:a}}function Vq({keys:e,variant:t="plain",className:n}){return(0,E.jsx)("span",{className:f0(N5.keys,t==="tooltip"&&N5.tooltip,t==="tooltip"&&e.includes("+")&&N5.joined,n),children:e.map((a,i)=>(0,E.jsx)("kbd",{className:a==="+"?N5.separator:N5.key,children:a},i))})}var C31=(0,q.forwardRef)(function({compact:t=!1,className:n,style:a,children:i,...r},s){let c=(0,q.useId)(),o=(0,q.useRef)(null);(0,q.useLayoutEffect)(()=>{document.body.appendChild(o.current)},[]);let l={"--dsh-menu-anchor":"--dsh-menu-".concat(c.replaceAll(":",""))};return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsxs)("div",{...r,ref:s,"data-menu-material":"translucent",className:f0(T5.surface,t&&T5.compact,n),style:{...a,...l},children:[(0,E.jsx)("div",{"aria-hidden":"true",className:T5.material}),i]}),(0,v7.createPortal)((0,E.jsx)("div",{ref:o,"aria-hidden":"true","data-menu-backing":"",className:f0(T5.backing,t&&T5.compact),style:{...l,visibility:a?.visibility}}),document.body)]})});function qq(e,t,n,a){(0,q.useEffect)(()=>{if(!t)return;let i=r=>{r.target instanceof Node&&e.current?.contains(r.target)!==!0&&a?.current?.contains(r.target)!==!0&&n(!1)};return document.addEventListener("pointerdown",i),()=>{document.removeEventListener("pointerdown",i)}},[e,t,n,a])}async function _k(e){if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{return!1}let t=typeof document.execCommand=="function"?document.execCommand.bind(document):void 0;if(t===void 0)return!1;let n=document.createElement("textarea");n.value=e,n.setAttribute("readonly",""),n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.select();try{return t("copy")}catch{return!1}finally{n.remove()}}var Iq=(0,q.createContext)(null);var ik=100,rk=420,sk=24,Bq=300,K4=8,A2=8;function Pq({anchor:e,content:t,openDelayMs:n=500,disabled:a=!1,grouped:i=!1,copyText:r,copyLabel:s,copiedLabel:c,variant:o="compact",widthAnchorRef:l,inline:p=!1}){let u=(0,q.useRef)(null),m=(0,q.useRef)(null),d=(0,q.useRef)(null),f=(0,q.useRef)(null),w=(0,q.useRef)(null),k=(0,q.useRef)(0),v=(0,q.useRef)(!1),b=(0,q.useRef)(!0),[_,z]=(0,q.useState)("closed"),L=_!=="closed",C=_==="closing",[j,N]=(0,q.useState)(null),H=j!==null,[S,R]=(0,q.useState)(!1),B=(0,q.useContext)(Iq),I=i?B:null,[e1]=(0,q.useState)(()=>Symbol("hover-card")),G=(0,q.useCallback)(()=>{f.current!==null&&(clearTimeout(f.current),f.current=null),w.current=null,R(!1)},[]),X=(0,q.useCallback)(()=>{k.current+=1,G(),z(x1=>o==="preview"&&x1!=="closed"?"closing":"closed")},[G,o]),{arm:o1,cancel:w1}=Tq(X),M1=(0,q.useCallback)(()=>{d.current!==null&&(clearTimeout(d.current),d.current=null)},[]),M=(0,q.useCallback)(()=>{M1(),w1(),k.current+=1,G(),z("closed")},[M1,w1,G]),a1=L&&H;(0,q.useLayoutEffect)(()=>{if(!(!a1||I===null))return I.shown(e1,M,m.current),()=>{I.release(e1)}},[I,e1,a1,M]),(0,q.useEffect)(()=>{if(!C)return;let x1=setTimeout(()=>{z("closed")},ik);return()=>{clearTimeout(x1)}},[C]),(0,q.useEffect)(()=>{a&&(M1(),w1(),X())},[a,w1,X]),(0,q.useEffect)(()=>(b.current=!0,()=>{b.current=!1,k.current+=1,M1(),f.current!==null&&(clearTimeout(f.current),f.current=null)}),[]),(0,q.useEffect)(()=>{if(!L||o!=="preview"&&!p)return;let x1=D1=>{D1.key==="Escape"&&(p&&D1.stopPropagation(),M1(),w1(),X())};return window.addEventListener("keydown",x1,p),()=>{window.removeEventListener("keydown",x1,p)}},[L,o,p,w1,X]),(0,q.useLayoutEffect)(()=>{if(!L){N(null);return}let x1=()=>{let E1=u.current;if(E1===null)return;let G1=E1.getBoundingClientRect(),h0=m.current?.offsetHeight??0;if(o==="preview"){let S0=l?.current?.getBoundingClientRect()??G1,g2=Math.max(0,Math.min(S0.width-sk*2,window.innerWidth-A2*2)),M2=ak(A2),qe=Math.max(M2,G1.bottom+K4),be=Math.max(0,G1.top-K4-M2),te=Math.max(0,window.innerHeight-qe-A2),ne=be>=Math.min(rk,te),fe=Math.min(rk,ne?be:te);N({left:Math.max(A2,Math.min(S0.left+sk,window.innerWidth-g2-A2)),top:ne?Math.max(M2,G1.top-Math.min(h0,fe)-K4):qe,width:g2,maxHeight:fe});return}if(p){let S0=Math.max(h0,m.current?.scrollHeight??0),g2=Math.max(0,Math.min(Bq,window.innerWidth-A2*2)),M2=ak(A2),qe=Math.max(M2,G1.bottom+K4),be=Math.max(0,G1.top-K4-M2),te=Math.max(0,window.innerHeight-qe-A2),ne=S0>te&&be>te,fe=ne?be:te;N({left:Math.max(A2,Math.min(G1.left,window.innerWidth-g2-A2)),top:ne?G1.top-K4-Math.min(S0,fe):qe,width:g2,maxHeight:fe});return}let h2=G1.top+h0>window.innerHeight-A2?window.innerHeight-h0-A2:G1.top;N({left:G1.right+K4,top:h2})};x1();let D1=(o==="preview"||p)&&typeof ResizeObserver<"u"?new ResizeObserver(x1):null;for(let E1 of[m.current,u.current,l?.current])E1!=null&&D1?.observe(E1);return window.addEventListener("scroll",x1,!0),window.addEventListener("resize",x1),()=>{D1?.disconnect(),window.removeEventListener("scroll",x1,!0),window.removeEventListener("resize",x1)}},[L,o,l,H,p]),(0,q.useLayoutEffect)(()=>{if(!L||j===null||o==="preview"||p)return;let x1=m.current?.offsetHeight??0;j.top+x1>window.innerHeight-A2&&N({left:j.left,top:window.innerHeight-x1-A2})},[L,j,o,p]);let l1=async x1=>{if(S||v.current)return;v.current=!0;let D1=k.current,E1=await _k(x1);v.current=!1;let G1=m.current;if(!E1||!b.current||D1!==k.current||G1===null)return;let h0=G1.offsetHeight;w.current=h0>0?h0:null,R(!0),f.current=setTimeout(G,1e3)},Z=r!==void 0,P1=x1=>{m.current?.contains(x1.target)||(M1(),w1(),X())},C0=L&&j!==null&&(0,E.jsx)("div",{ref:m,className:f0(Ae.card,o==="preview"&&Ae.preview,p&&Ae.media,Z&&Ae.copyable,S&&Ae.feedback),"data-closing":C||void 0,style:{...j,minHeight:S&&w.current!==null?w.current:void 0,"--dsh-hover-preview-fade":"".concat(ik,"ms")},role:Z?"button":void 0,tabIndex:Z?0:void 0,"aria-label":Z?"".concat(s,": ").concat(r):void 0,onClick:Z?x1=>{let D1=window.getSelection();if(D1!==null&&!D1.isCollapsed){for(let E1=0;E1{x1.key!=="Enter"&&x1.key!==" "||(x1.preventDefault(),l1(r))}:void 0,children:S?(0,E.jsx)("span",{className:Ae.copied,"aria-hidden":"true",children:c}):t});return(0,E.jsxs)("span",{ref:u,className:f0(Ae.root,p&&Ae.inline),onFocus:p?x1=>{!a&&x1.target.matches(":focus-visible")&&(w1(),z("open"))}:void 0,onBlur:p?x1=>{x1.currentTarget.contains(x1.relatedTarget)||(M1(),w1(),X())}:void 0,onPointerEnter:x1=>{if(!(a||p&&x1.pointerType==="touch")){if(w1(),L){z("open");return}M1(),I?.isWarm()?z("open"):d.current=setTimeout(()=>{z("open")},n)}},onPointerLeave:()=>{M1(),L&&o1()},onPointerDownCapture:P1,onClickCapture:P1,children:[e,L&&Z&&(0,E.jsx)("span",{className:Ae.status,role:"status",children:S?c:""}),C0!==!1&&(0,v7.createPortal)(C0,document.body)]})}var A31=Object.freeze({angular:'',c:'',clojure:'',cmake:'',cpp:'',csharp:'',css:'CSS',dart:'',docker:'',elixir:'',env:'.ENV',erlang:'',flutter:'',git:'',go:'',graphql:'',haskell:'',ini:'INI',java:'',javascript:'',json:'',kotlin:'',lua:'',makefile:'',node:'',"objective-c":'OC',perl:'',php:'',powershell:'',protobuf:'',python:'',r:'',react:'',ruby:'',rust:'',scala:'',shell:'',solidity:'',sql:'',svelte:'',swift:'',toml:'',typescript:'',vue:'',wasm:'',xml:'',yaml:'\n\n\n\n\n',zig:''});var Rq=new Set(["angular","c","clojure","cmake","cpp","csharp","css","dart","docker","elixir","env","erlang","flutter","git","go","graphql","haskell","ini","java","javascript","json","kotlin","lua","makefile","node","objective-c","perl","php","powershell","protobuf","python","r","react","ruby","rust","scala","shell","solidity","sql","svelte","swift","toml","typescript","vue","wasm","xml","yaml","zig"]),Dq={".bash_profile":"shell",".bashrc":"shell",".env":"env",".gitattributes":"git",".gitconfig":"git",".gitignore":"git",".gitmodules":"git",".mailmap":"git",".profile":"shell",".zprofile":"shell",".zshrc":"shell",bsdmakefile:"makefile","cmakelists.txt":"cmake",commit_editmsg:"git","compose.yaml":"docker","compose.yml":"docker","docker-compose.yaml":"docker","docker-compose.yml":"docker",dockerfile:"docker",gemfile:"ruby",gnumakefile:"makefile",guardfile:"ruby",makefile:"makefile","npm-shrinkwrap.json":"node","package-lock.json":"node","package.json":"node",podfile:"ruby",rakefile:"ruby"},Gq=[["dockerfile.","docker"],[".env.","env"]],Oq=[[".component.ts","angular"],[".component.html","angular"],[".directive.ts","angular"],[".service.ts","angular"],[".module.ts","angular"],[".pipe.ts","angular"],[".guard.ts","angular"],[".interceptor.ts","angular"],[".dockerfile","docker"]],Wq={bash:"shell",c:"c","c++":"cpp",cc:"cpp",cfg:"ini",cjs:"javascript",clj:"clojure",cljc:"clojure",cljs:"clojure",cmake:"cmake",cpp:"cpp",cs:"csharp",csh:"shell",css:"css",csx:"csharp",cts:"typescript",cxx:"cpp",dart:"dart",dtd:"xml",edn:"clojure",env:"env",erl:"erlang",es6:"javascript",escript:"erlang",ex:"elixir",exs:"elixir",fish:"shell",gemspec:"ruby",go:"go",gql:"graphql",graphql:"graphql",h:"c","h++":"cpp",hh:"cpp",hpp:"cpp",hrl:"erlang",hs:"haskell",hxx:"cpp",ini:"ini",ipp:"cpp",java:"java",js:"javascript",json:"json",json5:"json",jsonc:"json",jsx:"react",ksh:"shell",kt:"kotlin",kts:"kotlin",lhs:"haskell",lua:"lua",m:"objective-c",mak:"makefile",mjs:"javascript",mk:"makefile",mm:"objective-c",mts:"typescript",node:"node",pch:"objective-c",php:"php",php3:"php",php4:"php",php5:"php",phps:"php",phtml:"php",pl:"perl",plist:"xml",pm:"perl",pod:"perl",proto:"protobuf",ps1:"powershell",psd1:"powershell",psm1:"powershell",py:"python",pyi:"python",pyw:"python",pyx:"python",r:"r",rake:"ruby",rb:"ruby",rmd:"r",rs:"rust",sc:"scala",scala:"scala",sh:"shell",sol:"solidity",sql:"sql",svelte:"svelte",swift:"swift",t:"perl",tcsh:"shell",toml:"toml",tpp:"cpp",ts:"typescript",tsx:"react",vue:"vue",wasm:"wasm",wast:"wasm",wat:"wasm",xml:"xml",xsd:"xml",xsl:"xml",xslt:"xml",yaml:"yaml",yml:"yaml",zig:"zig",zsh:"shell"},Uq=new Set(["ts","tsx","js","jsx","mjs","cjs","cts","mts","css","scss","sass","less","html","htm","vue","svelte","astro","json","jsonc","json5","yaml","yml","toml","xml","ini","env","sh","bash","zsh","fish","ps1","bat","cmd","py","pyi","rb","rs","go","java","kt","kts","c","cc","cpp","cxx","h","hh","hpp","cs","php","swift","sql","proto","graphql","gql","lua","r","pl","scala","clj","cljs","ex","exs","erl","hs","dart"]);function Xq(e){return e.slice(Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"))+1)}function Kq(e){return Rq.has(e)}function Yq(e){return Uq.has(e.toLowerCase())}function Qq(e,t,n){let a=Dq[e];if(a!==void 0)return a;for(let[i,r]of Gq)if(e.startsWith(i))return r;for(let[i,r]of Oq)if(e.endsWith(i))return r;return t==="dart"&&n!==void 0&&Object.entries(n.files).find(([i])=>Xq(i).toLowerCase()==="pubspec.yaml")?.[1]?.includes("flutter:")===!0?"flutter":Wq[t]??null}var Jq={scss:"code",sass:"code",less:"code",vue:"code",svelte:"code",astro:"code",bat:"code",cmd:"code",csv:"excel",tsv:"excel",html:"html",htm:"html",png:"image",jpg:"image",jpeg:"image",gif:"image",svg:"image",webp:"image",avif:"image",bmp:"image",ico:"image",tif:"image",tiff:"image",heic:"image",heif:"image",md:"markdown",mdx:"markdown",markdown:"markdown",pdf:"pdf",ppt:"ppt",pptx:"ppt",key:"ppt",mp4:"video",mov:"video",m4v:"video",webm:"video",mkv:"video",avi:"video",mpg:"video",mpeg:"video",doc:"word",docx:"word",rtf:"word",odt:"word",pages:"word",xls:"excel",xlsx:"excel",xlsm:"excel",xlsb:"excel",xlt:"excel",xltx:"excel",xltm:"excel",ods:"excel",ots:"excel",fods:"excel",numbers:"excel"},eI={changelog:"markdown",contributing:"markdown",readme:"markdown"};function wk(e){return e.slice(Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"))+1)}function xk(e){let t=wk(e),n=t.lastIndexOf(".");return n<0?"":t.slice(n+1)}function kk(e,t){let n=wk(e).toLowerCase(),a=xk(n).toLowerCase();return Qq(n,a,t)??eI[n]??Jq[a]??"other"}var tI={"github.com":pn,"github.io":pn,"raw.githubusercontent.com":pn,"gitlab.com":ph,"npmjs.com":bh,"pypi.org":fh,"stackoverflow.com":kh,"developer.mozilla.org":hh,"wikipedia.org":$h,"news.ycombinator.com":Lh,"youtube.com":Jr,"youtu.be":Jr,"x.com":Qr,"twitter.com":Qr,"bilibili.com":rh,"zhihu.com":Sh,"juejin.cn":dh,"csdn.net":sh,"google.com":uh,"baidu.com":ih,"duckduckgo.com":ch,"tiktok.com":Ch,"netflix.com":gh,"spotify.com":xh,"facebook.com":lh,"instagram.com":mh,"reddit.com":_h,"telegram.org":Kr,"t.me":Kr,"weixin.qq.com":Mh,"qq.com":vh,"whatsapp.com":Yr,"wa.me":Yr,"weibo.com":wh,"taobao.com":zh,"aliexpress.com":nh,"ebay.com":oh,"quora.com":yh,"v2ex.com":Ah,"apple.com":ah};function nI(e){let t;try{let i=new URL(e);if(i.protocol!=="http:"&&i.protocol!=="https:")return;t=i.hostname.toLowerCase()}catch{return}let n,a=0;for(let[i,r]of Object.entries(tI))(t===i||t.endsWith(".".concat(i)))&&i.length>a&&(n=r,a=i.length);return n}function aI({href:e,size:t,className:n}){let a=e===void 0?void 0:nI(e);if(a!==void 0)return(0,E.jsx)("svg",{width:t,height:t,className:n,viewBox:"-2 -2 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:(0,E.jsx)("path",{d:a.path,fill:"currentColor"})})}function Ro(e){let t=kk(e),n=xk(e);if(Kq(t))return Yq(n)?"code":"other";if(n==="")return"other";switch(t){case"code":case"html":return"code";case"image":return"image";case"excel":case"pdf":case"ppt":case"word":return"document";case"markdown":case"other":case"video":return"other";default:return zk(t)}}var iI=({size:e,className:t,strokeWidth:n})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("path",{d:"M12.4326 2.38086H3.56763C2.46306 2.38086 1.56763 3.27629 1.56763 4.38086V11.6192C1.56763 12.7237 2.46306 13.6192 3.56763 13.6192H12.4326C13.5372 13.6192 14.4326 12.7237 14.4326 11.6192V4.38086C14.4326 3.27629 13.5372 2.38086 12.4326 2.38086Z",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M10.536 7.03286C11.1948 7.03286 11.7288 6.49884 11.7288 5.8401C11.7288 5.18136 11.1948 4.64734 10.536 4.64734C9.87728 4.64734 9.34326 5.18136 9.34326 5.8401C9.34326 6.49884 9.87728 7.03286 10.536 7.03286Z",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M1.5979 9.28409L4.17738 7.37514C4.57462 7.08117 5.12701 7.12145 5.47741 7.46992L8.3322 10.309C8.6572 10.6323 9.1605 10.6931 9.5532 10.4566L10.8859 9.65399C11.2531 9.43289 11.7205 9.47039 12.0477 9.74729L14.2823 11.6379",stroke:"currentColor"})]}),rI=({size:e,className:t,strokeWidth:n})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("path",{d:"M3.51919 14.5069H12.4807C13.0679 14.5069 13.5438 14.031 13.5438 13.4438V5.97499C13.5438 5.68818 13.428 5.41352 13.2226 5.21341L9.71251 1.79459C9.51402 1.60124 9.24781 1.49304 8.97075 1.49304H3.51919C2.93204 1.49304 2.45605 1.96902 2.45605 2.55618V13.4438C2.45605 14.031 2.93203 14.5069 3.51919 14.5069Z",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M8.90454 1.6095V4.87091C8.90454 5.45806 9.38051 5.93405 9.96768 5.93405H13.4953",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M4.31152 8.7561H7.83046",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M4.31152 11.3651H9.36598",stroke:"currentColor"})]}),sI=({size:e,className:t,strokeWidth:n})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("path",{d:"M3.75275 14.271H12.2473C12.7749 14.271 13.2027 13.8433 13.2027 13.3156V5.91732C13.2027 5.65958 13.0985 5.41276 12.9139 5.23293L9.59477 2.00011C9.4164 1.82636 9.17717 1.72913 8.9282 1.72913H3.75275C3.22511 1.72913 2.79736 2.15686 2.79736 2.68451V13.3156C2.79736 13.8433 3.22511 14.271 3.75275 14.271Z",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M8.84888 1.83838V4.94133C8.84888 5.46896 9.2766 5.89671 9.80426 5.89671H13.157",stroke:"currentColor"})]});function zk(e){throw new Error("unreachable link icon kind: ".concat(String(e)))}function cI({kind:e,href:t,size:n=14,className:a,strokeWidth:i}){switch(e){case"url":return aI({href:t,size:n,className:a})??(0,E.jsx)(fq,{size:n,className:a,strokeWidth:i});case"folder":return(0,E.jsx)(yq,{size:n,className:a,strokeWidth:i});case"code":return(0,E.jsx)(vq,{size:n,className:a,strokeWidth:i});case"image":return(0,E.jsx)(iI,{size:n,className:a,strokeWidth:i});case"document":return(0,E.jsx)(rI,{size:n,className:a,strokeWidth:i});case"other":return(0,E.jsx)(sI,{size:n,className:a,strokeWidth:i});default:return zk(e)}}function Xo(e){return(0,E.jsx)(cI,{...e,strokeWidth:_q})}var ck={pointer:"pointer",keyboard:"keyboard"},oI="data-input-modality",lI=new Set(["Tab","Home","End","PageUp","PageDown"]),Do=!1,f7=!1,Y4;function Po(){document.documentElement.setAttribute(oI,f7?ck.pointer:ck.keyboard)}function pI(){return Do}typeof window<"u"&&(window.addEventListener("pointerdown",()=>{Do=!0,f7=!0,Y4=void 0,Po()},!0),window.addEventListener("keydown",e=>{if(Do=!1,e.isComposing){Y4=void 0;return}Y4=e.composedPath()[0],!(!lI.has(e.key)&&!e.key.startsWith("Arrow"))&&(f7=!1,Po())},!0),window.addEventListener("focusin",e=>{Y4===void 0||e.composedPath()[0]===Y4||(Y4=void 0,f7&&(f7=!1,Po()))},!0),window.addEventListener("blur",()=>{Y4=void 0}));var ok=(0,q.createContext)(null);function lk({label:e,shortcutKeys:t,side:n="right",align:a="center",delayMs:i=0,focusDelayMs:r=0,gap:s=8,disabled:c=!1,portal:o=!1,maxWidth:l,openOnClick:p=!1,children:u}){let m=(0,q.useId)(),[d,f]=(0,q.useState)(!1),w=(0,q.useRef)(null),k=u.ref,v=(0,q.useCallback)(a1=>{w.current=a1,typeof k=="function"?k(a1):k!=null&&(k.current=a1)},[k]),[b,_]=(0,q.useState)(null),z=(0,q.useRef)(null),L=b===null?null:typeof e=="function"?e():e,C=b===null?0:n==="right"?b.top+(b.bottom-b.top)/2:n==="top"?b.top-s:b.bottom+s,j=(0,q.useRef)(null),N=(0,q.useRef)({hover:!1,focus:!1}),H=(0,q.useContext)(ok),[S,R]=(0,q.useState)(!1),B=(0,q.useCallback)(a1=>{H?.(a1)},[H]),I=b!==null&&!c;(0,q.useEffect)(()=>{let a1=z.current;if(b===null||!I||S||a1===null)return;let l1=12,Z,P1=n,C0=()=>{if(Z===void 0)return;let{inlineSize:D1,blockSize:E1}=Z,G1=n==="right"?0:a==="end"?D1:D1/2,h0=Math.max(l1,Math.min(b.x-G1,window.innerWidth-l1-D1)),h2=b.bottom+s+E1<=window.innerHeight-l1,S0=b.top-s-E1>=l1;P1==="bottom"&&!h2&&S0?P1="top":P1==="top"&&!S0&&h2&&(P1="bottom"),a1.style.left="".concat(h0+G1,"px"),a1.style.top="".concat(P1==="right"?(b.top+b.bottom)/2:P1==="top"?b.top-s:b.bottom+s,"px"),a1.dataset.side=P1,a1.style.visibility="visible"},x1=new ResizeObserver(D1=>{Z=D1[0]?.borderBoxSize[0],C0()});return x1.observe(a1,{box:"border-box"}),window.addEventListener("resize",C0),()=>{x1.disconnect(),window.removeEventListener("resize",C0)}},[a,s,b,n,S,I]),(0,q.useEffect)(()=>(B(I),()=>{B(!1)}),[B,I]);let e1=(0,q.useCallback)(()=>{j.current!==null&&(clearTimeout(j.current),j.current=null)},[]);(0,q.useEffect)(()=>(d&&(c||!p)&&f(!1),c&&(e1(),N.current={hover:!1,focus:!1},_(null)),e1),[e1,c,p,d]);let G=()=>{if(c)return;let a1=w.current;if(a1===null)return;let l1=a1.getBoundingClientRect();_({x:n==="right"?l1.right+10:a==="end"?l1.right:l1.left+l1.width/2,top:l1.top,bottom:l1.bottom}),B(!0)},X=a1=>{if(e1(),a1<=0){G();return}j.current=setTimeout(()=>{j.current=null,G()},a1)},o1=(0,q.useCallback)(()=>{f(!1),_(null),B(!1)},[B]),w1=()=>{e1(),!N.current.hover&&!N.current.focus&&!d&&o1()},M1=(0,q.useCallback)(()=>{e1(),N.current={hover:!1,focus:!1},o1()},[e1,o1]);qq(w,p&&I,M1,z),(0,q.useEffect)(()=>{if(!p||!I)return;let a1=l1=>{l1.key!=="Escape"&&l1.key!=="Tab"||(l1.key==="Escape"&&(l1.preventDefault(),l1.stopPropagation()),M1())};return document.addEventListener("keydown",a1,!0),()=>{document.removeEventListener("keydown",a1,!0)}},[M1,p,I]);let M=I&&!S&&(0,E.jsxs)("span",{ref:z,id:p?m:void 0,className:es.bubble,"data-side":n,"data-portal":o||void 0,"data-pinned":d||void 0,"data-align":a,"data-has-shortcut":t?.length?!0:void 0,style:{left:b.x,top:C,visibility:"hidden",...l===void 0?{}:{maxWidth:l}},role:"tooltip","aria-label":t?.length?[L,t.join(" ")].filter(Boolean).join(" "):void 0,children:[L&&(0,E.jsx)("span",{className:es.label,children:L}),t!==void 0&&t.length>0&&(0,E.jsx)(Vq,{keys:t,variant:"tooltip"})]});return(0,E.jsxs)(ok.Provider,{value:R,children:[(0,q.cloneElement)(u,{ref:v,"aria-describedby":p&&I?[u.props["aria-describedby"],m].filter(Boolean).join(" "):u.props["aria-describedby"],onMouseEnter:a1=>{u.props.onMouseEnter?.(a1),N.current.hover=!0,X(i)},onMouseLeave:a1=>{u.props.onMouseLeave?.(a1),N.current.hover=!1,e1(),d||o1()},onClick:a1=>{u.props.onClick?.(a1),N.current.focus=!1,e1(),p&&!c&&!d?(f(!0),G()):o1()},onFocus:a1=>{u.props.onFocus?.(a1),!pI()&&(N.current.focus=!0,X(r))},onBlur:a1=>{u.props.onBlur?.(a1),N.current.focus=!1,w1()}}),o?M!==!1&&(0,v7.createPortal)(M,document.body):M]})}var uI=[K3,Y3,Q3],mI=new Map([["python",()=>Promise.resolve().then(()=>(qa(),P_))],["ruby",()=>Promise.resolve().then(()=>(Vo(),cw))],["go",()=>Promise.resolve().then(()=>(lw(),ow))],["rust",()=>Promise.resolve().then(()=>(uw(),pw))],["java",()=>Promise.resolve().then(()=>(Eo(),W_))],["c",()=>Promise.resolve().then(()=>(m7(),tw))],["cpp",()=>Promise.resolve().then(()=>(d7(),iw))],["csharp",()=>Promise.resolve().then(()=>(dw(),mw))],["kotlin",()=>Promise.resolve().then(()=>(gw(),hw))],["swift",()=>Promise.resolve().then(()=>(fw(),bw))],["php",()=>Promise.resolve().then(()=>(yw(),vw))],["yaml",()=>Promise.resolve().then(()=>(Ra(),sw))],["toml",()=>Promise.resolve().then(()=>(ww(),_w))],["ini",()=>Promise.resolve().then(()=>(kw(),xw))],["markdown",()=>Promise.resolve().then(()=>(Da(),zw))],["mdx",()=>Promise.resolve().then(()=>(Aw(),Cw))],["html",()=>Promise.resolve().then(()=>(u4(),D_))],["css",()=>Promise.resolve().then(()=>(Ve(),R_))],["scss",()=>Promise.resolve().then(()=>($w(),Mw))],["less",()=>Promise.resolve().then(()=>(Sw(),Lw))],["sql",()=>Promise.resolve().then(()=>(st(),X_))],["xml",()=>Promise.resolve().then(()=>(rt(),U_))],["lua",()=>Promise.resolve().then(()=>(No(),rw))],["bat",()=>Promise.resolve().then(()=>(Ew(),Zw))],["powershell",()=>Promise.resolve().then(()=>(jw(),Fw))],["fish",()=>Promise.resolve().then(()=>(Nw(),Hw))],["dotenv",()=>Promise.resolve().then(()=>(Vw(),Tw))],["log",()=>Promise.resolve().then(()=>(Iw(),qw))],["csv",()=>Promise.resolve().then(()=>(Pw(),Bw))],["diff",()=>Promise.resolve().then(()=>(Dw(),Rw))],["http",()=>Promise.resolve().then(()=>(Ow(),Gw))],["rst",()=>Promise.resolve().then(()=>(Xw(),Uw))],["latex",()=>Promise.resolve().then(()=>(ex(),Jw))],["bibtex",()=>Promise.resolve().then(()=>(nx(),tx))],["asciidoc",()=>Promise.resolve().then(()=>(ix(),ax))],["r",()=>Promise.resolve().then(()=>(Oa(),Kw))],["julia",()=>Promise.resolve().then(()=>(sx(),rx))],["dart",()=>Promise.resolve().then(()=>(ox(),cx))],["scala",()=>Promise.resolve().then(()=>(px(),lx))],["clojure",()=>Promise.resolve().then(()=>(mx(),ux))],["erlang",()=>Promise.resolve().then(()=>(hx(),dx))],["elixir",()=>Promise.resolve().then(()=>(bx(),gx))],["haskell",()=>Promise.resolve().then(()=>(vx(),fx))],["fsharp",()=>Promise.resolve().then(()=>(_x(),yx))],["vb",()=>Promise.resolve().then(()=>(xx(),wx))],["perl",()=>Promise.resolve().then(()=>(zx(),kx))],["verilog",()=>Promise.resolve().then(()=>(Ax(),Cx))],["system-verilog",()=>Promise.resolve().then(()=>($x(),Mx))],["graphql",()=>Promise.resolve().then(()=>(Ia(),ew))],["proto",()=>Promise.resolve().then(()=>(Sx(),Lx))],["hcl",()=>Promise.resolve().then(()=>(Ex(),Zx))],["nix",()=>Promise.resolve().then(()=>(Nx(),Hx))],["vue",()=>Promise.resolve().then(()=>(Ox(),Gx))],["svelte",()=>Promise.resolve().then(()=>(Kx(),Xx))],["make",()=>Promise.resolve().then(()=>(Qx(),Yx))],["cmake",()=>Promise.resolve().then(()=>(Bo(),Ww))],["groovy",()=>Promise.resolve().then(()=>(ek(),Jx))]]),dI=new Map([["typescript","typescript"],["ts","typescript"],["tsx","typescript"],["javascript","typescript"],["js","typescript"],["jsx","typescript"],["shellscript","shellscript"],["bash","shellscript"],["sh","shellscript"],["shell","shellscript"],["zsh","shellscript"],["json","json"],["jsonc","json"],["py","python"],["python","python"],["rb","ruby"],["ruby","ruby"],["go","go"],["rs","rust"],["rust","rust"],["java","java"],["c","c"],["cpp","cpp"],["cs","csharp"],["csharp","csharp"],["kotlin","kotlin"],["swift","swift"],["php","php"],["yaml","yaml"],["yml","yaml"],["toml","toml"],["ini","ini"],["md","markdown"],["markdown","markdown"],["mdx","mdx"],["html","html"],["css","css"],["scss","scss"],["less","less"],["sql","sql"],["xml","xml"],["lua","lua"],["bat","bat"],["batch","bat"],["powershell","powershell"],["ps1","powershell"],["ps","powershell"],["fish","fish"],["properties","ini"],["dotenv","dotenv"],["env","dotenv"],["log","log"],["csv","csv"],["diff","diff"],["patch","diff"],["http","http"],["rst","rst"],["latex","latex"],["tex","latex"],["bibtex","bibtex"],["bib","bibtex"],["asciidoc","asciidoc"],["adoc","asciidoc"],["r","r"],["julia","julia"],["jl","julia"],["dart","dart"],["scala","scala"],["clojure","clojure"],["clj","clojure"],["erlang","erlang"],["erl","erlang"],["elixir","elixir"],["ex","elixir"],["exs","elixir"],["haskell","haskell"],["hs","haskell"],["fsharp","fsharp"],["fs","fsharp"],["fsi","fsharp"],["fsx","fsharp"],["vb","vb"],["vbnet","vb"],["perl","perl"],["pl","perl"],["pm","perl"],["verilog","verilog"],["v","verilog"],["system-verilog","system-verilog"],["systemverilog","system-verilog"],["sv","system-verilog"],["svh","system-verilog"],["graphql","graphql"],["gql","graphql"],["proto","proto"],["protobuf","proto"],["hcl","hcl"],["tf","hcl"],["tfvars","hcl"],["nix","nix"],["vue","vue"],["svelte","svelte"],["make","make"],["makefile","make"],["mk","make"],["cmake","cmake"],["groovy","groovy"],["gradle","groovy"]]);function Ko(e){return e===void 0?void 0:dI.get(e.toLowerCase())}function Ck(e){return Ko(e)!==void 0}var hI=Yg({name:"css-variables",variablePrefix:"--shiki-",fontStyle:!0}),gI=Us({forgiving:!0,regexConstructor:e=>On(e,{lazyCompileLength:Number.POSITIVE_INFINITY})}),Ak=1e3,pk,bI=[{lang:"typescript",code:"const answer: number = 42"},{lang:"shellscript",code:"printf '%s\\n' \"$HOME\""},{lang:"json",code:'{"ready":true}'}];function fI(){let e=Kg({themes:[hI],langs:uI,engine:gI});for(let t of bI)e.codeToTokens(t.code,{lang:t.lang,theme:"css-variables",tokenizeTimeLimit:0});return e}function ct(){return pk??=fI(),pk}var uk=new Set,Go=new Set,Mk=0;function vI(e){return Go.add(e),()=>{Go.delete(e)}}function mk(){return Mk}function $k(e){let t=mI.get(e);return t===void 0||ct().getLoadedLanguages().includes(e)?!0:(uk.has(e)||(uk.add(e),t().then(n=>{ct().loadLanguageSync(n.default),Mk+=1;for(let a of Go)a()})),!1)}setTimeout(()=>{ct()},0).unref?.();function yI(e,t){let n=Ko(t);if(n!==void 0&&$k(n))return ct().codeToHtml(e,{lang:n,theme:"css-variables",tokenizeMaxLineLength:Ak})}var _I=[[4,"underline"],[8,"line-through"]];function wI(e){let t={color:e.color},n=e.fontStyle??0;(n&1)!==0&&(t.fontStyle="italic"),(n&2)!==0&&(t.fontWeight="bold");let a=_I.filter(([i])=>(n&i)!==0);return a.length>0&&(t.textDecoration=a.map(([,i])=>i).join(" ")),t}function dk(e){let t=[],n="";for(let[a,i]of e.entries()){if(/^\s+$/.test(i.content)&&a+1=0){let s=i[r-1]==="\r"?r-1:r,c=this.tokenize(n,i.slice(0,s));for(let o of c)this.spans.push(dk(o));this.state=ct().getLastGrammarState(c),this.prefix=e.slice(0,this.prefix.length+r+1)}return this.lastFrame={generation:this.generation,appended:this.spans.slice(a),tail:this.tokenize(n,i.slice(r+1)).map(dk)},this.lastFrame}update(e,t){if(e===this.lastCode&&t===this.lastLang&&this.lastResult!==void 0)return this.lastResult;let n=this.updateFrame(e,t);if(n!==void 0)return this.lastResult=[...this.spans,...n.tail],this.lastResult}};function kI({lang:e,title:t,status:n,labels:a,copyLabel:i,copiedLabel:r,copied:s,wrapped:c,onCopy:o,onWrap:l}){let p=c?a.unwrapLabel:a.wrapLabel,u=s?r:i;return(0,E.jsxs)("div",{className:o3.header,"data-code-block-banner":!0,children:[(0,E.jsxs)("div",{className:o3.heading,children:[(0,E.jsx)("span",{className:o3.language,children:Ck(e)?e:a.codeLabel}),t!==void 0&&(0,E.jsx)("span",{className:o3.title,title:t,children:t})]}),(0,E.jsxs)("div",{className:o3.actions,children:[n!==void 0&&(0,E.jsx)("span",{className:o3.status,children:n}),l!==void 0&&(0,E.jsx)(lk,{label:p,side:"top",portal:!0,children:(0,E.jsx)("button",{type:"button",className:o3.action,"aria-label":a.wrapLabel,"aria-pressed":c,onClick:l,children:c?(0,E.jsx)(jq,{size:14}):(0,E.jsx)(Nq,{size:14})})}),o!==void 0&&(0,E.jsx)(lk,{label:u,side:"top",portal:!0,children:(0,E.jsx)("button",{type:"button",className:o3.action,"aria-label":u,onClick:o,children:s?(0,E.jsx)(xq,{size:14}):(0,E.jsx)(Sq,{size:14})})})]})]})}var zI=()=>{},CI=class{observer;activators=new Map;observe(e,t){return typeof IntersectionObserver>"u"?(t(),zI):(this.observer??=new IntersectionObserver(n=>{for(let a of n){if(!a.isIntersecting)continue;let i=this.activators.get(a.target);i!==void 0&&(this.activators.delete(a.target),this.observer?.unobserve(a.target),i())}this.releaseEmptyObserver()}),this.activators.set(e,t),this.observer.observe(e),()=>{this.activators.delete(e),this.observer?.unobserve(e),this.releaseEmptyObserver()})}releaseEmptyObserver(){this.activators.size>0||(this.observer?.disconnect(),this.observer=void 0)}},AI=new CI;function MI(e,t){let n=Ck(t),[a,i]=(0,q.useState)(!1),r=(0,q.useCallback)(()=>{i(!0)},[]);return(0,q.useEffect)(()=>{if(a||!n)return;let s=e.current;if(s!==null)return AI.observe(s,r)},[r,a,n,e]),a&&n}var M31={path:O5.path,del:O5.del,add:O5.add,context:O5.context,gap:O5.gap};var $I=2;function hk(e,t,n){let a=e.position?.start.offset;return a===void 0?-(n+1):t+a}function LI(e,t){for(let n=t;n=e.length||(e[a+1]==="\n"&&(a+=1),t=n,n=a+1)}return t}function bk(e){return e.endsWith("\r\n")?"\r\n":e.endsWith("\r")?"\r":"\n"}function fk(e,t,n){let a=0;for(;a<=e.length;){let i=a;for(;i=n&&/^[ \t]*$/.test(r.slice(c)))return!0;if(i===e.length)return!1;a=e[i]==="\r"&&e[i+1]==="\n"?i+2:i+1}return!1}function SI(e,t,n){let a=e.line,i=e.column,r=n;for(let s of t){if(s==="\n"){r||(a+=1),i=1,r=!1;continue}if(s==="\r"){a+=1,i=1,r=!0;continue}i+=1,r=!1}return{line:a,column:i,offset:e.offset+t.length}}var ZI=class{parse;prevText="";tailStart=0;frozen=[];generation=0;cached=null;openFence=null;constructor(e){this.parse=e}fenceValue(e,t){let n=this.parse("".concat(e.syntheticPrefix).concat(t));if(n.children.length!==1)return;let a=n.children[0];return a.type==="code"?a.value:void 0}openFenceState(e,t,n,a){let i=n.length-1,r=n[i];if(r?.node.type!=="code")return null;let s=r.node,c=s.position?.start.offset,o=s.position?.end;if(c===void 0||o?.offset===void 0||t+o.offset!==e.length)return null;let l=e.slice(t),p=l.lastIndexOf("\n",c-1),u=l.lastIndexOf("\r",c-1),m=Math.max(p,u)+1,d=LI(l,c);if(d===void 0||d===l.length&&l.endsWith("\r"))return null;let f=l.slice(m,d).replace(/[\r\n]+$/,""),w=/^( {0,3})(`{3,}|~{3,})/.exec(f);if(w===null)return null;let k=w[1],v=w[2];if(m+k.length!==c)return null;let b=v[0],_=t+d,z=e.slice(_);if(fk(z,b,v.length))return null;let L="".concat(k).concat(v,"\n"),C=gk(z),j=C===0?"":this.fenceValue({syntheticPrefix:L},z.slice(0,C));if(j===void 0)return null;let N=_+C,H=z.slice(0,C),S=C===0?"":"".concat(j).concat(bk(H)),R=this.fenceValue({syntheticPrefix:L},e.slice(N));return R===void 0||"".concat(S).concat(R)!==s.value?null:{marker:b,markerLength:v.length,syntheticPrefix:L,codeIndex:i,frozen:a,tail:n,pendingStart:N,valuePrefix:S,end:{line:o.line,column:o.column,offset:o.offset},endedWithCarriageReturn:e.endsWith("\r")}}updateOpenFence(e,t,n){let a=t.slice(e.pendingStart);if(fk(a,e.marker,e.markerLength))return;let i=this.fenceValue(e,a);if(i===void 0)return;let r=gk(a),s=r===0?"":this.fenceValue(e,a.slice(0,r));if(s===void 0)return;let c=e.tail[e.codeIndex].node,o=SI(e.end,t.slice(n.length),e.endedWithCarriageReturn),l={...c,value:"".concat(e.valuePrefix).concat(i),position:{start:c.position.start,end:o}},p=e.tail.map((m,d)=>d===e.codeIndex?{...m,node:l}:m),u={frozen:e.frozen,tail:p,generation:this.generation};return this.openFence={...e,tail:p,pendingStart:e.pendingStart+r,valuePrefix:r===0?e.valuePrefix:"".concat(e.valuePrefix).concat(s).concat(bk(a.slice(0,r))),end:o,endedWithCarriageReturn:t.endsWith("\r")},u}update(e){if(this.cached!==null&&e===this.prevText)return this.cached;e.startsWith(this.prevText)||(this.prevText="",this.tailStart=0,this.frozen=[],this.openFence=null,this.generation+=1);let t=this.prevText;if(t!==""&&this.openFence!==null){let s=this.updateOpenFence(this.openFence,e,t);if(s!==void 0)return this.prevText=e,this.cached=s,s;this.openFence=null}this.prevText=e;let n=this.tailStart,a=this.parse(e.slice(n)).children,i=Math.max(0,a.length-$I);if(i>0){let s=a[i-1]?.position?.end.offset;if(s===void 0)i=0;else{for(let c of a.slice(0,i))this.frozen.push({node:c,key:hk(c,n,this.frozen.length)});this.tailStart=n+s}}let r=a.slice(i).map((s,c)=>({node:s,key:hk(s,n,c)}));return this.cached={frozen:[...this.frozen],tail:r,generation:this.generation},this.openFence=this.openFenceState(e,n,r,this.cached.frozen),this.cached}};function Lk(e,t){let n=a=>{if(a.type==="paragraph"&&a.children.length===1){let[i]=a.children;if(i.type==="text"&&i.position!==void 0&&t.slice(i.position.start.offset,i.position.end.offset)===i.value){let r=/^!\[([^\]\n]*)\]\(((?:\/(?!\/)|\.{1,2}\/|[a-z]:[\\/])[^\n<>()[\]"']+\.[a-z\d]+)\)$/iu.exec(i.value);r!==null&&r[2].includes(" ")&&kk(r[2])==="image"&&(a.children=[{type:"image",alt:r[1],url:r[2],position:i.position}])}}else if("children"in a)for(let i of a.children)n(i)};return n(e),e}var EI=new RegExp(["\\p{Script_Extensions=Han}","\\p{Script_Extensions=Hiragana}","\\p{Script_Extensions=Katakana}","\\p{Script_Extensions=Hangul}","\\p{Script_Extensions=Bopomofo}"].join("|"),"u");function FI(e){return e!==null&&e>=0&&EI.test(String.fromCodePoint(e))}var jI=function(e,t,n){let a=this.parser.constructs.attentionMarkers.null;if(a===void 0)throw new Error("micromark CommonMark attention markers are unavailable");let i=a,r=this.previous,s=u3(r),c=S1.eof;return o;function o(p){return p!==S1.asterisk?n(p):(c=p,e.enter("attentionSequence"),l(p))}function l(p){if(p===c)return e.consume(p),l;let u=e.exit("attentionSequence"),m=u3(p),d=!m||m===Y6.characterGroupPunctuation&&!!s||i.includes(p),f=!s||s===Y6.characterGroupPunctuation&&!!m||i.includes(r),w=u.end.offset-u.start.offset>=2&&l3(r)&&FI(p),k=f||w;return u._open=d,u._close=k,t(p)}},HI={name:"cjkFriendlyAttention",resolveAll:I4.resolveAll,tokenize:jI},NI={text:{[S1.asterisk]:HI}};function Sk(){return NI}var TI=function(e){if(e!==S1.backslash)return!0;let t=this.events.at(-1);return t===void 0?!1:t[1].type===l2.characterEscape},VI=function(e,t,n){return a;function a(d){return d!==S1.backslash?n(d):(e.enter("mathText"),e.enter("mathTextSequence"),e.consume(d),i)}function i(d){return d!==S1.leftParenthesis?n(d):(e.consume(d),e.exit("mathTextSequence"),r)}function r(d){return d===S1.eof?n(d):d===S1.backslash?e.attempt({partial:!0,tokenize:u},p,s)(d):Q(d)?(e.enter(l2.lineEnding),e.consume(d),e.exit(l2.lineEnding),r):c(d)}function s(d){return e.check({partial:!0,tokenize:m},n,c)(d)}function c(d){return e.enter("mathTextData"),e.consume(d),d===S1.backslash?o:l}function o(d){return d===S1.backslash?(e.consume(d),l):l(d)}function l(d){return d===S1.eof||d===S1.backslash||Q(d)?(e.exit("mathTextData"),r(d)):(e.consume(d),l)}function p(d){return e.exit("mathText"),t(d)}function u(d,f,w){return k;function k(b){return b!==S1.backslash?w(b):(d.enter("mathTextSequence"),d.consume(b),v)}function v(b){return b!==S1.rightParenthesis?w(b):(d.consume(b),d.exit("mathTextSequence"),f)}}function m(d,f,w){return k;function k(b){return b!==S1.backslash?w(b):(d.enter(l2.chunkString),d.consume(b),v)}function v(b){return b!==S1.leftParenthesis?w(b):(d.consume(b),d.exit(l2.chunkString),f)}}};function Zk(e,t,n,a){let i=function(r,s,c){let o=this,l=!1,p=o.events.at(-1),u=p?.[1].type===l2.linePrefix?p[2].sliceSerialize(p[1],!0).length:0;return m;function m(H){return H!==e?c(H):(r.enter("mathFlow"),r.enter("mathFlowFence"),r.enter("mathFlowFenceSequence"),r.consume(H),d)}function d(H){return H!==t?c(H):(r.consume(H),r.exit("mathFlowFenceSequence"),r.exit("mathFlowFence"),e===S1.dollarSign?f:w)}function f(H){return H===S1.dollarSign?c(H):w(H)}function w(H){return H===S1.eof?c(H):H===e&&(e!==S1.dollarSign||!l)?r.attempt({partial:!0,tokenize:j},C,k)(H):Q(H)?a?r.attempt(II,v,c)(H):c(H):b(H)}function k(H){return e===S1.backslash?r.check({partial:!0,tokenize:N},c,_)(H):_(H)}function v(H){return r.attempt({partial:!0,tokenize:j},C,u?m1(r,w,l2.linePrefix,u+1):w)(H)}function b(H){return r.enter("mathFlowValue"),l=H===S1.backslash,r.consume(H),L}function _(H){return r.enter("mathFlowValue"),l=!1,r.consume(H),z}function z(H){return H===e?(r.consume(H),L):L(H)}function L(H){return H===S1.eof||H===e||Q(H)?(r.exit("mathFlowValue"),w(H)):(l=H===S1.backslash?!l:!1,r.consume(H),L)}function C(H){return r.exit("mathFlow"),s(H)}function j(H,S,R){return m1(H,B,l2.linePrefix,Y6.tabSize);function B(G){return G!==e?R(G):(H.enter("mathFlowFence"),H.enter("mathFlowFenceSequence"),H.consume(G),I)}function I(G){return G!==n?R(G):(H.consume(G),H.exit("mathFlowFenceSequence"),m1(H,e1,l2.whitespace))}function e1(G){return G!==S1.eof&&!Q(G)?R(G):(H.exit("mathFlowFence"),S(G))}}function N(H,S,R){return B;function B(e1){return e1!==e?R(e1):(H.enter(l2.chunkString),H.consume(e1),I)}function I(e1){return e1!==t?R(e1):(H.consume(e1),H.exit(l2.chunkString),S)}}};return{concrete:!0,name:e===S1.dollarSign?"sameLineDollarMathFlow":"backslashMathFlow",tokenize:i}}var qI=function(e,t,n){let a=this;return i;function i(s){return s===S1.eof?t(s):Q(s)?(e.enter(l2.lineEnding),e.consume(s),e.exit(l2.lineEnding),r):n(s)}function r(s){return a.parser.lazy[a.now().line]?n(s):t(s)}},II={partial:!0,tokenize:qI},BI={name:"backslashMathText",previous:TI,tokenize:VI},PI=Zk(S1.backslash,S1.leftSquareBracket,S1.rightSquareBracket,!0),RI=Zk(S1.dollarSign,S1.dollarSign,S1.dollarSign,!1),DI={flow:{[S1.backslash]:PI,[S1.dollarSign]:RI},text:{[S1.backslash]:BI}};function GI(){return DI}function OI(e){return Lk(sa(e,{extensions:[Ec(),Sk()],mdastExtensions:[la()]}),e)}function WI(e){return Lk(sa(e,{extensions:[Ec(),Sk(),GI(),Fc()],mdastExtensions:[la(),zc()]}),e)}var UI={className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:0},XI=32;function vk(e,t){return(0,E.jsxs)(q.Fragment,{children:[t>0&&"\n",(0,E.jsx)("span",{className:"line",children:e.map((n,a)=>(0,E.jsx)("span",{style:n.style,children:n.text},a))})]},t)}function KI({code:e,lang:t,streaming:n,className:a,contentRef:i,lineNumbers:r=!1,showHeader:s=!0,copyLabel:c,copiedLabel:o,toolbarLabels:l,wrap:p}){let u=e.endsWith("\n")?e.slice(0,-1):e,m=r?u.split("\n"):void 0,d=(0,q.useRef)(null),f=MI(d,t),w=(0,q.useSyncExternalStore)(vI,mk,mk),k=(0,q.useRef)(null),v=(0,q.useRef)(null),b=(0,q.useRef)(!1),_=(0,q.useMemo)(()=>{if(!f){k.current=null,v.current=null,b.current=!1;return}if(n!==!0){let a1=v.current;if(a1!==null&&a1.code===u&&a1.lang===t)return b.current=!0,a1.body;k.current=null,v.current=null,b.current=!0;return}b.current&&(k.current=null,v.current=null,b.current=!1),k.current??=new xI;let B=k.current.updateFrame(u,t);if(B===void 0){v.current=null;return}let I=v.current;if(I?.frame===B&&I.code===u&&I.lang===t)return I.body;let e1=I?.generation===B.generation,G=e1?[...I.groups]:[],X=e1?[...I.pending]:[],o1=e1?I.nextLine:0;for(let a1 of B.appended){if(X.push(vk(a1,o1)),o1+=1,X.length!==XI)continue;let l1=o1-X.length;G.push((0,E.jsx)(q.Fragment,{children:X},l1)),X=[]}let w1=B.tail.map((a1,l1)=>vk(a1,o1+l1)),M1=(0,E.jsx)(q.Fragment,{children:[...X,...w1]},o1-X.length),M=(0,E.jsx)("pre",{...UI,children:(0,E.jsxs)("code",{children:[G,M1]})});return v.current={code:u,lang:t,generation:B.generation,frame:B,groups:G,pending:X,nextLine:o1,body:M},M},[n,f,u,t,w]),z=(0,q.useMemo)(()=>f&&n!==!0&&_===void 0?yI(u,t):void 0,[n,f,_,u,t,w]),[L,C]=(0,q.useState)(!1),[j,N]=(0,q.useState)(!0),H=p??j,S=(0,q.useCallback)(()=>{L||_k(d.current?.querySelector("pre")?.textContent??u).then(B=>{B&&(C(!0),window.setTimeout(()=>{C(!1)},1e3))})},[L,u]),R=_!==void 0?_:z===void 0?(0,E.jsx)("pre",{className:me.plain,children:(0,E.jsx)("code",{children:m===void 0?u:m.map((B,I)=>(0,E.jsxs)(q.Fragment,{children:[I>0&&"\n",(0,E.jsx)("span",{className:"line",children:B})]},I))})}):(0,E.jsx)("div",{dangerouslySetInnerHTML:{__html:z}});return(0,E.jsxs)("div",{ref:d,className:f0(me.block,"md-code-block",r&&me.numbered,l!==void 0&&me.card,a),"data-line-numbers":r||void 0,"data-code-wrap":l===void 0?void 0:H,style:m===void 0?void 0:{"--dsl-code-block-line-number-width":"".concat(Math.max(2,String(m.length).length),"ch")},children:[s&&(0,E.jsx)("div",{className:me.bannerWrap,children:l!==void 0?(0,E.jsx)(kI,{lang:t,labels:l,copyLabel:c,copiedLabel:o,copied:L,wrapped:H,onCopy:S,onWrap:p===void 0?()=>{N(B=>!B)}:void 0}):(0,E.jsxs)("div",{className:me.banner,"data-code-block-banner":!0,children:[(0,E.jsx)("div",{className:me.infostring,children:t??""}),(0,E.jsx)("div",{className:me.action,children:(0,E.jsx)("button",{type:"button",className:me.copyButton,onClick:S,children:L?o:c})})]})}),(0,E.jsx)("div",{ref:i,className:me.content,"data-code-block-content":!0,children:R})]})}function Ek(e){let t=e.indexOf("#"),n=t<0?e:e.slice(0,t);if(n.includes("?"))return;let a;try{a=decodeURIComponent(n)}catch{return}if(a.length===0||/[\u0000-\u001f\u007f]/.test(a)||/^[\\/]{2}/.test(a)||/^[a-z][a-z\d+.-]*:/i.test(a)&&!/^[a-z]:[\\/]/i.test(a))return;if(t<0)return{path:a};let i=e.slice(t+1),r=/^L([1-9]\d*)(?:-L([1-9]\d*))?$/.exec(i);if(r===null)return;let s=Number(r[1]),c=r[2]===void 0?s:Number(r[2]);if(!(!Number.isSafeInteger(s)||!Number.isSafeInteger(c)||cs.toUpperCase());t[i]=n.slice(a+1).trim()}return t}function Fk(e,t){if(e.nodeType===Node.TEXT_NODE)return e.textContent;if(e.nodeType!==Node.ELEMENT_NODE)return null;let n=e,a={key:t};for(let r of n.attributes)r.name==="class"?a.className=r.value:r.name==="style"?a.style=YI(r.value):a[r.name]=r.value;let i=[...n.childNodes].map(Fk);return i.length===0?(0,q.createElement)(n.localName,a):(0,q.createElement)(n.localName,a,...i)}function Oo(e,t){let n;try{n=So.renderToString(e,{displayMode:t,throwOnError:!0})}catch(a){try{n=So.renderToString(e,{displayMode:t,strict:"ignore",throwOnError:!1})}catch{return(0,E.jsx)("span",{className:"katex-error",style:{color:"#cc0000"},title:String(a),children:e})}}return[...new DOMParser().parseFromString(n,"text/html").body.childNodes].map(Fk)}var QI=(0,q.createContext)({});function Yo(){return(0,q.useContext)(QI)}function JI({src:e,alt:t,labels:n,onClose:a}){let i=(0,q.useRef)(null),r=(0,q.useRef)(null);return(0,q.useEffect)(()=>{r.current=document.activeElement instanceof HTMLElement?document.activeElement:null,i.current?.focus();let s=c=>{c.key==="Escape"&&(c.stopPropagation(),a()),c.key==="Tab"&&(c.preventDefault(),i.current?.focus())};return window.addEventListener("keydown",s,!0),()=>{window.removeEventListener("keydown",s,!0),r.current?.focus()}},[a]),(0,v7.createPortal)((0,E.jsx)("div",{className:it.backdrop,role:"dialog","aria-modal":"true","aria-label":n.dialog,children:(0,E.jsxs)("div",{className:it.stage,children:[(0,E.jsx)("div",{className:it.mask,"aria-hidden":"true",onMouseDown:a}),(0,E.jsx)("img",{className:it.image,src:e,alt:t}),(0,E.jsx)("button",{ref:i,type:"button",className:it.close,"aria-label":n.close,onClick:a,children:(0,E.jsx)($q,{size:16})})]})}),document.body)}function eB({src:e,alt:t,loadingLabel:n,failedLabel:a}){return(0,E.jsx)(tB,{src:e,alt:t,loadingLabel:n,failedLabel:a},e)}function tB({src:e,alt:t,loadingLabel:n,failedLabel:a}){let[i,r]=(0,q.useState)("loading");return(0,E.jsxs)("span",{className:Va.frame,children:[i!=="failed"&&(0,E.jsx)("img",{src:e,alt:t,loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",className:Va.image,"data-ready":i==="ready"||void 0,onLoad:()=>{r("ready")},onError:()=>{r("failed")}}),i!=="ready"&&(0,E.jsxs)("span",{className:Va.status,role:"status",children:[i==="loading"&&(0,E.jsx)(Eq,{size:16}),(0,E.jsx)("span",{children:i==="loading"?n:a})]})]})}function jk(e){try{switch(new URL(e).protocol){case"http:":case"https:":case"mailto:":return e;default:return""}}catch{return""}}function nB(e){try{let t=new URL(e).protocol;return t==="http:"||t==="https:"?e:void 0}catch{return}}function aB(e){try{let t=new URL(e).protocol;return t==="http:"||t==="https:"||t==="blob:"||t==="data:"||e.startsWith("dsh-app://app/api/file?")?e:void 0}catch{return}}function iB(e,t){let n=nB(jk(Xn(e)));if(n!==void 0)return n;let a=t?.resolve(e);return a===void 0?void 0:aB(a)}function Wo(){return{definitions:new Map,footnotes:new Map}}function Ua(e,t){for(let n of e){if(n.type==="definition"){let a=n.identifier.toUpperCase();t.definitions.has(a)||t.definitions.set(a,n)}else if(n.type==="footnoteDefinition"){let a=n.identifier.toUpperCase();t.footnotes.has(a)||t.footnotes.set(a,n)}"children"in n&&Ua(n.children,t)}}function Uo(e,t){return e.map(n=>Jo(n.node,n.key,t)).filter(n=>n!==null)}function Qo(e,t){let n=[];for(let a of e)(t||n.length>0)&&n.push("\n"),n.push(a);return t&&e.length>0&&n.push("\n"),n}function Hk(e,t){let n=[];for(let[a,i]of e.entries())if(i.type==="paragraph")n.push({paragraph:he(i.children,t)});else{let r=Jo(i,a,t);r!==null&&n.push({element:r})}return n}function he(e,t){return e.map((n,a)=>Jo(n,a,t))}function Jo(e,t,n){switch(e.type){case"text":return e.value;case"paragraph":return(0,E.jsx)("p",{children:he(e.children,n)},t);case"heading":return(0,q.createElement)("h".concat(e.depth),{key:t},...he(e.children,n));case"blockquote":return(0,E.jsx)("blockquote",{children:Qo(he(e.children,{...n,inBlockquote:!0}).filter(a=>a!==null),!0)},t);case"thematicBreak":return(0,E.jsx)("hr",{},t);case"break":return(0,E.jsxs)(q.Fragment,{children:[(0,E.jsx)("br",{}),"\n"]},t);case"strong":return(0,E.jsx)("strong",{children:he(e.children,n)},t);case"emphasis":return(0,E.jsx)("em",{children:he(e.children,n)},t);case"delete":return(0,E.jsx)("del",{children:he(e.children,n)},t);case"inlineCode":{let a=e.value.replace(/\r?\n|\r/g," "),i=uB(a);if(i!==void 0)return(0,E.jsx)("code",{children:qk(i,[a],"link")},t);let r=n.inLink===!0?void 0:n.fileMentions?.resolve(a);return r!==void 0?(0,E.jsx)("code",{children:(0,E.jsxs)("button",{type:"button",className:Q0.fileMention,title:r.title,"aria-label":r.label,onClick:r.open,children:[(0,E.jsx)(Xo,{kind:Ro(a),className:Q0.linkIcon}),a]})},t):(0,E.jsx)("code",{children:a},t)}case"html":return e.value;case"code":return rB(e,t,n);case"math":return(0,E.jsx)(q.Fragment,{children:Oo(e.value,!0)},t);case"inlineMath":return(0,E.jsx)(q.Fragment,{children:Oo(e.value,!1)},t);case"list":return cB(e,t,n);case"listItem":return Tk(e,Nk(e),t,n);case"table":return oB(e,t,n);case"link":return Ik(e.url,he(e.children,{...n,inLink:!0}),t,!Vk(e.children),n.streaming);case"linkReference":return hB(e,t,n);case"image":return Bk(e.url,e.alt??"",t,n);case"imageReference":return gB(e,t,n);case"footnoteReference":return bB(e,t,n);case"definition":case"footnoteDefinition":return null;default:return null}}function rB(e,t,n){let a=e.lang??void 0;if(e.value==="")return(0,E.jsx)("pre",{children:(0,E.jsx)("code",{className:a===void 0?void 0:"language-".concat(a)})},t);let i=a===void 0?void 0:/^[\w-]+/.exec(a)?.[0];return!n.streaming&&i==="math"?(0,E.jsx)(q.Fragment,{children:Oo("".concat(e.value,"\n"),!0)},t):(0,E.jsx)(KI,{code:"".concat(e.value,"\n"),lang:i,streaming:n.streaming,copyLabel:n.labels.code.copyLabel,copiedLabel:n.labels.code.copiedLabel,toolbarLabels:n.labels.code.toolbarLabels},t)}function sB(e){return(e.spread??!1)||e.children.some(Nk)}function Nk(e){return e.spread??e.children.length>1}function cB(e,t,n){let a=sB(e),i={};return typeof e.start=="number"&&e.start!==1&&(i.start=e.start),e.children.some(r=>typeof r.checked=="boolean")&&(i.className="contains-task-list"),(0,q.createElement)(e.ordered===!0?"ol":"ul",{key:t,...i},...e.children.map((r,s)=>Tk(r,a,s,n)))}function Tk(e,t,n,a){let i=Hk(e.children,a),r=typeof e.checked=="boolean";if(r){let o=(0,E.jsx)("input",{type:"checkbox",checked:e.checked===!0,disabled:!0},"task-checkbox"),l=i[0];l!==void 0&&"paragraph"in l?l.paragraph=l.paragraph.length>0?[o," ",...l.paragraph]:[o]:i.unshift({paragraph:[o]})}let s=[];for(let[o,l]of i.entries()){let p="paragraph"in l;(t||o!==0||!p)&&s.push("\n"),p?t?s.push((0,E.jsx)("p",{children:l.paragraph},"p-".concat(o))):s.push((0,E.jsx)(q.Fragment,{children:l.paragraph},"p-".concat(o))):s.push(l.element)}let c=i[i.length-1];return c!==void 0&&(t||!("paragraph"in c))&&s.push("\n"),(0,E.jsx)("li",{className:r?"task-list-item":void 0,children:s},n)}function oB(e,t,n){let a=e.align??null,[i,...r]=e.children,s=(a===null?i?.children.length??0:a.length)>=4&&n.inBlockquote!==!0;return(0,E.jsx)("div",{className:f0(Q0.tableScroll,s?"md-table-wide":Q0.tableFill),tabIndex:s?0:void 0,children:(0,E.jsxs)("table",{children:[i!==void 0&&(0,E.jsx)("thead",{children:yk(i,"th",a,0,n)}),r.length>0&&(0,E.jsx)("tbody",{children:r.map((c,o)=>yk(c,"td",a,o+1,n))})]})},t)}function yk(e,t,n,a,i){let r=n===null?e.children.length:n.length,s=[];for(let c=0;c0&&e.every(t=>t.type==="image"||t.type==="imageReference")}function qk(e,t,n,a=!0){let i=jk(e);return i===""?(0,E.jsx)(q.Fragment,{children:t},n):(0,E.jsx)(lB,{href:i,glyph:a,children:t},n)}function lB({href:e,glyph:t,children:n}){let{openExternalLink:a}=Yo(),i=["http:","https:"].includes(new URL(e).protocol),r=i?a:void 0;return(0,E.jsxs)("a",{href:e,...i?{target:"_blank",rel:"noopener noreferrer"}:{},onClick:r===void 0?void 0:s=>{s.button!==0||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),r(e))},children:[t&&(0,E.jsx)(Xo,{kind:"url",href:e,className:Q0.linkIcon}),n]})}function Ik(e,t,n,a=!0,i=!1){let r=i?void 0:Ek(e);return r!==void 0?(0,E.jsx)(pB,{file:r,glyph:a,children:t},n):qk(Xn(e),t,n,a)}function pB({file:e,glyph:t,children:n}){let{openFile:a,fileImages:i}=Yo();if(a===void 0)return(0,E.jsx)(E.Fragment,{children:n});let r=t&&Ro(e.path)==="image"?i:void 0,s=r?.resolve(e.path),c=(0,E.jsxs)("button",{type:"button",className:f0(Q0.fileMention,Q0.fileLink),title:s===void 0?e.path:void 0,onClick:()=>{a(e.path,e.line===void 0?void 0:{line:e.line})},children:[t&&(0,E.jsx)(Xo,{kind:Ro(e.path),className:Q0.linkIcon}),n]});return s===void 0||r===void 0?c:(0,E.jsx)(Pq,{inline:!0,anchor:c,content:(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(eB,{src:s,alt:e.path,loadingLabel:r.labels.loading,failedLabel:r.labels.failed}),(0,E.jsx)("span",{className:Q0.previewName,children:e.path.split(/[\\/]/u).pop()})]})})}function uB(e){if(e.trim()===e)try{let t=new URL(e).protocol;return t==="http:"||t==="https:"?e:void 0}catch{return}}function Bk(e,t,n,a){return(0,E.jsx)(mB,{destination:e,alt:t,pathImages:a.pathImages,streaming:a.streaming,inLink:a.inLink===!0},"".concat(n,":").concat(e))}function mB({destination:e,alt:t,pathImages:n,streaming:a,inLink:i}){let{fileImages:r}=Yo(),s=a?void 0:Ek(e),c=(s===void 0?void 0:r?.resolve(s.path))??iB(e,n);return c===void 0?(0,E.jsx)("span",{className:Q0.imageAlt,children:t}):(0,E.jsx)(dB,{src:c,alt:t,destination:e,preview:i?void 0:r},c)}function dB({src:e,alt:t,destination:n,preview:a}){let[i,r]=(0,q.useState)(!1),[s,c]=(0,q.useState)(!1),o=(0,q.useCallback)(()=>{c(!1)},[]);if(i)return(0,E.jsxs)("span",{className:Q0.imageAlt,children:[a===void 0?"":"".concat(a.labels.failed," \xB7 "),t||n]});let l=(0,E.jsx)("img",{className:Q0.image,src:e,alt:t,onError:()=>{r(!0)},loading:"lazy",decoding:"async",referrerPolicy:"no-referrer"});return a===void 0?l:(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("button",{type:"button",className:Q0.imageButton,title:a.labels.open,"aria-label":t?"".concat(a.labels.open,": ").concat(t):a.labels.open,onClick:()=>{c(!0)},children:l}),s&&(0,E.jsx)(JI,{src:e,alt:t,labels:a.labels,onClose:o})]})}function Pk(e){return e.referenceType==="collapsed"?"][]":e.referenceType==="full"?"][".concat(e.label??e.identifier,"]"):"]"}function hB(e,t,n){let a=n.targets.definitions.get(e.identifier.toUpperCase());if(a===void 0)return(0,E.jsxs)(q.Fragment,{children:["[",he(e.children,n),Pk(e)]},t);let i=he(e.children,{...n,inLink:!0});return Ik(a.url,i,t,!Vk(e.children),n.streaming)}function gB(e,t,n){let a=n.targets.definitions.get(e.identifier.toUpperCase());return a===void 0?"![".concat(e.alt??"").concat(Pk(e)):Bk(a.url,e.alt??"",t,n)}function bB(e,t,n){let a=e.identifier.toUpperCase(),i=n.footnoteCounts.get(a);return i===void 0&&n.footnoteOrder.push(a),n.footnoteCounts.set(a,(i??0)+1),(0,E.jsx)("sup",{children:String(n.footnoteOrder.indexOf(a)+1)},t)}function Rk(e){let t=[];for(let n of e.footnoteOrder){let a=e.targets.footnotes.get(n);if(a===void 0)continue;let i=e.footnoteCounts.get(n)??0,r=[];for(let l=1;l<=i;l++)r.length>0&&r.push(" "),r.push("\u21A9"),l>1&&r.push((0,E.jsx)("sup",{children:String(l)},"re-".concat(l)));let s=Hk(a.children,e),c=s[s.length-1],o=s.map((l,p)=>"paragraph"in l?(0,E.jsxs)("p",{children:[l.paragraph,l===c&&(0,E.jsxs)(E.Fragment,{children:[" ",r]})]},"p-".concat(p)):l.element);(c===void 0||!("paragraph"in c))&&o.push(...r),t.push((0,E.jsx)("li",{id:"user-content-fn-".concat(Xn(n.toLowerCase())),children:Qo(o,!0)},n))}return t.length===0?null:(0,E.jsxs)("section",{"data-footnotes":!0,className:"footnotes",children:[(0,E.jsx)("h2",{id:"footnote-label",className:"sr-only",children:e.labels.footnotes}),(0,E.jsx)("ol",{children:t})]},"footnotes")}function fB(e,t,n,a){let i=WI(e),r=Wo();Ua(i.children,r);let s={streaming:!1,labels:t,fileMentions:n,pathImages:a,targets:r,footnoteOrder:[],footnoteCounts:new Map},c=Qo(Uo(i.children.map((l,p)=>({node:l,key:l.position?.start.offset??-(p+1)})),s),!1),o=Rk(s);return o===null?c:[...c,"\n",o]}var vB=class{labels;parser=new ZI(OI);generation=-1;frozenCount=0;frozenElements=[];frozenTargets=Wo();frozenFootnoteOrder=[];frozenFootnoteCounts=new Map;lastText=null;lastRendered=[];constructor(e){this.labels=e}render(e){if(e===this.lastText)return this.lastRendered;let{frozen:t,tail:n,generation:a}=this.parser.update(e);a!==this.generation&&(this.generation=a,this.frozenCount=0,this.frozenElements=[],this.frozenTargets=Wo(),this.frozenFootnoteOrder=[],this.frozenFootnoteCounts=new Map);let i=t.slice(this.frozenCount);Ua(i.map(l=>l.node),this.frozenTargets);let r={definitions:new Map(this.frozenTargets.definitions),footnotes:new Map(this.frozenTargets.footnotes)};if(Ua(n.map(l=>l.node),r),i.length>0){let l={streaming:!0,labels:this.labels,fileMentions:void 0,pathImages:void 0,targets:r,footnoteOrder:this.frozenFootnoteOrder,footnoteCounts:this.frozenFootnoteCounts},p=[...this.frozenElements];for(let u of Uo(i,l))p.length>0&&p.push("\n"),p.push(u);this.frozenElements=p,this.frozenCount=t.length}let s={streaming:!0,labels:this.labels,fileMentions:void 0,pathImages:void 0,targets:r,footnoteOrder:[...this.frozenFootnoteOrder],footnoteCounts:new Map(this.frozenFootnoteCounts)},c=[...this.frozenElements];for(let l of Uo(n,s))c.length>0&&c.push("\n"),c.push(l);let o=Rk(s);return o!==null&&c.push("\n",o),this.lastText=e,this.lastRendered=c,this.lastRendered}},Dk=(0,q.memo)(function({text:t,streaming:n=!1,labels:a,fileMentions:i,pathImages:r,variant:s="body"}){let c=(0,q.useRef)(null),o=(0,q.useRef)(a),l=(0,q.useMemo)(()=>n?((c.current===null||o.current!==a)&&(c.current=new vB(a),o.current=a),c.current.render(t)):(c.current=null,fB(t,a,i,r)),[t,n,a,i,r]);return(0,E.jsx)("div",{className:f0(Q0.markdown,s==="compact"&&Q0.compact),"data-markdown-variant":s==="compact"?s:void 0,children:l})});var Xa=U1(g0(),1);var y7=U1(g0(),1);function ge(e,t){let n=Math.sqrt(e),a=t/(2*n),i=c=>{if(a>=1)return 1-(1+n*c)*Math.exp(-n*c);let o=n*Math.sqrt(1-a*a);return 1-Math.exp(-a*n*c)*(Math.cos(o*c)+a*n/o*Math.sin(o*c))},r=.05;for(;r<2&&Math.abs(1-i(r))>.001;)r+=.01;let s=Array.from({length:25},(c,o)=>(o===24?1:i(r*o/24)).toFixed(4));return{duration:Math.round(r*1e3),easing:"linear(".concat(s.join(","),")"),stiffness:e,damping:t}}var d1=ge(400,31.2),j1=ge(900,48),F31=ge(484,35.2),Gk=ge(320,20),q1=ge(500,22),j31=ge(784,48.2),H31=ge(289,29.2),N31={lead:ge(900,51),trail:ge(400,34)},d0=(e,...t)=>t.map(n=>"".concat(n," ").concat(e.duration,"ms ").concat(e.easing)).join(",");var R31=typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("-webkit-text-security","disc");var D31='\n.bt-secret-head{align-items:center;gap:10px}\n.bt-secret-who{position:relative;flex:none;display:inline-flex}\n.bt-secret-lock{position:absolute;right:-5px;bottom:-4px;width:16px;height:16px;border-radius:50%;background:var(--bt-main);color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px var(--bt-bubble)}\n.bt-secret-lock svg{width:11px;height:11px}\n.bt-secret-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:16px;padding:1px 6px;border-radius:5px;background:var(--bt-hover);color:var(--bt-ink)}\n.bt-secret-body{display:flex;flex-direction:column;gap:8px}\n.bt-secret-field{align-items:center;min-height:36px}\n.bt-secret-input{flex:1;width:100%;min-width:0;margin:0;padding:0;border:0;outline:none;background:transparent;color:var(--bt-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:20px;letter-spacing:.04em}\n.bt-secret-input[data-masked]{-webkit-text-security:disc}\n.bt-secret-input::placeholder{color:var(--bt-ink-3);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;letter-spacing:0}\n.bt-secret-scope{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;align-self:flex-start;padding:2px;border-radius:999px;background:var(--bt-hover)}\n.bt-secret-glide{position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:999px;background:var(--bt-main);box-shadow:0 1px 3px rgba(20,20,20,.08),inset 0 0 0 .5px color-mix(in srgb,var(--bt-ink) 6%,transparent);transition:'.concat(d0(d1,"transform"),'}\n.bt-secret-glide[data-at="1"]{transform:translateX(100%)}\n.bt-secret-seg{position:relative;z-index:1;height:28px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--bt-ink-2);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer;transition:color .16s ease}\n.bt-secret-seg[aria-checked=true]{color:var(--bt-ink);font-weight:500}\n.bt-secret-seg:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px}\n/* A key card asks the user to act, so the process group carrying it stays open in every\n work-details mode (same override as .bt-group-replies in styles.js). */\n[data-step-process]:has(.bt-secret)>div:first-child{display:none!important}\n[data-step-process]:has(.bt-secret)>[data-step-process-body]{display:block!important;content-visibility:visible!important;max-height:none!important;overflow:visible!important;mask-image:none!important;scrollbar-gutter:auto!important}\n.bt-secret-ok{display:flex;align-items:center;gap:4px;margin-top:6px;animation:bt-secret-in .22s cubic-bezier(.22,1,.36,1)}\n.bt-secret-ok svg{width:13px;height:13px;color:#16a34a}\n@keyframes bt-secret-in{from{opacity:0;transform:translateY(-2px)}}\n.bt-secret-saved{display:flex;align-items:center;gap:6px;font-size:13px;line-height:18px;color:var(--bt-ink-2)}\n.bt-secret-note{font-size:12px;line-height:17px;color:var(--bt-ink-3)}\n.bt-secret-note code,.bt-secret-about code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px}\n.bt-secret-warn{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;font-size:12px;line-height:16px;color:#b25e09;background:color-mix(in srgb,#f59e0b 12%,transparent)}\n.bt-secret-error{font-size:12px;line-height:16px;color:#e02135}\n.bt-secret .bt-q-btn:disabled{opacity:.5;cursor:default}\n.bt-secret-done .bt-q-head{align-items:center}\n.bt-secret-done .bt-q-title{font-size:13px;line-height:18px;color:var(--bt-ink-2);font-weight:500}\n.bt-secret-scope-tag{font-weight:400;color:var(--bt-ink-3)}\n.bt-secret-check{color:var(--bt-green,#22a06b);animation:bt-secret-pop ').concat(q1.duration,"ms ").concat(q1.easing," backwards}\n.bt-secret-done{animation:bt-secret-settle .32s cubic-bezier(.22,1,.36,1) backwards}\n@keyframes bt-secret-pop{from{opacity:0;transform:scale(.4)}}\n@keyframes bt-secret-settle{from{opacity:.4;transform:scale(.985)}}\n.bt-secret-event{display:inline-flex;align-items:center;gap:5px}\n.bt-secret-dock{flex-direction:column;align-items:center}\n.bt-secret-dock .bt-q{max-width:min(550px,calc(100% - 32px))}\n.bt-secret-about{margin:0 0 12px;padding:0 4px;font-size:12px;line-height:17px;color:var(--bt-ink-2)}\n.bt-secret-title{display:flex;align-items:center;gap:6px;min-width:0;color:var(--bt-ink)}\n.bt-secret-title svg{flex:none;color:var(--bt-ink-2)}\n.bt-secret-purpose{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bt-ink-2)}\n.bt-secret-faces{display:inline-flex}\n.bt-secret-faces>*+*{margin-left:-6px}\n.bt-secret-edit{display:flex;flex-direction:column;gap:14px;padding:4px 12px 14px;animation:bt-q-in ").concat(d1.duration,"ms ").concat(d1.easing," backwards,bt-veil-in .2s ease-out backwards}\n.bt-secret-edit-block{display:flex;flex-direction:column;gap:8px}\n.bt-secret-edit-label{font-size:12px;line-height:16px;font-weight:600;color:var(--bt-ink-2)}\n.bt-secret-radios{display:flex;gap:16px;font-size:13px}\n.bt-secret-radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer}\n.bt-secret-bots{display:flex;flex-wrap:wrap;gap:6px}\n.bt-secret-bot{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 5px;border-radius:999px;border:.5px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink-2);font:inherit;font-size:12px;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}\n.bt-secret-bot[aria-pressed=true]{background:var(--bt-active);color:var(--bt-ink);border-color:var(--bt-line-2)}\n.bt-secret-bot svg{width:13px;height:13px}\n.bt-secret-inline{display:flex;gap:8px;align-items:center}\n.bt-secret-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}\n.bt-secret-row-actions .bt-set-hint{flex:1}\n.bt-secret-danger{color:#e02135;display:inline-flex;align-items:center;gap:4px}\n.bt-secret-danger svg{width:13px;height:13px}\n.bt-secret-add .bt-input{height:34px}\n@media (prefers-reduced-motion:reduce){.bt-secret-glide{transition:none}.bt-secret-check,.bt-secret-done,.bt-secret-ok,.bt-secret-edit{animation:none}}\n");var s0=U1(g0(),1);var Ok=(e,t)=>yt("flybot/".concat(e),t),_B,wB=()=>_B??=class extends s0.Component{constructor(t){super(t),this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(t){console.error("flybot: ".concat(this.props.id," failed"),t)}render(){return this.state.failed?this.props.fallback:this.props.children}};function xB(e){let t=g9(),[,n]=(0,s0.useState)(0);return(0,s0.useEffect)(()=>t.subscribe(()=>n(t.version())),[t]),t.entries("flybot.approvals").find(a=>a.inline===!0&&a.policy===e)}function Wk({held:e,actions:t}){let n=xB(e?.by),[a,i]=(0,s0.useState)(!1),[r,s]=(0,s0.useState)(""),c=Ct(e?.status);if((0,s0.useEffect)(()=>{if(c)return zt("held-reply:".concat(e.id),[e.id]),()=>zt("held-reply:".concat(e.id),[])},[e?.id,c]),!e?.id)return null;let o=async p=>{i(!0),s("");try{await Ok("decide",{id:e.id,decision:p})}catch(u){s(u?.message??String(u))}finally{i(!1)}};if(!c){let p=e.status==="failed";return(0,s0.createElement)("div",{className:"bt-held-note","data-state":e.status,title:p&&e.error?e.error:void 0},(0,s0.createElement)("span",null,e.status==="approved"?T("Sent to {to}",{to:e.toName}):e.status==="auto"?T("Auto-sent to {to}",{to:e.toName}):p?T("Not sent: delivery failed"):T("Not sent")),p&&F9(e)?(0,s0.createElement)("button",{type:"button",className:"bt-held-retry",disabled:a,onClick:()=>o("retry")},T("Retry")):null,r?(0,s0.createElement)("span",{className:"bt-flybot-approval-error",role:"alert"},r):null)}let l=(0,s0.createElement)("div",{className:"bt-held-card",role:"region","aria-label":T("Waiting for your approval")},(0,s0.createElement)("div",{className:"bt-held-head"},T("Waiting for your approval")),(0,s0.createElement)("div",{className:"bt-flybot-approval-origin"},T("{from} \u2192 {to}",{from:e.from??T("A Bot"),to:e.toName})),(0,s0.createElement)("div",{className:"bt-flybot-approval-actions"},(0,s0.createElement)("button",{type:"button",disabled:a,onClick:()=>o("reject")},T("Reject")),(0,s0.createElement)("button",{type:"button",className:"bt-flybot-approve",disabled:a,onClick:()=>o("approve")},T("Approve"))),r?(0,s0.createElement)("div",{className:"bt-flybot-approval-error",role:"alert"},r):null);return(0,s0.createElement)("div",{className:"bt-held-actions","data-flybot":"held-reply-actions"},n?(0,s0.createElement)(wB(),{id:n.id,fallback:l},(0,s0.createElement)(n.component,{held:e,decide:o,call:Ok,actions:t})):l)}function Xk(e,t){let n=e.length?e:[t];return n.find(a=>Uk(a)!=="")?.step!==t.step?"":n.filter(a=>!zB(a)).map(Uk).filter(Boolean).join("\n\n")}var kB=e=>e.blocks.filter(t=>t.kind==="text"&&t.text.trim()!==""),zB=e=>e.status==="running"&&kB(e).length===0&&e.blocks.some(t=>t.kind==="reasoning"),Uk=e=>e.blocks.filter(t=>t.kind==="reasoning").map(t=>t.text).join("\n").trim();var CB=()=>({code:{copyLabel:T("Copy"),copiedLabel:T("Copied")},footnotes:T("Footnotes")});function Jk({texts:e,roster:t,selfId:n,actions:a,streaming:i,sessionId:r,msgKey:s,useUi:c,lead:o,mentions:l}){let p=m=>{let d=ap(m);d!==null&&(m.preventDefault(),m.stopPropagation(),a.openSession(d))},u=c?c(m=>s?m.reactions?.[s]??null:null):null;return(0,c1.createElement)("div",{className:"bt-astack","data-lead":o?"":void 0,onClickCapture:p},e.map((m,d)=>{let f=s&&typeof a.toggleReaction=="function"?"".concat(s,":").concat(d):void 0,w=f?u?.[d]??[]:[],k=d===e.length-1,v=i&&k;return(0,c1.createElement)("div",{key:d,className:"bt-msg"},(0,c1.createElement)("div",{className:"bt-msg-line"},o&&k?o:null,(0,c1.createElement)("div",{className:"bt-bubble"},(0,c1.createElement)(Dk,{text:np(m,t.bots,n),streaming:v,labels:CB(),variant:"compact",fileMentions:l})),v?null:(0,c1.createElement)($B,{text:m,name:t.byId[n]?.name??T("Bot"),sessionId:r,react:f?b=>a.toggleReaction(s,d,b):void 0,actions:a})),w.length?(0,c1.createElement)("div",{className:"bt-reacts"},w.map(b=>(0,c1.createElement)("button",{key:b,type:"button",className:"bt-react","aria-label":T("Remove reaction {emoji}",{emoji:b}),onClick:()=>a.toggleReaction(s,d,b)},b))):null)}))}var AB=["\u{1F44D}","\u2764\uFE0F","\u{1F602}","\u{1F62E}","\u{1F622}","\u{1F64F}"];function MB(e,t,n){(0,c1.useEffect)(()=>{if(!e)return;let a=r=>{n.some(s=>s.current?.contains(r.target))||t()},i=r=>{r.key==="Escape"&&(r.stopPropagation(),t())};return window.addEventListener("mousedown",a),window.addEventListener("keydown",i,!0),()=>{window.removeEventListener("mousedown",a),window.removeEventListener("keydown",i,!0)}},[e])}function $B({text:e,name:t,sessionId:n,react:a,actions:i}){let[r,s]=(0,c1.useState)(null),[c,o]=(0,c1.useState)(null),[l,p]=(0,c1.useState)(!1),u=(0,c1.useRef)(null),m=(0,c1.useRef)(null),d=()=>s(null);MB(r!==null,d,[u,m]);let f=(b,_)=>{if(r===b){d();return}let z=_.currentTarget.getBoundingClientRect(),L=z.bottom+220{navigator.clipboard?.writeText(e).then(()=>{p(!0),setTimeout(()=>p(!1),1e3)})},k=()=>{let b=URL.createObjectURL(new Blob([e],{type:"text/markdown"}));Object.assign(document.createElement("a"),{href:b,download:"".concat(t,"-message.md")}).click(),setTimeout(()=>URL.revokeObjectURL(b),1e3)},v=(b,_,z)=>(0,c1.createElement)("button",{key:b,type:"button",role:"menuitem",onClick:()=>{d(),z()}},(0,c1.createElement)(_),b);return(0,c1.createElement)("div",{ref:u,className:"bt-tools","data-open":r!==null||void 0},a?(0,c1.createElement)("button",{type:"button",className:"bt-tool","aria-label":T("Add reaction"),title:T("Add reaction"),"aria-expanded":r==="react",onClick:b=>f("react",b)},(0,c1.createElement)(wp)):null,n?(0,c1.createElement)("button",{type:"button",className:"bt-tool","aria-label":T("Reply"),title:T("Reply"),onClick:()=>i.quote(n,e)},(0,c1.createElement)(xp)):null,(0,c1.createElement)("button",{type:"button",className:"bt-tool","aria-label":T("More message actions"),title:T("More"),"aria-haspopup":"menu","aria-expanded":r==="more",onClick:b=>f("more",b)},l?(0,c1.createElement)($t):(0,c1.createElement)(kp)),r==="react"?(0,el.createPortal)((0,c1.createElement)("div",{ref:m,className:"bt-react-strip",role:"menu","aria-label":T("Reactions"),style:c},AB.map(b=>(0,c1.createElement)("button",{key:b,type:"button",role:"menuitem","aria-label":b,onClick:()=>{d(),a(b)}},b))),document.body):null,r==="more"?(0,el.createPortal)((0,c1.createElement)("div",{ref:m,className:"bt-menu",role:"menu","aria-label":T("Message actions"),style:c},v(T("Copy"),Lp,w),v(T("Download"),zp,k)),document.body):null)}var Kk=160,Yk="\u2026",LB=[/^\s{0,3}(?:`{3,}|~{3,})/,/^\s{0,3}([-*_])(?:\s*\1){2,}\s*$/],SB=e=>LB.some(t=>t.test(e)),ZB=e=>typeof Intl<"u"&&typeof Intl.Segmenter=="function"?[...new Intl.Segmenter().segment(e)].map(t=>t.segment):[...e],EB=e=>{if(e.length<=Kk)return e;let t="";for(let n of ZB(e)){if(t.length+n.length>Kk-Yk.length)break;t+=n}return t+Yk},FB=e=>e.length===1?T("{n} line of reasoning",{n:e.length}):T("{n} lines of reasoning",{n:e.length}),jB=e=>{let t=e.split("\n").map(a=>a.replace(/\s+/g," ").trim()).filter(a=>a!==""),n=t.find(a=>!SB(a));return n===void 0?FB(t):EB(n)};function HB({text:e}){if(typeof e!="string"||e.trim()==="")return null;let t=jB(e);return(0,c1.createElement)("details",{className:"bt-think"},(0,c1.createElement)("summary",null,(0,c1.createElement)("span",{className:"bt-think-caret","aria-hidden":!0},"\u203A"),T("Thought it through"),t?(0,c1.createElement)("span",{className:"bt-think-peek"},t):null),(0,c1.createElement)("div",{className:"bt-think-text"},e))}function NB({node:e,openFile:t,fileMentions:n,useTurnData:a}){let i=a?.("turn-tail"),r=e.location,s=r?.kind==="turn"||r?.kind==="step"?r.turn:void 0,c=e.data.finalNode?.seq;return(0,c1.useMemo)(()=>{if(!(typeof n!="function"||s?.status!=="closed"||c===void 0))return i?.closing?.finalNode.seq===c?n({turn:s,seq:c,openFile:t}):void 0},[n,t,c,i,s])}function TB(e,t){let n=t?.("turn-tail"),a=e.data.finalNode?.seq;return!n?.closing||a===void 0?!0:n.closing.finalNode?.seq===a}function VB(e,t){if(!(e?.remote===void 0||t.length===0)&&!t.every(n=>/^Not sent:/.test(n.trim())))return(0,c1.createElement)("span",{className:"bt-lead",title:e.name,"data-flybot":"friend-lead"},(0,c1.createElement)(O0,{bot:e,size:22}))}function ez({node:e,groupPart:t,sessionId:n,openFile:a,fileMentions:i,useTurnData:r,useRoster:s,useUi:c,useTurnSteps:o,useTurnContext:l,actions:p}){let u=s(S=>S),m=e.data,d=o(String(m.turn)),f=l(String(m.turn)),w=NB({node:e,openFile:a,fileMentions:i,useTurnData:r}),k=t==="reasoning"?void 0:pp(u.byId[n],n,m.turn),v=TB(e,r),b=!!u.roomsById[n]||sp(u,n,m.turn),_=rp(u,n,m.turn),z=t==="reasoning"?[]:m.blocks.filter(S=>S.kind==="text"&&S.text.trim()!=="").map((S,R)=>R===0?L9(S.text):S.text).filter(S=>S.trim()!==""),L=m.status==="running";if(RB(p,n,"text:".concat(e.key??m.seq),!b&&L&&z.length>0?{text:!0}:null),b)return null;let C=t==="response"?"":Xk(d,m),j=op(m,t)?lp(f,d,m):[];if(z.length===0&&!C&&j.length===0)return null;let N=u.byId[n]?.id??n,H=z.length?_?(0,c1.createElement)(tl,{name:_,texts:z,roster:u,selfId:N,actions:p,sessionId:n,msgKey:"".concat(n,":").concat(m.turn,":").concat(e.key??m.seq??""),useUi:c}):(0,c1.createElement)(Jk,{texts:z,roster:u,selfId:N,actions:p,streaming:L,sessionId:n,msgKey:"".concat(n,":").concat(m.turn,":").concat(e.key??m.seq??""),useUi:c,mentions:w,lead:VB(u.byId[n],z)}):null;return(0,c1.createElement)(c1.Fragment,null,j.map(S=>{let R=S.source,B=u.byId[R.senderSessionId]??{id:R.senderSessionId,name:R.senderName??T("a Bot"),color:"gray"};return(0,c1.createElement)(IB,{key:S.seq,prefix:R.role==="stopped"?T("Stopped by"):R.role==="reply"?T("Reply from"):T("Message from"),bots:[B],onOpen:()=>{B.id&&p.openExchange(N,B.id)},whole:!0})}),C?(0,c1.createElement)(HB,{text:C}):null,k&&H?(0,c1.createElement)(qB,{held:k,roster:u,sessionId:n,actions:p,closing:v},H):H)}function qB({held:e,roster:t,sessionId:n,actions:a,closing:i,children:r}){let s=t.byId[n],c=(t.bots??[]).find(l=>l.remote?.handle===e.to),o=L2(e.toOwner)||(c?m9(c):n5({handle:e.to}))||e.to||T("a friend");return(0,c1.createElement)("div",{className:"bt-held-reply","data-state":e.status,"data-held":Ct(e.status)?"":void 0},r,i?(0,c1.createElement)(Wk,{held:{...e,toName:o,from:s?.name},actions:a}):null)}function tl({name:e,texts:t,roster:n,selfId:a,actions:i,sessionId:r,msgKey:s,useUi:c}){let o=(0,c1.createElement)("span",{className:"bt-lead",title:e},(0,c1.createElement)(B7,{name:e}));return(0,c1.createElement)("div",{className:"bt-group-msg bt-person-msg","data-person":e},(0,c1.createElement)("span",{className:"bt-group-name"},e),(0,c1.createElement)(Jk,{texts:t,roster:n,selfId:a,actions:i,sessionId:r,msgKey:s,useUi:c,lead:o}))}function IB({prefix:e,bots:t,joiner:n=T("and"),onOpen:a,whole:i=!1}){if(i&&t.length===1)return(0,c1.createElement)("div",{className:"bt-event"},(0,c1.createElement)("button",{type:"button",className:"bt-event-whole",title:t[0].name,onClick:()=>a?.(t[0])},(0,c1.createElement)("span",null,e),(0,c1.createElement)(O0,{bot:t[0],size:16}),(0,c1.createElement)("span",{className:"bt-event-name"},t[0].name)));let r=[];return r.push((0,c1.createElement)("span",{key:"p"},e)),t.forEach((s,c)=>{c>0&&r.push((0,c1.createElement)("span",{key:"j".concat(c)},n)),r.push((0,c1.createElement)("button",{key:s.id??c,type:"button",onClick:()=>a?.(s)},(0,c1.createElement)(O0,{bot:s,size:16}),s.name))}),(0,c1.createElement)("div",{className:"bt-event"},r)}var q41=1800*1e3;function w7({children:e}){return(0,c1.createElement)("span",{className:"bt-shimmer"},e)}var BB=[[/web_?search|search_?web/i,"Searching online"],[/fetch|browse|browser|web/i,"Reading a page"],[/shell|bash|pwsh|powershell|exec|command|terminal/i,"Running shell commands"],[/^(read|view|cat)\b|read_/i,"Opening a file"],[/grep|glob|list_dir|^ls$|find|search/i,"Looking through files"],[/write|edit|patch|apply|replace/i,"Writing changes"],[/image|photo|draw/i,"Working on an image"]],Qk={create_group:"Creating a group",update_group:"Updating the group",delete_group:"Deleting the group",post_to_group:"Posting in the group"};function PB(e,t,n,a){switch(e){case"ask_user":return null;case"request_secret":return null;case"list_secrets":return{label:T("Checking the keys"),state:"searching"};case"ask_user_question":return{label:T("Waiting for your answer"),state:"alert"};case"group_relay":return{relay:!0,state:"orbit"};case"message_bot":{let r=n(t("to"));return{label:r?T("Asking {name}",{name:r.name}):T("Asking another Bot"),state:"sending"}}case"stop_bot":{let r=n(t("bot"));return{label:r?T("Stopping {name}",{name:r.name}):T("Stopping another Bot"),state:"sending"}}case"create_bot":return{label:T("Creating {name}",{name:t("name")??T("a Bot")}),state:"sending"};case"update_bot":{let r=n(t("name"))??n(t("bot"))??(t("bot")?void 0:a);return{label:T("Updating {name}",{name:r?.name??T("a Bot")}),state:"sending"}}case"list_bots":return{label:T("Checking the team"),state:"searching"};case"read_group_chat":return{label:T("Reading {name}",{name:t("group")??T("a group chat")}),state:"searching"};case"read_own_chat":return{label:T("Looking back through the chat"),state:"searching"};case"remember":return{label:T("Saving to memory"),state:"working"};case"forget":return{label:T("Updating memory"),state:"working"};case"recall":return{label:T("Checking memory"),state:"searching"};default:if(Qk[e])return{label:T(Qk[e]),state:"sending"};let i=BB.find(([r])=>r.test(e))?.[1];return{label:i?T(i):null,state:E9(e)}}}function _7(e){return e?PB(e,()=>{},()=>{})?.label??T("Using {tool}",{tool:e}):T("Thinking about it")}function ot(e,t){return t?T("{action}: {detail}",{action:_7(e),detail:t}):"".concat(_7(e),"\u2026")}function RB(e,t,n,a){let i=a?JSON.stringify(a):"";(0,c1.useEffect)(()=>{if(i)return e.noteLive(t,n,JSON.parse(i)),()=>e.noteLive(t,n,null)},[t,n,i])}var lt=U1(g0(),1),UB=U1(R3(),1);function nl(e){let t=Math.floor(e/6e4);if(t<60)return"".concat(Math.max(1,t),"m");let n=Math.floor(t/60);return t%60===0?"".concat(n,"h"):"".concat(n,"h ").concat(t%60,"m")}var al='\n.bt-mw-dock-stack{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:var(--dsh-chat-content-width,min(960px,100%));margin:0 auto 6px;pointer-events:none}\n.bt-mw-row{pointer-events:auto;display:flex;align-items:center;gap:10px;min-width:0;max-width:calc(100% + 6px);height:32px;margin-inline-start:-6px;padding:0 12px 0 6px;border:0;border-radius:16px;background:none;color:var(--bt-ink-2);font:inherit;font-size:14px;cursor:pointer;animation:bt-mw-in .32s cubic-bezier(.23,1,.32,1) backwards;transition:background-color .16s ease-out}\n.bt-mw-row:hover{background:var(--bt-hover)}\n.bt-mw-row>.bt-mark{flex:none}\n.bt-mw-row-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-mw-row-time{flex:none;font-size:12px;color:var(--bt-ink-3);white-space:nowrap}\n.bt-mw-work{display:flex;align-items:center;justify-content:space-between;gap:8px}\n.bt-mw-stop{flex:none;height:22px;padding:0 10px;border:1px solid var(--bt-line,rgba(0,0,0,.12));border-radius:11px;background:none;color:var(--bt-ink-2);font:inherit;font-size:12px;cursor:pointer}\n.bt-mw-stop:hover{background:var(--bt-hover)}\n.bt-mw-stop:disabled{opacity:.5;cursor:default}\n.bt-mw-line{gap:8px}\n.bt-mw-stack{display:inline-flex;align-items:center;flex:none;line-height:0}\n.bt-mw-stack>*+*{margin-left:-4px}\n.bt-mw-face{position:relative;display:inline-flex;flex:none;border-radius:50%}\n.bt-mw-stack .bt-mw-face{box-shadow:0 0 0 1.5px var(--bt-main,#fff)}\n.bt-mw-face[data-ask]::after{content:"";position:absolute;right:-2px;bottom:-2px;width:7px;height:7px;border-radius:50%;background:#e3a008;box-shadow:0 0 0 1.5px var(--bt-main,#fff)}\n.bt-mw-ask{color:#b7791f;flex:none;white-space:nowrap}\nbody[data-ds-dark-theme] .bt-mw-ask{color:#f0b84a}\n.bt-mw-member{padding:0 6px 8px 42px;display:flex;flex-direction:column;gap:6px}\n.bt-mw-state{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-top:-4px}\n.bt-mw-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:var(--bt-hover);font-size:12px;line-height:17px;color:var(--bt-ink-2)}\n.bt-mw-tool{font-weight:600;color:var(--bt-ink)}\n.bt-mw-text{color:var(--bt-ink);overflow-wrap:anywhere}\n.bt-mw-reason{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}\n.bt-mw-code{display:block;font:11px/16px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--bt-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-mw-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:4px}\n.bt-mw-actions>button{height:28px;padding:0 12px;font-size:12px}\n.bt-mw-actions>button:disabled{opacity:.5;cursor:default}\n@keyframes bt-mw-in{from{opacity:0;transform:translateY(4px)}}\n@media (prefers-reduced-motion:reduce){.bt-mw-row{animation:none}}\n';var tz=(e,t)=>typeof t=="number"&&e-t>=6e4?" \xB7 ".concat(nl(e-t)):"",nz=(e,t)=>t?.remote?[]:[["always-bot","Always allow for this Bot"],...e.roomId?[["always-room","Always allow for this group"]]:[]];function Ka({approval:e,bot:t,actions:n,standing:a=!0}){let[i,r]=(0,J1.useState)(!1),s=c=>{r(!0),Promise.resolve(n.answerApproval(e.id,c)).catch(o=>n.reportError(o,"approval")).finally(()=>r(!1))};return(0,J1.createElement)("div",{className:"bt-mw-card",role:"group","aria-label":T("{name} is waiting for your approval",{name:t.name})},(0,J1.createElement)("div",{className:"bt-mw-tool"},e.tool),e.detail?.text?(0,J1.createElement)("div",{className:"bt-mw-text"},e.detail.text):null,e.reason?(0,J1.createElement)("div",{className:"bt-mw-reason"},e.reason):null,e.detail?.code?(0,J1.createElement)("code",{className:"bt-mw-code",title:e.detail.code},e.detail.code):null,e.answerable?(0,J1.createElement)("div",{className:"bt-mw-actions"},(0,J1.createElement)("button",{type:"button",className:"bt-q-btn",disabled:i,onClick:()=>s("reject")},T("Reject")),(0,J1.createElement)("button",{type:"button",className:"bt-q-submit",disabled:i,onClick:()=>s("allow")},T("Allow once")),...(a?nz(e,t):[]).map(([c,o])=>(0,J1.createElement)("button",{key:c,type:"button",className:"bt-q-btn","data-choice":c,disabled:i,onClick:()=>s(c)},T(o)))):(0,J1.createElement)("div",{className:"bt-mw-actions"},(0,J1.createElement)("button",{type:"button",className:"bt-q-btn",onClick:()=>n.openSession(t.id)},T("Open {name}'s chat",{name:t.name}))))}function az({entry:e,bot:t,room:n,actions:a,now:i}){let[r,s]=(0,J1.useState)(!1);if(e.state==="ask")return(0,J1.createElement)("div",{className:"bt-mw-member"},(0,J1.createElement)("div",{className:"bt-mw-state bt-mw-ask"},"".concat(T("Waiting for your approval")).concat(tz(i,e.approvals[0].at))),e.approvals.map(o=>(0,J1.createElement)(Ka,{key:o.id,approval:o,bot:t,actions:a})));if(e.state!=="work")return null;let c=()=>{s(!0),Promise.resolve(a.stopMemberWork(n.id,t.id)).catch(o=>a.reportError(o,"stop")).finally(()=>s(!1))};return(0,J1.createElement)("div",{className:"bt-mw-member"},(0,J1.createElement)("div",{className:"bt-mw-state bt-mw-work"},(0,J1.createElement)("span",null,(0,J1.createElement)(w7,null,ot(e.doing.tool,e.doing.step)),tz(i,e.doing.since)),e.here&&e.doing.handed!==!0?(0,J1.createElement)("button",{type:"button",className:"bt-mw-stop",disabled:r,onClick:c},T("Stop")):null))}var A1=U1(g0(),1),KB=U1(R3(),1);var YB=()=>window.SpeechRecognition??window.webkitSpeechRecognition;function QB(e){let[t,n]=(0,A1.useState)(!1),[a,i]=(0,A1.useState)(""),r=(0,A1.useRef)(null),s=(0,A1.useRef)(e);return s.current=e,(0,A1.useEffect)(()=>()=>r.current?.abort(),[]),(0,A1.useEffect)(()=>{if(!a)return;let l=setTimeout(()=>i(""),2600);return()=>clearTimeout(l)},[a]),{listening:t,note:a,start:({continuous:l=!0,onEnd:p}={})=>{let u=YB();if(!u)return i(T("Dictation is not available in this browser")),!1;let m=new u;m.lang=navigator.language||"zh-CN",m.interimResults=!0,m.continuous=l,m.onresult=d=>{let f="";for(let w=d.resultIndex;w{d.error==="aborted"||d.error==="no-speech"||i(d.error==="not-allowed"||d.error==="service-not-allowed"?T("Microphone access is blocked"):T("Couldn't hear that"))},m.onend=()=>{n(!1),r.current=null,p?.()},r.current=m;try{return m.start(),n(!0),!0}catch{return i(T("Couldn't start dictation")),!1}},stop:()=>r.current?.stop()}}function il({chat:e,mentions:t=[],initialText:n="",attachments:a=[],initialImages:i=[],allowImages:r=!1,onImages:s,onDraft:c,onError:o}){let[l,p]=(0,A1.useState)(n),[u,m]=(0,A1.useState)(!1),d=(0,A1.useRef)(!1),[f,w]=(0,A1.useState)([]),[k,v]=(0,A1.useState)(i),b=(0,A1.useRef)(!0),_=(0,A1.useRef)(!1),[z,L]=(0,A1.useState)(!1);(0,A1.useEffect)(()=>()=>{b.current=!1},[]);let C=async X=>{if(_.current)return;_.current=!0,L(!0);let o1=[...X.target.files],w1=X.target.ownerDocument.defaultView;X.target.value="";try{if(o1.length+k.length>4||o1.some(M=>M.size>256*1024)||o1.reduce((M,a1)=>M+a1.size,k.reduce((M,a1)=>M+a1.bytes,0))>512*1024)throw new Error("Choose up to four files, at most 256 KiB each and 512 KiB total");let M1=await Promise.all(o1.map(M=>new Promise((a1,l1)=>{let Z=new w1.FileReader;Z.onerror=()=>l1(new Error("Image could not be read")),Z.onload=()=>a1({name:M.name,mediaType:M.type,bytes:M.size,data:String(Z.result).split(",")[1]}),Z.readAsDataURL(M)})));if(b.current){let M=[...k,...M1];v(M),s?.(M),N("")}}catch(M1){b.current&&N(M1.message)}finally{_.current=!1,b.current&&L(!1)}},[j,N]=(0,A1.useState)(""),H=(0,A1.useRef)(null),S=(0,A1.useRef)(l);S.current=l;let R=X=>{p(X),c?.(X)},B=QB((X,o1)=>{o1&&R(S.current+X)}),I=l.match(/(?:^|\s)@([^\s@]*)$/)?.[1],e1=I===void 0?[]:t.filter(X=>X.name.toLowerCase().includes(I.toLowerCase())).slice(0,8),G=async X=>{if(X.preventDefault(),!(d.current||_.current||!l.trim()&&!k.length)){d.current=!0,m(!0),N("");try{await e.send(l,k.length?{images:k.filter(o1=>["image/png","image/jpeg","image/webp","image/gif"].includes(o1.mediaType)),files:k.filter(o1=>!["image/png","image/jpeg","image/webp","image/gif"].includes(o1.mediaType))}:f.length?{attachmentIds:f}:void 0),R(""),w([]),v([]),s?.([])}catch(o1){N(o1.message),o?.(o1)}finally{d.current=!1,m(!1)}}};return(0,A1.createElement)("form",{className:"bt-scoped-composer",onSubmit:G,"data-composer-card":""},(0,A1.createElement)("textarea",{ref:H,name:"text","aria-label":T("Message"),value:l,disabled:u,onInput:X=>R(X.target.value),onKeyDown:X=>{X.key==="Enter"&&!X.shiftKey&&!X.nativeEvent.isComposing&&G(X)}}),r?(0,A1.createElement)("label",null,(0,A1.createElement)(Cp),"Add files",(0,A1.createElement)("input",{type:"file",multiple:!0,disabled:z||u,onChange:C})):null,k.map((X,o1)=>(0,A1.createElement)("div",{key:o1},X.name,(0,A1.createElement)("button",{type:"button",onClick:()=>{let w1=k.filter((M1,M)=>M!==o1);v(w1),s?.(w1)}},"Remove"))),a.length?(0,A1.createElement)("fieldset",null,(0,A1.createElement)("legend",null,"Include registered documents"),a.map(X=>(0,A1.createElement)("label",{key:X.id},(0,A1.createElement)("input",{type:"checkbox",checked:f.includes(X.id),onChange:o1=>w(w1=>o1.target.checked?[...w1,X.id]:w1.filter(M1=>M1!==X.id))}),X.name))):null,e1.length?(0,A1.createElement)("div",{role:"listbox","aria-label":T("Bots")},e1.map(X=>(0,A1.createElement)("button",{key:X.id,type:"button",role:"option",onClick:()=>{R(l.slice(0,l.length-I.length)+X.name+" "),H.current?.focus()}},X.name))):null,(0,A1.createElement)("button",{type:"button","aria-label":B.listening?T("Stop dictation"):T("Dictate"),onClick:()=>B.listening?B.stop():B.start()},(0,A1.createElement)(_p)),(0,A1.createElement)("button",{type:"submit",disabled:u||z||!l.trim()&&!k.length},T("Send")),j?(0,A1.createElement)("p",{role:"alert"},j):null,B.note?(0,A1.createElement)("p",{role:"status"},B.note):null)}var y1=U1(g0(),1),fz=U1(rz(),1);var r1=U1(g0(),1),rP=U1(R3(),1);var pt=U1(g0(),1);var Ya=U1(g0(),1);var H51=7*864e5;var nP=e=>(0,pt.createElement)("path",{d:e}),w3=(...e)=>function(){return(0,pt.createElement)("svg",{width:14,height:14,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.map(nP))},Q4="M10 3.25a6.75 6.75 0 1 1 0 13.5 6.75 6.75 0 0 1 0-13.5z",N51=w3("M3.5 11.5l1.9-6.1A1.5 1.5 0 0 1 6.83 4.35h6.34a1.5 1.5 0 0 1 1.43 1.05l1.9 6.1","M3.5 11.5v3.25a1.5 1.5 0 0 0 1.5 1.5h10a1.5 1.5 0 0 0 1.5-1.5V11.5","M3.5 11.5h3.75l1 1.75h3.5l1-1.75h3.75"),T51=w3(Q4,"M10 6.75v3.75","M10 13.25h.01"),V51=w3(Q4,"M10 6.5V10l2.25 1.5"),q51=w3(Q4,"M8.1 8a2 2 0 1 1 2.65 1.9c-.45.18-.75.6-.75 1.1v.25","M10 13.5h.01"),I51=w3(Q4,"M7 10.25l2 2 4-4.25"),B51=w3(Q4,"M7.75 7.75l4.5 4.5M12.25 7.75l-4.5 4.5"),P51=w3(Q4,"M8.5 7.25v5.5l4.25-2.75z"),R51=w3("M4.5 10.5l3.5 3.5 7.5-8"),D51=w3(Q4,"M5.25 14.75l9.5-9.5");var Qa=U1(g0(),1);var aP=U1(g0(),1);var x7=U1(g0(),1),iP=U1(R3(),1);var sl='\n.bt-side-top .bt-brand{cursor:default;padding-left:6px}\n.bt-side-top .bt-brand:hover{background:none}\n.bt-brand .bt-mark{flex:none}\n.bt-pin{flex:none;display:inline-flex;color:var(--bt-ink-3)}\n.bt-rail .bt-row{position:relative}\n.bt-rail .bt-pin{position:absolute;top:3px;left:calc(50% + 12px)}\n.bt-side .bt-read-only{margin:4px 8px 6px;padding:8px 10px;border-radius:10px;background:var(--bt-hover);font-size:12px;line-height:1.45;text-align:left}\n[class*="_footArea"]:has(.bt-foot-account){display:flex!important;flex-direction:row!important;align-items:center;gap:6px}\n[class*="_footArea"]:has(.bt-foot-account)>[class*="_footerActions"],[class*="_footArea"]:has(.bt-foot-account)>[class*="_footerActions"]>div{display:contents!important}\n.bt-foot-account{order:-1;flex:none;display:inline-flex}\n[class*="_footArea"]:has(.bt-foot-account) .bt-connect-foot{order:0;flex:1 1 auto;min-width:0;width:auto}\n[class*="_footArea"]:has(.bt-foot-account)>[class*="_settingsArea"]{order:1;flex:none}\n[class*="_footArea"]:has(.bt-foot-account)>[class*="_settingsArea"] button[class*="_trigger"] [class*="_label"]{display:none!important}\n\n/* The update cloud springs in when a newer DS Bot shows up; its arrow drops in a\n loop while the install runs. */\n.bt-round.bt-update{position:relative;color:var(--bt-accent,#4D6BFE);animation:bt-update-in '.concat(d1.duration,"ms ").concat(d1.easing,'}\n.bt-round.bt-update svg{width:17px;height:17px}\n.bt-round.bt-update[data-phase=installed]{color:var(--bt-ink-2)}\n@keyframes bt-update-in{from{opacity:0;transform:scale(.6);filter:blur(4px)}}\n.bt-update[data-phase=installing] .bt-cloud-arrow{animation:bt-cloud-drop 1.1s cubic-bezier(.45,0,.55,1) infinite}\n@keyframes bt-cloud-drop{0%{transform:translateY(-3px);opacity:0}35%{opacity:1}70%{transform:translateY(1px);opacity:1}100%{transform:translateY(2px);opacity:0}}\n.bt-update-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:#E5484D;box-shadow:0 0 0 1.5px var(--bt-sidebar)}\n.bt-update-pop{position:fixed;z-index:130;width:280px;padding:14px 14px 12px;border-radius:14px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);color:var(--bt-ink);box-sizing:border-box;transform-origin:top left;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;animation:bt-update-pop ').concat(d1.duration,"ms ").concat(d1.easing,'}\n@keyframes bt-update-pop{from{opacity:0;transform:scale(.96);filter:blur(4px)}}\n.bt-update-title{font-size:14px;line-height:20px;font-weight:600}\n.bt-update-text{margin-top:2px;font-size:12.5px;line-height:18px;color:var(--bt-ink-2)}\n.bt-update-error{margin-top:8px;font-size:12px;line-height:17px;color:#c21d2e;overflow-wrap:anywhere;max-height:90px;overflow:auto}\n.bt-update-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}\n.bt-update-notes{margin-right:auto;font-size:12.5px;color:var(--bt-ink-2);text-decoration:none}\n.bt-update-notes:hover{color:var(--bt-ink);text-decoration:underline}\n.bt-update-go{height:30px;padding:0 14px;border:0;border-radius:999px;background:var(--bt-accent,#4D6BFE);color:var(--bt-accent-ink,#fff);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .12s ease,transform .12s ease}\n.bt-update-go:hover:not(:disabled){opacity:.9}\n.bt-update-go:active:not(:disabled){transform:scale(.96)}\n.bt-update-go:disabled{opacity:.6;cursor:default}\n.bt-update-dsh:not(:first-child){margin-top:12px;padding-top:12px;border-top:.5px solid var(--bt-line-2)}\n@media (prefers-reduced-motion:reduce){.bt-round.bt-update,.bt-update-pop,.bt-update .bt-cloud-arrow{animation:none}}\n\n/* The DSH Agent row and its expanding Session list. The black whale is the\n harness\'s own mark, so the row reads as "plain dsh" next to the Bot marks. */\n.bt-agent-ava{flex:none;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bt-hover);color:var(--bt-ink)}\n.bt-agent-ava.bt-run{animation:bt-agent-pulse 1.4s ease-in-out infinite}\n@keyframes bt-agent-pulse{0%,100%{opacity:1}50%{opacity:.55}}\n.bt-agent-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows ').concat(d1.duration,"ms ").concat(d1.easing,"}\n.bt-agent-sub[data-open]{grid-template-rows:1fr}\n.bt-agent-sub-in{overflow:hidden;min-height:0;margin-left:44px}\n.bt-agent-sub-row{display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px 5px 8px;border:0;border-radius:8px;background:none;color:var(--bt-ink-2);font:inherit;font-size:13px;line-height:20px;text-align:left;cursor:pointer}\n.bt-agent-sub-row:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-agent-sub-row[aria-current=page]{background:var(--bt-hover);color:var(--bt-ink);font-weight:500}\n.bt-agent-sub-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-agent-sub-time{flex:none;font-size:11px;color:var(--bt-ink-3)}\n.bt-agent-new{color:var(--bt-ink-3)}\n.bt-agent-new svg{width:14px;height:14px;flex:none}\n.bt-agent-edit{padding:3px 10px 3px 4px}\n.bt-agent-edit input{width:100%;border:0;border-radius:6px;background:var(--bt-hover);color:var(--bt-ink);font:inherit;font-size:13px;line-height:20px;padding:2px 8px;outline:none;box-shadow:inset 0 0 0 .5px var(--bt-line-2)}\n.bt-agent-sub[data-open] .bt-agent-sub-row{animation:bt-agent-row-in .24s ease both;animation-delay:calc(var(--i, 0)*30ms)}\n@keyframes bt-agent-row-in{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}\n@media (prefers-reduced-motion:reduce){.bt-agent-sub{transition:none}.bt-agent-sub .bt-agent-sub-row{animation:none}}\n\n.bt-row-wrap{position:relative;display:flex;align-items:center;width:100%;min-width:0}\n.bt-row-wrap>.bt-row{flex:1 1 auto;min-width:0;width:100%}\n.bt-tree-item>.bt-row-wrap{flex:1 1 auto;width:auto;min-width:0}\n/* Gear sits over the row so hover/selected fill the same full-width band as a plain row (#384). */\n.bt-row-settings{position:absolute;right:6px;top:50%;transform:translateY(-50%);z-index:1;flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-3);cursor:pointer;opacity:0;pointer-events:none;transition:background-color .12s ease,color .12s ease,opacity .12s ease}\n.bt-row-wrap:hover>.bt-row,.bt-row-wrap:focus-within>.bt-row{padding-right:36px}\n.bt-row-wrap:hover .bt-row-settings,.bt-row-wrap:focus-within .bt-row-settings{opacity:1;pointer-events:auto;color:var(--bt-ink-2);background:var(--bt-hover)}\n.bt-row-settings:hover{opacity:1;color:var(--bt-ink-2);background:var(--bt-hover)}\n.bt-row-settings svg{width:15px;height:15px}\n");function cz(e,t,n,a){(0,r1.useEffect)(()=>{t&&n&&a.clearUnread(e)},[t,n])}var Ja=()=>(0,r1.createElement)("span",{className:"bt-pin","aria-hidden":!0},(0,r1.createElement)($p)),oz=(e,t)=>e?e(n=>(n.approvals??[]).some(t)):!1,lz=(e,t)=>e?e(n=>t(n.rooms??{}).join(",")):"",pz=e=>e===""?[]:e.split(",").map(t=>{let[n,a]=t.split("|");return{id:n,tool:a||void 0}}),uz=(e,t,n)=>(0,r1.createElement)(w7,null,"".concat(e," \xB7 ").concat(_7(t),"\u2026").concat(n>0?" +".concat(n):""));function mz({bot:e,roster:t,actions:n,useSessions:a,useSessionStatus:i,useSessionRetainInfo:r,useActivity:s,useWork:c,wide:o,marked:l,asRow:p=!1}){let u=e.id,m=r5(e),d=a(l1=>T7(V7(l1,m,t.exchangeTurns[m],up(e,m),q7(t)),t)),f=i(l1=>l1.get(m)?.running===!0),w=r(m,l1=>(l1?.retainedBy?.mainView??0)>0),k=i(l1=>l1.get(m)?.completionUnread===!0||l1.get(m)?.pendingInteraction!==void 0)||l&&!w;cz(u,w,l,n);let v=Z9(t,u),b=t.mainBotId===u&&!p,z=oz(c,l1=>l1.botId===u)||(e.pendingCount??0)>0,L=t.questions?.[m]!==void 0||z,C=s(l1=>l1[u]),j=pz(lz(c,l1=>Object.entries(l1).flatMap(([Z,P1])=>P1.filter(C0=>C0.botId===u).map(C0=>"".concat(Z,"|").concat(C0.tool??""))))),N=!f&&j.length>0,H=fp(f||N,C,L),S=N?hp(j,t.roomsById):[],R=S.length>0?uz(t.roomsById[S[0].id]?.name??T("a group chat"),S[0].tool,S.length-1):null;if(!Zl(e)&&!w&&!v)return null;let B=l1=>{l1.preventDefault(),n.openMenu({kind:"bot",id:u,x:l1.clientX,y:l1.clientY})},I=e.pinned===!0&&!b,e1=!!e.remote,G=e1?t5(e):e.name,X=R||d||(e1?e.remote?.gone?T("no longer shared"):T("Friend's Bot"):""),o1=[G,v?T("Main Bot"):"",I?T("Pinned"):"",f||N?T("Working"):"",z?T("Waiting for your approval"):L?T("Waiting for your answer"):"",k?T("Unread activity"):""].filter(Boolean).join(", ");if(b&&o)return(0,r1.createElement)("div",{className:"bt-tile-wrap"},(0,r1.createElement)("button",{type:"button",className:"bt-tile","aria-label":o1,"aria-current":w?"page":void 0,"data-bot-id":u,title:d||e.name,onClick:()=>n.openSession(u),onContextMenu:B},(0,r1.createElement)(s5,{bot:e,size:60,state:H,main:!0}),(0,r1.createElement)("span",{className:"bt-tile-name"},G),k&&!z&&!w?(0,r1.createElement)("span",{className:"bt-unread bt-tile-unread","aria-hidden":!0}):null,e.role?(0,r1.createElement)("span",{className:"bt-chip"},e.role):null));let w1=o&&z&&!w?(0,r1.createElement)("span",{className:"bt-unread bt-unread-wait","aria-hidden":!0}):o&&k&&!w?(0,r1.createElement)("span",{className:"bt-unread","aria-hidden":!0}):null,M1=(0,r1.createElement)("button",{type:"button",className:"bt-row","aria-label":o1,"aria-current":w?"page":void 0,"data-bot-id":u,title:e1?G:dp(G,mp(e,t)?.name,o),onClick:()=>n.openSession(u),onContextMenu:B},(0,r1.createElement)(s5,{bot:e,size:36,state:H,main:v}),I&&!o?(0,r1.createElement)(Ja):null,o?(0,r1.createElement)("span",{className:"bt-row-body"},(0,r1.createElement)("span",{className:"bt-row-name"},(0,r1.createElement)("span",{className:"bt-row-title"},G),e.remote?(0,r1.createElement)(sP,{remote:e.remote}):null,I?(0,r1.createElement)(Ja):null),X?(0,r1.createElement)("span",{className:"bt-row-preview"},X):null):null,w1),M=e.remote?T("Bot settings"):T("Edit Bot"),a1=o?(0,r1.createElement)("button",{type:"button",className:"bt-row-settings","aria-label":M,title:M,onFocus:l1=>sz(l1.currentTarget),onClick:l1=>{l1.stopPropagation(),sz(l1.currentTarget),n.openSettings("bots",u)}},(0,r1.createElement)(Mp)):null;return a1?(0,r1.createElement)("div",{className:"bt-row-wrap","data-bot-id":u},M1,a1):M1}function sz(e){let t=()=>{for(let a=e?.parentElement;a;a=a.parentElement)a.scrollLeft>0&&(a.scrollLeft=0);let n=typeof document>"u"?null:document.scrollingElement;n&&n.scrollLeft>0&&(n.scrollLeft=0)};t(),typeof requestAnimationFrame=="function"&&requestAnimationFrame(()=>requestAnimationFrame(t))}function sP({remote:e}){return(0,r1.createElement)("span",{className:"bt-row-remote",title:e.gone?"".concat(e.handle," \xB7 ").concat(T("no longer shared")):e.handle,"aria-label":T("Friend's Bot")},(0,r1.createElement)("svg",{width:11,height:11,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0},(0,r1.createElement)("circle",{cx:12,cy:12,r:9}),(0,r1.createElement)("path",{d:"M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18"})))}function cP(){return(0,r1.createElement)("span",{className:"bt-row-remote bt-row-face",title:T("Face-to-face"),"aria-label":T("Face-to-face")},(0,r1.createElement)("svg",{width:11,height:11,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0},(0,r1.createElement)("circle",{cx:9,cy:8,r:3}),(0,r1.createElement)("circle",{cx:16,cy:9,r:2.5}),(0,r1.createElement)("path",{d:"M4 18a5 5 0 0 1 10 0M14 18a4 4 0 0 1 6 0"})))}function oP({room:e,roster:t,actions:n,useSessions:a,useSessionStatus:i,useSessionRetainInfo:r,useWork:s,wide:c,marked:o}){let l=e.id,p=a(R=>T7(V7(R,l,[],[],q7(t)),t)),u=T7(N7(e.preview),t)||p,m=r(l,R=>(R?.retainedBy?.mainView??0)>0),d=i(R=>R.get(l)?.completionUnread===!0)||o&&!m;cz(l,m,o,n);let f=oz(s,R=>R.roomId===l),w=t.questions?.[l]!==void 0,k=pz(lz(s,R=>(R[l]??[]).map(B=>"".concat(B.botId,"|").concat(B.tool??"")))),v=t.byId[k[0]?.id],b=v?uz(v.name,k[0].tool,k.length-1):null;if(e.hidden&&!m)return null;let _=e.pinned===!0,z=h9(e),L=e.sharedFrom?d9(e.sharedFrom.inviterName):"",C=L&&L!==z?"".concat(z," \xB7 ").concat(L):z,j=f||(e.pendingCount??0)>0,N=w||j,H=e.origin==="face-to-face",S=[C,H?T("Face-to-face"):"",_?T("Pinned"):"",k.length>0?T("Working"):"",j?T("Waiting for your approval"):N?T("Waiting for your answer"):""].filter(Boolean).join(", ");return(0,r1.createElement)("button",{type:"button",className:"bt-row","aria-label":S,"aria-current":m?"page":void 0,title:C,"data-room-id":l,onClick:()=>n.openSession(l),onContextMenu:R=>{R.preventDefault(),n.openMenu({kind:"room",id:l,x:R.clientX,y:R.clientY})}},(0,r1.createElement)(kt,{room:e,roster:t,size:36}),_&&!c?(0,r1.createElement)(Ja):null,c?(0,r1.createElement)("span",{className:"bt-row-body"},(0,r1.createElement)("span",{className:"bt-row-name"},(0,r1.createElement)("span",{className:H?"bt-row-title bt-row-title-face":"bt-row-title"},H?S9(z):z),H?(0,r1.createElement)(cP):e.sharedFrom?(0,r1.createElement)("span",{className:"bt-tag",title:L},T("Shared")):null,_?(0,r1.createElement)(Ja):null),b?(0,r1.createElement)("span",{className:"bt-row-preview"},b):u?(0,r1.createElement)("span",{className:"bt-row-preview"},u):null):null,c&&N&&!m?(0,r1.createElement)("span",{className:"bt-unread bt-unread-wait","aria-hidden":!0}):c&&d&&!m?(0,r1.createElement)("span",{className:"bt-unread","aria-hidden":!0}):null)}var Rt1=ge(1e3,63);var cl=class extends r1.Component{constructor(t){super(t),this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(t){console.error("flybot: nodeActions failed",t)}render(){return this.state.failed?null:(0,r1.createElement)(this.props.component,{bot:this.props.bot})}};function dz({node:e,rowProps:t,markedUnread:n,collapsed:a,toggle:i,actions:r}){let{bot:s,depth:c,children:o}=e,l=a[s.id]===!0;return(0,r1.createElement)(r1.Fragment,null,(0,r1.createElement)("div",{className:"bt-tree-item","data-depth":c,style:{paddingLeft:"".concat(c*16,"px")}},o.length?(0,r1.createElement)("button",{type:"button",className:"bt-tree-toggle","aria-expanded":!l,"aria-label":"".concat(l?T("Expand"):T("Collapse")," ").concat(s.name),onClick:()=>i(s.id)},(0,r1.createElement)("span",{className:"bt-tree-chev","aria-hidden":!0},"\u25BE")):(0,r1.createElement)("span",{className:"bt-tree-toggle bt-tree-leaf","aria-hidden":!0}),(0,r1.createElement)(mz,{...t,bot:s,asRow:!0,marked:n[s.id]===!0}),typeof r=="function"?(0,r1.createElement)(cl,{component:r,bot:s}):null),l?null:o.map(p=>(0,r1.createElement)(dz,{key:p.bot.id,node:p,rowProps:t,markedUnread:n,collapsed:a,toggle:i,actions:r})))}function hz({roster:e,selectedId:t,openSession:n,openDetails:a}){let[i,r]=(0,r1.useState)({}),s=m=>r(d=>({...d,[m]:!d[m]})),c=e.mainBotId,o=e.bots.some(m=>m.parentId)?b9(e.bots,c,m=>e.byId[m]?.parentId):[],l={ids:[],byId:{}},p=new Map,u={roster:e,wide:!0,marked:!1,useSessions:m=>m(l),useSessionStatus:m=>m(p),useSessionRetainInfo:(m,d)=>d({retainedBy:{mainView:m===(e.byId[t]?r5(e.byId[t]):t)?1:0}}),useActivity:m=>m({}),actions:{openSession:m=>{(e.byId[m]||e.roomsById[m])&&n(m)},openMenu:({id:m})=>{(e.byId[m]||e.roomsById[m])&&a?.(m)},openSettings:(m,d)=>{(e.byId[d]||e.roomsById[d])&&a?.(d)}}};return(0,r1.createElement)("div",{className:"bt-list",role:"region","aria-label":T("Bot list")},o.length?o.map(m=>(0,r1.createElement)(dz,{key:m.bot.id,node:m,rowProps:u,markedUnread:{},collapsed:i,toggle:s})):e.bots.map(m=>(0,r1.createElement)(mz,{...u,key:m.id,bot:m,asRow:!0})),e.rooms.map(m=>(0,r1.createElement)(oP,{...u,key:m.id,room:m})))}var gz="\nbody{--bt-ink:#141414;--bt-ink-2:rgba(20,20,20,.6);--bt-ink-3:rgba(20,20,20,.36);--bt-bubble:#eeeeee;--bt-sidebar:#f7f7f7;--bt-main:#fcfcfc;--bt-line:rgba(20,20,20,.08);--bt-line-2:rgba(20,20,20,.15);--bt-line-weak:rgba(20,20,20,.1);--bt-hover:rgba(119,119,119,.09);--bt-active:rgba(119,119,119,.17);--bt-card:#ffffff;--bt-accent:#4d6bfe;--bt-green:#00c972;--bt-star:#ff9800;--bt-user:#070707;--bt-user-ink:#fcfcfc;--bt-tag-bg:rgba(20,20,20,.06);--bt-tag-ink:rgba(20,20,20,.56)}\nbody[data-ds-dark-theme]{--bt-ink:#f2f2f2;--bt-ink-2:rgba(242,242,242,.6);--bt-ink-3:rgba(242,242,242,.36);--bt-bubble:#262626;--bt-sidebar:#1b1b1b;--bt-main:#141414;--bt-line:rgba(255,255,255,.08);--bt-line-2:rgba(255,255,255,.15);--bt-line-weak:rgba(255,255,255,.1);--bt-hover:rgba(160,160,160,.12);--bt-active:rgba(160,160,160,.2);--bt-card:#1f1f1f;--bt-user:#f2f2f2;--bt-user-ink:#141414;--bt-tag-bg:rgba(255,255,255,.09);--bt-tag-ink:rgba(242,242,242,.62)}\n".concat(Object.entries(Be).map(([e,[t]])=>"body{--bt-ink-".concat(e,":").concat(t,"}")).join(""),"\n").concat(Object.entries(Be).map(([e,[,t]])=>"body[data-ds-dark-theme]{--bt-ink-".concat(e,":").concat(t,"}")).join(""),'\n.bt-mark{display:inline-block;flex:none;position:relative;line-height:0}\n.bt-mark svg{width:100%;height:100%;overflow:visible}\n.bt-mark-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;box-shadow:inset 0 0 0 1px var(--bt-line)}\n.bt-mark-emoji{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;user-select:none}\n.bt-mark .bt-b,.bt-mark .bt-eye,.bt-mark .bt-eyes,.bt-mark .bt-gaze{transform-box:fill-box}\n.bt-mark .bt-b{transform-origin:50% 100%}\n.bt-mark .bt-eye,.bt-mark .bt-eyes{transform-origin:center}\n/* Motion levels (Settings \u2192 Bots \u2192 Animation) set body[data-bt-motion]: quiet moves a\n mark only for its state; normal, the default, adds petting, pokes and eyes that follow\n the pointer; lively adds blinks and fidgets at rest and a question riding on the head. */\nbody[data-bt-motion=lively] .bt-mark[data-live]:is([data-state=idle],[data-state=alert]) .bt-eye{animation:bt-blink-idle 5s linear infinite;animation-delay:var(--bt-delay,0s)}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle]:is([data-fidget=hop],[data-fidget=sway],[data-fidget=stretch]) :is(.bt-b,.bt-mark-img){animation:var(--bt-fidget) 9s ease-in-out var(--bt-fidget-delay,0s) infinite}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=hop]{--bt-fidget:bt-fidget-hop}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=sway]{--bt-fidget:bt-fidget-sway}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=stretch]{--bt-fidget:bt-fidget-stretch}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=look] .bt-eyes{animation:bt-fidget-look 9s ease-in-out var(--bt-fidget-delay,0s) infinite}\n@keyframes bt-fidget-hop{0%,8%,100%{transform:none}3%{transform:translateY(-10%) scale(.97,1.04)}5.5%{transform:translateY(0) scale(1.05,.95)}}\n@keyframes bt-fidget-sway{0%,10%,100%{transform:none}2.5%{transform:rotate(-8deg)}5%{transform:rotate(7deg)}7.5%{transform:rotate(-3deg)}}\n@keyframes bt-fidget-stretch{0%,9%,100%{transform:none}4%{transform:scale(.94,1.08)}7%{transform:scale(1.03,.97)}}\n@keyframes bt-fidget-look{0%,22%,100%{transform:none}3%,9%{transform:translateX(-14%)}12%,19%{transform:translateX(14%)}}\nbody[data-bt-motion=lively] .bt-badge-alert{right:auto;bottom:auto;left:50%;top:calc(var(--bt-size,36px) * -.14);translate:-50% 0;animation:bt-q-ride 1.3s cubic-bezier(.3,.7,.4,1) infinite}\nbody[data-bt-motion=lively] :is(.bt-row,.bt-tile)>.bt-mark:hover .bt-badge-alert{animation:none}\n.bt-tree-item{position:relative;display:flex;align-items:center;min-width:0}\n.bt-tree-item>.bt-row{flex:1 1 auto;min-width:0}\n.bt-tree-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-3);font-size:16px;line-height:1;cursor:pointer}\n.bt-tree-toggle:not(.bt-tree-leaf):hover{background:var(--bt-hover)}\n.bt-tree-toggle:focus-visible{outline:2px solid var(--bt-accent);outline-offset:1px}\n.bt-tree-chev{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:16px;line-height:1;transition:transform .12s ease}\n.bt-tree-toggle[aria-expanded=false] .bt-tree-chev{transform:rotate(-90deg)}\n.bt-tree-leaf{cursor:default}\n@keyframes bt-q-ride{0%,55%,100%{transform:translateY(0)}20%{transform:translateY(calc(var(--bt-size,36px) * -.14))}40%{transform:translateY(0)}}\n/* Petting: with the pointer on a sidebar avatar or just around it (a ring a fifth of its\n size wide), a resting mark leans into the pointer and keeps nuzzling it, its eyes\n closed in a happy arc, and springs back when the pointer leaves. */\n:is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster)::before{content:\'\';position:absolute;inset:-20%;border-radius:50%}\n.bt-mark[data-live] .bt-b,.bt-mark[data-live] .bt-mark-img{transition:rotate .5s cubic-bezier(.34,1.56,.64,1),translate .5s cubic-bezier(.34,1.56,.64,1),scale .3s ease-out}\n.bt-mark[data-live] .bt-eye{transition:scale .14s ease-in}\n.bt-mark[data-live] .bt-eye-happy{transition:opacity .12s ease-out}\nbody:not([data-bt-motion=quiet]) :is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster):hover .bt-mark[data-live]:is([data-state=idle],[data-state=alert]):not(.bt-mark-poke) :is(.bt-b,.bt-mark-img){rotate:8deg;translate:5% -1%;animation:bt-nuzzle .78s ease-in-out .32s infinite}\nbody:not([data-bt-motion=quiet]) :is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster):hover .bt-mark[data-live]:is([data-state=idle],[data-state=alert]) .bt-eye{scale:1 0;animation:none}\nbody:not([data-bt-motion=quiet]) :is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster):hover .bt-mark[data-live]:is([data-state=idle],[data-state=alert]) .bt-eye-happy{opacity:1;transition-delay:.1s}\n@keyframes bt-nuzzle{50%{rotate:14deg;translate:8% -3%;scale:1.03 .97}}\n.bt-mark[data-gaze] .bt-b{translate:calc(var(--bt-gx,0) * 5%) calc(var(--bt-gy,0) * 4%);transition:translate .18s ease-out}\n.bt-mark[data-gaze] .bt-gaze{transform:translate(calc(var(--bt-gx,0) * 12%),calc(var(--bt-gy,0) * 11%));transition:transform .18s ease-out}\nbody[data-bt-motion=quiet] .bt-mark[data-gaze] .bt-b{translate:none}\nbody[data-bt-motion=quiet] .bt-mark[data-gaze] .bt-gaze{transform:none}\n.bt-mark[data-state=thinking] .bt-b{animation:bt-ponder 2.2s ease-in-out infinite}\n.bt-mark[data-state=thinking] .bt-eyes{animation:bt-squint 2.2s ease-in-out infinite}\n.bt-mark[data-state=searching] .bt-b{animation:bt-seek 1s ease-in-out infinite}\n.bt-mark[data-state=searching] .bt-eyes{animation:bt-scan 1.6s ease-in-out infinite}\n.bt-mark[data-state=working] .bt-b{animation:bt-bob 1.6s ease-in-out infinite}\n.bt-mark[data-state=working]:is([data-shape=star],[data-shape=hex],[data-shape=plus],[data-shape=gem],[data-shape=magnet],[data-shape=ring]) .bt-b{animation:bt-wiggle 1.4s ease-in-out infinite;transform-origin:50% 50%}\n.bt-mark[data-state=working]:is([data-shape=gumdrop],[data-shape=peanut],[data-shape=cushion],[data-shape=squircle],[data-shape=moon],[data-shape=wave]) .bt-b{animation:bt-squash 1.2s ease-in-out infinite}\n.bt-mark[data-state=working] .bt-eye{animation:bt-blink 2.4s ease-in-out infinite}\n.bt-mark[data-state=sending] .bt-b{animation:bt-dash 1.1s cubic-bezier(.4,0,.2,1) infinite}\n.bt-mark[data-state=orbit] .bt-b{animation:bt-sway 2.6s ease-in-out infinite;transform-origin:50% 50%}\n.bt-mark[data-state=orbit] .bt-eyes{animation:bt-roll 2.6s linear infinite}\n/* A question for you hops twice when it arrives and the badge keeps it in view after;\n a lively mark keeps hopping. */\n.bt-mark[data-state=alert] .bt-b{animation:bt-hop 1.3s cubic-bezier(.3,.7,.4,1) 2}\n.bt-mark[data-shape=image]:not([data-state=idle]) .bt-mark-img{animation:bt-bob 1.6s ease-in-out infinite}\n.bt-mark[data-shape=image][data-state=alert] .bt-mark-img{animation:bt-hop 1.3s cubic-bezier(.3,.7,.4,1) 2}\nbody[data-bt-motion=lively] .bt-mark[data-state=alert] :is(.bt-b,.bt-mark-img){animation-iteration-count:infinite}\n.bt-mark[data-state=done] .bt-b{animation:bt-done 1.8s linear 1}\n.bt-mark[data-shape=image][data-state=done] .bt-mark-img{animation:bt-done 1.8s linear 1;transform-origin:50% 100%}\n@keyframes bt-done{0%{transform:none;animation-timing-function:cubic-bezier(.4,0,.2,1)}13.3%{transform:scale(1.12,.88);animation-timing-function:cubic-bezier(.4,0,.2,1)}25.6%{transform:scale(.93,1.09);animation-timing-function:cubic-bezier(.4,0,.2,1)}37.8%{transform:scale(1.04,.97);animation-timing-function:cubic-bezier(.4,0,.2,1)}51.1%,100%{transform:none}}\n.bt-mark-poke .bt-b{animation:bt-poke .8s cubic-bezier(.3,.7,.4,1) 1!important;transform-origin:50% 60%!important}\n.bt-mark-poke .bt-mark-img{animation:bt-poke-img .6s ease-out 1!important}\n.bt-mark[data-poke]{cursor:pointer}\nbody[data-bt-motion=quiet] .bt-mark-poke :is(.bt-b,.bt-mark-img){animation:none!important}\nbody[data-bt-motion=quiet] .bt-mark[data-poke]{cursor:default}\n@keyframes bt-bob{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-4%) rotate(-5deg)}65%{transform:translateY(0) rotate(4deg)}}\n@keyframes bt-wiggle{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(-12deg) scale(1.04)}75%{transform:rotate(12deg) scale(1.04)}}\n@keyframes bt-squash{0%,100%{transform:scale(1,1)}30%{transform:scale(1.08,.9)}55%{transform:translateY(-4%) scale(.94,1.08)}80%{transform:scale(1.02,.98)}}\n@keyframes bt-ponder{0%,100%{transform:translateY(0) rotate(4deg)}50%{transform:translateY(-3%) rotate(7deg)}}\n@keyframes bt-squint{0%,100%{transform:translate(0,-4%) scaleY(.7)}50%{transform:translate(5%,-5%) scaleY(.78)}}\n@keyframes bt-seek{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5%) rotate(-1deg)}}\n@keyframes bt-scan{0%,100%{transform:translateX(-12%)}50%{transform:translateX(12%)}}\n@keyframes bt-dash{0%,100%{transform:translateX(0) rotate(0)}35%{transform:translateX(9%) rotate(7deg)}55%{transform:translateX(-2%) rotate(-3deg)}}\n@keyframes bt-sway{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}\n@keyframes bt-roll{0%,100%{transform:translate(12%,0)}25%{transform:translate(0,9%)}50%{transform:translate(-12%,0)}75%{transform:translate(0,-9%)}}\n@keyframes bt-hop{0%,55%,100%{transform:translateY(0) scale(1,1)}20%{transform:translateY(-14%) scale(.96,1.05)}40%{transform:translateY(0) scale(1.06,.94)}}\n@keyframes bt-poke{0%{transform:none}55%{transform:translateY(-16%) rotate(360deg)}78%{transform:translateY(0) scale(1.08,.92) rotate(360deg)}100%{transform:rotate(360deg)}}\n@keyframes bt-poke-img{0%,100%{transform:scale(1)}40%{transform:scale(1.14) rotate(-6deg)}}\n/* Idle clip: two .26s blinks (lid to 3%, then a 6% overshoot) at 1.48s and 3.46s. */\n@keyframes bt-blink-idle{0%,29.6%,35%,69.2%,74.6%,100%{transform:scaleY(1)}32.2%,71.8%{transform:scaleY(.03)}33.8%,73.4%{transform:scaleY(1.06)}}\n@keyframes bt-blink{0%,42%,50%,100%{transform:scaleY(1)}46%{transform:scaleY(.03)}48%{transform:scaleY(1.06)}}\n@media (prefers-reduced-motion:reduce){.bt-mark *{animation:none!important;transition:none!important}}\n.bt-badge{position:absolute;right:0;bottom:0;width:12px;height:12px;border-radius:50%;corner-shape:round;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px var(--bt-sidebar)}\n.bt-badge-admin{background:color-mix(in srgb,var(--bt-star) 82%,var(--bt-sidebar))}\n.bt-badge-admin svg{width:7px;height:7px}\n.bt-badge-main{right:calc(var(--bt-size,36px) * -.07);bottom:calc(var(--bt-size,36px) * -.07);width:clamp(14px,calc(var(--bt-size,36px) * .36),22px);height:clamp(14px,calc(var(--bt-size,36px) * .36),22px);border-radius:0;box-shadow:none}\n.bt-badge-main svg{width:100%;height:100%;overflow:visible}\n.bt-badge-main path{fill:var(--bt-star);stroke:var(--bt-sidebar);stroke-width:2.6;stroke-linejoin:round;paint-order:stroke}\n.bt-badge-alert{background:color-mix(in srgb,var(--bt-accent) 78%,var(--bt-sidebar));color:var(--bt-accent-ink,#fff);font-size:8.5px;line-height:12px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-badge-working{background:color-mix(in srgb,var(--bt-green) 82%,var(--bt-sidebar));width:8px;height:8px;right:1px;bottom:1px}\n.bt-cluster{position:relative;display:inline-block;flex:none;line-height:0}\n.bt-cluster>*{position:absolute}\n.bt-cluster-more,.bt-cluster-you{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bt-active);color:var(--bt-ink-3);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}\n.bt-cluster-you{background:color-mix(in srgb,var(--bt-ink) 12%,transparent)}\n.bt-stack{display:inline-flex;align-items:center;flex:none;line-height:0}\n.bt-stack>*+*{margin-left:calc(var(--bt-stack-size) * -.3)}\n.bt-stack-more{font-size:11px;line-height:16px;color:var(--bt-ink-3);margin-left:3px!important}\n\n.bt-side{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;gap:2px;padding:0 12px 8px 0;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-side-top{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:6px 5px 0 0}\n.bt-brand{display:inline-flex;align-items:center;gap:6px;margin-right:auto;padding:4px 8px 4px 4px;border:0;border-radius:8px;background:none;cursor:pointer;font-family:inherit;font-size:15px;line-height:20px;font-weight:600;letter-spacing:-.01em;color:var(--bt-ink);white-space:nowrap}\n.bt-brand-mark{display:inline-flex;line-height:0}\n.bt-flybot-mark{display:block;flex:none}\n.bt-flybot-mark .bt-flybot-wing{fill:#8FB2FF}\n.bt-flybot-mark .bt-flybot-body{fill:#3B5BFD}\n.bt-flybot-mark .bt-flybot-eye{fill:#fff}\n[data-ds-dark-theme] .bt-flybot-mark .bt-flybot-wing{fill:#A9C2FF}\n[data-ds-dark-theme] .bt-flybot-mark .bt-flybot-body{fill:#6E87FF}\n[data-ds-dark-theme] .bt-flybot-mark .bt-flybot-eye{fill:#0F1530}\n.bt-round{width:36px;height:36px;border-radius:50%;border:1px solid var(--bt-line);background:var(--bt-main);color:var(--bt-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color .12s ease,transform .12s ease}\n.bt-round:hover{background:var(--bt-hover)}\n.bt-round:active{transform:scale(.94)}\n.bt-list{display:flex;flex-direction:column;gap:3px;overflow-y:auto;min-height:0;flex:1 1 auto}\n.bt-tile-wrap{display:flex;justify-content:center;padding:20px 0 15px}\n.bt-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;width:95px;padding:6px 8px 4px;border-radius:12px;border:0;background:transparent;color:var(--bt-ink);cursor:pointer;font-family:inherit;transition:background-color .12s ease}\n.bt-tile:hover{background:var(--bt-hover)}\n.bt-tile[aria-current=page]{background:var(--bt-active)}\n.bt-tile-unread{position:absolute;top:8px;right:12px}\n.bt-tile-name{font-size:13px;line-height:18px;font-weight:400;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-chip{font-size:11px;line-height:16px;padding:1px 4px;border-radius:4px;background:var(--bt-hover);border:1px solid var(--bt-line);color:var(--bt-ink-2);white-space:nowrap;max-width:84px;overflow:hidden;text-overflow:ellipsis}\n.bt-row{display:flex;align-items:center;gap:8px;min-height:54px;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--bt-ink);text-align:left;cursor:pointer;width:100%;box-sizing:border-box;font-family:inherit;transition:background-color .12s ease}\n.bt-row:hover{background:var(--bt-hover)}\n.bt-row[aria-current=page]{background:var(--bt-active)}\n.bt-row-body{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}\n.bt-row-name{display:flex;align-items:center;gap:6px;min-width:0;font-size:14px;line-height:20px;font-weight:400}\n.bt-row-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-row-title.bt-row-title-face{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}\n.bt-row-remote{flex:none;display:inline-flex;align-items:center;color:var(--bt-ink-2)}\n.bt-tag{flex:none;max-width:96px;font-size:12px;line-height:16px;font-weight:400;padding:1px 6px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-row-preview{font-size:13px;line-height:18px;color:var(--bt-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-unread{width:8px;height:8px;border-radius:50%;background:#1084fe;flex:none;margin-right:2px;animation:bt-fade .13s cubic-bezier(.22,1,.36,1)}\n.bt-unread-wait{background:var(--bt-star)}\n.bt-shared-from,.bt-shared-wait{display:flex;flex-direction:column;gap:6px;padding:8px 0}\n.bt-shared-wait .bt-set-row{min-width:0}\n.bt-shared-wait .bt-set-copy{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}\n.bt-rail{align-items:center;padding:0 0 8px}\n.bt-rail .bt-row{justify-content:center;padding:6px 0;min-height:44px}\n.bt-side-foot{display:flex;padding-top:8px}\n.bt-connect{flex:1;height:36px;border-radius:999px;border:1px solid var(--bt-line);background:var(--bt-main);color:var(--bt-ink);font-family:inherit;font-size:14px;line-height:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color .12s ease}\n.bt-connect:hover{background:var(--bt-hover)}\n.bt-connect svg{flex:none;width:15px;height:15px}\n.bt-connect-wrap{position:relative;display:flex;flex:1 1 auto;min-width:0}ms ').concat(d1.easing,"}\n@keyframes bt-tip-in{from{opacity:0;transform:scale(.96);filter:blur(4px)}}\n@media (prefers-reduced-motion:reduce){}\n\n.bt-head{position:relative;display:flex;justify-content:center;align-items:center;height:40px;flex:none;pointer-events:none}\n.bt-pill{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;height:40px;padding:7.5px 13.5px 7.5px 7.5px;border-radius:999px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 2px 8px -1px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);color:var(--bt-ink);font-family:inherit;font-size:14px;line-height:20px;cursor:pointer;max-width:70%;box-sizing:border-box;transition:background-color .12s ease,transform ").concat(j1.duration,"ms ").concat(j1.easing,"}\n.bt-pill:hover{background:color-mix(in srgb,var(--bt-main),#777 9%)}\n.bt-pill:active{transform:scale(.965)}\n.bt-pill-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}\n.bt-pill:has(.bt-pill-name-face){height:auto;min-height:40px;align-items:flex-start}\n.bt-pill-name.bt-pill-name-face{min-width:0;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}\n.bt-pill-mem{flex:none;display:inline-flex;width:0;margin-left:-8px;overflow:hidden;transition:").concat(d0(d1,"width","margin-left"),"}\n.bt-pill[data-memory=updated] .bt-pill-mem{width:var(--bt-mem-w);margin-left:0;transition:").concat(d0(Gk,"width","margin-left"),"}\n.bt-pill-mem-in{flex:none;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--bt-ink-2);font-size:13px;font-weight:500;opacity:0;filter:blur(6px);transform:translateX(-8px);transition:opacity .14s ease,filter .18s ease,").concat(d0(d1,"transform"),'}\n.bt-pill-mem-in::before{content:"";flex:none;width:1px;height:14px;margin-right:4px;background:var(--bt-line-2)}\n.bt-pill[data-memory=updated] .bt-pill-mem-in{opacity:1;filter:none;transform:none;transition-delay:70ms}\n.bt-pill-mem-ico{flex:none;display:inline-flex;width:16px;height:16px;color:var(--bt-accent)}\n.bt-pill-mem-ico svg{width:16px;height:16px}\n.bt-pill[data-memory=updated] .bt-pill-mem-ico{animation:bt-mem-pop ').concat(q1.duration,"ms ").concat(q1.easing," 90ms both}\n@keyframes bt-mem-pop{from{transform:scale(.4) rotate(-14deg)}to{transform:none}}\n.bt-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n@media (prefers-reduced-motion:reduce){.bt-pill-mem,.bt-pill-mem-in{transition:none!important}.bt-pill-mem-in{filter:none;transform:none}.bt-pill[data-memory=updated] .bt-pill-mem-ico{animation:none}}\n.bt-swap{color:var(--bt-ink-3);font-size:12px}\n.bt-pill-go{flex:none;display:inline-flex;align-items:center;justify-content:flex-end;width:0;margin-left:-8px;overflow:hidden;opacity:0;filter:blur(6px);transform:translateX(-6px);color:var(--bt-ink-2);transition:width ").concat(d1.duration,"ms ").concat(d1.easing,",margin-left ").concat(d1.duration,"ms ").concat(d1.easing,",transform ").concat(d1.duration,"ms ").concat(d1.easing,",opacity .18s ease,filter .18s ease}\n.bt-pill-go svg{flex:none;transition:transform ").concat(d1.duration,"ms ").concat(d1.easing,'}\n.bt-pill:hover .bt-pill-go,.bt-pill:focus-visible .bt-pill-go,.bt-pill[aria-expanded=true] .bt-pill-go{width:18px;margin-left:0;opacity:1;filter:none;transform:none}\n.bt-pill[aria-expanded=true] .bt-pill-go svg{transform:rotate(180deg)}\n.bt-pill[data-memory=updated]:is(:hover,:focus-visible,[aria-expanded=true]) .bt-pill-go{width:0;margin-left:-8px;opacity:0;filter:blur(6px);transform:translateX(-6px)}\n@media (prefers-reduced-motion:reduce){.bt-pill,.bt-pill-go,.bt-pill-go svg{transition:none!important}.bt-pill-go{filter:none}.bt-pill:active{transform:none}}\n\n.bt-astack{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0}\n.bt-bubble{max-width:min(80%,560px,calc(100% - 82px));background:var(--bt-bubble);color:var(--bt-ink);border-radius:18px;padding:7px 12px;font-size:var(--dsh-content-font-size,14px);line-height:calc(var(--dsh-content-font-size,14px) + 8px);box-sizing:border-box;overflow-wrap:anywhere}\n.bt-event.bt-not-sent{gap:6px;color:var(--bt-ink-3)}\n.bt-msg:not(:first-child)>.bt-msg-line>.bt-bubble{border-start-start-radius:6px}\n.bt-msg:not(:last-child)>.bt-msg-line>.bt-bubble{border-end-start-radius:6px}\n.bt-bubble [class*="_markdown"]>*+*{margin-top:10px}\n.bt-bubble [class*="_markdown"]{color:inherit!important;font-size:inherit!important;line-height:inherit!important}\n.bt-bubble p{margin:0}\n.bt-bubble p + p{margin-top:6px}\n.bt-bubble ul,.bt-bubble ol{margin:4px 0;padding-left:20px}\n.bt-bubble a[href^="').concat(h4,'"]{text-decoration:none;font-weight:400;cursor:pointer;white-space:nowrap}\n.bt-bubble a[href^="').concat(h4,'"]::before{content:"";display:inline-block;width:16px;height:16px;margin-right:3px;vertical-align:-3px;background:currentColor;-webkit-mask:').concat($9," center/contain no-repeat;mask:").concat($9," center/contain no-repeat}\n.bt-group-msg{display:flex;flex-direction:column;gap:4px;margin:16px 0 0}\n.bt-group-msg:first-child{margin-top:0}\n.bt-lead{flex:none;display:flex;margin-bottom:1px}\nbutton.bt-lead{border:0;background:none;padding:0;cursor:pointer}\n/* Rows without the avatar start where the bubble beside it starts: 22px avatar + 8px gap. */\n.bt-astack[data-lead]>.bt-msg:not(:last-child)>.bt-msg-line,.bt-astack[data-lead] .bt-reacts{margin-left:30px}\n.bt-group-name{font-size:12px;line-height:16px;font-weight:500;margin-left:42px}\n.bt-x{border:0;background:none;color:var(--bt-ink-2);cursor:pointer;width:24px;height:24px;border-radius:6px;font-size:16px;line-height:24px;padding:0;transition:background-color .12s ease,color .12s ease,").concat(d0(j1,"scale"),'}\n.bt-x:hover{background:var(--bt-hover);color:var(--bt-ink)}\n\n.bt-q{margin:0 auto 8px;width:100%;max-width:var(--dsh-chat-content-width,748px);display:flex;flex-direction:column;gap:12px;--bt-q-edge:color-mix(in srgb,var(--bt-ink) 10%,transparent);--bt-q-rule:color-mix(in srgb,var(--bt-ink) 8%,transparent);--bt-q-rule-2:color-mix(in srgb,var(--bt-ink) 5%,transparent);background:var(--bt-card);box-shadow:0 1px 3px rgba(20,20,20,.04),inset 0 0 0 1px var(--bt-q-edge);border-radius:16px;padding:14px 16px;box-sizing:border-box;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;animation:bt-q-in ').concat(d1.duration,"ms ").concat(d1.easing," backwards,bt-veil-in .2s ease-out backwards}\nbody[data-ds-dark-theme] .bt-q{--bt-q-edge:rgba(255,255,255,.16);--bt-q-rule:rgba(255,255,255,.12);--bt-q-rule-2:rgba(255,255,255,.08)}\n@keyframes bt-q-in{from{transform:translateY(10px) scale(.97)}}\n.bt-q-settled{animation:none}\n.bt-q-head{display:flex;align-items:flex-start;gap:8px;min-width:0}\n.bt-q-text{flex:1 1 0;min-width:0;display:flex;flex-direction:column}\n.bt-q-title{margin:0;font-size:15px;line-height:22px;font-weight:600;overflow-wrap:anywhere}\n.bt-q-detail{font-size:13px;line-height:18px;color:var(--bt-ink-2)}\n.bt-q-x{flex:none;width:20px;height:20px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease,").concat(d0(j1,"scale"),'}\n.bt-q-x svg{width:14px;height:14px}\n.bt-q-x:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-q-x:focus-visible,.bt-q-opt:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px}\n.bt-q-list{display:flex;flex-direction:column;gap:1px;min-width:0;box-sizing:border-box;margin:0 -8px}\n.bt-q-opt{position:relative;display:flex;align-items:flex-start;gap:16px;width:100%;min-width:0;box-sizing:border-box;margin:0;border:0;border-radius:12px;background:transparent;padding:10px 8px;font:inherit;color:var(--bt-ink);text-align:start;cursor:pointer;transition:background-color .12s ease}\n.bt-q:not(.bt-q-raised)>.bt-q-head:has(+.bt-q-list){padding-bottom:12px;border-bottom:1px solid var(--bt-q-rule)}\n.bt-q:not(.bt-q-raised)>.bt-q-head+.bt-q-list{margin-top:-6px}\n.bt-q-opt+.bt-q-opt::before{content:"";position:absolute;left:calc(var(--bt-key,24px) + 24px);right:8px;top:-1px;height:1px;background:var(--bt-q-rule-2);transition:opacity .12s ease;pointer-events:none}\nbutton.bt-q-opt:hover::before,button.bt-q-opt:hover+.bt-q-opt::before,.bt-q-opt[aria-pressed=true]::before,.bt-q-opt[aria-pressed=true]+.bt-q-opt::before{opacity:0}\n.bt-q-raised .bt-q-opt::before{display:none}\nbutton.bt-q-opt:hover{background:var(--bt-hover)}\nbutton.bt-q-opt:active{background:var(--bt-active)}\n.bt-q-opt[aria-pressed=true]{background:var(--bt-active)}\n.bt-q:not(.bt-q-raised) :is(button.bt-q-opt:hover,.bt-q-opt[aria-pressed=true]) .bt-key{background:var(--bt-card);color:var(--bt-ink)}\n.bt-key{flex:none;box-sizing:border-box;width:var(--bt-key,24px);height:var(--bt-key,24px);border-radius:8px;background:var(--bt-hover);color:var(--bt-ink-2);font-size:12px;line-height:var(--bt-key,24px);font-weight:500;text-align:center;font-variant-numeric:tabular-nums;transition:background-color .12s ease,color .12s ease}\n.bt-q-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px;padding-top:2px}\n/* With a description the key spans the two text lines less 2px above and below. */\n.bt-q-opt:has(.bt-q-desc){--bt-key:34px}\n.bt-q-opt:has(.bt-q-desc) .bt-key{margin-top:2px;border-radius:10px;font-size:13px}\n.bt-q-opt:has(.bt-q-desc) .bt-q-body{padding-top:0}\n.bt-q-label{font-size:14px;line-height:20px;font-weight:500;white-space:normal;overflow-wrap:anywhere}\n.bt-q-desc{font-size:12px;line-height:17px;color:var(--bt-ink-2);overflow-wrap:anywhere}\n.bt-q-check{flex:none;display:inline-flex;align-items:center;color:var(--bt-ink-2);animation:bt-check-pop ').concat(q1.duration,"ms ").concat(q1.easing," backwards}\n.bt-q-settled .bt-q-check{animation:none}\n.bt-q-check svg{width:16px;height:16px}\n.bt-q-settled .bt-key{opacity:.4}\n.bt-q-settled .bt-q-label{color:color-mix(in srgb,var(--bt-ink) 45%,transparent)}\n.bt-q-dismissed .bt-q-title{color:var(--bt-ink-2)}\n.bt-q.bt-q-settled{gap:6px;padding:12px 16px}\n.bt-q-settled .bt-q-title{font-size:14px;line-height:20px;font-weight:500}\n.bt-q.bt-q-settled>.bt-q-head:has(+.bt-q-list){padding-bottom:0;border-bottom:0}\n.bt-q.bt-q-settled>.bt-q-head+.bt-q-list{margin-top:0}\n.bt-q-settled .bt-q-opt{padding:4px 8px}\n.bt-q-badge{flex:none;height:20px;padding:0 7px;border-radius:999px;border:1px dotted var(--bt-line-2);color:var(--bt-ink-2);font-size:12px;line-height:18px;box-sizing:border-box}\n.bt-q-custom{display:flex;align-items:flex-start;gap:8px;width:100%;min-width:0}\n.bt-q-field{flex:1 1 0;min-width:0;display:flex;box-sizing:border-box;min-height:32px;padding:5px 11px;border-radius:8px;border:.5px solid var(--bt-line-2);background:none;cursor:text;transition:border-color .12s ease}\n.bt-q-field:focus-within{border-color:color-mix(in srgb,var(--bt-ink) 30%,transparent)}\n.bt-q-input{flex:1;width:100%;min-width:0;max-height:120px;margin:0;padding:0;border:0;outline:none;background:transparent;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;resize:none;overflow-y:hidden;white-space:pre-wrap;overflow-wrap:anywhere}\n.bt-q-input:not(:placeholder-shown){field-sizing:content}\n.bt-q-input::placeholder{color:var(--bt-ink-3)}\n.bt-q-submit,.bt-q-btn{flex:none;height:36px;padding:0 14px;border:0;border-radius:999px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .12s ease,background-color .12s ease,").concat(d0(j1,"scale"),"}\n.bt-q-submit{background:var(--bt-accent);color:var(--bt-accent-ink,#fff);animation:bt-q-submit-in ").concat(j1.duration,"ms ").concat(j1.easing," backwards,bt-veil-in .16s ease-out backwards}\n@keyframes bt-q-submit-in{from{transform:translateX(8px) scale(.9)}}\n.bt-q-submit:hover:not(:disabled){opacity:.86}\n.bt-q-submit:disabled{opacity:.4;cursor:default}\n.bt-q-btn{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-q-btn:hover{background:var(--bt-active)}\n.bt-q-foot{display:flex;justify-content:flex-end;gap:8px}\n.bt-q-raised{width:calc(var(--dsh-chat-content-width,748px) - 32px);max-width:calc(100% - 32px);gap:0;padding:0;box-shadow:0 2px 8px rgba(20,20,20,.035),inset 0 0 0 .5px color-mix(in srgb,var(--bt-ink) 5%,transparent)}\n.bt-q-raised .bt-q-head{padding:14px 16px 4px 20px}\n.bt-q-raised .bt-q-head:last-child{padding-bottom:16px}\n.bt-q-raised .bt-q-list{gap:1px;margin:0;padding:8px}\n.bt-q-raised .bt-q-opt{gap:4px;padding:7px;border-radius:16px;color:var(--bt-ink-2)}\n.bt-q-raised button.bt-q-opt:hover{color:var(--bt-ink)}\n.bt-q-raised .bt-q-opt[aria-pressed=true]{background:transparent;color:var(--bt-ink)}\n.bt-q-raised .bt-q-opt[aria-pressed=true]:hover{background:var(--bt-hover)}\n.bt-q-raised .bt-q-opt[aria-pressed=true] .bt-key,.bt-q-ownrow:focus-within .bt-key,.bt-q-ownrow[data-filled] .bt-key{background:var(--bt-user);color:var(--bt-user-ink)}\n.bt-q-raised .bt-q-body{padding:2px 6px 0}\n.bt-q-raised .bt-q-desc{color:color-mix(in srgb,var(--bt-ink) 61%,transparent)}\n.bt-q-ownrow{cursor:text}\n.bt-q-ownrow .bt-q-input{color:var(--bt-ink)}\n.bt-q-raised .bt-q-foot{padding:0 8px 8px}\n@media (prefers-reduced-motion:reduce){.bt-q{animation:bt-fade .12s ease-out backwards}.bt-q-settled{animation:none}.bt-q-submit{animation:none}}\n\n.bt-newchat{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;animation:bt-veil-in .18s ease-out}\n.bt-pane[data-menu]{background:transparent}.bt-pane[data-menu] .bt-newchat{flex:none;align-self:flex-start;width:min(280px,calc(100% - 16px));max-height:calc(100% - 16px);margin:8px;overflow:auto;background:var(--bt-card);border:1px solid var(--bt-line-2);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.14),0 2px 6px rgba(0,0,0,.06)}.bt-newchat[data-menu] .bt-drop{position:relative;top:0;left:0;width:auto;max-height:none;margin:0;box-shadow:none;border:0;max-width:none}\n.bt-to{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:48px;padding:6px 12px;border-bottom:1px solid var(--bt-line);font-size:14px;box-sizing:border-box}\n.bt-to-label{color:var(--bt-ink-2)}\n.bt-to input{flex:1;min-width:120px;border:0;outline:none;background:none;color:var(--bt-ink);font-size:14px;height:26px}\n.bt-token{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 6px 0 4px;border-radius:999px;background:var(--bt-hover);font-size:13px;animation:bt-check-pop ").concat(q1.duration,"ms ").concat(q1.easing,"}\n.bt-token button{border:0;background:none;color:var(--bt-ink-2);cursor:pointer;padding:0 2px}\n.bt-admin-star{flex:none;display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:50%;corner-shape:round;background:color-mix(in srgb,var(--bt-star) 82%,var(--bt-sidebar));vertical-align:-1px}\n.bt-to-star{display:inline-flex;margin-right:-2px;animation:bt-check-pop ").concat(q1.duration,"ms ").concat(q1.easing,"}\n.bt-to .bt-to-create{flex:none;height:28px;padding:0 12px;font-size:13px;animation:bt-q-submit-in ").concat(j1.duration,"ms ").concat(j1.easing,",bt-veil-in .16s ease-out}\n.bt-drop{position:absolute;top:48px;left:32px;width:min(550px,calc(100% - 64px));display:flex;flex-direction:column;padding:6px;max-height:min(420px,60vh);overflow-y:auto;background:var(--bt-card);border:1px solid var(--bt-line-2);border-radius:12px;box-shadow:0 6px 20px -4px rgba(0,0,0,.12);box-sizing:border-box;z-index:1;transform-origin:24px 0;animation:bt-pop-drop ").concat(j1.duration,"ms ").concat(j1.easing,",bt-veil-in .14s ease-out}\n.bt-option{display:flex;align-items:center;gap:10px;border:0;background:none;border-radius:8px;padding:7px 8px;min-height:36px;box-sizing:border-box;font-size:13px;line-height:18px;color:var(--bt-ink);cursor:pointer;text-align:left;width:100%}\n.bt-option[aria-selected=true]{background:var(--bt-active)}\n.bt-drop-list>.bt-option:not([aria-selected=true]):hover{background:var(--bt-hover)}\n.bt-option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-option-hint{font-size:11px;color:var(--bt-ink-2);flex:0 1 auto;min-width:0;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;animation:bt-veil-in .16s ease-out}\n.bt-option-copy{flex:1;min-width:0;display:flex;flex-direction:column}\n.bt-option-sub{font-size:11px;line-height:15px;color:var(--bt-ink-2);white-space:normal;overflow-wrap:anywhere}\n.bt-option-icon{width:22px;height:22px;border-radius:50%;background:var(--bt-hover);color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;flex:none}\n.bt-hint{padding:14px;text-align:center;font-size:13px;color:var(--bt-ink-2)}\n.bt-nc-spacer{flex:1}\n.bt-nc-compose{padding:0 16px 14px;display:flex;justify-content:center}\n.bt-nc-card{display:flex;align-items:flex-end;gap:6px;width:100%;max-width:var(--dsh-chat-content-width,748px);min-height:44px;padding:4px 6px;border-radius:22px;border:1px solid var(--bt-line-2);background:var(--bt-main);box-shadow:0 2px 8px -2px rgba(0,0,0,.06);box-sizing:border-box}\n.bt-nc-plus{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink-2);background:var(--bt-hover);flex:none}\n.bt-nc-card textarea{flex:1;resize:none;border:0;outline:none;background:none;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;padding:7px 4px;min-height:34px;max-height:140px;box-sizing:border-box}\n.bt-nc-send{width:34px;height:34px;border-radius:50%;border:0;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}\n.bt-nc-send:disabled{opacity:.3;cursor:default}\n.bt-create{flex:1;display:flex;flex-direction:column;min-width:0}\n.bt-create-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:6px 12px;border-bottom:1px solid var(--bt-line);box-sizing:border-box}\n.bt-create-gap{width:28px}\n.bt-create-title{font-size:14px;line-height:20px;font-weight:500}\n.bt-create-body{flex:1;overflow-y:auto;padding:28px 16px 32px;display:flex;justify-content:center}\n.bt-create-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:18px;animation:bt-q-in ").concat(d1.duration,"ms ").concat(d1.easing," both,bt-veil-in .22s ease-out both}\n.bt-create-preview{display:flex;flex-direction:column;align-items:center;gap:10px}\n.bt-create-pop{display:inline-flex;animation:bt-create-pop ").concat(q1.duration,"ms ").concat(q1.easing,' both}\n@keyframes bt-create-pop{from{transform:scale(.72);opacity:.4}}\n.bt-create-name{font-size:17px;line-height:24px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-create-step{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-bottom:-10px}\n.bt-create-looks{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card)}\n.bt-create-lookbar{justify-content:center}\n.bt-create-foot{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}\n.bt-create-go{height:36px;padding:0 20px}\n@media (prefers-reduced-motion:reduce){.bt-create-card,.bt-create-pop{animation:none}}\n.bt-send{height:40px;min-width:40px;border-radius:999px;border:0;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);font-size:14px;padding:0 14px;cursor:pointer}\n.bt-send:disabled{opacity:.35;cursor:default}\n.bt-error{padding:0 14px 10px;color:#e02135;font-size:12px}\n.bt-fix-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}\n.bt-fix-btn{font:inherit;font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer}\n.bt-fix .bt-note{margin-top:6px}\n.bt-fix-link{margin-top:6px;color:inherit;user-select:all}\n\n.bt-pane{position:fixed;top:var(--dsh-frame-chrome-top,0px);right:0;bottom:0;z-index:45;pointer-events:auto;background:var(--bt-main);color:var(--bt-ink);display:flex;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-dialog{flex:1;display:flex;flex-direction:column;min-width:0}\n.bt-dialog .bt-head{height:62px}\n.bt-dialog-log{flex:1;overflow-y:auto;padding:8px 16px 20px;width:100%;max-width:var(--dsh-chat-content-width,748px);margin:0 auto;box-sizing:border-box}\n.bt-dialog-foot{display:flex;justify-content:center;padding:10px 10px 16px}\n.bt-exchange{animation:bt-sheet-in ').concat(d1.duration,"ms ").concat(d1.easing,' both,bt-veil-in .24s ease-out both}\n.bt-exchange[data-leaving]{animation:bt-sheet-out .22s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}\n@keyframes bt-sheet-in{from{transform:translateY(24px)}}\n@keyframes bt-sheet-out{to{opacity:0;transform:translateY(16px);filter:blur(4px)}}\n.bt-exchange .bt-dialog{position:relative}\n.bt-exchange .bt-dialog-log{max-width:none;margin:0;padding:39px max(16px,calc((100% - 960px)/2)) 76px;scrollbar-width:thin}\n.bt-exchange .bt-tools{display:none}\n.bt-exchange .bt-dialog-foot{position:absolute;left:0;right:0;bottom:0;height:76px;box-sizing:border-box;align-items:flex-end;padding:0 0 28px;background:var(--bt-main);z-index:3;animation:bt-foot-in .3s cubic-bezier(.22,1,.36,1) .3s both}\n.bt-exchange .bt-dialog-foot::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:40px;background:linear-gradient(to top,var(--bt-main),transparent);pointer-events:none}\n.bt-exchange[data-leaving] .bt-dialog-foot{animation:bt-foot-out .22s cubic-bezier(.4,0,1,1) forwards}\n@keyframes bt-foot-in{from{opacity:0;transform:translateY(6px)}}\n@keyframes bt-foot-out{to{opacity:0;transform:translateY(6px)}}\n@media (prefers-reduced-motion:reduce){.bt-exchange,.bt-exchange .bt-dialog-foot{animation-duration:.01s}}\n.bt-soft{height:36px;border-radius:999px;border:0;background:var(--bt-hover);color:var(--bt-ink);padding:0 16px;font-size:14px;cursor:pointer}\n.bt-soft:hover{background:var(--bt-active)}\n.bt-time{display:block;text-align:center;font-size:12px;line-height:16px;color:var(--bt-ink-2);padding:6px 0}\n\n.bt-panel{position:fixed;top:var(--dsh-frame-chrome-top,0px);right:0;bottom:0;width:var(--bt-panel-w,320px);pointer-events:auto;z-index:40;background:var(--bt-main);border-left:.5px solid var(--bt-line-2);display:flex;flex-direction:column;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;box-sizing:border-box;animation:bt-pane-in .3s cubic-bezier(.2,0,0,1);transition:width ').concat(d1.duration,"ms ").concat(d1.easing,';container:bt-panel/inline-size}\n.bt-panel[data-leaving]{transform:translateX(100%);transition:transform .3s cubic-bezier(.2,0,0,1);pointer-events:none}\n.bt-panel[data-instant]{transition:none}\n@keyframes bt-pane-in{from{transform:translateX(100%)}}\n[class*="_centerCol"]{transition:margin-right ').concat(d1.duration,"ms ").concat(d1.easing,";position:relative;z-index:0;isolation:isolate}\n.bt-panel-grip{position:absolute;left:-5px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:3;touch-action:none}\n.bt-panel-grip:hover,.bt-panel[data-dragging] .bt-panel-grip{background:linear-gradient(to right,transparent 4px,var(--bt-line-2) 4px,var(--bt-line-2) 6px,transparent 6px)}\n.bt-drag-shield{position:fixed;inset:0;z-index:45;cursor:col-resize}\n.bt-panel-view{flex:1;min-height:0;display:flex;flex-direction:column}\n.bt-drawer-top{display:flex;justify-content:flex-end;gap:8px;padding:12px 17px 6px 12px}\n.bt-drawer-id{display:flex;flex-direction:column;align-items:center;padding:14px 16px 0}\n.bt-drawer-id>.bt-mark,.bt-drawer-id>.bt-cluster{margin-bottom:16px}\n.bt-drawer-name{font-size:17px;line-height:24px;font-weight:500;border:0;background:none;color:inherit;cursor:text;padding:0 6px;border-radius:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-drawer-name-face{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;text-overflow:ellipsis;line-clamp:3;cursor:default}\n.bt-drawer-name-face:hover{background:none}\n.bt-drawer-name:hover{background:var(--bt-hover)}\n.bt-drawer-name-input{font-size:17px;line-height:24px;text-align:center;border:.5px solid var(--bt-line-2);border-radius:6px;padding:0 6px;background:var(--bt-main);color:var(--bt-ink);outline:none;font-weight:500}\n.bt-drawer-role{font-size:12px;line-height:16px;color:var(--bt-ink-3);margin-top:6px;text-align:center}\n.bt-tabs{position:relative;display:flex;justify-content:center;gap:2px;margin:16px 16px 0}\n.bt-tab{position:relative;z-index:1;border:0;background:none;border-radius:9999px;padding:4px 8px;font-size:13px;line-height:20px;color:var(--bt-ink-2);cursor:pointer;white-space:nowrap}\n.bt-tab:hover{color:var(--bt-ink)}\n.bt-tab[aria-selected=true]{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-tabs>.bt-thumb{top:0;bottom:0;border-radius:9999px;background:var(--bt-hover)}\n.bt-tabs[data-glide] .bt-tab[aria-selected=true]{background:transparent}\n.bt-drawer-body{flex:1;overflow-y:auto;padding:20px 16px 16px;font-size:13px;line-height:18px;display:flex;flex-direction:column;gap:16px}\n.bt-empty{text-align:center;color:var(--bt-ink-3);font-size:13px;line-height:18px;padding:8px 12px}\n.bt-section-title{font-size:12px;color:var(--bt-ink-2);margin-bottom:6px}\n.bt-muted{color:var(--bt-ink-2)}\n.bt-swatches{display:flex;flex-wrap:wrap;gap:6px}\n.bt-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px var(--bt-line-2)}\n.bt-swatch[aria-pressed=true]{border-color:var(--bt-ink)}\n.bt-textarea{width:100%;box-sizing:border-box;min-height:120px;border:1px solid var(--bt-line);border-radius:8px;padding:8px;background:var(--bt-card);color:var(--bt-ink);font:inherit;resize:vertical}\n.bt-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}\n.bt-kv{display:flex;justify-content:space-between;gap:8px;font-size:12px;line-height:20px;color:var(--bt-ink-2)}\n.bt-kv span:last-child{color:var(--bt-ink);font-variant-numeric:tabular-nums}\n.bt-danger{color:#e02135}\n\n/* Bot settings: fields, the avatar editor popover, and the details-pane sub-view. */\n.bt-field{display:flex;flex-direction:column;gap:6px}\n.bt-field-label{font-size:13px;line-height:18px;font-weight:500}\n.bt-input{width:100%;box-sizing:border-box;height:36px;border:1px solid var(--bt-line);border-radius:8px;padding:0 10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:13px;outline:none}\n.bt-input:focus{border-color:var(--bt-line-2)}\n.bt-input-area{height:auto;min-height:96px;padding:8px 10px;line-height:18px;resize:vertical}\n.bt-note{font-size:12px;line-height:16px;color:var(--bt-ink-3)}\n.bt-soft-sm{height:28px;padding:0 12px;font-size:12px}\n.bt-set-avatar{display:flex;justify-content:center;padding:4px 0}\n.bt-avatar-anchor{position:relative}\n.bt-avatar-trigger{position:relative;width:64px;height:64px;border:0;border-radius:50%;background:none;cursor:pointer;padding:0}\n.bt-avatar-pencil{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:var(--bt-main);border:1px solid var(--bt-line-2);color:var(--bt-ink-2);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.12)}\n.bt-avedit{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:300px;background:var(--bt-main);border:1px solid var(--bt-line);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:10px;z-index:130;display:flex;flex-direction:column;gap:10px;color:var(--bt-ink);transform-origin:top center;animation:bt-pop-drop ").concat(j1.duration,"ms ").concat(j1.easing,",bt-veil-in .16s ease-out}\n.bt-bs .bt-avedit{transform-origin:32px 0}\n.bt-avedit-top{display:flex;align-items:center;justify-content:space-between}\n.bt-avedit-tabs{position:relative;display:flex;gap:2px;background:var(--bt-hover);border-radius:999px;padding:2px}\n.bt-avedit-tab{position:relative;z-index:1;border:0;background:none;border-radius:999px;padding:3px 10px;font-size:12px;line-height:16px;color:var(--bt-ink-2);cursor:pointer}\n.bt-avedit-tab[aria-selected=true]{background:var(--bt-main);color:var(--bt-ink)}\n.bt-avedit-tabs>.bt-thumb{top:2px;bottom:2px;border-radius:999px;background:var(--bt-main);box-shadow:0 1px 2px rgba(0,0,0,.06)}\n.bt-avedit-tabs[data-glide] .bt-avedit-tab[aria-selected=true]{background:transparent}\n.bt-avedit-reset{color:var(--bt-ink-3)}\n.bt-avedit-reset:hover{color:var(--bt-ink)}\n.bt-shapes{display:flex;flex-direction:column;gap:2px}\n.bt-shape-row{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}\n.bt-shape{position:relative;aspect-ratio:1;border:0;border-radius:8px;background:none;color:var(--bt-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}\n.bt-shape:hover{background:var(--bt-hover)}\n.bt-shape .bt-ring{position:absolute;left:50%;top:50%;width:36px;height:36px;translate:-50% -50%;overflow:visible;opacity:0;scale:.82;pointer-events:none;transition:opacity .14s ease,").concat(d0(q1,"scale"),"}\n.bt-shape[aria-pressed=true] .bt-ring{opacity:1;scale:1}\n.bt-colors{display:flex;justify-content:space-between}\n.bt-color{width:22px;height:22px;border-radius:50%;border:2px solid transparent;padding:2px;background:none;cursor:pointer;box-sizing:border-box;transition:border-color .14s ease,").concat(d0(j1,"scale"),"}\n.bt-color[aria-pressed=true] span{animation:bt-check-pop ").concat(q1.duration,"ms ").concat(q1.easing,'}\n.bt-color span{display:block;width:100%;height:100%;border-radius:50%}\n.bt-color[aria-pressed=true]{border-color:var(--bt-ink)}\n.bt-dropzone{border:1.5px dashed var(--bt-line-2);border-radius:10px;padding:18px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--bt-ink-2);font-size:12px;line-height:16px;text-align:center}\n.bt-dropzone[data-over]{border-color:var(--bt-accent);color:var(--bt-ink)}\n.bt-dropzone img{width:64px;height:64px;border-radius:50%;object-fit:cover}\n.bt-set-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}\n.bt-about{white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}\n.bt-about[data-open]{display:block;-webkit-line-clamp:unset}\n.bt-more{border:0;background:none;color:var(--bt-ink-3);font-size:12px;line-height:16px;cursor:pointer;padding:2px 0}\n.bt-more:hover{color:var(--bt-ink)}\n.bt-subhead{display:flex;align-items:center;gap:4px;padding:10px 12px 4px}\n.bt-subhead-title{flex:1;font-size:15px;line-height:24px;font-weight:600;padding-left:4px}\n.bt-icon-btn{width:28px;height:28px;border-radius:50%;border:0;background:none;color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}\n.bt-icon-btn:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-set-body{gap:20px}\n.bt-drawer-model{display:flex;flex-direction:column}\n.bt-drawer-model .bt-note{margin-top:6px}\n.bt-drawer-permission{display:flex;flex-direction:column}\n.bt-seg button.bt-perm-danger,.bt-seg button.bt-perm-danger[aria-pressed=true]{color:#e02135}\n\n/* Settings dialog: a 198px page list beside the page. */\n/* #1347: dialogs, sheets and scrims sit in a tier of their own, well clear of everything the\n chat surface may do. They used to share 60/61 with the context menu, the reaction strip and the\n remote-Bot sheet, so any body-level popover opened after them tied on z-index and won on DOM\n order \u2014 and a chat element with a stray z-index could reach the same number. The tier is now\n explicit: chat surface at most 50, dialogs 120/121, popovers 130, palette 140, toast 1000. The\n chat column is additionally capped at z-index 0 inside its own stacking context (see the\n center-column rule below), so nothing in the thread can outrank these whatever it does. */\n.bt-settings-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:120;isolation:isolate;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-scrim{position:absolute;inset:0;background:rgba(0,0,0,.32);animation:bt-fade .22s ease-out}\nbody[data-ds-dark-theme] .bt-scrim{background:rgba(0,0,0,.5)}\n/* #1347: a modal is a modal. A 0.32 scrim leaves the thread legible behind it, and the owner read that\n as the chat painting through the dialog ("assistant text readable across columns", a pill visible at\n full opacity behind the Inbox). The scrim now separates the two surfaces outright: the thread is\n dimmed to a backdrop, not left readable beside the thing being decided. It is still one layer and\n still dismisses on a click, so nothing else about it changes. */\nbody:not([data-ds-dark-theme]) .bt-scrim{background:rgba(12,12,14,.62)}\nbody[data-ds-dark-theme] .bt-scrim{background:rgba(0,0,0,.7)}\n.bt-settings{--bt-set-w:min(800px,calc(100vw - 48px));--bt-set-h:min(620px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))));position:relative;width:var(--bt-set-w);height:var(--bt-set-h);background:var(--bt-main);border-radius:16px;border:.5px solid var(--bt-line-2);box-shadow:0 24px 80px rgba(0,0,0,.24);display:flex;overflow:hidden;color:var(--bt-ink);transition:').concat(d0(d1,"width","height"),";animation:bt-dialog-rise ").concat(d1.duration,"ms ").concat(d1.easing,",bt-veil-in .2s ease-out}\n.bt-settings[data-wide]{--bt-set-w:min(1100px,calc(100vw - 48px));--bt-set-h:min(780px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))))}\n:is(.bt-settings-layer,.bt-mem-layer)[data-leaving]{pointer-events:none}\n:is(.bt-settings-layer,.bt-mem-layer)[data-leaving] .bt-scrim{opacity:0;transition:opacity .16s ease-in}\n:is(.bt-settings-layer,.bt-mem-layer)[data-leaving]>[role=dialog]{animation:bt-dialog-sink .16s cubic-bezier(.4,0,1,1) forwards}\n@keyframes bt-dialog-rise{from{transform:translateY(12px) scale(.96)}}\n@keyframes bt-dialog-sink{to{opacity:0;transform:translateY(6px) scale(.975);filter:blur(3px)}}\n@media (prefers-reduced-motion:reduce){.bt-settings{transition:none}.bt-settings,.bt-scrim,.bt-settings-page>*{animation:bt-fade .12s ease-out!important}}\n.bt-settings-nav{position:relative;width:198px;flex:none;padding:16px 8px;border-right:.5px solid var(--bt-line);display:flex;flex-direction:column;gap:2px;background:var(--bt-sidebar);box-sizing:border-box}\n.bt-settings-item{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:8px;background:none;color:var(--bt-ink-2);font:inherit;font-size:13px;line-height:20px;cursor:pointer;text-align:left;transition:background-color .12s ease,color .12s ease}\n.bt-settings-item:hover{color:var(--bt-ink);background:var(--bt-hover)}\n.bt-settings-item[aria-current=page]{background:var(--bt-active);color:var(--bt-ink)}\n.bt-settings-nav>.bt-thumb{left:8px;right:8px;border-radius:8px;background:var(--bt-active)}\n.bt-settings-nav[data-glide] .bt-settings-item[aria-current=page]{background:transparent}\n.bt-settings-shell{margin-top:auto}\n.bt-settings-out{margin-left:auto;opacity:.6;font-size:12px}\n/* Usage while another page is open: out of the flow at Usage's own width, so it keeps\n its layout, and not rendered. */\n.bt-settings-usage[data-off]{position:absolute;top:0;left:198px;width:calc(min(1100px,calc(100vw - 48px)) - 198px);height:100%;box-sizing:border-box;content-visibility:hidden;pointer-events:none}\n/* The page column takes the dialog's final size at once, so while the dialog resizes\n only its edge moves and the page does not lay out again every frame. */\n.bt-settings-main{flex:none;display:flex;flex-direction:column;min-width:0;width:calc(var(--bt-set-w) - 198px);height:var(--bt-set-h)}\n.bt-settings-head{display:flex;align-items:center;gap:6px;padding:16px 56px 4px 20px}\n.bt-settings-head h2{margin:0;font-size:15px;line-height:24px;font-weight:600;animation:bt-veil-in .2s ease-out}\n.bt-settings-head>.bt-icon-btn{animation:bt-back-in ").concat(j1.duration,"ms ").concat(j1.easing,",bt-veil-in .16s ease-out}\n@keyframes bt-back-in{from{translate:6px 0;scale:.8}}\n.bt-settings-scroll{flex:1;overflow-y:auto;padding:12px 20px 24px;display:flex;flex-direction:column;gap:20px;scrollbar-width:thin}\n.bt-settings-page>:not(.bt-us){animation:bt-page-up ").concat(d1.duration,"ms ").concat(d1.easing,' backwards,bt-veil-in .22s ease-out backwards}\n.bt-settings-page[data-move=in]>:not(.bt-us){animation-name:bt-page-in,bt-veil-in}\n.bt-settings-page[data-move=out]>:not(.bt-us){animation-name:bt-page-out,bt-veil-in}\n.bt-settings-page>:nth-child(2){animation-delay:30ms}\n.bt-settings-page>:nth-child(3){animation-delay:60ms}\n.bt-settings-page>:nth-child(4){animation-delay:90ms}\n.bt-settings-page>:nth-child(n+5){animation-delay:120ms}\n@keyframes bt-page-up{from{transform:translateY(10px)}}\n@keyframes bt-page-in{from{transform:translateX(18px)}}\n@keyframes bt-page-out{from{transform:translateX(-18px)}}\n.bt-settings-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:0;background:var(--bt-hover);color:var(--bt-ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}\n.bt-settings-close:hover{background:var(--bt-active);color:var(--bt-ink)}\n.bt-settings-form{display:flex;flex-direction:column;gap:16px}\n.bt-set-section h3{font-size:13px;line-height:18px;font-weight:600;margin:0 0 8px;padding:0 4px}\n.bt-set-card{border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card);display:flex;flex-direction:column}\n.bt-set-card>*+*{border-top:.5px solid var(--bt-line)}\n.bt-set-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;background:none;color:var(--bt-ink);font:inherit;font-size:13px;line-height:18px;text-align:left;width:100%;box-sizing:border-box;border-radius:0}\nbutton.bt-set-row{cursor:pointer}\nbutton.bt-set-row:hover{background:var(--bt-hover)}\n.bt-set-card>.bt-set-row+.bt-set-row{border-top:.5px solid var(--bt-line)}\n.bt-set-row:first-child{border-top-left-radius:12px;border-top-right-radius:12px}\n.bt-set-row:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}\n/* #892: a plugin\'s rows in the Members card (Invite by link) sit on the card\'s own padding, like a row. */\n.bt-flybot-room-members{padding:10px 12px}\n.bt-set-copy{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}\n/* #1347: a row\'s copy never breaks its own label. The label used to be a bare inline span inside a\n column that flexed down to 36px, so "Name" came out as "Nam" + "e"; a single-word label is now one\n line, and the hint below it is what wraps when the column is short. */\n.bt-set-copy>.bt-bs-label,.bt-set-copy>.bt-set-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-set-hint{font-size:12px;line-height:16px;color:color-mix(in srgb,var(--bt-ink-2) 50%,var(--bt-ink-3))}\n.bt-set-control{flex:none;display:flex;align-items:center;gap:6px}\n.bt-set-value{font-size:13px;color:var(--bt-ink-2);text-align:right}\n.bt-set-bot{flex:1;display:flex;align-items:center;gap:8px;min-width:0}\n.bt-set-paste{flex-direction:column;align-items:stretch;gap:8px}\n.bt-chevron{color:var(--bt-ink-3);display:inline-flex;flex:none}\n/* Settings \u2192 Workflows (#1364): factory and your own pipelines, then the flowchart. */\n.bt-wf-page{display:flex;flex-direction:column;gap:16px}\n.bt-wf-hint{margin:0;font-size:12px;line-height:1.5;color:var(--bt-ink-2)}\n.bt-wf-status{margin:0;font-size:13px;color:var(--bt-ink-2)}\n.bt-wf-lists{display:flex;flex-direction:column;gap:16px}\n.bt-wf-editor{display:flex;flex-direction:column;gap:8px}\n.bt-wf-title{margin:0;font-size:15px;font-weight:600}\n.bt-wf-actions{display:flex;gap:8px;flex-wrap:wrap}\n.bt-wf-actions button,.bt-wf-page>.bt-error button{height:32px;padding:0 12px;border-radius:16px;border:1px solid var(--bt-line);background:var(--bt-card);color:inherit;font:inherit;font-size:12.5px;cursor:pointer}\n.bt-wf-page>.bt-error{display:flex;align-items:center;justify-content:space-between;gap:12px}\n.bt-wf-canvas{position:relative;min-height:440px;overflow:auto;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-main);padding:12px 8px 20px}\n.bt-wf-stage{position:relative;width:100%}\n.bt-wf-fit{position:relative;width:0;margin:0 auto;transform-origin:50% 0}\n.bt-wf-fit .bt-wf-plane{margin-top:0}\n.bt-wf-palette{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center}\n.bt-wf-palette button{height:28px;padding:0 10px;border-radius:14px;border:1px solid var(--bt-line);background:var(--bt-card);color:inherit;font:inherit;font-size:12px;cursor:pointer}\n.bt-wf-prompts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:12px 4px 0}\n.bt-wf-prompt{display:flex;flex-direction:column;gap:4px;font-size:12px;min-width:0}\n.bt-wf-prompt textarea{width:100%;box-sizing:border-box;border-radius:8px;border:1px solid var(--bt-line);background:var(--bt-card);color:inherit;font:inherit;font-size:12px;padding:6px 8px;resize:vertical}\n.bt-wf-plane{position:relative;width:0;margin:16px auto 0}\n.bt-wf-wires{position:absolute;left:calc(-1 * var(--bt-wf-wire-span,480px));top:0;width:calc(2 * var(--bt-wf-wire-span,480px));overflow:visible;pointer-events:none}\n.bt-wf-wires path{fill:none;stroke:var(--bt-ink-3);stroke-width:1.6}\n.bt-wf-wires marker path{fill:var(--bt-ink-3);stroke:none}\n.bt-wf-node{position:absolute;width:168px;box-sizing:border-box;border:1px solid var(--bt-line);background:var(--bt-card);border-radius:12px;padding:8px 9px;display:flex;align-items:center;gap:8px}\n@keyframes bt-wf-node-live{0%,100%{border-color:var(--bt-accent);box-shadow:0 0 0 2px rgba(77,107,254,.18),0 0 0 0 rgba(77,107,254,.2)}50%{border-color:rgba(77,107,254,.85);box-shadow:0 0 0 3px rgba(77,107,254,.35),0 0 14px 2px rgba(77,107,254,.22)}}\n.bt-wf-node.running{border-color:var(--bt-accent);animation:bt-wf-node-live 1.5s ease-in-out infinite}\n@media (prefers-reduced-motion:reduce){.bt-wf-node.running{animation:none;box-shadow:0 0 0 3px rgba(77,107,254,.2)}}\n.bt-wf-node.done{border-color:rgba(22,163,74,.35)}\n.bt-wf-node.failed{border-color:#e5484d}\n.bt-wf-node.queued{opacity:.78}\n.bt-wf-av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:650;flex:none;font-size:12px}\n.bt-wf-copy{min-width:0;flex:1;display:flex;flex-direction:column}\n.bt-wf-name{font-weight:600;font-size:12.5px}\n.bt-wf-role{font-size:11px;color:var(--bt-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-wf-chip{position:absolute;top:-9px;right:8px;font-size:10.5px;padding:1px 7px;border-radius:10px;background:var(--bt-active);color:var(--bt-ink-2);white-space:nowrap;pointer-events:none}\n.bt-wf-node.editing .bt-wf-chip{right:18px}\n.bt-wf-chip.running{background:rgba(77,107,254,.12);color:var(--bt-accent)}\n.bt-wf-chip.done{background:rgba(22,163,74,.12);color:#16a34a}\n.bt-wf-chip.failed{background:rgba(229,72,77,.12);color:#e5484d}\n.bt-wf-chip.idle{color:var(--bt-ink-3)}\n.bt-wf-port{position:absolute;left:50%;bottom:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;border:2px solid var(--bt-accent);background:var(--bt-card);padding:0;cursor:crosshair}\n.bt-wf-remove{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;border:1px solid var(--bt-line);background:var(--bt-card);cursor:pointer;line-height:16px;padding:0}\n.bt-wf-par{position:absolute;border:1px dashed var(--bt-ink-3);border-radius:14px;pointer-events:none}\n.bt-wf-plabel{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:10.5px;color:var(--bt-ink-2);background:var(--bt-card);padding:0 6px;white-space:nowrap}\n\n/* Settings \u2192 Connectors. */\n.bt-connector{display:flex;flex-direction:column;gap:10px;padding:12px}\n.bt-connector-head{display:flex;align-items:center;gap:12px;min-width:0}\n.bt-connector-mark{flex:none;width:36px;height:36px;border-radius:10px;background:var(--bt-card);border:.5px solid var(--bt-line);display:flex;align-items:center;justify-content:center;color:var(--bt-ink)}\n.bt-connector-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}\n.bt-connector-name{font-size:14px;line-height:20px;font-weight:500}\n.bt-connector-status{font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-connector[data-state=ready] .bt-connector-status{color:var(--bt-ink-2)}\n.bt-connector[data-state=error] .bt-connector-status{color:#e02135;white-space:normal}\n.bt-connector-actions{flex:none;display:flex;gap:6px}\n.bt-connector-form{display:flex;flex-direction:column;gap:8px;padding-left:48px;animation:bt-q-in ').concat(d1.duration,"ms ").concat(d1.easing,",bt-veil-in .2s ease-out}\n.bt-connector-form-row{display:flex;align-items:center;gap:6px}\n.bt-connector-apps{display:flex;flex-direction:column;gap:8px}\n.bt-connector-link{flex:1;font-size:12px;color:var(--bt-ink-2)}\n.bt-connector-uses{padding-left:48px;font-size:12px;line-height:16px;color:var(--bt-ink-3)}\n.bt-connector-bots{display:flex;flex-direction:column;gap:2px;padding-left:48px;animation:bt-q-in ").concat(d1.duration,"ms ").concat(d1.easing,',bt-veil-in .2s ease-out}\n.bt-connector-others{padding-left:20px}\n.bt-connector-error{padding-left:48px;font-size:12px;line-height:16px;color:#e02135}\n.bt-connector-app-list{list-style:none;margin:0;padding:0 0 0 48px;display:flex;flex-direction:column;gap:2px}\n.bt-connector-app{display:flex;gap:8px;font-size:12px;line-height:16px;color:var(--bt-ink-2)}\n.bt-connector-app-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-app-status{color:var(--bt-ink-3)}\n[data-status=sign-in]>.bt-app-status{color:#c46a00}\n\n/* Shell chrome reshaped for the team view. Selectors use stable data attributes where the\n shell offers them and CSS-module name suffixes elsewhere. */\n[class*="_logoRow"],[class*="_newSession"],nav[class*="_panelList"]{display:none!important}\n[class*="_footArea"]{display:flex!important;flex-direction:row-reverse;align-items:center;gap:9px;padding:8px 6px 6px!important}\n[class*="_footArea"]>[class*="_footerActions"]{flex:1 1 auto;min-width:0}\n[class*="_footArea"]>[class*="_settingsArea"]{flex:none;width:auto!important}\n[class*="_footArea"] button[aria-label="Settings"]{width:auto!important;padding:0!important;background:none!important;border-radius:50%!important;height:auto!important}\n[class*="_widthHandle"]{display:none!important}\n\n.bt-voice-pane{flex-direction:column;align-items:center;justify-content:center;animation:bt-fade .2s ease-out}\n.bt-voice-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;max-width:560px;text-align:center}\n.bt-voice-orb{position:relative;width:200px;height:200px;display:grid;place-items:center;margin-bottom:8px}\n.bt-voice-ring{position:absolute;inset:34px;border-radius:50%;background:var(--bt-hover);transform:scale(calc(1 + var(--bt-level,0) * .55));transition:transform .08s linear}\n.bt-voice-ring-2{inset:14px;background:none;box-shadow:inset 0 0 0 1px var(--bt-line-2);transform:scale(calc(.94 + var(--bt-level,0) * .3));opacity:.8}\n.bt-voice-stage[data-phase=thinking] .bt-voice-ring{animation:bt-voice-breathe 1.6s ease-in-out infinite}\n.bt-voice-stage[data-phase=speaking] .bt-voice-ring{animation:bt-voice-speak .9s ease-in-out infinite}\n@keyframes bt-voice-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}\n@keyframes bt-voice-speak{0%,100%{transform:scale(1.04)}30%{transform:scale(1.2)}60%{transform:scale(1.1)}}\n.bt-voice-orb>.bt-mark{position:relative}\n.bt-voice-name{font-size:16px;line-height:22px;font-weight:500}\n.bt-voice-status{font-size:13px;line-height:18px;color:var(--bt-ink-2);min-height:18px}\n.bt-voice-caption{min-height:44px;font-size:15px;line-height:22px;color:var(--bt-ink);animation:bt-blur-in .25s ease-out;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}\n.bt-voice-note{font-size:12px;color:#e02135}\n.bt-voice-setup{height:32px;padding:0 14px;border-radius:16px;border:0;background:var(--bt-hover);color:var(--bt-ink);font:inherit;font-size:13px;cursor:pointer;transition:background-color .15s ease}\n.bt-voice-setup:hover{background:var(--bt-active)}\n.bt-voice-bar{display:flex;gap:16px;padding:0 0 32px}\n.bt-voice-btn{position:relative;width:52px;height:52px;border-radius:50%;border:0;background:var(--bt-hover);color:var(--bt-ink);display:grid;place-items:center;cursor:pointer;transition:background-color .15s ease,transform .12s ease}\n.bt-voice-btn:hover{background:var(--bt-active)}\n.bt-voice-btn:active{transform:scale(.94)}\n.bt-voice-btn[aria-pressed=true]{background:var(--bt-user);color:var(--bt-user-ink)}\n.bt-voice-slash{position:absolute;width:24px;height:2px;border-radius:1px;background:currentColor;transform:rotate(-45deg)}\n.bt-voice-end{background:#ff3e51;color:#fff}\n.bt-voice-end:hover{background:#e02135}\n@keyframes bt-fade{from{opacity:0}to{opacity:1}}\n@keyframes bt-blur-in{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}\n@media (prefers-reduced-motion:reduce){.bt-voice-pane,.bt-voice-caption,.bt-voice-ring{animation:none!important}}\n.bt-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:min(80%,560px,calc(100% - 82px))}\n/* The bubble\'s row: reactions hang below it, so the hover toolbar (and a group\n sender\'s avatar) line up with the bubble alone. */\n.bt-msg-line{position:relative;display:flex;align-items:flex-end;gap:8px;max-width:100%}\n.bt-msg-line>.bt-bubble{max-width:none;min-width:0}\n/* The same bubble width as beside an avatar column: 80% of (100% - 30px), plus the 30px. */\n.bt-astack[data-lead]>.bt-msg{max-width:min(calc(80% + 6px),590px,calc(100% - 52px))}\n.bt-tools{position:absolute;top:50%;left:100%;margin-left:6px;transform:translateY(-50%);display:flex;gap:2px;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s}\n.bt-tools::after{content:"";position:absolute;top:-8px;bottom:-8px;right:100%;width:128px;z-index:-1}\n.bt-msg:hover>.bt-msg-line>.bt-tools,.bt-msg:focus-within>.bt-msg-line>.bt-tools,.bt-tools[data-open]{opacity:1;visibility:visible}\n.bt-tool{width:24px;height:24px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease}\n.bt-tool:hover,.bt-tool[aria-expanded=true]{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-tool:active{background:var(--bt-active)}\n.bt-tool:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px}\n.bt-react-strip{position:fixed;z-index:130;pointer-events:auto;display:flex;gap:2px;padding:4px;border-radius:999px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.06);transform:translate(-50%,-100%);transform-origin:bottom center;animation:bt-pop-lift ').concat(j1.duration,"ms ").concat(j1.easing,",bt-veil-in .14s ease-out}\n.bt-react-strip button{width:32px;height:32px;border:0;border-radius:50%;background:none;font-size:18px;line-height:1;cursor:pointer;transition:background-color .12s ease,").concat(d0(q1,"transform"),";animation:bt-check-pop ").concat(q1.duration,"ms ").concat(q1.easing," backwards}\n.bt-react-strip button:nth-child(2){animation-delay:20ms}\n.bt-react-strip button:nth-child(3){animation-delay:40ms}\n.bt-react-strip button:nth-child(4){animation-delay:60ms}\n.bt-react-strip button:nth-child(n+5){animation-delay:80ms}\n.bt-react-strip button:hover{background:var(--bt-hover);transform:scale(1.15)}\n.bt-react-strip button:active{transform:scale(.92)}\n.bt-reacts{display:flex;gap:4px;margin-top:4px}\n.bt-react{height:22px;min-width:30px;padding:0 6px;border-radius:999px;border:.5px solid var(--bt-line-2);background:var(--bt-main);font-size:13px;line-height:20px;cursor:pointer;animation:bt-react-pop ").concat(q1.duration,"ms ").concat(q1.easing,";transition:background-color .12s ease,").concat(d0(j1,"scale"),'}\n.bt-react:hover{background:var(--bt-hover)}\n.bt-react:active{scale:.92}\n@keyframes bt-react-pop{from{transform:scale(.6);opacity:0}}\n.bt-bubble a[href^="').concat(h4,'"] svg{display:none}\n.bt-you{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bt-ink) 5%,var(--bt-sidebar));color:var(--bt-ink-2);box-shadow:inset 0 0 0 1px var(--bt-line);transition:background-color .12s ease}\nbutton:hover .bt-you{background:color-mix(in srgb,var(--bt-ink) 9%,var(--bt-sidebar))}\n.bt-you-wrap{display:inline-flex;padding:0}\n.bt-connect-foot{width:100%;height:36px}\n\n.bt-menu{position:fixed;pointer-events:auto;z-index:130;min-width:200px;padding:6px;border-radius:12px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1),0 0 0 1px rgba(228,228,228,.04);display:flex;flex-direction:column;gap:2px;transform-origin:var(--bt-origin,top left);animation:bt-pop-drop ').concat(j1.duration,"ms ").concat(j1.easing,',bt-veil-in .14s ease-out;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;box-sizing:border-box}\n.bt-menu button{display:flex;align-items:center;gap:4px;width:100%;min-height:30px;text-align:left;border:0;background:none;border-radius:6px;padding:6px 8px;font:inherit;font-size:13px;line-height:18px;color:var(--bt-ink);cursor:pointer;box-sizing:border-box}\n.bt-menu button:hover{background:var(--bt-hover)}\n.bt-menu button svg{flex:none;width:16px;height:16px;margin:0 1px}\n.bt-menu .bt-danger{color:#c21d2e}\n.bt-menu-sep{height:.5px;flex:none;background:var(--bt-line-2);margin:4px 8px}\n.bt-menu-up{--bt-origin:bottom left;animation-name:bt-pop-lift,bt-veil-in}\n.bt-menu[data-leaving]{pointer-events:none;animation:bt-pop-out .12s cubic-bezier(.4,0,1,1) forwards}\n.bt-menu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-menu-hint{flex:none;color:var(--bt-ink-3);font-size:12px;font-variant-numeric:tabular-nums}\n.bt-palette-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:140;isolation:isolate;pointer-events:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.46);animation:bt-fade .22s ease-out}\n.bt-palette{position:absolute;top:50%;left:50%;width:min(560px,92vw);transform:translate(-50%,-50%);display:flex;flex-direction:column;border-radius:12px;background:var(--bt-main);border:1px solid var(--bt-line-2);box-shadow:0 24px 48px -12px rgba(0,0,0,.25);overflow:hidden;color:var(--bt-ink);animation:bt-palette-in ').concat(d1.duration,"ms ").concat(d1.easing,",bt-veil-in .2s ease-out}\n.bt-palette-layer[data-leaving]{pointer-events:none}\n.bt-palette-layer[data-leaving] .bt-backdrop{opacity:0;transition:opacity .16s ease-in}\n.bt-palette-layer[data-leaving] .bt-palette{animation:bt-dialog-sink .16s cubic-bezier(.4,0,1,1) forwards}\n@keyframes bt-palette-in{from{translate:0 -10px;scale:.96}}\n.bt-palette-head{display:flex;align-items:center;gap:4px;padding:14px 10px 14px 14px;border-bottom:.5px solid var(--bt-line-2)}\n.bt-palette-glyph{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;color:var(--bt-ink-3);margin-right:4px}\n.bt-palette-head input{flex:1;min-width:0;border:0;outline:none;background:none;color:var(--bt-ink);font:inherit;font-size:15px;line-height:22px;padding:0}\n.bt-palette-head input::placeholder{color:var(--bt-ink-3)}\n.bt-palette-clear{width:18px;height:18px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}\n.bt-palette-clear:hover{color:var(--bt-ink)}\n.bt-palette-clear svg{width:12px;height:12px}\n.bt-palette-list{position:relative;height:402px;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px;box-sizing:border-box}\n.bt-palette-list>.bt-thumb,.bt-drop-list>.bt-thumb{left:0;right:0;border-radius:8px;background:var(--bt-active)}\n.bt-palette-list>.bt-thumb{left:8px;right:8px}\n:is(.bt-palette-list,.bt-drop-list)[data-glide] [aria-selected=true]{background:transparent}\n:is(.bt-palette-row,.bt-palette-section,.bt-drop-list>.bt-option){position:relative;z-index:1}\n.bt-palette-section{padding:8px 8px 4px;font-size:12px;line-height:16px;color:var(--bt-ink-3);flex:none}\n.bt-palette-section:first-of-type{padding-top:0}\n.bt-palette-row{flex:none;display:flex;align-items:center;gap:8px;height:49px;padding:6px 10px 6px 8px;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;width:100%}\n.bt-palette-row[aria-selected=true]{background:var(--bt-active)}\n.bt-palette-lead{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}\n.bt-palette-cmd{width:24px;height:24px;border-radius:50%;background:var(--bt-hover);display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink-2)}\n.bt-palette-cmd svg{width:14px;height:14px}\n.bt-palette-agent{width:24px;height:24px;border-radius:50%;background:var(--bt-hover);display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink)}\n.bt-palette-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}\n.bt-palette-title{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-palette-sub{font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-palette-badge{flex:none;font-size:11px;line-height:16px;padding:0 6px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink)}\n.bt-palette-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:0 16px;text-align:center;animation:bt-veil-in .22s ease-out}\n.bt-palette-empty-icon{color:var(--bt-line-2)}\n.bt-palette-empty-icon svg{width:32px;height:32px}\n.bt-palette-empty-label{font-size:14px;font-weight:500;color:var(--bt-ink-2)}\n.bt-palette-empty-hint{font-size:13px;line-height:16px;color:var(--bt-ink-3)}\n@media (prefers-reduced-motion:reduce){.bt-palette{animation:bt-fade .1s ease-out}}\n.bt-account-menu{min-width:224px;width:max-content;max-width:calc(100vw - 16px)}\n.bt-flybot-account-header:not(:empty){padding:6px 0 2px;margin-bottom:4px;border-bottom:.5px solid var(--bt-line-2)}\n.bt-account{flex:none;width:36px;height:36px;border:0;padding:0;background:none;border-radius:50%;cursor:pointer;display:inline-flex}\n.bt-account:hover .bt-you,.bt-account[aria-expanded=true] .bt-you{background:color-mix(in srgb,var(--bt-ink) 9%,var(--bt-sidebar))}\n/* Popover keyframes move translate and scale, which compose with a transform the popover\n already has. */\n@keyframes bt-pop-drop{from{translate:0 -4px;scale:.96}}\n@keyframes bt-pop-lift{from{translate:0 4px;scale:.96}}\n@keyframes bt-pop-out{to{opacity:0;scale:.97;filter:blur(2px)}}\n@keyframes bt-veil-in{from{opacity:0;filter:blur(6px)}}\n@keyframes bt-check-pop{from{opacity:0;scale:.4}}\n@media (prefers-reduced-motion:reduce){.bt-menu,.bt-avedit,.bt-react-strip{animation:bt-fade .1s ease-out}.bt-react-strip button,.bt-q-check,.bt-color[aria-pressed=true] span{animation:none}}\n.bt-brand:hover{background:var(--bt-hover)}\n.bt-drop-list{position:relative;display:flex;flex-direction:column;gap:2px}\n.bt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}\n.bt-pick{display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 2px 6px;border-radius:10px;border:1px solid transparent;background:none;color:var(--bt-ink);cursor:pointer;font:inherit;font-size:11px;line-height:14px;min-width:0}\n.bt-pick:hover{background:var(--bt-hover)}\n.bt-pick[aria-pressed=true]{border-color:var(--bt-line-2);background:var(--bt-hover)}\n.bt-pick>span:last-child:not(.bt-mark){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-pick:hover .bt-mark[data-state=idle] .bt-eye{animation:bt-blink .5s linear 1}\n.bt-select{width:100%;height:34px;box-sizing:border-box;border-radius:8px;border:1px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink);padding:0 8px;font:inherit;font-size:13px}\n.bt-note{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-top:6px}\n.bt-swatch-sep{width:1px;height:22px;background:var(--bt-line-2);margin:0 2px}\n.bt-swatch-custom{position:relative;overflow:hidden;background:conic-gradient(#ff3e51,#ffaf38,#00c972,#1cc3b0,#2a92fe,#a97efe,#ff5eb1,#ff3e51);box-sizing:border-box}\n.bt-swatch-custom[data-on=true]{border-color:var(--bt-ink)}\n.bt-swatch-custom input{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);opacity:0;cursor:pointer;border:0;padding:0}\n.bt-swatch-default{background:linear-gradient(135deg,var(--bt-card) 0 46%,var(--bt-line-2) 46% 54%,var(--bt-card) 54%);box-shadow:inset 0 0 0 1px var(--bt-line-2)}\n.bt-states{display:flex;flex-wrap:wrap;gap:4px}\n.bt-state{border:1px solid var(--bt-line);background:none;border-radius:999px;font:inherit;font-size:11px;line-height:16px;padding:2px 8px;color:var(--bt-ink-2);cursor:pointer}\n.bt-state:hover{color:var(--bt-ink)}\n.bt-state[aria-pressed=true]{background:var(--bt-active);border-color:var(--bt-line-2);color:var(--bt-ink)}\n.bt-theme-chip{position:relative;width:46px;height:30px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--bt-line-2);background:linear-gradient(90deg,var(--ls) 0 36%,var(--lb) 36%);overflow:hidden}\n.bt-theme-chip i{position:absolute;right:7px;bottom:7px;width:10px;height:10px;border-radius:50%;background:var(--la)}\nbody[data-ds-dark-theme] .bt-theme-chip{background:linear-gradient(90deg,var(--ds) 0 36%,var(--db) 36%)}\nbody[data-ds-dark-theme] .bt-theme-chip i{background:var(--da)}\n.bt-tabs{flex-wrap:wrap}\n.bt-soft:disabled{opacity:.4;cursor:default}\n.bt-group-role{margin-left:6px;font-size:11px;line-height:14px;padding:1px 5px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink);vertical-align:1px}\n.bt-members{display:flex;flex-direction:column;gap:1px}\n.bt-member{display:flex;align-items:center;gap:4px;min-height:40px;padding:0 4px 0 6px;border-radius:8px;animation:bt-rise .18s ease-out}\n.bt-member:hover{background:var(--bt-hover)}\n.bt-member-name{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;padding:6px 0;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;cursor:pointer;text-align:left}\n.bt-member-name>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-chip-admin{background:var(--bt-tag-bg);color:var(--bt-tag-ink);border-color:transparent}\n.bt-mini{flex:none;border:0;background:none;border-radius:6px;padding:2px 6px;font:inherit;font-size:12px;line-height:18px;color:var(--bt-ink-2);cursor:pointer}\n.bt-mini:hover{background:var(--bt-active);color:var(--bt-ink)}\n.bt-member .bt-mini,.bt-member .bt-x{opacity:0;transition:opacity .15s ease}\n.bt-member:hover .bt-mini,.bt-member:hover .bt-x,.bt-member .bt-mini:focus-visible,.bt-member .bt-x:focus-visible{opacity:1}\n.bt-add{color:var(--bt-ink-2);margin-top:2px}\n.bt-add:hover,.bt-addlist .bt-option:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-addlist{display:flex;flex-direction:column;margin-top:4px;padding:4px;border:1px solid var(--bt-line);border-radius:10px;background:var(--bt-card);animation:bt-rise .16s ease-out}\n.bt-seg{position:relative;display:flex;gap:2px;padding:2px;border-radius:10px;background:var(--bt-hover)}\n.bt-motion-seg{width:216px}\n.bt-seg button{position:relative;z-index:1;flex:1;height:30px;border:0;border-radius:8px;background:none;font:inherit;font-size:13px;color:var(--bt-ink-2);cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,").concat(d0(j1,"scale"),'}\n.bt-seg button[aria-pressed=true]{background:var(--bt-card);color:var(--bt-ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}\n.bt-seg button:disabled{opacity:.4;cursor:default}\n.bt-seg button:active:not(:disabled){scale:.96}\n.bt-seg>.bt-thumb{top:2px;bottom:2px;border-radius:8px;background:var(--bt-card);box-shadow:0 1px 3px rgba(0,0,0,.08)}\n.bt-seg[data-glide] button[aria-pressed=true]{background:transparent;box-shadow:none}\n@keyframes bt-rise{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}\n@media (prefers-reduced-motion:reduce){.bt-member,.bt-addlist{animation:none}}\n\n/* Memory dialog: a summary of every entry, the entries behind the menu, "Ask or update" below. */\n.bt-mem-row{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 8px 0 10px;border:.5px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:13px;cursor:pointer;box-sizing:border-box;transition:background-color .12s ease}\n.bt-mem-row:hover{background:var(--bt-hover)}\n.bt-mem-row>svg{flex:none;color:var(--bt-ink-2)}\n.bt-mem-row-copy{flex:1;text-align:left}\n.bt-mem-row-go{display:inline-flex;align-items:center;gap:2px;color:var(--bt-ink-3);font-size:12px}\n.bt-mem-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:121;isolation:isolate;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-mem-scrim{animation:bt-fade .2s ease-out}\n.bt-mem{position:relative;width:min(680px,calc(100vw - 48px));height:min(760px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))));background:var(--bt-main);border-radius:20px;border:.5px solid var(--bt-line-2);box-shadow:0 24px 80px rgba(0,0,0,.24);display:flex;flex-direction:column;overflow:hidden;color:var(--bt-ink);animation:bt-dialog-rise ').concat(d1.duration,"ms ").concat(d1.easing,",bt-veil-in .2s ease-out}\n.bt-mem-head{position:relative;display:flex;align-items:center;gap:8px;height:60px;flex:none;padding:0 14px 0 24px;border-bottom:.5px solid var(--bt-line);box-sizing:border-box}\n.bt-mem-head .bt-icon-btn{width:32px;height:32px;flex:none}\n.bt-mem-head [aria-haspopup] svg{width:18px;height:18px;stroke-width:2.6}\n.bt-mem-head>.bt-icon-btn:first-child{margin-left:-10px}\n.bt-mem-head h2{margin:0;font-size:17px;line-height:24px;font-weight:600;white-space:nowrap}\n.bt-mem-status{font-size:13px;line-height:18px;color:var(--bt-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-variant-numeric:tabular-nums}\n.bt-mem-head-gap{flex:1}\n.bt-mem-menu{position:absolute;top:52px;right:50px;min-width:220px;--bt-origin:top right}\n.bt-mem-menu button:disabled{opacity:.4;cursor:default;background:none}\n.bt-mem-body{flex:1;overflow-y:auto;padding:22px 28px 24px;scrollbar-width:thin;display:flex;flex-direction:column;gap:12px}\n.bt-mem-summary{transition:opacity .3s ease}\n.bt-mem-summary[data-stale]{opacity:.55}\n.bt-mem-summary h3{margin:20px 0 6px;font-size:17px;line-height:26px;font-weight:600}\n.bt-mem-summary h3:first-child{margin-top:0}\n.bt-mem-summary p{margin:0;font-size:15px;line-height:26px}\n.bt-mem-summary>*{animation:bt-mem-line .45s cubic-bezier(.16,1,.3,1) both}\n.bt-mem-summary>:nth-child(2){animation-delay:.03s}\n.bt-mem-summary>:nth-child(3){animation-delay:.06s}\n.bt-mem-summary>:nth-child(4){animation-delay:.09s}\n.bt-mem-summary>:nth-child(5){animation-delay:.12s}\n.bt-mem-summary>:nth-child(6){animation-delay:.15s}\n.bt-mem-summary>:nth-child(n+7){animation-delay:.18s}\n@keyframes bt-mem-line{from{opacity:0;transform:translateY(4px)}}\n.bt-mem-skel{display:flex;flex-direction:column;gap:24px}\n.bt-mem-skel-block{display:flex;flex-direction:column;gap:10px}\n.bt-mem-skel-block span{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bt-hover) 25%,var(--bt-active) 50%,var(--bt-hover) 75%);background-size:200% 100%;animation:bt-mem-skel 1.4s ease-in-out infinite}\n.bt-mem-skel-block .bt-mem-skel-head{width:30%;height:16px;margin-bottom:2px}\n@keyframes bt-mem-skel{from{background-position:150% 0}to{background-position:-50% 0}}\n.bt-mem-skel-label{font-size:13px;line-height:18px;color:var(--bt-ink-3)}\n.bt-mem-empty{margin:auto;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:24px 0;animation:bt-mem-line .45s cubic-bezier(.16,1,.3,1) both}\n.bt-mem-empty-mark{width:48px;height:48px;border-radius:50%;background:var(--bt-hover);display:flex;align-items:center;justify-content:center;color:var(--bt-ink-2);margin-bottom:4px}\n.bt-mem-empty-mark svg{width:22px;height:22px}\n.bt-mem-empty-title{font-size:15px;line-height:22px;font-weight:600}\n.bt-mem-empty-text{font-size:13px;line-height:20px;color:var(--bt-ink-2)}\n.bt-mem-failed{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--bt-hover);font-size:13px;line-height:18px;color:var(--bt-ink-2)}\n.bt-mem-failed>span{flex:1;min-width:0;overflow-wrap:anywhere}\n.bt-mem-entries{display:flex;flex-direction:column;gap:28px;animation:bt-page-in ").concat(d1.duration,"ms ").concat(d1.easing,",bt-veil-in .22s ease-out}\n.bt-mem-section-head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}\n.bt-mem-section-head h3{margin:0;font-size:15px;line-height:22px;font-weight:600}\n.bt-mem-section-head span{font-size:12px;line-height:16px;color:var(--bt-ink-3)}\n.bt-mem-section-head .bt-mem-size{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}\n.bt-mem-topic{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin:14px 0 2px 4px;font-weight:500}\n.bt-mem-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}\n.bt-mem-entry{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:.5px solid var(--bt-line);transition:opacity .2s ease}\n.bt-mem-entry[data-busy]{opacity:.4}\n.bt-mem-entry-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}\n.bt-mem-entry-text{font-size:14px;line-height:20px;overflow-wrap:anywhere}\n.bt-mem-entry-meta{font-size:12px;line-height:16px;color:var(--bt-ink-3);font-variant-numeric:tabular-nums}\n.bt-mem-remove{flex:none;height:28px;min-width:28px;border-radius:999px;border:0;background:none;color:var(--bt-ink-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0 6px;font:inherit;font-size:12px;opacity:0;transition:opacity .12s ease,background-color .12s ease,color .12s ease}\n.bt-mem-entry:hover .bt-mem-remove,.bt-mem-remove:focus-visible,.bt-mem-remove[data-confirm]{opacity:1}\n.bt-mem-remove:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-mem-remove[data-confirm]{background:rgba(224,33,53,.1);color:#e02135;padding:0 10px}\n@media (hover:none){.bt-mem-remove{opacity:1}}\n.bt-mem-none{font-size:13px;line-height:18px;color:var(--bt-ink-3);padding:8px 4px}\n.bt-mem-foot{flex:none;padding:8px 20px 20px;display:flex;flex-direction:column;gap:10px}\n.bt-mem-reply{border-radius:16px;background:var(--bt-hover);padding:8px 8px 12px 16px;display:flex;flex-direction:column;gap:6px;max-height:36vh;overflow-y:auto;scrollbar-width:thin;transform-origin:50% 100%;animation:bt-pop-lift ").concat(d1.duration,"ms ").concat(d1.easing,",bt-veil-in .2s ease-out}\n.bt-mem-reply-head{display:flex;align-items:center;gap:8px;min-height:24px}\n.bt-mem-reply-asked{flex:1;min-width:0;font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-mem-reply .bt-icon-btn{width:24px;height:24px;flex:none}\n.bt-mem-reply-text{font-size:14px;line-height:21px;padding-right:8px;overflow-wrap:anywhere}\n.bt-mem-changes{list-style:none;margin:2px 0 0;padding:0 8px 0 0;display:flex;flex-direction:column;gap:4px}\n.bt-mem-changes li{display:flex;align-items:flex-start;gap:6px;font-size:13px;line-height:18px;color:var(--bt-ink-2);overflow-wrap:anywhere}\n.bt-mem-changes li svg{flex:none;margin-top:1px;color:#e02135;animation:bt-check-pop ").concat(q1.duration,"ms ").concat(q1.easing," .12s backwards}\n.bt-mem-changes li[data-ok] svg{color:var(--bt-green)}\n.bt-mem-ask{display:flex;align-items:center;gap:8px;height:52px;padding:0 8px 0 22px;border-radius:999px;border:.5px solid var(--bt-line-2);background:var(--bt-card);box-shadow:0 4px 16px rgba(0,0,0,.06);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}\n.bt-mem-ask:focus-within{border-color:var(--bt-ink-3);box-shadow:0 4px 20px rgba(0,0,0,.1)}\n.bt-mem-input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--bt-ink);font:inherit;font-size:15px;line-height:22px;padding:0}\n.bt-mem-input::placeholder{color:var(--bt-ink-3)}\n.bt-mem-send{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:var(--bt-ink);color:var(--bt-main);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:opacity .15s ease,").concat(d0(j1,"scale"),"}\n.bt-mem-send:disabled{opacity:.22;cursor:default}\n.bt-mem-send:not(:disabled):active{scale:.92}\n.bt-mem-send>*{animation:bt-check-pop ").concat(q1.duration,"ms ").concat(q1.easing,"}\n.bt-mem-spin{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;box-sizing:border-box;animation:bt-mem-spin .7s linear infinite}\n@keyframes bt-mem-spin{to{transform:rotate(360deg)}}\n@media (max-width:640px){.bt-mem{width:100vw;height:100%;border-radius:0;border:0}.bt-mem-body{padding:18px 18px 20px}.bt-mem-foot{padding:8px 12px 12px}}\n@media (prefers-reduced-motion:reduce){.bt-mem,.bt-mem-scrim,.bt-mem-summary>*,.bt-mem-empty,.bt-mem-reply,.bt-mem-skel-block span,.bt-mem-entries,.bt-mem-send>*,.bt-mem-changes li svg{animation:none}}\n\n.bt-thumb{position:absolute;left:0;top:0;z-index:0;pointer-events:none;transition:opacity .14s ease}\n.bt-thumb[data-hidden]{opacity:0}\n[data-morph]{overflow:hidden!important}\n.bt-veil{animation:bt-veil-in .22s ease-out}\n.bt-with-icon{display:inline-flex;align-items:center;gap:4px}\n.bt-with-icon svg{width:14px;height:14px}\n.bt-tag-admin{display:inline-flex;align-items:center;gap:4px}\n.bt-create-inline{padding:18px 16px;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card)}\n.bt-create-inline .bt-create-card{max-width:none}\n.bt-panel-view>[data-move=in]{animation:bt-page-in ").concat(d1.duration,"ms ").concat(d1.easing," backwards,bt-veil-in .2s ease-out backwards}\n.bt-panel-view>[data-move=out]{animation:bt-page-out ").concat(d1.duration,"ms ").concat(d1.easing," backwards,bt-veil-in .2s ease-out backwards}\n.bt-panel-view>:is([data-move=in],[data-move=out]):nth-child(2){animation-delay:25ms}\n.bt-panel-view>:is([data-move=in],[data-move=out]):nth-child(n+3){animation-delay:50ms}\n.bt-panel-view>.bt-drawer-body[data-move=tab]{animation:bt-veil-in .2s ease-out}\n.bt-drawer-name-input{animation:bt-veil-in .16s ease-out}\n.bt-pop-in{display:inline-flex;animation:bt-check-pop ").concat(q1.duration,"ms ").concat(q1.easing,"}\n:is(.bt-soft,.bt-send,.bt-icon-btn,.bt-settings-close,.bt-mini,.bt-tab,.bt-nc-send,.bt-avedit-tab,.bt-shape,.bt-pick,.bt-swatch,.bt-palette-clear){transition:background-color .12s ease,color .12s ease,border-color .12s ease,opacity .12s ease,").concat(d0(j1,"scale"),"}\n:is(.bt-icon-btn,.bt-settings-close,.bt-nc-send,.bt-shape,.bt-swatch,.bt-color,.bt-x,.bt-q-x,.bt-palette-clear):active:not(:disabled){scale:.9}\n:is(.bt-soft,.bt-send,.bt-mini,.bt-tab,.bt-avedit-tab,.bt-pick,.bt-q-submit,.bt-q-btn):active:not(:disabled){scale:.96}\n@media (prefers-reduced-motion:reduce){.bt-thumb{transition:none}.bt-panel-view>[data-move],.bt-drawer-name-input,.bt-veil,.bt-pop-in,.bt-token,.bt-drop,.bt-newchat,.bt-option-hint,.bt-connector-form,.bt-settings-head>*{animation:none}}\n"),bz='\n.bt-think{font-size:13px;line-height:18px;color:var(--bt-ink-2);margin:2px 0 4px;max-width:min(560px,78%)}\n.bt-think summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;white-space:nowrap}\n.bt-think summary::-webkit-details-marker{display:none}\n.bt-think-caret{display:inline-block;transition:transform .15s;font-size:14px;line-height:1}\n.bt-think[open] .bt-think-caret{transform:rotate(90deg)}\n.bt-think-peek{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bt-ink-3)}\n/* Opened, the body prints that same first line again, so the preview steps aside (#1636). */\n.bt-think[open] .bt-think-peek{display:none}\n.bt-person-mark{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bt-ink-5,rgba(20,20,20,.08));color:var(--bt-ink-3,rgba(20,20,20,.45))}\n.bt-person-initial{color:#fff;font-weight:600;line-height:1;user-select:none}\n.bt-person-msg .bt-group-name{color:var(--bt-ink-2,rgba(20,20,20,.7))}\n/* A person\'s typed line keeps its line breaks, as on the sender\'s side (#455): Markdown would join them. */\n.bt-person-msg .bt-bubble :is(p,li){white-space:pre-line}\n.bt-remote-handle{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-weight:400;color:var(--bt-ink-3,rgba(20,20,20,.36))}\n.bt-think-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px;padding-left:10px;border-left:2px solid var(--bt-line-2)}\n.bt-event{display:flex;justify-content:center;align-items:center;gap:2px;min-height:24px;margin:2px 0;font-size:12px;line-height:16px;color:var(--bt-ink-2);flex-wrap:wrap}\n.bt-event>span{padding:0 2px}\n.bt-event button{border:0;background:none;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:4px;cursor:pointer;height:24px;padding:4px 6px 4px 4px;border-radius:999px;box-sizing:border-box;transition:background-color .12s ease}\n.bt-event button:hover{background:var(--bt-hover)}\n.bt-event button:active{background:var(--bt-active)}\n.bt-event button.bt-event-whole{min-width:0;max-width:100%;padding:4px 6px 4px 8px}\n.bt-event-whole>*{flex:none}\n.bt-event-whole>span:first-child{margin-right:2px}\n/* One button cannot wrap like separate parts, so a long name is cut to fit the chat. */\n.bt-event-whole>.bt-event-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-time-sep{display:flex;justify-content:center;align-items:center;height:28px;margin:14px 0 8px;font-size:12px;line-height:16px;color:var(--bt-ink-2);white-space:nowrap}\n[class*="_scroll"]>[class*="_column"]::before{content:var(--bt-first-sep,none);display:block;flex:none;height:28px;margin:17px 0 12px;font-size:12px;line-height:28px;text-align:center;color:var(--bt-ink-2);white-space:nowrap}\n.bt-group-replies{display:contents}\n/* A Bot chat is flat in every work-details mode, without changing the user\'s mode\n (it is a DSH-wide setting): step groups lose their header and stay open, and what a\n mode folds away in a finished turn stays shown. TurnProcessCell also opens that\n fold; these rules cover the first frame before it does. */\n[data-step-process]>div:first-child{display:none!important}\n[data-step-process]>[data-step-process-body]{display:block!important;content-visibility:visible!important;max-height:none!important;overflow:visible!important;mask-image:none!important;scrollbar-gutter:auto!important}\n:is([data-step-process],[data-turn-process-hidden])[hidden]{content-visibility:visible!important}\n[class*="_flowItem"]:has(> [data-slot="conversation.chat.node"]:empty){display:none!important}\n/* FlyBot\'s pill rides the shell\'s own Session header utilities, beside the seats\n the native header renders (actions: the subagent catalog; lineage; corner).\n It is a compact control in that row now, not a floating replacement for the\n whole header, so the header keeps its own layout, border and drag row. */\n[class*="_header"] .bt-head{display:flex;align-items:center;height:auto;flex:none;width:auto;pointer-events:auto}\n[class*="_header"] .bt-head .bt-pill{height:30px;padding:3px 10px 3px 4px;gap:6px;font-size:13px;line-height:18px;max-width:min(320px,32vw)}\n[class*="_header"] .bt-head .bt-pill:has(.bt-pill-name-face){height:auto;min-height:30px;align-items:flex-start}\n/* The session breadcrumb is a 244px nowrap line (#1102). Two lines keep\n "Face-to-face \xB7 SelfA1025, SelfB1025 \xB7 739184" inside that box. */\n[class*="_header"] [class*="switcherTitle"]{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis}\n[class*="_header"] [class*="switcherTrigger"]{height:auto;align-items:flex-start}\n[class*="_header"] .bt-head .bt-mark{width:22px!important;height:22px!important;--bt-size:22px}\n/* #1347: "Standard mode" beside the title reads as a control \u2014 a filled chip with an icon \u2014 but the\n shell draws it as a span with no click handler (dsh-client-ui-agent-preset, AgentPresetLabel):\n clicking it does nothing, and the only thing behind it is a hover title. In a Bot chat the mode is\n fixed for the whole Session anyway, so the chip becomes what it is: a status word on the title\'s\n line. No fill, no radius, muted ink, and the description stays on hover. */\n[data-slot="conversation.session.header.actions"] [class*="_label"]{background:none;border-radius:0;color:var(--bt-ink-3);cursor:help;pointer-events:auto}\n[data-slot="conversation.session.header.actions"] [class*="_label"] svg{opacity:.7}\n[class*="_body"]:has(> [class*="_scrollBody"]){--dsh-chat-content-width:min(960px,100%)}\n/* DSH\'s turn tail keeps what plugins put in it (delivered files, the Bot\'s separators),\n without its copy and branch row; a tail with nothing in it takes no room. */\n[data-turn-tail]>:not([data-slot="conversation.chat.turnTail"]):not(.bt-typing){display:none!important}\n[class*="_flowItem"][data-chat-flow-kind="turn-tail"]:not(:has([data-slot="conversation.chat.turnTail"]:not(:empty))):not(:has([data-turn-tail]>.bt-typing)){display:none!important}\n/* #1347: the thread must never paint above a dialog, a sheet or a scrim.\n The chat column had no stacking context of its own (position:static, z-index:auto), so nothing\n inside it was boxed in: anything the browser promoted to its own composited layer \u2014 an entrance\n animation (bt-row-in animates a transform), a filter, a will-change, a scroll container\'s sticky\n descendant \u2014 was ordered against the ROOT stacking context instead of against the column. A\n dialog\'s layer is a z-index box at the root, so a promoted bubble could sort above it, which is\n exactly what the owner\'s screenshots show: a right-aligned pill at full opacity across the Tasks\n dialog and over the Inbox scrim, while the same pill sat under it in a plain DOM walk. Giving the\n column its own stacking context (isolation:isolate) paints every descendant inside it, and its\n z-index:0 keeps all of that below .bt-pane (45), .bt-panel (40) and the dialog layers at 120/121\n whatever any single bubble does. contain:paint is deliberately NOT used: it would clip the\n popovers the thread legitimately renders (reaction strip, message menu), which portal to body\n for exactly that reason. */\n/* Every team Session belongs to a Bot or a group, so a blank one is an empty chat, not\n the shell\'s new-session hero: no headline, no workspace or mode picker, and the\n composer stays docked at the bottom. */\n[data-content-phase=hero] [class*="_scrollBody"]{justify-content:flex-end!important}\nbody[data-bt-remote-chat=empty][data-content-phase=hero] [class*="_scrollBody"]::before{content:var(--bt-remote-empty);display:block;text-align:center;color:var(--bt-ink-3);font-size:13px;line-height:18px;padding:16px 12px 8px;max-width:var(--dsh-chat-content-width,min(960px,100%));margin:0 auto;white-space:pre-wrap}\n[data-content-phase=hero] [class*="_composerHero"]{align-self:stretch!important;width:auto!important;padding-bottom:0!important}\n[data-content-phase=hero] [class*="_composerHero"]>[class$="_root"],[data-content-phase=hero] [class*="_heroWorkspaceRow"]{display:none!important}\n[data-content-phase=hero] [class*="_composerHero"] [class*="_input"]{min-height:0!important}\n/* The right sides give back the scrollbar gutter so both edges sit 16px from the column. */\n[class*="_scroll"]:has(> [class*="_column"]){padding:60px 11px 16px 16px!important}\n/* The shell\'s running status only hosts the activity row (.bt-typing). */\n[data-chat-running]{display:block!important;width:100%;min-height:0!important;margin:0!important;padding:0!important}\n[data-chat-running]>span:not([role=status]){display:none!important}\n[data-chat-running]:has(> .bt-typing){margin-top:var(--dsh-chat-flow-gap,12px)!important}\n.bt-busy-ack{display:flex;align-items:flex-end;gap:8px;width:100%;margin-top:var(--dsh-chat-flow-gap,12px);margin-bottom:4px}\n.bt-busy-ack .bt-astack{align-items:flex-start}\n.bt-busy-ack .bt-bubble{opacity:.92}\n.bt-busy-dots{display:inline-flex;align-items:center;gap:4px;height:22px}\n.bt-busy-dots>span{width:5px;height:5px;border-radius:50%;background:var(--bt-ink-3);animation:bt-busy-blink 1.2s ease-in-out infinite}\n.bt-busy-dots>span:nth-child(2){animation-delay:.2s}.bt-busy-dots>span:nth-child(3){animation-delay:.4s}\n@keyframes bt-busy-blink{0%,80%,100%{opacity:.25}40%{opacity:1}}\n@media (prefers-reduced-motion:reduce){.bt-busy-dots>span{animation:none;opacity:.6}}\n.bt-typing{display:flex;align-items:center;gap:12px;height:36px;min-width:0;padding-inline-start:8px;transform-origin:0 50%;animation:bt-typing-in '.concat(j1.duration,"ms ").concat(j1.easing," backwards}\n.bt-typing[data-exiting]{animation:bt-typing-out .14s cubic-bezier(.22,1,.36,1) forwards}\n.bt-typing[data-carry],.bt-typing[data-carry]>.bt-typing-text{animation:none}\n/* Between a friend's chat turns the row sits in the last turn's tail (#443), at the transcript's foot. */\n[data-turn-tail]>.bt-typing{margin-top:var(--dsh-chat-flow-gap,12px)}\n.bt-typing>.bt-mark,.bt-typing>.bt-cluster{flex-shrink:0}\n.bt-typing>.bt-mark{cursor:pointer;transition:filter .16s ease-out}\n.bt-typing>.bt-mark:hover{filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}\n.bt-typing>.bt-mark .bt-eyes{transition:scale .28s cubic-bezier(.4,.06,.18,1)}\n.bt-typing>.bt-mark:hover .bt-eyes{scale:1.18}\n.bt-typing-text{display:flex;align-items:center;flex:1 1 auto;min-width:0;animation:bt-typing-label .22s ease-out .2s backwards}\n.bt-typing-label{display:inline-flex;align-items:center;gap:6px;min-width:0;animation:bt-typing-label .22s ease-out backwards}\n.bt-typing-label>.bt-shimmer{font-size:14px;line-height:22px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-typing-time{flex-shrink:0;font-size:12px;line-height:22px;color:var(--bt-ink-3);white-space:nowrap}\n@keyframes bt-typing-in{from{opacity:0;transform:scale(.9)}}\n@keyframes bt-typing-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92);filter:blur(3px)}}\n@keyframes bt-typing-label{from{opacity:0;filter:blur(5px);transform:translateY(3px)}}\n/* Shimmer: a stepped sweep clipped to the text. */\n.bt-shimmer{color:transparent;background:linear-gradient(90deg,var(--bt-shimmer-base) 0%,var(--bt-shimmer-base) 25%,var(--bt-ink) 60%,var(--bt-shimmer-base) 75%,var(--bt-shimmer-base) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:bt-shimmer 2.2s steps(60) infinite;--bt-shimmer-base:color-mix(in srgb,var(--bt-ink) 40%,transparent)}\n@keyframes bt-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}\n/* New rows slide up; a reply that replaces the activity row grows out of its corner. */\n[data-bt-enter=\"new\"]{animation:bt-row-in ").concat(d1.duration,"ms ").concat(d1.easing,'}\n[data-bt-enter="after-collapse"]{transform-origin:0 100%;animation:bt-row-after .24s cubic-bezier(.23,1,.32,1) .38s backwards}\n@keyframes bt-row-in{from{transform:translateY(12px)}to{transform:none}}\n@keyframes bt-row-after{0%{opacity:0;transform:translateY(12px) scale(.94)}55%{opacity:1}100%{opacity:1;transform:none}}\n@media (prefers-reduced-motion:reduce){\n.bt-typing,.bt-typing[data-exiting]{animation-name:bt-fade-in;animation-duration:.12s;transform:none}\n.bt-typing[data-exiting]{animation-name:bt-fade-out}\n.bt-typing-text,.bt-typing-label{animation-name:bt-fade-in;animation-delay:0s}\n.bt-shimmer{animation:none;background:none;color:var(--bt-ink-2)}\n[data-bt-enter="new"]{animation:none}\n[data-bt-enter="after-collapse"]{animation:bt-fade-in .12s ease-out}\n}\n@keyframes bt-fade-in{from{opacity:0}to{opacity:1}}\n@keyframes bt-fade-out{from{opacity:1}to{opacity:0}}\n[data-composer-card]{display:flex!important;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0!important;min-height:44px;border-radius:22px!important;padding:7.5px!important;box-sizing:border-box;background:var(--bt-main)!important;border:.5px solid var(--bt-line-2)!important;box-shadow:0 2px 8px -1px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.03),0 0 0 1px rgba(228,228,228,.04)!important;transition:border-color .15s ease,background-color .15s ease,').concat(d0(d1,"border-radius"),'!important}\n[data-composer-card]:hover{border-color:color-mix(in srgb,var(--bt-ink) 30%,transparent)!important}\n[data-composer-card]:focus-within{border-color:color-mix(in srgb,var(--bt-ink) 55%,transparent)!important}\n[data-composer-card]:has(> [data-slot="conversation.input.attachments"] *),[data-composer-card]:has([data-composer-input] br + *),[data-composer-card]:has([data-composer-input] > :nth-child(2)){border-radius:18px!important}\n[class*="_root"]:has(> [data-composer-card]){padding:0 11px 13px 16px!important}\n[class*="_root"]:has(> [data-composer-card])>[data-composer-card]{max-width:min(992px,100%)!important}\n[data-composer-card]>[class*="_row"]{display:contents!important}\n[data-composer-card] [class*="_tools"]{order:1;flex:none;align-self:flex-end;margin:0}\n[data-composer-card]>[data-input-scroll]{order:2;flex:1 1 0;min-width:0;padding:0 8px!important;margin:0!important}\n[data-composer-card] [class*="_trailing"]{order:3;flex:none;align-self:flex-end;margin:0}\n[data-composer-card]>[data-slot="conversation.input.attachments"]{order:0;flex-basis:100%}\n[data-composer-card] [data-composer-input]{min-height:24px;padding:2px 0!important}\n[data-composer-card] [data-composer-placeholder]{left:0!important;top:2px!important}\n[data-composer-placeholder]{font-size:0!important;line-height:0!important}\n/* A friend\'s Bot chat: no local run stats (they are relay turns, always 0; #419). */\nbody[data-bt-friend-chat] [data-composer-stats]{display:none!important}\n[data-composer-placeholder]::after{content:var(--bt-placeholder,"Message");display:block;font-size:14px;line-height:24px;color:color-mix(in srgb,var(--bt-ink) 36%,transparent)}\n/* The team\'s "+" (ComposerPlus) takes the seat of the shell\'s command-menu button. */\n[data-composer-card] button[class*="_add"]{display:none!important}\n.bt-plus{flex:none;width:28px;height:28px;padding:0;border:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bt-ink) 5%,transparent);box-shadow:inset 0 0 0 .5px var(--bt-line);color:var(--bt-ink-2);cursor:pointer;transition:background-color .15s ease,color .15s ease,').concat(d0(j1,"scale"),"}\n.bt-plus:hover,.bt-plus[aria-expanded=true]{background:color-mix(in srgb,var(--bt-ink) 10%,transparent);color:var(--bt-ink)}\n.bt-plus:active{scale:.9}\n.bt-plus svg{width:14px;height:14px;transition:").concat(d0(q1,"rotate"),'}\n.bt-plus[aria-expanded=true] svg{rotate:45deg}\n.bt-plus-menu{min-width:180px}\n[data-composer-card] [class*="_tools"]{gap:0!important}\n[data-composer-card] [class*="_modes"]:empty{display:none!important}\n[data-composer-card] [class*="_activity"]:not(:has([data-slot] > *)){display:none!important}\n[data-composer-card] [class*="_trailing"]{gap:8px}\n[data-composer-card] [class*="_standardControls"]{display:flex;align-items:center;gap:8px}\n[data-composer-card] button[class*="_primary"]{width:28px!important;height:28px!important;background:var(--bt-accent)!important;color:var(--bt-accent-ink,#fff)!important;border-radius:50%!important;transition:opacity .15s ease,').concat(d0(j1,"scale"),";animation:bt-icon-swap ").concat(q1.duration,"ms ").concat(q1.easing,'}\n[data-composer-card] button[class*="_primary"]:hover:not(:disabled){opacity:.9}\n[data-composer-card] button[class*="_primary"]:active:not(:disabled){scale:.9}\n@keyframes bt-icon-swap{from{opacity:0;transform:scale(.5) rotate(-30deg)}}\n[data-composer-card] button[class*="_primary"] svg{width:14px;height:14px}\n[data-composer-card] button[class*="_primary"]:disabled{display:none!important}\n[data-composer-dock]{display:none!important}\n.bt-mic,.bt-voice{flex:none;width:28px;height:28px;border-radius:50%;border:0;padding:0;display:inline-grid;place-items:center;cursor:pointer;transition:background-color .15s ease,color .15s ease,').concat(d0(j1,"scale"),"}\n.bt-mic{background:color-mix(in srgb,var(--bt-ink) 5%,transparent);box-shadow:inset 0 0 0 .5px var(--bt-line);color:var(--bt-ink-2)}\n.bt-mic:hover{background:color-mix(in srgb,var(--bt-ink) 10%,transparent);color:var(--bt-ink)}\n.bt-mic[aria-pressed=true]{background:#ff3e51;color:#fff;animation:bt-mic-pulse 1.4s ease-in-out infinite}\n@keyframes bt-mic-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,62,81,.35)}50%{box-shadow:0 0 0 5px rgba(255,62,81,0)}}\n.bt-voice{display:none;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);animation:bt-icon-swap ").concat(q1.duration,"ms ").concat(q1.easing,'}\n.bt-voice:hover{opacity:.9}\n.bt-mic:active,.bt-voice:active{scale:.9}\n[data-composer-card]:has(button[class*="_primary"]:disabled) .bt-voice{display:inline-grid}\nbody[data-bt-room] .bt-voice{display:none!important}\nbody[data-bt-room] [data-composer-card] [class*="_activity"]{display:none!important}\nbody[data-bt-room] [data-composer-card]:has(button[class*="_primary"]:disabled) .bt-mic:not([aria-pressed=true]){background:var(--bt-accent);color:var(--bt-accent-ink,#fff)}\nbody[data-bt-workflow] [data-composer-card]{display:none!important}\n.bt-mic-note{position:absolute;right:12px;bottom:calc(100% + 8px);padding:5px 10px;border-radius:8px;background:var(--bt-user);color:var(--bt-user-ink);font-size:12px;line-height:16px;white-space:nowrap;pointer-events:none;animation:bt-rise .16s ease-out}\n[data-chain-overlay-fallback="conversation.composer"]:has(~ .bt-q){display:block!important;order:2}\n.bt-q{order:1}\ndiv:has(> nav [class*="_marks"]){display:none!important}\n/* Every user-side bubble (sent, steering mid-turn, not yet admitted, question replies)\n takes its surface and its text from the one --bt-user pair: a skin that repaints\n the host\'s bubble surface alone would otherwise leave the text unreadable. */\n[class*="_userRow"] [class*="_bubble"],[data-chat-flow-kind=question-reply] [class*="_bubble"],[data-chat-flow-kind=command-input] [class*="_bubble"]{background:var(--bt-user)!important;color:var(--bt-user-ink)!important;border-radius:18px!important;padding:7px 12px!important;font-size:var(--dsh-content-font-size,14px)!important;line-height:calc(var(--dsh-content-font-size,14px) + 8px)!important}\n[class*="_userRow"] [class*="_bubble"] [class*="_markdown"],[class*="_userRow"] [class*="_bubble"] a{color:inherit}\n/* Sent messages get the hover toolbar below; steering and unsent bubbles keep none. */\n[class*="_userRow"] [class*="_actions"]{display:none!important}\n[data-chat-flow-kind=user] [class*="_userRow"]{flex-direction:row-reverse;align-items:center;justify-content:flex-start}\n[data-chat-flow-kind=user] [class*="_actions"]{display:flex!important;height:24px!important;gap:2px!important;opacity:0!important;visibility:hidden;transition:opacity .12s ease,visibility .12s!important;flex:none}\n[data-chat-flow-kind=user] [class*="_userRow"]:hover [class*="_actions"],[data-chat-flow-kind=user] [class*="_userRow"]:focus-within [class*="_actions"]{opacity:1!important;visibility:visible}\n[data-chat-flow-kind=user] [class*="_actions"] [class*="_timeStart"]{display:none}\n[data-chat-flow-kind=user] [class*="_actions"] button{width:24px;height:24px;border-radius:6px;color:var(--bt-ink-2)}\n[data-chat-flow-kind=user] [class*="_actions"] button:hover{background:var(--bt-hover);color:var(--bt-ink)}\n[data-chat-flow-kind=user] [class*="_actions"] svg{width:15px;height:15px}\n.bt-q-inline{display:flex;margin:4px 0 6px}\n[data-chat-flow-kind=assistant-step]+[data-step-process]:has(.bt-q-inline){margin-top:0!important}\n[data-chat-flow-kind=question-reply]:has(.bt-q-inline),[data-chat-group-key]:has([data-chat-flow-kind=question-reply] .bt-q-inline),[data-chat-group-key]:has(.bt-q-gone){margin-top:0!important}\n.bt-q-inline .bt-q{margin:0;max-width:min(550px,86%);order:0}\n.bt-q-dock{width:100%;display:flex;justify-content:center}\n.bt-q-dock .bt-q{margin:0 auto 8px}\n[class*="_toBottomSlot"]{justify-content:center!important;padding-right:0!important}\n[data-conversation-scroll] [class*="_toBottomSlot"]{bottom:calc(var(--dsh-composer-height,152px) + 8px)!important}\n[class*="_toBottomSlot"]>button{width:36px!important;height:36px!important;margin-top:-36px!important;background:var(--bt-main)!important;color:var(--bt-ink)!important;box-shadow:0 0 0 .5px var(--bt-line-2),0 2px 8px -2px rgba(0,0,0,.12)!important;animation:bt-tobottom-in ').concat(j1.duration,"ms ").concat(j1.easing,",bt-veil-in .16s ease-out;transition:background-color .12s ease,").concat(d0(j1,"scale"),"}\n[class*=\"_toBottomSlot\"]>button:active{scale:.9}\n[class*=\"_toBottomSlot\"]>button:hover{background:color-mix(in srgb,var(--bt-ink) 4%,var(--bt-main))!important}\n[class*=\"_toBottomSlot\"]>button svg{display:none}\n[class*=\"_toBottomSlot\"]>button::before{content:\"\";width:20px;height:20px;background:currentColor;-webkit-mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4v12M5 11l5 5 5-5'/%3E%3C/svg%3E\") center/contain no-repeat;mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4v12M5 11l5 5 5-5'/%3E%3C/svg%3E\") center/contain no-repeat}\n@keyframes bt-tobottom-in{from{translate:0 8px;scale:.8}}\n[data-bt-news] [class*=\"_toBottomSlot\"]>button{visibility:hidden!important;pointer-events:none!important}\n.bt-news{position:fixed;z-index:30;transform:translateX(-50%);display:inline-flex;align-items:center;overflow:hidden;border-radius:999px;background:#0c64c1;color:#fcfcfc;box-shadow:inset 0 0 0 1px rgba(20,20,20,.05),0 1px 3px 0 rgba(0,0,0,.12);font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",system-ui,sans-serif;animation:bt-news-in ").concat(j1.duration,"ms ").concat(j1.easing,',bt-veil-in .16s ease-out}\n@keyframes bt-news-in{from{translate:0 8px;scale:.9}}\n.bt-news[data-direction=up]{animation-name:bt-news-in-up,bt-veil-in}\n@keyframes bt-news-in-up{from{translate:0 -8px;scale:.9}}\n.bt-news-jump{display:inline-flex;align-items:center;gap:2px;margin:0;padding:4px 26px 4px 4px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-size:13px;line-height:18px;white-space:nowrap;cursor:pointer;outline:none}\n.bt-news-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}\n.bt-news-ico svg{width:16px;height:16px}\n.bt-news-x{position:absolute;right:4px;top:50%;z-index:1;transform:translateY(-50%);width:20px;height:20px;padding:0;border:0;border-radius:999px;background:transparent;color:inherit;opacity:.75;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}\n.bt-news-x svg{width:12px;height:12px}\n.bt-news-x:hover{opacity:1;background:rgba(20,20,20,.5)}\n@media (prefers-reduced-motion:reduce){.bt-news,[class*="_toBottomSlot"]>button{animation:none}}\n.bt-new-sep{display:flex;align-items:center;gap:8px;margin:14px 0 8px;padding:2px 0;font-size:11px;line-height:14px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:#0c64c1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-new-sep::before,.bt-new-sep::after{content:"";flex:1;height:1px;background:color-mix(in srgb,#0c64c1 20%,transparent)}\n.bt-open-new{display:flex;flex-direction:column}\n.bt-open-new .bt-new-sep{margin:18px 0 0}\n.bt-open-new .bt-time-sep{height:16px;margin:32px 0 2px}\n.bt-earlier{display:flex;flex-direction:column;gap:6px}\n.bt-earlier-top{display:flex;justify-content:center;align-items:center;height:34px;flex:none}\n.bt-earlier-top .bt-soft{height:28px;font-size:12px;padding:0 12px}\n.bt-urow{display:flex;justify-content:flex-end}\n.bt-urow>.bt-lead{align-self:flex-end;margin-left:6px}\n.bt-ububble{max-width:min(560px,78%);background:var(--bt-user);color:var(--bt-user-ink);border-radius:18px;padding:7px 12px;font-size:14px;line-height:20px;box-sizing:border-box;overflow-wrap:anywhere}\n.bt-ububble [class*="_markdown"],.bt-ububble a{color:inherit!important}\n.bt-ububble p{margin:0;line-height:22px}\n.bt-uimages{display:block;font-size:12px;opacity:.7}\n.bt-earlier .bt-event{margin:4px 0}\n.bt-part-line{display:flex;align-items:center;gap:10px;margin:10px 0 6px;font-size:11px;line-height:14px;color:var(--bt-ink-3)}\n.bt-part-line::before,.bt-part-line::after{content:"";flex:1;height:1px;background:var(--bt-line)}\n');function lP({source:e,roster:t,openBot:n,onQuote:a}){let i=(0,y1.useSyncExternalStore)(e.subscribe,e.getSnapshot),[r,s]=(0,y1.useState)(""),c=e.chat(),o=u=>Promise.resolve().then(u).catch(m=>{throw s(m.message),m}),l={reactions:{}},p=(u,m,d=!1)=>{let f=t.bots.find(w=>w.id===u.botId||w.role===u.speaker);return(0,y1.createElement)("article",{key:m,"data-native-message":u.kind??"assistant"},(0,y1.createElement)("header",null,f?(0,y1.createElement)(O0,{bot:f,size:28}):(0,y1.createElement)(B7,{name:u.speaker}),u.speaker??(u.kind==="human"?"You":"Bot")),u.kind==="human"?(0,y1.createElement)(tl,{name:u.speaker??"You",texts:[String(u.text??"")],roster:t,selfId:f?.id,useUi:w=>w(l),actions:{quote:(w,k)=>a?.(k),openSession:w=>{t.byId[w]&&n?.(w)}}}):(0,y1.createElement)(ez,{node:{key:m,data:{turn:0,step:0,status:d?"running":"done",blocks:[{kind:"text",text:String(u.text??"")}]}},sessionId:f?.id,useRoster:w=>w(t),useUi:w=>w(l),useTurnSteps:()=>[],useTurnContext:()=>[],actions:{noteLive(){},quote:(w,k)=>{a?.(k)},openSession:w=>{t.bots.some(k=>k.id===w)&&n?.(w)}}}),(0,y1.createElement)(bP,{files:u.attachments??(u.attachmentIds??[]).map(w=>i.attachments?.find(k=>k.id===w)).filter(Boolean),read:w=>c.readAttachment(w)}))};return(0,y1.createElement)("div",{className:"bt-native-conversation",role:"log"},i.messages.map((u,m)=>p(u,u.id??m)),(i.tools??[]).map(u=>(0,y1.createElement)("details",{key:"process:".concat(u.id),"data-native-process":""},(0,y1.createElement)("summary",null,"".concat(ot(u.tool)," \xB7 ").concat(u.status)),u.text?p({text:u.text,speaker:"Tool output"},"result:".concat(u.id)):null)),(i.groupWork??[]).map(u=>(0,y1.createElement)("section",{key:u.botId},(0,y1.createElement)("header",null,u.name??"Bot"),(0,y1.createElement)(az,{entry:{state:"work",doing:u,here:u.canStop},bot:t.byId[u.botId]??{id:u.botId},room:{id:i.binding?.personalId},now:Date.now(),actions:{stopMemberWork:(m,d)=>c.stopMember(d),reportError:m=>s(m.message)}}))),i.question?(0,y1.createElement)(N9,{sessionId:i.binding?.personalId,question:i.question,inline:!0,actions:{answerQuestion:(u,m,d)=>o(()=>c.answerQuestion(m,d)),dismissQuestion:()=>{o(()=>c.dismissQuestion(i.question.id)).catch(()=>{})}}}):null,(i.approvals??[]).map(u=>(0,y1.createElement)(Ka,{key:u.id,approval:u,standing:!1,bot:t.byId[i.binding?.personalId]??{id:i.binding?.personalId,name:"Bot"},actions:{answerApproval:(m,d)=>c.answerApproval(m,d),reportError:m=>s(m.message)}})),i.binding?.personalId&&!i.binding.personalPart&&!i.groupWork?(0,y1.createElement)("div",{className:"bt-scoped-controls"},(0,y1.createElement)("button",{type:"button",onClick:()=>{o(()=>i.busy?c.stop():c.send("Continue.")).catch(()=>{})}},i.busy?"Stop reply":"Continue")):null,r?(0,y1.createElement)("p",{role:"alert"},r):null,i.live?.tool?(0,y1.createElement)("p",{role:"status","data-native-tool":""},ot(i.live.tool)):null,(i.sessions??[]).filter(u=>u.live?.tool).map(u=>(0,y1.createElement)("p",{key:"tool:".concat(u.role),role:"status","data-native-tool":""},"".concat(u.role,": ").concat(ot(u.live.tool)))),i.live?.text?p({...i.live,speaker:i.live.speaker??"Bot"},"live",!0):null,(i.sessions??[]).filter(u=>u.live?.text).map(u=>p({...u.live,speaker:u.role},"live:".concat(u.role),!0)))}function e9(e,t,n){let a=(0,fz.createRoot)(e),i=s=>a.render(n(s));i(t);let r=()=>a.unmount();return r.update=i,r}function pP(e,t){return e9(e,t,({source:n,bots:a=[],openBot:i,onQuote:r})=>{let s=a.map(({id:o,name:l,role:p})=>({id:o,name:l,role:p})),c={roomsById:{},exchangeTurns:{},remoteTypedTurns:{},bots:s,byId:Object.fromEntries(s.map(o=>[o.id,o]))};return(0,y1.createElement)(lP,{source:n,roster:c,openBot:i,onQuote:r})})}var uP=gz+bz+sl+al;function mP(e,t){return e9(e,t,({bots:n=[],rooms:a=[],mainBotIds:i=[],selectedId:r,openSession:s,openDetails:c})=>{n=n.map(l=>({...l,sessionId:l.sessionId??l.id}));let o={bots:n,rooms:a,mainBotIds:i,mainBotId:i[0],byId:Object.fromEntries(n.map(l=>[l.id,l])),roomsById:Object.fromEntries(a.map(l=>[l.id,l])),exchangeTurns:{},remoteTypedTurns:{},questions:{}};return(0,y1.createElement)(hz,{roster:o,selectedId:r,openSession:s,openDetails:c})})}function dP(e,t){return e9(e,t,n=>(0,y1.createElement)(il,n))}function hP({worker:e,answer:t}){let[n,a]=(0,y1.useState)(""),i=e.pending;return i.kind!=="permission"?(0,y1.createElement)(il,{chat:{send:r=>t({text:r})},onError:r=>a(r.message)}):(0,y1.createElement)("div",null,(0,y1.createElement)(Ka,{approval:{id:i.id,tool:i.request?.name??"Runtime action",reason:i.request?.description??"",answerable:!0},bot:{id:e.id,name:e.role},standing:!1,actions:{answerApproval:(r,s)=>t({requestId:r,allow:s==="allow"}),reportError:r=>a(r.message)}}),n?(0,y1.createElement)("p",{role:"alert"},n):null)}function gP(e,t){return e9(e,t,n=>(0,y1.createElement)(hP,n))}function bP({files:e,read:t}){let[n,a]=(0,y1.useState)({}),[i,r]=(0,y1.useState)(""),s=(0,y1.useRef)(!0);(0,y1.useEffect)(()=>()=>{s.current=!1},[]);let c=async o=>{try{let l=await t(o);s.current&&a(p=>({...p,[o.id]:l}))}catch(l){s.current&&r(l.message)}};return(0,y1.createElement)("div",{className:"bt-scoped-attachments"},e.map(o=>{let l=n[o.id],p=l?.kind==="image"&&["image/png","image/jpeg","image/webp","image/gif"].includes(l.mediaType),u=l?.data?"data:".concat(p?l.mediaType:"application/octet-stream",";base64,").concat(l.data):null;return(0,y1.createElement)("div",{key:o.id},(0,y1.createElement)("button",{type:"button",onClick:()=>{c(o)}},"".concat(o.name??"Attachment").concat(Number.isFinite(o.bytes)?" \xB7 "+j9(o.bytes):"")),p&&u?(0,y1.createElement)("img",{src:u,alt:o.name??"Attachment",width:240}):null,u?(0,y1.createElement)("a",{href:u,download:l.name??o.name},"Download"):null,typeof l?.text=="string"?(0,y1.createElement)("pre",null,l.text):null)}),i?(0,y1.createElement)("p",{role:"alert"},i):null)}return kz(fP);})(); +var FlyBotNativeConversation=(()=>{var Vz=Object.create,kl=Object.freeze,C5=Object.defineProperty;var qz=Object.getOwnPropertyDescriptor;var Iz=Object.getOwnPropertyNames;var Bz=Object.getPrototypeOf,Pz=Object.prototype.hasOwnProperty;var s1=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(a){throw n=[a],a}};var Me=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},h1=(e,t)=>{for(var n in t)C5(e,n,{get:t[n],enumerable:!0})},zl=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Iz(t))!Pz.call(e,i)&&i!==n&&C5(e,i,{get:()=>t[i],enumerable:!(a=qz(t,i))||a.enumerable});return e};var X1=(e,t,n)=>(n=e!=null?Vz(Bz(e)):{},zl(t||!e||!e.__esModule?C5(n,"default",{value:e,enumerable:!0}):n,e)),Rz=e=>zl(C5({},"__esModule",{value:!0}),e);var a1=(e,t)=>kl(C5(e,"raw",{value:kl(t||e.slice())}));var Hl=Me(T1=>{"use strict";var A5=Symbol.for("react.element"),Dz=Symbol.for("react.portal"),Gz=Symbol.for("react.fragment"),Oz=Symbol.for("react.strict_mode"),Wz=Symbol.for("react.profiler"),Uz=Symbol.for("react.provider"),Xz=Symbol.for("react.context"),Kz=Symbol.for("react.forward_ref"),Yz=Symbol.for("react.suspense"),Jz=Symbol.for("react.memo"),Qz=Symbol.for("react.lazy"),Cl=Symbol.iterator;function eC(e){return e===null||typeof e!="object"?null:(e=Cl&&e[Cl]||e["@@iterator"],typeof e=="function"?e:null)}var $l={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ll=Object.assign,Sl={};function pt(e,t,n){this.props=e,this.context=t,this.refs=Sl,this.updater=n||$l}pt.prototype.isReactComponent={};pt.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)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,e,t,"setState")};pt.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function El(){}El.prototype=pt.prototype;function g9(e,t,n){this.props=e,this.context=t,this.refs=Sl,this.updater=n||$l}var b9=g9.prototype=new El;b9.constructor=g9;Ll(b9,pt.prototype);b9.isPureReactComponent=!0;var Al=Array.isArray,Zl=Object.prototype.hasOwnProperty,f9={current:null},Fl={key:!0,ref:!0,__self:!0,__source:!0};function jl(e,t,n){var a,i={},r=null,s=null;if(t!=null)for(a in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(r=""+t.key),t)Zl.call(t,a)&&!Fl.hasOwnProperty(a)&&(i[a]=t[a]);var c=arguments.length-2;if(c===1)i.children=n;else if(1{"use strict";Nl.exports=Hl()});var su=Me(a0=>{"use strict";function ei(e,t){var n=e.length;e.push(t);e:for(;0>>1,i=e[a];if(0>>1;aen(c,n))oen(l,c)?(e[a]=l,e[o]=n,a=o):(e[a]=c,e[s]=n,a=s);else if(oen(l,n))e[a]=l,e[o]=n,a=o;else break e}}return t}function en(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(Yp=performance,a0.unstable_now=function(){return Yp.now()}):(Y9=Date,Jp=Y9.now(),a0.unstable_now=function(){return Y9.now()-Jp});var Yp,Y9,Jp,Le=[],E3=[],hA=1,ee=null,a2=3,an=!1,z4=!1,V5=!1,tu=typeof setTimeout=="function"?setTimeout:null,nu=typeof clearTimeout=="function"?clearTimeout:null,Qp=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function ti(e){for(var t=de(E3);t!==null;){if(t.callback===null)nn(E3);else if(t.startTime<=e)nn(E3),t.sortIndex=t.expirationTime,ei(Le,t);else break;t=de(E3)}}function ni(e){if(V5=!1,ti(e),!z4)if(de(Le)!==null)z4=!0,ii(ai);else{var t=de(E3);t!==null&&ri(ni,t.startTime-e)}}function ai(e,t){z4=!1,V5&&(V5=!1,nu(q5),q5=-1),an=!0;var n=a2;try{for(ti(t),ee=de(Le);ee!==null&&(!(ee.expirationTime>t)||e&&!ru());){var a=ee.callback;if(typeof a=="function"){ee.callback=null,a2=ee.priorityLevel;var i=a(ee.expirationTime<=t);t=a0.unstable_now(),typeof i=="function"?ee.callback=i:ee===de(Le)&&nn(Le),ti(t)}else nn(Le);ee=de(Le)}if(ee!==null)var r=!0;else{var s=de(E3);s!==null&&ri(ni,s.startTime-t),r=!1}return r}finally{ee=null,a2=n,an=!1}}var rn=!1,tn=null,q5=-1,au=5,iu=-1;function ru(){return!(a0.unstable_now()-iue||125a?(e.sortIndex=n,ei(E3,e),de(Le)===null&&e===de(E3)&&(V5?(nu(q5),q5=-1):V5=!0,ri(ni,n-a))):(e.sortIndex=i,ei(Le,e),z4||an||(z4=!0,ii(ai))),e};a0.unstable_shouldYield=ru;a0.unstable_wrapCallback=function(e){var t=a2;return function(){var n=a2;a2=t;try{return e.apply(this,arguments)}finally{a2=n}}}});var ou=Me((ID,cu)=>{"use strict";cu.exports=su()});var hh=Me(O2=>{"use strict";var gm=l0(),D2=ou();function J(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),$i=Object.prototype.hasOwnProperty,gA=/^[: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]*$/,lu={},pu={};function bA(e){return $i.call(pu,e)?!0:$i.call(lu,e)?!1:gA.test(e)?pu[e]=!0:(lu[e]=!0,!1)}function fA(e,t,n,a){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return a?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function vA(e,t,n,a){if(t===null||typeof t>"u"||fA(e,t,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function y2(e,t,n,a,i,r,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=a,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=r,this.removeEmptyString=s}var J0={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){J0[e]=new y2(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];J0[t]=new y2(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){J0[e]=new y2(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){J0[e]=new y2(e,2,!1,e,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(e){J0[e]=new y2(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){J0[e]=new y2(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){J0[e]=new y2(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){J0[e]=new y2(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){J0[e]=new y2(e,5,!1,e.toLowerCase(),null,!1,!1)});var _r=/[\-:]([a-z])/g;function wr(e){return e[1].toUpperCase()}"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(e){var t=e.replace(_r,wr);J0[t]=new y2(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(_r,wr);J0[t]=new y2(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(_r,wr);J0[t]=new y2(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){J0[e]=new y2(e,1,!1,e.toLowerCase(),null,!1,!1)});J0.xlinkHref=new y2("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){J0[e]=new y2(e,1,!1,e.toLowerCase(),null,!0,!0)});function xr(e,t,n,a){var i=J0.hasOwnProperty(t)?J0[t]:null;(i!==null?i.type!==0:a||!(2c||i[s]!==r[c]){var o="\n"+i[s].replace(" at new "," at ");return e.displayName&&o.includes("")&&(o=o.replace("",e.displayName)),o}while(1<=s&&0<=c);break}}}finally{ci=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?U5(e):""}function yA(e){switch(e.tag){case 5:return U5(e.type);case 16:return U5("Lazy");case 13:return U5("Suspense");case 19:return U5("SuspenseList");case 0:case 2:case 15:return e=oi(e.type,!1),e;case 11:return e=oi(e.type.render,!1),e;case 1:return e=oi(e.type,!0),e;default:return""}}function Zi(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case _t:return"Fragment";case yt:return"Portal";case Li:return"Profiler";case kr:return"StrictMode";case Si:return"Suspense";case Ei:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case vm:return(e.displayName||"Context")+".Consumer";case fm:return(e._context.displayName||"Context")+".Provider";case zr:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Cr:return t=e.displayName||null,t!==null?t:Zi(e.type)||"Memo";case F3:t=e._payload,e=e._init;try{return Zi(e(t))}catch{}}return null}function _A(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Zi(t);case 8:return t===kr?"StrictMode":"Mode";case 22:return"Offscreen";case 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(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function W3(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function _m(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function wA(e){var t=_m(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,r=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){a=""+s,r.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(s){a=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function cn(e){e._valueTracker||(e._valueTracker=wA(e))}function wm(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=_m(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Hn(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Fi(e,t){var n=t.checked;return f0({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function mu(e,t){var n=t.defaultValue==null?"":t.defaultValue,a=t.checked!=null?t.checked:t.defaultChecked;n=W3(t.value!=null?t.value:n),e._wrapperState={initialChecked:a,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function xm(e,t){t=t.checked,t!=null&&xr(e,"checked",t,!1)}function ji(e,t){xm(e,t);var n=W3(t.value),a=t.type;if(n!=null)a==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(a==="submit"||a==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Hi(e,t.type,n):t.hasOwnProperty("defaultValue")&&Hi(e,t.type,W3(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function du(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!(a!=="submit"&&a!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Hi(e,t,n){(t!=="number"||Hn(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var X5=Array.isArray;function Et(e,t,n,a){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=on.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function o6(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var J5={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,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},xA=["Webkit","ms","Moz","O"];Object.keys(J5).forEach(function(e){xA.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),J5[t]=J5[e]})});function Am(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||J5.hasOwnProperty(e)&&J5[e]?(""+t).trim():t+"px"}function Mm(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var a=n.indexOf("--")===0,i=Am(n,t[n],a);n==="float"&&(n="cssFloat"),a?e.setProperty(n,i):e[n]=i}}var kA=f0({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});function Vi(e,t){if(t){if(kA[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(J(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(J(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(J(61))}if(t.style!=null&&typeof t.style!="object")throw Error(J(62))}}function qi(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 Ii=null;function Ar(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Bi=null,Zt=null,Ft=null;function bu(e){if(e=A6(e)){if(typeof Bi!="function")throw Error(J(280));var t=e.stateNode;t&&(t=l8(t),Bi(e.stateNode,e.type,t))}}function $m(e){Zt?Ft?Ft.push(e):Ft=[e]:Zt=e}function Lm(){if(Zt){var e=Zt,t=Ft;if(Ft=Zt=null,bu(e),t)for(e=0;e>>=0,e===0?32:31-(jA(e)/HA|0)|0}var ln=64,pn=4194304;function K5(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function qn(e,t){var n=e.pendingLanes;if(n===0)return 0;var a=0,i=e.suspendedLanes,r=e.pingedLanes,s=n&268435455;if(s!==0){var c=s&~i;c!==0?a=K5(c):(r&=s,r!==0&&(a=K5(r)))}else s=n&~i,s!==0?a=K5(s):r!==0&&(a=K5(r));if(a===0)return 0;if(t!==0&&t!==a&&(t&i)===0&&(i=a&-a,r=t&-t,i>=r||i===16&&(r&4194240)!==0))return t;if((a&4)!==0&&(a|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=a;0n;n++)t.push(e);return t}function z6(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-ve(t),e[t]=n}function qA(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0=e6),Cu=" ",Au=!1;function Xm(e,t){switch(e){case"keyup":return dM.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Km(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var wt=!1;function gM(e,t){switch(e){case"compositionend":return Km(t);case"keypress":return t.which!==32?null:(Au=!0,Cu);case"textInput":return e=t.data,e===Cu&&Au?null:e;default:return null}}function bM(e,t){if(wt)return e==="compositionend"||!jr&&Xm(e,t)?(e=Wm(),An=Er=T3=null,wt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Lu(n)}}function ed(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ed(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function td(){for(var e=window,t=Hn();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Hn(e.document)}return t}function Hr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function CM(e){var t=td(),n=e.focusedElem,a=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&ed(n.ownerDocument.documentElement,n)){if(a!==null&&Hr(n)){if(t=a.start,e=a.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,r=Math.min(a.start,i);a=a.end===void 0?r:Math.min(a.end,i),!e.extend&&r>a&&(i=a,a=r,r=i),i=Su(n,r);var s=Su(n,a);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),r>a?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,xt=null,Wi=null,n6=null,Ui=!1;function Eu(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ui||xt==null||xt!==Hn(a)||(a=xt,"selectionStart"in a&&Hr(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),n6&&h6(n6,a)||(n6=a,a=Pn(Wi,"onSelect"),0Ct||(e.current=er[Ct],er[Ct]=null,Ct--)}function i0(e,t){Ct++,er[Ct]=e.current,e.current=t}var U3={},c2=K3(U3),E2=K3(!1),Z4=U3;function Vt(e,t){var n=e.type.contextTypes;if(!n)return U3;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var i={},r;for(r in n)i[r]=t[r];return a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Z2(e){return e=e.childContextTypes,e!=null}function Dn(){o0(E2),o0(c2)}function Iu(e,t,n){if(c2.current!==U3)throw Error(J(168));i0(c2,t),i0(E2,n)}function pd(e,t,n){var a=e.stateNode;if(t=t.childContextTypes,typeof a.getChildContext!="function")return n;a=a.getChildContext();for(var i in a)if(!(i in t))throw Error(J(108,_A(e)||"Unknown",i));return f0({},n,a)}function Gn(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||U3,Z4=c2.current,i0(c2,e),i0(E2,E2.current),!0}function Bu(e,t,n){var a=e.stateNode;if(!a)throw Error(J(169));n?(e=pd(e,t,Z4),a.__reactInternalMemoizedMergedChildContext=e,o0(E2),o0(c2),i0(c2,e)):o0(E2),i0(E2,n)}var Je=null,p8=!1,yi=!1;function ud(e){Je===null?Je=[e]:Je.push(e)}function HM(e){p8=!0,ud(e)}function Y3(){if(!yi&&Je!==null){yi=!0;var e=0,t=Y1;try{var n=Je;for(Y1=1;e>=s,i-=s,Qe=1<<32-ve(t)+i|n<T?(H=j,j=null):H=j.sibling;var E=m(v,j,_[T],z);if(E===null){j===null&&(j=H);break}e&&j&&E.alternate===null&&t(v,j),b=r(E,b,T),C===null?$=E:C.sibling=E,C=E,j=H}if(T===_.length)return n(v,j),p0&&C4(v,T),$;if(j===null){for(;T<_.length;T++)j=u(v,_[T],z),j!==null&&(b=r(j,b,T),C===null?$=j:C.sibling=j,C=j);return p0&&C4(v,T),$}for(j=a(v,j);T<_.length;T++)H=d(j,v,T,_[T],z),H!==null&&(e&&H.alternate!==null&&j.delete(H.key===null?T:H.key),b=r(H,b,T),C===null?$=H:C.sibling=H,C=H);return e&&j.forEach(function(R){return t(v,R)}),p0&&C4(v,T),$}function w(v,b,_,z){var $=I5(_);if(typeof $!="function")throw Error(J(150));if(_=$.call(_),_==null)throw Error(J(151));for(var C=$=null,j=b,T=b=0,H=null,E=_.next();j!==null&&!E.done;T++,E=_.next()){j.index>T?(H=j,j=null):H=j.sibling;var R=m(v,j,E.value,z);if(R===null){j===null&&(j=H);break}e&&j&&R.alternate===null&&t(v,j),b=r(R,b,T),C===null?$=R:C.sibling=R,C=R,j=H}if(E.done)return n(v,j),p0&&C4(v,T),$;if(j===null){for(;!E.done;T++,E=_.next())E=u(v,E.value,z),E!==null&&(b=r(E,b,T),C===null?$=E:C.sibling=E,C=E);return p0&&C4(v,T),$}for(j=a(v,j);!E.done;T++,E=_.next())E=d(j,v,T,E.value,z),E!==null&&(e&&E.alternate!==null&&j.delete(E.key===null?T:E.key),b=r(E,b,T),C===null?$=E:C.sibling=E,C=E);return e&&j.forEach(function(D){return t(v,D)}),p0&&C4(v,T),$}function x(v,b,_,z){if(typeof _=="object"&&_!==null&&_.type===_t&&_.key===null&&(_=_.props.children),typeof _=="object"&&_!==null){switch(_.$$typeof){case sn:e:{for(var $=_.key,C=b;C!==null;){if(C.key===$){if($=_.type,$===_t){if(C.tag===7){n(v,C.sibling),b=i(C,_.props.children),b.return=v,v=b;break e}}else if(C.elementType===$||typeof $=="object"&&$!==null&&$.$$typeof===F3&&Uu($)===C.type){n(v,C.sibling),b=i(C,_.props),b.ref=D5(v,C,_),b.return=v,v=b;break e}n(v,C);break}else t(v,C);C=C.sibling}_.type===_t?(b=E4(_.props.children,v.mode,z,_.key),b.return=v,v=b):(z=jn(_.type,_.key,_.props,null,v.mode,z),z.ref=D5(v,b,_),z.return=v,v=z)}return s(v);case yt:e:{for(C=_.key;b!==null;){if(b.key===C)if(b.tag===4&&b.stateNode.containerInfo===_.containerInfo&&b.stateNode.implementation===_.implementation){n(v,b.sibling),b=i(b,_.children||[]),b.return=v,v=b;break e}else{n(v,b);break}else t(v,b);b=b.sibling}b=Mi(_,v.mode,z),b.return=v,v=b}return s(v);case F3:return C=_._init,x(v,b,C(_._payload),z)}if(X5(_))return f(v,b,_,z);if(I5(_))return w(v,b,_,z);wn(v,_)}return typeof _=="string"&&_!==""||typeof _=="number"?(_=""+_,b!==null&&b.tag===6?(n(v,b.sibling),b=i(b,_),b.return=v,v=b):(n(v,b),b=Ai(_,v.mode,z),b.return=v,v=b),s(v)):n(v,b)}return x}var It=yd(!0),_d=yd(!1),M6={},je=K3(M6),v6=K3(M6),y6=K3(M6);function L4(e){if(e===M6)throw Error(J(174));return e}function Dr(e,t){switch(i0(y6,t),i0(v6,e),i0(je,M6),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ti(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Ti(t,e)}o0(je),i0(je,t)}function Bt(){o0(je),o0(v6),o0(y6)}function wd(e){L4(y6.current);var t=L4(je.current),n=Ti(t,e.type);t!==n&&(i0(v6,e),i0(je,n))}function Gr(e){v6.current===e&&(o0(je),o0(v6))}var g0=K3(0);function Yn(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var _i=[];function Or(){for(var e=0;e<_i.length;e++)_i[e]._workInProgressVersionPrimary=null;_i.length=0}var Ln=s3.ReactCurrentDispatcher,wi=s3.ReactCurrentBatchConfig,j4=0,b0=null,q0=null,G0=null,Jn=!1,a6=!1,_6=0,TM=0;function i2(){throw Error(J(321))}function Wr(e,t){if(t===null)return!1;for(var n=0;nn?n:4,e(!0);var a=wi.transition;wi.transition={};try{e(!1),t()}finally{Y1=n,wi.transition=a}}function Td(){return se().memoizedState}function qM(e,t,n){var a=G3(e);if(n={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null},Vd(e))qd(t,n);else if(n=gd(e,t,n,a),n!==null){var i=v2();ye(n,e,a,i),Id(n,t,a)}}function IM(e,t,n){var a=G3(e),i={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null};if(Vd(e))qd(t,i);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var s=t.lastRenderedState,c=r(s,n);if(i.hasEagerState=!0,i.eagerState=c,_e(c,s)){var o=t.interleaved;o===null?(i.next=i,Pr(t)):(i.next=o.next,o.next=i),t.interleaved=i;return}}catch{}n=gd(e,t,i,a),n!==null&&(i=v2(),ye(n,e,a,i),Id(n,t,a))}}function Vd(e){var t=e.alternate;return e===b0||t!==null&&t===b0}function qd(e,t){a6=Jn=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Id(e,t,n){if((n&4194240)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,$r(e,n)}}var Qn={readContext:re,useCallback:i2,useContext:i2,useEffect:i2,useImperativeHandle:i2,useInsertionEffect:i2,useLayoutEffect:i2,useMemo:i2,useReducer:i2,useRef:i2,useState:i2,useDebugValue:i2,useDeferredValue:i2,useTransition:i2,useMutableSource:i2,useSyncExternalStore:i2,useId:i2,unstable_isNewReconciler:!1},BM={readContext:re,useCallback:function(e,t){return Ee().memoizedState=[e,t===void 0?null:t],e},useContext:re,useEffect:Ku,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Sn(4194308,4,Zd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Sn(4194308,4,e,t)},useInsertionEffect:function(e,t){return Sn(4,2,e,t)},useMemo:function(e,t){var n=Ee();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var a=Ee();return t=n!==void 0?n(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=qM.bind(null,b0,e),[a.memoizedState,e]},useRef:function(e){var t=Ee();return e={current:e},t.memoizedState=e},useState:Xu,useDebugValue:Yr,useDeferredValue:function(e){return Ee().memoizedState=e},useTransition:function(){var e=Xu(!1),t=e[0];return e=VM.bind(null,e[1]),Ee().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var a=b0,i=Ee();if(p0){if(n===void 0)throw Error(J(407));n=n()}else{if(n=t(),O0===null)throw Error(J(349));(j4&30)!==0||zd(a,t,n)}i.memoizedState=n;var r={value:n,getSnapshot:t};return i.queue=r,Ku(Ad.bind(null,a,r,e),[e]),a.flags|=2048,x6(9,Cd.bind(null,a,r,n,t),void 0,null),n},useId:function(){var e=Ee(),t=O0.identifierPrefix;if(p0){var n=e3,a=Qe;n=(a&~(1<<32-ve(a)-1)).toString(32)+n,t=":"+t+"R"+n,n=_6++,0<\/script>",e=e.removeChild(e.firstChild)):typeof a.is=="string"?e=s.createElement(n,{is:a.is}):(e=s.createElement(n),n==="select"&&(s=e,a.multiple?s.multiple=!0:a.size&&(s.size=a.size))):e=s.createElementNS(e,n),e[Ze]=t,e[f6]=a,Xd(e,t,!1,!1),t.stateNode=e;e:{switch(s=qi(n,a),n){case"dialog":c0("cancel",e),c0("close",e),i=a;break;case"iframe":case"object":case"embed":c0("load",e),i=a;break;case"video":case"audio":for(i=0;iRt&&(t.flags|=128,a=!0,G5(r,!1),t.lanes=4194304)}else{if(!a)if(e=Yn(s),e!==null){if(t.flags|=128,a=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),G5(r,!0),r.tail===null&&r.tailMode==="hidden"&&!s.alternate&&!p0)return r2(t),null}else 2*S0()-r.renderingStartTime>Rt&&n!==1073741824&&(t.flags|=128,a=!0,G5(r,!1),t.lanes=4194304);r.isBackwards?(s.sibling=t.child,t.child=s):(n=r.last,n!==null?n.sibling=s:t.child=s,r.last=s)}return r.tail!==null?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=S0(),t.sibling=null,n=g0.current,i0(g0,a?n&1|2:n&1),t):(r2(t),null);case 22:case 23:return as(),a=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==a&&(t.flags|=8192),a&&(t.mode&1)!==0?(B2&1073741824)!==0&&(r2(t),t.subtreeFlags&6&&(t.flags|=8192)):r2(t),null;case 24:return null;case 25:return null}throw Error(J(156,t.tag))}function XM(e,t){switch(Tr(t),t.tag){case 1:return Z2(t.type)&&Dn(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Bt(),o0(E2),o0(c2),Or(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return Gr(t),null;case 13:if(o0(g0),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(J(340));qt()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return o0(g0),null;case 4:return Bt(),null;case 10:return Br(t.type._context),null;case 22:case 23:return as(),null;case 24:return null;default:return null}}var kn=!1,s2=!1,KM=typeof WeakSet=="function"?WeakSet:Set,d1=null;function Lt(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(a){z0(e,t,a)}else n.current=null}function mr(e,t,n){try{n()}catch(a){z0(e,t,a)}}var rm=!1;function YM(e,t){if(Xi=In,e=td(),Hr(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var i=a.anchorOffset,r=a.focusNode;a=a.focusOffset;try{n.nodeType,r.nodeType}catch{n=null;break e}var s=0,c=-1,o=-1,l=0,p=0,u=e,m=null;t:for(;;){for(var d;u!==n||i!==0&&u.nodeType!==3||(c=s+i),u!==r||a!==0&&u.nodeType!==3||(o=s+a),u.nodeType===3&&(s+=u.nodeValue.length),(d=u.firstChild)!==null;)m=u,u=d;for(;;){if(u===e)break t;if(m===n&&++l===i&&(c=s),m===r&&++p===a&&(o=s),(d=u.nextSibling)!==null)break;u=m,m=u.parentNode}u=d}n=c===-1||o===-1?null:{start:c,end:o}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ki={focusedElem:e,selectionRange:n},In=!1,d1=t;d1!==null;)if(t=d1,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,d1=e;else for(;d1!==null;){t=d1;try{var f=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(f!==null){var w=f.memoizedProps,x=f.memoizedState,v=t.stateNode,b=v.getSnapshotBeforeUpdate(t.elementType===t.type?w:ge(t.type,w),x);v.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var _=t.stateNode.containerInfo;_.nodeType===1?_.textContent="":_.nodeType===9&&_.documentElement&&_.removeChild(_.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(J(163))}}catch(z){z0(t,t.return,z)}if(e=t.sibling,e!==null){e.return=t.return,d1=e;break}d1=t.return}return f=rm,rm=!1,f}function i6(e,t,n){var a=t.updateQueue;if(a=a!==null?a.lastEffect:null,a!==null){var i=a=a.next;do{if((i.tag&e)===e){var r=i.destroy;i.destroy=void 0,r!==void 0&&mr(t,n,r)}i=i.next}while(i!==a)}}function d8(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var a=n.create;n.destroy=a()}n=n.next}while(n!==t)}}function dr(e){var t=e.ref;if(t!==null){var n=e.stateNode;e.tag,e=n,typeof t=="function"?t(e):t.current=e}}function Jd(e){var t=e.alternate;t!==null&&(e.alternate=null,Jd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ze],delete t[f6],delete t[Qi],delete t[FM],delete t[jM])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Qd(e){return e.tag===5||e.tag===3||e.tag===4}function sm(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Qd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function hr(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Rn));else if(a!==4&&(e=e.child,e!==null))for(hr(e,t,n),e=e.sibling;e!==null;)hr(e,t,n),e=e.sibling}function gr(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(e=e.child,e!==null))for(gr(e,t,n),e=e.sibling;e!==null;)gr(e,t,n),e=e.sibling}var K0=null,be=!1;function Z3(e,t,n){for(n=n.child;n!==null;)eh(e,t,n),n=n.sibling}function eh(e,t,n){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(r8,n)}catch{}switch(n.tag){case 5:s2||Lt(n,t);case 6:var a=K0,i=be;K0=null,Z3(e,t,n),K0=a,be=i,K0!==null&&(be?(e=K0,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):K0.removeChild(n.stateNode));break;case 18:K0!==null&&(be?(e=K0,n=n.stateNode,e.nodeType===8?vi(e.parentNode,n):e.nodeType===1&&vi(e,n),m6(e)):vi(K0,n.stateNode));break;case 4:a=K0,i=be,K0=n.stateNode.containerInfo,be=!0,Z3(e,t,n),K0=a,be=i;break;case 0:case 11:case 14:case 15:if(!s2&&(a=n.updateQueue,a!==null&&(a=a.lastEffect,a!==null))){i=a=a.next;do{var r=i,s=r.destroy;r=r.tag,s!==void 0&&((r&2)!==0||(r&4)!==0)&&mr(n,t,s),i=i.next}while(i!==a)}Z3(e,t,n);break;case 1:if(!s2&&(Lt(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"))try{a.props=n.memoizedProps,a.state=n.memoizedState,a.componentWillUnmount()}catch(c){z0(n,t,c)}Z3(e,t,n);break;case 21:Z3(e,t,n);break;case 22:n.mode&1?(s2=(a=s2)||n.memoizedState!==null,Z3(e,t,n),s2=a):Z3(e,t,n);break;default:Z3(e,t,n)}}function cm(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new KM),t.forEach(function(a){var i=s$.bind(null,e,a);n.has(a)||(n.add(a),a.then(i,i))})}}function he(e,t){var n=t.deletions;if(n!==null)for(var a=0;ai&&(i=s),a&=~r}if(a=i,a=S0()-a,a=(120>a?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*QM(a/1960))-a,10e?16:e,V3===null)var a=!1;else{if(e=V3,V3=null,n8=0,(D1&6)!==0)throw Error(J(331));var i=D1;for(D1|=4,d1=e.current;d1!==null;){var r=d1,s=r.child;if((d1.flags&16)!==0){var c=r.deletions;if(c!==null){for(var o=0;oS0()-ts?S4(e,0):es|=n),F2(e,t)}function oh(e,t){t===0&&((e.mode&1)===0?t=1:(t=pn,pn<<=1,(pn&130023424)===0&&(pn=4194304)));var n=v2();e=i3(e,t),e!==null&&(z6(e,t,n),F2(e,n))}function r$(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),oh(e,n)}function s$(e,t){var n=0;switch(e.tag){case 13:var a=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(J(314))}a!==null&&a.delete(t),oh(e,n)}var lh;lh=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||E2.current)S2=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return S2=!1,WM(e,t,n);S2=(e.flags&131072)!==0}else S2=!1,p0&&(t.flags&1048576)!==0&&md(t,Wn,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;En(e,t),e=t.pendingProps;var i=Vt(t,c2.current);Ht(t,n),i=Ur(null,t,a,e,i,n);var r=Xr();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Z2(a)?(r=!0,Gn(t)):r=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Rr(t),i.updater=u8,t.stateNode=i,i._reactInternals=t,rr(t,a,e,n),t=or(null,t,a,!0,r,n)):(t.tag=0,p0&&r&&Nr(t),f2(null,t,i,n),t=t.child),t;case 16:a=t.elementType;e:{switch(En(e,t),e=t.pendingProps,i=a._init,a=i(a._payload),t.type=a,i=t.tag=o$(a),e=ge(a,e),i){case 0:t=cr(null,t,a,e,n);break e;case 1:t=nm(null,t,a,e,n);break e;case 11:t=em(null,t,a,e,n);break e;case 14:t=tm(null,t,a,ge(a.type,e),n);break e}throw Error(J(306,a,""))}return t;case 0:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:ge(a,i),cr(e,t,a,i,n);case 1:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:ge(a,i),nm(e,t,a,i,n);case 3:e:{if(Od(t),e===null)throw Error(J(387));a=t.pendingProps,r=t.memoizedState,i=r.element,bd(e,t),Kn(t,a,null,n);var s=t.memoizedState;if(a=s.element,r.isDehydrated)if(r={element:a,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=r,t.memoizedState=r,t.flags&256){i=Pt(Error(J(423)),t),t=am(e,t,a,n,i);break e}else if(a!==i){i=Pt(Error(J(424)),t),t=am(e,t,a,n,i);break e}else for(P2=P3(t.stateNode.containerInfo.firstChild),R2=t,p0=!0,fe=null,n=_d(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(qt(),a===i){t=r3(e,t,n);break e}f2(e,t,a,n)}t=t.child}return t;case 5:return wd(t),e===null&&nr(t),a=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,s=i.children,Yi(a,i)?s=null:r!==null&&Yi(a,r)&&(t.flags|=32),Gd(e,t),f2(e,t,s,n),t.child;case 6:return e===null&&nr(t),null;case 13:return Wd(e,t,n);case 4:return Dr(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=It(t,null,a,n):f2(e,t,a,n),t.child;case 11:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:ge(a,i),em(e,t,a,i,n);case 7:return f2(e,t,t.pendingProps,n),t.child;case 8:return f2(e,t,t.pendingProps.children,n),t.child;case 12:return f2(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(a=t.type._context,i=t.pendingProps,r=t.memoizedProps,s=i.value,i0(Un,a._currentValue),a._currentValue=s,r!==null)if(_e(r.value,s)){if(r.children===i.children&&!E2.current){t=r3(e,t,n);break e}}else for(r=t.child,r!==null&&(r.return=t);r!==null;){var c=r.dependencies;if(c!==null){s=r.child;for(var o=c.firstContext;o!==null;){if(o.context===a){if(r.tag===1){o=t3(-1,n&-n),o.tag=2;var l=r.updateQueue;if(l!==null){l=l.shared;var p=l.pending;p===null?o.next=o:(o.next=p.next,p.next=o),l.pending=o}}r.lanes|=n,o=r.alternate,o!==null&&(o.lanes|=n),ar(r.return,n,t),c.lanes|=n;break}o=o.next}}else if(r.tag===10)s=r.type===t.type?null:r.child;else if(r.tag===18){if(s=r.return,s===null)throw Error(J(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),ar(s,n,t),s=r.sibling}else s=r.child;if(s!==null)s.return=r;else for(s=r;s!==null;){if(s===t){s=null;break}if(r=s.sibling,r!==null){r.return=s.return,s=r;break}s=s.return}r=s}f2(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,a=t.pendingProps.children,Ht(t,n),i=re(i),a=a(i),t.flags|=1,f2(e,t,a,n),t.child;case 14:return a=t.type,i=ge(a,t.pendingProps),i=ge(a.type,i),tm(e,t,a,i,n);case 15:return Rd(e,t,t.type,t.pendingProps,n);case 17:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:ge(a,i),En(e,t),t.tag=1,Z2(a)?(e=!0,Gn(t)):e=!1,Ht(t,n),vd(t,a,i),rr(t,a,i,n),or(null,t,a,!0,e,n);case 19:return Ud(e,t,n);case 22:return Dd(e,t,n)}throw Error(J(156,t.tag))};function ph(e,t){return Nm(e,t)}function c$(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ae(e,t,n,a){return new c$(e,t,n,a)}function rs(e){return e=e.prototype,!(!e||!e.isReactComponent)}function o$(e){if(typeof e=="function")return rs(e)?1:0;if(e!=null){if(e=e.$$typeof,e===zr)return 11;if(e===Cr)return 14}return 2}function O3(e,t){var n=e.alternate;return n===null?(n=ae(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function jn(e,t,n,a,i,r){var s=2;if(a=e,typeof e=="function")rs(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case _t:return E4(n.children,i,r,t);case kr:s=8,i|=8;break;case Li:return e=ae(12,n,t,i|2),e.elementType=Li,e.lanes=r,e;case Si:return e=ae(13,n,t,i),e.elementType=Si,e.lanes=r,e;case Ei:return e=ae(19,n,t,i),e.elementType=Ei,e.lanes=r,e;case ym:return g8(n,i,r,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case fm:s=10;break e;case vm:s=9;break e;case zr:s=11;break e;case Cr:s=14;break e;case F3:s=16,a=null;break e}throw Error(J(130,e==null?e:typeof e,""))}return t=ae(s,n,t,i),t.elementType=e,t.type=a,t.lanes=r,t}function E4(e,t,n,a){return e=ae(7,e,a,t),e.lanes=n,e}function g8(e,t,n,a){return e=ae(22,e,a,t),e.elementType=ym,e.lanes=n,e.stateNode={isHidden:!1},e}function Ai(e,t,n){return e=ae(6,e,null,t),e.lanes=n,e}function Mi(e,t,n){return t=ae(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function l$(e,t,n,a,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=pi(0),this.expirationTimes=pi(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=pi(0),this.identifierPrefix=a,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function ss(e,t,n,a,i,r,s,c,o){return e=new l$(e,t,n,c,o),t===1?(t=1,r===!0&&(t|=8)):t=0,r=ae(3,null,null,t),e.current=r,r.stateNode=e,r.memoizedState={element:a,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Rr(r),e}function p$(e,t,n){var a=3{"use strict";function gh(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(gh)}catch(e){console.error(e)}}gh(),bh.exports=hh()});var vh=Me(_8=>{"use strict";var g$=l0(),b$=Symbol.for("react.element"),f$=Symbol.for("react.fragment"),v$=Object.prototype.hasOwnProperty,y$=g$.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,_$={key:!0,ref:!0,__self:!0,__source:!0};function fh(e,t,n){var a,i={},r=null,s=null;n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),t.ref!==void 0&&(s=t.ref);for(a in t)v$.call(t,a)&&!_$.hasOwnProperty(a)&&(i[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps,t)i[a]===void 0&&(i[a]=t[a]);return{$$typeof:b$,type:e,key:r,ref:s,props:i,_owner:y$.current}}_8.Fragment=f$;_8.jsx=fh;_8.jsxs=fh});var _h=Me((DD,yh)=>{"use strict";yh.exports=vh()});var AZ,r4,K6=s1(()=>{AZ=Object.freeze(JSON.parse('{"displayName":"TypeScript","name":"typescript","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.ts"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?)","name":"cast.expr.ts"},{"begin":"(??^|]|[^$_[:alnum:]](?:\\\\+\\\\+|--)|[^+]\\\\+|[^-]-)\\\\s*(<)(?!)","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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\s*(?]|=[^<]|<\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?]|=[^<]|<\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|^|[]),;}]|((?{MZ=Object.freeze(JSON.parse('{"displayName":"Shell","name":"shellscript","patterns":[{"include":"#initial_context"}],"repository":{"alias_statement":{"begin":"[\\\\t ]*+(alias)[\\\\t ]*+((?:((?\\\\\\\\`|]+(?!>))"},{"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 ]*+((?\\\\[{|]|$|[\\\\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 ]*#|])(?`{|]+)"},{"begin":"(?:\\\\G|(?\\\\[{|]|$|[\\\\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 ]*#|])(?]|&&|\\\\|\\\\|","name":"keyword.operator.logical.shell"},{"match":"(?[=>]?|==|!=|^|\\\\|{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":"(?[=>]?|==|!=|^|\\\\|{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 ;]))","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 ]*#|])(?>?)[\\\\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":"(?{$Z=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"}')),c4=[$Z]});var Iv=Me((IX,qv)=>{"use strict";var o4=[[{color:"0, 0, 0",class:"ansi-black"},{color:"187, 0, 0",class:"ansi-red"},{color:"0, 187, 0",class:"ansi-green"},{color:"187, 187, 0",class:"ansi-yellow"},{color:"0, 0, 187",class:"ansi-blue"},{color:"187, 0, 187",class:"ansi-magenta"},{color:"0, 187, 187",class:"ansi-cyan"},{color:"255,255,255",class:"ansi-white"}],[{color:"85, 85, 85",class:"ansi-bright-black"},{color:"255, 85, 85",class:"ansi-bright-red"},{color:"0, 255, 0",class:"ansi-bright-green"},{color:"255, 255, 85",class:"ansi-bright-yellow"},{color:"85, 85, 255",class:"ansi-bright-blue"},{color:"255, 85, 255",class:"ansi-bright-magenta"},{color:"85, 255, 255",class:"ansi-bright-cyan"},{color:"255, 255, 255",class:"ansi-bright-white"}]],EZ=/(https?:\/\/(?:[A-Za-z0-9#;/?:@=+$',_.!~*()[\]-]|&|%[A-Fa-f0-9]{2})+)/gm,lc=class e{static escapeForHtml(t){return new e().escapeForHtml(t)}static linkify(t){return new e().linkify(t)}static ansiToHtml(t,n){return new e().ansiToHtml(t,n)}static ansiToJson(t,n){return new e().ansiToJson(t,n)}static ansiToText(t){return new e().ansiToText(t)}constructor(){this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null,this.bright=0,this.decorations=[]}setupPalette(){this.PALETTE_COLORS=[];for(let c=0;c<2;++c)for(let o=0;o<8;++o)this.PALETTE_COLORS.push(o4[c][o].color);let t=[0,95,135,175,215,255],n=(c,o,l)=>t[c]+", "+t[o]+", "+t[l],a,i,r;for(let c=0;c<6;++c)for(let o=0;o<6;++o)for(let l=0;l<6;++l)this.PALETTE_COLORS.push(n(c,o,l));let s=8;for(let c=0;c<24;++c,s+=10)this.PALETTE_COLORS.push(s+", "+s+", "+s)}escapeForHtml(t){return t.replace(/[&<>\"]/gm,n=>n=="&"?"&":n=='"'?""":n=="<"?"<":n==">"?">":"")}linkify(t){return t.replace(EZ,n=>'').concat(n,""))}ansiToHtml(t,n){return this.process(t,n,!0)}ansiToJson(t,n){return n=n||{},n.json=!0,n.clearLine=!1,this.process(t,n,!0)}ansiToText(t){return this.process(t,{},!1)}process(t,n,a){let i=this,r=t.split(/\033\[/),s=r.shift();n==null&&(n={}),n.clearLine=/\r/.test(t);let c=r.map(o=>this.processChunk(o,n,a));if(n&&n.json){let o=i.processChunkJson("");return o.content=s,o.clearLine=n.clearLine,c.unshift(o),n.remove_empty&&(c=c.filter(l=>!l.isEmpty())),c}else c.unshift(s);return c.join("")}processChunkJson(t,n,a){n=typeof n>"u"?{}:n;let i=n.use_classes=typeof n.use_classes<"u"&&n.use_classes,r=n.key=i?"class":"color",s={content:t,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,isInverted:!1,clearLine:n.clearLine,decoration:null,decorations:[],was_processed:!1,isEmpty:()=>!s.content},c=t.match(/^([!\x3c-\x3f]*)([\d;]*)([\x20-\x2c]*[\x40-\x7e])([\s\S]*)/m);if(!c)return s;let o=s.content=c[4],l=c[2].split(";");if(c[1]!==""||c[3]!=="m"||!a)return s;let p=this;for(;l.length>0;){let u=l.shift(),m=parseInt(u);if(isNaN(m)||m===0)p.fg=p.bg=null,p.decorations=[];else if(m===1)p.decorations.push("bold");else if(m===2)p.decorations.push("dim");else if(m===3)p.decorations.push("italic");else if(m===4)p.decorations.push("underline");else if(m===5)p.decorations.push("blink");else if(m===7)p.decorations.push("reverse");else if(m===8)p.decorations.push("hidden");else if(m===9)p.decorations.push("strikethrough");else if(m===21)p.removeDecoration("bold");else if(m===22)p.removeDecoration("bold"),p.removeDecoration("dim");else if(m===23)p.removeDecoration("italic");else if(m===24)p.removeDecoration("underline");else if(m===25)p.removeDecoration("blink");else if(m===27)p.removeDecoration("reverse");else if(m===28)p.removeDecoration("hidden");else if(m===29)p.removeDecoration("strikethrough");else if(m===39)p.fg=null;else if(m===49)p.bg=null;else if(m>=30&&m<38)p.fg=o4[0][m%10][r];else if(m>=90&&m<98)p.fg=o4[1][m%10][r];else if(m>=40&&m<48)p.bg=o4[0][m%10][r];else if(m>=100&&m<108)p.bg=o4[1][m%10][r];else if(m===38||m===48){let d=m===38;if(l.length>=1){let f=l.shift();if(f==="5"&&l.length>=1){let w=parseInt(l.shift());if(w>=0&&w<=255)if(!i)this.PALETTE_COLORS||p.setupPalette(),d?p.fg=this.PALETTE_COLORS[w]:p.bg=this.PALETTE_COLORS[w];else{let x=w>=16?"ansi-palette-"+w:o4[w>7?1:0][w%8].class;d?p.fg=x:p.bg=x}}else if(f==="2"&&l.length>=3){let w=parseInt(l.shift()),x=parseInt(l.shift()),v=parseInt(l.shift());if(w>=0&&w<=255&&x>=0&&x<=255&&v>=0&&v<=255){let b=w+", "+x+", "+v;i?d?(p.fg="ansi-truecolor",p.fg_truecolor=b):(p.bg="ansi-truecolor",p.bg_truecolor=b):d?p.fg=b:p.bg=b}}}}}if(p.fg===null&&p.bg===null&&p.decorations.length===0)return s;{let u=[],m=[],d={};return s.fg=p.fg,s.bg=p.bg,s.fg_truecolor=p.fg_truecolor,s.bg_truecolor=p.bg_truecolor,s.decorations=p.decorations,s.decoration=p.decorations.slice(-1).pop()||null,s.was_processed=!0,s}}processChunk(t,n,a){n=n||{};let i=this.processChunkJson(t,n,a),r=n.use_classes;if(i.decorations=i.decorations.filter(u=>{if(u==="reverse"){i.fg||(i.fg=o4[0][7][r?"class":"color"]),i.bg||(i.bg=o4[0][0][r?"class":"color"]);let m=i.fg;i.fg=i.bg,i.bg=m;let d=i.fg_truecolor;return i.fg_truecolor=i.bg_truecolor,i.bg_truecolor=d,i.isInverted=!0,!1}return!0}),n.json)return i;if(i.isEmpty())return"";if(!i.was_processed)return i.content;let s=[],c=[],o=[],l={},p=u=>{let m=[],d;for(d in u)u.hasOwnProperty(d)&&m.push("data-"+d+'="'+this.escapeForHtml(u[d])+'"');return m.length>0?" "+m.join(" "):""};return i.isInverted&&(l["ansi-is-inverted"]="true"),i.fg&&(r?(s.push(i.fg+"-fg"),i.fg_truecolor!==null&&(l["ansi-truecolor-fg"]=i.fg_truecolor,i.fg_truecolor=null)):s.push("color:rgb("+i.fg+")")),i.bg&&(r?(s.push(i.bg+"-bg"),i.bg_truecolor!==null&&(l["ansi-truecolor-bg"]=i.bg_truecolor,i.bg_truecolor=null)):s.push("background-color:rgb("+i.bg+")")),i.decorations.forEach(u=>{if(r){c.push("ansi-"+u);return}u==="bold"?c.push("font-weight:bold"):u==="dim"?c.push("opacity:0.5"):u==="italic"?c.push("font-style:italic"):u==="hidden"?c.push("visibility:hidden"):u==="strikethrough"?o.push("line-through"):o.push(u)}),o.length&&c.push("text-decoration:"+o.join(" ")),r?'"+i.content+"":'"+i.content+""}removeDecoration(t){let n=this.decorations.indexOf(t);n>=0&&this.decorations.splice(n,1)}};qv.exports=lc});var ow={};h1(ow,{default:()=>v7});var ET,v7,Ya=s1(()=>{ET=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":"`|(?))","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":"(]|(?=\\"))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?)","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)|((?^]?[- +]?#?\\\\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(?>|[\\\\&^|~])|(\\\\*\\\\*|[-%*+]|//|[/@])|(!=|==|>=|<=|[<>])|(:=)"},"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":"(\\")|(?)","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":"(]|(?=\'))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\'))|((?=(?)","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(?^]?[- +]?#?\\\\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)|((?{ZT=Object.freeze(JSON.parse('{"displayName":"JavaScript","name":"javascript","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.js"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?))","end":"(/>)|()","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:]]*)(?)","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":"(?=|/\\\\*|//)"},"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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","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":"()","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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","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":"(?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.js"}},"name":"meta.type.parameters.js","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js"}},"end":"(?=$|^|[]),;}]|((?e2});var FT,e2,We=s1(()=>{FT=Object.freeze(JSON.parse('{"displayName":"CSS","name":"css","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"include":"#combinator-invalid"},{"include":"#selector"},{"include":"#at-rules"},{"include":"#rule-list"}],"repository":{"arithmetic-operators":{"match":"[*/]|(?<=\\\\s|^)[-+](?=\\\\s|$)","name":"keyword.operator.arithmetic.css"},"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"},{"match":"\\\\s+"},{"include":"#layer-import"},{"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":"#rule-list-innards"},{"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)(?>>","name":"invalid.deprecated.combinator.css"},"combinators":{"patterns":[{"include":"#combinator-invalid"},{"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":"^(?]|/\\\\*)"},"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"},{"include":"#functions"}]}]},"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)(?A-\\\\[a-z|~[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.)|[#.](?:[-\\\\w]|\\\\\\\\(?:\\\\h{1,6}|.))|::??[-A-Za-z])(?![-\\\\w]*:+\\\\s|[^{]*;|[^{]*}|[^:]+(::):+)","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.nesting.css"},{"match":"\\\\*","name":"entity.name.tag.wildcard.css"},{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#escapes"}]}},"match":"(?\\\\[{|~\\\\s]|/\\\\*)|(?:[-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":"(?\\\\[{|~\\\\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":"(?Y2});var jT,Y2,_4=s1(()=>{me();We();jT=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}\uFDD0-\uFDEF\uFFFE\uFFFF\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\\\\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":"","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.cdata.html"},"comment":{"begin":"","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":"","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)()","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}\uFDD0-\uFDEF\uFFFE\uFFFF\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()","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}\uFDD0-\uFDEF\uFFFE\uFFFF\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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":"(\\\\s]*))(?)","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":"(?=)","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":"(?=|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":"(?=)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.script.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?!\\\\G)","end":"(?=)","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)()","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)()","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)()","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)()","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)()","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)()","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)()","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)()","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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]*-[-.0-9A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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":"()","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"]}')),Y2=[...L0,...e2,jT]});var HT,uw,mw=s1(()=>{me();We();HT=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":"$|(?![#(.\\\\[{]|&|[-=~]|!=|&=|/)","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":"(?Go});var NT,Go,Oo=s1(()=>{NT=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":"(?","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":"(?>>?|[\\\\^~])","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(?)?(\\\\()","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"}')),Go=[NT]});var hw={};h1(hw,{default:()=>$3});var TT,$3,g5=s1(()=>{Oo();TT=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":"()","name":"meta.tag.sgml.doctype.xml","patterns":[{"include":"#internalSubset"}]},{"include":"#comments"},{"begin":"(<)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(?=(\\\\s[^>]*)?>)","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":"(>)()","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":"()","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":"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.unquoted.cdata.xml"}],"repository":{"EntityDecl":{"begin":"()","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":"","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"]}')),$3=[...Go,TT]});var gw={};h1(gw,{default:()=>L3});var VT,L3,b5=s1(()=>{VT=Object.freeze(JSON.parse('{"displayName":"SQL","name":"sql","patterns":[{"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":"(?{qT=Object.freeze(JSON.parse('{"displayName":"JSX","name":"jsx","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.js.jsx"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?))","end":"(/>)|()","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:]]*)(?)","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":"(?=|/\\\\*|//)"},"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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","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":"()","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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","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":"(?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.js.jsx"}},"name":"meta.type.parameters.js.jsx","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js.jsx"}},"end":"(?=$|^|[]),;}]|((?{IT=Object.freeze(JSON.parse('{"displayName":"TSX","name":"tsx","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.tsx"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?))","end":"(/>)|()","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:]]*)(?)","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":"(?=|/\\\\*|//)"},"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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","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":"()","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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","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":"(?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.tsx"}},"name":"meta.type.parameters.tsx","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.tsx"}},"end":"(?=$|^|[]),;}]|((?y7});var BT,y7,Ja=s1(()=>{me();K6();fw();yw();BT=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"]}')),y7=[...L0,...r4,...bw,...vw,BT]});var PT,Qa,Wo=s1(()=>{PT=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":{"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"]}')),Qa=[PT]});var ww={};h1(ww,{default:()=>at});var RT,at,_7=s1(()=>{RT=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+((?","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":"(?=/[*/])|(?]+|\\\\(\\\\)|\\\\[]))\\\\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":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?\\\\s*)(//[!/]+)","beginCaptures":{"1":{"name":"punctuation.definition.comment.documentation.c"}},"end":"(?<=\\\\n)(?]|::|\\\\||---??)\\\\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":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?]+|\\\\(\\\\)|\\\\[]))\\\\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)(?\\\\*?))"}]},"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)))*)?((?>|\\\\|)=","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:(?]+|\\\\(\\\\)|\\\\[])\\\\s*\\\\()","end":"(?<=\\\\))(?!\\\\w)|(?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.c"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.c"}},"end":"(\\\\))|(?])\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(?=(?:\\\\[]\\\\s*)?[),])"},"static_assert":{"begin":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\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:(?\\\\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":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\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":"(((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"(?{_7();DT=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"]}')),e9=[...at,DT]});var GT,xw,kw=s1(()=>{Wo();Uo();GT=Object.freeze(JSON.parse('{"displayName":"C++","name":"cpp-macro","patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"source.cpp#simple_array_assignment"},{"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":"\\\\)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"\\\\)|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"\\\\)|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(::))?\\\\s+{0,1}((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)([A-Z][0-9A-Z_]*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.function.call.upper-case.cpp 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_helper"}]},"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 punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp"}},"end":"\\\\)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"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_helper"}]},"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":"\\\\)|(?=(?|\\\\*/))\\\\s*+(?:((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?)((?:\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"}]},"lambdas":{"begin":"(?:(?<=\\\\S|^)(?\\\\[\\\\w])|(?<=(?:\\\\W|^)return))\\\\s+{0,1}(\\\\[(?!\\\\[| *+\\"| *+\\\\d))((?:[^]\\\\[]|((??)++]))*+)(](?!((?:\\\\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":"(?<=[;}])|(?=(?","beginCaptures":{"0":{"name":"punctuation.definition.lambda.return-type.cpp"}},"end":"(?=\\\\{)|(?=(?\\\\*?))((?:(?:[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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"},"13":{"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.lower-case.cpp variable.other.object.property.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.property.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.property.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.property.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"14":{"name":"entity.name.function.member.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"end":"\\\\)|(?=(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=)))","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":"meta.assignment.cpp"},"6":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(operator)(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(?:(?:(delete\\\\[]|delete|new\\\\[]|<=>|<<=|new|>>=|->\\\\*|/=|%=|&=|>=|\\\\|=|\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|<<|>>|--|<=|\\\\^=|==|!=|&&|\\\\|\\\\||\\\\+=|-=|\\\\*=|[!%\\\\&*-\\\\-/<=>^|~])|((?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[-%*+]|(?>|\\\\|)=)|(=)"},{"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":"(?:(?=\\\\))|(,))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(:)(?!:)"},{"captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(,)((?:\\\\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)(])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:)(?!:)","name":"meta.binding.cpp"},{"include":"#evaluation_context"}]},"requires_keyword":{"begin":"((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)?((?it});var OT,it,w7=s1(()=>{kw();Wo();Uo();OT=Object.freeze(JSON.parse('{"displayName":"C++","name":"cpp","patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"#simple_array_assignment"},{"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+((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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":"((?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\b(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"((?|\\\\?\\\\?>","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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"((?|\\\\?\\\\?>","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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?]*(>?)(((?:\\\\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"},"decltype":{"begin":"((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(::))?\\\\s+{0,1}((?|\\\\?\\\\?>)\\\\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":"((?|\\\\?\\\\?>)\\\\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":"#simple_array_assignment"},{"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":"#over_qualified_types"},{"include":"#normal_variable_assignment"},{"include":"#normal_variable_declaration"},{"include":"#switch_statement"},{"include":"#goto_statement"},{"include":"#evaluation_context"},{"include":"#label"}]},"function_call":{"patterns":[{"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)([A-Z][0-9A-Z_]*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.function.call.upper-case.cpp 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_helper"}]},"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 punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.cpp punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"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_helper"}]},"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*+(?:((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"(?)((?:\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()","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"},"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.modifier.specifier.functional.post-parameters.$10.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"}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()","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"},"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.modifier.specifier.functional.post-parameters.$10.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"}},"patterns":[{"include":"#function_parameter_context"}]},"functional_specifiers_pre_parameters":{"match":"(?]*(>?)(((?:\\\\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":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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])|(?<=(?:\\\\W|^)return))\\\\s+{0,1}(\\\\[(?!\\\\[| *+\\"| *+\\\\d))((?:[^]\\\\[]|((??)++]))*+)(](?!((?:\\\\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":"(?","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":"#function_body_context"}]}]},"language_constants":{"match":"(?\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"12":{"name":"variable.other.property.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+{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)((?\\\\*?))((?:(?:[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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"},"13":{"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.lower-case.cpp variable.other.object.property.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.property.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.property.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.property.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"14":{"name":"entity.name.function.member.cpp"},"15":{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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"},{"include":"#normal_variable_assignment"},{"include":"#normal_variable_declaration"},{"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_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>","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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=)))","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":"meta.assignment.cpp"},"6":{"patterns":[{"include":"#storage_specifiers"}]},"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":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(operator)(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(?:(?:(delete\\\\[]|delete|new\\\\[]|<=>|<<=|new|>>=|->\\\\*|/=|%=|&=|>=|\\\\|=|\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|<<|>>|--|<=|\\\\^=|==|!=|&&|\\\\|\\\\||\\\\+=|-=|\\\\*=|[!%\\\\&*-\\\\-/<=>^|~])|((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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_helper"},{"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":"((?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[-%*+]|(?>|\\\\|)=)|(=)"},{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w])","name":"meta.qualified-type.cpp"},"qualifiers_and_specifiers_post_parameters":{"patterns":[{"begin":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(:)(?!:)"},{"captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"#storage_specifiers"}]},"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":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(,)((?:\\\\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)(])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:)(?!:)","name":"meta.binding.cpp"},{"include":"#evaluation_context"}]},"requires_keyword":{"begin":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.operator-overload.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.alias.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.block.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.using.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.parameter.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"semicolon":{"match":";","name":"punctuation.terminator.statement.cpp"},"simple_array_assignment":{"captures":{"1":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=))"},"simple_constructor_call":{"captures":{"1":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(?=(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?"},"sizeof_operator":{"begin":"((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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":"((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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_helper"},{"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_helper"}]},"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*+","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_call_range_helper":{"patterns":[{"captures":{"1":{"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)))*)?(?:(?","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}))*))|(?)\\\\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":"(?)\\\\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":"#constructor_bracket_call"},{"include":"#simple_constructor_call"},{"include":"#simple_array_assignment"},{"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"},{"include":"#unknown_variable"}]},"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))|(.*(?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()","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"},"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.modifier.specifier.functional.post-parameters.$10.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"}},"patterns":[{"include":"#function_parameter_context"}]}]},"typedef_struct":{"begin":"((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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)((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)?((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=))","name":"meta.assignment.cpp"},"variable_declare":{"captures":{"1":{"patterns":[{"include":"#storage_specifiers"}]},"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":{"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":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?Xo});var WT,Xo,Ko=s1(()=>{_7();WT=Object.freeze(JSON.parse('{"displayName":"Lua","name":"lua","patterns":[{"begin":"\\\\b(?:(local)\\\\s+)?(function)\\\\b(?![,:])","beginCaptures":{"1":{"name":"keyword.local.lua"},"2":{"name":"keyword.control.lua"}},"end":"(?<=[-\\\\]\\"\')\\\\[{}])","name":"meta.function.lua","patterns":[{"include":"#comment"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.lua"}},"end":"(\\\\))|(?=[-\\\\]\\"\'\\\\[{}])|(?"},{"match":"<[*A-Z_a-z][-*.0-9A-Z_a-z]*>","name":"storage.type.generic.lua"},{"match":"\\\\b(break|do|else|for|if|elseif|goto|return|then|repeat|while|until|end|in)\\\\b","name":"keyword.control.lua"},{"match":"\\\\b(local)\\\\b","name":"keyword.local.lua"},{"captures":{"1":{"name":"keyword.global.lua"}},"match":"^\\\\s*(global)\\\\b(?!\\\\s*=)"},{"match":"\\\\b(function)\\\\b(?![,:])","name":"keyword.control.lua"},{"match":"(?=?|(?]","name":"keyword.operator.lua"}]},{"begin":"(?<=---)[\\\\t ]*@see","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"match":"\\\\b([*A-Z_a-z][-*.0-9A-Z_a-z]*)","name":"support.class.lua"},{"match":"#","name":"keyword.operator.lua"}]},{"begin":"(?<=---)[\\\\t ]*@diagnostic","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"begin":"([-0-9A-Z_a-z]+)[\\\\t ]*(:)?","beginCaptures":{"1":{"name":"keyword.other.unit"},"2":{"name":"keyword.operator.unit"}},"end":"(?=\\\\n)","patterns":[{"match":"\\\\b([*A-Z_a-z][-0-9A-Z_a-z]*)","name":"support.class.lua"},{"match":",","name":"keyword.operator.lua"}]}]},{"begin":"(?<=---)[\\\\t ]*@module","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"include":"#string"}]},{"match":"(?<=---)[\\\\t ]*@(async|nodiscard)","name":"storage.type.annotation.lua"},{"begin":"(?<=---)\\\\|\\\\s*[+>]?","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"include":"#string"}]}]},"emmydoc.type":{"patterns":[{"begin":"\\\\bfun\\\\b","beginCaptures":{"0":{"name":"keyword.control.lua"}},"end":"(?=[#\\\\s])","patterns":[{"match":"[](),:<>?\\\\[][\\\\t ]*","name":"keyword.operator.lua"},{"match":"([A-Z_a-z][-*.0-9A-Z_a-z]*)(?","name":"storage.type.generic.lua"},{"match":"\\\\basync\\\\b","name":"entity.name.tag.lua"},{"match":"[,:?`{|}][\\\\t ]*","name":"keyword.operator.lua"},{"begin":"(?=[\\"\'*.A-\\\\[_a-z])","end":"(?=[#),:?|}\\\\s])","patterns":[{"match":"([-\\\\]*,.0-9<>A-\\\\[_a-z]+)(?x7});var UT,x7,t9=s1(()=>{UT=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"]}')),x7=[UT]});var Mw={};h1(Mw,{default:()=>Yo});var XT,Yo,Jo=s1(()=>{_4();mw();g5();b5();Ja();We();w7();_7();me();Y6();Ko();t9();XT=Object.freeze(JSON.parse('{"displayName":"Ruby","name":"ruby","patterns":[{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"entity.name.type.class.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"},"7":{"name":"punctuation.separator.inheritance.ruby"},"8":{"name":"entity.other.inherited-class.ruby"},"11":{"name":"punctuation.separator.namespace.ruby"}},"match":"\\\\b(class)\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)\\\\s*((<)\\\\s*(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*))?","name":"meta.class.ruby"},{"captures":{"1":{"name":"keyword.control.module.ruby"},"2":{"name":"entity.name.type.module.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"}},"match":"\\\\b(module)\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)","name":"meta.module.ruby"},{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"punctuation.separator.inheritance.ruby"}},"match":"\\\\b(class)\\\\s*(<<)\\\\s*","name":"meta.class.ruby"},{"match":"(?>)=)"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"},"4":{"name":"keyword.operator.assignment.augmented.ruby"}},"match":"(?>)=)"},{"captures":{"1":{"name":"variable.ruby"}},"match":"^\\\\s*([_a-z][0-9A-Z_a-z]*)\\\\s*(?==[^=>])"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"}},"match":"(?]"},{"captures":{"1":{"name":"punctuation.definition.constant.hashkey.ruby"}},"match":"(?>[A-Z_a-z]\\\\w*[!?]?)(:)(?!:)","name":"constant.language.symbol.hashkey.ruby"},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"match":"(?[A-Z_a-z]\\\\w*[!?]?)(?=\\\\s*=>)","name":"constant.language.symbol.hashkey.ruby"},{"match":"(?)\\\\(","beginCaptures":{"1":{"name":"support.function.kernel.ruby"}},"end":"\\\\)","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[),])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"},"3":{"name":"punctuation.definition.parameters.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.ruby"}},"name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[),])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))[\\\\t ](?=[\\\\t ]*[^#;\\\\s])","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"}},"end":"(?=;)|(?<=[]!\\"\')?`}\\\\w])(?=\\\\s*#|\\\\s*$)","name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[,;]|\\\\s*#|\\\\s*$)","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"captures":{"1":{"name":"keyword.control.def.ruby"},"3":{"name":"entity.name.function.ruby"}},"match":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?)))?","name":"meta.function.method.without-arguments.ruby"},{"match":"\\\\b(\\\\d(?>_?\\\\d)*(\\\\.(?![^\\\\s\\\\d])(?>_?\\\\d)*)?([Ee][-+]?\\\\d(?>_?\\\\d)*)?|0(?:[Xx]\\\\h(?>_?\\\\h)*|[Oo]?[0-7](?>_?[0-7])*|[Bb][01](?>_?[01])*|[Dd]\\\\d(?>_?\\\\d)*))\\\\b","name":"constant.numeric.ruby"},{"begin":":\'","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.ruby"}]},{"begin":":\\"","beginCaptures":{"0":{"name":"punctuation.section.symbol.begin.ruby"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.section.symbol.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"match":"(?|=>|==|=~|!~|!=|;|$|if|else|elsif|then|do|end|unless|while|until|or|and))","captures":{"1":{"name":"string.regexp.interpolated.ruby"},"2":{"name":"punctuation.section.regexp.ruby"}},"contentName":"string.regexp.interpolated.ruby","end":"((/[eimnosux]*))","patterns":[{"include":"#regex_sub"}]},{"begin":"%r\\\\{","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"}[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},{"begin":"%r\\\\[","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"][eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},{"begin":"%r\\\\(","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\\\)[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},{"begin":"%r<","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":">[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},{"begin":"%r(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\\\1[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"%I\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%I\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%I<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%I\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%I(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%i\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%i\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%i<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%i\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%i(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%W\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%W\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%W<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%W\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%W(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%w\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%w\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%w<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%w\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%w(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%[Qx]?\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%[Qx]?\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%[Qx]?\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%[Qx]?<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%[Qx](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%([^=\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%q\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%q<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%q\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%q\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%q(\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%s\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%s<","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%s\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%s\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%s(\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\."}]},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"match":"(?[$A-Z_a-z]\\\\w*(?>[!?]|=(?![=>]))?|===?|<=>|>[=>]?|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?|@@?[A-Z_a-z]\\\\w*)","name":"constant.language.symbol.ruby"},{"begin":"^=begin","captures":{"0":{"name":"punctuation.definition.comment.ruby"}},"end":"^=end","name":"comment.block.documentation.ruby"},{"include":"#yard"},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ruby"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"end":"\\\\n","name":"comment.line.number-sign.ruby"}]},{"match":"(?<<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)HTML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.html","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.html","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.html.basic"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)HTML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)HAML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.haml","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.haml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.haml"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)HAML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)XML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.xml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.xml"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)XML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)SQL)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.sql","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.sql"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)SQL)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)G(?:RAPHQL|QL))$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.graphql","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.graphql","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.graphql"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)CSS)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.css","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.css","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.css"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)CSS)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)CPP)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.cpp","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.cpp","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.cpp"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)CPP)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)C)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.c","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.c","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.c"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)C)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.js","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.js","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)JQUERY)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.js.jquery","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.js.jquery","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js.jquery"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)JQUERY)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)SH(?:|ELL))$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.shell","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.shell","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.shell"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)SH(?:|ELL))\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)LUA)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.lua","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.lua","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.lua"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)LUA)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)RUBY)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.ruby","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.ruby"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)RUBY)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)YA?ML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)YA?ML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.yaml","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)YA?ML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.yaml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.yaml"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)YA?ML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)SLIM)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.slim","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.slim","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.slim"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)SLIM)\\\\s*$)"}]},{"begin":"(?>=\\\\s*<<([\\"\'`]?)([A-Z_a-z]\\\\w*)\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"string.unquoted.heredoc.ruby","end":"^\\\\2$","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?>((<<[-~]?([\\"\'`]?)([A-Z_a-z]\\\\w*)\\\\3,\\\\s?)*<<[-~]?([\\"\'`]?)([A-Z_a-z]\\\\w*)\\\\5))(.*)","beginCaptures":{"1":{"name":"string.definition.begin.ruby"},"7":{"patterns":[{"include":"source.ruby"}]}},"contentName":"string.unquoted.heredoc.ruby","end":"^\\\\s*\\\\6$","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?<=\\\\{|\\\\{\\\\s+|[^$0-:@-Z_a-z]do|^do|[^$0-:@-Z_a-z]do\\\\s+|^do\\\\s+)(\\\\|)","captures":{"1":{"name":"punctuation.separator.variable.ruby"}},"end":"(?","name":"punctuation.separator.key-value"},{"match":"->","name":"support.function.kernel.ruby"},{"match":"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<","name":"keyword.operator.assignment.augmented.ruby"},{"match":"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\t ])\\\\?","name":"keyword.operator.comparison.ruby"},{"match":"(?>","name":"keyword.operator.other.ruby"},{"match":";","name":"punctuation.separator.statement.ruby"},{"match":",","name":"punctuation.separator.object.ruby"},{"captures":{"1":{"name":"punctuation.separator.namespace.ruby"}},"match":"(::)\\\\s*(?=[A-Z])"},{"captures":{"1":{"name":"punctuation.separator.method.ruby"}},"match":"(\\\\.|::)\\\\s*(?![A-Z])"},{"match":":","name":"punctuation.separator.other.ruby"},{"match":"\\\\{","name":"punctuation.section.scope.begin.ruby"},{"match":"}","name":"punctuation.section.scope.end.ruby"},{"match":"\\\\[","name":"punctuation.section.array.begin.ruby"},{"match":"]","name":"punctuation.section.array.end.ruby"},{"match":"[()]","name":"punctuation.section.function.ruby"},{"begin":"(?<=[^.]\\\\.|::)(?=[A-Za-z][!0-9?A-Z_a-z]*[^!0-9?A-Z_a-z])","end":"(?<=[!0-9?A-Z_a-z])(?=[^!0-9?A-Z_a-z])","name":"meta.function-call.ruby","patterns":[{"match":"([A-Za-z][!0-9?A-Z_a-z]*)(?=[^!0-9?A-Z_a-z])","name":"entity.name.function.ruby"}]},{"begin":"([A-Za-z]\\\\w*[!?]?)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.ruby"},"2":{"name":"punctuation.section.function.ruby"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.function.ruby"}},"name":"meta.function-call.ruby","patterns":[{"include":"$self"}]}],"repository":{"escaped_char":{"match":"\\\\\\\\(?:[0-7]{1,3}|x[A-Fa-f\\\\d]{1,2}|.)","name":"constant.character.escape.ruby"},"heredoc":{"begin":"^<<[-~]?[A-Z_a-z]\\\\w*","end":"$","patterns":[{"include":"$self"}]},"interpolated_ruby":{"patterns":[{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.ruby"}},"contentName":"source.ruby","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.ruby"}},"name":"meta.embedded.line.ruby","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}]},{"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"}]},"method_parameters":{"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"#params"},{"include":"$self"}],"repository":{"braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"brackets":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"params":{"captures":{"1":{"name":"storage.type.variable.ruby"},"2":{"name":"constant.other.symbol.hashkey.parameter.function.ruby"},"3":{"name":"punctuation.definition.constant.ruby"},"4":{"name":"variable.parameter.function.ruby"}},"match":"\\\\G(&|\\\\*\\\\*?)?(?:([A-Z_a-z]\\\\w*[!?]?(:))|([A-Z_a-z]\\\\w*))"},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.function.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]}}},"nest_brackets":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#nest_brackets"}]},"nest_brackets_i":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},"nest_brackets_r":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]},"nest_curly_i":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},"nest_curly_r":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},"nest_ltgt":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#nest_ltgt"}]},"nest_ltgt_i":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},"nest_ltgt_r":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},"nest_parens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#nest_parens"}]},"nest_parens_i":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},"nest_parens_r":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},"regex_sub":{"patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.ruby"},"3":{"name":"punctuation.definition.arbitrary-repetition.ruby"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.ruby"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.ruby"}},"end":"]","name":"string.regexp.character-class.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.ruby"}},"name":"comment.line.number-sign.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.group.ruby"}},"end":"\\\\)","name":"string.regexp.group.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"(?<=^|\\\\s)(#)\\\\s(?=[-\\\\t !,.0-9?A-Za-z[^\\\\x00-\\\\x7F]]*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ruby"}},"end":"$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"name":"comment.line.number-sign.ruby"}]},"yard":{"patterns":[{"include":"#yard_comment"},{"include":"#yard_param_types"},{"include":"#yard_option"},{"include":"#yard_tag"},{"include":"#yard_types"},{"include":"#yard_directive"},{"include":"#yard_see"},{"include":"#yard_macro_attribute"}]},"yard_comment":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\\\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_continuation":{"match":"^\\\\s*#","name":"punctuation.definition.comment.ruby"},"yard_directive":{"begin":"^(\\\\s*)(#)(\\\\s*)(@!)(endgroup|group|method|parse|scope|visibility)(\\\\s+((\\\\[).+(])))?(?=\\\\s)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_macro_attribute":{"begin":"^(\\\\s*)(#)(\\\\s*)(@!)(attribute|macro)(\\\\s+((\\\\[).+(])))?(?=\\\\s)(\\\\s+([_a-z]\\\\w*:?))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"11":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_option":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(option)(?=\\\\s)(?>\\\\s+([_a-z]\\\\w*:?))?(?>\\\\s+((\\\\[).+(])))?(?>\\\\s+((\\\\S*)))?(?>\\\\s+((\\\\().+(\\\\))))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.keyword.yard.ruby"},"11":{"name":"comment.line.hashkey.yard.ruby"},"12":{"name":"comment.line.defaultvalue.yard.ruby"},"13":{"name":"comment.line.punctuation.yard.ruby"},"14":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_param_types":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(attr|attr_reader|attr_writer|yieldparam|param)(?=\\\\s)(?>\\\\s+(?>([_a-z]\\\\w*:?)|((\\\\[).+(]))))?(?>\\\\s+(?>((\\\\[).+(]))|([_a-z]\\\\w*:?)))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.type.yard.ruby"},"11":{"name":"comment.line.punctuation.yard.ruby"},"12":{"name":"comment.line.punctuation.yard.ruby"},"13":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_see":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(see)(?=\\\\s)(\\\\s+(.+?))?(?=\\\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_tag":{"captures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"match":"^(\\\\s*)(#)(\\\\s*)(@)(private)$","name":"comment.line.number-sign.ruby"},"yard_types":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(raise|return|yield(?:return)?)(?=\\\\s)(\\\\s+((\\\\[).+(])))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]}},"scopeName":"source.ruby","embeddedLangs":["html","haml","xml","sql","graphql","css","cpp","c","javascript","shellscript","lua","yaml"],"aliases":["rb"]}')),Yo=[...Y2,...uw,...$3,...L3,...y7,...e2,...it,...at,...L0,...s4,...Xo,...x7,XT]});var $w={};h1($w,{default:()=>YT});var KT,YT,Lw=s1(()=>{KT=Object.freeze(JSON.parse('{"displayName":"Go","name":"go","patterns":[{"include":"#statements"}],"repository":{"after_control_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"variable.other.go"}]}},"match":"(?<=\\\\brange\\\\b|;|\\\\bif\\\\b|\\\\bfor\\\\b|[<>]|<=|>=|==|!=|\\\\w[-%*+/]|\\\\w[-%*+/]=|\\\\|\\\\||&&)\\\\s*((?![]\\\\[]+)[-\\\\]!%*+./:<=>\\\\[_[:alnum:]]+)\\\\s*(?=\\\\{)"},"brackets":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"$self"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"$self"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"$self"}]}]},"built_in_functions":{"patterns":[{"match":"\\\\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\\\\b(?=\\\\()","name":"entity.name.function.support.builtin.go"},{"begin":"\\\\b(new)\\\\b(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.support.builtin.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#functions"},{"include":"#struct_variables_types"},{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#generic_types"},{"match":"\\\\w+","name":"entity.name.type.go"},{"include":"$self"}]},{"begin":"\\\\b(make)\\\\b(\\\\()((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?[]*\\\\[]+{0,1}(?:(?!\\\\bmap\\\\b)[.\\\\w]+)?(\\\\[(?:\\\\S+(?:,\\\\s*\\\\S+)*)?])?,?)?","beginCaptures":{"1":{"name":"entity.name.function.support.builtin.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"},"3":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"$self"}]}]},"comments":{"patterns":[{"begin":"(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"end":"(\\\\*/)","endCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"name":"comment.block.go"},{"begin":"(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"end":"\\\\n|$","name":"comment.line.double-slash.go"}]},"const_assignment":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.constant.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\bconst\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"begin":"(?<=\\\\bconst\\\\b)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.constant.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"include":"$self"}]}]},"delimiters":{"patterns":[{"match":",","name":"punctuation.other.comma.go"},{"match":"\\\\.(?!\\\\.\\\\.)","name":"punctuation.other.period.go"},{"match":":(?!=)","name":"punctuation.other.colon.go"}]},"double_parentheses_types":{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?\\\\[\\\\w]+\\\\s*(?:/[*/].*)?)$"},{"include":"$self"}]},"function_param_types":{"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$"},{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.parameter.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[]*.\\\\[\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:[]*\\\\[]+{0,1}[*.\\\\w]+(?:\\\\[[^]]+])?[*.\\\\w]+{0,1})+))"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"([.\\\\w]+)"},{"include":"$self"}]},"functions":{"begin":"\\\\b(func)\\\\b(?=\\\\()","beginCaptures":{"1":{"name":"keyword.function.go"}},"end":"(?<=\\\\))(\\\\s*(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(\\\\s*(?:[]*\\\\[]+{0,1}[*.\\\\w]+)?(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+]|\\\\([^)]+{0,1}\\\\))?[*.\\\\w]+{0,1}\\\\s*(?=\\\\{)|\\\\s*(?:[]*\\\\[]+{0,1}(?!\\\\bfunc\\\\b)[*.\\\\w]+(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])?[*.\\\\w]+{0,1}|\\\\([^)]+{0,1}\\\\)))?","endCaptures":{"1":{"patterns":[{"include":"#type-declarations"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#parameter-variable-types"}]},"functions_inline":{"captures":{"1":{"name":"keyword.function.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b(func)\\\\b(\\\\([^/]*?\\\\)\\\\s+\\\\([^/]*?\\\\))\\\\s+(?=\\\\{)"},"generic_param_types":{"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$"},{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.parameter.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"3":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[*.\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:(?:[*.~\\\\w]+|\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])[*.\\\\w]+{0,1})+))"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b([.\\\\w]+)"},{"include":"$self"}]},"generic_types":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"patterns":[{"include":"#parameter-variable-types"}]}},"match":"([*.\\\\w]+)(\\\\[[^]]+{0,1}])"},"group-functions":{"patterns":[{"include":"#function_declaration"},{"include":"#functions_inline"},{"include":"#functions"},{"include":"#built_in_functions"},{"include":"#support_functions"}]},"group-types":{"patterns":[{"include":"#other_struct_interface_expressions"},{"include":"#type_assertion_inline"},{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#single_type"},{"include":"#multi_types"},{"include":"#struct_interface_declaration"},{"include":"#double_parentheses_types"},{"include":"#switch_types"},{"include":"#type-declarations"}]},"group-variables":{"patterns":[{"include":"#const_assignment"},{"include":"#var_assignment"},{"include":"#variable_assignment"},{"include":"#label_loop_variables"},{"include":"#slice_index_variables"},{"include":"#property_variables"},{"include":"#switch_variables"},{"include":"#other_variables"}]},"hover":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"match":"\\\\binvalid\\\\b\\\\s+\\\\btype\\\\b","name":"invalid.field.go"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=^\\\\bfield\\\\b)\\\\s+([*.\\\\w]+)\\\\s+([\\\\s\\\\S]+)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=^\\\\breturns\\\\b)\\\\s+([\\\\s\\\\S]+)"}]},"import":{"patterns":[{"begin":"\\\\b(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.import.go"}},"end":"(?!\\\\G)","patterns":[{"include":"#imports"}]}]},"imports":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.import.go"}]},"2":{"name":"string.quoted.double.go"},"3":{"name":"punctuation.definition.string.begin.go"},"4":{"name":"entity.name.import.go"},"5":{"name":"punctuation.definition.string.end.go"}},"match":"(\\\\s*[.\\\\w]+)?\\\\s*((\\")([^\\"]*)(\\"))"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.imports.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.imports.end.bracket.round.go"}},"patterns":[{"include":"#comments"},{"include":"#imports"}]},{"include":"$self"}]},"interface_variables_types":{"begin":"\\\\b(interface)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.interface.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}]},"interface_variables_types_field":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations-without-brackets"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"([.\\\\w]+)"}]},"keywords":{"patterns":[{"match":"\\\\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\\\\b","name":"keyword.control.go"},{"match":"\\\\bchan\\\\b","name":"keyword.channel.go"},{"match":"\\\\bconst\\\\b","name":"keyword.const.go"},{"match":"\\\\bvar\\\\b","name":"keyword.var.go"},{"match":"\\\\bfunc\\\\b","name":"keyword.function.go"},{"match":"\\\\binterface\\\\b","name":"keyword.interface.go"},{"match":"\\\\bmap\\\\b","name":"keyword.map.go"},{"match":"\\\\bstruct\\\\b","name":"keyword.struct.go"},{"match":"\\\\bimport\\\\b","name":"keyword.control.import.go"},{"match":"\\\\btype\\\\b","name":"keyword.type.go"}]},"label_loop_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.label.go"}]}},"match":"^(\\\\s*\\\\w+:\\\\s*|\\\\s*\\\\b(?:break|goto|continue)\\\\b\\\\s+\\\\w+(?:\\\\s*/[*/]\\\\s*.*)?)$"},"language_constants":{"captures":{"1":{"name":"constant.language.boolean.go"},"2":{"name":"constant.language.null.go"},"3":{"name":"constant.language.iota.go"}},"match":"\\\\b(?:(true|false)|(nil)|(iota))\\\\b"},"map_types":{"begin":"\\\\b(map)\\\\b(\\\\[)","beginCaptures":{"1":{"name":"keyword.map.go"},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"(])((?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:func|struct|map)\\\\b)[]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?)?","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.square.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"include":"#functions"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"multi_types":{"begin":"\\\\b(type)\\\\b\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"numeric_literals":{"captures":{"0":{"patterns":[{"begin":"(?=.)","end":"\\\\n|$","patterns":[{"captures":{"1":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"2":{"name":"punctuation.separator.constant.numeric.go"},"3":{"name":"constant.numeric.decimal.point.go"},"4":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"5":{"name":"punctuation.separator.constant.numeric.go"},"6":{"name":"keyword.other.unit.exponent.decimal.go"},"7":{"name":"keyword.operator.plus.exponent.decimal.go"},"8":{"name":"keyword.operator.minus.exponent.decimal.go"},"9":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"10":{"name":"keyword.other.unit.imaginary.go"},"11":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"12":{"name":"punctuation.separator.constant.numeric.go"},"13":{"name":"keyword.other.unit.exponent.decimal.go"},"14":{"name":"keyword.operator.plus.exponent.decimal.go"},"15":{"name":"keyword.operator.minus.exponent.decimal.go"},"16":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"17":{"name":"keyword.other.unit.imaginary.go"},"18":{"name":"constant.numeric.decimal.point.go"},"19":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"20":{"name":"punctuation.separator.constant.numeric.go"},"21":{"name":"keyword.other.unit.exponent.decimal.go"},"22":{"name":"keyword.operator.plus.exponent.decimal.go"},"23":{"name":"keyword.operator.minus.exponent.decimal.go"},"24":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"25":{"name":"keyword.other.unit.imaginary.go"},"26":{"name":"keyword.other.unit.hexadecimal.go"},"27":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"28":{"name":"punctuation.separator.constant.numeric.go"},"29":{"name":"constant.numeric.hexadecimal.go"},"30":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"31":{"name":"punctuation.separator.constant.numeric.go"},"32":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"33":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"34":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"35":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"36":{"name":"keyword.other.unit.imaginary.go"},"37":{"name":"keyword.other.unit.hexadecimal.go"},"38":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"39":{"name":"punctuation.separator.constant.numeric.go"},"40":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"41":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"42":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"43":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"44":{"name":"keyword.other.unit.imaginary.go"},"45":{"name":"keyword.other.unit.hexadecimal.go"},"46":{"name":"constant.numeric.hexadecimal.go"},"47":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"48":{"name":"punctuation.separator.constant.numeric.go"},"49":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"50":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"51":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"52":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"53":{"name":"keyword.other.unit.imaginary.go"}},"match":"\\\\G(?:(?:(?:(?:(?:(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)?(?:(?=|<(?!<)|>(?!>))","name":"keyword.operator.comparison.go"},{"match":"(&&|\\\\|\\\\||!)","name":"keyword.operator.logical.go"},{"match":"((?:|[-%*+/:^|]|<<|>>|&\\\\^?)=)","name":"keyword.operator.assignment.go"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.go"},{"match":"(&(?!\\\\^)|[\\\\^|]|&\\\\^|<<|>>|~)","name":"keyword.operator.arithmetic.bitwise.go"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.ellipsis.go"}]},"other_struct_interface_expressions":{"patterns":[{"include":"#after_control_variables"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b(?!(?:struct|interface)\\\\b)([.\\\\w]+)(?\\\\[(?:[^]\\\\[]|\\\\g)*])?(?=\\\\{)"}]},"other_variables":{"match":"\\\\w+","name":"variable.other.go"},"package_name":{"patterns":[{"begin":"\\\\b(package)\\\\s+","beginCaptures":{"1":{"name":"keyword.package.go"}},"end":"(?!\\\\G)","patterns":[{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"entity.name.type.package.go"}]}]},"parameter-variable-types":{"patterns":[{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]}]},"property_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]}},"match":"\\\\b([.\\\\w]+:(?!=))"},"raw_string_literals":{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.raw.go","patterns":[{"include":"#string_placeholder"}]},"runes":{"patterns":[{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.rune.go","patterns":[{"match":"\\\\G(\\\\\\\\([0-7]{3}|[\\"\'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})|.)(?=\')","name":"constant.other.rune.go"},{"match":"[^\']+","name":"invalid.illegal.unknown-rune.go"}]}]},"single_type":{"patterns":[{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"3":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"include":"#type-declarations"},{"include":"#generic_types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)\\\\s+(?!(?:=\\\\s*)?[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b)([\\\\s\\\\S]+)"},{"begin":"(?:^|\\\\s+)\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)(?=\\\\[)","beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"end":"(?<=])(\\\\s+(?:=\\\\s*)?(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:struct|interface|func)\\\\b)[-\\\\]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?","endCaptures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#struct_variables_types"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}]},"slice_index_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.go"}]}},"match":"(?<=\\\\w\\\\[)((?:\\\\b[-%\\\\&*+./<>|\\\\w]+:|:\\\\b[-%\\\\&*+./<>|\\\\w]+)(?:\\\\b[-%\\\\&*+./<>|\\\\w]+)?(?::\\\\b[-%\\\\&*+./<>|\\\\w]+)?)(?=])"},"statements":{"patterns":[{"include":"#package_name"},{"include":"#import"},{"include":"#syntax_errors"},{"include":"#group-functions"},{"include":"#group-types"},{"include":"#group-variables"},{"include":"#hover"}]},"storage_types":{"patterns":[{"match":"\\\\bbool\\\\b","name":"storage.type.boolean.go"},{"match":"\\\\bbyte\\\\b","name":"storage.type.byte.go"},{"match":"\\\\berror\\\\b","name":"storage.type.error.go"},{"match":"\\\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\\\b","name":"storage.type.numeric.go"},{"match":"\\\\brune\\\\b","name":"storage.type.rune.go"},{"match":"\\\\bstring\\\\b","name":"storage.type.string.go"},{"match":"\\\\buintptr\\\\b","name":"storage.type.uintptr.go"},{"match":"\\\\bany\\\\b","name":"entity.name.type.any.go"},{"match":"\\\\bcomparable\\\\b","name":"entity.name.type.comparable.go"}]},"string_escaped_char":{"patterns":[{"match":"\\\\\\\\([0-7]{3}|[\\"\'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.go"},{"match":"\\\\\\\\[^\\"\'0-7Uabfnrtuvx]","name":"invalid.illegal.unknown-escape.go"}]},"string_literals":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.double.go","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"}]}]},"string_placeholder":{"patterns":[{"match":"%(\\\\[\\\\d+])?([- #+0]{0,2}((\\\\d+|\\\\*)?(\\\\.?(\\\\d+|\\\\*|(\\\\[\\\\d+])\\\\*?)?(\\\\[\\\\d+])?)?))?[%EFGTUXb-gopqstvwx]","name":"constant.other.placeholder.go"}]},"struct_interface_declaration":{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b(type)\\\\b\\\\s*([.\\\\w]+)"},"struct_variable_types_fields_multi":{"patterns":[{"begin":"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(struct)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.struct.go"},"3":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}]},{"begin":"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(interface)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.interface.go"},"3":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}]},{"begin":"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(func)\\\\b\\\\s*(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.function.go"},"3":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"include":"#parameter-variable-types"}]},"struct_variables_types":{"begin":"\\\\b(struct)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.struct.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}]},"struct_variables_types_fields":{"patterns":[{"include":"#struct_variable_types_fields_multi"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\{)\\\\s*((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\{)\\\\s*((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})"},{"captures":{"1":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[^\\"/`\\\\s]+;?)"}]}},"match":"(?<=\\\\{)((?:\\\\s*(?:(?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[^\\"/`\\\\s]+;?)+)\\\\s*(?=})"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[*.\\\\w]+\\\\s*)(?:(?=[\\"/`])|$)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b(\\\\w+(?:\\\\s*,\\\\s*\\\\b\\\\w+)*)\\\\s*([^\\"/`]+)"}]},"support_functions":{"captures":{"1":{"name":"entity.name.function.support.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"entity.name.function.support.go"}]},"3":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?:((?<=\\\\.)\\\\b\\\\w+)|\\\\b(\\\\w+))(?\\\\[(?:[^]\\\\[]|\\\\g)*])?(?=\\\\()"},"switch_types":{"begin":"(?<=\\\\bswitch\\\\b)\\\\s*(\\\\w+\\\\s*:=)?\\\\s*([-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+)(\\\\.\\\\(\\\\btype\\\\b\\\\)\\\\s*)(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#operators"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.go"}]},"3":{"patterns":[{"include":"#delimiters"},{"include":"#brackets"},{"match":"\\\\btype\\\\b","name":"keyword.type.go"}]},"4":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"captures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"3":{"name":"punctuation.other.colon.go"},"4":{"patterns":[{"include":"#comments"}]}},"match":"^\\\\s*\\\\b(case)\\\\b\\\\s+([!*,.<=>\\\\w\\\\s]+)(:)(\\\\s*/[*/]\\\\s*.*)?$"},{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.go"}},"end":":","endCaptures":{"0":{"name":"punctuation.other.colon.go"}},"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},{"include":"$self"}]},"switch_variables":{"patterns":[{"captures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"#type-declarations"},{"include":"#support_functions"},{"include":"#variable_assignment"},{"match":"\\\\w+","name":"variable.other.go"}]}},"match":"^\\\\s*\\\\b(case)\\\\b\\\\s+([\\\\s\\\\S]+:\\\\s*(?:/[*/].*)?)$"},{"begin":"(?<=\\\\bswitch\\\\b)\\\\s*((?:[.\\\\w]+(?:\\\\s*[-!%\\\\&+,/:<=>|]+\\\\s*[.\\\\w]+)*\\\\s*[-!%\\\\&+,/:<=>|]+)?\\\\s*[-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+{0,1}\\\\s*(?:;\\\\s*[-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+\\\\s*)?)(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#variable_assignment"},{"match":"\\\\w+","name":"variable.other.go"}]},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.go"}},"end":":","endCaptures":{"0":{"name":"punctuation.other.colon.go"}},"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#variable_assignment"},{"match":"\\\\w+","name":"variable.other.go"}]},{"include":"$self"}]}]},"syntax_errors":{"patterns":[{"captures":{"1":{"name":"invalid.illegal.slice.go"}},"match":"\\\\[](\\\\s+)"},{"match":"\\\\b0[0-7]*[89]\\\\d*\\\\b","name":"invalid.illegal.numeric.go"}]},"terminators":{"match":";","name":"punctuation.terminator.go"},"type-declarations":{"patterns":[{"include":"#language_constants"},{"include":"#comments"},{"include":"#map_types"},{"include":"#brackets"},{"include":"#delimiters"},{"include":"#keywords"},{"include":"#operators"},{"include":"#runes"},{"include":"#storage_types"},{"include":"#raw_string_literals"},{"include":"#string_literals"},{"include":"#numeric_literals"},{"include":"#terminators"}]},"type-declarations-without-brackets":{"patterns":[{"include":"#language_constants"},{"include":"#comments"},{"include":"#map_types"},{"include":"#delimiters"},{"include":"#keywords"},{"include":"#operators"},{"include":"#runes"},{"include":"#storage_types"},{"include":"#raw_string_literals"},{"include":"#string_literals"},{"include":"#numeric_literals"},{"include":"#terminators"}]},"type_assertion_inline":{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\.\\\\()(?:\\\\b(type)\\\\b|((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?))(?=\\\\))"},"var_assignment":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\bvar\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"begin":"(?<=\\\\bvar\\\\b)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"include":"$self"}]}]},"variable_assignment":{"patterns":[{"captures":{"0":{"patterns":[{"include":"#delimiters"},{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]}},"match":"\\\\b\\\\w+(?:,\\\\s*\\\\w+)*(?=\\\\s*:=)"},{"captures":{"0":{"patterns":[{"include":"#delimiters"},{"include":"#operators"},{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]}},"match":"\\\\b[*.\\\\w]+(?:,\\\\s*[*.\\\\w]+)*(?=\\\\s*=(?!=))"}]}},"scopeName":"source.go"}')),YT=[KT]});var Sw={};h1(Sw,{default:()=>QT});var JT,QT,Ew=s1(()=>{JT=Object.freeze(JSON.parse('{"displayName":"Rust","name":"rust","patterns":[{"begin":"(<)(\\\\[)","beginCaptures":{"1":{"name":"punctuation.brackets.angle.rust"},"2":{"name":"punctuation.brackets.square.rust"}},"end":">","endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}},"patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"}]},{"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"3":{"name":"keyword.other.crate.rust"},"4":{"name":"entity.name.type.metavariable.rust"},"6":{"name":"keyword.operator.key-value.rust"},"7":{"name":"variable.other.metavariable.specifier.rust"}},"match":"(\\\\$)((crate)|([A-Z]\\\\w*))(\\\\s*(:)\\\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\\\b)?","name":"meta.macro.metavariable.type.rust","patterns":[{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"2":{"name":"variable.other.metavariable.name.rust"},"4":{"name":"keyword.operator.key-value.rust"},"5":{"name":"variable.other.metavariable.specifier.rust"}},"match":"(\\\\$)([a-z]\\\\w*)(\\\\s*(:)\\\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\\\b)?","name":"meta.macro.metavariable.rust","patterns":[{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.function.macro.rules.rust"},"3":{"name":"entity.name.function.macro.rust"},"4":{"name":"entity.name.type.macro.rust"},"5":{"name":"punctuation.brackets.curly.rust"}},"match":"\\\\b(macro_rules!)\\\\s+(([0-9_a-z]+)|([A-Z][0-9_a-z]*))\\\\s+(\\\\{)","name":"meta.macro.rules.rust"},{"captures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.module.rust"}},"match":"(mod)\\\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][0-9A-Z_a-z]*)"},{"begin":"\\\\b(extern)\\\\s+(crate)","beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"keyword.other.crate.rust"}},"end":";","endCaptures":{"0":{"name":"punctuation.semi.rust"}},"name":"meta.import.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"}]},{"begin":"\\\\b(use)\\\\s","beginCaptures":{"1":{"name":"keyword.other.rust"}},"end":";","endCaptures":{"0":{"name":"punctuation.semi.rust"}},"name":"meta.use.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}]},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"begin":"(#)(!?)(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.attribute.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"end":"]","endCaptures":{"0":{"name":"punctuation.brackets.attribute.rust"}},"name":"meta.attribute.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}]},"block-comments":{"patterns":[{"match":"/\\\\*\\\\*/","name":"comment.block.rust"},{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.documentation.rust","patterns":[{"include":"#block-comments"}]},{"begin":"/\\\\*(?!\\\\*)","end":"\\\\*/","name":"comment.block.rust","patterns":[{"include":"#block-comments"}]}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.rust"}},"match":"(///).*$","name":"comment.line.documentation.rust"},{"captures":{"1":{"name":"punctuation.definition.comment.rust"}},"match":"(//).*$","name":"comment.line.double-slash.rust"}]},"constants":{"patterns":[{"match":"\\\\b[A-Z]{2}[0-9A-Z_]*\\\\b","name":"constant.other.caps.rust"},{"captures":{"1":{"name":"storage.type.rust"},"2":{"name":"constant.other.caps.rust"}},"match":"\\\\b(const)\\\\s+([A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"punctuation.separator.dot.decimal.rust"},"2":{"name":"keyword.operator.exponent.rust"},"3":{"name":"keyword.operator.exponent.sign.rust"},"4":{"name":"constant.numeric.decimal.exponent.mantissa.rust"},"5":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b\\\\d[_\\\\d]*(\\\\.?)[_\\\\d]*(?:([Ee])([-+]?)([_\\\\d]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.decimal.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0x[A-F_a-f\\\\d]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.hex.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.oct.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.bin.rust"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.bool.rust"}]},"escapes":{"captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}},"match":"(\\\\\\\\)(?:(x[0-7][A-Fa-f\\\\d])|(u(\\\\{)[A-Fa-f\\\\d]{4,6}(}))|.)","name":"constant.character.escape.rust"},"functions":{"patterns":[{"captures":{"1":{"name":"storage.modifier.visibility.rust"}},"match":"\\\\b(pub)\\\\b"},{"captures":{"1":{"name":"storage.modifier.visibility.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"match":"\\\\b(pub)(\\\\()"},{"begin":"\\\\b(fn)\\\\s+((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)((\\\\()|(<))","beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"},"4":{"name":"punctuation.brackets.round.rust"},"5":{"name":"punctuation.brackets.angle.rust"}},"end":"(\\\\{)|(;)","endCaptures":{"1":{"name":"punctuation.brackets.curly.rust"},"2":{"name":"punctuation.semi.rust"}},"name":"meta.function.definition.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]},{"begin":"((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}},"name":"meta.function.call.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]},{"begin":"((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)(?=::<.*>\\\\()","beginCaptures":{"1":{"name":"entity.name.function.rust"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}},"name":"meta.function.call.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]}]},"gtypes":{"patterns":[{"match":"\\\\b(Some|None)\\\\b","name":"entity.name.type.option.rust"},{"match":"\\\\b(Ok|Err)\\\\b","name":"entity.name.type.result.rust"}]},"interpolations":{"captures":{"1":{"name":"punctuation.definition.interpolation.rust"},"2":{"name":"punctuation.definition.interpolation.rust"}},"match":"(\\\\{)[^\\"{}]*(})","name":"meta.interpolation.rust"},"keywords":{"patterns":[{"match":"\\\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\\\b","name":"keyword.control.rust"},{"match":"\\\\b(extern|let|macro|mod)\\\\b","name":"keyword.other.rust storage.type.rust"},{"match":"\\\\b(const)\\\\b","name":"storage.modifier.rust"},{"match":"\\\\b(type)\\\\b","name":"keyword.declaration.type.rust storage.type.rust"},{"match":"\\\\b(enum)\\\\b","name":"keyword.declaration.enum.rust storage.type.rust"},{"match":"\\\\b(trait)\\\\b","name":"keyword.declaration.trait.rust storage.type.rust"},{"match":"\\\\b(struct)\\\\b","name":"keyword.declaration.struct.rust storage.type.rust"},{"match":"\\\\b(abstract|static)\\\\b","name":"storage.modifier.rust"},{"match":"\\\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|ref|typeof|union|unsafe|unsized|use|virtual|where)\\\\b","name":"keyword.other.rust"},{"match":"\\\\bfn\\\\b","name":"keyword.other.fn.rust"},{"match":"\\\\bcrate\\\\b","name":"keyword.other.crate.rust"},{"match":"\\\\bmut\\\\b","name":"storage.modifier.mut.rust"},{"match":"([\\\\^|]|\\\\|\\\\||&&|<<|>>|!)(?!=)","name":"keyword.operator.logical.rust"},{"match":"&(?![\\\\&=])","name":"keyword.operator.borrow.and.rust"},{"match":"((?:[-%\\\\&*+/^|]|<<|>>)=)","name":"keyword.operator.assignment.rust"},{"match":"(?])=(?![=>])","name":"keyword.operator.assignment.equal.rust"},{"match":"(=(=)?(?!>)|!=|<=|(?=)","name":"keyword.operator.comparison.rust"},{"match":"(([%+]|(\\\\*(?!\\\\w)))(?!=))|(-(?!>))|(/(?!/))","name":"keyword.operator.math.rust"},{"captures":{"1":{"name":"punctuation.brackets.round.rust"},"2":{"name":"punctuation.brackets.square.rust"},"3":{"name":"punctuation.brackets.curly.rust"},"4":{"name":"keyword.operator.comparison.rust"},"5":{"name":"punctuation.brackets.round.rust"},"6":{"name":"punctuation.brackets.square.rust"},"7":{"name":"punctuation.brackets.curly.rust"}},"match":"(?:\\\\b|(?:(\\\\))|(])|(})))[\\\\t ]+([<>])[\\\\t ]+(?:\\\\b|(?:(\\\\()|(\\\\[)|(\\\\{)))"},{"match":"::","name":"keyword.operator.namespace.rust"},{"captures":{"1":{"name":"keyword.operator.dereference.rust"}},"match":"(\\\\*)(?=\\\\w+)"},{"match":"@","name":"keyword.operator.subpattern.rust"},{"match":"\\\\.(?!\\\\.)","name":"keyword.operator.access.dot.rust"},{"match":"\\\\.{2}([.=])?","name":"keyword.operator.range.rust"},{"match":":(?!:)","name":"keyword.operator.key-value.rust"},{"match":"->|<-","name":"keyword.operator.arrow.skinny.rust"},{"match":"=>","name":"keyword.operator.arrow.fat.rust"},{"match":"\\\\$","name":"keyword.operator.macro.dollar.rust"},{"match":"\\\\?","name":"keyword.operator.question.rust"}]},"lifetimes":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.lifetime.rust"},"2":{"name":"entity.name.type.lifetime.rust"}},"match":"(\')([A-Z_a-z][0-9A-Z_a-z]*)(?!\')\\\\b"},{"captures":{"1":{"name":"keyword.operator.borrow.rust"},"2":{"name":"punctuation.definition.lifetime.rust"},"3":{"name":"entity.name.type.lifetime.rust"}},"match":"(&)(\')([A-Z_a-z][0-9A-Z_a-z]*)(?!\')\\\\b"}]},"lvariables":{"patterns":[{"match":"\\\\b[Ss]elf\\\\b","name":"variable.language.self.rust"},{"match":"\\\\bsuper\\\\b","name":"variable.language.super.rust"}]},"macros":{"patterns":[{"captures":{"2":{"name":"entity.name.function.macro.rust"},"3":{"name":"entity.name.type.macro.rust"}},"match":"(([_a-z][0-9A-Z_a-z]*!)|([A-Z_][0-9A-Z_a-z]*!))","name":"meta.macro.rust"}]},"namespaces":{"patterns":[{"captures":{"1":{"name":"entity.name.namespace.rust"},"2":{"name":"keyword.operator.namespace.rust"}},"match":"(?]","name":"punctuation.brackets.angle.rust"}]},"strings":{"patterns":[{"begin":"(b?)(\\")","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.rust"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.rust"}},"name":"string.quoted.double.rust","patterns":[{"include":"#escapes"},{"include":"#interpolations"}]},{"begin":"(b?r)(#*)(\\")","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"end":"(\\")(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}},"name":"string.quoted.double.rust"},{"begin":"(b)?(\')","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.char.rust"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.char.rust"}},"name":"string.quoted.single.char.rust","patterns":[{"include":"#escapes"}]}]},"types":{"patterns":[{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"(?","endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}},"patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}]},{"match":"\\\\b(bool|char|str)\\\\b","name":"entity.name.type.primitive.rust"},{"captures":{"1":{"name":"keyword.declaration.trait.rust storage.type.rust"},"2":{"name":"entity.name.type.trait.rust"}},"match":"\\\\b(trait)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.struct.rust storage.type.rust"},"2":{"name":"entity.name.type.struct.rust"}},"match":"\\\\b(struct)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.enum.rust storage.type.rust"},"2":{"name":"entity.name.type.enum.rust"}},"match":"\\\\b(enum)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.type.rust storage.type.rust"},"2":{"name":"entity.name.type.declaration.rust"}},"match":"\\\\b(type)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"match":"\\\\b_?[A-Z][0-9A-Z_a-z]*\\\\b(?!!)","name":"entity.name.type.rust"}]},"variables":{"patterns":[{"match":"\\\\b(?tV});var eV,tV,Fw=s1(()=>{eV=Object.freeze(JSON.parse('{"displayName":"C#","name":"csharp","patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#directives"},{"include":"#declarations"},{"include":"#script-top-level"}],"repository":{"accessor-getter":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"contentName":"meta.accessor.getter.cs","end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},{"include":"#accessor-getter-expression"},{"include":"#punctuation-semicolon"}]},"accessor-getter-expression":{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"contentName":"meta.accessor.getter.cs","end":"(?=[;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"accessor-setter":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"contentName":"meta.accessor.setter.cs","end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"contentName":"meta.accessor.setter.cs","end":"(?=[;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},{"include":"#punctuation-semicolon"}]},"anonymous-method-expression":{"patterns":[{"begin":"((?:\\\\b(?:async|static)\\\\b\\\\s*)*)(?:(@?[_[:alpha:]][_[:alnum:]]*)\\\\b|(\\\\()(?(?:[^()]|\\\\(\\\\g\\\\))*)(\\\\)))\\\\s*(=>)","beginCaptures":{"1":{"patterns":[{"match":"async|static","name":"storage.modifier.$0.cs"}]},"2":{"name":"entity.name.variable.parameter.cs"},"3":{"name":"punctuation.parenthesis.open.cs"},"4":{"patterns":[{"include":"#comment"},{"include":"#explicit-anonymous-function-parameter"},{"include":"#implicit-anonymous-function-parameter"},{"include":"#default-argument"},{"include":"#punctuation-comma"}]},"5":{"name":"punctuation.parenthesis.close.cs"},"6":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#intrusive"},{"begin":"(?=\\\\{)","end":"(?=[),;}])","patterns":[{"include":"#block"},{"include":"#intrusive"}]},{"begin":"\\\\b(ref)\\\\b|(?=\\\\S)","beginCaptures":{"1":{"name":"storage.modifier.ref.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#expression"}]}]},{"begin":"((?:\\\\b(?:async|static)\\\\b\\\\s*)*)\\\\b(delegate)\\\\b\\\\s*","beginCaptures":{"1":{"patterns":[{"match":"async|static","name":"storage.modifier.$0.cs"}]},"2":{"name":"storage.type.delegate.cs"}},"end":"(?<=})|(?=[),;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#explicit-anonymous-function-parameter"},{"include":"#punctuation-comma"}]},{"include":"#block"}]}]},"anonymous-object-creation-expression":{"begin":"\\\\b(new)\\\\b\\\\s*(?=\\\\{|//|/\\\\*|$)","beginCaptures":{"1":{"name":"keyword.operator.expression.new.cs"}},"end":"(?<=})","patterns":[{"include":"#comment"},{"include":"#initializer-expression"}]},"argument":{"patterns":[{"match":"\\\\b(ref|in)\\\\b","name":"storage.modifier.$1.cs"},{"begin":"\\\\b(out)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.out.cs"}},"end":"(?=[]),])","patterns":[{"include":"#declaration-expression-local"},{"include":"#expression"}]},{"include":"#expression"}]},"argument-list":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#named-argument"},{"include":"#argument"},{"include":"#punctuation-comma"}]},"array-creation-expression":{"begin":"\\\\b(new|stackalloc)\\\\b\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\*\\\\s*)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)?\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"patterns":[{"include":"#type"}]}},"end":"(?<=])","patterns":[{"include":"#bracketed-argument-list"}]},"as-expression":{"captures":{"1":{"name":"keyword.operator.expression.as.cs"},"2":{"patterns":[{"include":"#type"}]}},"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?(?!\\\\?))?(?:\\\\s*\\\\[\\\\s*(?:,\\\\s*)*](?:\\\\s*\\\\?(?!\\\\?))?)*)?"},"assignment-expression":{"begin":"(?:[-%*+/]|\\\\?\\\\?|[\\\\&^]|<<|>>>?|\\\\|)?=(?![=>])","beginCaptures":{"0":{"patterns":[{"include":"#assignment-operators"}]}},"end":"(?=[]),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"assignment-operators":{"patterns":[{"match":"(?:[-%*+/]|\\\\?\\\\?)=","name":"keyword.operator.assignment.compound.cs"},{"match":"(?:[\\\\&^]|<<|>>>?|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.cs"},{"match":"=","name":"keyword.operator.assignment.cs"}]},"attribute":{"patterns":[{"include":"#type-name"},{"include":"#type-arguments"},{"include":"#attribute-arguments"}]},"attribute-arguments":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#attribute-named-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"attribute-named-argument":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?==)","beginCaptures":{"1":{"name":"entity.name.variable.property.cs"}},"end":"(?=([),]))","patterns":[{"include":"#operator-assignment"},{"include":"#expression"}]},"attribute-section":{"begin":"(\\\\[)(assembly|module|field|event|method|param|property|return|typevar|type)?(:)?","beginCaptures":{"1":{"name":"punctuation.squarebracket.open.cs"},"2":{"name":"keyword.other.attribute-specifier.cs"},"3":{"name":"punctuation.separator.colon.cs"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute"},{"include":"#punctuation-comma"}]},"await-expression":{"match":"(?[^()<>]|\\\\((?:[^()<>]|<[^()<>]*>|\\\\([^()<>]*\\\\))*\\\\)|<\\\\g*>)*>\\\\s*)?(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"entity.name.type.cs"},"4":{"patterns":[{"include":"#type-arguments"}]}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"base-types":{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\\\{|where|;)","patterns":[{"include":"#base-class-constructor-call"},{"include":"#type"},{"include":"#punctuation-comma"},{"include":"#preprocessor"}]},"block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},"boolean-literal":{"patterns":[{"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(\\\\))(?=\\\\s*-*!*@?[(_[:alnum:]])"},"casted-constant-pattern":{"begin":"(\\\\()([.:@_\\\\s[:alnum:]]+)(\\\\))(?=[-!+~\\\\s]*@?[\\"\'(_[:alnum:]]+)","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"},"2":{"patterns":[{"include":"#type-builtin"},{"include":"#type-name"}]},"3":{"name":"punctuation.parenthesis.close.cs"}},"end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#casted-constant-pattern"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#constant-pattern"}]},{"include":"#constant-pattern"},{"captures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(::)"},{"captures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(\\\\.)"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"variable.other.constant.cs"}]},"catch-clause":{"begin":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(?:(\\\\g)\\\\b)?"}]},{"include":"#when-clause"},{"include":"#comment"},{"include":"#block"}]},"char-character-escape":{"match":"\\\\\\\\(x\\\\h{1,4}|u\\\\h{4}|.)","name":"constant.character.escape.cs"},"char-literal":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.char.begin.cs"}},"end":"(\')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.char.end.cs"},"2":{"name":"invalid.illegal.newline.cs"}},"name":"string.quoted.single.cs","patterns":[{"include":"#char-character-escape"}]},"class-declaration":{"begin":"(?=(\\\\brecord\\\\b\\\\s+)?\\\\bclass\\\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(\\\\b(record)\\\\b\\\\s+)?\\\\b(class)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*","beginCaptures":{"2":{"name":"storage.type.record.cs"},"3":{"name":"storage.type.class.cs"},"4":{"name":"entity.name.type.class.cs"}},"end":"(?=\\\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#parenthesized-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#class-or-struct-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"class-or-struct-members":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#type-declarations"},{"include":"#constructor-declaration"},{"include":"#property-declaration"},{"include":"#fixed-size-buffer-declaration"},{"include":"#field-declaration"},{"include":"#event-declaration"},{"include":"#indexer-declaration"},{"include":"#variable-initializer"},{"include":"#destructor-declaration"},{"include":"#operator-declaration"},{"include":"#conversion-operator-declaration"},{"include":"#method-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"combinator-pattern":{"match":"\\\\b(and|or|not)\\\\b","name":"keyword.operator.expression.pattern.combinator.$1.cs"},"comment":{"patterns":[{"begin":"(^\\\\s+)?(///)(?!/)","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"name":"comment.block.documentation.cs","patterns":[{"include":"#xml-doc-comment"}],"while":"^(\\\\s*)(///)(?!/)"},{"begin":"(^\\\\s+)?(/\\\\*\\\\*)(?!/)","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"end":"(^\\\\s+)?(\\\\*/)","name":"comment.block.documentation.cs","patterns":[{"begin":"\\\\G(?=(?~\\\\*/)$)","patterns":[{"include":"#xml-doc-comment"}],"while":"^(\\\\s*+)(\\\\*(?!/))?(?=(?~\\\\*/)$)","whileCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}}},{"include":"#xml-doc-comment"}]},{"begin":"(^\\\\s+)?(//).*$","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"name":"comment.line.double-slash.cs","while":"^(\\\\s*)(//).*$"},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.cs"}},"end":"\\\\*/","name":"comment.block.cs"}]},"conditional-operator":{"patterns":[{"match":"\\\\?(?!\\\\?|\\\\s*[.\\\\[])","name":"keyword.operator.conditional.question-mark.cs"},{"match":":","name":"keyword.operator.conditional.colon.cs"}]},"constant-pattern":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#char-literal"},{"include":"#string-literal"},{"include":"#raw-string-literal"},{"include":"#verbatim-string-literal"},{"include":"#type-operator-expression"},{"include":"#expression-operator-expression"},{"include":"#expression-operators"},{"include":"#casted-constant-pattern"}]},"constructor-declaration":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?=\\\\(|$)","beginCaptures":{"1":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\\\{|=>)","patterns":[{"include":"#constructor-initializer"}]},{"include":"#parenthesized-parameter-list"},{"include":"#preprocessor"},{"include":"#comment"},{"include":"#expression-body"},{"include":"#block"}]},"constructor-initializer":{"begin":"\\\\b(base|this)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"variable.language.$1.cs"}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"context-control-paren-statement":{"patterns":[{"include":"#fixed-statement"},{"include":"#lock-statement"},{"include":"#using-statement"}]},"context-control-statement":{"match":"\\\\b(checked|unchecked|unsafe)\\\\b(?!\\\\s*[(@_[:alpha:]])","name":"keyword.control.context.$1.cs"},"conversion-operator-declaration":{"begin":"\\\\b(?(?:ex|im)plicit)\\\\s*\\\\b(?operator)\\\\s*(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"captures":{"1":{"name":"storage.modifier.explicit.cs"}},"match":"\\\\b(explicit)\\\\b"},{"captures":{"1":{"name":"storage.modifier.implicit.cs"}},"match":"\\\\b(implicit)\\\\b"}]},"2":{"name":"storage.type.operator.cs"},"3":{"patterns":[{"include":"#type"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"declaration-expression-local":{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.local.cs"}},"match":"(?:\\\\b(var)\\\\b|(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\b\\\\s*(?=[]),])"},"declaration-expression-tuple":{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.tuple-element.cs"}},"match":"(?:\\\\b(var)\\\\b|(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\b\\\\s*(?=[),])"},"declarations":{"patterns":[{"include":"#namespace-declaration"},{"include":"#type-declarations"},{"include":"#punctuation-semicolon"}]},"default-argument":{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[),])","patterns":[{"include":"#expression"}]},"default-literal-expression":{"captures":{"1":{"name":"keyword.operator.expression.default.cs"}},"match":"\\\\b(default)\\\\b"},"delegate-declaration":{"begin":"\\\\b(delegate)\\\\b\\\\s+(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)\\\\s*(<([^<>]+)>)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.type.delegate.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.type.delegate.cs"},"8":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"}]},"designation-pattern":{"patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#punctuation-comma"},{"include":"#designation-pattern"}]},{"include":"#simple-designation-pattern"}]},"destructor-declaration":{"begin":"(~)(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.tilde.cs"},"2":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"directives":{"patterns":[{"include":"#extern-alias-directive"},{"include":"#using-directive"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"discard-pattern":{"match":"_(?![_[:alnum:]])","name":"variable.language.discard.cs"},"do-statement":{"begin":"(?)\\\\s*)?(?:(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*)?(?:(\\\\?)\\\\s*)?(?=\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"variable.other.object.property.cs"},"5":{"name":"keyword.operator.null-conditional.cs"}},"end":"(?<=])(?!\\\\s*\\\\[)","patterns":[{"include":"#bracketed-argument-list"}]},"else-part":{"begin":"(?|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.type.accessor.$1.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-setter"}]}]},"event-declaration":{"begin":"\\\\b(event)\\\\b\\\\s*(?(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(\\\\g)\\\\s*(?=[,;={]|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.type.event.cs"},"2":{"patterns":[{"include":"#type"}]},"8":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"9":{"name":"entity.name.variable.event.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#event-accessors"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.event.cs"},{"include":"#punctuation-comma"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.cs"}},"end":"(?<=,)|(?=;)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]}]},"explicit-anonymous-function-parameter":{"captures":{"1":{"name":"storage.modifier.$1.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.parameter.cs"}},"match":"(?:\\\\b(ref|params|out|in)\\\\b\\\\s*)?(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?<(?:[^<>]|\\\\g)*>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)*\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*\\\\b(\\\\g)\\\\b"},"expression":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#expression-operator-expression"},{"include":"#type-operator-expression"},{"include":"#default-literal-expression"},{"include":"#throw-expression"},{"include":"#raw-interpolated-string"},{"include":"#interpolated-string"},{"include":"#verbatim-interpolated-string"},{"include":"#type-builtin"},{"include":"#language-variable"},{"include":"#switch-statement-or-expression"},{"include":"#with-expression"},{"include":"#conditional-operator"},{"include":"#assignment-expression"},{"include":"#expression-operators"},{"include":"#await-expression"},{"include":"#query-expression"},{"include":"#as-expression"},{"include":"#is-expression"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#anonymous-method-expression"},{"include":"#object-creation-expression"},{"include":"#array-creation-expression"},{"include":"#anonymous-object-creation-expression"},{"include":"#invocation-expression"},{"include":"#member-access-expression"},{"include":"#element-access-expression"},{"include":"#cast-expression"},{"include":"#literal"},{"include":"#parenthesized-expression"},{"include":"#tuple-deconstruction-assignment"},{"include":"#initializer-expression"},{"include":"#identifier"}]},"expression-body":{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"expression-operator-expression":{"begin":"\\\\b(checked|unchecked|nameof)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},"expression-operators":{"patterns":[{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.cs"},{"match":"[!=]=","name":"keyword.operator.comparison.cs"},{"match":"<=|>=|[<>]","name":"keyword.operator.relational.cs"},{"match":"!|&&|\\\\|\\\\|","name":"keyword.operator.logical.cs"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cs"},{"match":"--","name":"keyword.operator.decrement.cs"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.cs"},{"match":"\\\\+|-(?!>)|[%*/]","name":"keyword.operator.arithmetic.cs"},{"match":"\\\\?\\\\?","name":"keyword.operator.null-coalescing.cs"},{"match":"\\\\.\\\\.","name":"keyword.operator.range.cs"}]},"extern-alias-directive":{"begin":"\\\\b(extern)\\\\s+(alias)\\\\b","beginCaptures":{"1":{"name":"keyword.other.directive.extern.cs"},"2":{"name":"keyword.other.directive.alias.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"variable.other.alias.cs"}]},"field-declaration":{"begin":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)\\\\s*(?!=[=>])(?=[,;=]|$)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.field.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.field.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"},{"include":"#class-or-struct-members"}]},"finally-clause":{"begin":"(?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*)\\\\s+(\\\\g)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"storage.modifier.fixed.cs"},"2":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.field.cs"}},"end":"(?=;)","patterns":[{"include":"#bracketed-argument-list"},{"include":"#comment"}]},"fixed-statement":{"begin":"\\\\b(fixed)\\\\b","beginCaptures":{"1":{"name":"keyword.control.context.fixed.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#local-variable-declaration"}]}]},"for-statement":{"begin":"\\\\b(for)\\\\b","beginCaptures":{"1":{"name":"keyword.control.loop.for.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"begin":"(?=[^);])","end":"(?=[);])","patterns":[{"include":"#intrusive"},{"include":"#local-variable-declaration"},{"include":"#local-tuple-var-deconstruction"},{"include":"#tuple-deconstruction-assignment"},{"include":"#expression"}]},{"begin":"(?=;)","end":"(?=\\\\))","patterns":[{"include":"#intrusive"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]}]}]},"foreach-statement":{"begin":"\\\\b(foreach)\\\\b","beginCaptures":{"1":{"name":"keyword.control.loop.foreach.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"captures":{"1":{"name":"storage.modifier.ref.cs"},"2":{"name":"storage.type.var.cs"},"3":{"patterns":[{"include":"#type"}]},"8":{"name":"entity.name.variable.local.cs"},"9":{"name":"keyword.control.loop.in.cs"}},"match":"(?:(?:\\\\b(ref)\\\\s+)?\\\\b(var)\\\\b|(?(?:ref\\\\s+)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\s+\\\\b(in)\\\\b"},{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]},"3":{"name":"keyword.control.loop.in.cs"}},"match":"(?:\\\\b(var)\\\\b\\\\s*)?(?\\\\((?:[^()]|\\\\g)+\\\\))\\\\s+\\\\b(in)\\\\b"},{"include":"#expression"}]}]},"generic-constraints":{"begin":"(where)\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)","beginCaptures":{"1":{"name":"storage.modifier.where.cs"},"2":{"name":"entity.name.type.type-parameter.cs"},"3":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\\\{|where|;|=>)","patterns":[{"match":"\\\\bclass\\\\b","name":"storage.type.class.cs"},{"match":"\\\\bstruct\\\\b","name":"storage.type.struct.cs"},{"match":"\\\\bdefault\\\\b","name":"keyword.other.constraint.default.cs"},{"match":"\\\\bnotnull\\\\b","name":"keyword.other.constraint.notnull.cs"},{"match":"\\\\bunmanaged\\\\b","name":"keyword.other.constraint.unmanaged.cs"},{"captures":{"1":{"name":"keyword.operator.expression.new.cs"},"2":{"name":"punctuation.parenthesis.open.cs"},"3":{"name":"punctuation.parenthesis.close.cs"}},"match":"(new)\\\\s*(\\\\()\\\\s*(\\\\))"},{"include":"#type"},{"include":"#punctuation-comma"},{"include":"#generic-constraints"}]},"goto-statement":{"begin":"(?(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(?this)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"variable.language.this.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#bracketed-parameter-list"},{"include":"#property-accessors"},{"include":"#accessor-getter-expression"},{"include":"#variable-initializer"}]},"initializer-expression":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"interface-declaration":{"begin":"(?=\\\\binterface\\\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(interface)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"storage.type.interface.cs"},"2":{"name":"entity.name.type.interface.cs"}},"end":"(?=\\\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#interface-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"interface-members":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#property-declaration"},{"include":"#event-declaration"},{"include":"#indexer-declaration"},{"include":"#method-declaration"},{"include":"#operator-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"interpolated-string":{"begin":"\\\\$\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"(\\")|([^\\\\n\\\\\\\\{])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.cs"},"2":{"name":"invalid.illegal.newline.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#string-character-escape"},{"include":"#interpolation"}]},"interpolation":{"begin":"(?<=[^{]|^)((?:\\\\{\\\\{)*)(\\\\{)(?!\\\\{)","beginCaptures":{"1":{"name":"string.quoted.double.cs"},"2":{"name":"punctuation.definition.interpolation.begin.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.interpolation.end.cs"}},"name":"meta.embedded.interpolation.cs","patterns":[{"include":"#expression"}]},"intrusive":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"}]},"invocation-expression":{"begin":"(?:(?:(\\\\?)\\\\s*)?(\\\\.)\\\\s*|(->)\\\\s*)?(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(<(?[^()<>]|\\\\((?:[^()<>]|<[^()<>]*>|\\\\([^()<>]*\\\\))*\\\\)|<\\\\g*>)*>\\\\s*)?(?=\\\\()","beginCaptures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"entity.name.function.cs"},"5":{"patterns":[{"include":"#type-arguments"}]}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"is-expression":{"begin":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)?\\\\s+(\\\\g)\\\\b\\\\s*\\\\b(in)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.join.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.range-variable.cs"},"8":{"name":"keyword.operator.expression.query.in.cs"}},"end":"(?=[);])","patterns":[{"include":"#join-on"},{"include":"#join-equals"},{"include":"#join-into"},{"include":"#query-body"},{"include":"#expression"}]},"join-equals":{"captures":{"1":{"name":"keyword.operator.expression.query.equals.cs"}},"match":"\\\\b(equals)\\\\b\\\\s*"},"join-into":{"captures":{"1":{"name":"keyword.operator.expression.query.into.cs"},"2":{"name":"entity.name.variable.range-variable.cs"}},"match":"\\\\b(into)\\\\b\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*"},"join-on":{"captures":{"1":{"name":"keyword.operator.expression.query.on.cs"}},"match":"\\\\b(on)\\\\b\\\\s*"},"labeled-statement":{"captures":{"1":{"name":"entity.name.label.cs"},"2":{"name":"punctuation.separator.colon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)"},"language-variable":{"patterns":[{"match":"\\\\b(base|this)\\\\b","name":"variable.language.$1.cs"},{"match":"\\\\b(value)\\\\b","name":"variable.other.$1.cs"}]},"let-clause":{"begin":"\\\\b(let)\\\\b\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.let.cs"},"2":{"name":"entity.name.variable.range-variable.cs"},"3":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[);])","patterns":[{"include":"#query-body"},{"include":"#expression"}]},"list-pattern":{"begin":"(?=\\\\[)","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.cs"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#pattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=])","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#simple-designation-pattern"}]}]},"literal":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#char-literal"},{"include":"#raw-string-literal"},{"include":"#string-literal"},{"include":"#verbatim-string-literal"},{"include":"#tuple-literal"}]},"local-constant-declaration":{"begin":"\\\\b(?const)\\\\b\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)\\\\s*(?=[,;=])","beginCaptures":{"1":{"name":"storage.modifier.const.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.local.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.local.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}]},"local-declaration":{"patterns":[{"include":"#local-constant-declaration"},{"include":"#local-variable-declaration"},{"include":"#local-function-declaration"},{"include":"#local-tuple-var-deconstruction"},{"include":"#local-tuple-declaration-deconstruction"}]},"local-function-declaration":{"begin":"\\\\b((?:(?:async|unsafe|static|extern)\\\\s+)*)(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?)?(?:\\\\s*\\\\[\\\\s*(?:,\\\\s*)*](?:\\\\s*\\\\?)?)*)\\\\s+(\\\\g)\\\\s*(<[^<>]+>)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#storage-modifier"}]},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.function.cs"},"8":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"},{"include":"#expression-body"},{"include":"#block"}]},"local-tuple-declaration-deconstruction":{"captures":{"1":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]}},"match":"(?\\\\((?:[^()]|\\\\g)+\\\\))\\\\s*(?!=[=>])(?==)"},"local-tuple-var-deconstruction":{"begin":"\\\\b(var)\\\\b\\\\s*(?\\\\((?:[^()]|\\\\g)+\\\\))\\\\s*(?=[);=])","beginCaptures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]}},"end":"(?=[);])","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}]},"local-variable-declaration":{"begin":"(?:(?:\\\\b(ref)\\\\s+(?:\\\\b(readonly)\\\\s+)?)?\\\\b(var)\\\\b|(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\*\\\\s*)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\s*(?!=>)(?=[),;=])","beginCaptures":{"1":{"name":"storage.modifier.ref.cs"},"2":{"name":"storage.modifier.readonly.cs"},"3":{"name":"storage.type.var.cs"},"4":{"patterns":[{"include":"#type"}]},"9":{"name":"entity.name.variable.local.cs"}},"end":"(?=[);}])","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.local.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}]},"lock-statement":{"begin":"\\\\b(lock)\\\\b","beginCaptures":{"1":{"name":"keyword.control.context.lock.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#expression"}]}]},"member-access-expression":{"patterns":[{"captures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"variable.other.object.property.cs"}},"match":"(?:(?:(\\\\?)\\\\s*)?(\\\\.)\\\\s*|(->)\\\\s*)(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?![(_[:alnum:]]|(\\\\?)?\\\\[|<)"},{"captures":{"1":{"name":"punctuation.accessor.cs"},"2":{"name":"variable.other.object.cs"},"3":{"patterns":[{"include":"#type-arguments"}]}},"match":"(\\\\.)?\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)(?\\\\s*<([^<>]|\\\\g)+>\\\\s*)(?=(\\\\s*\\\\?)?\\\\s*\\\\.\\\\s*@?[_[:alpha:]][_[:alnum:]]*)"},{"captures":{"1":{"name":"variable.other.object.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)(?=\\\\s*(?:(?:\\\\?\\\\s*)?\\\\.|->)\\\\s*@?[_[:alpha:]][_[:alnum:]]*)"}]},"method-declaration":{"begin":"(?(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(\\\\g)\\\\s*(<([^<>]+)>)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"entity.name.function.cs"},"9":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"},{"include":"#expression-body"},{"include":"#block"}]},"named-argument":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.variable.parameter.cs"},"2":{"name":"punctuation.separator.colon.cs"}},"end":"(?=([]),]))","patterns":[{"include":"#argument"}]},"namespace-declaration":{"begin":"\\\\b(namespace)\\\\s+","beginCaptures":{"1":{"name":"storage.type.namespace.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.namespace.cs"},{"include":"#punctuation-accessor"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#declarations"},{"include":"#using-directive"},{"include":"#punctuation-semicolon"}]}]},"null-literal":{"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(?=\\\\{|//|/\\\\*|$)"},"object-creation-expression-with-parameters":{"begin":"(new)(?:\\\\s+(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))?\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.new.cs"},"2":{"patterns":[{"include":"#type"}]}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"operator-assignment":{"match":"(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*\\\\b(?operator)\\\\b\\\\s*(?[-!%\\\\&*+/<=>^|~]+|true|false)\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"storage.type.operator.cs"},"7":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"orderby-clause":{"begin":"\\\\b(orderby)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.orderby.cs"}},"end":"(?=[);])","patterns":[{"include":"#ordering-direction"},{"include":"#query-body"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"ordering-direction":{"captures":{"1":{"name":"keyword.operator.expression.query.$1.cs"}},"match":"\\\\b((?:a|de)scending)\\\\b"},"parameter":{"captures":{"1":{"name":"storage.modifier.$1.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.parameter.cs"}},"match":"(?:\\\\b(ref|params|out|in|this)\\\\b\\\\s+)?(?(?:ref\\\\s+)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)"},"parenthesized-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},"parenthesized-parameter-list":{"begin":"(\\\\()","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute-section"},{"include":"#parameter"},{"include":"#punctuation-comma"},{"include":"#variable-initializer"}]},"parenthesized-type-list":{"begin":"(\\\\()","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#type"},{"include":"#punctuation-comma"}]},"pattern":{"patterns":[{"include":"#intrusive"},{"include":"#combinator-pattern"},{"include":"#discard-pattern"},{"include":"#constant-pattern"},{"include":"#relational-pattern"},{"include":"#var-pattern"},{"include":"#type-pattern"},{"include":"#positional-pattern"},{"include":"#property-pattern"},{"include":"#list-pattern"},{"include":"#slice-pattern"}]},"positional-pattern":{"begin":"(?=\\\\()","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#subpattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=\\\\))","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#property-pattern"},{"include":"#simple-designation-pattern"}]}]},"preprocessor":{"begin":"^\\\\s*(#)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.hash.cs"}},"end":"(?<=$)","name":"meta.preprocessor.cs","patterns":[{"include":"#preprocessor-comment"},{"include":"#preprocessor-define-or-undef"},{"include":"#preprocessor-if-or-elif"},{"include":"#preprocessor-else-or-endif"},{"include":"#preprocessor-warning-or-error"},{"include":"#preprocessor-region"},{"include":"#preprocessor-endregion"},{"include":"#preprocessor-load"},{"include":"#preprocessor-r"},{"include":"#preprocessor-line"},{"include":"#preprocessor-pragma-warning"},{"include":"#preprocessor-pragma-checksum"},{"include":"#preprocessor-app-directive"}]},"preprocessor-app-directive":{"begin":"\\\\s*(:)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"end":"(?=$)","patterns":[{"include":"#preprocessor-app-directive-package"},{"include":"#preprocessor-app-directive-property"},{"include":"#preprocessor-app-directive-exclude"},{"include":"#preprocessor-app-directive-include"},{"include":"#preprocessor-app-directive-project"},{"include":"#preprocessor-app-directive-ref"},{"include":"#preprocessor-app-directive-sdk"},{"include":"#preprocessor-app-directive-generic"}]},"preprocessor-app-directive-exclude":{"captures":{"1":{"name":"keyword.preprocessor.exclude.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(exclude)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-generic":{"captures":{"1":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(.*)?\\\\s*"},"preprocessor-app-directive-include":{"captures":{"1":{"name":"keyword.preprocessor.include.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(include)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-package":{"captures":{"1":{"name":"keyword.preprocessor.package.cs"},"2":{"patterns":[{"include":"#preprocessor-app-directive-package-name"}]},"3":{"name":"punctuation.separator.at.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(package)\\\\b\\\\s*([_[:alpha:]][._[:alnum:]]*)?(@)?(.*)?\\\\s*"},"preprocessor-app-directive-package-name":{"patterns":[{"captures":{"1":{"name":"punctuation.dot.cs"},"2":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"(\\\\.)([_[:alpha:]][_[:alnum:]]*)"},{"match":"[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.preprocessor.symbol.cs"}]},"preprocessor-app-directive-project":{"captures":{"1":{"name":"keyword.preprocessor.project.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(project)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-property":{"captures":{"1":{"name":"keyword.preprocessor.property.cs"},"2":{"name":"entity.name.variable.preprocessor.symbol.cs"},"3":{"name":"punctuation.separator.equals.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(property)\\\\b\\\\s*([_[:alpha:]][_[:alnum:]]*)?(=)?(.*)?\\\\s*"},"preprocessor-app-directive-ref":{"captures":{"1":{"name":"keyword.preprocessor.ref.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(ref)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-sdk":{"captures":{"1":{"name":"keyword.preprocessor.sdk.cs"},"2":{"patterns":[{"include":"#preprocessor-app-directive-package-name"}]},"3":{"name":"punctuation.separator.at.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(sdk)\\\\b\\\\s*([_[:alpha:]][._[:alnum:]]*)?(@)?(.*)?\\\\s*"},"preprocessor-comment":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.cs"}},"match":"(//).*(?=$)","name":"comment.line.double-slash.cs"},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.cs"}},"end":"\\\\*/","name":"comment.block.cs"}]},"preprocessor-define-or-undef":{"captures":{"1":{"name":"keyword.preprocessor.define.cs"},"2":{"name":"keyword.preprocessor.undef.cs"},"3":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"\\\\b(?:(define)|(undef))\\\\b\\\\s*\\\\b([_[:alpha:]][_[:alnum:]]*)\\\\b"},"preprocessor-else-or-endif":{"captures":{"1":{"name":"keyword.preprocessor.else.cs"},"2":{"name":"keyword.preprocessor.endif.cs"}},"match":"\\\\b(?:(else)|(endif))\\\\b"},"preprocessor-endregion":{"captures":{"1":{"name":"keyword.preprocessor.endregion.cs"}},"match":"\\\\b(endregion)\\\\b"},"preprocessor-expression":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#preprocessor-expression"}]},{"captures":{"1":{"name":"constant.language.boolean.true.cs"},"2":{"name":"constant.language.boolean.false.cs"},"3":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"\\\\b(?:(true)|(false)|([_[:alpha:]][_[:alnum:]]*))\\\\b"},{"captures":{"1":{"name":"keyword.operator.comparison.cs"},"2":{"name":"keyword.operator.logical.cs"}},"match":"([!=]=)|(!|&&|\\\\|\\\\|)"}]},"preprocessor-if-or-elif":{"begin":"\\\\b(?:(if)|(elif))\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.if.cs"},"2":{"name":"keyword.preprocessor.elif.cs"}},"end":"(?=$)","patterns":[{"include":"#preprocessor-comment"},{"include":"#preprocessor-expression"}]},"preprocessor-line":{"begin":"\\\\b(line)\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.line.cs"}},"end":"(?=$)","patterns":[{"captures":{"1":{"name":"keyword.preprocessor.default.cs"},"2":{"name":"keyword.preprocessor.hidden.cs"}},"match":"\\\\b(default|hidden)"},{"captures":{"0":{"name":"constant.numeric.decimal.cs"}},"match":"[0-9]+"},{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\\"[^\\"]*\\""}]},"preprocessor-load":{"begin":"\\\\b(load)\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.load.cs"}},"end":"(?=$)","patterns":[{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\\"[^\\"]*\\""}]},"preprocessor-pragma-checksum":{"captures":{"1":{"name":"keyword.preprocessor.pragma.cs"},"2":{"name":"keyword.preprocessor.checksum.cs"},"3":{"name":"string.quoted.double.cs"},"4":{"name":"string.quoted.double.cs"},"5":{"name":"string.quoted.double.cs"}},"match":"\\\\b(pragma)\\\\b\\\\s*\\\\b(checksum)\\\\b\\\\s*(\\"[^\\"]*\\")\\\\s*(\\"[^\\"]*\\")\\\\s*(\\"[^\\"]*\\")"},"preprocessor-pragma-warning":{"captures":{"1":{"name":"keyword.preprocessor.pragma.cs"},"2":{"name":"keyword.preprocessor.warning.cs"},"3":{"name":"keyword.preprocessor.disable.cs"},"4":{"name":"keyword.preprocessor.restore.cs"},"5":{"patterns":[{"captures":{"0":{"name":"constant.numeric.decimal.cs"}},"match":"[0-9]+"},{"include":"#punctuation-comma"}]}},"match":"\\\\b(pragma)\\\\b\\\\s*\\\\b(warning)\\\\b\\\\s*\\\\b(?:(disable)|(restore))\\\\b(\\\\s*[0-9]+(?:\\\\s*,\\\\s*[0-9]+)?)?"},"preprocessor-r":{"begin":"\\\\b(r)\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.r.cs"}},"end":"(?=$)","patterns":[{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\\"[^\\"]*\\""}]},"preprocessor-region":{"captures":{"1":{"name":"keyword.preprocessor.region.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(region)\\\\b\\\\s*(.*)(?=$)"},"preprocessor-warning-or-error":{"captures":{"1":{"name":"keyword.preprocessor.warning.cs"},"2":{"name":"keyword.preprocessor.error.cs"},"3":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(?:(warning)|(error))\\\\b\\\\s*(.*)(?=$)"},"property-accessors":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute-section"},{"match":"\\\\b(private|protected|internal)\\\\b","name":"storage.modifier.$1.cs"},{"begin":"(?:\\\\b(readonly)\\\\s+)?\\\\b(get)\\\\b\\\\s*(?=[;{]|=>|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.modifier.readonly.cs"},"2":{"name":"storage.type.accessor.get.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-getter"}]},{"begin":"\\\\b(set|init)\\\\b\\\\s*(?=[;{]|=>|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.type.accessor.$1.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-setter"}]}]},"property-declaration":{"begin":"(?![[:word:]\\\\s]*\\\\b(?:class|interface|struct|union|enum|event)\\\\b)(?(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(?\\\\g)\\\\s*(?=\\\\{|=>|//|/\\\\*|$)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"entity.name.variable.property.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#property-accessors"},{"include":"#accessor-getter-expression"},{"include":"#variable-initializer"},{"include":"#class-or-struct-members"}]},"property-pattern":{"begin":"(?=\\\\{)","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#subpattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=})","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#simple-designation-pattern"}]}]},"punctuation-accessor":{"match":"\\\\.","name":"punctuation.accessor.cs"},"punctuation-comma":{"match":",","name":"punctuation.separator.comma.cs"},"punctuation-semicolon":{"match":";","name":"punctuation.terminator.statement.cs"},"query-body":{"patterns":[{"include":"#let-clause"},{"include":"#where-clause"},{"include":"#join-clause"},{"include":"#orderby-clause"},{"include":"#select-clause"},{"include":"#group-clause"}]},"query-expression":{"begin":"\\\\b(from)\\\\b\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)?\\\\s+(\\\\g)\\\\b\\\\s*\\\\b(in)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.from.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.range-variable.cs"},"8":{"name":"keyword.operator.expression.query.in.cs"}},"end":"(?=[);])","patterns":[{"include":"#query-body"},{"include":"#expression"}]},"raw-interpolated-string":{"patterns":[{"include":"#raw-interpolated-string-five-or-more-quote-one-or-more-interpolation"},{"include":"#raw-interpolated-string-three-or-more-quote-three-or-more-interpolation"},{"include":"#raw-interpolated-string-quadruple-quote-double-interpolation"},{"include":"#raw-interpolated-string-quadruple-quote-single-interpolation"},{"include":"#raw-interpolated-string-triple-quote-double-interpolation"},{"include":"#raw-interpolated-string-triple-quote-single-interpolation"}]},"raw-interpolated-string-five-or-more-quote-one-or-more-interpolation":{"begin":"\\\\$+\\"\\"\\"\\"\\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"\\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-interpolated-string-quadruple-quote-double-interpolation":{"begin":"\\\\$\\\\$\\"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#double-raw-interpolation"}]},"raw-interpolated-string-quadruple-quote-single-interpolation":{"begin":"\\\\$\\"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#raw-interpolation"}]},"raw-interpolated-string-three-or-more-quote-three-or-more-interpolation":{"begin":"\\\\$\\\\$\\\\$+\\"\\"\\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-interpolated-string-triple-quote-double-interpolation":{"begin":"\\\\$\\\\$\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#double-raw-interpolation"}]},"raw-interpolated-string-triple-quote-single-interpolation":{"begin":"\\\\$\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#raw-interpolation"}]},"raw-interpolation":{"begin":"(?<=[^{]|^)(\\\\{*)(\\\\{)(?!\\\\{)","beginCaptures":{"1":{"name":"string.quoted.double.cs"},"2":{"name":"punctuation.definition.interpolation.begin.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.interpolation.end.cs"}},"name":"meta.embedded.interpolation.cs","patterns":[{"include":"#expression"}]},"raw-string-literal":{"patterns":[{"include":"#raw-string-literal-more"},{"include":"#raw-string-literal-quadruple"},{"include":"#raw-string-literal-triple"}]},"raw-string-literal-more":{"begin":"\\"\\"\\"\\"\\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"\\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-string-literal-quadruple":{"begin":"\\"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-string-literal-triple":{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"readonly-modifier":{"match":"\\\\breadonly\\\\b","name":"storage.modifier.readonly.cs"},"record-declaration":{"begin":"(?=\\\\brecord\\\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(record)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"storage.type.record.cs"},"2":{"name":"entity.name.type.class.cs"}},"end":"(?=\\\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#parenthesized-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#class-or-struct-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"ref-modifier":{"match":"\\\\bref\\\\b","name":"storage.modifier.ref.cs"},"relational-pattern":{"begin":"<=?|>=?","beginCaptures":{"0":{"name":"keyword.operator.relational.cs"}},"end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#expression"}]},"return-statement":{"begin":"(?","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[,}])","patterns":[{"include":"#expression"}]},{"begin":"\\\\b(when)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.when.cs"}},"end":"(?==>|[,}])","patterns":[{"include":"#case-guard"}]},{"begin":"(?!\\\\s)","end":"(?=\\\\bwhen\\\\b|=>|[,}])","patterns":[{"include":"#pattern"}]}]},"switch-label":{"begin":"\\\\b(case|default)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.$1.cs"}},"end":"(:)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"patterns":[{"begin":"\\\\b(when)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.when.cs"}},"end":"(?=[:}])","patterns":[{"include":"#case-guard"}]},{"begin":"(?!\\\\s)","end":"(?=\\\\bwhen\\\\b|[:}])","patterns":[{"include":"#pattern"}]}]},"switch-statement":{"patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#switch-label"},{"include":"#statement"}]}]},"switch-statement-or-expression":{"begin":"(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\))\\\\s*(?!=[=>])(?==)"},"tuple-deconstruction-element-list":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#tuple-deconstruction-element-list"},{"include":"#declaration-expression-tuple"},{"include":"#punctuation-comma"},{"captures":{"1":{"name":"variable.other.readwrite.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*(?=[),])"}]},"tuple-element":{"captures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.tuple-element.cs"}},"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)(?:(?\\\\g)\\\\b)?"},"tuple-literal":{"begin":"(\\\\()(?=.*[,:])","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#tuple-literal-element"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"tuple-literal-element":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?=:)","beginCaptures":{"1":{"name":"entity.name.variable.tuple-element.cs"}},"end":"(:)","endCaptures":{"0":{"name":"punctuation.separator.colon.cs"}}},"tuple-type":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#tuple-element"},{"include":"#punctuation-comma"}]},"type":{"patterns":[{"include":"#comment"},{"include":"#ref-modifier"},{"include":"#readonly-modifier"},{"include":"#tuple-type"},{"include":"#type-builtin"},{"include":"#type-name"},{"include":"#type-arguments"},{"include":"#type-array-suffix"},{"include":"#type-nullable-suffix"},{"include":"#type-pointer-suffix"}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.cs"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.cs"}},"patterns":[{"include":"#type"},{"include":"#punctuation-comma"}]},"type-array-suffix":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.cs"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#punctuation-comma"}]},"type-builtin":{"captures":{"1":{"name":"keyword.type.$1.cs"}},"match":"\\\\b(bool|s?byte|u?short|n?u?int|u?long|float|double|decimal|char|string|object|void|dynamic)\\\\b"},"type-declarations":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#class-declaration"},{"include":"#delegate-declaration"},{"include":"#enum-declaration"},{"include":"#interface-declaration"},{"include":"#struct-declaration"},{"include":"#union-declaration"},{"include":"#record-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"type-name":{"patterns":[{"captures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(::)"},{"captures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(\\\\.)"},{"captures":{"1":{"name":"punctuation.accessor.cs"},"2":{"name":"entity.name.type.cs"}},"match":"(\\\\.)\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},"type-nullable-suffix":{"match":"\\\\?","name":"punctuation.separator.question-mark.cs"},"type-operator-expression":{"begin":"\\\\b(default|sizeof|typeof)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#type"}]},"type-parameter-list":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.cs"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.cs"}},"patterns":[{"match":"\\\\b(in|out)\\\\b","name":"storage.modifier.$1.cs"},{"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\b","name":"entity.name.type.type-parameter.cs"},{"include":"#comment"},{"include":"#punctuation-comma"},{"include":"#attribute-section"}]},"type-pattern":{"begin":"(?=@?[_[:alpha:]][_[:alnum:]]*)","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\G","end":"(?!\\\\G[@_[:alpha:]])(?=[]\\\\&(),:;=@^_{|}[:alpha:]]|(?:\\\\s|^)\\\\?|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#type-subpattern"}]},{"begin":"(?=[(@_{[:alpha:]])","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#positional-pattern"},{"include":"#property-pattern"},{"include":"#simple-designation-pattern"}]}]},"type-pointer-suffix":{"match":"\\\\*","name":"punctuation.separator.asterisk.cs"},"type-subpattern":{"patterns":[{"include":"#type-builtin"},{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(::)","beginCaptures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"end":"(?<=[_[:alnum:]])|(?=[]\\\\&(),.:-=?\\\\[^{|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"},{"begin":"\\\\.","beginCaptures":{"0":{"name":"punctuation.accessor.cs"}},"end":"(?<=[_[:alnum:]])|(?=[]\\\\&(),:-=?\\\\[^{|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},{"include":"#type-arguments"},{"include":"#type-array-suffix"},{"match":"(?])","beginCaptures":{"1":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[]),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"verbatim-interpolated-string":{"begin":"(?:\\\\$@|@\\\\$)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"(?=[^\\"])","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#verbatim-string-character-escape"},{"include":"#interpolation"}]},"verbatim-string-character-escape":{"match":"\\"\\"","name":"constant.character.escape.cs"},"verbatim-string-literal":{"begin":"@\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"(?=[^\\"])","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#verbatim-string-character-escape"}]},"when-clause":{"begin":"(?","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.unquoted.cdata.cs"},"xml-character-entity":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.constant.cs"},"3":{"name":"punctuation.definition.constant.cs"}},"match":"(&)([:_[:alpha:]][-.:_[:alnum:]]*|#\\\\d+|#x\\\\h+)(;)","name":"constant.character.entity.cs"},{"match":"&","name":"invalid.illegal.bad-ampersand.cs"}]},"xml-comment":{"begin":"","endCaptures":{"0":{"name":"punctuation.definition.comment.cs"}},"name":"comment.block.cs"},"xml-doc-comment":{"patterns":[{"include":"#xml-comment"},{"include":"#xml-character-entity"},{"include":"#xml-cdata"},{"include":"#xml-tag"}]},"xml-string":{"patterns":[{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.single.cs","patterns":[{"include":"#xml-character-entity"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#xml-character-entity"}]}]},"xml-tag":{"begin":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.cs"}},"name":"meta.tag.cs","patterns":[{"include":"#xml-attribute"}]},"yield-break-statement":{"captures":{"1":{"name":"keyword.control.flow.yield.cs"},"2":{"name":"keyword.control.flow.break.cs"}},"match":"(?aV});var nV,aV,Hw=s1(()=>{nV=Object.freeze(JSON.parse('{"displayName":"Kotlin","fileTypes":["kt","kts"],"name":"kotlin","patterns":[{"include":"#import"},{"include":"#package"},{"include":"#code"}],"repository":{"annotation-simple":{"match":"(?<([^<>]|\\\\g)+>)?"},"code":{"patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#annotation-simple"},{"include":"#annotation-site-list"},{"include":"#annotation-site"},{"include":"#class-declaration"},{"include":"#object"},{"include":"#type-alias"},{"include":"#function"},{"include":"#variable-declaration"},{"include":"#type-constraint"},{"include":"#type-annotation"},{"include":"#function-call"},{"include":"#method-reference"},{"include":"#key"},{"include":"#string"},{"include":"#string-empty"},{"include":"#string-multiline"},{"include":"#character"},{"include":"#lambda-arrow"},{"include":"#operators"},{"include":"#self-reference"},{"include":"#decimal-literal"},{"include":"#hex-literal"},{"include":"#binary-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"}]},"comment-block":{"begin":"/\\\\*(?!\\\\*)","end":"\\\\*/","name":"comment.block.kotlin"},"comment-javadoc":{"patterns":[{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.javadoc.kotlin","patterns":[{"match":"@(return|constructor|receiver|sample|see|author|since|suppress)\\\\b","name":"keyword.other.documentation.javadoc.kotlin"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"variable.parameter.kotlin"}},"match":"(@p(?:aram|roperty))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"variable.parameter.kotlin"}},"match":"(@param)\\\\[(\\\\S+)]"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"entity.name.type.class.kotlin"}},"match":"(@(?:exception|throws))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"entity.name.type.class.kotlin"},"3":{"name":"variable.parameter.kotlin"}},"match":"\\\\{(@link)\\\\s+(\\\\S+)?#([$\\\\w]+\\\\s*\\\\([^()]*\\\\)).*}"}]}]},"comment-line":{"begin":"//","end":"$","name":"comment.line.double-slash.kotlin"},"comments":{"patterns":[{"include":"#comment-line"},{"include":"#comment-block"},{"include":"#comment-javadoc"}]},"control-keywords":{"match":"\\\\b(if|else|while|do|when|try|throw|break|continue|return|for)\\\\b","name":"keyword.control.kotlin"},"decimal-literal":{"match":"\\\\b\\\\d[_\\\\d]*(\\\\.[_\\\\d]+)?(([Ee])\\\\d+)?([Uu])?([FLf])?\\\\b","name":"constant.numeric.decimal.kotlin"},"function":{"captures":{"1":{"name":"keyword.hard.fun.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]},"4":{"name":"entity.name.type.class.extension.kotlin"},"5":{"name":"entity.name.function.declaration.kotlin"}},"match":"\\\\b(fun)\\\\b\\\\s*(?<([^<>]|\\\\g)+>)?\\\\s*(?:(?:(\\\\w+)\\\\.)?(\\\\b\\\\w+\\\\b|`[^`]+`))?"},"function-call":{"captures":{"1":{"name":"entity.name.function.call.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]}},"match":"\\\\??\\\\.?(\\\\b\\\\w+\\\\b|`[^`]+`)\\\\s*(?<([^<>]|\\\\g)+>)?\\\\s*(?=[({])"},"hard-keywords":{"match":"\\\\b(as|typeof|is|in)\\\\b","name":"keyword.hard.kotlin"},"hex-literal":{"match":"0([Xx])\\\\h[_\\\\h]*([Uu])?","name":"constant.numeric.hex.kotlin"},"import":{"begin":"\\\\b(import)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.soft.kotlin"}},"contentName":"entity.name.package.kotlin","end":";|$","name":"meta.import.kotlin","patterns":[{"include":"#comments"},{"include":"#hard-keywords"},{"match":"\\\\*","name":"variable.language.wildcard.kotlin"}]},"key":{"captures":{"1":{"name":"variable.parameter.kotlin"},"2":{"name":"keyword.operator.assignment.kotlin"}},"match":"\\\\b(\\\\w=)\\\\s*(=)"},"keywords":{"patterns":[{"include":"#prefix-modifiers"},{"include":"#postfix-modifiers"},{"include":"#soft-keywords"},{"include":"#hard-keywords"},{"include":"#control-keywords"}]},"lambda-arrow":{"match":"->","name":"storage.type.function.arrow.kotlin"},"method-reference":{"captures":{"1":{"name":"entity.name.function.reference.kotlin"}},"match":"\\\\??::(\\\\b\\\\w+\\\\b|`[^`]+`)"},"null-literal":{"match":"\\\\bnull\\\\b","name":"constant.language.null.kotlin"},"object":{"captures":{"1":{"name":"keyword.hard.object.kotlin"},"2":{"name":"entity.name.type.object.kotlin"}},"match":"\\\\b(object)(?:\\\\s+(\\\\b\\\\w+\\\\b|`[^`]+`))?"},"operators":{"patterns":[{"match":"(===?|!==?|<=|>=|[<>])","name":"keyword.operator.comparison.kotlin"},{"match":"([-%*+/]=)","name":"keyword.operator.assignment.arithmetic.kotlin"},{"match":"(=)","name":"keyword.operator.assignment.kotlin"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.kotlin"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.kotlin"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.kotlin"},{"match":"(\\\\.\\\\.)","name":"keyword.operator.range.kotlin"}]},"package":{"begin":"\\\\b(package)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.hard.package.kotlin"}},"contentName":"entity.name.package.kotlin","end":";|$","name":"meta.package.kotlin","patterns":[{"include":"#comments"}]},"postfix-modifiers":{"match":"\\\\b(where|by|get|set)\\\\b","name":"storage.modifier.other.kotlin"},"prefix-modifiers":{"match":"\\\\b(abstract|final|enum|open|annotation|sealed|data|override|final|lateinit|private|protected|public|internal|inner|companion|noinline|crossinline|vararg|reified|tailrec|operator|infix|inline|external|const|suspend|value)\\\\b","name":"storage.modifier.other.kotlin"},"self-reference":{"match":"\\\\b(this|super)(@\\\\w+)?\\\\b","name":"variable.language.this.kotlin"},"soft-keywords":{"match":"\\\\b(init|catch|finally|field)\\\\b","name":"keyword.soft.kotlin"},"string":{"begin":"(?<([^<>]|\\\\g)+>)?"},"type-annotation":{"captures":{"0":{"patterns":[{"include":"#type-parameter"}]}},"match":"(?|(?[(<]([^\\"\'()<>]|\\\\g)+[)>]))+"},"type-parameter":{"patterns":[{"match":"\\\\b\\\\w+\\\\b","name":"entity.name.type.kotlin"},{"match":"\\\\b(in|out)\\\\b","name":"storage.modifier.kotlin"}]},"unescaped-annotation":{"match":"\\\\b[.\\\\w]+\\\\b","name":"entity.name.type.annotation.kotlin"},"variable-declaration":{"captures":{"1":{"name":"keyword.hard.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]}},"match":"\\\\b(va[lr])\\\\b\\\\s*(?<([^<>]|\\\\g)+>)?"}},"scopeName":"source.kotlin","aliases":["kt","kts"]}')),aV=[nV]});var Nw={};h1(Nw,{default:()=>rV});var iV,rV,Tw=s1(()=>{iV=Object.freeze(JSON.parse('{"displayName":"Swift","fileTypes":["swift"],"firstLineMatch":"^#!/.*\\\\bswift","name":"swift","patterns":[{"include":"#root"}],"repository":{"async-throws":{"captures":{"1":{"name":"invalid.illegal.await-must-precede-throws.swift"},"2":{"name":"storage.modifier.exception.swift"},"3":{"name":"storage.modifier.async.swift"}},"match":"\\\\b(?:((?:throws\\\\s+|rethrows\\\\s+)async)|((?:|re)throws)|(async))\\\\b"},"attributes":{"patterns":[{"begin":"((@)available)(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.attribute.available.swift","patterns":[{"captures":{"1":{"name":"keyword.other.platform.os.swift"},"2":{"name":"constant.numeric.swift"}},"match":"\\\\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b(?:\\\\s+([0-9]+(?:\\\\.[0-9]+)*)\\\\b)?"},{"begin":"\\\\b((?:introduc|deprecat|obsolet)ed)\\\\s*(:)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"match":"\\\\b[0-9]+(?:\\\\.[0-9]+)*\\\\b","name":"constant.numeric.swift"}]},{"begin":"\\\\b(message|renamed)\\\\s*(:)\\\\s*(?=\\")","beginCaptures":{"1":{"name":"keyword.other.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#literals"}]},{"captures":{"1":{"name":"keyword.other.platform.all.swift"},"2":{"name":"keyword.other.swift"},"3":{"name":"invalid.illegal.character-not-allowed-here.swift"}},"match":"(?:(\\\\*)|\\\\b(deprecated|unavailable|noasync)\\\\b)\\\\s*(.*?)(?=[),])"}]},{"begin":"((@)objc)(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.attribute.objc.swift","patterns":[{"captures":{"1":{"name":"invalid.illegal.missing-colon-after-selector-piece.swift"}},"match":"\\\\w*(?::(?:\\\\w*:)*(\\\\w*))?","name":"entity.name.function.swift"}]},{"begin":"(@)(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)","beginCaptures":{"0":{"name":"storage.modifier.attribute.swift"},"1":{"name":"punctuation.definition.attribute.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G\\\\()","name":"meta.attribute.swift","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.arguments.attribute.swift","patterns":[{"include":"#expressions"}]}]}]},"builtin-functions":{"patterns":[{"match":"(?<=\\\\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a[px]))(?=\\\\s*[({])\\\\b","name":"support.function.swift"},{"match":"(?<=\\\\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:|OrPinned)Reference|as(?:Suf|Pre)fix)|ne(?:gated?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:R|Unr)etainedValue|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:R|Unr)etained|re(?:decessor|fix))|e(?:scaped?|n(?:code|umerated?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:(?:Backward|)From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:(?:R|Subr)ange)?|versed?|quest(?:Native|UniqueMutableBacking)Buffer|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\\\\s*\\\\()","name":"support.function.swift"},{"match":"(?<=\\\\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\\\\s*\\\\()","name":"support.function.swift"}]},"builtin-global-functions":{"patterns":[{"begin":"\\\\b(type)(\\\\()\\\\s*(of)(:)","beginCaptures":{"1":{"name":"support.function.dynamic-type.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"},"3":{"name":"support.variable.parameter.swift"},"4":{"name":"punctuation.separator.argument-label.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"include":"#expressions"}]},{"match":"\\\\ba(?:nyGenerator|utoreleasepool)(?=\\\\s*[({])\\\\b","name":"support.function.swift"},{"match":"\\\\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:Mutable|)Pointer|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\\\\s*\\\\()","name":"support.function.swift"},{"match":"\\\\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:Mutable|)Pointers|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\\\\s*\\\\()","name":"support.function.swift"}]},"builtin-properties":{"patterns":[{"match":"(?<=(?:^|\\\\W)(?:Process\\\\.|CommandLine\\\\.))(arguments|argc|unsafeArgv)","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:|bugDe)scription|u(?:n(?:safelyUnwrapped|icodeScalars?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|values?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzero|rmal)Magnitude|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\\\\b","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\\\\b","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\\\\b","name":"support.variable.swift"}]},"builtin-types":{"patterns":[{"include":"#builtin-types-builtin-class-type"},{"include":"#builtin-types-builtin-enum-type"},{"include":"#builtin-types-builtin-protocol-type"},{"include":"#builtin-types-builtin-struct-type"},{"include":"#builtin-types-builtin-typealias"},{"match":"\\\\bAny\\\\b","name":"support.type.any.swift"}]},"builtin-types-builtin-class-type":{"match":"\\\\b(Managed((?:|Proto)Buffer)|NonObjectiveCBase|AnyGenerator)\\\\b","name":"support.class.swift"},"builtin-types-builtin-enum-type":{"patterns":[{"match":"\\\\b(?:CommandLine|Process(?=\\\\.))\\\\b","name":"support.constant.swift"},{"match":"\\\\bNever\\\\b","name":"support.constant.never.swift"},{"match":"\\\\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:MirrorDisposition|QuickLookObject)\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-protocol-type":{"patterns":[{"match":"\\\\bActor\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ide|eam)able|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflecta|StringConverti|DebugStringConverti|PlaygroundQuickLooka|LeafReflecta)ble|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:Sequence|Collection)Protocol)|A(?:nyObject|bsoluteValuable))\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Ran(?:domAccessIndex|geReplaceableCollection)Type|GeneratorType|M(?:irror(?:|Path)Type|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperations|directionalIndex)Type|oolean(?:Type|LiteralConvertible))|S(?:tring(?:Interpolation|Literal)Convertible|i(?:nk|gned(?:Numb|Integ)er)Type|e(?:tAlgebra|quence)Type|liceable)|NilLiteralConvertible|C(?:ollection|VarArg)Type|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStream|ptionSet)Type|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-struct-type":{"patterns":[{"match":"\\\\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccess|Bidirectional|)Slice|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccess|geReplaceable(?:RandomAccess|Bidirectional|))|Bidirectional|)Slice|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:(?:Gen|It)erator)?|o(?:(?:Gen|It)erator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:|Closed)Range|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Gen|It)erator)?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccess|Bidirectional|)Indices)|U(?:n(?:safe(?:RawPointer|Mutable(?:Raw|Buffer|)Pointer|BufferPointer(?:(?:Gen|It)erator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-typealias":{"patterns":[{"match":"\\\\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam[12]))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lements?|x(?:tendedGraphemeCluster(?:|Literal)Type|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Generator|PlaygroundQuickLook|UWord|Word)\\\\b","name":"support.type.swift"}]},"code-block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.swift"}},"patterns":[{"include":"$self"}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.swift"}},"match":"\\\\A^(#!).*$\\\\n?","name":"comment.line.number-sign.swift"},{"begin":"/\\\\*\\\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.documentation.swift","patterns":[{"include":"#comments-nested"}]},{"begin":"/\\\\*:","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.documentation.playground.swift","patterns":[{"include":"#comments-nested"}]},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.swift","patterns":[{"include":"#comments-nested"}]},{"match":"\\\\*/","name":"invalid.illegal.unexpected-end-of-block-comment.swift"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.swift"}},"end":"(?!\\\\G)","patterns":[{"begin":"///","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.triple-slash.documentation.swift"},{"begin":"//:","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.double-slash.documentation.swift"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.double-slash.swift"}]}]},"comments-nested":{"begin":"/\\\\*","end":"\\\\*/","patterns":[{"include":"#comments-nested"}]},"compiler-control":{"patterns":[{"begin":"^\\\\s*(#)(if|elseif)\\\\s+(false)\\\\b.*?(?=$|//|/\\\\*)","beginCaptures":{"0":{"name":"meta.preprocessor.conditional.swift"},"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"},"3":{"name":"constant.language.boolean.swift"}},"contentName":"comment.block.preprocessor.swift","end":"(?=^\\\\s*(#(e(?:lseif|lse|ndif)))\\\\b)"},{"begin":"^\\\\s*(#)(if|elseif)\\\\s+","captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"}},"end":"(?=\\\\s*/[*/])|$","name":"meta.preprocessor.conditional.swift","patterns":[{"match":"(&&|\\\\|\\\\|)","name":"keyword.operator.logical.swift"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.swift"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"support.constant.platform.architecture.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(arch)\\\\s*(\\\\()\\\\s*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|\\\\w+)\\\\s*(\\\\))"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"support.constant.platform.os.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(os)\\\\s*(\\\\()\\\\s*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|\\\\w+)\\\\s*(\\\\))"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"entity.name.type.module.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(canImport)\\\\s*(\\\\()([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)(\\\\))"},{"begin":"\\\\b(targetEnvironment)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))|$","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"match":"\\\\b(simulator|UIKitForMac)\\\\b","name":"support.constant.platform.environment.swift"}]},{"begin":"\\\\b(swift|compiler)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))|$","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"match":">=|<","name":"keyword.operator.comparison.swift"},{"match":"\\\\b[0-9]+(?:\\\\.[0-9]+)*\\\\b","name":"constant.numeric.swift"}]}]},{"captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"},"3":{"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"match":"^\\\\s*(#)(e(?:lse|ndif))(.*?)(?=$|//|/\\\\*)","name":"meta.preprocessor.conditional.swift"},{"captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.sourcelocation.swift"},"4":{"name":"punctuation.definition.parameters.begin.swift"},"5":{"patterns":[{"begin":"(file)\\\\s*(:)\\\\s*(?=\\")","beginCaptures":{"1":{"name":"support.variable.parameter.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#literals"}]},{"captures":{"1":{"name":"support.variable.parameter.swift"},"2":{"name":"punctuation.separator.key-value.swift"},"3":{"name":"constant.numeric.integer.swift"}},"match":"(line)\\\\s*(:)\\\\s*([0-9]+)"},{"match":",","name":"punctuation.separator.parameters.swift"},{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"6":{"name":"punctuation.definition.parameters.begin.swift"},"7":{"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"match":"^\\\\s*(#)(sourceLocation)((\\\\()([^)]*)(\\\\)))(.*?)(?=$|//|/\\\\*)","name":"meta.preprocessor.sourcelocation.swift"}]},"conditionals":{"patterns":[{"begin":"(?^|~])(->)(?![-!%\\\\&*+./<=>^|~])"},{"captures":{"1":{"name":"keyword.operator.type.composition.swift"}},"match":"(?^|~])(&)(?![-!%\\\\&*+./<=>^|~])"},{"match":"[!?]","name":"keyword.operator.type.optional.swift"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.function.variadic-parameter.swift"},{"match":"\\\\bprotocol\\\\b","name":"keyword.other.type.composition.swift"},{"match":"(?<=\\\\.)(?:Protocol|Type)\\\\b","name":"keyword.other.type.metatype.swift"},{"include":"#declarations-available-types-tuple-type"},{"include":"#declarations-available-types-collection-type"},{"include":"#declarations-generic-argument-clause"}]},"declarations-available-types-collection-type":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.collection-type.begin.swift"}},"end":"]|(?=[)>{}])","endCaptures":{"0":{"name":"punctuation.section.collection-type.end.swift"}},"patterns":[{"include":"#declarations-available-types"},{"include":"#literals-numeric"},{"match":"\\\\b_\\\\b","name":"support.variable.inferred.swift"},{"match":"(?<=\\\\s)\\\\bof\\\\b(?=\\\\s+[(\\\\[_\\\\p{L}\\\\d\\\\p{N}\\\\p{M}])","name":"keyword.other.inline-array.swift"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.key-value.swift"}},"end":"(?=[])>{}])","patterns":[{"match":":","name":"invalid.illegal.extra-colon-in-dictionary-type.swift"},{"include":"#declarations-available-types"}]}]},"declarations-available-types-tuple-type":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.tuple-type.begin.swift"}},"end":"\\\\)|(?=[]>{}])","endCaptures":{"0":{"name":"punctuation.section.tuple-type.end.swift"}},"patterns":[{"include":"#declarations-available-types"}]},"declarations-extension":{"begin":"\\\\b(extension)\\\\s+","beginCaptures":{"1":{"name":"storage.type.$1.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"begin":"\\\\G(?!\\\\s*[\\\\n:{])","end":"(?=\\\\s*[\\\\n:{])|(?!\\\\G)(?=\\\\s*where\\\\b)","name":"entity.name.type.swift","patterns":[{"include":"#declarations-available-types"}]},{"include":"#comments"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function":{"begin":"\\\\b(func)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)|(?:((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g|\\\\g|\\\\.)+)))\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})|$","name":"meta.definition.function.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.function.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.function.end.swift"}},"name":"meta.definition.function.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function-initializer":{"begin":"(?^|~])(->)(?![-!%\\\\&*+./<=>^|~])\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.function-result.swift"}},"end":"(?!\\\\G)(?=\\\\{|\\\\bwhere\\\\b|[;=])|$","name":"meta.function-result.swift","patterns":[{"match":"\\\\bsending\\\\b","name":"storage.modifier.swift"},{"include":"#declarations-available-types"}]},"declarations-function-subscript":{"begin":"(?|(?=[]){}])","endCaptures":{"0":{"name":"punctuation.separator.generic-argument-clause.end.swift"}},"name":"meta.generic-argument-clause.swift","patterns":[{"include":"#literals-numeric"},{"include":"#declarations-available-types"}]},"declarations-generic-parameter-clause":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.separator.generic-parameter-clause.begin.swift"}},"end":">|(?=[^\\\\&,:<=>`\\\\w\\\\d\\\\s])","endCaptures":{"0":{"name":"punctuation.separator.generic-parameter-clause.end.swift"}},"name":"meta.generic-parameter-clause.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause"},{"match":"\\\\blet\\\\b","name":"keyword.other.declaration-specifier.swift"},{"match":"\\\\beach\\\\b","name":"keyword.control.loop.swift"},{"captures":{"1":{"name":"variable.language.generic-parameter.swift"}},"match":"\\\\b((?!\\\\d)\\\\w[\\\\w\\\\d]*)\\\\b"},{"match":",","name":"punctuation.separator.generic-parameters.swift"},{"begin":"(:)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.generic-parameter-constraint.swift"}},"end":"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.generic-parameter-constraint.swift","patterns":[{"begin":"\\\\G","end":"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)","name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-type-identifier"},{"include":"#declarations-type-operators"}]}]}]},"declarations-generic-where-clause":{"begin":"\\\\b(where)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.generic-constraint-introducer.swift"}},"end":"(?!\\\\G)$|(?=[\\\\n;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause-requirement-list"}]},"declarations-generic-where-clause-requirement-list":{"begin":"\\\\G|,\\\\s*","end":"(?=[\\\\n,;>{}]|//|/\\\\*)","patterns":[{"include":"#comments"},{"include":"#constraint"},{"include":"#declarations-available-types"},{"begin":"(?^|~])(==)(?![-!%\\\\&*+./<=>^|~])","beginCaptures":{"1":{"name":"keyword.operator.generic-constraint.same-type.swift"}},"end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.same-type-requirement.swift","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(?^|~])(:)(?![-!%\\\\&*+./<=>^|~])","beginCaptures":{"1":{"name":"keyword.operator.generic-constraint.conforms-to.swift"}},"end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.conformance-requirement.swift","patterns":[{"begin":"\\\\G\\\\s*","contentName":"entity.other.inherited-class.swift","end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","patterns":[{"include":"#declarations-available-types"}]}]}]},"declarations-import":{"begin":"(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)","name":"entity.name.type.swift"},{"match":"(?<=\\\\G|\\\\.)\\\\$[0-9]+","name":"entity.name.type.swift"},{"captures":{"1":{"patterns":[{"match":"\\\\.","name":"invalid.illegal.dot-not-allowed-here.swift"}]}},"match":"(?<=\\\\G|\\\\.)(?:((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g|\\\\g|\\\\.)+))(?=[.;]|$|//|/\\\\*|\\\\s)","name":"entity.name.type.swift"},{"match":"\\\\.","name":"punctuation.separator.import.swift"},{"begin":"(?!\\\\s*(;|$|//|/\\\\*))","end":"(?=\\\\s*(;|$|//|/\\\\*))","name":"invalid.illegal.character-not-allowed-here.swift"}]}]},"declarations-inheritance-clause":{"begin":"(:)(?=\\\\s*\\\\{)|(:)\\\\s*","beginCaptures":{"1":{"name":"invalid.illegal.empty-inheritance-clause.swift"},"2":{"name":"punctuation.separator.inheritance-clause.swift"}},"end":"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.inheritance-clause.swift","patterns":[{"begin":"\\\\bclass\\\\b","beginCaptures":{"0":{"name":"storage.type.class.swift"}},"end":"(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause-more-types"}]},{"begin":"\\\\G","end":"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","patterns":[{"include":"#attributes"},{"include":"#comments"},{"include":"#declarations-inheritance-clause-inherited-type"},{"include":"#declarations-inheritance-clause-more-types"},{"include":"#declarations-type-operators"}]}]},"declarations-inheritance-clause-inherited-type":{"begin":"(?=[_`\\\\p{L}])","end":"(?!\\\\G)","name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-type-identifier"}]},"declarations-inheritance-clause-more-types":{"begin":",\\\\s*","end":"(?!\\\\G)(?!/[*/])|(?=[,={}]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.inheritance-list.more-types","patterns":[{"include":"#attributes"},{"include":"#comments"},{"include":"#declarations-inheritance-clause-inherited-type"},{"include":"#declarations-inheritance-clause-more-types"},{"include":"#declarations-type-operators"}]},"declarations-macro":{"begin":"\\\\b(macro)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(?=[(<=])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"$|(?=;|//|/\\\\*|[=}])","name":"meta.definition.macro.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"}]},"declarations-operator":{"begin":"(?:\\\\b((?:pre|in|post)fix)\\\\s+)?\\\\b(operator)\\\\s+(((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|\\\\.|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*+)|(\\\\.(\\\\g|\\\\g|\\\\.)++))\\\\s*","beginCaptures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"storage.type.function.operator.swift"},"3":{"name":"entity.name.function.operator.swift"},"4":{"name":"entity.name.function.operator.swift","patterns":[{"match":"\\\\.","name":"invalid.illegal.dot-not-allowed-here.swift"}]}},"end":"(;)|$\\\\n?|(?=/[*/])","endCaptures":{"1":{"name":"punctuation.terminator.statement.swift"}},"name":"meta.definition.operator.swift","patterns":[{"include":"#declarations-operator-swift2"},{"include":"#declarations-operator-swift3"},{"match":"((?!$|;|//|/\\\\*)\\\\S)+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"declarations-operator-swift2":{"begin":"\\\\G(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.operator.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.operator.end.swift"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"keyword.other.operator.associativity.swift"}},"match":"\\\\b(associativity)\\\\s+(left|right)\\\\b"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"constant.numeric.integer.swift"}},"match":"\\\\b(precedence)\\\\s+([0-9]+)\\\\b"},{"captures":{"1":{"name":"storage.modifier.swift"}},"match":"\\\\b(assignment)\\\\b"}]},"declarations-operator-swift3":{"captures":{"2":{"name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-types-precedencegroup"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"\\\\G(:)\\\\s*((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))"},"declarations-parameter-clause":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))(?:\\\\s*(async)\\\\b)?","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"},"2":{"name":"storage.modifier.async.swift"}},"name":"meta.parameter-clause.swift","patterns":[{"include":"#declarations-parameter-list"}]},"declarations-parameter-list":{"patterns":[{"captures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"variable.parameter.function.swift"},"5":{"name":"punctuation.definition.identifier.swift"},"6":{"name":"punctuation.definition.identifier.swift"}},"match":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))(?=\\\\s*:)"},{"captures":{"1":{"name":"variable.parameter.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"(((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)))(?=\\\\s*:)"},{"begin":":\\\\s*(?!\\\\s)","end":"(?=[),])","patterns":[{"match":"\\\\bsending\\\\b","name":"storage.modifier.swift"},{"include":"#declarations-available-types"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.swift"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.swift"}},"end":"(?=[),])","patterns":[{"include":"#expressions"}]}]}]},"declarations-precedencegroup":{"begin":"\\\\b(precedencegroup)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.precedencegroup.swift"},"2":{"name":"entity.name.type.precedencegroup.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)","name":"meta.definition.precedencegroup.swift","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.precedencegroup.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.precedencegroup.end.swift"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-types-precedencegroup"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"\\\\b((?:high|low)erThan)\\\\s*:\\\\s*((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"keyword.other.operator.associativity.swift"}},"match":"\\\\b(associativity)\\\\b(?:\\\\s*:\\\\s*(right|left|none)\\\\b)?"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"constant.language.boolean.swift"}},"match":"\\\\b(assignment)\\\\b(?:\\\\s*:\\\\s*(true|false)\\\\b)?"}]}]},"declarations-protocol":{"begin":"\\\\b(protocol)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.protocol.swift","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause"},{"include":"#declarations-generic-where-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"#declarations-protocol-protocol-method"},{"include":"#declarations-protocol-protocol-initializer"},{"include":"#declarations-protocol-associated-type"},{"include":"$self"}]}]},"declarations-protocol-associated-type":{"begin":"\\\\b(associatedtype)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration-specifier.swift"},"2":{"name":"variable.language.associatedtype.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)$|(?=[;}]|$)","name":"meta.definition.associatedtype.swift","patterns":[{"include":"#declarations-inheritance-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-typealias-assignment"}]},"declarations-protocol-protocol-initializer":{"begin":"(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)|(?:((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g|\\\\g|\\\\.)+)))\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"$|(?=;|//|/\\\\*|})","name":"meta.definition.function.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.function.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.function.end.swift"}},"name":"invalid.illegal.function-body-not-allowed-in-protocol.swift","patterns":[{"include":"$self"}]}]},"declarations-type":{"patterns":[{"begin":"\\\\b(class(?!\\\\s+(?:func|var|let)\\\\b)|struct|actor)\\\\b\\\\s*((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"$self"}]}]},{"include":"#declarations-type-enum"}]},"declarations-type-enum":{"begin":"\\\\b(enum)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"#declarations-type-enum-enum-case-clause"},{"include":"$self"}]}]},"declarations-type-enum-associated-values":{"begin":"\\\\G\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"include":"#comments"},{"begin":"(?:(_)|((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k))\\\\s+(((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k))\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"invalid.illegal.distinct-labels-not-allowed.swift"},"5":{"name":"variable.parameter.function.swift"},"7":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k))\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"variable.parameter.function.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(?![]),])(?=\\\\S)","end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.swift"}]}]},"declarations-type-enum-enum-case":{"begin":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"variable.other.enummember.swift"}},"end":"(?<=\\\\))|(?![(=])","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-associated-values"},{"include":"#declarations-type-enum-raw-value-assignment"}]},"declarations-type-enum-enum-case-clause":{"begin":"\\\\b(case)\\\\b\\\\s*","beginCaptures":{"1":{"name":"storage.type.enum.case.swift"}},"end":"(?=[;}])|(?!\\\\G)(?!/[*/])(?=[^,\\\\s])","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-enum-case"},{"include":"#declarations-type-enum-more-cases"}]},"declarations-type-enum-more-cases":{"begin":",\\\\s*","end":"(?!\\\\G)(?!/[*/])(?=[;}[^,\\\\s]])","name":"meta.enum-case.more-cases","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-enum-case"},{"include":"#declarations-type-enum-more-cases"}]},"declarations-type-enum-raw-value-assignment":{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#comments"},{"include":"#literals"}]},"declarations-type-identifier":{"begin":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"meta.type-name.swift","patterns":[{"include":"#builtin-types"}]},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!<)","patterns":[{"begin":"(?=<)","end":"(?!\\\\G)","patterns":[{"include":"#declarations-generic-argument-clause"}]}]},"declarations-type-operators":{"patterns":[{"captures":{"1":{"name":"keyword.operator.type.composition.swift"}},"match":"(?^|~])(&)(?![-!%\\\\&*+./<=>^|~])"},{"captures":{"1":{"name":"keyword.operator.type.requirement-suppression.swift"}},"match":"(?^|~])(~)(?![-!%\\\\&*+./<=>^|~])"}]},"declarations-typealias":{"begin":"\\\\b(typealias)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration-specifier.swift"},"2":{"name":"entity.name.type.typealias.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)$|(?=;|//|/\\\\*|$)","name":"meta.definition.typealias.swift","patterns":[{"begin":"\\\\G(?=<)","end":"(?!\\\\G)","patterns":[{"include":"#declarations-generic-parameter-clause"}]},{"include":"#declarations-typealias-assignment"}]},"declarations-typealias-assignment":{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.swift"}},"end":"(?!\\\\G)$|(?=;|//|/\\\\*|$)","patterns":[{"include":"#declarations-available-types"}]},"declarations-typed-variable-declaration":{"begin":"\\\\b(?:(async)\\\\s+)?(let|var)\\\\b\\\\s+(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)\\\\s*:","beginCaptures":{"1":{"name":"storage.modifier.async.swift"},"2":{"name":"keyword.other.declaration-specifier.swift"}},"end":"(?=$|[={])","patterns":[{"include":"#declarations-available-types"}]},"declarations-types-precedencegroup":{"patterns":[{"match":"\\\\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\\\\b","name":"support.type.swift"}]},"expressions":{"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references"},{"include":"#expressions-trailing-closure"},{"include":"#member-reference"}]},"expressions-trailing-closure":{"patterns":[{"captures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"match":"(#?(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))(?=\\\\s*\\\\{)","name":"meta.function-call.trailing-closure-only.swift"},{"captures":{"1":{"name":"support.function.any-method.trailing-closure-label.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"match":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(:)(?=\\\\s*\\\\{)"}]},"expressions-without-trailing-closures":{"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references"},{"include":"#member-references"}]},"expressions-without-trailing-closures-or-member-references":{"patterns":[{"include":"#comments"},{"include":"#code-block"},{"include":"#attributes"},{"include":"#expressions-without-trailing-closures-or-member-references-closure-parameter"},{"include":"#literals"},{"include":"#operators"},{"include":"#builtin-types"},{"include":"#builtin-functions"},{"include":"#builtin-global-functions"},{"include":"#builtin-properties"},{"include":"#expressions-without-trailing-closures-or-member-references-compound-name"},{"include":"#conditionals"},{"include":"#keywords"},{"include":"#expressions-without-trailing-closures-or-member-references-availability-condition"},{"include":"#expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression"},{"include":"#expressions-without-trailing-closures-or-member-references-macro-expansion"},{"include":"#expressions-without-trailing-closures-or-member-references-subscript-expression"},{"include":"#expressions-without-trailing-closures-or-member-references-parenthesized-expression"},{"match":"\\\\b_\\\\b","name":"support.variable.discard-value.swift"}]},"expressions-without-trailing-closures-or-member-references-availability-condition":{"begin":"\\\\B(#(?:un)?available)(\\\\()","beginCaptures":{"1":{"name":"support.function.availability-condition.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"captures":{"1":{"name":"keyword.other.platform.os.swift"},"2":{"name":"constant.numeric.swift"}},"match":"\\\\s*\\\\b((?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b\\\\s+([0-9]+(?:\\\\.[0-9]+)*)\\\\b"},{"captures":{"1":{"name":"keyword.other.platform.all.swift"},"2":{"name":"invalid.illegal.character-not-allowed-here.swift"}},"match":"(\\\\*)\\\\s*(.*?)(?=[),])"},{"match":"[^),\\\\s]+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"expressions-without-trailing-closures-or-member-references-closure-parameter":{"match":"\\\\$[0-9]+","name":"variable.language.closure-parameter.swift"},"expressions-without-trailing-closures-or-member-references-compound-name":{"captures":{"1":{"name":"entity.name.function.compound-name.swift"},"2":{"name":"punctuation.definition.entity.swift"},"3":{"name":"punctuation.definition.entity.swift"},"4":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.swift"},"2":{"name":"punctuation.definition.entity.swift"}},"match":"(?`?)(?!_:)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k):","name":"entity.name.function.compound-name.swift"}]}},"match":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\(((((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)):)+)\\\\)"},"expressions-without-trailing-closures-or-member-references-expression-element-list":{"patterns":[{"include":"#comments"},{"begin":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(:)","beginCaptures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#expressions"}]},{"begin":"(?![]),])(?=\\\\S)","end":"(?=[]),])","patterns":[{"include":"#expressions"}]}]},"expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression":{"patterns":[{"begin":"(#?(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.function-call.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},{"begin":"(?<=[])>_`}\\\\p{L}\\\\p{N}\\\\p{M}])\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.function-call.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]}]},"expressions-without-trailing-closures-or-member-references-macro-expansion":{"match":"(#(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","name":"support.function.any-method.swift"},"expressions-without-trailing-closures-or-member-references-parenthesized-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.tuple.begin.swift"}},"end":"(\\\\))\\\\s*((?:\\\\b(?:async|throws|rethrows)\\\\s)*)","endCaptures":{"1":{"name":"punctuation.section.tuple.end.swift"},"2":{"patterns":[{"match":"\\\\brethrows\\\\b","name":"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift"},{"include":"#async-throws"}]}},"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"expressions-without-trailing-closures-or-member-references-subscript-expression":{"begin":"(?<=[_`\\\\p{L}\\\\p{N}\\\\p{M}])\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.subscript-expression.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"keywords":{"patterns":[{"match":"(?(?>(?:\\\\\\\\Q(?:(?!\\\\\\\\E)(?!/).)*+(?:\\\\\\\\E|(?=/))|\\\\\\\\.|\\\\(\\\\?#[^)]*\\\\)|\\\\(\\\\?(?>\\\\{(?:[^{].*?|\\\\{[^{].*?}|\\\\{\\\\{[^{].*?}}|\\\\{\\\\{\\\\{[^{].*?}}}|\\\\{\\\\{\\\\{\\\\{[^{].*?}}}}|\\\\{\\\\{\\\\{\\\\{\\\\{.+?}}}}})})(?:\\\\[(?!\\\\d)\\\\w+])?[<>X]?\\\\)|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\])+])+])+])+]|\\\\(\\\\g?+\\\\)|(?:(?!/)[^()\\\\[\\\\\\\\])+)+))?+(?(?>(?:\\\\\\\\Q(?:(?!\\\\\\\\E)(?!/\\\\2).)*+(?:\\\\\\\\E|(?=/\\\\2))|\\\\\\\\.|\\\\(\\\\?#[^)]*\\\\)|\\\\(\\\\?(?>\\\\{(?:[^{].*?|\\\\{[^{].*?}|\\\\{\\\\{[^{].*?}}|\\\\{\\\\{\\\\{[^{].*?}}}|\\\\{\\\\{\\\\{\\\\{[^{].*?}}}}|\\\\{\\\\{\\\\{\\\\{\\\\{.+?}}}}})})(?:\\\\[(?!\\\\d)\\\\w+])?[<>X]?\\\\)|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\])+])+])+])+]|\\\\(\\\\g?+\\\\)|(?:(?!/\\\\2)[^()\\\\[\\\\\\\\])+)+))?+(/\\\\2)|#+/.+(\\\\n)","name":"string.regexp.line.extended.swift"}]},"literals-regular-expression-literal-backreference-or-subpattern":{"patterns":[{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\g\\\\{)(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(})"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"constant.numeric.integer.decimal.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"}},"match":"(\\\\\\\\g)([-+]?\\\\d+)(?:([-+])(\\\\d+))?"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\[gk]<)(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(>)"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\[gk]\')(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(\')"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\k\\\\{)((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?(})"},{"match":"\\\\\\\\[1-9][0-9]+","name":"keyword.other.back-reference.regexp"},{"captures":{"1":{"name":"keyword.other.back-reference.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.other.back-reference.regexp"}},"match":"(\\\\(\\\\?(?:P[=>]|&))((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?(\\\\))"},{"match":"\\\\(\\\\?R\\\\)","name":"keyword.other.back-reference.regexp"},{"captures":{"1":{"name":"keyword.other.back-reference.regexp"},"2":{"name":"constant.numeric.integer.decimal.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.other.back-reference.regexp"}},"match":"(\\\\(\\\\?)([-+]?\\\\d+)(?:([-+])(\\\\d+))?(\\\\))"}]},"literals-regular-expression-literal-backtracking-directive-or-global-matching-option":{"captures":{"1":{"name":"keyword.control.directive.regexp"},"2":{"name":"keyword.control.directive.regexp"},"3":{"name":"keyword.control.directive.regexp"},"4":{"name":"variable.language.tag.regexp"},"5":{"name":"keyword.control.directive.regexp"},"6":{"name":"keyword.operator.assignment.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"keyword.control.directive.regexp"},"9":{"name":"keyword.control.directive.regexp"}},"match":"(\\\\(\\\\*)(?:(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)(?:(:)([^)]+))?|(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\\\\d+)|(CRLF|CR|ANYCRLF|ANY|LF|NUL|BSR_ANYCRLF|BSR_UNICODE|NOTEMPTY_ATSTART|NOTEMPTY|NO_AUTO_POSSESS|NO_DOTSTAR_ANCHOR|NO_JIT|NO_START_OPT|UTF|UCP))(\\\\))"},"literals-regular-expression-literal-callout":{"captures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.callout.regexp"},"3":{"name":"constant.numeric.integer.decimal.regexp"},"4":{"name":"entity.name.function.callout.regexp"},"5":{"name":"entity.name.function.callout.regexp"},"6":{"name":"entity.name.function.callout.regexp"},"7":{"name":"entity.name.function.callout.regexp"},"8":{"name":"entity.name.function.callout.regexp"},"9":{"name":"entity.name.function.callout.regexp"},"10":{"name":"entity.name.function.callout.regexp"},"11":{"name":"entity.name.function.callout.regexp"},"12":{"name":"punctuation.definition.group.regexp"},"13":{"name":"punctuation.definition.group.regexp"},"14":{"name":"keyword.control.callout.regexp"},"15":{"name":"entity.name.function.callout.regexp"},"16":{"name":"variable.language.tag-name.regexp"},"17":{"name":"punctuation.definition.group.regexp"},"18":{"name":"punctuation.definition.group.regexp"},"19":{"name":"keyword.control.callout.regexp"},"21":{"name":"variable.language.tag-name.regexp"},"22":{"name":"keyword.control.callout.regexp"},"23":{"name":"punctuation.definition.group.regexp"}},"match":"(\\\\()(?\\\\?C)(?:(?\\\\d+)|`(?(?:[^`]|``)*)`|\'(?(?:[^\']|\'\')*)\'|\\"(?(?:[^\\"]|\\"\\")*)\\"|\\\\^(?(?:[^^]|\\\\^\\\\^)*)\\\\^|%(?(?:[^%]|%%)*)%|#(?(?:[^#]|##)*)#|\\\\$(?(?:[^$]|\\\\$\\\\$)*)\\\\$|\\\\{(?(?:[^}]|}})*)})?(\\\\))|(\\\\()(?\\\\*)(?(?!\\\\d)\\\\w+)(?:\\\\[(?(?!\\\\d)\\\\w+)])?(?:\\\\{[^,}]+(?:,[^,}]+)*})?(\\\\))|(\\\\()(?\\\\?)(?>(\\\\{(?:\\\\g<20>|(?!\\\\{).*?)}))(?:\\\\[(?(?!\\\\d)\\\\w+)])?(?[<>X]?)(\\\\))","name":"meta.callout.regexp"},"literals-regular-expression-literal-character-properties":{"captures":{"1":{"name":"support.variable.character-property.regexp"},"2":{"name":"punctuation.definition.character-class.regexp"},"3":{"name":"support.variable.character-property.regexp"},"4":{"name":"punctuation.definition.character-class.regexp"}},"match":"\\\\\\\\[Pp]\\\\{([-\\\\s\\\\w]+(?:=[-\\\\s\\\\w]+)?)}|(\\\\[:)([-\\\\s\\\\w]+(?:=[-\\\\s\\\\w]+)?)(:])","name":"constant.other.character-class.set.regexp"},"literals-regular-expression-literal-custom-char-class":{"patterns":[{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"include":"#literals-regular-expression-literal-custom-char-class-members"}]}]},"literals-regular-expression-literal-custom-char-class-members":{"patterns":[{"match":"\\\\\\\\b","name":"constant.character.escape.backslash.regexp"},{"include":"#literals-regular-expression-literal-custom-char-class"},{"include":"#literals-regular-expression-literal-quote"},{"include":"#literals-regular-expression-literal-set-operators"},{"include":"#literals-regular-expression-literal-unicode-scalars"},{"include":"#literals-regular-expression-literal-character-properties"}]},"literals-regular-expression-literal-group-option-toggle":{"match":"\\\\(\\\\?(?:\\\\^(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*)\\\\)","name":"keyword.other.option-toggle.regexp"},"literals-regular-expression-literal-group-or-conditional":{"patterns":[{"begin":"(\\\\()(\\\\?~)","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.conditional.absent.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.absent.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},{"begin":"(\\\\()(?\\\\?\\\\()(?:(?(?[-+]?\\\\d+)(?:(?[-+])(?\\\\d+))?)|(?R)\\\\g?|(?R&)(?(?(?!\\\\d)\\\\w+)(?:(?[-+])(?\\\\d+))?)|(?<)(?:\\\\g|\\\\g)(?>)|(?\')(?:\\\\g|\\\\g)(?\')|(?DEFINE)|(?VERSION)(?>?=)(?\\\\d+\\\\.\\\\d+))(?\\\\))|(\\\\()(?\\\\?)(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.conditional.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.operator.recursion-level.regexp"},"6":{"name":"constant.numeric.integer.decimal.regexp"},"7":{"name":"keyword.control.conditional.regexp"},"8":{"name":"keyword.control.conditional.regexp"},"10":{"name":"variable.other.group-name.regexp"},"11":{"name":"keyword.operator.recursion-level.regexp"},"12":{"name":"constant.numeric.integer.decimal.regexp"},"13":{"name":"keyword.control.conditional.regexp"},"14":{"name":"keyword.control.conditional.regexp"},"15":{"name":"keyword.control.conditional.regexp"},"16":{"name":"keyword.control.conditional.regexp"},"17":{"name":"keyword.control.conditional.regexp"},"18":{"name":"keyword.control.conditional.regexp"},"19":{"name":"keyword.operator.comparison.regexp"},"20":{"name":"constant.numeric.integer.decimal.regexp"},"21":{"name":"keyword.control.conditional.regexp"},"22":{"name":"punctuation.definition.group.regexp"},"23":{"name":"keyword.control.conditional.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.conditional.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},{"begin":"(\\\\()((\\\\?)(?:([!*:=>|]|<[!*=])|P?<(?:((?!\\\\d)\\\\w+)(-))?((?!\\\\d)\\\\w+)>|\'(?:((?!\\\\d)\\\\w+)(-))?((?!\\\\d)\\\\w+)\'|(?:\\\\^(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*):)|\\\\*(atomic|pla|positive_lookahead|nla|negative_lookahead|plb|positive_lookbehind|nlb|negative_lookbehind|napla|non_atomic_positive_lookahead|naplb|non_atomic_positive_lookbehind|sr|script_run|asr|atomic_script_run):)?+","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.other.group-options.regexp"},"3":{"name":"punctuation.definition.group.regexp"},"4":{"name":"punctuation.definition.group.regexp"},"5":{"name":"variable.other.group-name.regexp"},"6":{"name":"keyword.operator.balancing-group.regexp"},"7":{"name":"variable.other.group-name.regexp"},"8":{"name":"variable.other.group-name.regexp"},"9":{"name":"keyword.operator.balancing-group.regexp"},"10":{"name":"variable.other.group-name.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]}]},"literals-regular-expression-literal-line-comment":{"captures":{"1":{"name":"punctuation.definition.comment.regexp"}},"match":"(#).*$","name":"comment.line.regexp"},"literals-regular-expression-literal-quote":{"begin":"\\\\\\\\Q","beginCaptures":{"0":{"name":"constant.character.escape.backslash.regexp"}},"end":"\\\\\\\\E|(\\\\n)","endCaptures":{"0":{"name":"constant.character.escape.backslash.regexp"},"1":{"name":"invalid.illegal.returns-not-allowed.regexp"}},"name":"string.quoted.other.regexp.swift"},"literals-regular-expression-literal-regex-guts":{"patterns":[{"include":"#literals-regular-expression-literal-quote"},{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.regexp"}},"name":"comment.block.regexp"},{"begin":"<\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.regexp"}},"end":"}>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.regexp"}},"name":"meta.embedded.expression.regexp"},{"include":"#literals-regular-expression-literal-unicode-scalars"},{"include":"#literals-regular-expression-literal-character-properties"},{"match":"[$^]|\\\\\\\\[ABGYZbyz]|\\\\\\\\K","name":"keyword.control.anchor.regexp"},{"include":"#literals-regular-expression-literal-backtracking-directive-or-global-matching-option"},{"include":"#literals-regular-expression-literal-callout"},{"include":"#literals-regular-expression-literal-backreference-or-subpattern"},{"match":"\\\\.|\\\\\\\\[CDHNORSVWXdhsvw]","name":"constant.character.character-class.regexp"},{"match":"\\\\\\\\c.","name":"constant.character.entity.control-character.regexp"},{"match":"\\\\\\\\[^c]","name":"constant.character.escape.backslash.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"match":"[*+?]","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\{(?:\\\\s*\\\\d+\\\\s*(?:,\\\\s*\\\\d*\\\\s*)?}|\\\\s*,\\\\s*\\\\d+\\\\s*})","name":"keyword.operator.quantifier.regexp"},{"include":"#literals-regular-expression-literal-custom-char-class"},{"include":"#literals-regular-expression-literal-group-option-toggle"},{"include":"#literals-regular-expression-literal-group-or-conditional"}]},"literals-regular-expression-literal-set-operators":{"patterns":[{"match":"&&","name":"keyword.operator.intersection.regexp.swift"},{"match":"--","name":"keyword.operator.subtraction.regexp.swift"},{"match":"~~","name":"keyword.operator.symmetric-difference.regexp.swift"}]},"literals-regular-expression-literal-unicode-scalars":{"match":"\\\\\\\\(?:u\\\\{\\\\s*(?:\\\\h+\\\\s*)+}|u\\\\h{4}|x\\\\{\\\\h+}|x\\\\h{0,2}|U\\\\h{8}|o\\\\{[0-7]+}|0[0-7]{0,3}|N\\\\{(?:U\\\\+\\\\h{1,8}|[-\\\\s\\\\w]+)})","name":"constant.character.numeric.regexp"},"literals-string":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"\\"\\"(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.swift","patterns":[{"match":"\\\\G(?:.+(?=\\"\\"\\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"},{"match":"\\\\\\\\\\\\s*\\\\n","name":"constant.character.escape.newline.swift"},{"include":"#literals-string-string-guts"},{"match":"\\\\S((?!\\\\\\\\\\\\().)*(?=\\"\\"\\")","name":"invalid.illegal.content-before-closing-delimiter.swift"}]},{"begin":"#\\"\\"\\"(?!#)(?=(?:[^\\"]|\\"(?!#))*$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"\\"\\"#(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.raw.swift","patterns":[{"match":"\\\\G(?:.+(?=\\"\\"\\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"},{"match":"\\\\\\\\#\\\\s*\\\\n","name":"constant.character.escape.newline.swift"},{"include":"#literals-string-raw-string-guts"},{"match":"\\\\S((?!\\\\\\\\#\\\\().)*(?=\\"\\"\\")","name":"invalid.illegal.content-before-closing-delimiter.swift"}]},{"begin":"(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))"}]},"operators":{"patterns":[{"match":"\\\\b(is\\\\b|as([!?]\\\\B|\\\\b))","name":"keyword.operator.type-casting.swift"},{"begin":"(?=(?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])|\\\\.(\\\\g|[.\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))","end":"(?!\\\\G)","patterns":[{"captures":{"0":{"patterns":[{"match":"\\\\G(\\\\+\\\\+|--)$","name":"keyword.operator.increment-or-decrement.swift"},{"match":"\\\\G([-+])$","name":"keyword.operator.arithmetic.unary.swift"},{"match":"\\\\G!$","name":"keyword.operator.logical.not.swift"},{"match":"\\\\G~$","name":"keyword.operator.bitwise.not.swift"},{"match":".+","name":"keyword.operator.custom.prefix.swift"}]}},"match":"\\\\G(?<=^|[(,:;\\\\[{\\\\s])((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u0300-\u036F\u1DC0-\u1DFF\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u20D0-\u20FF\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))++(?![]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":"\\\\G(\\\\+\\\\+|--)$","name":"keyword.operator.increment-or-decrement.swift"},{"match":"\\\\G!$","name":"keyword.operator.increment-or-decrement.swift"},{"match":".+","name":"keyword.operator.custom.postfix.swift"}]}},"match":"\\\\G(?>|[\\\\&^|]|&&|\\\\|\\\\|)=$","name":"keyword.operator.assignment.compound.swift"},{"match":"\\\\G([-*+/])$","name":"keyword.operator.arithmetic.swift"},{"match":"\\\\G&([-*+])$","name":"keyword.operator.arithmetic.overflow.swift"},{"match":"\\\\G%$","name":"keyword.operator.arithmetic.remainder.swift"},{"match":"\\\\G(==|!=|[<>]|>=|<=|~=)$","name":"keyword.operator.comparison.swift"},{"match":"\\\\G\\\\?\\\\?$","name":"keyword.operator.coalescing.swift"},{"match":"\\\\G(&&|\\\\|\\\\|)$","name":"keyword.operator.logical.swift"},{"match":"\\\\G([\\\\&^|]|<<|>>)$","name":"keyword.operator.bitwise.swift"},{"match":"\\\\G([!=]==)$","name":"keyword.operator.bitwise.swift"},{"match":"\\\\G\\\\?$","name":"keyword.operator.ternary.swift"},{"match":".+","name":"keyword.operator.custom.infix.swift"}]}},"match":"\\\\G((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u0300-\u036F\u1DC0-\u1DFF\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u20D0-\u20FF\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))++"},{"captures":{"0":{"patterns":[{"match":".+","name":"keyword.operator.custom.prefix.dot.swift"}]}},"match":"\\\\G(?<=^|[(,:;\\\\[{\\\\s])\\\\.((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+./<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u0300-\u036F\u1DC0-\u1DFF\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u20D0-\u20FF\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))++(?![]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":".+","name":"keyword.operator.custom.postfix.dot.swift"}]}},"match":"\\\\G(?cV});var sV,cV,qw=s1(()=>{_4();g5();b5();me();J6();We();sV=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":"storage.modifier.inheritance.${3:/downcase}.php"},"4":{"name":"storage.modifier.visibility.${4:/downcase}.php"},"5":{"name":"storage.modifier.static.php"},"6":{"name":"entity.other.alias.php"}},"match":"(?i)\\\\b(as)\\\\s+((final|abstract)|(p(?:ublic|rivate|rotected))|(static))\\\\s+([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)"},{"captures":{"1":{"name":"keyword.other.use-as.php"},"2":{"patterns":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.visibility.${2:/downcase}.php"},"3":{"name":"storage.modifier.static.php"}},"match":"(?i)\\\\b(?:(final|abstract)|(p(?:ublic|rivate|rotected))|(static))\\\\b","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":"storage.type.enum.case.php"},"3":{"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":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.readonly.php"}},"match":"(?i)(final|abstract)|(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.modifier.readonly.php"},"8":{"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":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.visibility.${2:/downcase}.php"}},"match":"(?i)(final|abstract)|(p(?:ublic|rivate|rotected))","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]+(?)","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":"storage.type.cast.${3:/downcase}.php"},"5":{"name":"punctuation.definition.storage-type.end.bracket.round.php"}},"match":"(?i)(\\\\()\\\\s*((bool|int|float|string|array|object)|(binary|boolean|integer|double|real|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"},{"captures":{"1":{"name":"storage.modifier.global.php"},"2":{"name":"storage.modifier.inheritance.${2:/downcase}.php"},"3":{"name":"storage.modifier.visibility.${3:/downcase}.php"},"4":{"name":"storage.modifier.static.php"}},"match":"(?i)\\\\b(?:(global)|(abstract|final)|(p(?:rivate|rotected|ublic))|(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)\\\\b","name":"keyword.operator.logical.php"},{"match":"(?i)\\\\bas\\\\b","name":"keyword.operator.as.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}]*(?)","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":"(\\\\\\\\?(?)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.function-call.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"begin":"(\\\\\\\\)?(?)","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":"(?i)(?=<<<\\\\s*\'([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)\'\\\\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":{"begin":"(?i)((\\\\$+)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.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.invoke.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},"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"},"2":{"name":"storage.modifier.php"},"3":{"name":"storage.modifier.visibility.${3:/downcase}.php"},"4":{"name":"invalid.illegal.wrong-access-type.phpdoc.php"}},"match":"^\\\\s*\\\\*\\\\s*(@access)\\\\s+(?i:((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":"N(?=\')"},{"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":"(?[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*))\\\\s*(?:(\\\\??->)\\\\s*(\\\\g)|(\\\\[)(?:(\\\\d+)|((\\\\$)\\\\g)|([_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)((\\\\$\\\\{)(?[_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"]}')),cV=[...Y2,...$3,...L3,...L0,...c4,...e2,sV]});var Iw={};h1(Iw,{default:()=>lV});var oV,lV,Bw=s1(()=>{oV=Object.freeze(JSON.parse('{"displayName":"TOML","fileTypes":["toml"],"name":"toml","patterns":[{"include":"#comments"},{"include":"#groups"},{"include":"#key_pair"},{"include":"#invalid"}],"repository":{"comments":{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.toml"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.toml"}},"end":"\\\\n","name":"comment.line.number-sign.toml"}]},"groups":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.section.begin.toml"},"2":{"patterns":[{"match":"[^.\\\\s]+","name":"entity.name.section.toml"}]},"3":{"name":"punctuation.definition.section.begin.toml"}},"match":"^\\\\s*(\\\\[)([^]\\\\[]*)(])","name":"meta.group.toml"},{"captures":{"1":{"name":"punctuation.definition.section.begin.toml"},"2":{"patterns":[{"match":"[^.\\\\s]+","name":"entity.name.section.toml"}]},"3":{"name":"punctuation.definition.section.begin.toml"}},"match":"^\\\\s*(\\\\[\\\\[)([^]\\\\[]*)(]])","name":"meta.group.double.toml"}]},"invalid":{"match":"\\\\S+(\\\\s*(?=\\\\S))?","name":"invalid.illegal.not-allowed-here.toml"},"key_pair":{"patterns":[{"begin":"([-0-9A-Z_a-z]+)\\\\s*(=)\\\\s*","captures":{"1":{"name":"variable.other.key.toml"},"2":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\\\S)(?uV});var pV,uV,Rw=s1(()=>{pV=Object.freeze(JSON.parse('{"displayName":"INI","name":"ini","patterns":[{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ini"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ini"}},"end":"\\\\n","name":"comment.line.number-sign.ini"}]},{"begin":"(^[\\\\t ]+)?(?=;)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ini"}},"end":"(?!\\\\G)","patterns":[{"begin":";","beginCaptures":{"0":{"name":"punctuation.definition.comment.ini"}},"end":"\\\\n","name":"comment.line.semicolon.ini"}]},{"captures":{"1":{"name":"keyword.other.definition.ini"},"2":{"name":"punctuation.separator.key-value.ini"}},"match":"\\\\b([-.0-9A-Z_a-z]+)\\\\b\\\\s*(=)"},{"captures":{"1":{"name":"punctuation.definition.entity.ini"},"3":{"name":"punctuation.definition.entity.ini"}},"match":"^(\\\\[)(.*?)(])","name":"entity.name.section.group-title.ini"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ini"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.ini"}},"name":"string.quoted.single.ini","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.ini"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ini"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ini"}},"name":"string.quoted.double.ini"}],"scopeName":"source.ini","aliases":["properties"]}')),uV=[pV]});var Dw={};h1(Dw,{default:()=>k7});var mV,k7,n9=s1(()=>{mV=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":"(?(\\\\*\\\\*(?=\\\\w)|(?]*+>|(?`+)([^`]|(?!(?(?!`))`)*+\\\\k|\\\\\\\\[-\\\\]!#(-+.>\\\\[\\\\\\\\_`{}]?+|\\\\[((?[^]\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[\\\\g*+])*+](( ?\\\\[[^]]*+])|(\\\\([\\\\t ]*+?[\\\\t ]*+((?[\\"\'])(.*?)\\\\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"]}')),k7=[mV]});var Gw={};h1(Gw,{default:()=>hV});var dV,hV,Ow=s1(()=>{dV=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"]}')),hV=[dV]});var Ww={};h1(Ww,{default:()=>bV});var gV,bV,Uw=s1(()=>{We();gV=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"]}')),bV=[...e2,gV]});var Xw={};h1(Xw,{default:()=>vV});var fV,vV,Kw=s1(()=>{fV=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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7]|\\\\\\\\\\\\.|[\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}])*-(?:[-0-9_a-z\xB7]|\\\\\\\\\\\\.|[\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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"}')),vV=[fV]});var Yw={};h1(Yw,{default:()=>_V});var yV,_V,Jw=s1(()=>{yV=Object.freeze(JSON.parse('{"displayName":"Batch File","injections":{"L:meta.block.repeat.batchfile":{"patterns":[{"include":"#repeatParameter"}]}},"name":"bat","patterns":[{"include":"#commands"},{"include":"#comments"},{"include":"#constants"},{"include":"#controls"},{"include":"#escaped_characters"},{"include":"#labels"},{"include":"#numbers"},{"include":"#operators"},{"include":"#parens"},{"include":"#strings"},{"include":"#variables"}],"repository":{"command_set":{"patterns":[{"begin":"(?<=^|[@\\\\s])(?i:SET)(?=$|\\\\s)","beginCaptures":{"0":{"name":"keyword.command.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#command_set_inside"}]}]},"command_set_group":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.batchfile"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.batchfile"}},"patterns":[{"include":"#command_set_inside_arithmetic"}]}]},"command_set_inside":{"patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#parens"},{"include":"#command_set_strings"},{"include":"#strings"},{"begin":"([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#parens"},{"include":"#strings"}]},{"begin":"\\\\s+/[Aa]\\\\s+","end":"(?=$\\\\n|[\\\\&)<>|])","name":"meta.expression.set.batchfile","patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.batchfile"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"include":"#command_set_inside_arithmetic"},{"include":"#command_set_group"},{"include":"#variables"}]},{"include":"#command_set_inside_arithmetic"},{"include":"#command_set_group"}]},{"begin":"\\\\s+/[Pp]\\\\s+","end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#command_set_strings"},{"begin":"([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","name":"meta.prompt.set.batchfile","patterns":[{"include":"#strings"}]}]}]},"command_set_inside_arithmetic":{"patterns":[{"include":"#command_set_operators"},{"include":"#numbers"},{"match":",","name":"punctuation.separator.batchfile"}]},"command_set_operators":{"patterns":[{"captures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.augmented.batchfile"}},"match":"([^ ]*)((?:[-*+/]|%%|[\\\\&^|]|<<|>>)=)"},{"match":"[-*+/]|%%|[\\\\&^|]|<<|>>|~","name":"keyword.operator.arithmetic.batchfile"},{"match":"!","name":"keyword.operator.logical.batchfile"},{"captures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"match":"([^ =]*)(=)"}]},"command_set_strings":{"patterns":[{"begin":"(\\")\\\\s*([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.batchfile"},"2":{"name":"variable.other.readwrite.batchfile"},"3":{"name":"keyword.operator.assignment.batchfile"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"include":"#variables"},{"include":"#numbers"},{"include":"#escaped_characters"}]}]},"commands":{"patterns":[{"match":"(?<=^|[@\\\\s])(?i:adprep|append|arp|assoc|at|atmadm|attrib|auditpol|autochk|autoconv|autofmt|bcdboot|bcdedit|bdehdcfg|bitsadmin|bootcfg|brea|cacls|cd|certreq|certutil|change|chcp|chdir|chglogon|chgport|chgusr|chkdsk|chkntfs|choice|cipher|clip|cls|clscluadmin|cluster|cmd|cmdkey|cmstp|color|comp|compact|convert|copy|cprofile|cscript|csvde|date|dcdiag|dcgpofix|dcpromo|defra|del|dfscmd|dfsdiag|dfsrmig|diantz|dir|dirquota|diskcomp|diskcopy|diskpart|diskperf|diskraid|diskshadow|dispdiag|doin|dnscmd|doskey|driverquery|dsacls|dsadd|dsamain|dsdbutil|dsget|dsmgmt|dsmod|dsmove|dsquery|dsrm|edit|endlocal|eraseesentutl|eventcreate|eventquery|eventtriggers|evntcmd|expand|extract|fc|filescrn|find|findstr|finger|flattemp|fonde|forfiles|format|freedisk|fsutil|ftp|ftype|fveupdate|getmac|gettype|gpfixup|gpresult|gpupdate|graftabl|hashgen|hep|helpctr|hostname|icacls|iisreset|inuse|ipconfig|ipxroute|irftp|ismserv|jetpack|klist|ksetup|ktmutil|ktpass|label|ldifd|ldp|lodctr|logman|logoff|lpq|lpr|macfile|makecab|manage-bde|mapadmin|md|mkdir|mklink|mmc|mode|more|mount|mountvol|move|mqbup|mqsvc|mqtgsvc|msdt|msg|msiexec|msinfo32|mstsc|nbtstat|net computer|net group|net localgroup|net print|net session|net share|net start|net stop|net user??|net view|net|netcfg|netdiag|netdom|netsh|netstat|nfsadmin|nfsshare|nfsstat|nlb|nlbmgr|nltest|nslookup|ntackup|ntcmdprompt|ntdsutil|ntfrsutl|openfiles|pagefileconfig|path|pathping|pause|pbadmin|pentnt|perfmon|ping|pnpunatten|pnputil|popd|powercfg|powershell|powershell_ise|print|prncnfg|prndrvr|prnjobs|prnmngr|prnport|prnqctl|prompt|pubprn|pushd|pushprinterconnections|pwlauncher|qappsrv|qprocess|query|quser|qwinsta|rasdial|rcp|rd|rdpsign|regentc|recover|redircmp|redirusr|reg|regini|regsvr32|relog|ren|rename|rendom|repadmin|repair-bde|replace|reset session|rxec|risetup|rmdir|robocopy|route|rpcinfo|rpcping|rsh|runas|rundll32|rwinsta|sc|schtasks|scp|scwcmd|secedit|serverceipoptin|servrmanagercmd|serverweroptin|setspn|setx|sfc|sftp|shadow|shift|showmount|shutdown|sort|ssh|ssh-add|ssh-agent|ssh-keygen|ssh-keyscan|start|storrept|subst|sxstrace|ysocmgr|systeminfo|takeown|tapicfg|taskkill|tasklist|tcmsetup|telnet|tftp|time|timeout|title|tlntadmn|tpmvscmgr|tacerpt|tracert|tree|tscon|tsdiscon|tsecimp|tskill|tsprof|type|typeperf|tzutil|uddiconfig|umount|unlodctr|ver|verifier|verif|vol|vssadmin|w32tm|waitfor|wbadmin|wdsutil|wecutil|wevtutil|where|whoami|winnt|winnt32|winpop|winrm|winrs|winsat|wlbs|wmic|wscript|wsl|xcopy)(?=$|\\\\s)","name":"keyword.command.batchfile"},{"begin":"(?i)(?<=^|[@\\\\s])(echo)(?:(?=$|[.:])|\\\\s+(?:(o(?:n|ff))(?=\\\\s*$))?)","beginCaptures":{"1":{"name":"keyword.command.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#strings"}]},{"captures":{"1":{"name":"keyword.command.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"match":"(?i)(?<=^|[@\\\\s])(setlocal)(?:\\\\s*$|\\\\s+((?:En|Dis)able(?:Extensions|DelayedExpansion))(?=\\\\s*$))"},{"include":"#command_set"}]},"comments":{"patterns":[{"begin":"(?:^|(&))\\\\s*(?=(:[ +,:;=]))","beginCaptures":{"1":{"name":"keyword.operator.conditional.batchfile"}},"end":"\\\\n","patterns":[{"begin":"(:[ +,:;=])","beginCaptures":{"1":{"name":"punctuation.definition.comment.batchfile"}},"end":"(?=\\\\n)","name":"comment.line.colon.batchfile"}]},{"begin":"(?<=^|[@\\\\s])(?i)(REM)(\\\\.)","beginCaptures":{"1":{"name":"keyword.command.rem.batchfile"},"2":{"name":"punctuation.separator.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","name":"comment.line.rem.batchfile"},{"begin":"(?<=^|[@\\\\s])(?i:rem)\\\\b","beginCaptures":{"0":{"name":"keyword.command.rem.batchfile"}},"end":"\\\\n","name":"comment.line.rem.batchfile","patterns":[{"match":"[<>|]","name":"invalid.illegal.unexpected-character.batchfile"}]}]},"constants":{"patterns":[{"match":"\\\\b(?i:NUL)\\\\b","name":"constant.language.batchfile"}]},"controls":{"patterns":[{"match":"(?i)(?<=^|\\\\s)(?:call|exit(?=$|\\\\s)|goto(?=$|[:\\\\s]))","name":"keyword.control.statement.batchfile"},{"captures":{"1":{"name":"keyword.control.conditional.batchfile"},"2":{"name":"keyword.operator.logical.batchfile"},"3":{"name":"keyword.other.special-method.batchfile"}},"match":"(?<=^|\\\\s)(?i)(if)\\\\s+(?:(not)\\\\s+)?(exist|defined|errorlevel|cmdextversion)(?=\\\\s)"},{"match":"(?<=^|\\\\s)(?i)(?:if|else)(?=$|\\\\s)","name":"keyword.control.conditional.batchfile"},{"begin":"(?<=^|[\\\\&(^\\\\s])(?i)for(?=\\\\s)","beginCaptures":{"0":{"name":"keyword.control.repeat.batchfile"}},"end":"\\\\n","name":"meta.block.repeat.batchfile","patterns":[{"begin":"(?<=[\\\\^\\\\s])(?i)in(?=\\\\s)","beginCaptures":{"0":{"name":"keyword.control.repeat.in.batchfile"}},"end":"(?<=[)^\\\\s])(?i)do(?=\\\\s)|\\\\n","endCaptures":{"0":{"name":"keyword.control.repeat.do.batchfile"}},"patterns":[{"include":"$self"}]},{"include":"$self"}]}]},"escaped_characters":{"patterns":[{"match":"%%|\\\\^\\\\^!|\\\\^(?=.)|\\\\^\\\\n","name":"constant.character.escape.batchfile"}]},"labels":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"match":"(?i)(?:^\\\\s*|(?<=call|goto)\\\\s*)(:)([^+,:;=\\\\s]\\\\S*)"}]},"numbers":{"patterns":[{"match":"(?<=^|[=\\\\s])(0[Xx]\\\\h*|[-+]?\\\\d+)(?=$|[<>\\\\s])","name":"constant.numeric.batchfile"}]},"operators":{"patterns":[{"match":"@(?=\\\\S)","name":"keyword.operator.at.batchfile"},{"match":"(?<=\\\\s)(?i:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?=\\\\s)|==","name":"keyword.operator.comparison.batchfile"},{"match":"(?<=\\\\s)(?i)(NOT)(?=\\\\s)","name":"keyword.operator.logical.batchfile"},{"match":"(?<!\\\\^)&&?|\\\\|\\\\|","name":"keyword.operator.conditional.batchfile"},{"match":"(?<!\\\\^)\\\\|","name":"keyword.operator.pipe.batchfile"},{"match":"<&?|>[\\\\&>]?","name":"keyword.operator.redirection.batchfile"}]},"parens":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.batchfile"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.batchfile"}},"name":"meta.group.batchfile","patterns":[{"match":"[,;]","name":"punctuation.separator.batchfile"},{"include":"$self"}]}]},"repeatParameter":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.batchfile"}},"match":"(%%)(?i:~[adfnpstxz]*(?:\\\\$PATH:)?)?[A-Za-z]","name":"variable.parameter.repeat.batchfile"}]},"strings":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.batchfile"}},"end":"(\\")|(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.batchfile"},"2":{"name":"invalid.illegal.newline.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"match":"%%","name":"constant.character.escape.batchfile"},{"include":"#variables"}]}]},"variable":{"patterns":[{"begin":"%(?=[^%]+%)","beginCaptures":{"0":{"name":"punctuation.definition.variable.begin.batchfile"}},"end":"(%)|\\\\n","endCaptures":{"1":{"name":"punctuation.definition.variable.end.batchfile"}},"name":"variable.other.readwrite.batchfile","patterns":[{"begin":":~","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n%])","name":"meta.variable.substring.batchfile","patterns":[{"include":"#variable_substring"}]},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n%])","name":"meta.variable.substitution.batchfile","patterns":[{"include":"#variable_replace"},{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n%])","patterns":[{"include":"#variable_delayed_expansion"},{"match":"[^%]+","name":"string.unquoted.batchfile"}]}]}]}]},"variable_delayed_expansion":{"patterns":[{"begin":"!(?=[^!]+!)","beginCaptures":{"0":{"name":"punctuation.definition.variable.begin.batchfile"}},"end":"(!)|\\\\n","endCaptures":{"1":{"name":"punctuation.definition.variable.end.batchfile"}},"name":"variable.other.readwrite.batchfile","patterns":[{"begin":":~","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n!])","name":"meta.variable.substring.batchfile","patterns":[{"include":"#variable_substring"}]},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n!])","name":"meta.variable.substitution.batchfile","patterns":[{"include":"#escaped_characters"},{"include":"#variable_replace"},{"include":"#variable"},{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n!])","patterns":[{"include":"#variable"},{"match":"[^!]+","name":"string.unquoted.batchfile"}]}]}]}]},"variable_replace":{"patterns":[{"match":"[^\\\\n!%=]+","name":"string.unquoted.batchfile"}]},"variable_substring":{"patterns":[{"captures":{"1":{"name":"constant.numeric.batchfile"},"2":{"name":"punctuation.separator.batchfile"},"3":{"name":"constant.numeric.batchfile"}},"match":"([-+]?\\\\d+)(?:(,)([-+]?\\\\d+))?"}]},"variables":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.batchfile"}},"match":"(%)(?:(?i:~[adfnpstxz]*(?:\\\\$PATH:)?)?\\\\d|\\\\*)","name":"variable.parameter.batchfile"},{"include":"#variable"},{"include":"#variable_delayed_expansion"}]}},"scopeName":"source.batchfile","aliases":["batch","cmd"]}')),_V=[yV]});var Qw={};h1(Qw,{default:()=>xV});var wV,xV,ex=s1(()=>{wV=Object.freeze(JSON.parse('{"displayName":"PowerShell","name":"powershell","patterns":[{"begin":"<#","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.powershell"}},"end":"#>","endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.powershell"}},"name":"comment.block.powershell","patterns":[{"include":"#commentEmbeddedDocs"}]},{"match":"[2-6]>&1|>>?|<<|[<>]|>\\\\||[1-6]>|[1-6]>>","name":"keyword.operator.redirection.powershell"},{"include":"#commands"},{"include":"#commentLine"},{"include":"#variable"},{"include":"#subexpression"},{"include":"#function"},{"include":"#attribute"},{"include":"#UsingDirective"},{"include":"#type"},{"include":"#hashtable"},{"include":"#doubleQuotedString"},{"include":"#scriptblock"},{"include":"#doubleQuotedStringEscapes"},{"applyEndPatternLast":true,"begin":"[\'\u2018-\u201B]","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"end":"[\'\u2018-\u201B]","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.single.powershell","patterns":[{"match":"[\'\u2018-\u201B]{2}","name":"constant.character.escape.powershell"}]},{"begin":"(@[\\"\u201C\u201D\u201E])\\\\s*$","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"end":"^[\\"\u201C\u201D\u201E]@","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.double.heredoc.powershell","patterns":[{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"include":"#interpolation"}]},{"begin":"(@[\'\u2018-\u201B])\\\\s*$","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"end":"^[\'\u2018-\u201B]@","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.single.heredoc.powershell"},{"include":"#numericConstant"},{"begin":"(@)(\\\\()","beginCaptures":{"1":{"name":"keyword.other.array.begin.powershell"},"2":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.array-expression.powershell","patterns":[{"include":"$self"}]},{"begin":"((\\\\$))(\\\\()","beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.subexpression.powershell"},"3":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.complex.subexpression.powershell","patterns":[{"include":"$self"}]},{"match":"\\\\b((([-.0-9A-Z_a-z]+)\\\\.(?i:exe|com|cmd|bat)))\\\\b","name":"support.function.powershell"},{"match":"(?<![-.\\\\w])((?i:begin|break|catch|clean|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|[%?])(?!\\\\w)","name":"keyword.control.powershell"},{"match":"(?<![-\\\\w]|[^)]\\\\.)((?i:(foreach|where)(?!-object))|[%?])(?!\\\\w)","name":"keyword.control.powershell"},{"begin":"(?<!\\\\w)(--%)(?!\\\\w)","beginCaptures":{"1":{"name":"keyword.control.powershell"}},"end":"$","patterns":[{"match":".+","name":"string.unquoted.powershell"}]},{"match":"(?<!\\\\w)((?i:hidden|static))(?!\\\\w)","name":"storage.modifier.powershell"},{"captures":{"1":{"name":"storage.type.powershell"},"2":{"name":"entity.name.function"}},"match":"(?<![-\\\\w])((?i:class)|[%?])\\\\s+([-_\\\\p{L}\\\\d]?{1,})\\\\b"},{"match":"(?<!\\\\w)-(?i:is(?:not)?|as)\\\\b","name":"keyword.operator.comparison.powershell"},{"match":"(?<!\\\\w)-(?i:[ci]?(?:eq|ne|[gl][et]|(?:not)?(?:like|match|contains|in)|replace))(?!\\\\p{L})","name":"keyword.operator.comparison.powershell"},{"match":"(?<!\\\\w)-(?i:join|split)(?!\\\\p{L})|!","name":"keyword.operator.unary.powershell"},{"match":"(?<!\\\\w)-(?i:and|or|not|xor)(?!\\\\p{L})|!","name":"keyword.operator.logical.powershell"},{"match":"(?<!\\\\w)-(?i:band|bor|bnot|bxor|shl|shr)(?!\\\\p{L})","name":"keyword.operator.bitwise.powershell"},{"match":"(?<!\\\\w)-(?i:f)(?!\\\\p{L})","name":"keyword.operator.string-format.powershell"},{"match":"[-%*+/]?=|[-%*+/]","name":"keyword.operator.assignment.powershell"},{"match":"\\\\|{2}|&{2}|;","name":"punctuation.terminator.statement.powershell"},{"match":"&|(?<!\\\\w)\\\\.(?= )|[,`|]","name":"keyword.operator.other.powershell"},{"match":"(?<!\\\\s|^)\\\\.\\\\.(?=-?\\\\d|[$(])","name":"keyword.operator.range.powershell"}],"repository":{"RequiresDirective":{"begin":"(?<=#)(?i:(requires))\\\\s","beginCaptures":{"0":{"name":"keyword.control.requires.powershell"}},"end":"$","name":"meta.requires.powershell","patterns":[{"match":"-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version|Assembly|PSEdition)","name":"keyword.other.powershell"},{"match":"(?<!-)\\\\b\\\\p{L}+|\\\\d+(?:\\\\.\\\\d+)*","name":"variable.parameter.powershell"},{"include":"#hashtable"}]},"UsingDirective":{"captures":{"1":{"name":"keyword.control.using.powershell"},"2":{"name":"keyword.other.powershell"},"3":{"name":"variable.parameter.powershell"}},"match":"(?<!\\\\w)(?i:(using))\\\\s+(?i:(namespace|module))\\\\s+(?i:((?:\\\\w+\\\\.?)+))"},"attribute":{"begin":"(\\\\[)\\\\s*\\\\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength|supportswildcards)\\\\b","beginCaptures":{"1":{"name":"punctuation.section.bracket.begin.powershell"},"2":{"name":"support.function.attribute.powershell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.section.bracket.end.powershell"}},"name":"meta.attribute.powershell","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"patterns":[{"include":"$self"},{"captures":{"1":{"name":"variable.parameter.attribute.powershell"},"2":{"name":"keyword.operator.assignment.powershell"}},"match":"(?i)\\\\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\\\\b\\\\s+{0,1}(=)?"}]}]},"commands":{"patterns":[{"match":"(?:([-:\\\\\\\\_\\\\p{L}\\\\d])*\\\\\\\\)?\\\\b(?i:Add|Approve|Assert|Backup|Block|Build|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Deploy|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Mount|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Write)-.+?(?:\\\\.(?i:exe|cmd|bat|ps1))?\\\\b","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:foreach-object)(?!\\\\w)","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:where-object)(?!\\\\w)","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:sort-object)(?!\\\\w)","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:tee-object)(?!\\\\w)","name":"support.function.powershell"}]},"commentEmbeddedDocs":{"patterns":[{"captures":{"1":{"name":"constant.string.documentation.powershell"},"2":{"name":"keyword.operator.documentation.powershell"}},"match":"(?:^|\\\\G)(?i:\\\\s*(\\\\.)(COMPONENT|DESCRIPTION|EXAMPLE|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|ROLE|SYNOPSIS))\\\\s*$","name":"comment.documentation.embedded.powershell"},{"captures":{"1":{"name":"constant.string.documentation.powershell"},"2":{"name":"keyword.operator.documentation.powershell"},"3":{"name":"keyword.operator.documentation.powershell"}},"match":"(?:^|\\\\G)(?i:\\\\s*(\\\\.)(EXTERNALHELP|FORWARDHELP(?:CATEGORY|TARGETNAME)|PARAMETER|REMOTEHELPRUNSPACE))\\\\s+(.+?)\\\\s*$","name":"comment.documentation.embedded.powershell"}]},"commentLine":{"begin":"(?<![-\\\\\\\\`])(#)#*","captures":{"1":{"name":"punctuation.definition.comment.powershell"}},"end":"$\\\\n?","name":"comment.line.powershell","patterns":[{"include":"#commentEmbeddedDocs"},{"include":"#RequiresDirective"}]},"doubleQuotedString":{"applyEndPatternLast":true,"begin":"[\\"\u201C\u201D\u201E]","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"end":"[\\"\u201C\u201D\u201E]","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.double.powershell","patterns":[{"match":"(?i)\\\\b[-%+.0-9A-Z_]+@[-.0-9A-Z]+\\\\.[A-Z]{2,64}\\\\b"},{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"match":"[\\"\u201C\u201D\u201E]{2}","name":"constant.character.escape.powershell"},{"include":"#interpolation"},{"match":"`\\\\s*$","name":"keyword.other.powershell"}]},"doubleQuotedStringEscapes":{"patterns":[{"match":"`[\\"$\'0`abefnrtv\u2018-\u201E]","name":"constant.character.escape.powershell"},{"include":"#unicodeEscape"}]},"function":{"begin":"^\\\\s*+(?i)(function|filter|configuration|workflow)\\\\s+(?:(global|local|script|private):)?([-._\\\\p{L}\\\\d]+)","beginCaptures":{"0":{"name":"meta.function.powershell"},"1":{"name":"storage.type.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"3":{"name":"entity.name.function.powershell"}},"end":"(?=[({])","patterns":[{"include":"#commentLine"}]},"hashtable":{"begin":"(@)(\\\\{)","beginCaptures":{"1":{"name":"keyword.other.hashtable.begin.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.braces.end.powershell"}},"name":"meta.hashtable.powershell","patterns":[{"captures":{"1":{"name":"punctuation.definition.string.begin.powershell"},"2":{"name":"variable.other.readwrite.powershell"},"3":{"name":"punctuation.definition.string.end.powershell"},"4":{"name":"keyword.operator.assignment.powershell"}},"match":"\\\\b([\\"\']?)(\\\\w+)([\\"\']?)\\\\s+{0,1}(=)\\\\s+{0,1}","name":"meta.hashtable.assignment.powershell"},{"include":"#scriptblock"},{"include":"$self"}]},"interpolation":{"begin":"(((\\\\$)))((\\\\())","beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.substatement.powershell"},"3":{"name":"punctuation.section.embedded.substatement.begin.powershell"},"4":{"name":"punctuation.section.group.begin.powershell"},"5":{"name":"punctuation.section.embedded.substatement.begin.powershell"}},"contentName":"interpolated.complex.source.powershell","end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"},"1":{"name":"punctuation.section.embedded.substatement.end.powershell"}},"name":"meta.embedded.substatement.powershell","patterns":[{"include":"$self"}]},"numericConstant":{"patterns":[{"captures":{"1":{"name":"constant.numeric.hex.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?0[Xx][_\\\\h]+(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+{0,1}\\\\.[0-9_]+(?:[Ee][0-9]+)?[DFMdfm]?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.octal.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?0[Bb][01_]+(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+[Ee][0-9_]?+[DFMdfm]?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+\\\\.[Ee][0-9_]?+[DFMdfm]?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+\\\\.?[DFMdfm])((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+\\\\.?(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\\\b"}]},"scriptblock":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.powershell"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.powershell"}},"name":"meta.scriptblock.powershell","patterns":[{"include":"$self"}]},"subexpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.simple.subexpression.powershell","patterns":[{"include":"$self"}]},"type":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.bracket.begin.powershell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.bracket.end.powershell"}},"patterns":[{"match":"(?!\\\\d+|\\\\.)[.\\\\p{L}\\\\p{N}]+","name":"storage.type.powershell"},{"include":"$self"}]},"unicodeEscape":{"patterns":[{"match":"`u\\\\{(?:(?:10)?(\\\\h){1,4}|0?\\\\g<1>{1,5})}","name":"constant.character.escape.powershell"},{"match":"`u(?:\\\\{\\\\h{0,6}.)?","name":"invalid.character.escape.powershell"}]},"variable":{"patterns":[{"captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}},"match":"(\\\\$)(?i:(False|Null|True))\\\\b"},{"captures":{"0":{"name":"variable.other.constant.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?\\\\b"},{"captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)([$?^]|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\\\b)((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?\\\\b"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:([$@])(global|local|private|script|using|workflow):([_\\\\p{L}\\\\d]+))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"storage.modifier.scope.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)(global|local|private|script|using|workflow):([^}]*[^`}])(}))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:([$@])([_\\\\p{L}\\\\d]+:)?([_\\\\p{L}\\\\d]+))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)([_\\\\p{L}\\\\d]+:)?([^}]*[^`}])(}))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"}]},"variableNoProperty":{"patterns":[{"captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}},"match":"(\\\\$)(?i:(False|Null|True))\\\\b"},{"captures":{"0":{"name":"variable.other.constant.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))\\\\b"},{"captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)([$?^]|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\\\b)"},{"captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))\\\\b"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(global|local|private|script|using|workflow):([_\\\\p{L}\\\\d]+))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"keyword.other.powershell"},"5":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)(global|local|private|script|using|workflow):([^}]*[^`}])(}))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)([_\\\\p{L}\\\\d]+:)?([_\\\\p{L}\\\\d]+))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end"}},"match":"(?i:(\\\\$)(\\\\{)([_\\\\p{L}\\\\d]+:)?([^}]*[^`}])(}))"}]}},"scopeName":"source.powershell","aliases":["ps","ps1","pwsh"]}')),xV=[wV]});var tx={};h1(tx,{default:()=>zV});var kV,zV,nx=s1(()=>{kV=Object.freeze(JSON.parse('{"displayName":"Fish","name":"fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#comment"},{"include":"#subshell-bare"},{"include":"#subshell"},{"include":"#command"},{"include":"#keywords"},{"include":"#io-redirection"},{"include":"#operators"},{"include":"#options"},{"include":"#variable"},{"include":"#escape"}],"repository":{"command":{"captures":{"2":{"name":"keyword.operator.pipe.fish"},"3":{"name":"keyword.control.fish"},"5":{"name":"support.function.command.fish"}},"match":"(^\\\\s*|&&\\\\s*|(\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|\\\\b(if|while)\\\\b\\\\s+)(?!(?<!\\\\.)\\\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\\\b(?![!?]))([-\\\\].0-9A-\\\\[_a-z]+)"},"command-subshell":{"captures":{"2":{"name":"keyword.operator.pipe.fish"},"3":{"name":"keyword.control.fish"},"5":{"name":"support.function.command.fish"}},"match":"(\\\\G\\\\s*|&&\\\\s*|(\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|\\\\b(if|while)\\\\b\\\\s+)(?!(?<!\\\\.)\\\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\\\b(?![!?]))([-\\\\].0-9A-\\\\[_a-z]+)"},"comment":{"captures":{"1":{"name":"punctuation.definition.comment.fish"}},"match":"(?<!\\\\$)(#)(?!\\\\{).*$\\\\n?","name":"comment.line.number-sign.fish"},"escape":{"patterns":[{"match":"\\\\\\\\[] \\"#$\\\\&-*;<>?\\\\[^abefnrtv{-~]","name":"constant.character.escape.string.fish"},{"match":"\\\\\\\\x\\\\h{1,2}","name":"constant.character.escape.hex-ascii.fish"},{"match":"\\\\\\\\X\\\\h{1,2}","name":"constant.character.escape.hex-byte.fish"},{"match":"\\\\\\\\[0-7]{1,3}","name":"constant.character.escape.octal.fish"},{"match":"\\\\\\\\u\\\\h{1,4}","name":"constant.character.escape.unicode-16-bit.fish"},{"match":"\\\\\\\\U\\\\h{1,8}","name":"constant.character.escape.unicode-32-bit.fish"},{"match":"\\\\\\\\c[A-Za-z]","name":"constant.character.escape.control.fish"}]},"io-redirection":{"patterns":[{"captures":{"1":{"name":"keyword.operator.redirect.fish"},"2":{"name":"keyword.operator.redirect.target.fish"}},"match":"(<|(?:[>^]|>>|\\\\^\\\\^)(?:&[-012])?|[012](?:[<>]|>>)(?:&[-012])?)\\\\s*(?!\\\\()([\\\\--9A-Z_a-z]+)"},{"match":"<|([>^]|>>|\\\\^\\\\^)(&[-012])?|[012]([<>]|>>)(&[-012])?","name":"keyword.operator.redirect.fish"}]},"keywords":{"patterns":[{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(^\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|(?<=\\\\bwhile\\\\b)\\\\s+|(?<=\\\\bif\\\\b)\\\\s+|(?<=\\\\band\\\\b)\\\\s+|(?<=\\\\bor\\\\b)\\\\s+|(?<=\\\\bnot\\\\b)\\\\s+)(?<!\\\\.)\\\\b(while|if|and|or|not)\\\\b(?![!?])"},{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(^\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*)(?<!\\\\.)\\\\b(function|else|switch|case|for|begin|end|continue|break|return|source|exit|wait)\\\\b(?![!?])"},{"match":"\\\\b(in)\\\\b(?![!?])","name":"keyword.control.fish"}]},"keywords-subshell":{"patterns":[{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(\\\\G\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|(?<=\\\\bwhile\\\\b)\\\\s+|(?<=\\\\bif\\\\b)\\\\s+|(?<=\\\\band\\\\b)\\\\s+|(?<=\\\\bor\\\\b)\\\\s+|(?<=\\\\bnot\\\\b)\\\\s+)(?<!\\\\.)\\\\b(while|if|and|or|not)\\\\b(?![!?])"},{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(\\\\G\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*)(?<!\\\\.)\\\\b(function|else|switch|case|for|begin|end|continue|break|return|source|exit|wait)\\\\b(?![!?])"},{"match":"\\\\b(in)\\\\b(?![!?])","name":"keyword.control.fish"}]},"operators":{"patterns":[{"match":"&","name":"keyword.operator.background.fish"},{"match":"\\\\*\\\\*|[*?]","name":"keyword.operator.glob.fish"}]},"options":{"captures":{"1":{"name":"source.option.fish"}},"match":"\\\\s(-{1,2}[-0-9A-Z_a-z]+|-\\\\w)\\\\b"},"slice":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.slice.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(])","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.slice.end.fish"}},"name":"meta.embedded.slice.fish variable.interpolation.fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#subshell-bare"},{"include":"#subshell"},{"include":"#variable"},{"include":"#escape"}]},"slice-string-double":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.slice.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(])","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.slice.end.fish"}},"name":"meta.embedded.slice.fish variable.interpolation.string.fish","patterns":[{"include":"#subshell"},{"include":"#variable"},{"match":"\\\\\\\\([\\"$]|$|\\\\\\\\)","name":"constant.character.escape.fish"}]},"string-double":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fish"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.fish"}},"name":"string.quoted.double.fish","patterns":[{"include":"#subshell"},{"include":"#variable-string-double"},{"match":"\\\\\\\\([\\"$]|$|\\\\\\\\)","name":"constant.character.escape.fish"}]},"string-single":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fish"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.fish"}},"name":"string.quoted.single.fish","patterns":[{"match":"\\\\\\\\([\'\\\\\\\\`])","name":"constant.character.escape.fish"}]},"subshell":{"begin":"\\\\$\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.subshell.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(\\\\))","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.subshell.end.fish"}},"name":"meta.embedded.subshell.fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#comment"},{"include":"#keywords-subshell"},{"include":"#command-subshell"},{"include":"#io-redirection"},{"include":"#operators"},{"include":"#options"},{"include":"#subshell"},{"include":"#variable"},{"include":"#escape"}]},"subshell-bare":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.subshell.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(\\\\))","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.subshell.end.fish"}},"name":"meta.embedded.subshell.fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#comment"},{"include":"#keywords-subshell"},{"include":"#command-subshell"},{"include":"#io-redirection"},{"include":"#operators"},{"include":"#options"},{"include":"#subshell-bare"},{"include":"#subshell"},{"include":"#variable"},{"include":"#escape"}]},"variable":{"patterns":[{"begin":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.language.fish"}},"end":"(?<=])","name":"variable.language.fish","patterns":[{"include":"#slice"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b","name":"variable.language.fish"},{"begin":"(\\\\$)([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.other.normal.fish"}},"end":"(?<=])","name":"variable.other.normal.fish","patterns":[{"include":"#slice"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.normal.fish"}]},"variable-string-double":{"patterns":[{"begin":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.language.fish"}},"end":"(?<=])","name":"variable.language.fish","patterns":[{"include":"#slice-string-double"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b","name":"variable.language.fish"},{"begin":"(\\\\$)([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.other.normal.fish"}},"end":"(?<=])","name":"variable.other.normal.fish","patterns":[{"include":"#slice-string-double"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.normal.fish"}]}},"scopeName":"source.fish"}')),zV=[kV]});var ax={};h1(ax,{default:()=>AV});var CV,AV,ix=s1(()=>{CV=Object.freeze(JSON.parse('{"displayName":"dotEnv","name":"dotenv","patterns":[{"captures":{"1":{"patterns":[{"include":"#line-comment"}]}},"match":"^\\\\s?(#.*)$\\\\n"},{"captures":{"1":{"patterns":[{"include":"#key"}]},"2":{"name":"keyword.operator.assignment.dotenv"},"3":{"name":"constant.numeric.dotenv"},"4":{"name":"comment.line.dotenv"}},"match":"^([\\\\t ]*(?:export[\\\\t ]+)?[-.\\\\w]+[\\\\t ]*)(=)[\\\\t ]*([-+]?[0-9](?:[0-9_]*[0-9])?(?:\\\\.[0-9](?:[0-9_]*[0-9])?)?)[\\\\t ]*(#.*)?$"},{"captures":{"1":{"patterns":[{"include":"#key"}]},"2":{"name":"keyword.operator.assignment.dotenv"},"3":{"name":"property.value.dotenv","patterns":[{"include":"#line-comment"},{"include":"#double-quoted-string"},{"include":"#single-quoted-string"},{"include":"#interpolation"}]}},"match":"^\\\\s?(.*?)\\\\s?(=)(.*)$"}],"repository":{"double-quoted-string":{"captures":{"1":{"patterns":[{"include":"#interpolation"},{"include":"#escape-characters"}]}},"match":"\\"(.*)\\"","name":"string.quoted.double.dotenv"},"escape-characters":{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|u[0-9A-F]{4})","name":"constant.character.escape.dotenv"},"interpolation":{"captures":{"1":{"name":"keyword.interpolation.begin.dotenv"},"2":{"name":"variable.interpolation.dotenv"},"3":{"name":"keyword.interpolation.end.dotenv"}},"match":"(\\\\$\\\\{)(.*)(})"},"key":{"captures":{"1":{"name":"keyword.key.export.dotenv"},"2":{"name":"variable.key.dotenv","patterns":[{"include":"#variable"}]}},"match":"(export\\\\s)?(.*)"},"line-comment":{"match":"#.*$","name":"comment.line.dotenv"},"single-quoted-string":{"match":"\'(.*)\'","name":"string.quoted.single.dotenv"},"variable":{"match":"[A-Z_a-z]+[0-9A-Z_a-z]*"}},"scopeName":"source.dotenv"}')),AV=[CV]});var rx={};h1(rx,{default:()=>$V});var MV,$V,sx=s1(()=>{MV=Object.freeze(JSON.parse('{"displayName":"Log file","fileTypes":["log"],"name":"log","patterns":[{"match":"\\\\b([Tt]race|TRACE)\\\\b:?","name":"comment log.verbose"},{"match":"(?i)\\\\[(v(?:erbose|erb|rb|b?))]","name":"comment log.verbose"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bV\\\\b","name":"comment log.verbose"},{"match":"\\\\b(D(?:EBUG|ebug))\\\\b|(?i)\\\\b(debug):","name":"markup.changed log.debug"},{"match":"(?i)\\\\[(d(?:ebug|bug|bg|e?))]","name":"markup.changed log.debug"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bD\\\\b","name":"markup.changed log.debug"},{"match":"\\\\b(HINT|INFO|INFORMATION|Info|NOTICE|II)\\\\b|(?i)\\\\b(info(?:|rmation)):","name":"markup.inserted log.info"},{"match":"(?i)\\\\[(i(?:nformation|nfo?|n?))]","name":"markup.inserted log.info"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bI\\\\b","name":"markup.inserted log.info"},{"match":"\\\\b(W(?:ARNING|ARN|arn|W))\\\\b|(?i)\\\\b(warning):","name":"markup.deleted log.warning"},{"match":"(?i)\\\\[(w(?:arning|arn|rn|n?))]","name":"markup.deleted log.warning"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bW\\\\b","name":"markup.deleted log.warning"},{"match":"\\\\b(ALERT|CRITICAL|EMERGENCY|ERROR|FAILURE|FAIL|Fatal|FATAL|Error|EE)\\\\b|(?i)\\\\b(error):","name":"string.regexp, strong log.error"},{"match":"(?i)\\\\[(error|eror|err?|e|fatal|fatl|ftl|fa?)]","name":"string.regexp, strong log.error"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bE\\\\b","name":"string.regexp, strong log.error"},{"match":"\\\\b\\\\d{4}-\\\\d{2}-\\\\d{2}(?=T|\\\\b)","name":"comment log.date"},{"match":"(?<=(^|\\\\s))\\\\d{2}[^\\\\w\\\\s]\\\\d{2}[^\\\\w\\\\s]\\\\d{4}\\\\b","name":"comment log.date"},{"match":"T?\\\\d{1,2}:\\\\d{2}(:\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}:\\\\d{2})?\\\\b","name":"comment log.date"},{"match":"T\\\\d{2}\\\\d{2}(\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}\\\\d{2})?\\\\b","name":"comment log.date"},{"match":"\\\\b(\\\\h{40}|\\\\h{10}|\\\\h{7})\\\\b","name":"constant.language"},{"match":"\\\\b\\\\h{8}-?(\\\\h{4}-?){3}\\\\h{12}\\\\b","name":"constant.language log.constant"},{"match":"\\\\b(\\\\h{2,}[-:])+\\\\h{2,}+\\\\b","name":"constant.language log.constant"},{"match":"\\\\b([0-9]+|true|false|null)\\\\b","name":"constant.language log.constant"},{"match":"\\\\b(0x\\\\h+)\\\\b","name":"constant.language log.constant"},{"match":"\\"[^\\"]*\\"","name":"string log.string"},{"match":"(?<!\\\\w)\'[^\']*\'","name":"string log.string"},{"match":"\\\\b([.A-Za-z]*Exception)\\\\b","name":"string.regexp, emphasis log.exceptiontype"},{"begin":"^[\\\\t ]*at[\\\\t ]","end":"$","name":"string.key, emphasis log.exception"},{"match":"\\\\b[a-z]+://\\\\S+\\\\b/?","name":"constant.language log.constant"},{"match":"(?<![/\\\\\\\\\\\\w])([-\\\\w]+\\\\.)+([-\\\\w])+(?![/\\\\\\\\\\\\w])","name":"constant.language log.constant"}],"scopeName":"text.log"}')),$V=[MV]});var cx={};h1(cx,{default:()=>SV});var LV,SV,ox=s1(()=>{LV=Object.freeze(JSON.parse('{"displayName":"CSV","fileTypes":["csv"],"name":"csv","patterns":[{"captures":{"1":{"name":"rainbow1"},"2":{"name":"keyword.rainbow2"},"3":{"name":"entity.name.function.rainbow3"},"4":{"name":"comment.rainbow4"},"5":{"name":"string.rainbow5"},"6":{"name":"variable.parameter.rainbow6"},"7":{"name":"constant.numeric.rainbow7"},"8":{"name":"entity.name.type.rainbow8"},"9":{"name":"markup.bold.rainbow9"},"10":{"name":"invalid.rainbow10"}},"match":"( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?","name":"rainbowgroup"}],"scopeName":"text.csv"}')),SV=[LV]});var lx={};h1(lx,{default:()=>ZV});var EV,ZV,px=s1(()=>{EV=Object.freeze(JSON.parse('{"displayName":"Diff","name":"diff","patterns":[{"captures":{"1":{"name":"punctuation.definition.separator.diff"}},"match":"^((\\\\*{15})|(={67})|(-{3}))$\\\\n?","name":"meta.separator.diff"},{"match":"^\\\\d+(,\\\\d+)*([acd])\\\\d+(,\\\\d+)*$\\\\n?","name":"meta.diff.range.normal"},{"captures":{"1":{"name":"punctuation.definition.range.diff"},"2":{"name":"meta.toc-list.line-number.diff"},"3":{"name":"punctuation.definition.range.diff"}},"match":"^(@@)\\\\s*(.+?)\\\\s*(@@)($\\\\n?)?","name":"meta.diff.range.unified"},{"captures":{"3":{"name":"punctuation.definition.range.diff"},"4":{"name":"punctuation.definition.range.diff"},"6":{"name":"punctuation.definition.range.diff"},"7":{"name":"punctuation.definition.range.diff"}},"match":"^(((-{3}) .+ (-{4}))|((\\\\*{3}) .+ (\\\\*{4})))$\\\\n?","name":"meta.diff.range.context"},{"match":"^diff --git a/.*$\\\\n?","name":"meta.diff.header.git"},{"match":"^diff (-|\\\\S+\\\\s+\\\\S+).*$\\\\n?","name":"meta.diff.header.command"},{"captures":{"4":{"name":"punctuation.definition.from-file.diff"},"6":{"name":"punctuation.definition.from-file.diff"},"7":{"name":"punctuation.definition.from-file.diff"}},"match":"^((((-{3}) .+)|((\\\\*{3}) .+))$\\\\n?|(={4}) .+(?= - ))","name":"meta.diff.header.from-file"},{"captures":{"2":{"name":"punctuation.definition.to-file.diff"},"3":{"name":"punctuation.definition.to-file.diff"},"4":{"name":"punctuation.definition.to-file.diff"}},"match":"(^(\\\\+{3}) .+$\\\\n?| (-) .* (={4})$\\\\n?)","name":"meta.diff.header.to-file"},{"captures":{"3":{"name":"punctuation.definition.inserted.diff"},"6":{"name":"punctuation.definition.inserted.diff"}},"match":"^(((>)( .*)?)|((\\\\+).*))$\\\\n?","name":"markup.inserted.diff"},{"captures":{"1":{"name":"punctuation.definition.changed.diff"}},"match":"^(!).*$\\\\n?","name":"markup.changed.diff"},{"captures":{"3":{"name":"punctuation.definition.deleted.diff"},"6":{"name":"punctuation.definition.deleted.diff"}},"match":"^(((<)( .*)?)|((-).*))$\\\\n?","name":"markup.deleted.diff"},{"begin":"^(#)","captures":{"1":{"name":"punctuation.definition.comment.diff"}},"end":"\\\\n","name":"comment.line.number-sign.diff"},{"match":"^index [0-9a-f]{7,40}\\\\.\\\\.[0-9a-f]{7,40}.*$\\\\n?","name":"meta.diff.index.git"},{"captures":{"1":{"name":"punctuation.separator.key-value.diff"},"2":{"name":"meta.toc-list.file-name.diff"}},"match":"^Index(:) (.+)$\\\\n?","name":"meta.diff.index"},{"match":"^Only in .*: .*$\\\\n?","name":"meta.diff.only-in"}],"scopeName":"source.diff"}')),ZV=[EV]});var ux={};h1(ux,{default:()=>jV});var FV,jV,mx=s1(()=>{Y6();J6();g5();Ja();FV=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"]}')),jV=[...s4,...c4,...$3,...y7,FV]});var HV,a9,Qo=s1(()=>{_4();HV=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"]}')),a9=[...Y2,HV]});var dx={};h1(dx,{default:()=>el});var NV,el,tl=s1(()=>{NV=Object.freeze(JSON.parse('{"displayName":"CMake","fileTypes":["cmake","CMakeLists.txt"],"name":"cmake","patterns":[{"match":"\\\\b(?i:APPLE|BORLAND|(CMAKE_)?(CL_64|COMPILER_2005|HOST_APPLE|HOST_SYSTEM|HOST_SYSTEM_NAME|HOST_SYSTEM_PROCESSOR|HOST_SYSTEM_VERSION|HOST_UNIX|HOST_WIN32|LIBRARY_ARCHITECTURE|LIBRARY_ARCHITECTURE_REGEX|OBJECT_PATH_MAX|SYSTEM|SYSTEM_NAME|SYSTEM_PROCESSOR|SYSTEM_VERSION)|CYGWIN|MSVC|MSVC80|MSVC_IDE|MSVC_VERSION|UNIX|WIN32|XCODE_VERSION|MSVC60|MSVC70|MSVC90|MSVC71)\\\\b","name":"constant.source.cmake"},{"match":"\\\\b(?i:ABSOLUTE|AND|BOOL|CACHE|COMMAND|COMMENT|DEFINED|DOC|EQUAL|EXISTS|EXT|FALSE|GREATER|GREATER_EQUAL|INTERNAL|IN_LIST|IS_ABSOLUTE|IS_DIRECTORY|IS_NEWER_THAN|IS_SYMLINK|LESS|LESS_EQUAL|MATCHES|NAMES??|NAME_WE|NOT|OFF|ON|OR|PATHS??|POLICY|PROGRAM|STREQUAL|STRGREATER|STRGREATER_EQUAL|STRING|STRLESS|STRLESS_EQUAL|TARGET|TEST|TRUE|VERSION_EQUAL|VERSION_GREATER|VERSION_GREATER_EQUAL|VERSION_LESS)\\\\b","name":"keyword.cmake"},{"match":"^\\\\s*\\\\b(?i:add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_libraries|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)\\\\b","name":"keyword.cmake"},{"match":"\\\\b(?i:BUILD_SHARED_LIBS|(CMAKE_)?(ABSOLUTE_DESTINATION_FILES|AUTOMOC_RELAXED_MODE|BACKWARDS_COMPATIBILITY|BUILD_TYPE|COLOR_MAKEFILE|CONFIGURATION_TYPES|DEBUG_TARGET_PROPERTIES|DISABLE_FIND_PACKAGE_\\\\w+|FIND_LIBRARY_PREFIXES|FIND_LIBRARY_SUFFIXES|IGNORE_PATH|INCLUDE_PATH|INSTALL_DEFAULT_COMPONENT_NAME|INSTALL_PREFIX|LIBRARY_PATH|MFC_FLAG|MODULE_PATH|NOT_USING_CONFIG_FLAGS|POLICY_DEFAULT_CMP\\\\w+|PREFIX_PATH|PROGRAM_PATH|SKIP_INSTALL_ALL_DEPENDENCY|SYSTEM_IGNORE_PATH|SYSTEM_INCLUDE_PATH|SYSTEM_LIBRARY_PATH|SYSTEM_PREFIX_PATH|SYSTEM_PROGRAM_PATH|USER_MAKE_RULES_OVERRIDE|WARN_ON_ABSOLUTE_INSTALL_DESTINATION))\\\\b","name":"variable.source.cmake"},{"match":"\\\\$\\\\{\\\\w+}","name":"storage.source.cmake"},{"match":"\\\\$ENV\\\\{\\\\w+}","name":"storage.source.cmake"},{"match":"\\\\b(?i:(CMAKE_)?(\\\\w+_POSTFIX|ARCHIVE_OUTPUT_DIRECTORY|AUTOMOC|AUTOMOC_MOC_OPTIONS|BUILD_WITH_INSTALL_RPATH|DEBUG_POSTFIX|EXE_LINKER_FLAGS|EXE_LINKER_FLAGS_\\\\w+|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GNUtoMS|INCLUDE_CURRENT_DIR|INCLUDE_CURRENT_DIR_IN_INTERFACE|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_PATH_FLAG|LINK_DEF_FILE_FLAG|LINK_DEPENDS_NO_SHARED|LINK_INTERFACE_LIBRARIES|LINK_LIBRARY_FILE_FLAG|LINK_LIBRARY_FLAG|MACOSX_BUNDLE|NO_BUILTIN_CHRPATH|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|RUNTIME_OUTPUT_DIRECTORY|SKIP_BUILD_RPATH|SKIP_INSTALL_RPATH|TRY_COMPILE_CONFIGURATION|USE_RELATIVE_PATHS|WIN32_EXECUTABLE)|EXECUTABLE_OUTPUT_PATH|LIBRARY_OUTPUT_PATH)\\\\b","name":"variable.source.cmake"},{"match":"\\\\b(?i:CMAKE_(AR|ARGC|ARGV0|BINARY_DIR|BUILD_TOOL|CACHEFILE_DIR|CACHE_MAJOR_VERSION|CACHE_MINOR_VERSION|CACHE_PATCH_VERSION|CFG_INTDIR|COMMAND|CROSSCOMPILING|CTEST_COMMAND|CURRENT_BINARY_DIR|CURRENT_LIST_DIR|CURRENT_LIST_FILE|CURRENT_LIST_LINE|CURRENT_SOURCE_DIR|DL_LIBS|EDIT_COMMAND|EXECUTABLE_SUFFIX|EXTRA_GENERATOR|EXTRA_SHARED_LIBRARY_SUFFIXES|GENERATOR|HOME_DIRECTORY|IMPORT_LIBRARY_PREFIX|IMPORT_LIBRARY_SUFFIX|LINK_LIBRARY_SUFFIX|MAJOR_VERSION|MAKE_PROGRAM|MINOR_VERSION|PARENT_LIST_FILE|PATCH_VERSION|PROJECT_NAME|RANLIB|ROOT|SCRIPT_MODE_FILE|SHARED_LIBRARY_PREFIX|SHARED_LIBRARY_SUFFIX|SHARED_MODULE_PREFIX|SHARED_MODULE_SUFFIX|SIZEOF_VOID_P|SKIP_RPATH|SOURCE_DIR|STANDARD_LIBRARIES|STATIC_LIBRARY_PREFIX|STATIC_LIBRARY_SUFFIX|TWEAK_VERSION|USING_VC_FREE_TOOLS|VERBOSE_MAKEFILE|VERSION)|PROJECT_BINARY_DIR|PROJECT_NAME|PROJECT_SOURCE_DIR|\\\\w+_BINARY_DIR|\\\\w+__SOURCE_DIR)\\\\b","name":"variable.source.cmake"},{"begin":"#\\\\[(=*)\\\\[","end":"]\\\\1]","name":"comment.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"begin":"\\\\[(=*)\\\\[","end":"]\\\\1]","name":"argument.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"match":"#+.*$","name":"comment.source.cmake"},{"match":"\\\\b(?i:ADVANCED|HELPSTRING|MODIFIED|STRINGS|TYPE|VALUE)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ABSTRACT|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_<CONFIG>|COMPILE_FLAGS|EXTERNAL_OBJECT|Fortran_FORMAT|GENERATED|HEADER_FILE_ONLY|KEEP_EXTENSION|LABELS|LANGUAGE|LOCATION|MACOSX_PACKAGE_LOCATION|OBJECT_DEPENDS|OBJECT_OUTPUTS|SYMBOLIC|WRAP_EXCLUDE)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|COST|DEPENDS|ENVIRONMENT|FAIL_REGULAR_EXPRESSION|LABELS|MEASUREMENT|PASS_REGULAR_EXPRESSION|PROCESSORS|REQUIRED_FILES|RESOURCE_LOCK|RUN_SERIAL|TIMEOUT|WILL_FAIL|WORKING_DIRECTORY)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ADDITIONAL_MAKE_CLEAN_FILES|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_\\\\w+|DEFINITIONS|EXCLUDE_FROM_ALL|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\\\w+|LINK_DIRECTORIES|LISTFILE_STACK|MACROS|PARENT_DIRECTORY|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|TEST_INCLUDE_FILE|VARIABLES|VS_GLOBAL_SECTION_POST_\\\\w+|VS_GLOBAL_SECTION_PRE_\\\\w+)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ALLOW_DUPLICATE_CUSTOM_TARGETS|DEBUG_CONFIGURATIONS|DISABLED_FEATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|IN_TRY_COMPILE|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PREDEFINED_TARGETS_FOLDER|REPORT_UNDEFINED_PROPERTIES|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_SUPPORTS_SHARED_LIBS|USE_FOLDERS|__CMAKE_DELETE_CACHE_CHANGE_VARS_)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:\\\\w+_(OUTPUT_NAME|POSTFIX)|ARCHIVE_OUTPUT_(DIRECTORY(_\\\\w+)?|NAME(_\\\\w+)?)|AUTOMOC(_MOC_OPTIONS)?|BUILD_WITH_INSTALL_RPATH|BUNDLE(_EXTENSION)??|COMPATIBLE_INTERFACE_BOOL|COMPATIBLE_INTERFACE_STRING|COMPILE_(DEFINITIONS(_\\\\w+)?|FLAGS)|DEBUG_POSTFIX|DEFINE_SYMBOL|ENABLE_EXPORTS|EXCLUDE_FROM_ALL|EchoString|FOLDER|FRAMEWORK|Fortran_(FORMAT|MODULE_DIRECTORY)|GENERATOR_FILE_NAME|GNUtoMS|HAS_CXX|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(CONFIGURATIONS|IMPLIB(_\\\\w+)?|LINK_DEPENDENT_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_LANGUAGES(_\\\\w+)?|LINK_INTERFACE_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\\\w+)?|LOCATION(_\\\\w+)?|NO_SONAME(_\\\\w+)?|SONAME(_\\\\w+)?)|IMPORT_PREFIX|IMPORT_SUFFIX|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE|INTERFACE_COMPILE_DEFINITIONS|INTERFACE_INCLUDE_DIRECTORIES|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\\\w+|LABELS|LIBRARY_OUTPUT_DIRECTORY(_\\\\w+)?|LIBRARY_OUTPUT_NAME(_\\\\w+)?|LINKER_LANGUAGE|LINK_DEPENDS|LINK_FLAGS(_\\\\w+)?|LINK_INTERFACE_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\\\w+)?|LINK_LIBRARIES|LINK_SEARCH_END_STATIC|LINK_SEARCH_START_STATIC|LOCATION(_\\\\w+)?|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MAP_IMPORTED_CONFIG_\\\\w+|NO_SONAME|OSX_ARCHITECTURES(_\\\\w+)?|OUTPUT_NAME(_\\\\w+)?|PDB_NAME(_\\\\w+)?|POST_INSTALL_SCRIPT|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE|PRIVATE_HEADER|PROJECT_LABEL|PUBLIC|PUBLIC_HEADER|RESOURCE|RULE_LAUNCH_(COMPILE|CUSTOM|LINK)|RUNTIME_OUTPUT_(DIRECTORY(_\\\\w+)?|NAME(_\\\\w+)?)|SKIP_BUILD_RPATH|SOURCES|SOVERSION|STATIC_LIBRARY_FLAGS(_\\\\w+)?|SUFFIX|TYPE|VERSION|VS_DOTNET_REFERENCES|VS_GLOBAL_(\\\\w+|KEYWORD|PROJECT_TYPES)|VS_KEYWORD|VS_SCC_(AUXPATH|LOCALPATH|PROJECTNAME|PROVIDER)|VS_WINRT_EXTENSIONS|VS_WINRT_REFERENCES|WIN32_EXECUTABLE|XCODE_ATTRIBUTE_\\\\w+)\\\\b","name":"entity.source.cmake"},{"begin":"\\\\\\\\\\"","end":"\\\\\\\\\\"","name":"string.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"begin":"\\"","end":"\\"","name":"string.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"match":"\\\\bBUILD_NAME\\\\b","name":"invalid.deprecated.source.cmake"},{"match":"\\\\b(?i:(CMAKE_)?(C(?:XX_FLAGS|MAKE_CXX_FLAGS_DEBUG|MAKE_CXX_FLAGS_MINSIZEREL|MAKE_CXX_FLAGS_RELEASE|MAKE_CXX_FLAGS_RELWITHDEBINFO)))\\\\b","name":"variable.source.cmake"}],"repository":{},"scopeName":"source.cmake"}')),el=[NV]});var hx={};h1(hx,{default:()=>VV});var TV,VV,gx=s1(()=>{Qo();w7();Ya();me();Y6();t9();tl();Jo();TV=Object.freeze(JSON.parse('{"displayName":"reStructuredText","name":"rst","patterns":[{"include":"#body"}],"repository":{"anchor":{"match":"^\\\\.{2}\\\\s+(_[^:]+:)\\\\s*","name":"entity.name.tag.anchor"},"block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+\\\\S+::)(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"variable"}},"end":"^(?!\\\\1\\\\s|\\\\s*$)","patterns":[{"include":"#block-param"},{"include":"#body"}]},"block-comment":{"begin":"^(\\\\s*)\\\\.{2}(\\\\s+|$)","end":"^(?:(?=\\\\S)|\\\\s*$)","name":"comment.block","patterns":[{"begin":"^\\\\s{3,}(?=\\\\S)","name":"comment.block","while":"^(?:\\\\s{3}.*|\\\\s*$)"}]},"block-param":{"patterns":[{"captures":{"1":{"name":"keyword.control"},"2":{"name":"variable.parameter"}},"match":"(:param\\\\s+(.+?):)(?:\\\\s|$)"},{"captures":{"1":{"name":"keyword.control"},"2":{"patterns":[{"match":"\\\\b(0x[A-Fa-f\\\\d]+|\\\\d+)\\\\b","name":"constant.numeric"},{"include":"#inline-markup"}]}},"match":"(:.+?:)(?:$|\\\\s+(.*))"}]},"blocks":{"patterns":[{"include":"#domains"},{"include":"#doctest"},{"include":"#code-block-cpp"},{"include":"#code-block-py"},{"include":"#code-block-console"},{"include":"#code-block-javascript"},{"include":"#code-block-yaml"},{"include":"#code-block-cmake"},{"include":"#code-block-kconfig"},{"include":"#code-block-ruby"},{"include":"#code-block-dts"},{"include":"#code-block"},{"include":"#doctest-block"},{"include":"#raw-html"},{"include":"#block"},{"include":"#literal-block"},{"include":"#block-comment"}]},"body":{"patterns":[{"include":"#title"},{"include":"#inline-markup"},{"include":"#anchor"},{"include":"#line-block"},{"include":"#replace-include"},{"include":"#footnote"},{"include":"#substitution"},{"include":"#blocks"},{"include":"#table"},{"include":"#simple-table"},{"include":"#options-list"}]},"bold":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)\\\\*{2}[^*\\\\s]","end":"\\\\*{2}|^\\\\s*$","name":"markup.bold"},"citation":{"applyEndPatternLast":0,"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)`[^`\\\\s]","end":"`_{0,2}|^\\\\s*$","name":"entity.name.tag"},"code-block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)","beginCaptures":{"2":{"name":"keyword.control"}},"patterns":[{"include":"#block-param"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-cmake":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(cmake)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.cmake"}},"patterns":[{"include":"#block-param"},{"include":"source.cmake"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-console":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(console|shell|bash)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.console"}},"patterns":[{"include":"#block-param"},{"include":"source.shell"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-cpp":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(c|c\\\\+\\\\+|cpp|C|C\\\\+\\\\+|CPP|Cpp)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.cpp"}},"patterns":[{"include":"#block-param"},{"include":"source.cpp"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-dts":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(dts|DTS|devicetree)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.dts"}},"patterns":[{"include":"#block-param"},{"include":"source.dts"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-javascript":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(javascript)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.js"}},"patterns":[{"include":"#block-param"},{"include":"source.js"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-kconfig":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*([Kk]config)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.kconfig"}},"patterns":[{"include":"#block-param"},{"include":"source.kconfig"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-py":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(python)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.py"}},"patterns":[{"include":"#block-param"},{"include":"source.python"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-ruby":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(ruby)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.ruby"}},"patterns":[{"include":"#block-param"},{"include":"source.ruby"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-yaml":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(ya?ml)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.yaml"}},"patterns":[{"include":"#block-param"},{"include":"source.yaml"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"doctest":{"begin":"^(>>>)\\\\s*(.*)","beginCaptures":{"1":{"name":"keyword.control"},"2":{"patterns":[{"include":"source.python"}]}},"end":"^\\\\s*$"},"doctest-block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+doctest::)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"}},"patterns":[{"include":"#block-param"},{"include":"source.python"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-auto":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+auto(?:class|module|exception|function|decorator|data|method|attribute|property)::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control.py"},"3":{"patterns":[{"include":"source.python"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-cpp":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+c(?:pp|):(?:class|struct|function|member|var|type|enum|enum-struct|enum-class|enumerator|union|concept)::)\\\\s*(?:(@\\\\w+)|(.*))","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"entity.name.tag"},"4":{"patterns":[{"include":"source.cpp"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-js":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+js:\\\\w+::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"patterns":[{"include":"source.js"}]}},"end":"^(?!\\\\1[\\\\t ]|$)","patterns":[{"include":"#block-param"},{"include":"#body"}]},"domain-py":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+py:(?:module|function|data|exception|class|attribute|property|method|staticmethod|classmethod|decorator|decoratormethod)::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"patterns":[{"include":"source.python"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domains":{"patterns":[{"include":"#domain-cpp"},{"include":"#domain-py"},{"include":"#domain-auto"},{"include":"#domain-js"}]},"escaped":{"match":"\\\\\\\\.","name":"constant.character.escape"},"footnote":{"match":"^\\\\s*\\\\.{2}\\\\s+\\\\[(?:[-.\\\\w]+|[#*]|#\\\\w+)]\\\\s+","name":"entity.name.tag"},"footnote-ref":{"match":"\\\\[(?:[-.\\\\w]+|[#*])]_","name":"entity.name.tag"},"ignore":{"patterns":[{"match":"\'[*`]+\'"},{"match":"<[*`]+>"},{"match":"\\\\{[*`]+}"},{"match":"\\\\([*`]+\\\\)"},{"match":"\\\\[[*`]+]"},{"match":"\\"[*`]+\\""}]},"inline-markup":{"patterns":[{"include":"#escaped"},{"include":"#ignore"},{"include":"#ref"},{"include":"#literal"},{"include":"#monospaced"},{"include":"#citation"},{"include":"#bold"},{"include":"#italic"},{"include":"#list"},{"include":"#macro"},{"include":"#reference"},{"include":"#footnote-ref"}]},"italic":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)\\\\*[^*\\\\s]","end":"\\\\*|^\\\\s*$","name":"markup.italic"},"line-block":{"match":"^\\\\|\\\\s+","name":"keyword.control"},"list":{"match":"^\\\\s*(\\\\d+\\\\.|\\\\* -|[#A-Za-z]\\\\.|[CIMVXcimvx]+\\\\.|\\\\(\\\\d+\\\\)|\\\\d+\\\\)|[-*+])\\\\s+","name":"keyword.control"},"literal":{"captures":{"1":{"name":"keyword.control"},"2":{"name":"entity.name.tag"}},"match":"(:\\\\S+:)(`.*?`\\\\\\\\?)"},"literal-block":{"begin":"^(\\\\s*)(.*)(::)\\\\s*$","beginCaptures":{"2":{"patterns":[{"include":"#inline-markup"}]},"3":{"name":"keyword.control"}},"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"macro":{"match":"\\\\|[^|]+\\\\|","name":"entity.name.tag"},"monospaced":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)``[^`\\\\s]","end":"``|^\\\\s*$","name":"string.interpolated"},"options-list":{"match":"(?:(?:^|,\\\\s+)(?:[-+]\\\\w|--?[A-Za-z][-\\\\w]+|/\\\\w+)(?:[ =](?:\\\\w+|<[^<>]+?>))?)+(?= |\\\\t|$)","name":"variable.parameter"},"raw-html":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+raw\\\\s*::)\\\\s+(html)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"variable.parameter.html"}},"patterns":[{"include":"#block-param"},{"include":"text.html.derivative"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"ref":{"begin":"(:ref:)`","beginCaptures":{"1":{"name":"keyword.control"}},"end":"`|^\\\\s*$","name":"entity.name.tag","patterns":[{"match":"<.*?>","name":"markup.underline.link"}]},"reference":{"match":"[-\\\\w]*[-A-Za-z\\\\d]__?\\\\b","name":"entity.name.tag"},"replace-include":{"captures":{"1":{"name":"keyword.control"},"2":{"name":"entity.name.tag"},"3":{"name":"keyword.control"}},"match":"^\\\\s*(\\\\.{2})\\\\s+(\\\\|[^|]+\\\\|)\\\\s+(replace::)"},"simple-table":{"match":"^[=\\\\s]+$","name":"keyword.control.table"},"substitution":{"match":"^\\\\.{2}\\\\s*\\\\|([^|]+)\\\\|","name":"entity.name.tag"},"table":{"begin":"^\\\\s*\\\\+[-+=]+\\\\+\\\\s*$","beginCaptures":{"0":{"name":"keyword.control.table"}},"end":"^(?![+|])","patterns":[{"match":"[-+=|]","name":"keyword.control.table"}]},"title":{"match":"^(\\\\*{3,}|#{3,}|={3,}|~{3,}|\\\\+{3,}|-{3,}|`{3,}|\\\\^{3,}|:{3,}|\\"{3,}|_{3,}|\'{3,})$","name":"markup.heading"}},"scopeName":"source.rst","embeddedLangs":["html-derivative","cpp","python","javascript","shellscript","yaml","cmake","ruby"]}')),VV=[...a9,...it,...v7,...L0,...s4,...x7,...el,...Yo,TV]});var bx={};h1(bx,{default:()=>z7});var qV,z7,i9=s1(()=>{qV=Object.freeze(JSON.parse('{"displayName":"R","fileTypes":["R","r","Rprofile"],"foldingStartMarker":"\\\\{\\\\s*(?:#|$)","foldingStopMarker":"^\\\\s*}","name":"r","patterns":[{"include":"#roxygen-example"},{"include":"#basic"}],"repository":{"basic":{"patterns":[{"include":"#roxygen"},{"include":"#comment"},{"include":"#expression"}]},"basic-roxygen-example":{"patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"},{"include":"#comment"},{"include":"#expression"}]},"brackets":{"patterns":[{"begin":"\\\\{","end":"}","name":"meta.bracket","patterns":[{"include":"#basic"}]},{"begin":"\\\\[","end":"]","name":"meta.bracket","patterns":[{"captures":{"1":{"name":"variable.parameter"}},"match":"([.\\\\w]+)\\\\s*(?==[^=])"},{"include":"#basic"}]},{"begin":"\\\\(","end":"\\\\)","name":"meta.bracket","patterns":[{"captures":{"1":{"name":"variable.parameter"}},"match":"([.\\\\w]+)\\\\s*(?==[^=])"},{"include":"#basic"}]}]},"comment":{"match":"#.*","name":"comment.line"},"escape-code":{"match":"\\\\\\\\[\\"\'\\\\\\\\`abefnrtv]","name":"constant.character.escape"},"escape-hex":{"match":"\\\\\\\\x\\\\h+","name":"constant.numeric"},"escape-invalid":{"match":"\\\\\\\\.","name":"invalid"},"escape-octal":{"match":"\\\\\\\\\\\\d{1,3}","name":"constant.character.escape"},"escape-unicode":{"match":"\\\\\\\\[Uu](?:\\\\h+|\\\\{\\\\h+})","name":"constant.character.escape"},"escapes":{"patterns":[{"include":"#escape-code"},{"include":"#escape-hex"},{"include":"#escape-octal"},{"include":"#escape-unicode"},{"include":"#escape-invalid"}]},"expression":{"patterns":[{"include":"#brackets"},{"include":"#raw-strings"},{"include":"#strings"},{"include":"#function-definition"},{"include":"#keywords"},{"include":"#namespace-call"},{"include":"#function-call"},{"include":"#identifiers"},{"include":"#numbers"},{"include":"#operators"}]},"function-call":{"captures":{"0":{"name":"meta.function-call"},"1":{"name":"entity.name.function"}},"match":"([.\\\\w]+)(?=\\\\()"},"function-definition":{"begin":"(function)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other"},"2":{"name":"meta.bracket"}},"end":"(\\\\))","endCaptures":{"1":{"name":"meta.bracket"}},"name":"meta.function.definition","patterns":[{"begin":"([.\\\\w]+)","beginCaptures":{"1":{"name":"variable.parameter"}},"end":"(?=[),])","patterns":[{"include":"#basic"}]},{"include":"#basic"}]},"identifier-quoted":{"begin":"`","end":"`","name":"variable.object","patterns":[{"match":"\\\\\\\\`"}]},"identifier-syntactic":{"match":"[.\\\\p{L}\\\\p{Nl}][.\\\\p{L}\\\\p{Nl}\\\\p{Mn}\\\\p{Mc}\\\\d\\\\p{Pc}]*","name":"variable.object"},"identifiers":{"patterns":[{"include":"#identifier-syntactic"},{"include":"#identifier-quoted"}]},"keywords":{"patterns":[{"include":"#keywords-control"},{"include":"#keywords-builtin"},{"include":"#keywords-constant"}]},"keywords-builtin":{"match":"(?:setGroupGeneric|setRefClass|setGeneric|NextMethod|setMethod|UseMethod|tryCatch|setClass|warning|require|library|R6Class|return|switch|attach|detach|source|stop|try)(?=\\\\()","name":"keyword.other"},"keywords-constant":{"match":"(?:NA_character_|NA_integer_|NA_complex_|NA_real_|TRUE|FALSE|NULL|Inf|NaN|NA)\\\\b","name":"constant.language"},"keywords-control":{"match":"(?:\\\\\\\\|function|if|else|in|break|next|repeat|for|while)\\\\b","name":"keyword"},"latex":{"patterns":[{"match":"\\\\\\\\\\\\w+","name":"keyword.other"}]},"markdown":{"patterns":[{"begin":"(`{3,})\\\\s*(.*)","beginCaptures":{"1":{"name":"comment.line"},"2":{"name":"entity.name.section"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"comment.line"}},"patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"}]},{"captures":{"1":{"name":"meta.bracket"},"2":{"name":"variable.object"},"3":{"name":"keyword.operator"},"4":{"name":"entity.name.function"},"5":{"name":"meta.bracket"},"6":{"name":"meta.bracket"}},"match":"(\\\\[)(?:(\\\\w+)(:{2,3}))?(\\\\w+)(\\\\(\\\\))?(])"},{"match":"(\\\\s+|^)(__.+?__)\\\\b","name":"markdown.bold"},{"match":"(\\\\s+|^)(_(?=[^_])(?:\\\\\\\\.|[^\\\\\\\\_])*?_)\\\\b","name":"markdown.italic"},{"match":"(\\\\*\\\\*.+?\\\\*\\\\*)","name":"markdown.bold"},{"match":"(\\\\*(?=[^*\\\\s])(?:\\\\\\\\.|[^*\\\\\\\\])*?\\\\*)","name":"markdown.italic"},{"match":"(`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","name":"markup.quote"},{"match":"(<)([^>]*)(>)","name":"markup.underline.link"}]},"namespace-call":{"captures":{"1":{"name":"entity.name.namespace.r"},"2":{"name":"keyword.operator"}},"match":"(?<![.0-9A-Z_a-z])([.A-Z_a-z][.0-9A-Z_a-z]*)(:::?)"},"numbers":{"patterns":[{"match":"0[Xx]\\\\h+(?:p[-+]?\\\\d+)?[Li]?","name":"constant.numeric"},{"match":"(?:\\\\d+(?:\\\\.\\\\d*)?|\\\\.\\\\d+)(?:[Ee][-+]?\\\\d*)?[Li]?","name":"constant.numeric"}]},"operators":{"match":"%.*?%|:::?|:=|\\\\|>|=>|%%|>=|<=|==|!=|<<-|->>?|<-|\\\\|\\\\||&&|[-+=]|\\\\*\\\\*?|[!$\\\\&,/:<>?@^|~]","name":"keyword.operator"},"qqstring":{"begin":"\\"","end":"\\"","name":"string.quoted.double","patterns":[{"include":"#escapes"}]},"qstring":{"begin":"\'","end":"\'","name":"string.quoted.single","patterns":[{"include":"#escapes"}]},"raw-strings":{"name":"string.quoted.other","patterns":[{"begin":"[Rr]\\"(-*)\\\\{","end":"}\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\{","end":"}\\\\1\'","name":"string.quoted.other"},{"begin":"[Rr]\\"(-*)\\\\[","end":"]\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\[","end":"]\\\\1\'","name":"string.quoted.other"},{"begin":"[Rr]\\"(-*)\\\\(","end":"\\\\)\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\(","end":"\\\\)\\\\1\'","name":"string.quoted.other"}]},"roxygen":{"begin":"^(\\\\s*#+\')","beginCaptures":{"1":{"name":"comment.line.roxygen"}},"end":"$","patterns":[{"include":"#markdown"},{"include":"#roxygen-tokens"},{"include":"#latex"},{"match":".","name":"comment.line"}]},"roxygen-example":{"begin":"^(\\\\s*#+\')\\\\s*(?:(@examples)\\\\s*|(@examplesIf)\\\\s+(.*))$","beginCaptures":{"1":{"name":"comment.line"},"2":{"name":"keyword.other"},"3":{"name":"keyword.other"},"4":{"patterns":[{"include":"#expression"}]}},"end":"^(?:\\\\s*(?=#+\'\\\\s*@)|\\\\s*(?!#+\'))","patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"},{"match":"[]()\\\\[{}]","name":"meta.bracket"},{"include":"#latex"},{"include":"#roxygen-tokens"},{"include":"#basic-roxygen-example"}]},"roxygen-tokens":{"patterns":[{"match":"@@","name":"constant.character.escape"},{"begin":"(@(?:param|field|slot))\\\\s*","beginCaptures":{"1":{"name":"keyword.other"}},"end":"\\\\s|$","patterns":[{"match":"([.\\\\w]+)","name":"variable.parameter"},{"match":",","name":"keyword.operator"}]},{"match":"@(?!@)\\\\w*","name":"keyword.other"}]},"strings":{"patterns":[{"include":"#qstring"},{"include":"#qqstring"}]}},"scopeName":"source.r"}')),z7=[qV]});var IV,fx,vx=s1(()=>{i9();IV=Object.freeze(JSON.parse('{"displayName":"TeX","name":"tex","patterns":[{"include":"#iffalse-block"},{"include":"#macro-control"},{"include":"#catcode"},{"include":"#comment"},{"match":"[]\\\\[]","name":"punctuation.definition.brackets.tex"},{"include":"#dollar-math"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.newline.tex"},{"include":"#ifnextchar"},{"include":"#macro-general"}],"repository":{"braces":{"begin":"(?<!\\\\\\\\)\\\\{","beginCaptures":{"0":{"name":"punctuation.group.begin.tex"}},"end":"(?<!\\\\\\\\)}","endCaptures":{"0":{"name":"punctuation.group.end.tex"}},"name":"meta.group.braces.tex","patterns":[{"include":"#braces"}]},"catcode":{"captures":{"1":{"name":"keyword.control.catcode.tex"},"2":{"name":"punctuation.definition.keyword.tex"},"3":{"name":"punctuation.separator.key-value.tex"},"4":{"name":"constant.numeric.category.tex"}},"match":"((\\\\\\\\)catcode)`\\\\\\\\?.(=)(\\\\d+)","name":"meta.catcode.tex"},"comment":{"begin":"(^[\\\\t ]+)?(?=%)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.tex"}},"end":"(?!\\\\G)","patterns":[{"begin":"%:?","beginCaptures":{"0":{"name":"punctuation.definition.comment.tex"}},"end":"$\\\\n?","name":"comment.line.percentage.tex"},{"begin":"^(%!TEX) (\\\\S*) =","beginCaptures":{"1":{"name":"punctuation.definition.comment.tex"}},"end":"$\\\\n?","name":"comment.line.percentage.directive.tex"}]},"conditionals":{"begin":"(?<=^\\\\s*)\\\\\\\\if(?!f\\\\b)[a-z]*","end":"(?<=^\\\\s*)\\\\\\\\fi","patterns":[{"include":"#comment"},{"include":"#conditionals"}]},"dollar-math":{"begin":"(\\\\$\\\\$?)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.tex"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.tex"}},"name":"meta.math.block.tex support.class.math.block.tex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.tex"},{"include":"#math-content"},{"include":"$self"}]},"iffalse-block":{"begin":"(?<=^\\\\s*)((\\\\\\\\)iffalse)(?!\\\\s*[{}]\\\\s*\\\\\\\\fi\\\\b)","beginCaptures":{"1":{"name":"keyword.control.tex"},"2":{"name":"punctuation.definition.keyword.tex"}},"contentName":"comment.line.percentage.tex","end":"((\\\\\\\\)(?:else|fi))\\\\b","endCaptures":{"1":{"name":"keyword.control.tex"},"2":{"name":"punctuation.definition.keyword.tex"}},"patterns":[{"include":"#comment"},{"include":"#braces"},{"include":"#conditionals"}]},"ifnextchar":{"match":"\\\\\\\\@ifnextchar[(\\\\[{]","name":"keyword.control.ifnextchar.tex"},"macro-control":{"captures":{"1":{"name":"punctuation.definition.keyword.tex"}},"match":"(\\\\\\\\)(backmatter|csname|else|endcsname|fi|frontmatter|mainmatter|unless|if(case|cat|csname|defined|dim|eof|false|fontchar|hbox|hmode|inner|mmode|num|odd|true|vbox|vmode|void|x)?)(?![@-Za-z])","name":"keyword.control.tex"},"macro-general":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\\\\\)_*[@\\\\p{Alphabetic}]+(?:_[@\\\\p{Alphabetic}]+)*:[DFNTVcefnopvwx]*","name":"support.class.general.latex3.tex"},{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\.)[@\\\\p{Alphabetic}]+(?:_[@\\\\p{Alphabetic}]+)*:[DFNTVcefnopvwx]*","name":"support.class.general.latex3.tex"},{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\\\\\)(?:[,;]|[@\\\\p{Alphabetic}]+)","name":"support.function.general.tex"},{"captures":{"1":{"name":"punctuation.definition.keyword.tex"}},"match":"(\\\\\\\\)[^@-Za-z]","name":"constant.character.escape.tex"}]},"math-content":{"patterns":[{"begin":"((\\\\\\\\)(?:text|mbox))(\\\\{)","beginCaptures":{"1":{"name":"constant.other.math.tex"},"2":{"name":"punctuation.definition.function.tex"},"3":{"name":"punctuation.definition.arguments.begin.tex meta.text.normal.tex"}},"contentName":"meta.text.normal.tex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.tex meta.text.normal.tex"}},"patterns":[{"include":"#math-content"},{"include":"$self"}]},{"match":"\\\\\\\\[{}]","name":"punctuation.math.bracket.pair.tex"},{"match":"\\\\\\\\(left|right|((bigg??|Bigg??)[lr]?))([]().<>\\\\[|]|\\\\\\\\[{|}]|\\\\\\\\[lr]?[Vv]ert|\\\\\\\\[lr]angle)","name":"punctuation.math.bracket.pair.big.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(s(s(earrow|warrow|lash)|h(ort(downarrow|uparrow|parallel|leftarrow|rightarrow|mid)|arp)|tar|i(gma|m(eq)?)|u(cc(sim|n(sim|approx)|curlyeq|eq|approx)?|pset(neq(q)?|plus(eq)?|eq(q)?)?|rd|m|bset(neq(q)?|plus(eq)?|eq(q)?)?)|p(hericalangle|adesuit)|e(tminus|arrow)|q(su(pset(eq)?|bset(eq)?)|c([au]p)|uare)|warrow|m(ile|all(s(etminus|mile)|frown)))|h(slash|ook((?:lef|righ)tarrow)|eartsuit|bar)|R(sh|ightarrow|e|bag)|Gam(e|ma)|n(s(hort(parallel|mid)|im|u(cc(eq)?|pseteq(q)?|bseteq))|Rightarrow|n([ew]arrow)|cong|triangle(left(eq(slant)?)?|right(eq(slant)?)?)|i(plus)?|u|p(lus|arallel|rec(eq)?)|e(q|arrow|g|xists)|v([Dd]ash)|warrow|le(ss|q(slant|q)?|ft((?:|right)arrow))|a(tural|bla)|VDash|rightarrow|g(tr|eq(slant|q)?)|mid|Left((?:|right)arrow))|c(hi|irc(eq|le(d(circ|S|dash|ast)|arrow(left|right)))?|o(ng|prod|lon|mplement)|dot([ps])?|u(p|r(vearrow(left|right)|ly(eq(succ|prec)|vee((?:down|up)arrow)?|wedge((?:down|up)arrow)?)))|enterdot|lubsuit|ap)|Xi|Maps(to(char)?|from(char)?)|B(ox|umpeq|bbk)|t(h(ick(sim|approx)|e(ta|refore))|imes|op|wohead((?:lef|righ)tarrow)|a(u|lloblong)|riangle(down|q|left(eq(slant)?)?|right(eq(slant)?)?)?)|i(n(t(er(cal|leave))?|plus|fty)?|ota|math)|S(igma|u([bp]set))|zeta|o(slash|times|int|dot|plus|vee|wedge|lessthan|greaterthan|m(inus|ega)|b(slash|long|ar))|d(i(v(ideontimes)?|a(g(down|up)|mond(suit)?)|gamma)|o(t(plus|eq(dot)?)|ublebarwedge|wn(harpoon(left|right)|downarrows|arrow))|d(ots|agger)|elta|a(sh(v|leftarrow|rightarrow)|leth|gger))|Y(down|up|left|right)|C([au]p)|u(n([lr]hd)|p(silon|harpoon(left|right)|downarrow|uparrows|lus|arrow)|lcorner|rcorner)|jmath|Theta|Im|p(si|hi|i(tchfork)?|erp|ar(tial|allel)|r(ime|o(d|pto)|ec(sim|n(sim|approx)|curlyeq|eq|approx)?)|m)|e(t([ah])|psilon|q(slant(less|gtr)|circ|uiv)|ll|xists|mptyset)|Omega|D(iamond|ownarrow|elta)|v(d(ots|ash)|ee(bar)?|Dash|ar(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|curly(vee|wedge)|t(heta|imes|riangle(left|right)?)|o(slash|circle|times|dot|plus|vee|wedge|lessthan|ast|greaterthan|minus|b(slash|ar))|p(hi|i|ropto)|epsilon|kappa|rho|bigcirc))|kappa|Up(silon|downarrow|arrow)|Join|f(orall|lat|a(t(s(emi|lash)|bslash)|llingdotseq)|rown)|P((?:s|h?)i)|w(p|edge|r)|l(hd|n(sim|eq(q)?|approx)|ceil|times|ightning|o(ng(left((?:|right)arrow)|rightarrow|maps(to|from))|zenge|oparrow(left|right))|dot([ps])|e(ss(sim|dot|eq(q?gtr)|approx|gtr)|q(slant|q)?|ft(slice|harpoon(down|up)|threetimes|leftarrows|arrow(t(ail|riangle))?|right(squigarrow|harpoons|arrow(s|triangle|eq)?))|adsto)|vertneqq|floor|l(c(orner|eil)|floor|l|bracket)?|a(ngle|mbda)|rcorner|bag)|a(s(ymp|t)|ngle|pprox(eq)?|l(pha|eph)|rrownot|malg)|V(v??dash)|r(h([do])|ceil|times|i(singdotseq|ght(s(quigarrow|lice)|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(t(ail|riangle))?|rightarrows))|floor|angle|r(ceil|parenthesis|floor|bracket)|bag)|g(n(sim|eq(q)?|approx)|tr(sim|dot|eq(q?less)|less|approx)|imel|eq(slant|q)?|vertneqq|amma|g(g)?)|Finv|xi|m(ho|i(nuso|d)|o(o|dels)|u(ltimap)?|p|e(asuredangle|rge)|aps(to|from(char)?))|b(i(n(dnasrepma|ampersand)|g(s(tar|qc([au]p))|nplus|c(irc|u(p|rly(vee|wedge))|ap)|triangle(down|up)|interleave|o(times|dot|plus)|uplus|parallel|vee|wedge|box))|o(t|wtie|x(slash|circle|times|dot|plus|empty|ast|minus|b(slash|ox|ar)))|u(llet|mpeq)|e(cause|t(h|ween|a))|lack(square|triangle(down|left|right)?|lozenge)|a(ck(s(im(eq)?|lash)|prime|epsilon)|r(o|wedge))|bslash)|L(sh|ong(left((?:|right)arrow)|rightarrow|maps(to|from))|eft((?:|right)arrow)|leftarrow|ambda|bag)|ge|le|Arrownot)(?![@-Za-z])","name":"constant.character.math.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(sum|prod|coprod|int|oint|bigcap|bigcup|bigsqcup|bigvee|bigwedge|bigodot|bigotimes|bogoplus|biguplus)\\\\b","name":"constant.character.math.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(arccos|arcsin|arctan|arg|cosh??|coth??|csc|deg|det|dim|exp|gcd|hom|inf|ker|lg|lim|liminf|limsup|ln|log|max|min|pr|sec|sinh??|sup|tanh??)\\\\b","name":"constant.other.math.tex"},{"begin":"((\\\\\\\\)Sexpr(\\\\{))","beginCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.definition.function.math.tex"},"3":{"name":"punctuation.section.embedded.begin.math.tex"}},"contentName":"support.function.sexpr.math.tex","end":"(((})))","endCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.section.embedded.end.math.tex"},"3":{"name":"source.r"}},"name":"meta.embedded.line.r","patterns":[{"begin":"\\\\G(?!})","end":"(?=})","name":"source.r","patterns":[{"include":"source.r"}]}]},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(?!begin\\\\{|verb)([A-Za-z]+)","name":"constant.other.general.math.tex"},{"match":"(?<!\\\\\\\\)\\\\{","name":"punctuation.math.begin.bracket.curly.tex"},{"match":"(?<!\\\\\\\\)}","name":"punctuation.math.end.bracket.curly.tex"},{"match":"(?<!\\\\\\\\)\\\\(","name":"punctuation.math.begin.bracket.round.tex"},{"match":"(?<!\\\\\\\\)\\\\)","name":"punctuation.math.end.bracket.round.tex"},{"match":"(([0-9]*\\\\.[0-9]+)|[0-9]+)","name":"constant.numeric.math.tex"},{"match":"[-*+/]|(?<!\\\\^)\\\\^(?!\\\\^)|(?<!_)_(?!_)","name":"punctuation.math.operator.tex"}]}},"scopeName":"text.tex","embeddedLangs":["r"]}')),fx=[...z7,IV]});var yx={};h1(yx,{default:()=>PV});var BV,PV,_x=s1(()=>{vx();BV=Object.freeze(JSON.parse('{"displayName":"LaTeX","name":"latex","patterns":[{"match":"(?<=\\\\\\\\(?:[@\\\\w]|[@\\\\w]{2}|[@\\\\w]{3}|[@\\\\w]{4}|[@\\\\w]{5}|[@\\\\w]{6}))\\\\s","name":"meta.space-after-command.latex"},{"include":"#songs-env"},{"include":"#embedded-code-env"},{"include":"#verbatim-env"},{"include":"#document-env"},{"include":"#all-balanced-env"},{"include":"#documentclass-usepackage-macro"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#newcommand-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"text.tex"}],"repository":{"all-balanced-env":{"patterns":[{"begin":"\\\\s*((\\\\\\\\)begin)(\\\\{)((?:\\\\+?array|equation|(?:IEEE|sub)?eqnarray|multline|align|aligned|alignat|alignedat|flalign|flaligned|flalignat|split|gather|gathered|(?:[+dr]|dr)?cases|(?:display)?math|\\\\+?[A-Za-z]*matrix|[BVbpv]?NiceMatrix|[BVbpv]?NiceArray|(?:arg)?m(?:ini|axi))[!*]?)(})(\\\\s*\\\\n)?","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"variable.parameter.function.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.math.block.latex support.class.math.block.environment.latex","end":"\\\\s*((\\\\\\\\)end)(\\\\{)(\\\\4)(})(?:\\\\s*\\\\n)?","name":"meta.function.environment.math.latex","patterns":[{"match":"(?<!\\\\\\\\)&","name":"keyword.control.equation.align.latex"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.equation.newline.latex"},{"include":"#label-macro"},{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\s*(\\\\\\\\begin\\\\{empheq}(?:\\\\[.*])?)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.math.block.latex support.class.math.block.environment.latex","end":"\\\\s*(\\\\\\\\end\\\\{empheq})","name":"meta.function.environment.math.latex","patterns":[{"match":"(?<!\\\\\\\\)&","name":"keyword.control.equation.align.latex"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.equation.newline.latex"},{"include":"#label-macro"},{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(tabular[*xy]?|xltabular|longtable|(?:long)?tabu|(?:long|tall)?tblr|NiceTabular[*X]?|booktabs)}(\\\\s*\\\\n)?)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.data.environment.tabular.latex","end":"(\\\\s*\\\\\\\\end\\\\{(\\\\2)}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.tabular.latex","patterns":[{"match":"(?<!\\\\\\\\)&","name":"keyword.control.table.cell.latex"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.table.newline.latex"},{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(itemize|enumerate|description|list)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.list.latex","patterns":[{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{tikzpicture})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{tikzpicture}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.latex.tikz","patterns":[{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{frame})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{frame})","name":"meta.function.environment.frame.latex","patterns":[{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(mpost\\\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.latex.mpost"},{"begin":"(\\\\s*\\\\\\\\begin\\\\{markdown})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.embedded.markdown_latex_combined","end":"(\\\\\\\\end\\\\{markdown})","patterns":[{"include":"text.tex.markdown_latex_combined"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(\\\\p{Alphabetic}+\\\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.general.latex","patterns":[{"include":"$self"}]}]},"all-other-macro":{"patterns":[{"match":"\\\\\\\\(?:newline|pagebreak|clearpage|linebreak|pause)\\\\b","name":"keyword.control.layout.latex"},{"begin":"((\\\\\\\\)marginpar)((?:\\\\[[^\\\\[]*?])*)(\\\\{)","beginCaptures":{"1":{"name":"support.function.marginpar.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.marginpar.begin.latex"}},"contentName":"meta.paragraph.margin.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.marginpar.end.latex"}},"patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)footnote)((?:\\\\[[^\\\\[]*?])*)(\\\\{)","beginCaptures":{"1":{"name":"support.function.footnote.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.footnote.begin.latex"}},"contentName":"entity.name.footnote.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.footnote.end.latex"}},"patterns":[{"include":"#braces"},{"include":"$self"}]},{"captures":{"0":{"name":"keyword.other.item.latex"},"1":{"name":"punctuation.definition.keyword.latex"}},"match":"(\\\\\\\\)item\\\\b","name":"meta.scope.item.latex"},{"captures":{"1":{"name":"punctuation.definition.constant.latex"}},"match":"(\\\\\\\\)(text(s(terling|ixoldstyle|urd|e(ction|venoldstyle|rvicemark))|yen|n(ineoldstyle|umero|aira)|c(ircledP|o(py(left|right)|lonmonetary)|urrency|e(nt(oldstyle)?|lsius))|t(hree(superior|oldstyle|quarters(emdash)?)|i(ldelow|mes)|w(o(superior|oldstyle)|elveudash)|rademark)|interrobang(down)?|zerooldstyle|o(hm|ne(superior|half|oldstyle|quarter)|penbullet|rd((?:femin|mascul)ine))|d(i(scount|ed|v(orced)?)|o(ng|wnarrow|llar(oldstyle)?)|egree|agger(dbl)?|blhyphen(char)?)|uparrow|p(ilcrow|e(so|r(t((?:|ent)housand)|iodcentered))|aragraph|m)|e(stimated|ightoldstyle|uro)|quotes(traight((?:dbl|)base)|ingle)|f(iveoldstyle|ouroldstyle|lorin|ractionsolidus)|won|l(not|ira|e(ftarrow|af)|quill|angle|brackdbl)|a(s(cii(caron|dieresis|acute|grave|macron|breve)|teriskcentered)|cutedbl)|r(ightarrow|e(cipe|ferencemark|gistered)|quill|angle|brackdbl)|g(uarani|ravedbl)|m(ho|inus|u(sicalnote)?|arried)|b(igcircle|orn|ullet|lank|a(ht|rdbl)|rokenbar)))\\\\b","name":"constant.character.latex"},{"captures":{"1":{"name":"punctuation.definition.variable.latex"}},"match":"(\\\\\\\\)(?:[cgl]_+[@_\\\\p{Alphabetic}]+_[a-z]+|[qs]_[@_\\\\p{Alphabetic}]+[@\\\\p{Alphabetic}])","name":"variable.other.latex3.latex"}]},"autocites-arg":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#optional-arg-parenthesis-no-highlight"}]},"2":{"patterns":[{"include":"#optional-arg-bracket-no-highlight"}]},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"constant.other.reference.citation.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"patterns":[{"include":"#autocites-arg"}]}},"match":"((?:\\\\([^)]*\\\\)){0,2})((?:\\\\[[^]]*]){0,2})(\\\\{)([-.:_\\\\p{Alphabetic}\\\\p{N}]+)(})(.*)"}]},"braces":{"begin":"(?<!\\\\\\\\)\\\\{","beginCaptures":{"0":{"name":"punctuation.group.begin.latex"}},"end":"(?<!\\\\\\\\)}","endCaptures":{"0":{"name":"punctuation.group.end.latex"}},"name":"meta.group.braces.latex","patterns":[{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#macro-with-args-tokenizer"},{"include":"#all-other-macro"},{"include":"text.tex"},{"include":"#braces"}]},"citation-macro":{"begin":"((\\\\\\\\)(?:[Aa]uto|foot|full|footfull|no|ref|short|[Tt]ext|[Pp]aren|[Ss]mart|[FPfp]vol|vol)?[Cc]ite(?:al)?(?:[pst]|author|year(?:par)?|title|url|date)?[ANP]*\\\\*?)((?:(?:\\\\([^)]*\\\\)){0,2}(?:\\\\[[^]]*]){0,2}\\\\{[-.:_\\\\p{Alphabetic}\\\\p{N}]*})*)(<[^]<>]*>)?((?:\\\\[[^]]*])*)(\\\\{)","captures":{"1":{"name":"keyword.control.cite.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"patterns":[{"include":"#autocites-arg"}]},"4":{"patterns":[{"include":"#optional-arg-angle-no-highlight"}]},"5":{"patterns":[{"include":"#optional-arg-bracket-no-highlight"}]},"6":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.citation.latex","patterns":[{"captures":{"1":{"name":"comment.line.percentage.tex"},"2":{"name":"punctuation.definition.comment.tex"}},"match":"((%).*)$"},{"match":"[-.:\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.citation.latex"}]},"column-specials":{"captures":{"1":{"name":"punctuation.definition.column-specials.begin.latex"},"2":{"name":"punctuation.definition.column-specials.end.latex"}},"match":"[<>](\\\\{)\\\\$(})","name":"meta.column-specials.latex"},"display-math":{"patterns":[{"begin":"\\\\\\\\\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\\\\\]","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\$\\\\$","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\$\\\\$","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.latex"},{"include":"text.tex#math-content"},{"include":"$self"}]}]},"document-env":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\\\s*\\\\\\\\begin\\\\{document})","name":"meta.function.begin-document.latex"},{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\\\s*\\\\\\\\end\\\\{document})","name":"meta.function.end-document.latex"}]},"documentclass-usepackage-macro":{"begin":"((\\\\\\\\)(?:usepackage|documentclass))\\\\b(?=[\\\\[{])","beginCaptures":{"1":{"name":"keyword.control.preamble.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.preamble.latex","patterns":[{"include":"#multiline-optional-arg"},{"begin":"((?:\\\\G|(?<=]))\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"support.class.latex","end":"(})","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"$self"}]}]},"embedded-code-env":{"patterns":[{"begin":"(?:^\\\\s*)?\\\\\\\\begin\\\\{(lstlisting|minted|pyglist)}(?=[\\\\[{])","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\\\\\end\\\\{\\\\1}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(asy(?:|mptote))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.asy","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.asy"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(bash)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.shell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.shell"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(c(?:|pp))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.cpp.embedded.latex"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(css)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.css","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.css"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(gnuplot)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.gnuplot"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(h(?:s|askell))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.haskell"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(html)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"text.html","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"text.html.basic"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(java)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.java"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(j(?:l|ulia))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.julia"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(j(?:s|avascript))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.js","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.js"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(lua)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.lua"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(py|python|sage)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.python"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(r(?:b|uby))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.ruby","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.ruby"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(rust)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.rust","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.rust"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(t(?:s|ypescript))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.ts","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.ts"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(xml)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"text.xml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"text.xml"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(yaml)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.yaml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.yaml"}]},{"begin":"(?:\\\\G|(?<=]))(?:(\\\\{)([A-Za-z]*)(}))?","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:lstlisting|minted|pyglist)})","name":"meta.embedded.block.generic.latex"}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{asy(?:|code)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{asy(?:|code)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.asymptote","end":"^\\\\s*(?=\\\\\\\\end\\\\{asy(?:|code)\\\\*?})","patterns":[{"include":"source.asymptote"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{cppcode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{cppcode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{cppcode\\\\*?})","patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{dot(?:2tex|code)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{dot(?:2tex|code)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.dot","end":"^\\\\s*(?=\\\\\\\\end\\\\{dot(?:2tex|code)\\\\*?})","patterns":[{"include":"source.dot"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{gnuplot\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{gnuplot\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{gnuplot\\\\*?})","patterns":[{"include":"source.gnuplot"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{hscode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{hscode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{hscode\\\\*?})","patterns":[{"include":"source.haskell"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.java"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{lua(?:code|draw)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{lua(?:code|draw)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{lua(?:code|draw)\\\\*?})","patterns":[{"include":"source.lua"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{scalacode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{scalacode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.scala","end":"^\\\\s*(?=\\\\\\\\end\\\\{scalacode\\\\*?})","patterns":[{"include":"source.scala"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{((?:[A-Za-z]*code|lstlisting|minted|pyglist)\\\\*?)}(?:\\\\[.*])?(?:\\\\{.*})?","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.function.embedded.latex","end":"\\\\\\\\end\\\\{\\\\1}(?:\\\\s*\\\\n)?","name":"meta.embedded.block.generic.latex"},{"begin":"((?:^\\\\s*)?\\\\\\\\begin\\\\{((?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?))})(?:\\\\[[^]]*]){0,2}(?=\\\\{)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2})","patterns":[{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:asy(?:|mptote))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.asy","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.asy"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:bash)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.shell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.shell"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:c(?:|pp))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:css)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.css","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.css"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:gnuplot)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.gnuplot"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:h(?:s|askell))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.haskell"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:html)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.html","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.html.basic"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:java)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.java"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:j(?:l|ulia))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:j(?:s|avascript))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.js","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.js"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:lua)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.lua"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:py|python|sage)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:r(?:b|uby))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.ruby","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.ruby"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:rust)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.rust","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.rust"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:t(?:s|ypescript))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.ts","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.ts"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:xml)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.xml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.xml"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:yaml)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.yaml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.yaml"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:tikz(?:|picture))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.tex.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.tex.latex"}]}]},{"begin":"\\\\G(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","name":"meta.embedded.block.generic.latex"}]}]},{"begin":"(?:^\\\\s*)?\\\\\\\\begin\\\\{(terminal\\\\*?)}(?=[\\\\[{])","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\\\\\end\\\\{\\\\1}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)([A-Za-z]*)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{terminal\\\\*?})","name":"meta.embedded.block.generic.latex"}]}]},"hyperref-macro":{"patterns":[{"begin":"\\\\s*((\\\\\\\\)h(?:ref|yperref|yperimage))(?=[\\\\[{])","beginCaptures":{"1":{"name":"support.function.url.latex"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.function.hyperlink.latex","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)([^}]*)(})(?:\\\\{[^}]*}){2}?(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"markup.underline.link.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"},"4":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.variable.parameter.function.latex","end":"(?=})","patterns":[{"include":"$self"}]},{"begin":"(?:\\\\G|(?<=]))(?:(\\\\{)[^}]*(}))?(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"punctuation.definition.arguments.end.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.variable.parameter.function.latex","end":"(?=})","patterns":[{"include":"$self"}]}]},{"captures":{"1":{"name":"support.function.url.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"markup.underline.link.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"}},"match":"\\\\s*((\\\\\\\\)(?:url|path))(\\\\{)([^}]*)(})","name":"meta.function.link.url.latex"}]},"inline-code-macro":{"patterns":[{"begin":"((\\\\\\\\)addplot)\\\\+?(\\\\[[^\\\\[]*])*\\\\s*(gnuplot)\\\\s*(\\\\[[^\\\\[]*])*\\\\s*(\\\\{)","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"variable.parameter.function.latex"},"5":{"patterns":[{"include":"#optional-arg-bracket"}]},"6":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"\\\\s*(};)","patterns":[{"begin":"%","beginCaptures":{"0":{"name":"punctuation.definition.comment.latex"}},"end":"$\\\\n?","name":"comment.line.percentage.latex"},{"include":"source.gnuplot"}]},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.arguments.begin.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"markup.raw.verb.latex"},"8":{"name":"punctuation.definition.verb.latex"},"9":{"name":"punctuation.definition.verb.latex"},"10":{"name":"markup.raw.verb.latex"},"11":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)mint(?:|inline))((?:\\\\[[^\\\\[]*?])?)(\\\\{)[A-Za-z]*(})(?:([^A-Za-{])(.*?)(\\\\6)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"markup.raw.verb.latex"},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"markup.raw.verb.latex"},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)[a-z]+inline)((?:\\\\[[^\\\\[]*?])?)(?:([^A-Za-{])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"source.python","patterns":[{"include":"source.python"}]},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"source.python","patterns":[{"include":"source.python"}]},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)(?:(?:py|pycon|pylab|pylabcon|sympy|sympycon)[cv]?|pyq|pycq|pyif))((?:\\\\[[^\\\\[]*?])?)(?:([^](),;A-\\\\[a-{}\\\\s])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"source.julia","patterns":[{"include":"source.julia"}]},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"source.julia","patterns":[{"include":"source.julia"}]},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)j(?:l|ulia)[cv]?)((?:\\\\[[^\\\\[]*?])?)(?:([^A-Za-{])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"begin":"((\\\\\\\\)(?:directlua|luadirect|luaexec))(\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.lua","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.lua"},{"include":"text.tex#braces"}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:asy(?:|mptote))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.asy","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.asy"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:bash)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.shell","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.shell"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:c(?:|pp))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.cpp.embedded.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:css)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.css","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.css"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:gnuplot)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.gnuplot","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.gnuplot"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:h(?:s|askell))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.haskell","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.haskell"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:html)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.html","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.html.basic"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:java)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.java","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.java"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:j(?:l|ulia))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.julia","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.julia"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:j(?:s|avascript))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.js","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.js"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:lua)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.lua","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.lua"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:py|python|sage)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.python","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.python"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:r(?:b|uby))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.ruby","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.ruby"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:rust)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.rust","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.rust"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:t(?:s|ypescript))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.ts"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:xml)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.xml","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.xml"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:yaml)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.yaml","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.yaml"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:tikz(?:|picture))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.tex.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex.latex"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=[\\\\[{])","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.embedded.block.generic.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"}]}]},{"begin":"((\\\\\\\\)sys_get_shell:nnN(?:TF)?\\\\s?)(\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"markup.raw.verb.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}}}]},"inline-math":{"patterns":[{"begin":"\\\\\\\\\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\\\\\\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\$(?!\\\\$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tex"}},"end":"(?<!\\\\$)\\\\$","endCaptures":{"0":{"name":"punctuation.definition.string.end.tex"}},"name":"meta.math.block.tex support.class.math.block.tex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.latex"},{"include":"text.tex#math-content"},{"include":"$self"}]}]},"input-macro":{"begin":"((\\\\\\\\)in(?:clude|put))(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.include.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.include.latex","patterns":[{"include":"$self"}]},"label-macro":{"begin":"((\\\\\\\\)z?label)((?:\\\\[[^\\\\[]*?])*)(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.label.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.definition.label.latex","patterns":[{"match":"[!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+","name":"variable.parameter.definition.label.latex"}]},"macro-with-args-tokenizer":{"captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"variable.parameter.function.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.arguments.optional.begin.latex"},"7":{"patterns":[{"include":"$self"}]},"8":{"name":"punctuation.definition.arguments.optional.end.latex"},"9":{"name":"punctuation.definition.arguments.begin.latex"},"10":{"name":"variable.parameter.function.latex"},"11":{"name":"punctuation.definition.arguments.end.latex"}},"match":"\\\\s*((\\\\\\\\)\\\\p{Alphabetic}+)(\\\\{)(\\\\\\\\?\\\\p{Alphabetic}+\\\\*?)(})(?:(\\\\[)([^]]*)(])){0,2}(?:(\\\\{)([^{}]*)(}))?"},"multiline-arg-no-highlight":{"begin":"\\\\G\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.parameter.latex","patterns":[{"include":"#documentclass-usepackage-macro"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#newcommand-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"#braces"},{"include":"text.tex"}]},"multiline-optional-arg":{"begin":"\\\\G\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.arguments.optional.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.optional.end.latex"}},"name":"meta.parameter.optional.latex","patterns":[{"include":"$self"}]},"multiline-optional-arg-no-highlight":{"begin":"(?:\\\\G|(?<=}))\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.arguments.optional.begin.latex"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.optional.end.latex"}},"name":"meta.parameter.optional.latex","patterns":[{"include":"$self"}]},"newcommand-macro":{"begin":"((\\\\\\\\)(?:newcommand|renewcommand|(?:re)?newrobustcmd|DeclareRobustCommand)\\\\*?)(\\\\{)?((\\\\\\\\)[@\\\\p{Alphabetic}]+\\\\*?)(})?(?:(\\\\[)[^]]*(])){0,2}(\\\\{)","beginCaptures":{"1":{"name":"storage.type.function.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.begin.latex"},"4":{"name":"support.function.general.latex"},"5":{"name":"punctuation.definition.function.latex"},"6":{"name":"punctuation.definition.end.latex"},"7":{"name":"punctuation.definition.arguments.optional.begin.latex"},"8":{"name":"punctuation.definition.arguments.optional.end.latex"},"9":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.parameter.newcommand.latex","patterns":[{"include":"#documentclass-usepackage-macro"},{"include":"#unbalanced-env"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#macro-with-args-tokenizer"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"#braces"},{"include":"text.tex"}]},"optional-arg-angle-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(<)[^<]*?(>)","name":"meta.parameter.optional.latex"}]},"optional-arg-bracket":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\[)([^\\\\[]*?)(])","name":"meta.parameter.optional.latex"}]},"optional-arg-bracket-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\[)[^\\\\[]*?(])","name":"meta.parameter.optional.latex"}]},"optional-arg-parenthesis":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\()([^(]*?)(\\\\))","name":"meta.parameter.optional.latex"}]},"optional-arg-parenthesis-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\()[^(]*?(\\\\))","name":"meta.parameter.optional.latex"}]},"references-macro":{"patterns":[{"begin":"((\\\\\\\\)\\\\w*[Rr]ef\\\\*?)(?:\\\\[[^]]*])?(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.ref.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.reference.label.latex","patterns":[{"match":"[!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.label.latex"}]},{"captures":{"1":{"name":"keyword.control.ref.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"constant.other.reference.label.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.arguments.begin.latex"},"7":{"name":"constant.other.reference.label.latex"},"8":{"name":"punctuation.definition.arguments.end.latex"}},"match":"((\\\\\\\\)\\\\w*[Rr]efrange\\\\*?)(?:\\\\[[^]]*])?(\\\\{)([!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+)(})(\\\\{)([!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+)(})"},{"begin":"((\\\\\\\\)bibentry)(\\\\{)","captures":{"1":{"name":"keyword.control.cite.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.citation.latex","patterns":[{"match":"[.:\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.citation.latex"}]}]},"sections-macro":{"begin":"((\\\\\\\\)((?:sub){0,2}section|(?:sub)?paragraph|chapter|part|addpart|addchap|addsec|minisec|frametitle)\\\\*?)((?:\\\\[[^\\\\[]*?]){0,2})(\\\\{)","beginCaptures":{"1":{"name":"support.function.section.latex"},"2":{"name":"punctuation.definition.function.latex"},"4":{"patterns":[{"include":"#optional-arg-bracket"}]},"5":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"entity.name.section.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.function.section.$3.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},"songs-chords":{"patterns":[{"begin":"\\\\\\\\\\\\[","end":"]","name":"meta.chord.block.latex support.class.chord.block.environment.latex","patterns":[{"include":"$self"}]},{"match":"\\\\^","name":"meta.chord.block.latex support.class.chord.block.environment.latex"},{"include":"$self"}]},"songs-env":{"patterns":[{"begin":"(\\\\s*\\\\\\\\begin\\\\{songs}\\\\{.*})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.data.environment.songs.latex","end":"(\\\\\\\\end\\\\{songs}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.songs.latex","patterns":[{"include":"text.tex.latex#songs-chords"}]},{"begin":"\\\\s*((\\\\\\\\)beginsong)(?=\\\\{)","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"punctuation.definition.arguments.end.latex"}},"end":"((\\\\\\\\)endsong)(?:\\\\s*\\\\n)?","name":"meta.function.environment.song.latex","patterns":[{"include":"#multiline-arg-no-highlight"},{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=[]}]))\\\\s*","contentName":"meta.data.environment.song.latex","end":"\\\\s*(?=\\\\\\\\endsong)","patterns":[{"include":"text.tex.latex#songs-chords"}]}]}]},"text-font-macro":{"patterns":[{"begin":"((\\\\\\\\)emph)(\\\\{)","beginCaptures":{"1":{"name":"support.function.emph.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.emph.begin.latex"}},"contentName":"markup.italic.emph.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.emph.end.latex"}},"name":"meta.function.emph.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)textit)(\\\\{)","captures":{"1":{"name":"support.function.textit.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.textit.begin.latex"}},"contentName":"markup.italic.textit.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.textit.end.latex"}},"name":"meta.function.textit.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)textbf)(\\\\{)","captures":{"1":{"name":"support.function.textbf.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.textbf.begin.latex"}},"contentName":"markup.bold.textbf.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.textbf.end.latex"}},"name":"meta.function.textbf.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)texttt)(\\\\{)","captures":{"1":{"name":"support.function.texttt.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.texttt.begin.latex"}},"contentName":"markup.raw.texttt.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.texttt.end.latex"}},"name":"meta.function.texttt.latex","patterns":[{"include":"#braces"},{"include":"$self"}]}]},"unbalanced-env":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\\\s*\\\\\\\\(?:begin|end)\\\\{(\\\\p{Alphabetic}+\\\\*?)})","name":"meta.function.environment.general.latex"}]},"verb-macro":{"patterns":[{"begin":"((\\\\\\\\)(?:[Vv]|spv)erb\\\\*?)\\\\s*((\\\\\\\\)scantokens)(\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"support.function.verb.latex"},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"punctuation.definition.begin.latex"}},"contentName":"markup.raw.verb.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.end.latex"}},"name":"meta.function.verb.latex","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.verb.latex"},"4":{"name":"markup.raw.verb.latex"},"5":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)(?:[Vv]|spv)erb\\\\*?)\\\\s*((?<=\\\\s)\\\\S|[^A-Za-z])(.*?)(\\\\3|$)","name":"meta.function.verb.latex"}]},"verbatim-env":{"patterns":[{"begin":"(\\\\s*\\\\\\\\begin\\\\{((?:fboxv|boxedv|[Vv]|spv)erbatim\\\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{\\\\2})","name":"meta.function.verbatim.latex"},{"begin":"(\\\\s*\\\\\\\\begin\\\\{VerbatimOut}\\\\{[^}]*})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{VerbatimOut})","name":"meta.function.verbatim.latex"},{"begin":"(\\\\s*\\\\\\\\begin\\\\{alltt})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{alltt})","name":"meta.function.alltt.latex","patterns":[{"captures":{"1":{"name":"punctuation.definition.function.latex"}},"match":"(\\\\\\\\)[A-Za-z]+","name":"support.function.general.latex"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{([Cc]omment)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"comment.line.percentage.latex","end":"(\\\\\\\\end\\\\{\\\\2})","name":"meta.function.verbatim.latex"}]}},"scopeName":"text.tex.latex","embeddedLangs":["tex"],"embeddedLangsLazy":["shellscript","css","gnuplot","haskell","html","java","julia","javascript","lua","python","ruby","rust","typescript","xml","yaml","scala"]}')),PV=[...fx,BV]});var wx={};h1(wx,{default:()=>DV});var RV,DV,xx=s1(()=>{RV=Object.freeze(JSON.parse('{"displayName":"BibTeX","name":"bibtex","patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.bibtex"}},"match":"@(?i:comment)(?=[({\\\\s])","name":"comment.block.at-sign.bibtex"},{"include":"#preamble"},{"include":"#string"},{"include":"#entry"},{"begin":"[^\\\\n@]","end":"(?=@)","name":"comment.block.bibtex"}],"repository":{"entry":{"patterns":[{"begin":"((@)[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(\\\\{)\\\\s*([^,}\\\\s]*)","beginCaptures":{"1":{"name":"keyword.other.entry-type.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.entry.begin.bibtex"},"4":{"name":"entity.name.type.entry-key.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.entry.end.bibtex"}},"name":"meta.entry.braces.bibtex","patterns":[{"begin":"([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(=)","beginCaptures":{"1":{"name":"support.function.key.bibtex"},"2":{"name":"punctuation.separator.key-value.bibtex"}},"end":"(?=[,}])","name":"meta.key-assignment.bibtex","patterns":[{"include":"#field_value"}]}]},{"begin":"((@)[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(\\\\()\\\\s*([^,\\\\s]*)","beginCaptures":{"1":{"name":"keyword.other.entry-type.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.entry.begin.bibtex"},"4":{"name":"entity.name.type.entry-key.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.entry.end.bibtex"}},"name":"meta.entry.parenthesis.bibtex","patterns":[{"begin":"([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(=)","beginCaptures":{"1":{"name":"support.function.key.bibtex"},"2":{"name":"punctuation.separator.key-value.bibtex"}},"end":"(?=[),])","name":"meta.key-assignment.bibtex","patterns":[{"include":"#field_value"}]}]}]},"field_value":{"patterns":[{"include":"#string_content"},{"include":"#integer"},{"include":"#string_var"},{"match":"#","name":"keyword.operator.bibtex"}]},"integer":{"captures":{"1":{"name":"constant.numeric.bibtex"}},"match":"\\\\s*(\\\\d+)\\\\s*"},"nested_braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.group.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]},"preamble":{"patterns":[{"begin":"((@)(?i:preamble))\\\\s*(\\\\{)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preamble.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.preamble.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.preamble.end.bibtex"}},"name":"meta.preamble.braces.bibtex","patterns":[{"include":"#field_value"}]},{"begin":"((@)(?i:preamble))\\\\s*(\\\\()\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preamble.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.preamble.begin.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.preamble.end.bibtex"}},"name":"meta.preamble.parenthesis.bibtex","patterns":[{"include":"#field_value"}]}]},"string":{"patterns":[{"begin":"((@)(?i:string))\\\\s*(\\\\{)\\\\s*([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)","beginCaptures":{"1":{"name":"keyword.other.string-constant.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.string-constant.begin.bibtex"},"4":{"name":"variable.other.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.string-constant.end.bibtex"}},"name":"meta.string-constant.braces.bibtex","patterns":[{"include":"#field_value"}]},{"begin":"((@)(?i:string))\\\\s*(\\\\()\\\\s*([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)","beginCaptures":{"1":{"name":"keyword.other.string-constant.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.string-constant.begin.bibtex"},"4":{"name":"variable.other.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.string-constant.end.bibtex"}},"name":"meta.string-constant.parenthesis.bibtex","patterns":[{"include":"#field_value"}]}]},"string_content":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bibtex"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]}]},"string_var":{"captures":{"0":{"name":"support.variable.bibtex"}},"match":"[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*"}},"scopeName":"text.bibtex"}')),DV=[RV]});var kx={};h1(kx,{default:()=>OV});var GV,OV,zx=s1(()=>{GV=Object.freeze(JSON.parse('{"displayName":"AsciiDoc","fileTypes":["ad","asc","adoc","asciidoc","adoc.txt"],"name":"asciidoc","patterns":[{"include":"#comment"},{"include":"#callout-list-item"},{"include":"#titles"},{"include":"#attribute-entry"},{"include":"#blocks"},{"include":"#block-title"},{"include":"#tables"},{"include":"#horizontal-rule"},{"include":"#list"},{"include":"#inlines"},{"include":"#block-attribute"},{"include":"#line-break"}],"repository":{"admonition-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)([#%,.][^]]+)*]$))","end":"((?<=--|====)|^\\\\p{blank}*)$","name":"markup.admonition.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)([#%,.]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(={4,})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]}]},{"begin":"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\\\p{blank}+","captures":{"1":{"name":"entity.name.function.asciidoc"}},"end":"^\\\\p{blank}*$|(?=^/{2})","name":"markup.admonition.asciidoc","patterns":[{"include":"#inlines"}]}]},"anchor-macro":{"patterns":[{"captures":{"1":{"name":"support.constant.asciidoc"},"2":{"name":"markup.blockid.asciidoc"},"3":{"name":"string.unquoted.asciidoc"},"4":{"name":"support.constant.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[{2})([:_[:alpha:]][-.:[:word:]]*)(?:,\\\\p{blank}*(\\\\S.*?))?(]{2})","name":"markup.other.anchor.asciidoc"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.blockid.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(anchor):(\\\\S+)\\\\[(.*?[^\\\\\\\\])?]","name":"markup.other.anchor.asciidoc"}]},"attribute-entry":{"patterns":[{"begin":"^(:)(!?\\\\w.*?)(:)(\\\\p{blank}+.+\\\\p{blank}[+\\\\\\\\])$","beginCaptures":{"1":{"name":"punctuation.separator.attribute-entry.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"},"3":{"name":"punctuation.separator.attribute-entry.asciidoc"},"4":{"name":"string.unquoted.attribute-value.asciidoc","patterns":[{"include":"#inlines"},{"include":"#hard-break-backslash"},{"include":"#line-break"},{"include":"#line-break-backslash"}]}},"contentName":"string.unquoted.attribute-value.asciidoc","end":"^(?:\\\\p{blank}+.+$(?<![+\\\\\\\\])|\\\\p{blank}*$)","endCaptures":{"0":{"name":"string.unquoted.attribute-value.asciidoc"}},"name":"meta.definition.attribute-entry.asciidoc","patterns":[{"include":"#inlines"},{"include":"#hard-break-backslash"},{"include":"#line-break"},{"include":"#line-break-backslash"}]},{"captures":{"1":{"name":"punctuation.separator.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"},"3":{"name":"punctuation.separator.asciidoc"},"4":{"name":"string.unquoted.attribute-value.asciidoc","patterns":[{"include":"#inlines"},{"include":"#line-break"}]}},"match":"^(:)(!?\\\\w.*?)(:)(\\\\p{blank}+(.*))?$","name":"meta.definition.attribute-entry.asciidoc"}]},"attribute-reference":{"patterns":[{"captures":{"2":{"name":"entity.name.function.asciidoc"},"3":{"name":"punctuation.separator.asciidoc"},"4":{"name":"support.constant.attribute-name.asciidoc"},"6":{"name":"punctuation.separator.asciidoc"},"7":{"name":"string.unquoted.attribute-value.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\{)(set|counter2?)(:)([-!_[:alnum:]]+)((:)(.*?))?(?<!\\\\\\\\)(})","name":"markup.substitution.attribute-reference.asciidoc"},{"captures":{"1":{"name":"punctuation.definition.attribute-reference.begin.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"},"3":{"name":"punctuation.definition.attribute-reference.end.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\{)(\\\\w+(?:-\\\\w+)*)(?<!\\\\\\\\)(})","name":"markup.substitution.attribute-reference.asciidoc"}]},"bibliography-anchor":{"patterns":[{"captures":{"1":{"name":"support.constant.asciidoc"},"2":{"name":"markup.biblioref.asciidoc"},"3":{"name":"support.constant.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[{3})([:[:word:]][-.:[:word:]]*?)(]{3})","name":"bibliography-anchor.asciidoc"}]},"bibtex-macro":{"patterns":[{"begin":"(?<!\\\\\\\\)(citenp:)([,a-z]*)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.macro.inline.bibtex.asciidoc"}]},"block-attribute":{"patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(|\\\\p{blank}*[\\"#%\',.{[:word:]].*)]$","name":"markup.heading.block-attribute.asciidoc"}]},"block-attribute-inner":{"patterns":[{"match":"([#%,.])","name":"punctuation.separator.asciidoc"},{"captures":{"0":{"name":"markup.meta.attribute-list.asciidoc","patterns":[{"include":"#keywords"}]}},"match":"(?<=\\\\[)([^]#%,.=\\\\[]+)"},{"captures":{"0":{"patterns":[{"include":"#attribute-reference"}]}},"match":"(?<=[,{]|.|[\\"#%\'])((?:[^]#%,.]|](?=[\\\\t ]*\\\\S))+)","name":"markup.meta.attribute-list.asciidoc"}]},"block-callout":{"patterns":[{"captures":{"2":{"name":"constant.other.symbol.asciidoc"},"4":{"name":"constant.numeric.asciidoc"},"5":{"name":"constant.other.symbol.asciidoc"}},"match":"(?:(?://|#|--|;;) ?)?( )?(?<!\\\\\\\\)(<)!?(--|)(\\\\d+)\\\\3(>)(?=(?: ?<!?\\\\3\\\\d+\\\\3>)*$)","name":"callout.source.code.asciidoc"}]},"block-title":{"patterns":[{"begin":"^\\\\.([^.[:blank:]].*)","captures":{"1":{"name":"markup.heading.blocktitle.asciidoc"}},"end":"$"}]},"blocks":{"patterns":[{"include":"#front-matter-block"},{"include":"#comment-paragraph"},{"include":"#admonition-paragraph"},{"include":"#quote-paragraph"},{"include":"#listing-paragraph"},{"include":"#source-paragraphs"},{"include":"#passthrough-paragraph"},{"include":"#example-paragraph"},{"include":"#sidebar-paragraph"},{"include":"#literal-paragraph"},{"include":"#open-block"}]},"callout-list-item":{"patterns":[{"captures":{"1":{"name":"constant.other.symbol.asciidoc"},"2":{"name":"constant.numeric.asciidoc"},"3":{"name":"constant.other.symbol.asciidoc"},"4":{"patterns":[{"include":"#inlines"}]}},"match":"^(<)(\\\\d+)(>)\\\\p{blank}+(.*)$","name":"callout.asciidoc"}]},"characters":{"patterns":[{"captures":{"1":{"name":"constant.character.asciidoc"},"3":{"name":"constant.character.asciidoc"}},"match":"(?<!\\\\\\\\)(&)(\\\\S+?)(;)","name":"markup.character-reference.asciidoc"}]},"comment":{"patterns":[{"begin":"^(/{4,})$","end":"^\\\\1$","name":"comment.block.asciidoc","patterns":[{"include":"#inlines"}]},{"match":"^/{2}([^/].*)?$","name":"comment.inline.asciidoc"}]},"comment-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(comment)([#%,.][^]]+)*]$))","end":"((?<=--)|^\\\\p{blank}*)$","name":"comment.block.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(comment)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"include":"#inlines"}]}]},"emphasis":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.italic.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)(\\\\[[^]]+?])?((__)((?!_).+?)(__))","name":"markup.emphasis.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.italic.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?!_{4,}\\\\s*$)(?<=^|[^:;[:word:]])(\\\\[[^]]+?])?((_)(\\\\S(?:|.*?\\\\S))(_))(?!\\\\p{word})","name":"markup.emphasis.constrained.asciidoc"}]},"example-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(example)([#%,.][^]]+)*]$))","end":"((?<=--|====)|^\\\\p{blank}*)$","name":"markup.block.example.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(example)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(={4,})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"begin":"^(-{2})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"include":"#inlines"}]},{"begin":"^(={4,})$","end":"^(\\\\1)$","name":"markup.block.example.asciidoc","patterns":[{"include":"$self"}]}]},"footnote-macro":{"patterns":[{"begin":"(?<!\\\\\\\\)footnote(?:(ref):|:([-\\\\w]+)?)\\\\[(.*?[^\\\\\\\\])??","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.other.footnote.asciidoc","patterns":[{"include":"#inlines"}]}]},"front-matter-block":{"patterns":[{"begin":"\\\\A(-{3})$","end":"^(\\\\1)$","name":"markup.block.front-matter.asciidoc","patterns":[{"include":"source.yaml"}]}]},"general-block-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"4":{"name":"punctuation.separator.asciidoc"},"5":{"name":"string.unquoted.asciidoc","patterns":[{"include":"#attribute-reference"}]},"6":{"name":"punctuation.separator.asciidoc"}},"match":"^(\\\\p{word}+)(::)(\\\\S*?)(\\\\[)((?:\\\\\\\\]|[^]])*?)(])[\\\\t ]*$","name":"markup.macro.block.general.asciidoc"}]},"hard-break-backslash":{"patterns":[{"captures":{"1":{"name":"constant.other.symbol.hard-break.asciidoc"}},"match":"(?<=\\\\S)\\\\p{blank}+(\\\\+ \\\\\\\\)$"}]},"horizontal-rule":{"patterns":[{"match":"^(?:[\'<]{3,}| {0,3}([-\'*])( *)\\\\1\\\\2\\\\1)$","name":"constant.other.symbol.horizontal-rule.asciidoc"}]},"image-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.link.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(i(?:mage|con)):([^:\\\\[][^\\\\[]*)\\\\[((?:\\\\\\\\]|[^]])*?)]","name":"markup.macro.image.asciidoc"}]},"include-directive":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"4":{"name":"punctuation.separator.asciidoc"},"5":{"name":"string.unquoted.asciidoc","patterns":[{"include":"#attribute-reference"}]},"6":{"name":"punctuation.separator.asciidoc"}},"match":"^(include)(::)([^\\\\[]+)(\\\\[)(.*?)(])$"}]},"indexterm-concealed":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"2":{"patterns":[{"include":"#attribute-reference"}]},"3":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\(\\\\(\\\\()(.*?)(\\\\)\\\\)\\\\))","name":"markup.other.indexterm.concealed.asciidoc"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"4":{"patterns":[{"include":"#attribute-reference"}]},"5":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<!\\\\\\\\)(indexterm)(:)(\\\\[)((?:\\\\\\\\]|[^]])*?)(])","name":"markup.other.indexterm.concealed.asciidoc"}]},"indexterm-flow":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"2":{"name":"markup.other.indexterm.flow.asciidoc","patterns":[{"include":"#attribute-reference"}]},"3":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<![(\\\\\\\\])(\\\\(\\\\()([^(].*?)(\\\\)\\\\))"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"4":{"name":"markup.other.indexterm.flow.asciidoc","patterns":[{"include":"#attribute-reference"}]},"5":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<!\\\\\\\\)(indexterm2)(:)(\\\\[)((?:\\\\\\\\]|[^]])*?)(])"}]},"inlines":{"patterns":[{"include":"#typographic-quotes"},{"include":"#strong"},{"include":"#monospace"},{"include":"#emphasis"},{"include":"#superscript"},{"include":"#subscript"},{"include":"#mark"},{"include":"#general-block-macro"},{"include":"#anchor-macro"},{"include":"#footnote-macro"},{"include":"#indexterm-concealed"},{"include":"#indexterm-flow"},{"include":"#image-macro"},{"include":"#kbd-macro"},{"include":"#link-macro"},{"include":"#stem-macro"},{"include":"#menu-macro"},{"include":"#passthrough-macro"},{"include":"#xref-macro"},{"include":"#attribute-reference"},{"include":"#characters"},{"include":"#bibtex-macro"},{"include":"#bibliography-anchor"}]},"kbd-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(kbd|btn):(\\\\[)((?:\\\\\\\\]|[^]])+?)(])","name":"markup.macro.kbd.asciidoc"}]},"keywords":{"patterns":[{"match":"(NOTE|TIP|IMPORTANT|WARNING|CAUTION)","name":"entity.name.function.asciidoc"},{"match":"(comment|example|literal|listing|normal|pass|quote|sidebar|source|verse|abstract|partintro)","name":"entity.name.function.asciidoc"},{"match":"(actdiag|blockdiag|ditaa|graphviz|tikz|meme|mermaid|nwdiag|packetdiag|pikchr|plantuml|rackdiag|seqdiag|shaape|wavedrom)","name":"entity.name.function.asciidoc"},{"match":"(sect[1-4]|preface|colophon|dedication|glossary|bibliography|synopsis|appendix|index|normal|partintro|music|latex|stem)","name":"entity.name.function.asciidoc"}]},"line-break":{"patterns":[{"captures":{"1":{"name":"variable.line-break.asciidoc"}},"match":"(?<=\\\\S)\\\\p{blank}+(\\\\+)$"}]},"line-break-backslash":{"patterns":[{"captures":{"1":{"name":"variable.line-break.asciidoc"}},"match":"(?<=\\\\S)\\\\p{blank}+(\\\\\\\\)$"}]},"link-macro":{"patterns":[{"captures":{"1":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"2":{"name":"string.unquoted.asciidoc"}},"match":"(?:^|[]();<>\\\\[\\\\s])((?<!\\\\\\\\)(?:https?|file|ftp|irc)://[^]<\\\\[\\\\s]*[^]),.<\\\\[\\\\s])(?:\\\\[((?:\\\\\\\\]|[^]])*?)])?","name":"markup.other.url.asciidoc"},{"captures":{"1":{"name":"markup.substitution.attribute-reference.asciidoc"},"2":{"name":"string.unquoted.asciidoc"}},"match":"(?:^|[]();<>\\\\[[:blank:]])((?<!\\\\\\\\)\\\\{uri-\\\\w+(?:-\\\\w+)*(?<!\\\\\\\\)})\\\\[((?:\\\\\\\\]|[^]])*?)]","name":"markup.other.url.asciidoc"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(link|mailto):([^\\\\[\\\\s]+)\\\\[((?:\\\\\\\\]|[^]])*?)]","name":"markup.other.url.asciidoc"},{"match":"\\\\p{word}[-%+.[:word:]]*(@)\\\\p{alnum}[-.[:alnum:]]*(\\\\.)\\\\p{alpha}{2,4}\\\\b","name":"markup.link.email.asciidoc"}]},"list":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.list.begin.asciidoc punctuation.definition.list.begin.markdown"},"1":{"name":"punctuation.definition.metadata.asciidoc punctuation.definition.metadata.markdown"}},"match":"^\\\\s*(-)\\\\p{blank}(\\\\[[*x[:blank:]]])(?=\\\\p{blank})","name":"markup.list.todo.asciidoc"},{"captures":{"0":{"name":"punctuation.definition.list.begin.asciidoc punctuation.definition.list.begin.markdown"}},"match":"^\\\\p{blank}*(-|\\\\*{1,5}|\u2022{1,5})(?=\\\\p{blank})","name":"markup.list.unnumbered.asciidoc markup.list.unnumbered.markdown"},{"captures":{"0":{"name":"punctuation.definition.list.begin.asciidoc punctuation.definition.list.begin.markdown"}},"match":"^\\\\p{blank}*(\\\\.{1,5}|\\\\d+\\\\.|[A-Za-z]\\\\.|[IVXivx]+\\\\))(?=\\\\p{blank})","name":"markup.list.numbered.asciidoc markup.list.numbered.markdown"},{"captures":{"1":{"patterns":[{"include":"#link-macro"},{"include":"#attribute-reference"}]},"2":{"name":"markup.list.bullet.asciidoc"}},"match":"^\\\\p{blank}*(.*?\\\\S)(:{2,4}|;;)($|\\\\p{blank}+)","name":"markup.heading.list.asciidoc"}]},"listing-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(listing)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.block.listing.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(listing)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","end":"^(\\\\1)$"},{"begin":"^(\\\\.{4,})\\\\s*$","end":"^(\\\\1)$"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$"},{"include":"#inlines"}]}]},"literal-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(literal)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.block.literal.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(literal)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\.{4,})$","end":"^(\\\\1)$"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$"},{"include":"#inlines"}]},{"begin":"^(\\\\.{4,})$","end":"^(\\\\1)$","name":"markup.block.literal.asciidoc"}]},"mark":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.mark.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)(\\\\[[^]]+?])((##)(.+?)(##))","name":"markup.mark.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.highlight.asciidoc"},"2":{"name":"punctuation.definition.asciidoc"},"4":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)((##)(.+?)(##))","name":"markup.mark.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.mark.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![#:;\\\\\\\\[:word:]])(\\\\[[^]]+?])((#)(\\\\S(?:|.*?\\\\S))(#)(?!\\\\p{word}))","name":"markup.mark.constrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.highlight.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![#:;\\\\\\\\[:word:]])(\\\\[[^]]+?])?((#)(\\\\S(?:|.*?\\\\S))(#)(?!\\\\p{word}))","name":"markup.mark.constrained.asciidoc"}]},"menu-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.link.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(menu):(\\\\p{word}(?:|.*?\\\\S))\\\\[\\\\p{blank}*(.+?)?]","name":"markup.other.menu.asciidoc"}]},"monospace":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.inline.raw.monospace.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[.+?])?((``)(.+?)(``))","name":"markup.monospace.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.inline.raw.monospace.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![\\"\':;\\\\\\\\`[:word:]])(\\\\[.+?])?((`)(\\\\S(?:|.*?\\\\S))(`))(?![\\"\'`[:word:]])","name":"markup.monospace.constrained.asciidoc"}]},"open-block":{"patterns":[{"begin":"^(-{2})$","beginCaptures":{"1":{"name":"constant.other.symbol.asciidoc"}},"end":"^(\\\\1)$","endCaptures":{"1":{"name":"constant.other.symbol.asciidoc"}},"name":"markup.block.open.asciidoc","patterns":[{"include":"$self"}]}]},"passthrough-macro":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"support.constant.asciidoc"},"4":{"name":"string.unquoted.asciidoc","patterns":[{"include":"text.html.basic"}]},"5":{"name":"support.constant.asciidoc"}},"match":"(?:(?<!\\\\\\\\)(\\\\[([^]]+?)]))?\\\\\\\\{0,2}(?<delim>\\\\+{2,3}|\\\\${2})(.*?)(\\\\k<delim>)","name":"markup.macro.inline.passthrough.asciidoc"},{"begin":"(?<!\\\\\\\\)(pass:)([,a-z]*)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.macro.inline.passthrough.asciidoc","patterns":[{"include":"text.html.basic"}]}]},"passthrough-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(pass)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\+\\\\+)|^\\\\p{blank}*)$","name":"markup.block.passthrough.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(pass)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\+{4,})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"text.html.basic"}]},{"begin":"^(-{2})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"text.html.basic"}]}]},{"begin":"^(\\\\+{4,})$","end":"\\\\1","name":"markup.block.passthrough.asciidoc","patterns":[{"include":"text.html.basic"}]}]},"quote-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(quote|verse)([#%,.](?:[^],]|](?=[\\\\t ]*\\\\S))+)*]$))","end":"((?<=____|\\"\\"|--)|^\\\\p{blank}*)$","name":"markup.italic.quotes.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(quote|verse)([#%,.](?:[^],]|](?=[\\\\t ]*\\\\S))+)*]$"},{"include":"#block-title"},{"include":"#inlines"},{"begin":"^(_{4,})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(\\"{2})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(-{2})\\\\s*$","end":"(?<=\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(-{4,})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(\\\\.{4,})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]}]},{"begin":"^(\\"\\")$","end":"^\\\\1$","name":"markup.italic.quotes.asciidoc","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^\\\\p{blank}*(>) ","end":"^\\\\p{blank}*?$","name":"markup.italic.quotes.asciidoc","patterns":[{"include":"#inlines"},{"include":"#list"}]}]},"sidebar-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(sidebar)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\*\\\\*\\\\*\\\\*)|^\\\\p{blank}*)$","name":"markup.block.sidebar.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(sidebar)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\*{4,})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"begin":"^(-{2})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"include":"#inlines"}]},{"begin":"^(\\\\*{4,})$","end":"^(\\\\1)$","name":"markup.block.sidebar.asciidoc","patterns":[{"include":"$self"}]}]},"source-asciidoctor":{"patterns":[{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(css(?:|.erb)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.css.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(css(?:|.erb)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(html?|shtml|xhtml|inc|tmpl|tpl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.basic.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(html?|shtml|xhtml|inc|tmpl|tpl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ini|conf))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ini.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ini|conf))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(java|bsh))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.java.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(java|bsh))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(lua))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.lua.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(lua))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:[Mm]|GNUm|OCamlM)akefile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.makefile.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:[Mm]|GNUm|OCamlM)akefile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.perl.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([RSrs]|Rprofile|\\\\{\\\\.r.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.r.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([RSrs]|Rprofile|\\\\{\\\\.r.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?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))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ruby.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?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))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.php.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(sql|ddl|dml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.sql.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(sql|ddl|dml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(vb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.vs_net.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(vb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.xml.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xslt??))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.xsl.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xslt??))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ya?ml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.yaml.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ya?ml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bat(?:|ch)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.dosbatch.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bat(?:|ch)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(cl(?:js??|ojure)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.clojure.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(cl(?:js??|ojure)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(coffee|Cakefile|coffee.erb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.coffee.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(coffee|Cakefile|coffee.erb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([ch]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.c.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([ch]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:pp|\\\\+\\\\+|xx)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.cpp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:pp|\\\\+\\\\+|xx)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(patch|diff|rej))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.diff.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(patch|diff|rej))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([Dd]ockerfile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.dockerfile.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([Dd]ockerfile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:COMMIT_EDIT|MERGE_)MSG))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.git_commit.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:COMMIT_EDIT|MERGE_)MSG))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(git-rebase-todo))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.git_rebase.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(git-rebase-todo))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(go(?:|lang)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.go.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(go(?:|lang)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(g(?:roovy|vy)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.groovy.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(g(?:roovy|vy)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jade|pug))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.pug.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jade|pug))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\{\\\\.js.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.js.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\{\\\\.js.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(regexp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.js_regexp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(regexp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.json.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsonc))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.jsonc.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsonc))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(less))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.less.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(less))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.objc.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(swift))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.swift.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(swift))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(scss))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.scss.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(scss))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl6|p6|pl6|pm6|nqp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.perl6.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl6|p6|pl6|pm6|nqp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(p(?:owershell|s1|sm1|sd1|wsh)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.powershell.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(p(?:owershell|s1|sm1|sd1|wsh)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\{\\\\.python.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.python.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\{\\\\.python.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(julia|\\\\{\\\\.julia.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.julia.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(julia|\\\\{\\\\.julia.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(re))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.regexp_python.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(re))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(rust|rs|\\\\{\\\\.rust.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.rust.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(rust|rs|\\\\{\\\\.rust.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(s(?:cala|bt)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.scala.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(s(?:cala|bt)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\{\\\\.bash.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.shell.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\{\\\\.bash.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(t(?:ypescript|s)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ts.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(t(?:ypescript|s)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(tsx))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.tsx.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(tsx))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.csharp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(f(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.fsharp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(f(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(dart))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.dart.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(dart))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(h(?:andlebars|bs)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.handlebars.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(h(?:andlebars|bs)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(m(?:arkdown|d)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.markdown.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(m(?:arkdown|d)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(log))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.log.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(log))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(erlang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.erlang.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(erlang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(elixir))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.elixir.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(elixir))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:la|)tex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.latex.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:la|)tex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bibtex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.bibtex.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bibtex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(twig))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.twig.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(twig))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(yang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.yang.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(yang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(abap))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.abap.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(abap))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(r(?:estructuredtext|st)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.restructuredtext.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(r(?:estructuredtext|st)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(haskell))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.haskell.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(haskell))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(k(?:otlin|t)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.kotlin.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(k(?:otlin|t)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]}]},"source-markdown":{"patterns":[{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(css(?:|.erb))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.css.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(html?|shtml|xhtml|inc|tmpl|tpl)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.basic.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(ini|conf)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.ini.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(java|bsh)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.java.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(lua)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.lua.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:((?:[Mm]|GNUm|OCamlM)akefile)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.makefile.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.perl.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:([RSrs]|Rprofile|\\\\{\\\\.r.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.r.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{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+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.ruby.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.php.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(sql|ddl|dml)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.sql.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(vb)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.vs_net.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.xml.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(xslt??)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.xsl.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(ya?ml)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.yaml.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(bat(?:|ch))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.dosbatch.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(cl(?:js??|ojure))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.clojure.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(coffee|Cakefile|coffee.erb)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.coffee.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:([ch])((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.c.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(c(?:pp|\\\\+\\\\+|xx))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.cpp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(patch|diff|rej)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.diff.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:([Dd]ockerfile)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.dockerfile.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:((?:COMMIT_EDIT|MERGE_)MSG)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.git_commit.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(git-rebase-todo)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.git_rebase.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(go(?:|lang))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.go.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(g(?:roovy|vy))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.groovy.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(jade|pug)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.pug.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\{\\\\.js.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.js.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(regexp)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.js_regexp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.json.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(jsonc)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.jsonc.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(less)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.less.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm])((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.objc.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(swift)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.swift.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(scss)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.scss.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.perl6.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(p(?:owershell|s1|sm1|sd1|wsh))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.powershell.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\{\\\\.python.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.python.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(julia|\\\\{\\\\.julia.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.julia.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(re)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.regexp_python.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(rust|rs|\\\\{\\\\.rust.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.rust.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(s(?:cala|bt))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.scala.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\{\\\\.bash.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.shell.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(t(?:ypescript|s))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.ts.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(tsx)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.tsx.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(c(?:s|sharp|#))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.csharp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(f(?:s|sharp|#))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.fsharp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(dart)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.dart.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(h(?:andlebars|bs))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.handlebars.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(m(?:arkdown|d))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.markdown.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(log)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.log.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(erlang)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.erlang.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(elixir)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.elixir.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:((?:la|)tex)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.latex.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(bibtex)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.bibtex.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(twig)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.twig.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(yang)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.yang.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(abap)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.abap.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(r(?:estructuredtext|st))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.restructuredtext.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(haskell)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.haskell.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(k(?:otlin|t))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.kotlin.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]}]},"source-paragraphs":{"patterns":[{"include":"#source-asciidoctor"},{"include":"#source-markdown"}]},"stem-macro":{"patterns":[{"begin":"(?<!\\\\\\\\)(stem|(?:latex|ascii)math):([,a-z]*)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.macro.inline.stem.asciidoc"}]},"strong":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.bold.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)(\\\\[.+?])?((\\\\*\\\\*)(.+?)(\\\\*\\\\*))","name":"markup.strong.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.bold.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![*:;\\\\\\\\[:word:]])(\\\\[.+?])?((\\\\*)(\\\\S(?:|.*?\\\\S))(\\\\*)(?!\\\\p{word}))","name":"markup.strong.constrained.asciidoc"}]},"subscript":{"patterns":[{"captures":{"1":{"name":"markup.meta.sub.attribute-list.asciidoc"},"2":{"name":"markup.sub.subscript.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[.+?])?((~)(\\\\S+?)(~))","name":"markup.subscript.asciidoc"}]},"superscript":{"patterns":[{"captures":{"1":{"name":"markup.meta.super.attribute-list.asciidoc"},"2":{"name":"markup.super.superscript.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[.+?])?((\\\\^)(\\\\S+?)(\\\\^))","name":"markup.superscript.asciidoc"}]},"table-csv":{"patterns":[{"begin":"^(,===)$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"^(\\\\1)$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.csv.asciidoc","patterns":[{"include":"text.csv"},{"captures":{"0":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":","},{"include":"#general-block-macro"}]}]},"table-dsv":{"patterns":[{"begin":"^(:===)$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"^(\\\\1)$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.dsv.asciidoc","patterns":[{"captures":{"0":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":":"},{"include":"#general-block-macro"}]}]},"table-nested":{"patterns":[{"begin":"^(!===)$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"markup.table.content.asciidoc","end":"^(\\\\1)$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.nested.asciidoc","patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":"(^|[^\\\\\\\\[:blank:]]*)(?<!\\\\\\\\)(!)"},{"include":"#tables-includes"}]}]},"table-psv":{"patterns":[{"begin":"^(\\\\|===)\\\\s*$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"markup.table.content.asciidoc","end":"^(\\\\1)\\\\s*$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.asciidoc","patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":"(^|[^\\\\\\\\[:blank:]]*)(?<!\\\\\\\\)(\\\\|)"},{"include":"#tables-includes"}]}]},"tables":{"patterns":[{"include":"#table-psv"},{"include":"#table-nested"},{"include":"#table-csv"},{"include":"#table-dsv"}]},"tables-includes":{"patterns":[{"include":"#comment"},{"include":"#callout-list-item"},{"include":"#attribute-entry"},{"include":"#block-title"},{"include":"#explicit-paragraph"},{"include":"#section"},{"include":"#blocks"},{"include":"#list"},{"include":"#inlines"},{"include":"#line-break"}]},"titles":{"patterns":[{"begin":"^([#=]{6})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-5.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{5})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-4.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{4})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-3.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{3})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-2.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{2})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-1.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{1})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-0.asciidoc","patterns":[{"include":"$self"}]}]},"typographic-quotes":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?:^|(?<![:;[:word:]]))(\\\\[([^]]+?)])?(\\"`)(\\\\S(?:|.*?\\\\S))(`\\")(?!\\\\p{word})","name":"markup.italic.quote.typographic-quotes.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?:^|(?<![:;[:word:]]))(\\\\[([^]]+?)])?(\'`)(\\\\S(?:|.*?\\\\S))(`\')(?!\\\\p{word})","name":"markup.italic.quote.typographic-quotes.asciidoc"}]},"xref-macro":{"patterns":[{"captures":{"1":{"name":"constant.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"string.unquoted.asciidoc"},"4":{"name":"constant.asciidoc"}},"match":"(?<!\\\\\\\\)(<<)([\\"./:[:word:]]+,)?(.*?)(>>)","name":"markup.reference.xref.asciidoc"},{"begin":"(?<!\\\\\\\\)(xref:)([\\"./:[:word:]].*?)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.reference.xref.asciidoc"}]}},"scopeName":"text.asciidoc","embeddedLangs":[],"aliases":["adoc"],"embeddedLangsLazy":["html","yaml","csv","css","ini","java","lua","make","perl","r","ruby","php","sql","vb","xml","xsl","bat","clojure","coffee","c","cpp","diff","docker","git-commit","git-rebase","go","groovy","pug","javascript","json","jsonc","less","objective-c","swift","scss","raku","powershell","python","julia","regexp","rust","scala","shellscript","typescript","tsx","csharp","fsharp","dart","handlebars","markdown","log","erlang","elixir","latex","bibtex","abap","rst","haskell","kotlin"]}')),OV=[GV]});var Cx={};h1(Cx,{default:()=>UV});var WV,UV,Ax=s1(()=>{w7();Ya();me();i9();b5();WV=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":"([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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+(?:[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*(\\\\.))?([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)(\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*})?|\\\\s*)(?=\\\\()"}]},"keyword":{"patterns":[{"match":"\\\\b(?<![.:_])(?:function|mutable\\\\s+struct|struct|macro|quote|abstract\\\\s+type|primitive\\\\s+type|typegroup|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":"@(\\\\.|[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"((?<![!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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)?|\u03C0|pi|\u212F)\\\\b)?|[0-9]+|Inf(?:16|32|64)?\\\\b|NaN(?:16|32|64)?\\\\b|\u03C0\\\\b|pi\\\\b|\u212F\\\\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":"\\\\.?(?:<-->|->|-->|<--|[\u2190\u2192\u2194\u219A-\u219E\u21A0\u21A2\u21A3\u21A4\u21A6\u21A9-\u21AC\u21AE\u21B6\u21B7\u21BA-\u21BD\u21C0\u21C1\u21C4\u21C6\u21C7\u21C9\u21CB-\u21D0\u21D2\u21D4\u21DA-\u21DD\u21E0\u21E2\u21F4\u21F6-\u21FF\u27F5\u27F6\u27F7\u27F9-\u27FF\u2900-\u2907\u290C-\u2911\u2914-\u2918\u291D-\u2920\u2944-\u2948\u294A\u294B\u294E\u2950\u2952\u2953\u2956\u2957\u295A\u295B\u295E\u295F\u2962\u2964\u2966-\u296D\u2970\u2977\u297A\u29F4\u2B30-\u2B44\u2B47-\u2B4C\uFFE9\uFFEB]|=>)","name":"keyword.operator.arrow.julia"},{"match":":=|\\\\+=|-=|\\\\*=|//=|/=|\\\\.//=|\\\\./=|\\\\.\\\\*=|\\\\\\\\=|\\\\.\\\\\\\\=|\\\\^=|\\\\.\\\\^=|%=|\\\\.%=|\xF7=|\\\\.\xF7=|\\\\|=|&=|\\\\.&=|\u22BB=|\\\\.\u22BB=|\\\\$=|<<=|>>=|>>>=|=(?!=)","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)?\\\\([^)]*\\\\)|[$_\u2207[:alpha:]][!.\u2032\u207A-\u209C[:word:]]*(?:\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*}|\\".+?(?<!\\\\\\\\)\\")?)(?:\\\\.\\\\.\\\\.)?(\\\\.?\'*)"},{"match":"(\\\\.?((?<!<)<=|(?<!>)>=|[<>\u2264\u2265]|===?|\u2261|!=|\u2260|!==|[\u2208-\u220D\u221D\u2225\u2226\u2237\u223A\u223B\u223D\u223E\u2241-\u224E\u2250-\u2253\u2256-\u225F\u2262\u2263\u2266-\u228B\u228F-\u2292\u229C\u22A2\u22A3\u22A9\u22AC\u22AE\u22B0-\u22B7\u22CD\u22D0\u22D1\u22D5-\u22ED\u22F2-\u22FF\u27C2\u27C8\u27C9\u27D2\u29B7\u29C0\u29C1\u29E1\u29E3\u29E4\u29E5\u2A66\u2A67\u2A6A-\u2A73\u2A75-\u2AD9\u2AEA\u2AEB\u2AF7-\u2AFA]|<:|>:))","name":"keyword.operator.relation.julia"},{"match":"(?<=\\\\s)\\\\?(?=\\\\s)","name":"keyword.operator.ternary.julia"},{"match":"(?<=\\\\s):(?=\\\\s)","name":"keyword.operator.ternary.julia"},{"match":"\\\\|\\\\||&&|(?<![!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]])!","name":"keyword.operator.boolean.julia"},{"match":"(?<=[]!)}\u2032\u207A-\u209C\u2207[:word:]]):","name":"keyword.operator.range.julia"},{"match":"\\\\|>","name":"keyword.operator.applies.julia"},{"match":"\\\\||\\\\.\\\\||&|\\\\.&|[~\xAC]|\\\\.~|\u22BB|\\\\.\u22BB","name":"keyword.operator.bitwise.julia"},{"match":"\\\\.?(?:\\\\+\\\\+|--|[-*+|\xA6\xB1\u2212\u2213\u2214\u2228\u222A\u2238\u224F\u228E\u2294\u2295\u2296\u229E\u229F\u22BB\u22BD\u22CE\u22D3\u27C7\u29FA\u29FB\u2A08\u2A22-\u2A2E\u2A39\u2A3A\u2A41\u2A42\u2A45\u2A4A\u2A4C\u2A4F\u2A50\u2A52\u2A54\u2A56\u2A57\u2A5B\u2A5D\u2A61\u2A62\u2A63]|//?|[%\\\\&\\\\\\\\^\xB1\xB7\xD7\xF7\u0387\u214B\u2191\u2193\u21F5\u2213\u2217-\u221C\u2224\u2227\u2229\u2240\u228D\u2293\u2297-\u229B\u22A0\u22A1\u22BC\u22C4-\u22C7\u22C9-\u22CC\u22CF\u22D2\u233F\u25B7\u27D1\u27D5\u27D6\u27D7\u27F0\u27F1\u2908-\u290B\u2912\u2913\u2949\u294C\u294D\u294F\u2951\u2954\u2955\u2958\u2959\u295C\u295D\u2960\u2961\u2963\u2965\u296E\u296F\u29B8\u29BC\u29BE\u29BF\u29F6\u29F7\u2A07\u2A1D\u2A1F\u2A30-\u2A38\u2A3B\u2A3C\u2A3D\u2A40\u2A43\u2A44\u2A4B\u2A4D\u2A4E\u2A51\u2A53\u2A55\u2A58\u2A5A\u2A5C\u2A5E\u2A5F\u2A60\u2ADB\uFFEA\uFFEC])","name":"keyword.operator.arithmetic.julia"},{"match":"\u2218","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}])|\\\\.\\\\.+|[\u2026\u205D\u22EE-\u22F1]","name":"keyword.operator.dots.julia"},{"match":"\\\\$(?=.+)","name":"keyword.operator.interpolation.julia"},{"captures":{"2":{"name":"keyword.operator.transposed-variable.julia"}},"match":"([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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_raw"}]},{"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_raw"}]},{"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":"(?<!\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(\\"\\"\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"(?<!\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(?<![^\\\\\\\\]\\\\\\\\)(\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"(?<!`)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)?```","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(```)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"(?<!`)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)?`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(?<![^\\\\\\\\]\\\\\\\\)(`)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"\\\\$[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}[^\u2190-\u21FF\\\\P{So}][^$\\\\P{Sc}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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"}]},"string_escaped_char_raw":{"patterns":[{"match":"(\\\\\\\\\\\\\\\\)*\\\\\\\\\\"","name":"constant.character.escape.julia"},{"match":"(\\\\\\\\\\\\\\\\)+(?=\\")","name":"constant.character.escape.julia"}]},"symbol":{"patterns":[{"match":"(?<![]!)}\u2032\u207A-\u209C\u2207[:word:]]):[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*(?![!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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+([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)(\\\\s*(<:)\\\\s*[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*(?:\\\\{.*})?)?","name":"meta.type.julia"}]}},"scopeName":"source.julia","embeddedLangs":["cpp","python","javascript","r","sql"],"aliases":["jl"]}')),UV=[...it,...v7,...L0,...z7,...L3,WV]});var Mx={};h1(Mx,{default:()=>KV});var XV,KV,$x=s1(()=>{XV=Object.freeze(JSON.parse('{"displayName":"Dart","name":"dart","patterns":[{"match":"^(#!.*)$","name":"meta.preprocessor.script.dart"},{"begin":"^\\\\w*\\\\b(augment\\\\s+library|library|import\\\\s+augment|import|part\\\\s+of|part|export)\\\\b","beginCaptures":{"0":{"name":"keyword.other.import.dart"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.dart"}},"name":"meta.declaration.dart","patterns":[{"include":"#strings"},{"include":"#comments"},{"match":"\\\\b(as|show|hide)\\\\b","name":"keyword.other.import.dart"},{"match":"\\\\b(if)\\\\b","name":"keyword.control.dart"}]},{"include":"#comments"},{"include":"#punctuation"},{"include":"#annotations"},{"include":"#keywords"},{"include":"#constants-and-special-vars"},{"include":"#class-identifier-with-optional-factory-method"},{"include":"#function-identifier"},{"include":"#operators"},{"include":"#strings"}],"repository":{"annotations":{"patterns":[{"match":"@[A-Za-z]+","name":"storage.type.annotation.dart"}]},"class-identifier":{"patterns":[{"match":"(?<!\\\\$)\\\\b(bool|num|int|double|dynamic)\\\\b(?!\\\\$)","name":"support.class.dart"},{"match":"(?<!\\\\$)\\\\bvoid\\\\b(?!\\\\$)","name":"storage.type.primitive.dart"},{"begin":"(?<![$0-9A-Z_a-z])([$_]*[A-Z][$0-9A-Z_a-z]*)\\\\b","beginCaptures":{"1":{"name":"support.class.dart"}},"end":"(?!<)","patterns":[{"include":"#type-args"}]}]},"class-identifier-with-optional-factory-method":{"patterns":[{"captures":{"1":{"name":"support.class.dart"},"2":{"name":"entity.name.function.dart"}},"match":"(?<!\\\\$)\\\\b(bool|num|int|double|dynamic)\\\\b(?!\\\\$)\\\\s*(factory\\\\b)?"},{"captures":{"1":{"name":"storage.type.primitive.dart"},"2":{"name":"entity.name.function.dart"}},"match":"(?<!\\\\$)\\\\b(void)\\\\b(?!\\\\$)\\\\s*(factory\\\\b)?"},{"begin":"(?<![$0-9A-Z_a-z])([$_]*[A-Z][$0-9A-Z_a-z]*)\\\\b\\\\s*(factory\\\\b)?","beginCaptures":{"1":{"name":"support.class.dart"},"2":{"name":"entity.name.function.dart"}},"end":"(?!<)","patterns":[{"include":"#type-args"}]}]},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.dart"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.dart"},{"include":"#comments-doc-oldschool"},{"include":"#comments-doc"},{"include":"#comments-inline"}]},"comments-block":{"patterns":[{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.dart","patterns":[{"include":"#comments-block"}]}]},"comments-doc":{"patterns":[{"begin":"///","end":"^(?!\\\\s*///)","name":"comment.block.documentation.dart","patterns":[{"include":"#dartdoc"}]}]},"comments-doc-oldschool":{"patterns":[{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.documentation.dart","patterns":[{"include":"#comments-doc-oldschool"},{"include":"#comments-block"},{"include":"#dartdoc"}]}]},"comments-inline":{"patterns":[{"include":"#comments-block"},{"captures":{"1":{"name":"comment.line.double-slash.dart"}},"match":"((//).*)$"}]},"constants-and-special-vars":{"patterns":[{"match":"(?<!\\\\$)\\\\b(true|false|null)\\\\b(?!\\\\$)","name":"constant.language.dart"},{"match":"(?<!\\\\$)\\\\b(this|super|augmented)\\\\b(?!\\\\$)","name":"variable.language.dart"},{"match":"(?<!\\\\$)\\\\b((0([Xx])\\\\h[_\\\\h]*)|(([0-9][0-9_]*\\\\.?[0-9_]*)|(\\\\.[0-9][0-9_]*))(([Ee])([-+])?[0-9][0-9_]*)?)\\\\b(?!\\\\$)","name":"constant.numeric.dart"}]},"dartdoc":{"patterns":[{"captures":{"0":{"name":"variable.name.source.dart"}},"match":"(\\\\[.*?])"},{"begin":"^\\\\s*///\\\\s*(```)","end":"^(?:\\\\s*///\\\\s*(```)|(?!\\\\s*///))","patterns":[{"include":"#dartdoc-codeblock-triple"}]},{"begin":"^\\\\s*\\\\*\\\\s*(```)","end":"^(?:\\\\s*\\\\*\\\\s*(```)|(?=\\\\s*\\\\*/))","patterns":[{"include":"#dartdoc-codeblock-block"}]},{"match":"`[^\\\\n`]+`","name":"variable.other.source.dart"},{"captures":{"1":{"name":"variable.other.source.dart"}},"match":"(?:\\\\*|//)\\\\s{4,}(.*?)(?=($|\\\\*/))"}]},"dartdoc-codeblock-block":{"begin":"^\\\\s*\\\\*\\\\s*(?!(\\\\s*```|/))","contentName":"variable.other.source.dart","end":"$"},"dartdoc-codeblock-triple":{"begin":"^\\\\s*///\\\\s*(?!\\\\s*```)","contentName":"variable.other.source.dart","end":"$"},"expression":{"patterns":[{"include":"#constants-and-special-vars"},{"include":"#class-identifier-with-optional-factory-method"},{"include":"#function-identifier"},{"include":"#strings"},{"match":"[0-9A-Z_a-z]+","name":"variable.parameter.dart"},{"begin":"\\\\{","end":"}","patterns":[{"include":"#expression"}]}]},"function-identifier":{"patterns":[{"captures":{"1":{"name":"entity.name.function.dart"},"2":{"patterns":[{"include":"#type-args"}]}},"match":"([$_]*[a-z][$0-9A-Z_a-z]*)(<(?:[$0-9<>?A-Z_a-z]|,\\\\s*|\\\\s+extends\\\\s+)+>)?[!?]?\\\\("},{"match":"(?<=\\\\.)new\\\\b","name":"entity.name.function.dart"}]},"keywords":{"patterns":[{"match":"(?<!\\\\$)\\\\bas\\\\b(?!\\\\$)","name":"keyword.cast.dart"},{"match":"(?<!\\\\$)\\\\b(try|on|catch|finally|throw|rethrow)\\\\b(?!\\\\$)","name":"keyword.control.catch-exception.dart"},{"match":"(?<!\\\\$)\\\\b(break|case|continue|default|do|else|for|if|in|switch|while|when)\\\\b(?!\\\\$)","name":"keyword.control.dart"},{"match":"(?<!\\\\$)\\\\b(sync(\\\\*)?|async(\\\\*)?|await|yield(\\\\*)?)\\\\b(?!\\\\$)","name":"keyword.control.dart"},{"match":"(?<!\\\\$)\\\\bassert\\\\b(?!\\\\$)","name":"keyword.control.dart"},{"match":"(?<![$.])\\\\b(new)\\\\b(?!\\\\$)","name":"keyword.new.dart"},{"match":"(?<!\\\\$)\\\\b(return)\\\\b(?!\\\\$)","name":"keyword.control.return.dart"},{"match":"(?<!\\\\$)\\\\b(abstract|sealed|base|interface|class|enum|extends|extension\\\\s+type|extension|external|factory|implements|get(?![(<])|mixin|native|operator|set(?![(<])|typedef|with|covariant)\\\\b(?!\\\\$)","name":"keyword.declaration.dart"},{"match":"(?<!\\\\$)\\\\b(macro|augment|static|final|const|required|late)\\\\b(?!\\\\$)","name":"storage.modifier.dart"},{"match":"(?<!\\\\$)\\\\bvar\\\\b(?!\\\\$)","name":"storage.type.primitive.dart"}]},"operators":{"patterns":[{"match":"(?<!\\\\$)\\\\b(is!?)\\\\b(?!\\\\$)","name":"keyword.operator.dart"},{"match":"[:?]","name":"keyword.operator.ternary.dart"},{"match":"(<<|>>>?|[\\\\&^|~])","name":"keyword.operator.bitwise.dart"},{"match":"(([\\\\&^|]|<<|>>>?)=)","name":"keyword.operator.assignment.bitwise.dart"},{"match":"(=>)","name":"keyword.operator.closure.dart"},{"match":"(==|!=|<=?|>=?)","name":"keyword.operator.comparison.dart"},{"match":"(([-%*+/~])=)","name":"keyword.operator.assignment.arithmetic.dart"},{"match":"(=)","name":"keyword.operator.assignment.dart"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.dart"},{"match":"([-*+/]|~/|%)","name":"keyword.operator.arithmetic.dart"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.dart"}]},"punctuation":{"patterns":[{"match":",","name":"punctuation.comma.dart"},{"match":";","name":"punctuation.terminator.dart"},{"match":"\\\\.","name":"punctuation.dot.dart"}]},"string-interp":{"patterns":[{"captures":{"1":{"name":"variable.parameter.dart"}},"match":"\\\\$([0-9A-Z_a-z]+)","name":"meta.embedded.expression.dart"},{"begin":"\\\\$\\\\{","end":"}","name":"meta.embedded.expression.dart","patterns":[{"include":"#expression"}]},{"match":"\\\\\\\\.","name":"constant.character.escape.dart"}]},"strings":{"patterns":[{"begin":"(?<!r)\\"\\"\\"","end":"\\"\\"\\"(?!\\")","name":"string.interpolated.triple.double.dart","patterns":[{"include":"#string-interp"}]},{"begin":"(?<!r)\'\'\'","end":"\'\'\'(?!\')","name":"string.interpolated.triple.single.dart","patterns":[{"include":"#string-interp"}]},{"begin":"r\\"\\"\\"","end":"\\"\\"\\"(?!\\")","name":"string.quoted.triple.double.dart"},{"begin":"r\'\'\'","end":"\'\'\'(?!\')","name":"string.quoted.triple.single.dart"},{"begin":"(?<!\\\\|r)\\"","end":"\\"","name":"string.interpolated.double.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"},{"include":"#string-interp"}]},{"begin":"r\\"","end":"\\"","name":"string.quoted.double.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"}]},{"begin":"(?<!\\\\|r)\'","end":"\'","name":"string.interpolated.single.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"},{"include":"#string-interp"}]},{"begin":"r\'","end":"\'","name":"string.quoted.single.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"}]}]},"type-args":{"begin":"(<)","beginCaptures":{"1":{"name":"other.source.dart"}},"end":"(>)","endCaptures":{"1":{"name":"other.source.dart"}},"patterns":[{"include":"#class-identifier"},{"match":","},{"match":"extends","name":"keyword.declaration.dart"},{"include":"#comments"}]}},"scopeName":"source.dart"}')),KV=[XV]});var Lx={};h1(Lx,{default:()=>JV});var YV,JV,Sx=s1(()=>{YV=Object.freeze(JSON.parse('{"displayName":"Scala","fileTypes":["scala"],"firstLineMatch":"^#!/.*\\\\b\\\\w*scala\\\\b","foldingStartMarker":"/\\\\*\\\\*|\\\\{\\\\s*$","foldingStopMarker":"\\\\*\\\\*/|^\\\\s*}","name":"scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.scala"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.scala"},{"begin":"^\\\\s*(/\\\\*\\\\*)(?!/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}},"name":"comment.block.documentation.scala","patterns":[{"captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}},"match":"(@param)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}},"match":"(@t(?:param|hrows))\\\\s+(\\\\S+)"},{"match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc|groupname|groupprio|groupdesc|group|contentDiagram|documentable|syntax)\\\\b","name":"keyword.other.documentation.scaladoc.scala"},{"captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}},"match":"(\\\\[\\\\[)([^]]+)(]])"},{"include":"#block-comments"}]},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.scala"}},"end":"\\\\*/","name":"comment.block.scala","patterns":[{"include":"#block-comments"}]}]},"char-literal":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.character.begin.scala"},"2":{"name":"punctuation.definition.character.end.scala"}},"match":"(\')\'(\')","name":"string.quoted.other constant.character.literal.scala"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"end":"\'|$","endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}},"name":"string.quoted.other constant.character.literal.scala","patterns":[{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-character-escape.scala"},{"match":"[^\']{2,}","name":"invalid.illegal.character-literal-too-long"},{"match":"(?<!\')[^\']","name":"invalid.illegal.character-literal-too-long"}]}]},"code":{"patterns":[{"include":"#using-directive"},{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#namedBounds"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted-or-symbol"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}},"end":"\\\\n","name":"comment.line.double-slash.scala"}]}]},"constants":{"patterns":[{"match":"\\\\b(false|null|true)\\\\b","name":"constant.language.scala"},{"match":"\\\\b(0[Xx][_\\\\h]*)\\\\b","name":"constant.numeric.scala"},{"match":"\\\\b(([0-9][0-9_]*(\\\\.[0-9][0-9_]*)?)([Ee]([-+])?[0-9][0-9_]*)?|[0-9][0-9_]*)[DFLdfl]?\\\\b","name":"constant.numeric.scala"},{"match":"(\\\\.[0-9][0-9_]*)([Ee]([-+])?[0-9][0-9_]*)?[DFLdfl]?\\\\b","name":"constant.numeric.scala"},{"match":"\\\\b0[Bb][01]([01_]*[01])?[Ll]?\\\\b","name":"constant.numeric.scala"},{"match":"\\\\b(this|super)\\\\b","name":"variable.language.scala"}]},"curly-braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}},"patterns":[{"include":"#code"}]},"declarations":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}},"match":"\\\\b(def)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}},"match":"\\\\b(trait)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}},"match":"\\\\b(?:(case)\\\\s+)?(class|object|enum)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}},"match":"(?<!\\\\.)\\\\b(type)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}},"match":"\\\\b(?:(val)|(var))\\\\b\\\\s*(?!/[*/])(?=(?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?\\\\()"},{"captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"variable.stable.declaration.scala"}},"match":"\\\\b(val)\\\\b\\\\s*(?!/[*/])((?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)(?:\\\\s*,\\\\s*(?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`))*)?(?!\\")"},{"captures":{"1":{"name":"keyword.declaration.volatile.scala"},"2":{"name":"variable.volatile.declaration.scala"}},"match":"\\\\b(var)\\\\b\\\\s*(?!/[*/])((?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)(?:\\\\s*,\\\\s*(?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`))*)?(?!\\")"},{"captures":{"1":{"name":"keyword.other.package.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}},"match":"\\\\b(package)\\\\s+(object)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"begin":"\\\\b(package)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.package.scala"}},"end":"(?<=[\\\\n;])","name":"meta.package.scala","patterns":[{"include":"#comments"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))","name":"entity.name.package.scala"},{"match":"\\\\.","name":"punctuation.definition.package"}]},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}},"match":"\\\\b(given)\\\\b\\\\s*([$_a-z\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|`[^`]+`)?"}]},"empty-parentheses":{"captures":{"1":{"name":"meta.bracket.scala"}},"match":"(\\\\(\\\\))","name":"meta.parentheses.scala"},"exports":{"begin":"\\\\b(export)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.export.scala"}},"end":"(?<=[\\\\n;])","name":"meta.export.scala","patterns":[{"include":"#comments"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.export.given.scala"},{"match":"[A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?","name":"entity.name.class.export.scala"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))","name":"entity.name.export.scala"},{"match":"\\\\.","name":"punctuation.definition.export"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"meta.bracket.scala"}},"end":"}","endCaptures":{"0":{"name":"meta.bracket.scala"}},"name":"meta.export.selector.scala","patterns":[{"captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.renamed-from.scala"},"3":{"name":"entity.name.export.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.export.renamed-to.scala"},"6":{"name":"entity.name.export.renamed-to.scala"}},"match":"(given\\\\s)?\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*(=>)\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.export.given.scala"},{"captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.scala"},"3":{"name":"entity.name.export.scala"}},"match":"(given\\\\s+)?(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))"}]}]},"extension":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"^\\\\s*(extension)\\\\s+(?=[(\\\\[])"}]},"imports":{"begin":"\\\\b(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.import.scala"}},"end":"(?<=[\\\\n;])","name":"meta.import.scala","patterns":[{"include":"#comments"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.import.given.scala"},{"match":"\\\\s(as)\\\\s","name":"keyword.other.import.as.scala"},{"match":"[A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?","name":"entity.name.class.import.scala"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))","name":"entity.name.import.scala"},{"match":"\\\\.","name":"punctuation.definition.import"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"meta.bracket.scala"}},"end":"}","endCaptures":{"0":{"name":"meta.bracket.scala"}},"name":"meta.import.selector.scala","patterns":[{"captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}},"match":"(given\\\\s)?\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*(=>)\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.import.given.scala"},{"captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}},"match":"(given\\\\s+)?(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))"}]}]},"inheritance":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class"}},"match":"\\\\b(extends|with|derives)\\\\b\\\\s*([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|`[^`]+`|(?=\\\\([^)]+=>)|(?=[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|(?=\\"))?"}]},"initialization":{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"\\\\b(new)\\\\b"},"inline":{"patterns":[{"match":"\\\\b(inline)(?=\\\\s+((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)\\\\s*:)","name":"storage.modifier.other"},{"match":"\\\\b(inline)\\\\b(?=(?:.(?!\\\\b(?:val|def|given)\\\\b))*\\\\b(if|match)\\\\b)","name":"keyword.control.flow.scala"}]},"keywords":{"patterns":[{"match":"\\\\b(return|throw)\\\\b","name":"keyword.control.flow.jump.scala"},{"match":"\\\\b((?:class|isInstance|asInstance)Of)\\\\b","name":"support.function.type-of.scala"},{"match":"\\\\b(else|if|then|do|while|for|yield|match|case)\\\\b","name":"keyword.control.flow.scala"},{"match":"^\\\\s*(end)\\\\s+(if|while|for|match)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.control.flow.end.scala"},{"match":"^\\\\s*(end)\\\\s+(val)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.declaration.stable.end.scala"},{"match":"^\\\\s*(end)\\\\s+(var)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.declaration.volatile.end.scala"},{"captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}},"match":"^\\\\s*(end)\\\\s+(?:(new|extension)|([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?))(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)"},{"match":"\\\\b(catch|finally|try)\\\\b","name":"keyword.control.exception.scala"},{"match":"^\\\\s*(end)\\\\s+(try)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.control.exception.end.scala"},{"captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}},"match":"^\\\\s*(end)\\\\s+(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))?(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)"},{"match":"([-!#%\\\\&*+/:<-@\\\\\\\\^|~\\\\p{Sm}\\\\p{So}]){3,}","name":"keyword.operator.scala"},{"captures":{"1":{"patterns":[{"match":"(\\\\|\\\\||&&)","name":"keyword.operator.logical.scala"},{"match":"([!<=>]=)","name":"keyword.operator.comparison.scala"},{"match":"..","name":"keyword.operator.scala"}]}},"match":"([-!#%\\\\&*+/:<-@\\\\\\\\^|~\\\\p{Sm}\\\\p{So}]{2,}|_\\\\*)"},{"captures":{"1":{"patterns":[{"match":"(!)","name":"keyword.operator.logical.scala"},{"match":"([-%*+/~])","name":"keyword.operator.arithmetic.scala"},{"match":"([<=>])","name":"keyword.operator.comparison.scala"},{"match":".","name":"keyword.operator.scala"}]}},"match":"(?<!_)([-!#%\\\\&*+/:<-@\\\\\\\\^|~\\\\p{Sm}\\\\p{So}])"}]},"meta-bounds":{"match":"<%|=:=|<:<|<%<|>:|<:","name":"meta.bounds.scala"},"meta-brackets":{"patterns":[{"match":"\\\\{","name":"punctuation.section.block.begin.scala"},{"match":"}","name":"punctuation.section.block.end.scala"},{"match":"[]()\\\\[{}]","name":"meta.bracket.scala"}]},"meta-colons":{"patterns":[{"match":"(?<!:):(?!:)","name":"meta.colon.scala"}]},"namedBounds":{"patterns":[{"captures":{"1":{"name":"keyword.other.import.as.scala"},"2":{"name":"variable.stable.declaration.scala"}},"match":"\\\\s+(as)\\\\s+([$_a-z\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)\\\\b"}]},"parameter-list":{"patterns":[{"captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}},"match":"(?<=[^$.0-9A-Z_a-z])(`[^`]+`|[$_a-z\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)\\\\s*(:)\\\\s+"}]},"qualifiedClassName":{"captures":{"1":{"name":"entity.name.class"}},"match":"\\\\b(([A-Z]\\\\w*)(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)"},"scala-quoted-or-symbol":{"patterns":[{"captures":{"1":{"name":"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{"name":"constant.other.symbol.scala"}},"match":"(\')((?>[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))(?!\')"},{"match":"\'(?=\\\\s*\\\\{(?!\'))","name":"keyword.control.flow.staging.scala"},{"match":"\'(?=\\\\s*\\\\[(?!\'))","name":"keyword.control.flow.staging.scala"},{"match":"\\\\$(?=\\\\s*\\\\{)","name":"keyword.control.flow.staging.scala"}]},"script-header":{"captures":{"1":{"name":"string.unquoted.shebang.scala"}},"match":"^#!(.*)$","name":"comment.block.shebang.scala"},"singleton-type":{"captures":{"1":{"name":"keyword.type.scala"}},"match":"\\\\.(type)(?![$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[0-9])"},"storage-modifiers":{"patterns":[{"match":"\\\\b(pr(?:ivate\\\\[\\\\S+]|otected\\\\[\\\\S+]|ivate|otected))\\\\b","name":"storage.modifier.access"},{"match":"\\\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\\\b","name":"storage.modifier.other"},{"match":"(?<=^|\\\\s)\\\\b(transparent|opaque|infix|open|inline|into)\\\\b(?=[a-z\\\\s]*\\\\b(def|val|var|given|type|class|trait|object|enum)\\\\b)","name":"storage.modifier.other"}]},"string-interpolation":{"patterns":[{"match":"\\\\$\\\\$","name":"constant.character.escape.interpolation.scala"},{"captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}},"match":"(\\\\$)([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*)","name":"meta.template.expression.scala"},{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"contentName":"meta.embedded.line.scala","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}},"name":"meta.template.expression.scala","patterns":[{"include":"#code"}]}]},"strings":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"end":"\\"\\"\\"(?!\\")","endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}},"name":"string.quoted.triple.scala","patterns":[{"match":"\\\\\\\\(?:\\\\\\\\|u\\\\h{4})","name":"constant.character.escape.scala"}]},{"begin":"\\\\b(raw)(\\"\\"\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\"\\"\\")(?!\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":".","name":"string.quoted.triple.interpolated.scala"}]},{"begin":"\\\\b([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)(\\"\\"\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\"\\"\\")(?!\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"include":"#string-interpolation"},{"match":"\\\\\\\\(?:\\\\\\\\|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":".","name":"string.quoted.triple.interpolated.scala"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}},"name":"string.quoted.double.scala","patterns":[{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.scala"}]},{"begin":"\\\\b(raw)(\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":".","name":"string.quoted.double.interpolated.scala"}]},{"begin":"\\\\b([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)(\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.scala"},{"match":".","name":"string.quoted.double.interpolated.scala"}]}]},"using":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"(?<=\\\\()\\\\s*(using)\\\\s"}]},"using-directive":{"begin":"^\\\\s*(//>)\\\\s*(using)[^\\\\n\\\\S]+(\\\\S+)?","beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"},"3":{"patterns":[{"match":"[A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)","name":"entity.name.import.scala"},{"match":"\\\\.","name":"punctuation.definition.import"}]}},"end":"\\\\n","name":"comment.line.shebang.scala","patterns":[{"include":"#constants"},{"include":"#strings"},{"match":"[^,\\\\s]+","name":"string.quoted.double.scala"}]},"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":"#xml-entity"}]},"xml-embedded-content":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"meta.bracket.scala"}},"end":"}","name":"meta.source.embedded.scala","patterns":[{"include":"#code"}]},{"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":" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Z_a-z]+)="},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-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"},"xml-literal":{"patterns":[{"begin":"(<)((?:([0-9A-Z_a-z][0-9A-Z_a-z]*)((:)))?([0-9A-Z_a-z][-0-:A-Z_a-z]*))(?=(\\\\s[^>]*)?></\\\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"end":"(>(<))/(?:([-0-9A-Z_a-z]+)((:)))?([-0-:A-Z_a-z]*[0-9A-Z_a-z])(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.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":"#xml-embedded-content"}]},{"begin":"(</?)(?:([0-9A-Z_a-z][-0-9A-Z_a-z]*)((:)))?([0-9A-Z_a-z][-0-:A-Z_a-z]*)(?=[^>]*?>)","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":"#xml-embedded-content"}]},{"include":"#xml-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":"#xml-entity"}]}},"scopeName":"source.scala"}')),JV=[YV]});var Ex={};h1(Ex,{default:()=>eq});var QV,eq,Zx=s1(()=>{QV=Object.freeze(JSON.parse('{"displayName":"Clojure","name":"clojure","patterns":[{"include":"#comment"},{"include":"#shebang-comment"},{"include":"#quoted-sexp"},{"include":"#sexp"},{"include":"#keyfn"},{"include":"#string"},{"include":"#vector"},{"include":"#set"},{"include":"#map"},{"include":"#regexp"},{"include":"#var"},{"include":"#constants"},{"include":"#dynamic-variables"},{"include":"#metadata"},{"include":"#namespace-symbol"},{"include":"#symbol"}],"repository":{"comment":{"begin":"(?<!\\\\\\\\);","beginCaptures":{"0":{"name":"punctuation.definition.comment.clojure"}},"end":"$","name":"comment.line.semicolon.clojure"},"constants":{"patterns":[{"match":"(nil)(?=([])}\\\\s]))","name":"constant.language.nil.clojure"},{"match":"(true|false)","name":"constant.language.boolean.clojure"},{"match":"(##(?:Inf|-Inf|NaN))","name":"constant.numeric.symbol.clojure"},{"match":"([-+]?\\\\d+/\\\\d+)","name":"constant.numeric.ratio.clojure"},{"match":"([-+]?(?:3[0-6]|[12]\\\\d|[2-9])[Rr][0-9A-Za-z]+N?)","name":"constant.numeric.arbitrary-radix.clojure"},{"match":"([-+]?0[Xx]\\\\h+N?)","name":"constant.numeric.hexadecimal.clojure"},{"match":"([-+]?0[0-7]+N?)","name":"constant.numeric.octal.clojure"},{"match":"([-+]?[0-9]+(\\\\.|(?=[EMe]))[0-9]*([Ee][-+]?[0-9]+)?M?)","name":"constant.numeric.double.clojure"},{"match":"([-+]?\\\\d+N?)","name":"constant.numeric.long.clojure"},{"include":"#keyword"}]},"dynamic-variables":{"match":"\\\\*[-!+.:<-?_\\\\w\\\\d]+\\\\*","name":"meta.symbol.dynamic.clojure"},"keyfn":{"patterns":[{"match":"(?<=([(\\\\[{\\\\s]))(if(-[-?\\\\p{Ll}]*)?|when(-[-\\\\p{Ll}]*)?|for(-[-\\\\p{Ll}]*)?|cond|do|let(-[-?\\\\p{Ll}]*)?|binding|loop|recur|fn|throw[-\\\\p{Ll}]*|try|catch|finally|(\\\\p{Ll}*case))(?=([])}\\\\s]))","name":"storage.control.clojure"},{"match":"(?<=([(\\\\[{\\\\s]))(declare-?|(in-)?ns|import|use|require|load|compile|(def[-\\\\p{Ll}]*))(?=([])}\\\\s]))","name":"keyword.control.clojure"}]},"keyword":{"match":"(?<=([(\\\\[{\\\\s])):[-!#*+./:<-?_\\\\w]+(?=([]),}\\\\s]))","name":"constant.keyword.clojure"},"map":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.map.begin.clojure"}},"end":"(}(?=[])}\\\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.map.end.trailing.clojure"},"2":{"name":"punctuation.section.map.end.clojure"}},"name":"meta.map.clojure","patterns":[{"include":"$self"}]},"metadata":{"patterns":[{"begin":"(\\\\^\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.metadata.map.begin.clojure"}},"end":"(}(?=[])}\\\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.metadata.map.end.trailing.clojure"},"2":{"name":"punctuation.section.metadata.map.end.clojure"}},"name":"meta.metadata.map.clojure","patterns":[{"include":"$self"}]},{"begin":"(\\\\^)","end":"(\\\\s)","name":"meta.metadata.simple.clojure","patterns":[{"include":"#keyword"},{"include":"$self"}]}]},"namespace-symbol":{"patterns":[{"captures":{"1":{"name":"meta.symbol.namespace.clojure"}},"match":"([-!*+.<-?_\\\\p{L}][-!*+.:<-?_\\\\w\\\\d]*)/"}]},"quoted-sexp":{"begin":"([\'`]\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.clojure"}},"end":"(\\\\))$|(\\\\)(?=[])}\\\\s]*(?:;|$)))|(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.trailing.clojure"},"2":{"name":"punctuation.section.expression.end.trailing.clojure"},"3":{"name":"punctuation.section.expression.end.clojure"}},"name":"meta.quoted-expression.clojure","patterns":[{"include":"$self"}]},"regexp":{"begin":"#\\"","beginCaptures":{"0":{"name":"punctuation.definition.regexp.begin.clojure"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.regexp.end.clojure"}},"name":"string.regexp.clojure","patterns":[{"include":"#regexp_escaped_char"}]},"regexp_escaped_char":{"match":"\\\\\\\\.","name":"constant.character.escape.clojure"},"set":{"begin":"(#\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.set.begin.clojure"}},"end":"(}(?=[])}\\\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.set.end.trailing.clojure"},"2":{"name":"punctuation.section.set.end.clojure"}},"name":"meta.set.clojure","patterns":[{"include":"$self"}]},"sexp":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.clojure"}},"end":"(\\\\))$|(\\\\)(?=[])}\\\\s]*(?:;|$)))|(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.trailing.clojure"},"2":{"name":"punctuation.section.expression.end.trailing.clojure"},"3":{"name":"punctuation.section.expression.end.clojure"}},"name":"meta.expression.clojure","patterns":[{"begin":"(?<=\\\\()(ns|declare|def[-!*+.:<-?_\\\\w\\\\d]*|[-!*+.:<-?_\\\\w][-!*+.:<-?_\\\\w\\\\d]*/def[-!*+.:<-?_\\\\w\\\\d]*)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.clojure"}},"end":"(?=\\\\))","name":"meta.definition.global.clojure","patterns":[{"include":"#metadata"},{"include":"#dynamic-variables"},{"match":"([-!*+.<-?_\\\\p{L}][-!*+.:<-?_\\\\w\\\\d]*)","name":"entity.global.clojure"},{"include":"$self"}]},{"include":"#keyfn"},{"include":"#constants"},{"include":"#vector"},{"include":"#map"},{"include":"#set"},{"include":"#sexp"},{"captures":{"1":{"name":"entity.name.function.clojure"}},"match":"(?<=\\\\()(.+?)(?=[)\\\\s])","patterns":[{"include":"$self"}]},{"include":"$self"}]},"shebang-comment":{"begin":"^(#!)","beginCaptures":{"1":{"name":"punctuation.definition.comment.shebang.clojure"}},"end":"$","name":"comment.line.shebang.clojure"},"string":{"begin":"(?<!\\\\\\\\)(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.clojure"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.clojure"}},"name":"string.quoted.double.clojure","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.clojure"}]},"symbol":{"patterns":[{"match":"([-!*+.<-?_\\\\p{L}][-!*+.:<-?_\\\\w\\\\d]*)","name":"meta.symbol.clojure"}]},"var":{"match":"(?<=([(\\\\[{\\\\s])#)\'[-!*+./:<-?_\\\\w]+(?=([])}\\\\s]))","name":"meta.var.clojure"},"vector":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.section.vector.begin.clojure"}},"end":"(](?=[])}\\\\s]*(?:;|$)))|(])","endCaptures":{"1":{"name":"punctuation.section.vector.end.trailing.clojure"},"2":{"name":"punctuation.section.vector.end.clojure"}},"name":"meta.vector.clojure","patterns":[{"include":"$self"}]}},"scopeName":"source.clojure","aliases":["clj"]}')),eq=[QV]});var Fx={};h1(Fx,{default:()=>nq});var tq,nq,jx=s1(()=>{n9();tq=Object.freeze(JSON.parse('{"displayName":"Erlang","fileTypes":["erl","escript","hrl","xrl","yrl"],"name":"erlang","patterns":[{"include":"#module-directive"},{"include":"#import-export-directive"},{"include":"#behaviour-directive"},{"include":"#record-directive"},{"include":"#define-directive"},{"include":"#macro-directive"},{"include":"#doc-directive"},{"include":"#directive"},{"include":"#function"},{"include":"#everything-else"}],"repository":{"atom":{"patterns":[{"begin":"(\')","beginCaptures":{"1":{"name":"punctuation.definition.symbol.begin.erlang"}},"end":"(\')","endCaptures":{"1":{"name":"punctuation.definition.symbol.end.erlang"}},"name":"constant.other.symbol.quoted.single.erlang","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\\\\\)([\\"\'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2})","name":"constant.other.symbol.escape.erlang"},{"match":"\\\\\\\\\\\\^?.?","name":"invalid.illegal.atom.erlang"}]},{"match":"[a-z][@-Z_a-z\\\\d]*+","name":"constant.other.symbol.unquoted.erlang"}]},"behaviour-directive":{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.behaviour.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.behaviour.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(behaviour)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.behaviour.erlang"},"binary":{"begin":"(<<)","beginCaptures":{"1":{"name":"punctuation.definition.binary.begin.erlang"}},"end":"(>>)","endCaptures":{"1":{"name":"punctuation.definition.binary.end.erlang"}},"name":"meta.structure.binary.erlang","patterns":[{"captures":{"1":{"name":"punctuation.separator.binary.erlang"},"2":{"name":"punctuation.separator.value-size.erlang"}},"match":"(,)|(:)"},{"include":"#internal-type-specifiers"},{"include":"#everything-else"}]},"character":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.character.erlang"},"2":{"name":"constant.character.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"},"5":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\$)((\\\\\\\\)([\\"\'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2}))","name":"constant.character.erlang"},{"match":"\\\\$\\\\\\\\\\\\^?.?","name":"invalid.illegal.character.erlang"},{"captures":{"1":{"name":"punctuation.definition.character.erlang"}},"match":"(\\\\$)[ \\\\S]","name":"constant.character.erlang"},{"match":"\\\\$.?","name":"invalid.illegal.character.erlang"}]},"comment":{"begin":"(^[\\\\t ]+)?(?=%)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.erlang"}},"end":"(?!\\\\G)","patterns":[{"begin":"%","beginCaptures":{"0":{"name":"punctuation.definition.comment.erlang"}},"end":"\\\\n","name":"comment.line.percentage.erlang"}]},"define-directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([@-Z_a-z\\\\d]++)\\\\s*+","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.define.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"(?=^\\\\s*+-\\\\s*+define\\\\s*+\\\\(\\\\s*+[@-Z_a-z\\\\d]++\\\\s*+\\\\()","end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.define.erlang","patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([@-Z_a-z\\\\d]++)\\\\s*+(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))\\\\s*(,)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.separator.parameters.erlang"}},"patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"match":"\\\\|\\\\||[,.:;|]|->","name":"punctuation.separator.define.erlang"},{"include":"#everything-else"}]}]},"directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\(?)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\)?)\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.erlang","patterns":[{"include":"#everything-else"}]},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\.)","name":"meta.directive.erlang"}]},"doc-directive":{"begin":"^\\\\s*+(-)\\\\s*+((module)?doc)\\\\s*(\\\\(\\\\s*)?(~[BSbs]?)?((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.doc.erlang"},"4":{"name":"punctuation.definition.parameters.begin.erlang"},"5":{"name":"storage.type.string.erlang"},"6":{"name":"comment.block.documentation.erlang"},"7":{"name":"punctuation.definition.string.begin.erlang"},"8":{"name":"invalid.illegal.string.erlang"}},"contentName":"meta.embedded.block.markdown","end":"^(\\\\s*(\\\\7))\\\\s*(\\\\)\\\\s*)?(\\\\.)","endCaptures":{"1":{"name":"comment.block.documentation.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"},"3":{"name":"punctuation.section.directive.end.Erlang"}},"name":"meta.directive.doc.erlang","patterns":[{"include":"text.html.markdown"}]},"docstring":{"begin":"(?<!\\")((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"meta.string.quoted.triple.begin.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"},"3":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\2))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.triple.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"everything-else":{"patterns":[{"include":"#comment"},{"include":"#record-usage"},{"include":"#macro-usage"},{"include":"#expression"},{"include":"#keyword"},{"include":"#textual-operator"},{"include":"#language-constant"},{"include":"#function-call"},{"include":"#tuple"},{"include":"#list"},{"include":"#binary"},{"include":"#parenthesized-expression"},{"include":"#character"},{"include":"#number"},{"include":"#atom"},{"include":"#sigil-docstring"},{"include":"#sigil-docstring-verbatim"},{"include":"#sigil-string"},{"include":"#docstring"},{"include":"#string"},{"include":"#symbolic-operator"},{"include":"#variable"}]},"expression":{"patterns":[{"begin":"\\\\b(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.if.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.if.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(case)\\\\b","beginCaptures":{"1":{"name":"keyword.control.case.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.case.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(receive)\\\\b","beginCaptures":{"1":{"name":"keyword.control.receive.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.receive.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"captures":{"1":{"name":"keyword.control.fun.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"variable.other.erlang"},"6":{"name":"punctuation.separator.module-function.erlang"},"8":{"name":"entity.name.function.erlang"},"9":{"name":"variable.other.erlang"},"10":{"name":"punctuation.separator.function-arity.erlang"}},"match":"\\\\b(fun)\\\\s+((([a-z][@-Z_a-z\\\\d]*+)|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)\\\\s*+)?(([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*(/)","name":"meta.expression.fun.implicit.erlang"},{"begin":"\\\\b(fun)\\\\s+(([a-z][@-Z_a-z\\\\d]*+)|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"},"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"}},"end":"(/)","endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}},"name":"meta.expression.fun.implicit.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\s+(?!\\\\()","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"end":"(/)","endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}},"name":"meta.expression.fun.implicit.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\s*+(\\\\()(?=(\\\\s*+\\\\()|(\\\\)))","beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\b","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.fun.erlang","patterns":[{"begin":"(?=\\\\()","end":"(;)|(?=\\\\bend\\\\b)","endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}},"patterns":[{"include":"#internal-function-parts"}]},{"include":"#everything-else"}]},{"begin":"\\\\b(try)\\\\b","beginCaptures":{"1":{"name":"keyword.control.try.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.try.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(begin)\\\\b","beginCaptures":{"1":{"name":"keyword.control.begin.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.begin.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(maybe)\\\\b","beginCaptures":{"1":{"name":"keyword.control.maybe.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.maybe.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]}]},"function":{"begin":"^\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.definition.erlang"}},"end":"(\\\\.)","endCaptures":{"1":{"name":"punctuation.terminator.function.erlang"}},"name":"meta.function.erlang","patterns":[{"captures":{"1":{"name":"entity.name.function.erlang"}},"match":"^\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(?=\\\\()"},{"begin":"(?=\\\\()","end":"(;)|(?=\\\\.)","endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}},"patterns":[{"include":"#parenthesized-expression"},{"include":"#internal-function-parts"}]},{"include":"#everything-else"}]},"function-call":{"begin":"(?=([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\'|_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\(|:\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\'|_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)\\\\s*+\\\\())","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"name":"meta.function-call.erlang","patterns":[{"begin":"((erlang)\\\\s*+(:)\\\\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\\\\s*+(\\\\()","beginCaptures":{"2":{"name":"entity.name.type.class.module.erlang"},"3":{"name":"punctuation.separator.module-function.erlang"},"4":{"name":"entity.name.function.guard.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(?=\\\\))","patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"begin":"((([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)\\\\s*+)?(([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(\\\\()","beginCaptures":{"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"},"7":{"name":"entity.name.function.erlang"},"8":{"name":"variable.other.erlang"},"9":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(?=\\\\))","patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]}]},"import-export-directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(import)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(,)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.import.erlang","patterns":[{"include":"#internal-function-list"}]},{"begin":"^\\\\s*+(-)\\\\s*+(export)\\\\s*+(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.export.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.export.erlang","patterns":[{"include":"#internal-function-list"}]}]},"internal-expression-punctuation":{"captures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"},"2":{"name":"punctuation.separator.clauses.erlang"},"3":{"name":"punctuation.separator.expressions.erlang"}},"match":"(->)|(;)|(,)"},"internal-function-list":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}},"name":"meta.structure.list.function.erlang","patterns":[{"begin":"([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(/)","beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.separator.function-arity.erlang"}},"end":"(,)|(?=])","endCaptures":{"1":{"name":"punctuation.separator.list.erlang"}},"patterns":[{"include":"#everything-else"}]},{"include":"#everything-else"}]},"internal-function-parts":{"patterns":[{"begin":"(?=\\\\()","end":"(->)","endCaptures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"match":"[,;]","name":"punctuation.separator.guards.erlang"},{"include":"#everything-else"}]},{"match":",","name":"punctuation.separator.expressions.erlang"},{"include":"#everything-else"}]},"internal-record-body":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.class.record.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.class.record.end.erlang"}},"name":"meta.structure.record.erlang","patterns":[{"begin":"(([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_))","beginCaptures":{"2":{"name":"variable.other.field.erlang"},"3":{"name":"variable.language.omitted.field.erlang"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.class.record.erlang"}},"patterns":[{"include":"#everything-else"}]},{"include":"#everything-else"}]},"internal-string-body":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\\\\\)([\\"\'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2})","name":"constant.character.escape.erlang"},{"match":"\\\\\\\\\\\\^?.?","name":"invalid.illegal.string.erlang"},{"include":"#internal-string-body-verbatim"}]},"internal-string-body-verbatim":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.placeholder.erlang"},"6":{"name":"punctuation.separator.placeholder-parts.erlang"},"10":{"name":"punctuation.separator.placeholder-parts.erlang"}},"match":"(~)((-)?\\\\d++|(\\\\*))?((\\\\.)(\\\\d++|(\\\\*))?((\\\\.)((\\\\*)|.))?)?[Kklt]*[#+BPWXbcefginpswx~]","name":"constant.character.format.placeholder.other.erlang"},{"captures":{"1":{"name":"punctuation.definition.placeholder.erlang"}},"match":"(~)(\\\\*)?(\\\\d++)?(t)?[-#acdflsu~]","name":"constant.character.format.placeholder.other.erlang"},{"match":"~[^\\"]?","name":"invalid.illegal.string.erlang"}]},"internal-type-specifiers":{"begin":"(/)","beginCaptures":{"1":{"name":"punctuation.separator.value-type.erlang"}},"end":"(?=[,:]|>>)","patterns":[{"captures":{"1":{"name":"storage.type.erlang"},"2":{"name":"storage.modifier.signedness.erlang"},"3":{"name":"storage.modifier.endianness.erlang"},"4":{"name":"storage.modifier.unit.erlang"},"5":{"name":"punctuation.separator.unit-specifiers.erlang"},"6":{"name":"constant.numeric.integer.decimal.erlang"},"7":{"name":"punctuation.separator.type-specifiers.erlang"}},"match":"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|((?:|un)signed)|(big|little|native)|(unit)(:)(\\\\d++)|(-)"}]},"keyword":{"match":"\\\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\\\b","name":"keyword.control.erlang"},"language-constant":{"match":"\\\\b(false|true|undefined)\\\\b","name":"constant.language"},"list":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}},"name":"meta.structure.list.erlang","patterns":[{"match":"\\\\|\\\\|??|,","name":"punctuation.separator.list.erlang"},{"include":"#everything-else"}]},"macro-directive":{"patterns":[{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifdef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(ifdef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.ifdef.erlang"},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifndef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(ifndef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.ifndef.erlang"},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.undef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(undef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.undef.erlang"}]},"macro-usage":{"captures":{"1":{"name":"keyword.operator.macro.erlang"},"2":{"name":"entity.name.function.macro.erlang"}},"match":"(\\\\?\\\\??)\\\\s*+([@-Z_a-z\\\\d]++)","name":"meta.macro-usage.erlang"},"module-directive":{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.module.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(module)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.module.erlang"},"number":{"begin":"(?=\\\\d)","end":"(?!\\\\d)","patterns":[{"captures":{"1":{"name":"punctuation.separator.integer-float.erlang"},"2":{"name":"punctuation.separator.float-exponent.erlang"}},"match":"\\\\d++(\\\\.)\\\\d++([Ee][-+]?\\\\d++)?","name":"constant.numeric.float.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"2(#)([01]++_)*[01]++","name":"constant.numeric.integer.binary.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"3(#)([012]++_)*[012]++","name":"constant.numeric.integer.base-3.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"4(#)([0-3]++_)*[0-3]++","name":"constant.numeric.integer.base-4.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"5(#)([0-4]++_)*[0-4]++","name":"constant.numeric.integer.base-5.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"6(#)([0-5]++_)*[0-5]++","name":"constant.numeric.integer.base-6.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"7(#)([0-6]++_)*[0-6]++","name":"constant.numeric.integer.base-7.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"8(#)([0-7]++_)*[0-7]++","name":"constant.numeric.integer.octal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"9(#)([0-8]++_)*[0-8]++","name":"constant.numeric.integer.base-9.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"10(#)(\\\\d++_)*\\\\d++","name":"constant.numeric.integer.decimal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"11(#)([Aa\\\\d]++_)*[Aa\\\\d]++","name":"constant.numeric.integer.base-11.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"12(#)([ABab\\\\d]++_)*[ABab\\\\d]++","name":"constant.numeric.integer.base-12.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"13(#)([ABCabc\\\\d]++_)*[ABCabc\\\\d]++","name":"constant.numeric.integer.base-13.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"14(#)([A-Da-d\\\\d]++_)*[A-Da-d\\\\d]++","name":"constant.numeric.integer.base-14.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"15(#)([A-Ea-e\\\\d]++_)*[A-Ea-e\\\\d]++","name":"constant.numeric.integer.base-15.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"16(#)([A-Fa-f\\\\d]++_)*[A-Fa-f\\\\d]++","name":"constant.numeric.integer.hexadecimal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"17(#)([A-Ga-g\\\\d]++_)*[A-Ga-g\\\\d]++","name":"constant.numeric.integer.base-17.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"18(#)([A-Ha-h\\\\d]++_)*[A-Ha-h\\\\d]++","name":"constant.numeric.integer.base-18.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"19(#)([A-Ia-i\\\\d]++_)*[A-Ia-i\\\\d]++","name":"constant.numeric.integer.base-19.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"20(#)([A-Ja-j\\\\d]++_)*[A-Ja-j\\\\d]++","name":"constant.numeric.integer.base-20.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"21(#)([A-Ka-k\\\\d]++_)*[A-Ka-k\\\\d]++","name":"constant.numeric.integer.base-21.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"22(#)([A-La-l\\\\d]++_)*[A-La-l\\\\d]++","name":"constant.numeric.integer.base-22.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"23(#)([A-Ma-m\\\\d]++_)*[A-Ma-m\\\\d]++","name":"constant.numeric.integer.base-23.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"24(#)([A-Na-n\\\\d]++_)*[A-Na-n\\\\d]++","name":"constant.numeric.integer.base-24.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"25(#)([A-Oa-o\\\\d]++_)*[A-Oa-o\\\\d]++","name":"constant.numeric.integer.base-25.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"26(#)([A-Pa-p\\\\d]++_)*[A-Pa-p\\\\d]++","name":"constant.numeric.integer.base-26.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"27(#)([A-Qa-q\\\\d]++_)*[A-Qa-q\\\\d]++","name":"constant.numeric.integer.base-27.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"28(#)([A-Ra-r\\\\d]++_)*[A-Ra-r\\\\d]++","name":"constant.numeric.integer.base-28.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"29(#)([A-Sa-s\\\\d]++_)*[A-Sa-s\\\\d]++","name":"constant.numeric.integer.base-29.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"30(#)([A-Ta-t\\\\d]++_)*[A-Ta-t\\\\d]++","name":"constant.numeric.integer.base-30.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"31(#)([A-Ua-u\\\\d]++_)*[A-Ua-u\\\\d]++","name":"constant.numeric.integer.base-31.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"32(#)([A-Va-v\\\\d]++_)*[A-Va-v\\\\d]++","name":"constant.numeric.integer.base-32.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"33(#)([A-Wa-w\\\\d]++_)*[A-Wa-w\\\\d]++","name":"constant.numeric.integer.base-33.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"34(#)([A-Xa-x\\\\d]++_)*[A-Xa-x\\\\d]++","name":"constant.numeric.integer.base-34.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"35(#)([A-Ya-y\\\\d]++_)*[A-Ya-y\\\\d]++","name":"constant.numeric.integer.base-35.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"36(#)([A-Za-z\\\\d]++_)*[A-Za-z\\\\d]++","name":"constant.numeric.integer.base-36.erlang"},{"match":"\\\\d++#([A-Za-z\\\\d]++_)*[A-Za-z\\\\d]++","name":"invalid.illegal.integer.erlang"},{"match":"(\\\\d++_)*\\\\d++","name":"constant.numeric.integer.decimal.erlang"}]},"parenthesized-expression":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.erlang"}},"name":"meta.expression.parenthesized","patterns":[{"include":"#everything-else"}]},"record-directive":{"begin":"^\\\\s*+(-)\\\\s*+(record)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(,)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.record.definition.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.record.erlang","patterns":[{"include":"#internal-record-body"},{"include":"#comment"}]},"record-usage":{"patterns":[{"captures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"},"3":{"name":"punctuation.separator.record-field.erlang"},"4":{"name":"variable.other.field.erlang"}},"match":"(#)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(\\\\.)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')","name":"meta.record-usage.erlang"},{"begin":"(#)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')","beginCaptures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"}},"end":"(?<=})","name":"meta.record-usage.erlang","patterns":[{"include":"#internal-record-body"}]}]},"sigil-docstring":{"begin":"(~[bs])((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\3))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.tripple.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-docstring-verbatim":{"begin":"(~[BS]?)((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\3))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.tripple.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string":{"patterns":[{"include":"#sigil-string-parenthesis"},{"include":"#sigil-string-parenthesis-verbatim"},{"include":"#sigil-string-curly-brackets"},{"include":"#sigil-string-curly-brackets-verbatim"},{"include":"#sigil-string-square-brackets"},{"include":"#sigil-string-square-brackets-verbatim"},{"include":"#sigil-string-less-greater"},{"include":"#sigil-string-less-greater-verbatim"},{"include":"#sigil-string-single-character"},{"include":"#sigil-string-single-character-verbatim"},{"include":"#sigil-string-single-quote"},{"include":"#sigil-string-single-quote-verbatim"},{"include":"#sigil-string-double-quote"},{"include":"#sigil-string-double-quote-verbatim"}]},"sigil-string-curly-brackets":{"begin":"(~[bs]?)(\\\\{)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-curly-brackets-verbatim":{"begin":"(~[BS])(\\\\{)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-double-quote":{"begin":"(~[bs]?)(\\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-double-quote-verbatim":{"begin":"(~[BS])(\\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-less-greater":{"begin":"(~[bs]?)(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-less-greater-verbatim":{"begin":"(~[BS])(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-parenthesis":{"begin":"(~[bs]?)(\\\\()","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-parenthesis-verbatim":{"begin":"(~[BS])(\\\\()","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-single-character":{"begin":"(~[bs]?)([#/`|])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-character-verbatim":{"begin":"(~[BS])([#/`|])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-single-quote":{"begin":"(~[bs]?)(\')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-quote-verbatim":{"begin":"(~[BS])(\')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-square-brackets":{"begin":"(~[bs]?)(\\\\[)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-square-brackets-verbatim":{"begin":"(~[BS])(\\\\[)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"string":{"begin":"(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.erlang","patterns":[{"include":"#internal-string-body"}]},"symbolic-operator":{"match":"\\\\+\\\\+?|--|[-*]|/=?|=/=|=:=|==|=<?|<-?|>=|[!>]|::|\\\\?=","name":"keyword.operator.symbolic.erlang"},"textual-operator":{"match":"\\\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\\\b","name":"keyword.operator.textual.erlang"},"tuple":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.tuple.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.tuple.end.erlang"}},"name":"meta.structure.tuple.erlang","patterns":[{"match":",","name":"punctuation.separator.tuple.erlang"},{"include":"#everything-else"}]},"variable":{"captures":{"1":{"name":"variable.other.erlang"},"2":{"name":"variable.language.omitted.erlang"}},"match":"(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)|(_)"}},"scopeName":"source.erlang","embeddedLangs":["markdown"],"aliases":["erl"]}')),nq=[...k7,tq]});var Hx={};h1(Hx,{default:()=>iq});var aq,iq,Nx=s1(()=>{_4();aq=Object.freeze(JSON.parse('{"displayName":"Elixir","fileTypes":["ex","exs"],"firstLineMatch":"^#!/.*\\\\belixir","foldingStartMarker":"(after|else|catch|rescue|->|[\\\\[{]|do)\\\\s*$","foldingStopMarker":"^\\\\s*(([]}]|after|else|catch|rescue)\\\\s*$|end\\\\b)","name":"elixir","patterns":[{"begin":"\\\\b(fn)\\\\b(?!.*->)","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"$","patterns":[{"include":"#core_syntax"}]},{"captures":{"1":{"name":"entity.name.type.class.elixir"},"2":{"name":"punctuation.separator.method.elixir"},"3":{"name":"entity.name.function.elixir"}},"match":"([A-Z]\\\\w+)\\\\s*(\\\\.)\\\\s*([_a-z]\\\\w*[!?]?)"},{"captures":{"1":{"name":"constant.other.symbol.elixir"},"2":{"name":"punctuation.separator.method.elixir"},"3":{"name":"entity.name.function.elixir"}},"match":"(:\\\\w+)\\\\s*(\\\\.)\\\\s*(_?\\\\w*[!?]?)"},{"captures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"entity.name.function.elixir"}},"match":"(\\\\|>)\\\\s*([_a-z]\\\\w*[!?]?)"},{"match":"\\\\b[_a-z]\\\\w*[!?]?(?=\\\\s*\\\\.?\\\\s*\\\\()","name":"entity.name.function.elixir"},{"begin":"\\\\b(fn)\\\\b(?=.*->)","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"(?>(->)|(when)|(\\\\)))","endCaptures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"keyword.control.elixir"},"3":{"name":"punctuation.section.function.elixir"}},"patterns":[{"include":"#core_syntax"}]},{"include":"#core_syntax"},{"begin":"^(?=.*->)((?![^\\"\']*([\\"\'])[^\\"\']*->)|(?=.*->[^\\"\']*([\\"\'])[^\\"\']*->))((?!.*\\\\([^)]*->)|(?=[^()]*->)|(?=\\\\s*\\\\(.*\\\\).*->))((?!.*\\\\b(fn)\\\\b)|(?=.*->.*\\\\bfn\\\\b))","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"(?>(->)|(when)|(\\\\)))","endCaptures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"keyword.control.elixir"},"3":{"name":"punctuation.section.function.elixir"}},"patterns":[{"include":"#core_syntax"}]}],"repository":{"core_syntax":{"patterns":[{"begin":"^\\\\s*(defmodule)\\\\b","beginCaptures":{"1":{"name":"keyword.control.module.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.module.elixir"}},"name":"meta.module.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*(?=\\\\.)","name":"entity.other.inherited-class.elixir"},{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.class.elixir"}]},{"begin":"^\\\\s*(defprotocol)\\\\b","beginCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"name":"meta.protocol_declaration.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.protocol.elixir"}]},{"begin":"^\\\\s*(defimpl)\\\\b","beginCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"name":"meta.protocol_implementation.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.protocol.elixir"}]},{"begin":"^\\\\s*(def(?:|macro|delegate|guard))\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))((\\\\()|\\\\s*)","beginCaptures":{"1":{"name":"keyword.control.module.elixir"},"2":{"name":"entity.name.function.public.elixir"},"4":{"name":"punctuation.section.function.elixir"}},"end":"\\\\b(do:)|\\\\b(do)\\\\b|(?=\\\\s+(def(?:|n|macro|delegate|guard))\\\\b)","endCaptures":{"1":{"name":"constant.other.keywords.elixir"},"2":{"name":"keyword.control.module.elixir"}},"name":"meta.function.public.elixir","patterns":[{"include":"$self"},{"begin":"\\\\s(\\\\\\\\\\\\\\\\)","beginCaptures":{"1":{"name":"keyword.operator.other.elixir"}},"end":"[),]|$","patterns":[{"include":"$self"}]},{"match":"\\\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\\\b","name":"keyword.control.elixir"}]},{"begin":"^\\\\s*(def(?:|n|macro|guard)p)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))((\\\\()|\\\\s*)","beginCaptures":{"1":{"name":"keyword.control.module.elixir"},"2":{"name":"entity.name.function.private.elixir"},"4":{"name":"punctuation.section.function.elixir"}},"end":"\\\\b(do:)|\\\\b(do)\\\\b|(?=\\\\s+(def(?:p|macrop|guardp))\\\\b)","endCaptures":{"1":{"name":"constant.other.keywords.elixir"},"2":{"name":"keyword.control.module.elixir"}},"name":"meta.function.private.elixir","patterns":[{"include":"$self"},{"begin":"\\\\s(\\\\\\\\\\\\\\\\)","beginCaptures":{"1":{"name":"keyword.operator.other.elixir"}},"end":"[),]|$","patterns":[{"include":"$self"}]},{"match":"\\\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\\\b","name":"keyword.control.elixir"}]},{"begin":"\\\\s*~L\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"sigil.leex","patterns":[{"include":"text.elixir"},{"include":"text.html.basic"}]},{"begin":"\\\\s*~H\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"sigil.heex","patterns":[{"include":"text.elixir"},{"include":"text.html.basic"}]},{"begin":"@(module|type)?doc (~[a-z])?\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"comment.block.documentation.heredoc","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"@(module|type)?doc ~[A-Z]\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"comment.block.documentation.heredoc"},{"begin":"@(module|type)?doc (~[a-z])?\'\'\'","end":"\\\\s*\'\'\'","name":"comment.block.documentation.heredoc","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"@(module|type)?doc ~[A-Z]\'\'\'","end":"\\\\s*\'\'\'","name":"comment.block.documentation.heredoc"},{"match":"@(module|type)?doc false","name":"comment.block.documentation.false"},{"begin":"@(module|type)?doc \\"","end":"\\"","name":"comment.block.documentation.string","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"match":"(?<!\\\\.)\\\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defnp?|defmacrop?|defguardp?|defdelegate|defexception|defoverridable|exit|after|rescue|catch|else|raise|reraise|throw|import|require|alias|use|quote|unquote|super|with)\\\\b(?![!:?])","name":"keyword.control.elixir"},{"match":"(?<!\\\\.)\\\\b(and|not|or|when|xor|in)\\\\b","name":"keyword.operator.elixir"},{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.class.elixir"},{"match":"\\\\b(nil|true|false)\\\\b(?![!?])","name":"constant.language.elixir"},{"match":"\\\\b(__(CALLER|ENV|MODULE|DIR|STACKTRACE)__)\\\\b(?![!?])","name":"variable.language.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"(@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.module.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"(&)\\\\d+","name":"variable.other.anonymous.elixir"},{"match":"&(?!&)","name":"variable.other.anonymous.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"\\\\^[_a-z]\\\\w*","name":"variable.other.capture.elixir"},{"match":"\\\\b0x\\\\h(?>_?\\\\h)*\\\\b","name":"constant.numeric.hex.elixir"},{"match":"\\\\b\\\\d(?>_?\\\\d)*(\\\\.(?![^\\\\s\\\\d])(?>_?\\\\d)+)([Ee][-+]?\\\\d(?>_?\\\\d)*)?\\\\b","name":"constant.numeric.float.elixir"},{"match":"\\\\b\\\\d(?>_?\\\\d)*\\\\b","name":"constant.numeric.integer.elixir"},{"match":"\\\\b0b[01](?>_?[01])*\\\\b","name":"constant.numeric.binary.elixir"},{"match":"\\\\b0o[0-7](?>_?[0-7])*\\\\b","name":"constant.numeric.octal.elixir"},{"begin":":\'","captures":{"0":{"name":"punctuation.definition.constant.elixir"}},"end":"\'","name":"constant.other.symbol.single-quoted.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":":\\"","captures":{"0":{"name":"punctuation.definition.constant.elixir"}},"end":"\\"","name":"constant.other.symbol.double-quoted.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\'\'\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\'\'\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.single.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.single.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.double.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.double.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"}[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"][a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":">[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\)[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\1[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[A-Z]\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.heredoc.literal.elixir"},{"begin":"~[A-Z]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"}[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"][a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":">[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\)[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\1[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"captures":{"1":{"name":"punctuation.definition.constant.elixir"}},"match":"(?<!:)(:)(?>[A-Z_a-z][@\\\\w]*(?>[!?]|=(?![=>]))?|<>|===?|!==?|<<>>|<<<|>>>|~~~|::|<-|\\\\|>|=>|=~|[/=]|\\\\\\\\\\\\\\\\|\\\\*\\\\*?|\\\\.\\\\.?\\\\.?|\\\\.\\\\.//|>=?|<=?|&&?&?|\\\\+\\\\+?|--?|\\\\|\\\\|?\\\\|?|[!@]|%?\\\\{}|%|\\\\[]|\\\\^(\\\\^\\\\^)?)","name":"constant.other.symbol.elixir"},{"captures":{"1":{"name":"punctuation.definition.constant.elixir"}},"match":"(?>[A-Z_a-z][@\\\\w]*[!?]?)(:)(?!:)","name":"constant.other.keywords.elixir"},{"begin":"(^[\\\\t ]+)?(?=##)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.elixir"}},"end":"(?!#)","patterns":[{"begin":"##","beginCaptures":{"0":{"name":"punctuation.definition.comment.elixir"}},"end":"\\\\n","name":"comment.line.section.elixir"}]},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.elixir"}},"end":"(?!#)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.elixir"}},"end":"\\\\n","name":"comment.line.number-sign.elixir"}]},{"match":"\\\\b_([^_]\\\\w+[!?]?)","name":"comment.unused.elixir"},{"match":"\\\\b_\\\\b","name":"comment.wildcard.elixir"},{"match":"(?<!\\\\w)\\\\?(\\\\\\\\(x\\\\h{1,2}(?!\\\\h)\\\\b|[^CMx])|[^\\\\\\\\\\\\s])","name":"constant.numeric.elixir"},{"match":"\\\\+\\\\+|--|<\\\\|>","name":"keyword.operator.concatenation.elixir"},{"match":"\\\\|>|<~>|<>|<<<|>>>|~>>|<<~|~>|<~|<\\\\|>","name":"keyword.operator.sigils_1.elixir"},{"match":"&&&?","name":"keyword.operator.sigils_2.elixir"},{"match":"<-|\\\\\\\\\\\\\\\\","name":"keyword.operator.sigils_3.elixir"},{"match":"===?|!==?|<=?|>=?","name":"keyword.operator.comparison.elixir"},{"match":"(\\\\|\\\\|\\\\||&&&|\\\\^\\\\^\\\\^|<<<|>>>|~~~)","name":"keyword.operator.bitwise.elixir"},{"match":"(?<=[\\\\t ])!+|\\\\bnot\\\\b|&&|\\\\band\\\\b|\\\\|\\\\||\\\\bor\\\\b|\\\\bxor\\\\b","name":"keyword.operator.logical.elixir"},{"match":"([-*+/])","name":"keyword.operator.arithmetic.elixir"},{"match":"\\\\||\\\\+\\\\+|--|\\\\*\\\\*|\\\\\\\\\\\\\\\\|<-|<>|<<|>>|::|\\\\.\\\\.|//|\\\\|>|~|=>|&","name":"keyword.operator.other.elixir"},{"match":"=","name":"keyword.operator.assignment.elixir"},{"match":":","name":"punctuation.separator.other.elixir"},{"match":";","name":"punctuation.separator.statement.elixir"},{"match":",","name":"punctuation.separator.object.elixir"},{"match":"\\\\.","name":"punctuation.separator.method.elixir"},{"match":"[{}]","name":"punctuation.section.scope.elixir"},{"match":"[]\\\\[]","name":"punctuation.section.array.elixir"},{"match":"[()]","name":"punctuation.section.function.elixir"}]},"escaped_char":{"match":"\\\\\\\\(x[A-Fa-f\\\\d]{1,2}|.)","name":"constant.character.escaped.elixir"},"interpolated_elixir":{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.elixir"}},"contentName":"source.elixir","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.elixir"}},"name":"meta.embedded.line.elixir","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.elixir"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]}},"scopeName":"source.elixir","embeddedLangs":["html"]}')),iq=[...Y2,aq]});var Tx={};h1(Tx,{default:()=>sq});var rq,sq,Vx=s1(()=>{rq=Object.freeze(JSON.parse('{"displayName":"Haskell","fileTypes":["hs","hs-boot","hsig"],"name":"haskell","patterns":[{"include":"#liquid_haskell"},{"include":"#comment_like"},{"include":"#numeric_literals"},{"include":"#string_literal"},{"include":"#char_literal"},{"match":"(?<![#@])-}","name":"invalid"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*(\\\\))","name":"constant.language.unit.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"constant.language.unit.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*,[,\\\\s]*(\\\\))","name":"support.constant.tuple.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*,[,\\\\s]*(#)(\\\\))","name":"support.constant.tuple.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.bracket.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"match":"(\\\\[)\\\\s*(])","name":"constant.language.empty-list.haskell"},{"begin":"(\\\\b(?<!\')(module)|^(signature))\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.module.haskell"},"3":{"name":"keyword.other.signature.haskell"}},"end":"(?=\\\\b(?<!\')where\\\\b(?!\'))","name":"meta.declaration.module.haskell","patterns":[{"include":"#comment_like"},{"include":"#module_name"},{"include":"#module_exports"},{"match":"[a-z]+","name":"invalid"}]},{"include":"#ffi"},{"begin":"^(\\\\s*)(class)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.class.haskell"}},"end":"(?=(?<!\')\\\\bwhere\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.class.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(data|newtype)(?:\\\\s+(instance))?\\\\s+((?:(?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')(?:where|deriving)\\\\b(?!\')|\\\\{-).)*)(?=\\\\b(?<!\'\')where\\\\b(?!\'\'))","beginCaptures":{"2":{"name":"keyword.other.$2.haskell"},"3":{"name":"keyword.other.instance.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=(?<!\')\\\\bderiving\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.$2.generalized.haskell","patterns":[{"include":"#comment_like"},{"begin":"(?<!\')\\\\b(where)\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.where.haskell"},"2":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#gadt_constructor"},{"match":";","name":"punctuation.semicolon.haskell"}]},{"match":"\\\\b(?<!\')(where)\\\\b(?!\')","name":"keyword.other.where.haskell"},{"include":"#deriving"},{"include":"#gadt_constructor"}]},{"include":"#role_annotation"},{"begin":"^(\\\\s*)(pattern)\\\\s+(.*?)\\\\s+(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","beginCaptures":{"2":{"name":"keyword.other.pattern.haskell"},"3":{"patterns":[{"include":"#comma"},{"include":"#data_constructor"}]},"4":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.pattern.type.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"^\\\\s*(pattern)\\\\b(?!\')","captures":{"1":{"name":"keyword.other.pattern.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.pattern.haskell","patterns":[{"include":"$self"}]},{"begin":"^(\\\\s*)(data|newtype)(?:\\\\s+(family|instance))?\\\\s+(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')(?:where|deriving)\\\\b(?!\')|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.$2.haskell"},"3":{"name":"keyword.other.$3.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.$2.algebraic.haskell","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#forall"},{"include":"#adt_constructor"},{"include":"#context"},{"include":"#record_decl"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(type)\\\\s+(family)\\\\b(?!\')(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')where\\\\b(?!\')|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.family.haskell"},"4":{"patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.type.family.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(type)(?:\\\\s+(instance))?\\\\s+(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+|::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.instance.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.type.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(instance)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.instance.haskell"}},"end":"(?=\\\\b(?<!\')(where)\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.instance.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(import)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.import.haskell"}},"end":"(?=\\\\b(?<!\')(where)\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.import.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"captures":{"1":{"name":"keyword.other.$1.haskell"}},"match":"(qualified|as|hiding)"},{"include":"#module_name"},{"include":"#module_exports"}]},{"include":"#deriving"},{"include":"#layout_herald"},{"include":"#keyword"},{"captures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"patterns":[{"include":"#comment_like"},{"include":"#integer_literals"},{"include":"#infix_op"}]}},"match":"^\\\\s*(infix[lr]?)\\\\s+(.*)","name":"meta.fixity-declaration.haskell"},{"include":"#overloaded_label"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#fun_decl"},{"include":"#qualifier"},{"include":"#data_constructor"},{"include":"#start_type_signature"},{"include":"#prefix_op"},{"include":"#infix_op"},{"begin":"(\\\\()(#)\\\\s","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"include":"#quasi_quote"},{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"include":"#record"}],"repository":{"adt_constructor":{"patterns":[{"include":"#comment_like"},{"begin":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:(=)|(\\\\|))(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","beginCaptures":{"1":{"name":"keyword.operator.eq.haskell"},"2":{"name":"keyword.operator.pipe.haskell"}},"end":"(?:\\\\G|^)\\\\s*(?:(?<!\')\\\\b([\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]+)|(\'?(?<paren>\\\\((?:[^()]?|\\\\g<paren>)*\\\\)))|(\'?(?<brac>\\\\((?:[^]\\\\[]?|\\\\g<brac>)*])))\\\\s*(?:(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)|(`)([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`))|(?<!\')\\\\b([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\))","endCaptures":{"1":{"patterns":[{"include":"#type_signature"}]},"2":{"patterns":[{"include":"#type_signature"}]},"4":{"patterns":[{"include":"#type_signature"}]},"6":{"name":"constant.other.operator.haskell"},"7":{"name":"punctuation.backtick.haskell"},"8":{"name":"constant.other.haskell"},"9":{"name":"punctuation.backtick.haskell"},"10":{"name":"constant.other.haskell"},"11":{"name":"punctuation.paren.haskell"},"12":{"name":"constant.other.operator.haskell"},"13":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#record_decl"},{"include":"#forall"},{"include":"#context"}]}]},"block_comment":{"applyEndPatternLast":1,"begin":"\\\\{-","captures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"-}","name":"comment.block.haskell","patterns":[{"include":"#block_comment"}]},"char_literal":{"captures":{"1":{"name":"punctuation.definition.string.begin.haskell"},"2":{"name":"constant.character.escape.haskell"},"3":{"name":"constant.character.escape.octal.haskell"},"4":{"name":"constant.character.escape.hexadecimal.haskell"},"5":{"name":"constant.character.escape.control.haskell"},"6":{"name":"punctuation.definition.string.end.haskell"}},"match":"(?<![\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])(\')(?:[ -\\\\[\\\\]-~]|(\\\\\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&\'\\\\\\\\abfnrtv]))|(\\\\\\\\o[0-7]+)|(\\\\\\\\x\\\\h+)|(\\\\\\\\\\\\^[@-_]))(\')","name":"string.quoted.single.haskell"},"comma":{"match":",","name":"punctuation.separator.comma.haskell"},"comment_like":{"patterns":[{"include":"#cpp"},{"include":"#pragma"},{"include":"#comments"}]},"comments":{"patterns":[{"begin":"^(\\\\s*)(--\\\\s[$|])","beginCaptures":{"2":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"(?=^(?!\\\\1--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])))","name":"comment.block.documentation.haskell"},{"begin":"(^[\\\\t ]+)?(--\\\\s[*^])","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"\\\\n","name":"comment.line.documentation.haskell"},{"applyEndPatternLast":1,"begin":"\\\\{-\\\\s?[$*^|]","captures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"-}","name":"comment.block.documentation.haskell","patterns":[{"include":"#block_comment"}]},{"begin":"(^[\\\\t ]+)?(?=--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]))","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"(?!\\\\G)","patterns":[{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"\\\\n","name":"comment.line.double-dash.haskell"}]},{"include":"#block_comment"}]},"context":{"captures":{"1":{"patterns":[{"include":"#comment_like"},{"include":"#type_signature"}]},"2":{"name":"keyword.operator.big-arrow.haskell"}},"match":"(.*)(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(=>|\u21D2)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},"cpp":{"captures":{"1":{"name":"punctuation.definition.preprocessor.c"}},"match":"^(#).*$","name":"meta.preprocessor.c"},"data_constructor":{"match":"\\\\b(?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?![\'.\\\\w])","name":"constant.other.haskell"},"deriving":{"patterns":[{"begin":"^(\\\\s*)(deriving)\\\\s+(?:(via|stock|newtype|anyclass)\\\\s+)?","beginCaptures":{"2":{"name":"keyword.other.deriving.haskell"},"3":{"name":"keyword.other.deriving.strategy.$3.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.deriving.haskell","patterns":[{"include":"#comment_like"},{"match":"(?<!\')\\\\b(instance)\\\\b(?!\')","name":"keyword.other.instance.haskell"},{"captures":{"1":{"name":"keyword.other.deriving.strategy.$1.haskell"}},"match":"(?<!\')\\\\b(via|stock|newtype|anyclass)\\\\b(?!\')"},{"include":"#type_signature"}]},{"begin":"(deriving)(?:\\\\s+(stock|newtype|anyclass))?\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.deriving.haskell"},"2":{"name":"keyword.other.deriving.strategy.$2.haskell"},"3":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"name":"meta.deriving.haskell","patterns":[{"include":"#type_signature"}]},{"captures":{"1":{"name":"keyword.other.deriving.haskell"},"2":{"name":"keyword.other.deriving.strategy.$2.haskell"},"3":{"patterns":[{"include":"#type_signature"}]},"5":{"name":"keyword.other.deriving.strategy.via.haskell"},"6":{"patterns":[{"include":"#type_signature"}]}},"match":"(deriving)(?:\\\\s+(stock|newtype|anyclass))?\\\\s+([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(\\\\s+(via)\\\\s+(.*)$)?","name":"meta.deriving.haskell"},{"match":"(?<!\')\\\\b(via)\\\\b(?!\')","name":"keyword.other.deriving.strategy.via.haskell"}]},"double_colon":{"captures":{"1":{"name":"keyword.operator.double-colon.haskell"}},"match":"\\\\s*(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])\\\\s*"},"export_constructs":{"patterns":[{"include":"#comment_like"},{"begin":"\\\\b(?<!\')(pattern)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.pattern.haskell"}},"end":"([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","endCaptures":{"1":{"name":"constant.other.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"constant.other.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"}]},{"begin":"\\\\b(?<!\')(type)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.type.haskell"}},"end":"([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","endCaptures":{"1":{"name":"storage.type.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"storage.type.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"}]},{"match":"(?<!\')\\\\b[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"entity.name.function.haskell"},{"match":"(?<!\')\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"storage.type.haskell"},{"include":"#record_wildcard"},{"include":"#reserved_symbol"},{"include":"#prefix_op"}]},"ffi":{"begin":"^(\\\\s*)(foreign)\\\\s+((?:im|ex)port)\\\\s+","beginCaptures":{"2":{"name":"keyword.other.foreign.haskell"},"3":{"name":"keyword.other.$3.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.$3.foreign.haskell","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.calling-convention.$1.haskell"}},"match":"\\\\b(?<!\')(ccall|cplusplus|dotnet|jvm|stdcall|prim|capi)\\\\s+"},{"begin":"(?=\\")|(?=\\\\b(?<!\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\'))","end":"(?=(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]))","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.safety.$1.haskell"},"2":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]},"3":{"name":"entity.name.function.haskell"},"4":{"name":"entity.name.function.infix.haskell"}},"match":"\\\\b(?<!\')(safe|unsafe|interruptible)\\\\b(?!\')\\\\s*(\\"(?:\\\\\\\\\\"|[^\\"])*\\")?\\\\s*(?:\\\\b(?<!\'\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\')|\\\\(\\\\s*(?!--+\\\\))([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*\\\\))"},{"captures":{"1":{"name":"keyword.other.safety.$1.haskell"},"2":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]}},"match":"\\\\b(?<!\')(safe|unsafe|interruptible)\\\\b(?!\')\\\\s*(\\"(?:\\\\\\\\\\"|[^\\"])*\\")?\\\\s*$"},{"captures":{"0":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]}},"match":"\\"(?:\\\\\\\\\\"|[^\\"])*\\""},{"captures":{"1":{"name":"entity.name.function.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"entity.name.function.infix.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"\\\\b(?<!\'\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\')|(\\\\()\\\\s*(?!--+\\\\))([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))"}]},{"include":"#double_colon"},{"include":"#type_signature"}]},"float_literals":{"captures":{"1":{"name":"constant.numeric.floating.decimal.haskell"},"2":{"name":"constant.numeric.floating.hexadecimal.haskell"}},"match":"\\\\b(?<!\')(?:([0-9][0-9_]*\\\\.[0-9][0-9_]*(?:[Ee][-+]?[0-9][0-9_]*)?|[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*)|(0(?:[Xx]_*\\\\h[_\\\\h]*\\\\.\\\\h[_\\\\h]*(?:[Pp][-+]?[0-9][0-9_]*)?|[Xx]_*\\\\h[_\\\\h]*[Pp][-+]?[0-9][0-9_]*)))\\\\b(?!\')"},"forall":{"begin":"\\\\b(?<!\')(forall|\u2200)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.forall.haskell"}},"end":"(\\\\.)|(->|\u2192)","endCaptures":{"1":{"name":"keyword.operator.period.haskell"},"2":{"name":"keyword.operator.arrow.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#type_variable"},{"include":"#type_signature"}]},"fun_decl":{"begin":"^(\\\\s*)(?<fn>(?:[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*#*|\\\\(\\\\s*(?!--+\\\\))[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),:;\\\\[_`{}]][[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*\\\\s*\\\\))(?:\\\\s*,\\\\s*\\\\g<fn>)?)\\\\s*(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'),;_`}]])(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])","beginCaptures":{"2":{"name":"entity.name.function.haskell","patterns":[{"include":"#reserved_symbol"},{"include":"#prefix_op"}]},"3":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])((<-|\u2190)|(=)|(-<|\u21A2)|(-<<|\u291B))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]]))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.function.type-declaration.haskell","patterns":[{"include":"#type_signature"}]},"gadt_constructor":{"patterns":[{"begin":"^(\\\\s*)(?:\\\\b((?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\)))","beginCaptures":{"2":{"name":"constant.other.haskell"},"3":{"name":"punctuation.paren.haskell"},"4":{"name":"constant.other.operator.haskell"},"5":{"name":"punctuation.paren.haskell"}},"end":"(?=\\\\b(?<!\'\')deriving\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#double_colon"},{"include":"#record_decl"},{"include":"#type_signature"}]},{"begin":"\\\\b((?<!\')[\\\\p{Lu}\\\\p{Lt}][_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"constant.other.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"constant.other.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"$","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#double_colon"},{"include":"#record_decl"},{"include":"#type_signature"}]}]},"infix_op":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"keyword.operator.infix.haskell"}},"match":"((?:(?<!\'\')(\'\')?[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))"},{"captures":{"1":{"name":"punctuation.backtick.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"patterns":[{"include":"#data_constructor"}]},"4":{"name":"punctuation.backtick.haskell"}},"match":"(`)((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([_\\\\p{Ll}\\\\p{Lu}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`)","name":"keyword.operator.function.infix.haskell"}]},"inline_phase":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"name":"meta.inlining-phase.haskell","patterns":[{"match":"~","name":"punctuation.tilde.haskell"},{"include":"#integer_literals"},{"match":"\\\\w*","name":"invalid"}]},"integer_literals":{"captures":{"1":{"name":"constant.numeric.integral.decimal.haskell"},"2":{"name":"constant.numeric.integral.hexadecimal.haskell"},"3":{"name":"constant.numeric.integral.octal.haskell"},"4":{"name":"constant.numeric.integral.binary.haskell"}},"match":"\\\\b(?<!\')(?:([0-9][0-9_]*)|(0[Xx]_*\\\\h[_\\\\h]*)|(0[Oo]_*[0-7][0-7_]*)|(0[Bb]_*[01][01_]*))\\\\b(?!\')"},"keyword":{"captures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"name":"keyword.control.$2.haskell"}},"match":"\\\\b(?<!\')(?:(where|let|in|default)|(m?do|if|then|else|case|of|proc|rec))\\\\b(?!\')"},"layout_herald":{"begin":"(?<!\')\\\\b(?:(where|let|m?do)|(of))\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"name":"keyword.control.of.haskell"},"3":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"$self"},{"match":";","name":"punctuation.semicolon.haskell"}]},"liquid_haskell":{"begin":"\\\\{-@","end":"@-}","name":"block.liquidhaskell.haskell","patterns":[{"include":"$self"}]},"module_exports":{"applyEndPatternLast":1,"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"name":"meta.declaration.exports.haskell","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.module.haskell"}},"match":"\\\\b(?<!\')(module)\\\\b(?!\')"},{"include":"#comma"},{"include":"#export_constructs"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#record_wildcard"},{"include":"#export_constructs"},{"include":"#comma"}]}]},"module_name":{"match":"(?<conid>[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(\\\\.\\\\g<conid>)?)","name":"entity.name.namespace.haskell"},"numeric_literals":{"patterns":[{"include":"#float_literals"},{"include":"#integer_literals"}]},"overloaded_label":{"patterns":[{"captures":{"1":{"name":"keyword.operator.prefix.hash.haskell"},"2":{"patterns":[{"include":"#string_literal"}]}},"match":"(?<![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^(,;\\\\[`{]])(#)(?:(\\"(?:\\\\\\\\\\"|[^\\"])*\\")|[\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]+)","name":"entity.name.label.haskell"}]},"pragma":{"begin":"\\\\{-#","end":"#-}","name":"meta.preprocessor.haskell","patterns":[{"begin":"(?i)\\\\b(?<!\')(LANGUAGE)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"}},"end":"(?=#-})","patterns":[{"match":"(?:No)?(?:AutoDeriveTypeable|DatatypeContexts|DoRec|IncoherentInstances|MonadFailDesugaring|MonoPatBinds|NullaryTypeClasses|OverlappingInstances|PatternSignatures|RecordPuns|RelaxedPolyRec)","name":"invalid.deprecated"},{"captures":{"1":{"name":"keyword.other.preprocessor.extension.haskell"}},"match":"((?:No)?(?:AllowAmbiguousTypes|AlternativeLayoutRule|AlternativeLayoutRuleTransitional|Arrows|BangPatterns|BinaryLiterals|CApiFFI|CPP|CUSKs|ConstrainedClassMethods|ConstraintKinds|DataKinds|DefaultSignatures|DeriveAnyClass|DeriveDataTypeable|DeriveFoldable|DeriveFunctor|DeriveGeneric|DeriveLift|DeriveTraversable|DerivingStrategies|DerivingVia|DisambiguateRecordFields|DoAndIfThenElse|BlockArguments|DuplicateRecordFields|EmptyCase|EmptyDataDecls|EmptyDataDeriving|ExistentialQuantification|ExplicitForAll|ExplicitNamespaces|ExtendedDefaultRules|FlexibleContexts|FlexibleInstances|ForeignFunctionInterface|FunctionalDependencies|GADTSyntax|GADTs|GHCForeignImportPrim|Generali[sz]edNewtypeDeriving|ImplicitParams|ImplicitPrelude|ImportQualifiedPost|ImpredicativeTypes|TypeFamilyDependencies|InstanceSigs|ApplicativeDo|InterruptibleFFI|JavaScriptFFI|KindSignatures|LambdaCase|LiberalTypeSynonyms|MagicHash|MonadComprehensions|MonoLocalBinds|MonomorphismRestriction|MultiParamTypeClasses|MultiWayIf|NumericUnderscores|NPlusKPatterns|NamedFieldPuns|NamedWildCards|NegativeLiterals|HexFloatLiterals|NondecreasingIndentation|NumDecimals|OverloadedLabels|OverloadedLists|OverloadedStrings|PackageImports|ParallelArrays|ParallelListComp|PartialTypeSignatures|PatternGuards|PatternSynonyms|PolyKinds|PolymorphicComponents|QuantifiedConstraints|PostfixOperators|QuasiQuotes|Rank2Types|RankNTypes|RebindableSyntax|RecordWildCards|RecursiveDo|RelaxedLayout|RoleAnnotations|ScopedTypeVariables|StandaloneDeriving|StarIsType|StaticPointers|Strict|StrictData|TemplateHaskell|TemplateHaskellQuotes|StandaloneKindSignatures|TraditionalRecordSyntax|TransformListComp|TupleSections|TypeApplications|TypeInType|TypeFamilies|TypeOperators|TypeSynonymInstances|UnboxedTuples|UnboxedSums|UndecidableInstances|UndecidableSuperClasses|UnicodeSyntax|UnliftedFFITypes|UnliftedNewtypes|ViewPatterns))"},{"include":"#comma"}]},{"begin":"(?i)\\\\b(?<!\')(SPECIALI[SZ]E)(?:\\\\s*(\\\\[[^]\\\\[]*])?\\\\s*|\\\\s+)(instance)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"},"2":{"patterns":[{"include":"#inline_phase"}]},"3":{"name":"keyword.other.instance.haskell"}},"end":"(?=#-})","patterns":[{"include":"#type_signature"}]},{"begin":"(?i)\\\\b(?<!\')(SPECIALI[SZ]E)\\\\b(?!\')(?:\\\\s+(INLINE)\\\\b(?!\'))?\\\\s*(\\\\[[^]\\\\[]*])?\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"},"2":{"name":"keyword.other.preprocessor.pragma.haskell"},"3":{"patterns":[{"include":"#inline_phase"}]}},"end":"(?=#-})","patterns":[{"include":"$self"}]},{"match":"(?i)\\\\b(?<!\')(LANGUAGE|OPTIONS_GHC|INCLUDE|MINIMAL|UNPACK|OVERLAPS|INCOHERENT|NOUNPACK|SOURCE|OVERLAPPING|OVERLAPPABLE|INLINE|NOINLINE|INLINE?ABLE|CONLIKE|LINE|COLUMN|RULES|COMPLETE)\\\\b(?!\')","name":"keyword.other.preprocessor.haskell"},{"begin":"(?i)\\\\b(DEPRECATED|WARNING)\\\\b","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"}},"end":"(?=#-})","patterns":[{"include":"#string_literal"}]}]},"prefix_op":{"patterns":[{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"entity.name.function.infix.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*(?!(?:--+|\\\\.\\\\.)\\\\))(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))\\\\s*(\\\\))"}]},"qualifier":{"match":"\\\\b(?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.","name":"entity.name.namespace.haskell"},"quasi_quote":{"patterns":[{"begin":"(\\\\[)([dep])?(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"entity.name.quasi-quoter.haskell"},"3":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\3]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell","patterns":[{"include":"$self"}]},{"begin":"(\\\\[)(t)(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"entity.name.quasi-quoter.haskell"},"3":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\3]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(\\\\[)(?:(\\\\$\\\\$)|(\\\\$))?([\'._[^\\\\s\\\\p{S}\\\\p{P}]]*)(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"keyword.operator.prefix.double-dollar.haskell"},"3":{"name":"keyword.operator.prefix.dollar.haskell"},"4":{"name":"entity.name.quasi-quoter.haskell","patterns":[{"include":"#qualifier"}]},"5":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\5]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell"}]},"record":{"begin":"(\\\\{)(?!-)","beginCaptures":{"1":{"name":"punctuation.brace.haskell"}},"end":"(?<!-)(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"name":"meta.record.haskell","patterns":[{"include":"#comment_like"},{"include":"#record_field"}]},"record_decl":{"begin":"(\\\\{)(?!-)","beginCaptures":{"1":{"name":"punctuation.brace.haskell"}},"end":"(?<!-)(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"name":"meta.record.definition.haskell","patterns":[{"include":"#comment_like"},{"include":"#record_decl_field"}]},"record_decl_field":{"begin":"([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"variable.other.member.definition.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"variable.other.member.definition.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.comma.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#comma"},{"include":"#double_colon"},{"include":"#type_signature"},{"include":"#record_decl_field"}]},"record_field":{"patterns":[{"begin":"([_\\\\p{Ll}\\\\p{Lu}][\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"variable.other.member.haskell","patterns":[{"include":"#qualifier"}]},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"variable.other.member.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.comma.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#comma"},{"include":"$self"}]},{"include":"#record_wildcard"}]},"record_wildcard":{"captures":{"1":{"name":"variable.other.member.wildcard.haskell"}},"match":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(\\\\.\\\\.)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},"reserved_symbol":{"patterns":[{"captures":{"1":{"name":"keyword.operator.double-dot.haskell"},"2":{"name":"keyword.operator.colon.haskell"},"3":{"name":"keyword.operator.eq.haskell"},"4":{"name":"keyword.operator.lambda.haskell"},"5":{"name":"keyword.operator.pipe.haskell"},"6":{"name":"keyword.operator.arrow.left.haskell"},"7":{"name":"keyword.operator.arrow.haskell"},"8":{"name":"keyword.operator.arrow.left.tail.haskell"},"9":{"name":"keyword.operator.arrow.left.tail.double.haskell"},"10":{"name":"keyword.operator.arrow.tail.haskell"},"11":{"name":"keyword.operator.arrow.tail.double.haskell"},"12":{"name":"keyword.other.forall.haskell"}},"match":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:(\\\\.\\\\.)|(:)|(=)|(\\\\\\\\)|(\\\\|)|(<-|\u2190)|(->|\u2192)|(-<|\u21A2)|(-<<|\u291B)|(>-|\u291A)|(>>-|\u291C)|(\u2200))(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},{"captures":{"1":{"name":"keyword.operator.postfix.hash.haskell"}},"match":"(?<=[[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^#,;\\\\[`{]])(#+)(?![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^]),;`}]])"},{"captures":{"1":{"name":"keyword.operator.infix.tight.at.haskell"}},"match":"(?<=[])_}\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])(@)(?=[(\\\\[_{\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])"},{"captures":{"1":{"name":"keyword.operator.prefix.tilde.haskell"},"2":{"name":"keyword.operator.prefix.bang.haskell"},"3":{"name":"keyword.operator.prefix.minus.haskell"},"4":{"name":"keyword.operator.prefix.dollar.haskell"},"5":{"name":"keyword.operator.prefix.double-dollar.haskell"}},"match":"(?<![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^(,;\\\\[`{]])(?:(~)|(!)|(-)|(\\\\$)|(\\\\$\\\\$))(?=[(\\\\[_{\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])"}]},"role_annotation":{"patterns":[{"begin":"^(\\\\s*)(type)\\\\s+(role)\\\\b(?!\')","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.role.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.role-annotation.haskell","patterns":[{"include":"#comment_like"},{"include":"#type_constructor"},{"captures":{"1":{"name":"keyword.other.role.$1.haskell"}},"match":"\\\\b(?<!\')(nominal|representational|phantom)\\\\b(?!\')"}]}]},"start_type_signature":{"patterns":[{"begin":"^(\\\\s*)(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])\\\\s*","beginCaptures":{"2":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=#?\\\\)|[],]|(?<!\')\\\\b(in|then|else|of)\\\\b(?!\')|(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:([\\\\\\\\\u03BB])|(<-|\u2190)|(=)|(-<|\u21A2)|(-<<|\u291B))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]])|([#@])-}|(?=[;}])|^(?!\\\\1\\\\s*\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$)))","name":"meta.type-declaration.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])","beginCaptures":{"1":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=#?\\\\)|[],]|\\\\b(?<!\')(in|then|else|of)\\\\b(?!\')|([#@])-}|(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:([\\\\\\\\\u03BB])|(<-|\u2190)|(=)|(-<|\u21A2)|(-<<|\u291B))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]])|(?=[;}])|$)","patterns":[{"include":"#type_signature"}]}]},"string_literal":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.haskell"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.haskell"}},"name":"string.quoted.double.haskell","patterns":[{"match":"\\\\\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&\'\\\\\\\\abfnrtv])","name":"constant.character.escape.haskell"},{"match":"\\\\\\\\(?:o[0-7]+|x\\\\h+|[0-9]+)","name":"constant.character.escape.octal.haskell"},{"match":"\\\\\\\\\\\\^[@-_]","name":"constant.character.escape.control.haskell"},{"begin":"\\\\\\\\\\\\s","beginCaptures":{"0":{"name":"constant.character.escape.begin.haskell"}},"end":"\\\\\\\\","endCaptures":{"0":{"name":"constant.character.escape.end.haskell"}},"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.haskell"}]}]},"type_application":{"patterns":[{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(\')?(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"},"2":{"name":"keyword.operator.promotion.haskell"},"3":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(\')?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"},"2":{"name":"keyword.operator.promotion.haskell"},"3":{"name":"punctuation.bracket.haskell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(?=\\")","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"}},"end":"(?<=\\")","name":"meta.type-application.haskell","patterns":[{"include":"#string_literal"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(?=[\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"}},"end":"(?![\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])","name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]}]},"type_constructor":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"storage.type.haskell"}},"match":"(\')?((?:\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)\\\\b([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"entity.name.namespace.haskell"},"4":{"name":"storage.type.operator.haskell"},"5":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))"}]},"type_operator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"storage.type.operator.infix.haskell"}},"match":"(?:(?<!\')(\'))?((?:\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)(?![#@]?-})(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.backtick.haskell"},"3":{"name":"entity.name.namespace.haskell"},"4":{"name":"storage.type.infix.haskell"},"5":{"name":"punctuation.backtick.haskell"}},"match":"(\')?(`)((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`)"}]},"type_signature":{"patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*(\\\\))","name":"support.constant.unit.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"support.constant.unit.unboxed.haskell"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*,[,\\\\s]*(\\\\))","name":"support.constant.tuple.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"support.constant.unit.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*,[,\\\\s]*(#)(\\\\))","name":"support.constant.tuple.unboxed.haskell"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"},"3":{"name":"punctuation.bracket.haskell"}},"match":"(\')?(\\\\[)\\\\s*(])","name":"support.constant.empty-list.haskell"},{"include":"#integer_literals"},{"match":"(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","name":"keyword.operator.double-colon.haskell"},{"include":"#forall"},{"match":"=>|\u21D2","name":"keyword.operator.big-arrow.haskell"},{"include":"#string_literal"},{"match":"\'[^\']\'","name":"invalid"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#type_operator"},{"include":"#type_constructor"},{"begin":"(\\\\()(#)","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(\')?(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(\')?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"include":"#type_variable"}]},"type_variable":{"match":"\\\\b(?<!\')(?!(?:forall|deriving)\\\\b(?!\'))[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"variable.other.generic-type.haskell"},"where":{"patterns":[{"begin":"(?<!\')\\\\b(where)\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.where.haskell"},"2":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"$self"},{"match":";","name":"punctuation.semicolon.haskell"}]},{"match":"\\\\b(?<!\')(where)\\\\b(?!\')","name":"keyword.other.where.haskell"}]}},"scopeName":"source.haskell","aliases":["hs"]}')),sq=[rq]});var qx={};h1(qx,{default:()=>oq});var cq,oq,Ix=s1(()=>{n9();cq=Object.freeze(JSON.parse('{"displayName":"F#","name":"fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"begin":"\\\\b(static\\\\s+)?(abstract)\\\\s+(member)?(\\\\s+\\\\[<.*>])?\\\\s*([,.0-9_`[:alpha:]\\\\s]+)(<)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(with)\\\\b|=|$","endCaptures":{"1":{"name":"keyword.fsharp"}},"name":"abstract.definition.fsharp","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(\\\\??)([ \'.0-9^_`[:alpha:]]+)\\\\s*(:)((?!with\\\\b)\\\\b([ \'.0-9^_`\\\\w]+))?"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"(?!with|get|set\\\\b)\\\\s*([\'.0-9^_`\\\\w]+)"},{"include":"#keywords"}]},"anonymous_functions":{"patterns":[{"begin":"\\\\b(fun)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"(->)","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"name":"function.anonymous","patterns":[{"include":"#comments"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(->))","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#variables"}]}]},"anonymous_record_declaration":{"begin":"(\\\\{\\\\|)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\|})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(:)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]},"attributes":{"patterns":[{"begin":"\\\\[<","end":">?]","name":"support.function.attribute.fsharp","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"captures":{"0":{"name":"keyword.fsharp"}},"match":"\\\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\\\s*\\\\{)","name":"cexpr.fsharp"}]},"chars":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"}},"match":"(\'\\\\\\\\?.\')","name":"char.fsharp"}]},"comments":{"patterns":[{"begin":"^\\\\s*(\\\\(\\\\*\\\\*(?!\\\\)))((?!\\\\*\\\\)).)*$","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"^(?!\\\\s*(\\\\*)+\\\\)\\\\s*$)","whileCaptures":{"1":{"name":"comment.block.fsharp"}}},{"begin":"(\\\\(\\\\*(?!\\\\)))","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"end":"(\\\\*+\\\\))","endCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.fsharp","patterns":[{"comments":"Capture // when inside of (* *) like that the rule which capture comments starting by // is not trigger. See https://github.com/ionide/ionide-fsgrammar/issues/155","match":"//","name":"fast-capture.comment.line.double-slash.fsharp"},{"comments":"Capture (*) when inside of (* *) so that it doesn\'t prematurely end the comment block.","match":"\\\\(\\\\*\\\\)","name":"fast-capture.comment.line.mul-operator.fsharp"},{"include":"#comments"}]},{"captures":{"1":{"name":"comment.block.fsharp"}},"match":"((?<!\\\\()(\\\\*)+\\\\))","name":"comment.block.markdown.fsharp.end"},{"begin":"(?<![!%\\\\&+-/<-@^|])///(?!/)","name":"comment.line.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"(?<![!%\\\\&+-/<-@^|])///(?!/)"},{"match":"(?<![!%\\\\&+-/<-@^|])//(.*)$","name":"comment.line.double-slash.fsharp"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"begin":"(:)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([ \'.0-9?^_`[:alpha:]]*)))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(:)\\\\s*(\\\\^[\'.0-9_[:alpha:]]+)\\\\s*(when)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"end":"(?=:)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9^_[:alpha:]]+)"},{"match":"([()])","name":"keyword.symbol.fsharp"}]},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(:)\\\\s*([ \'.0-9?^_`[:alpha:]]+)(\\\\|\\\\s*(null))?"},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"(->)\\\\s*(\\\\()?\\\\s*([ \'.0-9?^_`[:alpha:]]+)*"},{"begin":"(\\\\*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([ \'.0-9?^_`[:alpha:]]+))*)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(\\\\*)(\\\\s*([ \'.0-9?^_`[:alpha:]]+))*","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"end":"(?==)|(?=\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(<+(?!\\\\s*\\\\)))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"beginComment":"The group (?![[:space:]]*\\\\) is for protection against overload operator. static member (<)","end":"((?<!:)>|\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endComment":"The group (?<!:) prevent us from stopping on :> when using SRTP synthax","patterns":[{"include":"#generic_declaration"}]},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#record_signature"}]},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\\\s*(->)\\\\s*([ \'.0-9^_`[:alpha:]]+)(<)","beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"match":"\\\\s*(->)\\\\s*(?!with|get|set\\\\b)\\\\b([\'.0-9^_`\\\\w]+)"},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\??)([ \'.0-9^_`[:alpha:]]+)\\\\s*(:)(\\\\s*([ \'.0-9?^_`[:alpha:]]+)(<))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]}]},"compiler_directives":{"patterns":[{"captures":{},"match":"\\\\s?(#(?:if|elif|elseif|else|endif|light|nowarn|warnon))","name":"keyword.control.directive.fsharp"}]},"constants":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"match":"\\\\b-?[0-9][0-9_]*((\\\\.(?!\\\\.)([0-9][0-9_]*([Ee][-+]??[0-9][0-9_]*)?)?)|([Ee][-+]??[0-9][0-9_]*))","name":"constant.numeric.float.fsharp"},{"match":"\\\\b(-?((0([Xx])\\\\h[_\\\\h]*)|(0([Oo])[0-7][0-7_]*)|(0([Bb])[01][01_]*)|([0-9][0-9_]*)))","name":"constant.numeric.integer.nativeint.fsharp"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.fsharp"},{"match":"\\\\b(null|void)\\\\b","name":"constant.other.fsharp"}]},"definition":{"patterns":[{"begin":"\\\\b(let mutable|static let mutable|static let|let inline|let|and inline|and|member val|member inline|static member inline|static member val|static member|default|member|override|let!)(\\\\s+rec|mutable)?(\\\\s+\\\\[<.*>])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\s*((with(?: inline|))\\\\b|(=|\\\\n+=|(?<==)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(use!??|and!??)\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"\\\\s*(=)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"(?<=with|and)\\\\s*\\\\b(([gs]et)\\\\s*(?=\\\\())(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"4":{"name":"variable.fsharp"}},"end":"\\\\s*(=|\\\\n+=|(?<==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(static val mutable|val mutable|val inline|val)(\\\\s+rec|mutable)?(\\\\s+\\\\[<.*>])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([,.0-9_[:alpha:]]+)*|``[_[:alpha:]]([,.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\n$","name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(new)\\\\b\\\\s+(\\\\()","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]}]},"double_tick":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}},"match":"(``)([^`]*)(``)","name":"variable.other.binding.fsharp"}]},"du_declaration":{"patterns":[{"begin":"\\\\b(of)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"$|(\\\\|)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"du_declaration.fsharp","patterns":[{"include":"#comments"},{"captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)\\\\s*(:)\\\\s*([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(``([ \'.0-9^_[:alpha:]]+)``|[\'.0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]}]},"generic_declaration":{"patterns":[{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"match":"\\\\b(private|to|public|internal|function|yield!?|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let!|return!?|interface|with|abstract|enum|member|try|finally|and|when|or|use!??|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":":","name":"keyword.symbol.fsharp"},{"include":"#constants"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"include":"#tuple_signature"},{"include":"#generic_declaration"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words are allowed","match":"(?!when|and|or\\\\b)\\\\b([\'.0-9^_`\\\\w]+)"},{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"comments":"Prevent captures of `|>` as a keyword when defining custom operator like `<|>`","match":"(\\\\|)"},{"include":"#keywords"}]},"keywords":{"patterns":[{"match":"\\\\b(private|public|internal)\\\\b","name":"storage.modifier"},{"match":"\\\\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use!??|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":"\\\\b(match|yield!??|with|if|then|else|elif|for|in|return!?|try|finally|while|do)(?!\')\\\\b","name":"keyword.control"},{"match":"(->|<-)","name":"keyword.symbol.arrow.fsharp"},{"match":"[.?]*(&&&|\\\\|\\\\|\\\\||\\\\^\\\\^\\\\^|~~~|~\\\\+|~-|<<<|>>>|\\\\|>|:>|:\\\\?>|[]:;\\\\[]|<>|[=@]|\\\\|\\\\||&&|[%\\\\&_{|}]|\\\\.\\\\.|[!*-\\\\-/>^]|>=|>>|<=??|[()]|<<)[.?]*","name":"keyword.symbol.fsharp"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"match":"([()])","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"},"7":{"name":"entity.name.type.fsharp"}},"match":"(\\\\??)([\'.0-9^_`[:alpha:]]+|``[ \',.0-:^_`[:alpha:]]+``)\\\\s*(:?)(\\\\s*([ \'.0-9<>?_`[:alpha:]]+))?(\\\\|\\\\s*(null))?"},{"include":"#keywords"}]},"modules":{"patterns":[{"begin":"\\\\b(?:(namespace global)|(namespace|module)\\\\s*(public|internal|private|rec)?\\\\s+([`|[:alpha:]][ \'.0-9_[:alpha:]]*))","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s?=|\\\\s|$)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"entity.name.section.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]},{"begin":"\\\\b(open(?: type|))\\\\s+([`|[:alpha:]][\'0-9_[:alpha:]]*)(?=(\\\\.[A-Z][0-9_[:alpha:]]*)*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.open.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)(\\\\p{alpha}[\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"},{"include":"#comments"}]},{"begin":"^\\\\s*(module)\\\\s+([A-Z][\'0-9_[:alpha:]]*)\\\\s*(=)\\\\s*([A-Z][\'0-9_[:alpha:]]*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.alias.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]}]},"record_declaration":{"patterns":[{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(?<=})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\\\s\\\\p{alpha}+)|[\'.0-9<>^_`[:alpha:]]*)\\\\s*((?<!:):(?!:))\\\\s*","beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"end":"$|([;}])","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]}]},"record_signature":{"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(=)([ \'0-9^_`[:alpha:]]+)"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(=)([ \'0-9^_`[:alpha:]]+)"},{"include":"#record_signature"}]},{"include":"#keywords"}]},"records":{"patterns":[{"begin":"\\\\b(type)\\\\s+(private|internal|public)?\\\\s*","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"end":"\\\\s*((with)|((as)\\\\s+([\'0-9[:alpha:]]+))|(=)|[\\\\n=]|(\\\\(\\\\)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"keyword.symbol.fsharp"}},"name":"record.fsharp","patterns":[{"include":"#comments"},{"include":"#attributes"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9^_[:alpha:]]+|``[ \',.0-:^_`[:alpha:]]+``)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"((?<!:)>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])``[ ,.0-:^_`[:alpha:]]+``|([\'^])[.0-:^_`[:alpha:]]+)"},{"match":"\\\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.fsharp"}},"match":"(static member|member|new)"},{"include":"#common_binding_definition"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"([\'.0-9^_`\\\\w]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"storage.modifier.fsharp"}},"match":"\\\\s*(private|internal|public)"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(=)|[\\\\n=]|(\\\\(\\\\))|(as))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#keywords"}]}]},"string_formatter":{"patterns":[{"captures":{"1":{"name":"keyword.format.specifier.fsharp"}},"match":"(%0?-?(\\\\d+)?(([at])|(\\\\.\\\\d+)?([EFGMefg])|([Xbcdiosux])|([Obs])|(\\\\+?A)))","name":"entity.name.type.format.specifier.fsharp"}]},"strings":{"patterns":[{"begin":"(?=[^\\\\\\\\])(@\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")(?!\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.literal.fsharp","patterns":[{"match":"\\"(\\")","name":"constant.character.string.escape.fsharp"}]},{"begin":"(?=[^\\\\\\\\])(\\"\\"\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\"\\"\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.triple.fsharp","patterns":[{"include":"#string_formatter"}]},{"begin":"(?=[^\\\\\\\\])(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.double.fsharp","patterns":[{"match":"\\\\\\\\$[\\\\t ]*","name":"punctuation.separator.string.ignore-eol.fsharp"},{"match":"\\\\\\\\([\\"\'\\\\\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x\\\\h{2})|(u\\\\h{4})|(U00(0\\\\h|10)\\\\h{4}))","name":"constant.character.string.escape.fsharp"},{"match":"\\\\\\\\(([0-9]{1,3})|(x\\\\S{0,2})|(u\\\\S{0,4})|(U\\\\S{0,8})|\\\\S)","name":"invalid.illegal.character.string.fsharp"},{"include":"#string_formatter"}]}]},"strp_inlined":{"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]},{"captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"match":"((?:static |)member)\\\\s*([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)\\\\s*(:)"},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"match":"\\\\\\\\","name":"text.fsharp"}]},"tuple_signature":{"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"include":"#keywords"}]},"variables":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"(\\\\??)(``[ \',.0-:^_`[:alpha:]]+``|(?!private|struct\\\\b)\\\\b[ \'.0-9<>^_`\\\\w[:alpha:]]+)"}]}},"scopeName":"source.fsharp","embeddedLangs":["markdown"],"aliases":["f#","fs"]}')),oq=[...k7,cq]});var Bx={};h1(Bx,{default:()=>pq});var lq,pq,Px=s1(()=>{lq=Object.freeze(JSON.parse('{"displayName":"Visual Basic","name":"vb","patterns":[{"match":"\\\\n","name":"meta.ending-space"},{"include":"#round-brackets"},{"begin":"^(?=\\\\t)","end":"(?=[^\\\\t])","name":"meta.leading-space","patterns":[{"captures":{"1":{"name":"meta.odd-tab.tabs"},"2":{"name":"meta.even-tab.tabs"}},"match":"(\\\\t)(\\\\t)?"}]},{"begin":"^(?= )","end":"(?=[^ ])","name":"meta.leading-space","patterns":[{"captures":{"1":{"name":"meta.odd-tab.spaces"},"2":{"name":"meta.even-tab.spaces"}},"match":"( )( )?"}]},{"captures":{"1":{"name":"storage.type.function.asp"},"2":{"name":"entity.name.function.asp"},"3":{"name":"punctuation.definition.parameters.asp"},"4":{"name":"variable.parameter.function.asp"},"5":{"name":"punctuation.definition.parameters.asp"}},"match":"^\\\\s*((?i:function|sub))\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(\\\\()([^)]*)(\\\\)).*\\\\n?","name":"meta.function.asp"},{"begin":"(^[\\\\t ]+)?(?=\')","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.asp"}},"end":"(?!\\\\G)","patterns":[{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.comment.asp"}},"end":"\\\\n","name":"comment.line.apostrophe.asp"}]},{"match":"(?i:\\\\b(If|Then|Else|ElseIf|Else If|End If|While|Wend|For|To|Each|Case|Select|End Select|Return|Continue|Do|Until|Loop|Next|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf)\\\\b)","name":"keyword.control.asp"},{"match":"(?i:\\\\b(Mod|And|Not|Or|Xor|as)\\\\b)","name":"keyword.operator.asp"},{"captures":{"1":{"name":"storage.type.asp"},"2":{"name":"variable.other.bfeac.asp"},"3":{"name":"meta.separator.comma.asp"}},"match":"(?i:(dim)\\\\s*\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b\\\\s*(,?))","name":"variable.other.dim.asp"},{"match":"(?i:\\\\s*\\\\b(Call|Class|Const|Dim|Redim|Function|Sub|Private Sub|Public Sub|End Sub|End Function|End Class|End Property|Public Property|Private Property|Set|Let|Get|New|Randomize|Option Explicit|On Error Resume Next|On Error GoTo)\\\\b\\\\s*)","name":"storage.type.asp"},{"match":"(?i:\\\\b(Private|Public|Default)\\\\b)","name":"storage.modifier.asp"},{"match":"(?i:\\\\s*\\\\b(Empty|False|Nothing|Null|True)\\\\b)","name":"constant.language.asp"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.asp"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.asp"}},"name":"string.quoted.double.asp","patterns":[{"match":"\\"\\"","name":"constant.character.escape.apostrophe.asp"}]},{"captures":{"1":{"name":"punctuation.definition.variable.asp"}},"match":"(\\\\$)[7A-Z_a-z][0-9A-Z_a-z]*?\\\\b\\\\s*","name":"variable.other.asp"},{"match":"(?i:\\\\b(Application|ObjectContext|Request|Response|Server|Session)\\\\b)","name":"support.class.asp"},{"match":"(?i:\\\\b(Contents|StaticObjects|ClientCertificate|Cookies|Form|QueryString|ServerVariables)\\\\b)","name":"support.class.collection.asp"},{"match":"(?i:\\\\b(TotalBytes|Buffer|CacheControl|Charset|ContentType|Expires|ExpiresAbsolute|IsClientConnected|PICS|Status|ScriptTimeout|CodePage|LCID|SessionID|Timeout)\\\\b)","name":"support.constant.asp"},{"match":"(?i:\\\\b(Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|End|Flush|Redirect|Write|CreateObject|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex)\\\\b)","name":"support.function.asp"},{"match":"(?i:\\\\b(Application_OnEnd|Application_OnStart|OnTransactionAbort|OnTransactionCommit|Session_OnEnd|Session_OnStart)\\\\b)","name":"support.function.event.asp"},{"match":"(?i:(?<=as )\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b)","name":"support.type.vb.asp"},{"match":"(?i:\\\\b(Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CreateObject|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exists|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetObject|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsArray|IsDate|IsEmpty|IsNull|IsNumeric|IsObject|Items??|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|LTrim|RTrim|Trim|Maths|Mid|Minute|Month|MonthName|MsgBox|Now|Oct|Remove|RemoveAll|Replace|RGB|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Split|Sqr|StrComp|String|StrReverse|Tan|Timer??|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year)\\\\b)","name":"support.function.vb.asp"},{"match":"-?\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\\\\b","name":"constant.numeric.asp"},{"match":"(?i:\\\\b(vbtrue|vbfalse|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|int32|vbtab|vbverticaltab|vbbinarycompare|vbtextcomparevbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant|vbDataObject|vbDecimal|vbByte|vbArray)\\\\b)","name":"support.type.vb.asp"},{"captures":{"1":{"name":"entity.name.function.asp"}},"match":"(?i:\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?=\\\\(\\\\)?))","name":"support.function.asp"},{"match":"(?i:((?<=([-\\\\&(+,/<=>\\\\\\\\]))\\\\s*\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?!([(.]))|\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?=\\\\s*([-\\\\&()+/<=>\\\\\\\\]))))","name":"variable.other.asp"},{"match":"[!$%\\\\&*]|--?|\\\\+\\\\+|[+~]|===?|=|!==??|<=|>=|<<=|>>=|>>>=|<>|[!<>]|&&|\\\\|\\\\||\\\\?:|\\\\*=|/=|%=|\\\\+=|-=|&=|\\\\^=|\\\\b(in|instanceof|new|delete|typeof|void)\\\\b","name":"keyword.operator.js"}],"repository":{"round-brackets":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.round-brackets.begin.asp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.round-brackets.end.asp"}},"name":"meta.round-brackets","patterns":[{"include":"source.asp.vb.net"}]}},"scopeName":"source.asp.vb.net"}')),pq=[lq]});var Rx={};h1(Rx,{default:()=>mq});var uq,mq,Dx=s1(()=>{_4();g5();We();me();b5();uq=Object.freeze(JSON.parse('{"displayName":"Perl","name":"perl","patterns":[{"include":"#line_comment"},{"begin":"^(?==[A-Za-z]+)","end":"^(=cut\\\\b.*)$","endCaptures":{"1":{"patterns":[{"include":"#pod"}]}},"name":"comment.block.documentation.perl","patterns":[{"include":"#pod"}]},{"include":"#variable"},{"applyEndPatternLast":1,"begin":"\\\\b(?=qr\\\\s*[^\\\\s\\\\w])","end":"((([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[#),;{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.compile.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(qr)\\\\s*\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.compile.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"(qr)\\\\s*\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.compile.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"(qr)\\\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.compile.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"(qr)\\\\s*\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\)","name":"string.regexp.compile.nested_parens.perl","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[\\\\\\\\{\\\\s\\\\w])"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"(qr)\\\\s*\'","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\'","name":"string.regexp.compile.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"(qr)\\\\s*([^\'(<\\\\[{\\\\s\\\\w])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\2","name":"string.regexp.compile.simple-delimiter.perl","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[{\\\\s\\\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]}]},{"applyEndPatternLast":1,"begin":"(?<![-+{])\\\\b(?=m\\\\s*[^0-9A-Za-z\\\\s])","end":"((([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[#),;{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.find-m.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(m)\\\\s*\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.find-m.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"(m)\\\\s*\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.find-m.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"(m)\\\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.find-m.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"(m)\\\\s*\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\)","name":"string.regexp.find-m.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"(m)\\\\s*\'","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\'","name":"string.regexp.find-m.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\G(?<![-+{])(m)(?!_)\\\\s*([^\'(0-9<A-\\\\[a-{\\\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\2","name":"string.regexp.find-m.simple-delimiter.perl","patterns":[{"match":"\\\\$(?=[^\'(0-9<A-\\\\[a-{\\\\s])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"begin":"\\\\[","beginCaptures":{"1":{"name":"punctuation.definition.character-class.begin.perl"}},"end":"]","endCaptures":{"1":{"name":"punctuation.definition.character-class.end.perl"}},"name":"constant.other.character-class.set.perl","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[{\\\\s\\\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"}]},{"include":"#nested_parens_interpolated"}]}]},{"applyEndPatternLast":1,"begin":"\\\\b(?=(?<!&)(s)(\\\\s+\\\\S|\\\\s*[(),;<\\\\[{}]|$))","end":"((([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[]),;>{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s)\\\\s*\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces"}]},{"begin":"(s)\\\\s*\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets"}]},{"begin":"(s)\\\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt"}]},{"begin":"(s)\\\\s*\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\)","name":"string.regexp.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens"}]},{"begin":"\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"}","name":"string.regexp.format.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"]","name":"string.regexp.format.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"<","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":">","name":"string.regexp.format.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\)","name":"string.regexp.format.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"\'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\'","name":"string.regexp.format.single_quote.perl","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.perl"}]},{"begin":"([^(;<\\\\[{\\\\s\\\\w])","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\1","name":"string.regexp.format.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"match":"\\\\s+"}]},{"begin":"\\\\b(?=s([^(0-9<A-\\\\[a-{\\\\s]).*\\\\1([acdegil-prsux]*)([),;}]|\\\\s+))","end":"((([acdegil-prsux]*)))(?=([),;}]|\\\\s+|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s\\\\s*)([^(0-9<A-\\\\[a-{\\\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"(?=\\\\2)","name":"string.regexp.replaceXXX.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\'","name":"string.regexp.replaceXXX.format.single_quote.perl","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.perl.perl"}]},{"begin":"([^(0-9<A-\\\\[a-{\\\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\1","name":"string.regexp.replaceXXX.format.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},{"begin":"\\\\b(?=(?<!\\\\\\\\)s\\\\s*([^(<>\\\\[{\\\\s\\\\w]))","end":"((([acdegilmoprsu]*x[acdegilmoprsu]*)))\\\\b","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s)\\\\s*(.)","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"(?=\\\\2)","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\'(?=[acdegilmoprsu]*x[acdegilmoprsu]*)\\\\b","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"(.)","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\1(?=[acdegilmoprsu]*x[acdegilmoprsu]*)\\\\b","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},{"begin":"(?<=[\\\\&({|~]|if|unless|^)\\\\s*((/))","beginCaptures":{"1":{"name":"string.regexp.find.perl"},"2":{"name":"punctuation.definition.string.perl"}},"contentName":"string.regexp.find.perl","end":"((\\\\1([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[#),;{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.find.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"match":"\\\\$(?=/)","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"}]},{"captures":{"1":{"name":"constant.other.key.perl"}},"match":"\\\\b(\\\\w+)\\\\s*(?==>)"},{"match":"(?<=\\\\{)\\\\s*\\\\w+\\\\s*(?=})","name":"constant.other.bareword.perl"},{"captures":{"1":{"name":"keyword.control.perl"},"2":{"name":"entity.name.type.class.perl"}},"match":"^\\\\s*(package)\\\\s+([^;\\\\s]+)","name":"meta.class.perl"},{"captures":{"1":{"name":"storage.type.sub.perl"},"2":{"name":"entity.name.function.perl"},"3":{"name":"storage.type.method.perl"}},"match":"\\\\b(sub)(?:\\\\s+([-0-9A-Z_a-z]+))?\\\\s*(?:\\\\([$*;@]*\\\\))?[^{\\\\w]","name":"meta.function.perl"},{"captures":{"1":{"name":"entity.name.function.perl"},"2":{"name":"punctuation.definition.parameters.perl"},"3":{"name":"variable.parameter.function.perl"}},"match":"^\\\\s*(BEGIN|UNITCHECK|CHECK|INIT|END|DESTROY)\\\\b","name":"meta.function.perl"},{"begin":"^(?=(\\\\t| {4}))","end":"(?=[^\\\\t\\\\s])","name":"meta.leading-tabs","patterns":[{"captures":{"1":{"name":"meta.odd-tab"},"2":{"name":"meta.even-tab"}},"match":"(\\\\t| {4})(\\\\t| {4})?"}]},{"captures":{"1":{"name":"support.function.perl"},"2":{"name":"punctuation.definition.string.perl"},"5":{"name":"punctuation.definition.string.perl"},"8":{"name":"punctuation.definition.string.perl"}},"match":"\\\\b(tr|y)\\\\s*([^0-9A-Za-z\\\\s])(.*?)(?<!\\\\\\\\)(\\\\\\\\{2})*(\\\\2)(.*?)(?<!\\\\\\\\)(\\\\\\\\{2})*(\\\\2)","name":"string.regexp.replace.perl"},{"match":"\\\\b(__(?:FILE|LINE|PACKAGE|SUB)__)\\\\b","name":"constant.language.perl"},{"begin":"\\\\b(__(?:DATA__|END__))\\\\n?","beginCaptures":{"1":{"name":"constant.language.perl"}},"contentName":"comment.block.documentation.perl","end":"\\\\z","patterns":[{"include":"#pod"}]},{"match":"(?<!->)\\\\b(continue|default|die|do|else|elsif|exit|for|foreach|given|goto|if|last|next|redo|return|select|unless|until|wait|when|while|switch|case|require|use|eval)\\\\b","name":"keyword.control.perl"},{"match":"\\\\b(my|our|local)\\\\b","name":"storage.modifier.perl"},{"match":"(?<!\\\\w)-[ABCMORSTWXb-gklopr-uwxz]\\\\b","name":"keyword.operator.filetest.perl"},{"match":"\\\\b(and|or|xor|as|not)\\\\b","name":"keyword.operator.logical.perl"},{"match":"((?:<=|[-=])>)","name":"keyword.operator.comparison.perl"},{"include":"#heredoc"},{"begin":"\\\\bqq\\\\s*([^(<\\\\[{\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*([^\'(<\\\\[{\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.double.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqw?\\\\s*([^(<\\\\[{\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q.perl"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.single.perl","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.perl"}]},{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqq\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-paren.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqq\\\\s*\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-brace.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqq\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-bracket.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqq\\\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt_interpolated"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqx\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-paren.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-brace.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-bracket.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt_interpolated"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqw?\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-paren.perl","patterns":[{"include":"#nested_parens"}]},{"begin":"\\\\bqw?\\\\s*\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-brace.perl","patterns":[{"include":"#nested_braces"}]},{"begin":"\\\\bqw?\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-bracket.perl","patterns":[{"include":"#nested_brackets"}]},{"begin":"\\\\bqw?\\\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-ltgt.perl","patterns":[{"include":"#nested_ltgt"}]},{"begin":"^__\\\\w+__","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"$","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.unquoted.program-block.perl"},{"begin":"\\\\b(format)\\\\s+(\\\\w+)\\\\s*=","beginCaptures":{"1":{"name":"support.function.perl"},"2":{"name":"entity.name.function.format.perl"}},"end":"^\\\\.\\\\s*$","name":"meta.format.perl","patterns":[{"include":"#line_comment"},{"include":"#variable"}]},{"captures":{"1":{"name":"support.function.perl"},"2":{"name":"entity.name.function.perl"}},"match":"\\\\b(x)\\\\s*(\\\\d+)\\\\b"},{"match":"\\\\b(ARGV|DATA|ENV|SIG|STDERR|STDIN|STDOUT|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|cmp|connect|cos|crypt|dbmclose|dbmopen|defined|delete|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eq|eval|exec|exists|exp|fcntl|fileno|flock|fork|formline|ge|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|grep|gt|hex|import|index|int|ioctl|join|keys|kill|lc|lcfirst|le|length|link|listen|local|localtime|log|lstat|lt|m|map|mkdir|msgctl|msgget|msgrcv|msgsnd|ne|no|oct|open|opendir|ord|pack|pipe|pop|pos|printf??|push|quotemeta|rand|read|readdir|readlink|recv|ref|rename|reset|reverse|rewinddir|rindex|rmdir|s|say|scalar|seek|seekdir|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|substr|symlink|syscall|sysopen|sysread|system|syswrite|tell|telldir|tied??|times??|tr|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|utime|values|vec|waitpid|wantarray|warn|write|y)\\\\b","name":"support.function.perl"},{"captures":{"1":{"name":"punctuation.section.scope.begin.perl"},"2":{"name":"punctuation.section.scope.end.perl"}},"match":"(\\\\{)(})"},{"captures":{"1":{"name":"punctuation.section.scope.begin.perl"},"2":{"name":"punctuation.section.scope.end.perl"}},"match":"(\\\\()(\\\\))"}],"repository":{"escaped_char":{"patterns":[{"match":"\\\\\\\\\\\\d+","name":"constant.character.escape.perl"},{"match":"\\\\\\\\c[^\\\\\\\\\\\\s]","name":"constant.character.escape.perl"},{"match":"\\\\\\\\g(?:\\\\{(?:\\\\w*|-\\\\d+)}|\\\\d+)","name":"constant.character.escape.perl"},{"match":"\\\\\\\\k(?:\\\\{\\\\w*}|<\\\\w*>|\'\\\\w*\')","name":"constant.character.escape.perl"},{"match":"\\\\\\\\N\\\\{[^}]*}","name":"constant.character.escape.perl"},{"match":"\\\\\\\\o\\\\{\\\\d*}","name":"constant.character.escape.perl"},{"match":"\\\\\\\\[Pp](?:\\\\{\\\\w*}|P)","name":"constant.character.escape.perl"},{"match":"\\\\\\\\x(?:[0-9A-Za-z]{2}|\\\\{\\\\w*})?","name":"constant.character.escape.perl"},{"match":"\\\\\\\\.","name":"constant.character.escape.perl"}]},"heredoc":{"patterns":[{"begin":"((((<<(~)?) *\')(HTML)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\\\n","name":"text.html.basic","patterns":[{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *\')(XML)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\\\n","name":"text.xml","patterns":[{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *\')(CSS)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\\\n","name":"source.css","patterns":[{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *\')(JAVASCRIPT)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\\\n","name":"source.js","patterns":[{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *\')(SQL)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\\\n","name":"source.sql","patterns":[{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *\')(POSTSCRIPT)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\\\n","name":"source.postscript","patterns":[{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *\')([^\']*)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}}},{"begin":"((((<<(~)?) *\\\\\\\\)((?![ $(=\\\\d])[^\\"\'),;`\\\\s]*)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}}},{"begin":"((((<<(~)?) *\\")(HTML)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\\\n","name":"text.html.basic","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *\\")(XML)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\\\n","name":"text.xml","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *\\")(CSS)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\\\n","name":"source.css","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *\\")(JAVASCRIPT)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\\\n","name":"source.js","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *\\")(SQL)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\\\n","name":"source.sql","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *\\")(POSTSCRIPT)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\\\n","name":"source.postscript","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *\\")([^\\"]*)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"((((<<(~)?) *)(HTML)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\\\n","name":"text.html.basic","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *)(XML)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\\\n","name":"text.xml","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *)(CSS)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\\\n","name":"source.css","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *)(JAVASCRIPT)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\\\n","name":"source.js","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *)(SQL)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\\\n","name":"source.sql","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *)(POSTSCRIPT)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\\\n","name":"source.postscript","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *)((?![ $(=\\\\d])[^\\"\'),;`\\\\s]*)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"((((<<(~)?) *`)([^`]*)(`)))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.shell.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},"line_comment":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.perl"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.perl"}},"end":"\\\\n","name":"comment.line.number-sign.perl"}]}]},"nested_braces":{"begin":"\\\\{","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"}","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces"}]},"nested_braces_interpolated":{"begin":"\\\\{","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"}","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},"nested_brackets":{"begin":"\\\\[","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"]","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets"}]},"nested_brackets_interpolated":{"begin":"\\\\[","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"]","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},"nested_ltgt":{"begin":"<","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":">","patterns":[{"include":"#nested_ltgt"}]},"nested_ltgt_interpolated":{"begin":"<","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":">","patterns":[{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},"nested_parens":{"begin":"\\\\(","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"\\\\)","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens"}]},"nested_parens_interpolated":{"begin":"\\\\(","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"\\\\)","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[{\\\\s\\\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},"pod":{"patterns":[{"match":"^=(pod|back|cut)\\\\b","name":"storage.type.class.pod.perl"},{"begin":"^(=begin)\\\\s+(html)\\\\s*$","beginCaptures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl"}},"contentName":"text.embedded.html.basic","end":"^(?:(=end)\\\\s+(html)|(?==cut))","endCaptures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl"}},"name":"meta.embedded.pod.perl","patterns":[{"include":"text.html.basic"}]},{"captures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl","patterns":[{"include":"#pod-formatting"}]}},"match":"^(=(?:head[1-4]|item|over|encoding|begin|end|for))\\\\b\\\\s*(.*)"},{"include":"#pod-formatting"}]},"pod-formatting":{"patterns":[{"captures":{"1":{"name":"markup.italic.pod.perl"},"2":{"name":"markup.italic.pod.perl"}},"match":"I(?:<([^<>]+)>|<+(\\\\s+(?:(?<!\\\\s)>|[^>])+\\\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.bold.pod.perl"},"2":{"name":"markup.bold.pod.perl"}},"match":"B(?:<([^<>]+)>|<+(\\\\s+(?:(?<!\\\\s)>|[^>])+\\\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.raw.pod.perl"},"2":{"name":"markup.raw.pod.perl"}},"match":"C(?:<([^<>]+)>|<+(\\\\\\\\s+(?:(?<!\\\\\\\\s)>|[^>])+\\\\\\\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.underline.link.hyperlink.pod.perl"}},"match":"L<([^>]+)>","name":"entity.name.type.instance.pod.perl"},{"match":"[EFSXZ]<[^>]*>","name":"entity.name.type.instance.pod.perl"}]},"variable":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)&(?![0-9A-Z_a-z])","name":"variable.other.regexp.match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)`(?![0-9A-Z_a-z])","name":"variable.other.regexp.pre-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)\'(?![0-9A-Z_a-z])","name":"variable.other.regexp.post-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)\\\\+(?![0-9A-Z_a-z])","name":"variable.other.regexp.last-paren-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)\\"(?![0-9A-Z_a-z])","name":"variable.other.readwrite.list-separator.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)0(?![0-9A-Z_a-z])","name":"variable.other.predefined.program-name.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)[!#$%()*,-/:-@\\\\[-_ab|~](?![0-9A-Z_a-z])","name":"variable.other.predefined.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)[0-9]+(?![0-9A-Z_a-z])","name":"variable.other.subpattern.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"([$%@](#)?)([$7A-Za-z]|::)([$0-9A-Z_a-z]|::)*\\\\b","name":"variable.other.readwrite.global.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"},"2":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$\\\\{)(?:[$7A-Za-z]|::)(?:[$0-9A-Z_a-z]|::)*(})","name":"variable.other.readwrite.global.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"([$%@](#)?)[0-9_]\\\\b","name":"variable.other.readwrite.global.special.perl"}]}},"scopeName":"source.perl","embeddedLangs":["html","xml","css","javascript","sql"]}')),mq=[...Y2,...$3,...e2,...L0,...L3,uq]});var Gx={};h1(Gx,{default:()=>hq});var dq,hq,Ox=s1(()=>{dq=Object.freeze(JSON.parse('{"displayName":"Verilog","fileTypes":["v","vh"],"name":"verilog","patterns":[{"include":"#comments"},{"include":"#module_pattern"},{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"},{"include":"#operators"},{"include":"#identifiers"}],"repository":{"comments":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.verilog"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.verilog"}},"end":"\\\\n","name":"comment.line.double-slash.verilog"}]},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.c-style.verilog"}]},"constants":{"patterns":[{"match":"`(?!(celldefine|endcelldefine|default_nettype|define|undef|ifdef|ifndef|else|endif|include|resetall|timescale|unconnected_drive|nounconnected_drive))[A-Z_a-z][$0-9A-Z_a-z]*","name":"variable.other.constant.verilog"},{"match":"[0-9]*\'[BDHObdho][XZ_xz\\\\h]+\\\\b","name":"constant.numeric.sized_integer.verilog"},{"captures":{"1":{"name":"constant.numeric.integer.verilog"},"2":{"name":"punctuation.separator.range.verilog"},"3":{"name":"constant.numeric.integer.verilog"}},"match":"\\\\b(\\\\d+)(:)(\\\\d+)\\\\b","name":"meta.block.numeric.range.verilog"},{"match":"\\\\b\\\\d[_\\\\d]*(?i:e\\\\d+)?\\\\b","name":"constant.numeric.integer.verilog"},{"match":"\\\\b\\\\d+\\\\.\\\\d+(?i:e\\\\d+)?\\\\b","name":"constant.numeric.real.verilog"},{"match":"#\\\\d+","name":"constant.numeric.delay.verilog"},{"match":"\\\\b[01XZxz]+\\\\b","name":"constant.numeric.logic.verilog"}]},"identifiers":{"patterns":[{"match":"(?<![$0-9A-Z_a-z])[A-Z_a-z][$0-9A-Z_a-z]*(?![$0-9A-Z_a-z])","name":"variable.other.identifier.verilog"}]},"instantiation_patterns":{"patterns":[{"include":"#keywords"},{"begin":"^\\\\s*(?!always|and|assign|output|input|inout|wire|module)([A-Z_a-z][$0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][$0-9A-Z_a-z]*)(?<!begin|if)\\\\s*(?=\\\\(|$)","beginCaptures":{"1":{"name":"entity.name.tag.module.reference.verilog"},"2":{"name":"entity.name.tag.module.identifier.verilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.expression.verilog"}},"name":"meta.block.instantiation.parameterless.verilog","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]},{"begin":"^\\\\s*([A-Z_a-z][$0-9A-Z_a-z]*)\\\\s*(#)(?=\\\\s*\\\\()","beginCaptures":{"1":{"name":"entity.name.tag.module.reference.verilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.expression.verilog"}},"name":"meta.block.instantiation.with.parameters.verilog","patterns":[{"include":"#parenthetical_list"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"entity.name.tag.module.identifier.verilog"}]}]},"keywords":{"patterns":[{"match":"\\\\b(always|and|assign|attribute|begin|buf|bufif0|bufif1|case[xz]?|cmos|deassign|default|defparam|disable|edge|else|end(attribute|case|function|generate|module|primitive|specify|table|task)?|event|for|force|forever|fork|function|generate|genvar|highz(01)|if(none)?|initial|inout|input|integer|join|localparam|medium|module|large|macromodule|nand|negedge|nmos|nor|not|notif(01)|or|output|parameter|pmos|posedge|primitive|pull0|pull1|pulldown|pullup|rcmos|real|realtime|reg|release|repeat|rnmos|rpmos|rtran|rtranif(01)|scalared|signed|small|specify|specparam|strength|strong0|strong1|supply0|supply1|table|task|time|tran|tranif(01)|tri(01)?|tri(and|or|reg)|unsigned|vectored|wait|wand|weak(01)|while|wire|wor|xnor|xor)\\\\b","name":"keyword.other.verilog"},{"match":"^\\\\s*`((cell)?define|default_(decay_time|nettype|trireg_strength)|delay_mode_(path|unit|zero)|ifdef|ifndef|include|end(if|celldefine)|else|(no)?unconnected_drive|resetall|timescale|undef)\\\\b","name":"keyword.other.compiler.directive.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(f(open|close)|readmem([bh])|timeformat|printtimescale|stop|finish|(s|real)?time|realtobits|bitstoreal|rtoi|itor|(f)?(display|write([bh])))(?![$0-9A-Z_a-z])","name":"support.function.system.console.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(random|dist_(chi_square|erlang|exponential|normal|poisson|t|uniform))(?![$0-9A-Z_a-z])","name":"support.function.system.random_number.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$((a)?sync\\\\$((n)?and|(n)or)\\\\$(array|plane))(?![$0-9A-Z_a-z])","name":"support.function.system.pld_modeling.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(q_(initialize|add|remove|full|exam))(?![$0-9A-Z_a-z])","name":"support.function.system.stochastic.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(hold|nochange|period|recovery|setup(hold)?|skew|width)(?![$0-9A-Z_a-z])","name":"support.function.system.timing.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(dump(file|vars|off|on|all|limit|flush))(?![$0-9A-Z_a-z])","name":"support.function.system.vcd.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(countdrivers|list|input|scope|showscopes|(no)?(key|log)|reset(_(?:count|value))?|(inc)?save|restart|showvars|getpattern|sreadmem([bh])|scale)(?![$0-9A-Z_a-z])","name":"support.function.non-standard.tasks.verilog"}]},"module_pattern":{"patterns":[{"begin":"\\\\b(module)\\\\s+([A-Z_a-z][$0-9A-Z_a-z]*)","beginCaptures":{"1":{"name":"storage.type.module.verilog"},"2":{"name":"entity.name.type.module.verilog"}},"end":"\\\\bendmodule\\\\b","endCaptures":{"0":{"name":"storage.type.module.verilog"}},"name":"meta.block.module.verilog","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"},{"include":"#instantiation_patterns"},{"include":"#operators"},{"include":"#identifiers"}]}]},"operators":{"patterns":[{"match":"[-%*+/]|([<>])=?|([!=])?==?|!|&&?|\\\\|\\\\|?|\\\\^?~|~\\\\^?","name":"keyword.operator.verilog"}]},"parenthetical_list":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.list.verilog"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.list.verilog"}},"name":"meta.block.parenthetical_list.verilog","patterns":[{"include":"#parenthetical_list"},{"include":"#comments"},{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]}]},"strings":{"patterns":[{"begin":"\\"","end":"\\"","name":"string.quoted.double.verilog","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.verilog"}]}]}},"scopeName":"source.verilog"}')),hq=[dq]});var Wx={};h1(Wx,{default:()=>bq});var gq,bq,Ux=s1(()=>{gq=Object.freeze(JSON.parse('{"displayName":"SystemVerilog","fileTypes":["v","vh","sv","svh"],"name":"system-verilog","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#typedef-enum-struct-union"},{"include":"#typedef"},{"include":"#functions"},{"include":"#keywords"},{"include":"#tables"},{"include":"#function-task"},{"include":"#module-declaration"},{"include":"#class-declaration"},{"include":"#enum-struct-union"},{"include":"#sequence"},{"include":"#all-types"},{"include":"#module-parameters"},{"include":"#module-no-parameters"},{"include":"#port-net-parameter"},{"include":"#system-tf"},{"include":"#assertion"},{"include":"#bind-directive"},{"include":"#cast-operator"},{"include":"#storage-scope"},{"include":"#attributes"},{"include":"#imports"},{"include":"#operators"},{"include":"#constants"},{"include":"#identifiers"},{"include":"#selects"}],"repository":{"all-types":{"patterns":[{"include":"#built-ins"},{"include":"#modifiers"}]},"assertion":{"captures":{"1":{"name":"entity.name.goto-label.php"},"2":{"name":"keyword.operator.systemverilog"},"3":{"name":"keyword.sva.systemverilog"}},"match":"\\\\b([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*(assert|assume|cover|restrict)\\\\b"},"attributes":{"begin":"(?<!@[\\\\t\\\\n\\\\r ]?)\\\\(\\\\*","beginCaptures":{"0":{"name":"punctuation.attribute.rounds.begin"}},"end":"\\\\*\\\\)","endCaptures":{"0":{"name":"punctuation.attribute.rounds.end"}},"name":"meta.attribute.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"keyword.operator.assignment.systemverilog"}},"match":"([A-Z_a-z][$0-9A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]*(=)[\\\\t\\\\n\\\\r ]*)?"},{"include":"#constants"},{"include":"#strings"}]},"base-grammar":{"patterns":[{"include":"#all-types"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"captures":{"1":{"name":"storage.type.interface.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]+[A-Z_a-z][\\\\t\\\\n $,0-9=A-Z_a-z]*"},{"include":"#storage-scope"}]},"bind-directive":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(bind)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$.0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","name":"meta.definition.systemverilog"},"built-ins":{"patterns":[{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(bit|logic|reg)\\\\b","name":"storage.type.vector.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(byte|shortint|int|longint|integer|time|genvar)\\\\b","name":"storage.type.atom.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(shortreal|real|realtime)\\\\b","name":"storage.type.notint.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b","name":"storage.type.net.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(genvar|var|void|signed|unsigned|string|const|process)\\\\b","name":"storage.type.built-in.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(uvm_(?:root|transaction|component|monitor|driver|test|env|object|agent|sequence_base|sequence_item|sequence_state|sequencer|sequencer_base|sequence|component_registry|analysis_imp|analysis_port|analysis_export|config_db|active_passive_enum|phase|verbosity|tlm_analysis_fifo|tlm_fifo|report_server|objection|recorder|domain|reg_field|reg_block|reg|bitstream_t|radix_enum|printer|packer|comparer|scope_stack))\\\\b","name":"storage.type.uvm.systemverilog"}]},"cast-operator":{"captures":{"1":{"patterns":[{"include":"#built-ins"},{"include":"#constants"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.user-defined.systemverilog"}]},"2":{"name":"keyword.operator.cast.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*([0-9]+|[A-Z_a-z][$0-9A-Z_a-z]*)(\')(?=\\\\()","name":"meta.cast.systemverilog"},"class-declaration":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(virtual[\\\\t\\\\n\\\\r ]+)?(class)(?:[\\\\t\\\\n\\\\r ]+((?:st|autom)atic))?[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-:A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]+(extends|implements)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-:A-Z_a-z]*))?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.class.systemverilog"},"3":{"name":"storage.modifier.systemverilog"},"4":{"name":"entity.name.type.class.systemverilog"},"5":{"name":"keyword.control.systemverilog"},"6":{"name":"entity.name.type.class.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.class.end.systemverilog"}},"name":"meta.class.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"},"3":{"name":"entity.name.type.class.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]+\\\\b(extends|implements)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-:A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]*,[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-:A-Z_a-z]*))*"},{"captures":{"1":{"name":"storage.type.userdefined.systemverilog"},"2":{"name":"keyword.operator.param.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]+(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*(#)\\\\(","name":"meta.typedef.class.systemverilog"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#module-binding"},{"include":"#identifiers"}]},"comments":{"patterns":[{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"name":"comment.block.systemverilog","patterns":[{"include":"#fixme-todo"}]},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"$\\\\n?","name":"comment.line.double-slash.systemverilog","patterns":[{"include":"#fixme-todo"}]}]},"compiler-directives":{"name":"meta.preprocessor.systemverilog","patterns":[{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(else|endif|endcelldefine|celldefine|nounconnected_drive|resetall|undefineall|end_keywords|__FILE__|__LINE__)\\\\b"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"},"3":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)(ifdef|ifndef|elsif|define|undef|pragma)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(include|timescale|default_nettype|unconnected_drive|line|begin_keywords)\\\\b"},{"begin":"(`)(protected)\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"end":"(`)(endprotected)\\\\b","endCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"name":"meta.crypto.systemverilog"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])"}]},"constants":{"patterns":[{"match":"(\\\\b[1-9][0-9_]*)?\'([Ss]?[Bb][\\\\t\\\\n\\\\r ]*[01?XZxz][01?XZ_xz]*|[Ss]?[Oo][\\\\t\\\\n\\\\r ]*[0-7?XZxz][0-7?XZ_xz]*|[Ss]?[Dd][\\\\t\\\\n\\\\r ]*[0-9?XZxz][0-9?XZ_xz]*|[Ss]?[Hh][\\\\t\\\\n\\\\r ]*[?XZxz\\\\h][?XZ_xz\\\\h]*)(([Ee])([-+])?[0-9]+)?(?![\'\\\\w])","name":"constant.numeric.systemverilog"},{"match":"\'[01XZxz]","name":"constant.numeric.bit.systemverilog"},{"match":"\\\\b\\\\d[._\\\\d]*(?<!\\\\.)[Ee][-+]?[0-9]+\\\\b","name":"constant.numeric.exp.systemverilog"},{"match":"\\\\b\\\\d[._\\\\d]*(?![.\\\\d]|[\\\\t\\\\n\\\\r ]*(?:[Ee]|fs|ps|ns|us|ms|s))\\\\b","name":"constant.numeric.decimal.systemverilog"},{"match":"\\\\b\\\\d[.\\\\d]*[\\\\t\\\\n\\\\r ]*(?:[fnpu]|m?)s\\\\b","name":"constant.numeric.time.systemverilog"},{"include":"#compiler-directives"},{"match":"\\\\b(?:this|super|null)\\\\b","name":"constant.language.systemverilog"},{"match":"\\\\b([A-Z][0-9A-Z_]*)\\\\b","name":"constant.other.net.systemverilog"},{"match":"\\\\b(?<!\\\\.)([0-9A-Z_]+)(?!\\\\.)\\\\b","name":"constant.numeric.parameter.uppercase.systemverilog"},{"match":"\\\\.\\\\*","name":"keyword.operator.quantifier.regexp"}]},"enum-struct-union":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(enum|struct|union(?:[\\\\t\\\\n\\\\r ]+tagged)?|class|interface[\\\\t\\\\n\\\\r ]+class)(?:[\\\\t\\\\n\\\\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][$0-9A-Z_a-z]*)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?)?(?:[\\\\t\\\\n\\\\r ]+(packed))?(?:[\\\\t\\\\n\\\\r ]+((?:|un)signed))?(?=[\\\\t\\\\n\\\\r ]*(?:\\\\{|$))","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"patterns":[{"include":"#built-ins"}]},"3":{"patterns":[{"include":"#selects"}]},"4":{"name":"storage.modifier.systemverilog"},"5":{"name":"storage.modifier.systemverilog"}},"end":"(?<=})[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|(?<=^|[\\\\t\\\\n\\\\r ])\\\\\\\\[!-~]+(?=$|[\\\\t\\\\n\\\\r ]))[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*[,;]","endCaptures":{"1":{"patterns":[{"include":"#identifiers"}]},"2":{"patterns":[{"include":"#selects"}]}},"name":"meta.enum-struct-union.systemverilog","patterns":[{"include":"#keywords"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"fixme-todo":{"patterns":[{"match":"(?i:fixme)","name":"invalid.broken.fixme.systemverilog"},{"match":"(?i:todo)","name":"invalid.unimplemented.todo.systemverilog"}]},"function-task":{"begin":"[\\\\t\\\\n\\\\r ]*(?:\\\\b(virtual)[\\\\t\\\\n\\\\r ]+)?\\\\b(function|task)\\\\b(?:[\\\\t\\\\n\\\\r ]+\\\\b((?:st|autom)atic)\\\\b)?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.function.systemverilog"},"3":{"name":"storage.modifier.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.function.end.systemverilog"}},"name":"meta.function.systemverilog","patterns":[{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"},"3":{"patterns":[{"include":"#built-ins"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.user-defined.systemverilog"}]},"4":{"patterns":[{"include":"#modifiers"}]},"5":{"patterns":[{"include":"#selects"}]},"6":{"name":"entity.name.function.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*(?:(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(::))?([A-Z_a-z][$0-9A-Z_a-z]*(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]+)?(?:\\\\b((?:|un)signed)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])[\\\\t\\\\n\\\\r ]*)?(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*(?=[(;])"},{"include":"#keywords"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"functions":{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(?!while|for|iff??|else|casex??|casez)([A-Z_a-z][$0-9A-Z_a-z]*)(?=[\\\\t\\\\n\\\\r ]*\\\\()","name":"entity.name.function.systemverilog"},"identifiers":{"patterns":[{"match":"(?<![$0-9A-Z_a-z])[A-Z_a-z][$0-9A-Z_a-z]*(?![$0-9A-Z_a-z])","name":"variable.other.identifier.systemverilog"},{"match":"(?<=^|[\\\\t\\\\n\\\\r ])\\\\\\\\[!-~]+(?=$|[\\\\t\\\\n\\\\r ])","name":"string.regexp.identifier.systemverilog"}]},"imports":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"support.type.scope.systemverilog"},"3":{"name":"keyword.operator.scope.systemverilog"},"4":{"patterns":[{"include":"#operators"},{"include":"#identifiers"}]}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b((?:im|ex)port)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*|\\\\*)[\\\\t\\\\n\\\\r ]*(::)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|\\\\*)[\\\\t\\\\n\\\\r ]*([,;])","name":"meta.import.systemverilog"},"keywords":{"patterns":[{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(edge|negedge|posedge|cell|config|defparam|design|disable|endgenerate|endspecify|event|generate|ifnone|incdir|instance|liblist|library|noshowcancelled|pulsestyle_onevent|pulsestyle_ondetect|scalared|showcancelled|specify|specparam|use|vectored)\\\\b"},{"include":"#sv-control"},{"include":"#sv-control-begin"},{"include":"#sv-control-end"},{"include":"#sv-definition"},{"include":"#sv-cover-cross"},{"include":"#sv-std"},{"include":"#sv-option"},{"include":"#sv-local"},{"include":"#sv-rand"}]},"modifiers":{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(?:(?:un)?signed|packed|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\\\\b","name":"storage.modifier.systemverilog"},"module-binding":{"begin":"\\\\.([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*\\\\(","beginCaptures":{"1":{"name":"support.function.port.systemverilog"}},"end":"\\\\),?","name":"meta.port.binding.systemverilog","patterns":[{"include":"#constants"},{"include":"#comments"},{"include":"#operators"},{"include":"#strings"},{"include":"#constants"},{"include":"#storage-scope"},{"include":"#cast-operator"},{"include":"#system-tf"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"},{"include":"#identifiers"}]},"module-declaration":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b((?:macro)?module|interface|program|package|modport)[\\\\t\\\\n\\\\r ]+(?:((?:st|autom)atic)[\\\\t\\\\n\\\\r ]+)?([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"storage.modifier.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.module.end.systemverilog"}},"name":"meta.module.systemverilog","patterns":[{"include":"#parameters"},{"include":"#port-net-parameter"},{"include":"#imports"},{"include":"#base-grammar"},{"include":"#system-tf"},{"include":"#identifiers"}]},"module-no-parameters":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(?:(bind|pullup|pulldown)[\\\\t\\\\n\\\\r ]+(?:([A-Z_a-z][$.0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]+)?)?(\\\\b(?:and|nand|or|nor|xor|xnor|buf|not|bufif[01]|notif[01]|r?[cnp]mos|r?tran|r?tranif[01])\\\\b|[A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]+(?!intersect|and|or|throughout|within)([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*(?=\\\\(|$)(?!;)","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"},"4":{"name":"variable.other.module.systemverilog"},"5":{"patterns":[{"include":"#selects"}]}},"end":"\\\\)(?:[\\\\t\\\\n\\\\r ]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.no_parameters.systemverilog","patterns":[{"include":"#module-binding"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])(?=[\\\\t\\\\n\\\\r ]*(\\\\(|$))","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"module-parameters":{"begin":"^[\\\\t ]*\\\\b(?:(bind)[\\\\t ]+([A-Z_a-z][$.0-9A-Z_a-z]*)[\\\\t ]+)?(?!\\\\b(?:intersect|and|or|throughout|within)\\\\b)([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t ]*(?=#[^#]|$)","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":"\\\\)(?:[\\\\t\\\\n\\\\r ]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.parameters.systemverilog","patterns":[{"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])(?=[\\\\t\\\\n\\\\r ]*\\\\()","name":"variable.other.module.systemverilog"},{"include":"#module-binding"},{"include":"#parameters"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])(?=[\\\\t\\\\n\\\\r ]*$)","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"operators":{"patterns":[{"match":"\\\\b(?:dist|inside|with|intersect|and|or|throughout|within|first_match)\\\\b|:=|:/|\\\\|->|\\\\|=>|->>|\\\\*>|#-#|#=#|&&&","name":"keyword.operator.logical.systemverilog"},{"match":"@|##?|->|<->","name":"keyword.operator.channel.systemverilog"},{"match":"(?:[-%\\\\&*+/^|]|>>>?|<<<?|<?)=","name":"keyword.operator.assignment.systemverilog"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.systemverilog"},{"match":"--","name":"keyword.operator.decrement.systemverilog"},{"match":"[-+]|\\\\*\\\\*|[%*/]","name":"keyword.operator.arithmetic.systemverilog"},{"match":"!|&&|\\\\|\\\\|","name":"keyword.operator.logical.systemverilog"},{"match":"<<<?|>>>?","name":"keyword.operator.bitwise.shift.systemverilog"},{"match":"~&|~\\\\|?|\\\\^~|~\\\\^|[\\\\&^{|]|\'\\\\{|[:?}]","name":"keyword.operator.bitwise.systemverilog"},{"match":"<=?|>=?|==\\\\?|!=\\\\?|===|!==|==|!=","name":"keyword.operator.comparison.systemverilog"}]},"parameters":{"begin":"[\\\\t\\\\n\\\\r ]*(#)[\\\\t\\\\n\\\\r ]*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.channel.systemverilog"},"2":{"name":"punctuation.section.parameters.begin"}},"end":"(\\\\))[\\\\t\\\\n\\\\r ]*(?=[(;A-Z\\\\\\\\_a-z]|$)","endCaptures":{"1":{"name":"punctuation.section.parameters.end"}},"name":"meta.parameters.systemverilog","patterns":[{"include":"#port-net-parameter"},{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#strings"},{"include":"#system-tf"},{"include":"#functions"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"},{"include":"#module-binding"}]},"port-net-parameter":{"patterns":[{"captures":{"1":{"name":"support.type.direction.systemverilog"},"2":{"name":"storage.type.net.systemverilog"},"3":{"name":"support.type.scope.systemverilog"},"4":{"name":"keyword.operator.scope.systemverilog"},"5":{"patterns":[{"include":"#built-ins"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.user-defined.systemverilog"}]},"6":{"patterns":[{"include":"#modifiers"}]},"7":{"patterns":[{"include":"#selects"}]},"8":{"patterns":[{"include":"#constants"},{"include":"#identifiers"}]},"9":{"patterns":[{"include":"#selects"}]}},"match":",?[\\\\t\\\\n\\\\r ]*(?:\\\\b(output|input|inout|ref)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:\\\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(::))?(?:([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*)?(?:\\\\b((?:|un)signed)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])[\\\\t\\\\n\\\\r ]*)?(?<!(?<!#)[-!%\\\\&(*+/:<-?^|~][\\\\t\\\\n\\\\r ]*)(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*(?=[),/;=]|$)","name":"meta.port-net-parameter.declaration.systemverilog"}]},"selects":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.slice.brackets.begin"}},"end":"]","endCaptures":{"0":{"name":"punctuation.slice.brackets.end"}},"name":"meta.brackets.select.systemverilog","patterns":[{"match":"\\\\$(?![a-z])","name":"constant.language.systemverilog"},{"include":"#system-tf"},{"include":"#constants"},{"include":"#operators"},{"include":"#cast-operator"},{"include":"#storage-scope"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"variable.other.identifier.systemverilog"}]},"sequence":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.function.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(sequence)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","name":"meta.sequence.systemverilog"},"storage-scope":{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"}},"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(::)","name":"meta.scope.systemverilog"},"strings":{"patterns":[{"begin":"`?\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":"\\"`?","endCaptures":{"0":{"name":"punctuation.definition.string.end.systemverilog"}},"name":"string.quoted.double.systemverilog","patterns":[{"match":"\\\\\\\\(?:[\\"\\\\\\\\afntv]|[0-7]{3}|x\\\\h{2})","name":"constant.character.escape.systemverilog"},{"match":"%(\\\\d+\\\\$)?[- #\'+0]*[,:;_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh?|ll|[Ljltz])?[%B-HLMOPS-VXZb-hlmops-vxz]","name":"constant.character.format.placeholder.systemverilog"},{"match":"%","name":"invalid.illegal.placeholder.systemverilog"},{"include":"#fixme-todo"}]},{"begin":"(?<=include)[\\\\t\\\\n\\\\r ]*(<)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.systemverilog"}},"name":"string.quoted.other.lt-gt.include.systemverilog"}]},"sv-control":{"captures":{"1":{"name":"keyword.control.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|iff??|else|casex??|casez|default|endcase|return|break|continue|do|foreach|clocking|coverpoint|property|bins|binsof|illegal_bins|ignore_bins|randcase|matches|solve|before|expect|cross|ref|srandom|struct|chandle|tagged|extern|throughout|timeprecision|timeunit|priority|type|union|wait_order|triggered|randsequence|context|pure|wildcard|new|forkjoin|unique0??|priority)\\\\b"},"sv-control-begin":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"punctuation.definition.label.systemverilog"},"3":{"name":"entity.name.section.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(begin|fork)\\\\b(?:[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*))?","name":"meta.item.begin.systemverilog"},"sv-control-end":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"punctuation.definition.label.systemverilog"},"3":{"name":"entity.name.section.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\\\b(?:[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*))?","name":"meta.item.end.systemverilog"},"sv-cover-cross":{"captures":{"2":{"name":"entity.name.type.class.systemverilog"},"3":{"name":"keyword.operator.other.systemverilog"},"4":{"name":"keyword.control.systemverilog"}},"match":"(([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(:))?[\\\\t\\\\n\\\\r ]*(c(?:overpoint|ross))[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)","name":"meta.definition.systemverilog"},"sv-definition":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(primitive|package|constraint|interface|covergroup|program)[\\\\t\\\\n\\\\r ]+(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","name":"meta.definition.systemverilog"},"sv-local":{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(const|static|protected|virtual|localparam|parameter|local)\\\\b"},"sv-option":{"captures":{"1":{"name":"keyword.cover.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(option)\\\\."},"sv-rand":{"match":"[\\\\t\\\\n\\\\r ]*\\\\brandc??\\\\b","name":"storage.type.rand.systemverilog"},"sv-std":{"match":"\\\\b(std)\\\\b::","name":"support.class.systemverilog"},"system-tf":{"match":"(?<![$0-9A-Z_a-z])\\\\$[$0-9A-Z_a-z]+(?![$0-9A-Z_a-z])","name":"support.function.systemverilog"},"tables":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(table)\\\\b","beginCaptures":{"1":{"name":"keyword.table.systemverilog.begin"}},"end":"[\\\\t\\\\n\\\\r ]*\\\\b(endtable)\\\\b","endCaptures":{"1":{"name":"keyword.table.systemverilog.end"}},"name":"meta.table.systemverilog","patterns":[{"include":"#comments"},{"match":"\\\\b[01BFNPRXbfnprx]\\\\b","name":"constant.language.systemverilog"},{"match":"[-*?]","name":"constant.language.systemverilog"},{"captures":{"1":{"name":"constant.language.systemverilog"}},"match":"\\\\(([01?Xx]{2})\\\\)"},{"match":":","name":"punctuation.definition.label.systemverilog"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]},"typedef":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(typedef)[\\\\t\\\\n\\\\r ]+(?:([A-Z_a-z][$0-9A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]+\\\\b((?:|un)signed)\\\\b)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?)?(?=[\\\\t\\\\n\\\\r ]*[A-Z\\\\\\\\_a-z])","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"patterns":[{"include":"#built-ins"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"}]},"3":{"patterns":[{"include":"#modifiers"}]},"4":{"patterns":[{"include":"#selects"}]}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.typedef.end.systemverilog"}},"name":"meta.typedef.systemverilog","patterns":[{"include":"#identifiers"},{"include":"#selects"}]},"typedef-enum-struct-union":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(typedef)[\\\\t\\\\n\\\\r ]+(enum|struct|union(?:[\\\\t\\\\n\\\\r ]+tagged)?|class|interface[\\\\t\\\\n\\\\r ]+class)(?:[\\\\t\\\\n\\\\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][$0-9A-Z_a-z]*)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?)?(?:[\\\\t\\\\n\\\\r ]+(packed))?(?:[\\\\t\\\\n\\\\r ]+((?:|un)signed))?(?=[\\\\t\\\\n\\\\r ]*(?:\\\\{|$))","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"keyword.control.systemverilog"},"3":{"patterns":[{"include":"#built-ins"}]},"4":{"patterns":[{"include":"#selects"}]},"5":{"name":"storage.modifier.systemverilog"},"6":{"name":"storage.modifier.systemverilog"}},"end":"(?<=})[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|(?<=^|[\\\\t\\\\n\\\\r ])\\\\\\\\[!-~]+(?=$|[\\\\t\\\\n\\\\r ]))[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*[,;]","endCaptures":{"1":{"name":"storage.type.systemverilog"},"2":{"patterns":[{"include":"#selects"}]}},"name":"meta.typedef-enum-struct-union.systemverilog","patterns":[{"include":"#port-net-parameter"},{"include":"#keywords"},{"include":"#base-grammar"},{"include":"#identifiers"}]}},"scopeName":"source.systemverilog"}')),bq=[gq]});var Xx={};h1(Xx,{default:()=>vq});var fq,vq,Kx=s1(()=>{fq=Object.freeze(JSON.parse('{"displayName":"Protocol Buffer 3","fileTypes":["proto"],"name":"proto","patterns":[{"include":"#comments"},{"include":"#syntax"},{"include":"#package"},{"include":"#import"},{"include":"#optionStmt"},{"include":"#message"},{"include":"#enum"},{"include":"#service"}],"repository":{"comments":{"patterns":[{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.proto"},{"begin":"//","end":"$\\\\n?","name":"comment.line.double-slash.proto"}]},"constants":{"match":"\\\\b(true|false|max|[A-Z_]+)\\\\b","name":"constant.language.proto"},"enum":{"begin":"(enum)(\\\\s+)([A-Za-z][0-9A-Z_a-z]*)(\\\\s*)(\\\\{)?","beginCaptures":{"1":{"name":"keyword.other.proto"},"3":{"name":"entity.name.class.proto"}},"end":"}","patterns":[{"include":"#reserved"},{"include":"#optionStmt"},{"include":"#comments"},{"begin":"([A-Za-z][0-9A-Z_a-z]*)\\\\s*(=)\\\\s*(-?0[Xx]\\\\h+|-?[0-9]+)","beginCaptures":{"1":{"name":"variable.other.proto"},"2":{"name":"keyword.operator.assignment.proto"},"3":{"name":"constant.numeric.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#fieldOptions"}]}]},"field":{"begin":"\\\\s*(optional|repeated|required)?\\\\s*(\\\\.?[.\\\\w]+)\\\\s+(\\\\w+)\\\\s*(=)\\\\s*(0[Xx]\\\\h+|[0-9]+)","beginCaptures":{"1":{"name":"storage.modifier.proto"},"2":{"name":"storage.type.proto"},"3":{"name":"variable.other.proto"},"4":{"name":"keyword.operator.assignment.proto"},"5":{"name":"constant.numeric.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#fieldOptions"}]},"fieldOptions":{"begin":"\\\\[","end":"]","patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"},{"include":"#optionName"}]},"ident":{"match":"\\\\.?[A-Za-z][.0-9A-Z_a-z]*","name":"entity.name.class.proto"},"import":{"captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"keyword.other.proto"},"3":{"name":"string.quoted.double.proto.import"},"4":{"name":"punctuation.terminator.proto"}},"match":"\\\\s*(import)\\\\s+(weak|public)?\\\\s*(\\"[^\\"]+\\")\\\\s*(;)"},"kv":{"begin":"(\\\\w+)\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"punctuation.separator.key-value.proto"}},"end":"(;)|,|(?=[/A-Z_a-z}])","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"}]},"mapfield":{"begin":"\\\\s*(map)\\\\s*(<)\\\\s*(\\\\.?[.\\\\w]+)\\\\s*,\\\\s*(\\\\.?[.\\\\w]+)\\\\s*(>)\\\\s+(\\\\w+)\\\\s*(=)\\\\s*(\\\\d+)","beginCaptures":{"1":{"name":"storage.type.proto"},"2":{"name":"punctuation.definition.typeparameters.begin.proto"},"3":{"name":"storage.type.proto"},"4":{"name":"storage.type.proto"},"5":{"name":"punctuation.definition.typeparameters.end.proto"},"6":{"name":"variable.other.proto"},"7":{"name":"keyword.operator.assignment.proto"},"8":{"name":"constant.numeric.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#fieldOptions"}]},"message":{"begin":"(message|extend)(\\\\s+)([A-Z_a-z][.0-9A-Z_a-z]*)(\\\\s*)(\\\\{)?","beginCaptures":{"1":{"name":"keyword.other.proto"},"3":{"name":"entity.name.class.message.proto"}},"end":"}","patterns":[{"include":"#reserved"},{"include":"$self"},{"include":"#enum"},{"include":"#optionStmt"},{"include":"#comments"},{"include":"#oneof"},{"include":"#field"},{"include":"#mapfield"}]},"method":{"begin":"(rpc)\\\\s+([A-Za-z][0-9A-Z_a-z]*)","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"entity.name.function"}},"end":"}|(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#comments"},{"include":"#optionStmt"},{"include":"#rpcKeywords"},{"include":"#ident"}]},"number":{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)\\\\b","name":"constant.numeric.proto"},"oneof":{"begin":"(oneof)\\\\s+([A-Za-z][0-9A-Z_a-z]*)\\\\s*\\\\{?","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"variable.other.proto"}},"end":"}","patterns":[{"include":"#optionStmt"},{"include":"#comments"},{"include":"#field"}]},"optionName":{"captures":{"1":{"name":"support.other.proto"},"2":{"name":"support.other.proto"},"3":{"name":"support.other.proto"}},"match":"(\\\\w+|\\\\(\\\\w+(\\\\.\\\\w+)*\\\\))(\\\\.\\\\w+)*"},"optionStmt":{"begin":"(option)\\\\s+(\\\\w+|\\\\(\\\\w+(\\\\.\\\\w+)*\\\\))(\\\\.\\\\w+)*\\\\s*(=)","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"support.other.proto"},"3":{"name":"support.other.proto"},"4":{"name":"support.other.proto"},"5":{"name":"keyword.operator.assignment.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"}]},"package":{"captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"string.unquoted.proto.package"},"3":{"name":"punctuation.terminator.proto"}},"match":"\\\\s*(package)\\\\s+([.\\\\w]+)\\\\s*(;)"},"reserved":{"begin":"(reserved)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"captures":{"1":{"name":"constant.numeric.proto"},"3":{"name":"keyword.other.proto"},"4":{"name":"constant.numeric.proto"}},"match":"(\\\\d+)(\\\\s+(to)\\\\s+(\\\\d+))?"},{"include":"#string"}]},"rpcKeywords":{"match":"\\\\b(stream|returns)\\\\b","name":"keyword.other.proto"},"service":{"begin":"(service)\\\\s+([A-Za-z][.0-9A-Z_a-z]*)\\\\s*\\\\{?","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"entity.name.class.message.proto"}},"end":"}","patterns":[{"include":"#comments"},{"include":"#optionStmt"},{"include":"#method"}]},"storagetypes":{"match":"\\\\b(double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\\\\b","name":"storage.type.proto"},"string":{"match":"([\\"\'])(?:\\\\\\\\.|[^\\\\\\\\])*?\\\\1","name":"string.quoted.double.proto"},"subMsgOption":{"begin":"\\\\{","end":"}","patterns":[{"include":"#kv"},{"include":"#comments"}]},"syntax":{"captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"keyword.operator.assignment.proto"},"3":{"name":"string.quoted.double.proto.syntax"},"4":{"name":"punctuation.terminator.proto"}},"match":"\\\\s*(syntax)\\\\s*(=)\\\\s*(\\"proto[23]\\")\\\\s*(;)"}},"scopeName":"source.proto","aliases":["protobuf"]}')),vq=[fq]});var Yx={};h1(Yx,{default:()=>_q});var yq,_q,Jx=s1(()=>{yq=Object.freeze(JSON.parse('{"displayName":"HashiCorp HCL","fileTypes":["hcl"],"name":"hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\\\.(?!\\\\*)","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"end":"\\\\p{alpha}[-\\\\w]*|\\\\d*","endCaptures":{"0":{"patterns":[{"match":"(?!null|false|true)\\\\p{alpha}[-\\\\w]*","name":"variable.other.member.hcl"},{"match":"\\\\d+","name":"constant.numeric.integer.hcl"}]}}},"attribute_definition":{"captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}},"match":"(\\\\()?\\\\b((?!(?:null|false|true)\\\\b)\\\\p{alpha}[-_[:alnum:]]*)(\\\\))?\\\\s*(=(?![=>]))\\\\s*","name":"variable.declaration.hcl"},"attribute_splat":{"begin":"\\\\.","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"end":"\\\\*","endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"begin":"(\\\\w[-\\\\w]*)(([^\\\\n\\\\r\\\\S]+(\\\\w[-_\\\\w]*|\\"[^\\\\n\\\\r\\"]*\\"))*)[^\\\\n\\\\r\\\\S]*(\\\\{)","beginCaptures":{"1":{"patterns":[{"match":"\\\\b(?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*\\\\b","name":"entity.name.type.hcl"}]},"2":{"patterns":[{"match":"\\"[^\\\\n\\\\r\\"]*\\"","name":"variable.other.enummember.hcl"},{"match":"\\\\p{alpha}[-_[:alnum:]]*","name":"variable.other.enummember.hcl"}]},"5":{"name":"punctuation.section.block.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}},"name":"meta.block.hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#expressions"},{"include":"#block"}]},"block_inline_comments":{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"\\\\*/","name":"comment.block.hcl"},"brackets":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}},"patterns":[{"match":"\\\\*","name":"keyword.operator.splat.hcl"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}]},"char_escapes":{"match":"\\\\\\\\(?:[\\"\\\\\\\\nrt]|u(\\\\h{8}|\\\\h{4}))","name":"constant.character.escape.hcl"},"comma":{"match":",","name":"punctuation.separator.hcl"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"begin":"//","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"$\\\\n?","name":"comment.line.double-slash.hcl"},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"match":"\\\\bin\\\\b","name":"keyword.operator.word.hcl"},{"match":"\\\\bif\\\\b","name":"keyword.control.conditional.hcl"},{"match":":","name":"keyword.operator.hcl"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"begin":"([-:\\\\w]+)(\\\\()","beginCaptures":{"1":{"patterns":[{"match":"\\\\b\\\\p{alpha}[-_\\\\w]*::(\\\\p{alpha}[-_\\\\w]*::)?\\\\p{alpha}[-_\\\\w]*\\\\b","name":"support.function.namespaced.hcl"},{"match":"\\\\b\\\\p{alpha}[-_\\\\w]*\\\\b","name":"support.function.builtin.hcl"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}},"name":"meta.function-call.hcl","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}]},"hash_line_comments":{"begin":"#","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"$\\\\n?","name":"comment.line.number-sign.hcl"},"hcl_type_keywords":{"match":"\\\\b(any|string|number|bool|list|set|map|tuple|object)\\\\b","name":"storage.type.hcl"},"heredoc":{"begin":"(<<-?)\\\\s*(\\\\w+)\\\\s*$","beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"end":"^\\\\s*\\\\2\\\\s*$","endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}},"name":"string.unquoted.heredoc.hcl","patterns":[{"include":"#string_interpolation"}]},"inline_for_expression":{"captures":{"1":{"name":"keyword.control.hcl"},"2":{"patterns":[{"match":"=>","name":"storage.type.function.hcl"},{"include":"#for_expression_body"}]}},"match":"(for)\\\\b(.*)\\\\n"},"inline_if_expression":{"begin":"(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}},"end":"\\\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"language_constants":{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.hcl"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"}]},"local_identifiers":{"match":"\\\\b(?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*\\\\b","name":"variable.other.readwrite.hcl"},"numeric_literals":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.exponent.hcl"}},"match":"\\\\b\\\\d+([Ee][-+]?)\\\\d+\\\\b","name":"constant.numeric.float.hcl"},{"captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}},"match":"\\\\b\\\\d+(\\\\.)\\\\d+(?:([Ee][-+]?)\\\\d+)?\\\\b","name":"constant.numeric.float.hcl"},{"match":"\\\\b\\\\d+\\\\b","name":"constant.numeric.integer.hcl"}]},"object_for_expression":{"begin":"(\\\\{)\\\\s?(for)\\\\b","beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}},"patterns":[{"match":"=>","name":"storage.type.function.hcl"},{"include":"#for_expression_body"}]},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}},"name":"meta.braces.hcl","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl"}},"match":"\\\\b((?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*)\\\\s*(=(?!=))\\\\s*"},{"captures":{"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}},"match":"^\\\\s*((\\").*(\\"))\\\\s*(=)\\\\s*"},{"begin":"^\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"end":"(\\\\))\\\\s*([:=])\\\\s*","endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}},"name":"meta.mapping.key.hcl","patterns":[{"include":"#attribute_access"},{"include":"#attribute_splat"}]},{"include":"#object_key_values"}]},"operators":{"patterns":[{"match":">=","name":"keyword.operator.hcl"},{"match":"<=","name":"keyword.operator.hcl"},{"match":"==","name":"keyword.operator.hcl"},{"match":"!=","name":"keyword.operator.hcl"},{"match":"\\\\+","name":"keyword.operator.arithmetic.hcl"},{"match":"-","name":"keyword.operator.arithmetic.hcl"},{"match":"\\\\*","name":"keyword.operator.arithmetic.hcl"},{"match":"/","name":"keyword.operator.arithmetic.hcl"},{"match":"%","name":"keyword.operator.arithmetic.hcl"},{"match":"&&","name":"keyword.operator.logical.hcl"},{"match":"\\\\|\\\\|","name":"keyword.operator.logical.hcl"},{"match":"!","name":"keyword.operator.logical.hcl"},{"match":">","name":"keyword.operator.hcl"},{"match":"<","name":"keyword.operator.hcl"},{"match":"\\\\?","name":"keyword.operator.hcl"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.hcl"},{"match":":","name":"keyword.operator.hcl"},{"match":"=>","name":"keyword.operator.hcl"}]},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}},"patterns":[{"include":"#comments"},{"include":"#expressions"}]},"string_interpolation":{"begin":"(?<![$%])([$%]\\\\{)","beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}},"name":"meta.interpolation.hcl","patterns":[{"match":"~\\\\s","name":"keyword.operator.template.left.trim.hcl"},{"match":"\\\\s~","name":"keyword.operator.template.right.trim.hcl"},{"match":"\\\\b(if|else|endif|for|in|endfor)\\\\b","name":"keyword.control.hcl"},{"include":"#expressions"},{"include":"#local_identifiers"}]},"string_literals":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}},"name":"string.quoted.double.hcl","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}]},"tuple_for_expression":{"begin":"(\\\\[)\\\\s?(for)\\\\b","beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}},"patterns":[{"include":"#for_expression_body"}]}},"scopeName":"source.hcl"}')),_q=[yq]});var wq,Qx,ek=s1(()=>{wq=Object.freeze(JSON.parse('{"fileTypes":[],"injectTo":["text.html.markdown"],"injectionSelector":"L:text.html.markdown","name":"markdown-nix","patterns":[{"include":"#nix-code-block"}],"repository":{"nix-code-block":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(nix)(\\\\s+[^`~]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"5":{"name":"fenced_code.block.language"},"6":{"name":"fenced_code.block.language.attributes"}},"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.nix","patterns":[{"include":"source.nix"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]}},"scopeName":"markdown.nix.codeblock"}')),Qx=[wq]});var tk={};h1(tk,{default:()=>kq});var xq,kq,nk=s1(()=>{ek();xq=Object.freeze(JSON.parse('{"displayName":"Nix","fileTypes":["nix"],"name":"nix","patterns":[{"include":"#expression"}],"repository":{"attribute-bind":{"patterns":[{"include":"#attribute-name"},{"include":"#attribute-bind-from-equals"}]},"attribute-bind-from-equals":{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.bind.nix"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.bind.nix"}},"patterns":[{"include":"#expression"}]},"attribute-inherit":{"begin":"\\\\binherit\\\\b","beginCaptures":{"0":{"name":"keyword.other.inherit.nix"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.inherit.nix"}},"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.function.arguments.nix"}},"end":"(?=;)","patterns":[{"begin":"\\\\)","beginCaptures":{"0":{"name":"punctuation.section.function.arguments.nix"}},"end":"(?=;)","patterns":[{"include":"#bad-reserved"},{"include":"#attribute-name-single"},{"include":"#others"}]},{"include":"#expression"}]},{"begin":"(?=[A-Z_a-z])","end":"(?=;)","patterns":[{"include":"#bad-reserved"},{"include":"#attribute-name-single"},{"include":"#others"}]},{"include":"#others"}]},"attribute-name":{"patterns":[{"match":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","name":"entity.other.attribute-name.multipart.nix"},{"match":"\\\\."},{"include":"#string-quoted"},{"include":"#interpolation"}]},"attribute-name-single":{"match":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","name":"entity.other.attribute-name.single.nix"},"attrset-contents":{"patterns":[{"include":"#attribute-inherit"},{"include":"#bad-reserved"},{"include":"#attribute-bind"},{"include":"#others"}]},"attrset-definition":{"begin":"(?=\\\\{)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}},"end":"(})","endCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}},"patterns":[{"include":"#attrset-contents"}]},{"begin":"(?<=})","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]}]},"attrset-definition-brace-opened":{"patterns":[{"begin":"(?<=})","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"(?=.?)","end":"}","endCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}},"patterns":[{"include":"#attrset-contents"}]}]},"attrset-for-sure":{"patterns":[{"begin":"(?=\\\\brec\\\\b)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\brec\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=\\\\{)","patterns":[{"include":"#others"}]},{"include":"#attrset-definition"},{"include":"#others"}]},{"begin":"(?=\\\\{\\\\s*(}|[^,?]*([;=])))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attrset-definition"},{"include":"#others"}]}]},"attrset-or-function":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.attrset-or-function.nix"}},"end":"(?=([]);}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"(?=(\\\\s*}|\\"|\\\\binherit\\\\b|\\\\$\\\\{|\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*(\\\\s*\\\\.|\\\\s*=[^=])))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attrset-definition-brace-opened"}]},{"begin":"(?=(\\\\.\\\\.\\\\.|\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*\\\\s*[,?]))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition-brace-opened"}]},{"include":"#bad-reserved"},{"begin":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"variable.parameter.function.maybe.nix"}},"end":"(?=([]);}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"(?=\\\\.)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attrset-definition-brace-opened"}]},{"begin":"\\\\s*(,)","beginCaptures":{"1":{"name":"keyword.operator.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition-brace-opened"}]},{"begin":"(?==)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attribute-bind-from-equals"},{"include":"#attrset-definition-brace-opened"}]},{"begin":"(?=\\\\?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-parameter-default"},{"begin":",","beginCaptures":{"0":{"name":"keyword.operator.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition-brace-opened"}]}]},{"include":"#others"}]},{"include":"#others"}]},"bad-reserved":{"match":"(?<![-\'\\\\w])(if|then|else|assert|with|let|in|rec|inherit)(?![-\'\\\\w])","name":"invalid.illegal.reserved.nix"},"comment":{"patterns":[{"begin":"/\\\\*([^*]|\\\\*[^/])*","end":"\\\\*/","name":"comment.block.nix"},{"begin":"#","end":"$","name":"comment.line.number-sign.nix"}]},"constants":{"patterns":[{"begin":"\\\\b(builtins|true|false|null)\\\\b","beginCaptures":{"0":{"name":"constant.language.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"\\\\b(scopedImport|import|isNull|abort|throw|baseNameOf|dirOf|removeAttrs|map|toString|derivationStrict|derivation)\\\\b","beginCaptures":{"0":{"name":"support.function.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"\\\\b[0-9]+\\\\b","beginCaptures":{"0":{"name":"constant.numeric.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]}]},"expression":{"patterns":[{"include":"#parens-and-cont"},{"include":"#list-and-cont"},{"include":"#string"},{"include":"#interpolation"},{"include":"#with-assert"},{"include":"#function-for-sure"},{"include":"#attrset-for-sure"},{"include":"#attrset-or-function"},{"include":"#let"},{"include":"#if"},{"include":"#operator-unary"},{"include":"#operator-binary"},{"include":"#constants"},{"include":"#bad-reserved"},{"include":"#parameter-name-and-cont"},{"include":"#others"}]},"expression-cont":{"begin":"(?=.?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#parens"},{"include":"#list"},{"include":"#string"},{"include":"#interpolation"},{"include":"#function-for-sure"},{"include":"#attrset-for-sure"},{"include":"#attrset-or-function"},{"include":"#operator-binary"},{"include":"#constants"},{"include":"#bad-reserved"},{"include":"#parameter-name"},{"include":"#others"}]},"function-body":{"begin":"(@\\\\s*([A-Z_a-z][-\'0-9A-Z_a-z]*)\\\\s*)?(:)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression"}]},"function-body-from-colon":{"begin":"(:)","beginCaptures":{"0":{"name":"punctuation.definition.function.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression"}]},"function-contents":{"patterns":[{"include":"#bad-reserved"},{"include":"#function-parameter"},{"include":"#others"}]},"function-definition":{"begin":"(?=.?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-body-from-colon"},{"begin":"(?=.?)","end":"(?=:)","patterns":[{"begin":"\\\\b([A-Z_a-z][-\'0-9A-Z_a-z]*)","beginCaptures":{"0":{"name":"variable.parameter.function.4.nix"}},"end":"(?=:)","patterns":[{"begin":"@","end":"(?=:)","patterns":[{"include":"#function-header-until-colon-no-arg"},{"include":"#others"}]},{"include":"#others"}]},{"begin":"(?=\\\\{)","end":"(?=:)","patterns":[{"include":"#function-header-until-colon-with-arg"}]}]},{"include":"#others"}]},"function-definition-brace-opened":{"begin":"(?=.?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-body-from-colon"},{"begin":"(?=.?)","end":"(?=:)","patterns":[{"include":"#function-header-close-brace-with-arg"},{"begin":"(?=.?)","end":"(?=})","patterns":[{"include":"#function-contents"}]}]},{"include":"#others"}]},"function-for-sure":{"patterns":[{"begin":"(?=(\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*\\\\s*[:@]|\\\\{[^\\"\'}]*}\\\\s*:|\\\\{[^\\"#\'/=}]*[,?]))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition"}]}]},"function-header-close-brace-no-arg":{"begin":"}","beginCaptures":{"0":{"name":"punctuation.definition.entity.function.nix"}},"end":"(?=:)","patterns":[{"include":"#others"}]},"function-header-close-brace-with-arg":{"begin":"}","beginCaptures":{"0":{"name":"punctuation.definition.entity.function.nix"}},"end":"(?=:)","patterns":[{"include":"#function-header-terminal-arg"},{"include":"#others"}]},"function-header-open-brace":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.entity.function.2.nix"}},"end":"(?=})","patterns":[{"include":"#function-contents"}]},"function-header-terminal-arg":{"begin":"(?=@)","end":"(?=:)","patterns":[{"begin":"@","end":"(?=:)","patterns":[{"begin":"\\\\b([A-Z_a-z][-\'0-9A-Z_a-z]*)","end":"(?=:)","name":"variable.parameter.function.3.nix"},{"include":"#others"}]},{"include":"#others"}]},"function-header-until-colon-no-arg":{"begin":"(?=\\\\{)","end":"(?=:)","patterns":[{"include":"#function-header-open-brace"},{"include":"#function-header-close-brace-no-arg"}]},"function-header-until-colon-with-arg":{"begin":"(?=\\\\{)","end":"(?=:)","patterns":[{"include":"#function-header-open-brace"},{"include":"#function-header-close-brace-with-arg"}]},"function-parameter":{"patterns":[{"begin":"(\\\\.\\\\.\\\\.)","end":"(,|(?=}))","name":"keyword.operator.nix","patterns":[{"include":"#others"}]},{"begin":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"variable.parameter.function.1.nix"}},"end":"(,|(?=}))","endCaptures":{"0":{"name":"keyword.operator.nix"}},"patterns":[{"include":"#whitespace"},{"include":"#comment"},{"include":"#function-parameter-default"},{"include":"#expression"}]},{"include":"#others"}]},"function-parameter-default":{"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.nix"}},"end":"(?=[,}])","patterns":[{"include":"#expression"}]},"if":{"begin":"(?=\\\\bif\\\\b)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\bif\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"\\\\bth(?=en\\\\b)","endCaptures":{"0":{"name":"keyword.other.nix"}},"patterns":[{"include":"#expression"}]},{"begin":"(?<=th)en\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"\\\\bel(?=se\\\\b)","endCaptures":{"0":{"name":"keyword.other.nix"}},"patterns":[{"include":"#expression"}]},{"begin":"(?<=el)se\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","endCaptures":{"0":{"name":"keyword.other.nix"}},"patterns":[{"include":"#expression"}]}]},"illegal":{"match":".","name":"invalid.illegal"},"interpolation":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nix"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.nix"}},"name":"meta.embedded","patterns":[{"include":"#expression"}]},"let":{"begin":"(?=\\\\blet\\\\b)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\blet\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=([]),;}]|\\\\b(in|else|then)\\\\b))","patterns":[{"begin":"(?=\\\\{)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\{","end":"}","patterns":[{"include":"#attrset-contents"}]},{"begin":"(^|(?<=}))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"include":"#others"}]},{"include":"#attrset-contents"},{"include":"#others"}]},{"begin":"\\\\bin\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression"}]}]},"list":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.list.nix"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.list.nix"}},"patterns":[{"include":"#expression"}]},"list-and-cont":{"begin":"(?=\\\\[)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#list"},{"include":"#expression-cont"}]},"operator-binary":{"match":"(\\\\bor\\\\b|\\\\.|\\\\|>|<\\\\||==|!=?|<=?|>=?|&&|\\\\|\\\\||->|//|\\\\?|\\\\+\\\\+|[-*]|/(?=([^*]|$))|\\\\+)","name":"keyword.operator.nix"},"operator-unary":{"match":"([-!])","name":"keyword.operator.unary.nix"},"others":{"patterns":[{"include":"#whitespace"},{"include":"#comment"},{"include":"#illegal"}]},"parameter-name":{"captures":{"0":{"name":"variable.parameter.name.nix"}},"match":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*"},"parameter-name-and-cont":{"begin":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"variable.parameter.name.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.expression.nix"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.expression.nix"}},"patterns":[{"include":"#expression"}]},"parens-and-cont":{"begin":"(?=\\\\()","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#parens"},{"include":"#expression-cont"}]},"string":{"patterns":[{"begin":"(?=\'\')","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\'\'","beginCaptures":{"0":{"name":"punctuation.definition.string.other.start.nix"}},"end":"\'\'(?![$\']|\\\\\\\\.)","endCaptures":{"0":{"name":"punctuation.definition.string.other.end.nix"}},"name":"string.quoted.other.nix","patterns":[{"match":"\'\'([$\']|\\\\\\\\.)","name":"constant.character.escape.nix"},{"include":"#interpolation"}]},{"include":"#expression-cont"}]},{"begin":"(?=\\")","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#string-quoted"},{"include":"#expression-cont"}]},{"begin":"(~?[-+.0-9A-Z_a-z]*(/[-+.0-9A-Z_a-z]+)+)","beginCaptures":{"0":{"name":"string.unquoted.path.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"(<[-+.0-9A-Z_a-z]+(/[-+.0-9A-Z_a-z]+)*>)","beginCaptures":{"0":{"name":"string.unquoted.spath.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"([A-Za-z][-+.0-9A-Za-z]*:[!$-\'*-:=?-Z_a-z~]+)","beginCaptures":{"0":{"name":"string.unquoted.url.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]}]},"string-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.double.start.nix"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.double.end.nix"}},"name":"string.quoted.double.nix","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.nix"},{"include":"#interpolation"}]},"whitespace":{"match":"\\\\s+"},"with-assert":{"begin":"(?<![-\'\\\\w])(with|assert)(?![-\'\\\\w])","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":";","patterns":[{"include":"#expression"}]}},"scopeName":"source.nix","embeddedLangs":["markdown-nix"]}')),kq=[...Qx,xq]});var zq,ak,ik=s1(()=>{zq=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":"text.html.vue"}]}},"scopeName":"markdown.vue.codeblock"}')),ak=[zq]});var Cq,rk,sk=s1(()=>{Cq=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":"text.html.vue#vue-directives"}],"scopeName":"vue.directives"}')),rk=[Cq]});var Aq,ck,ok=s1(()=>{Aq=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":"text.html.vue#vue-interpolations"}],"scopeName":"vue.interpolations"}')),ck=[Aq]});var Mq,lk,pk=s1(()=>{me();Mq=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"]}')),lk=[...L0,Mq]});var uk={};h1(uk,{default:()=>Lq});var $q,Lq,mk=s1(()=>{We();me();K6();J6();_4();Qo();ik();sk();ok();pk();$q=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":"(?!template(?![-0-:A-Za-z]))([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"\']?)html\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"contentName":"text.html.derivative","end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"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":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.ts","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)","name":"source.ts","patterns":[{"include":"source.ts"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"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":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.tsx","patterns":[{"include":"source.tsx"}]},{"begin":"(?<=>)","name":"source.tsx","patterns":[{"include":"source.tsx"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"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":"text.html.vue","patterns":[{"include":"text.html.vue"}]}]},{"begin":"(template)(?=\\\\s|/?>)","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[>\\\\s])","name":"text.html.derivative","patterns":[{"include":"#html-stuff"}]}]},{"begin":"(script)(?=\\\\s|/?>)","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":"#multi-line-script-tag-stuff"}]},{"begin":"(style)(?=\\\\s|/?>)","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":"#multi-line-style-tag-stuff"}]},{"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":{"capitalized-tag":{"begin":"(<)([A-Z][-0-:A-Za-z]*)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.html.vue"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag.structure.$2.start.html.vue","patterns":[{"begin":"\\\\G","end":"(?=/?>)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]}]},"html-stuff":{"patterns":[{"include":"#template-tag"},{"include":"#capitalized-tag"},{"include":"text.html.derivative"},{"include":"text.html.basic"}]},"multi-line-script-tag-stuff":{"begin":"\\\\G","end":"(?=<\/script[>\\\\s])","patterns":[{"begin":"\\\\G(?!\\\\blang\\\\s*=\\\\s*[\\"\']?(?:tsx??|jsx|coffee)\\\\b)","end":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?(?:tsx??|jsx|coffee)\\\\b)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?ts\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.ts","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)","name":"source.ts","patterns":[{"include":"source.ts"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?tsx\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.tsx","patterns":[{"include":"source.tsx"}]},{"begin":"(?<=>)","name":"source.tsx","patterns":[{"include":"source.tsx"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?jsx\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\/script[>\\\\s])","name":"source.js.jsx","patterns":[{"include":"source.js.jsx"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?coffee\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\/script[>\\\\s])","name":"source.coffee","patterns":[{"include":"source.coffee"}]}]},{"begin":"(?<=>)","end":"(?=<\/script[>\\\\s])","name":"source.js","patterns":[{"include":"source.js"}]}]},"multi-line-style-tag-stuff":{"begin":"\\\\G","end":"(?=</style[>\\\\s])","patterns":[{"begin":"\\\\G(?!\\\\blang\\\\s*=\\\\s*[\\"\']?(?:scss|stylus|less|postcss)\\\\b)","end":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?(?:scss|stylus|less|postcss)\\\\b)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?scss\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css.scss","patterns":[{"include":"source.css.scss"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?stylus\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.stylus","patterns":[{"include":"source.stylus"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?less\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css.less","patterns":[{"include":"source.css.less"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?postcss\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.postcss","patterns":[{"include":"source.postcss"}]}]},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css","patterns":[{"include":"source.css"}]}]},"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)(?=[>\\\\s]))","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)(?=\\\\s|/?>)","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)(?=[>\\\\s]))","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":"text.html.vue","embeddedLangs":["css","javascript","typescript","json","html","html-derivative","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"]}')),Lq=[...e2,...L0,...r4,...c4,...Y2,...a9,...ak,...rk,...ck,...lk,$q]});var Sq,dk,hk=s1(()=>{Sq=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"}')),dk=[Sq]});var gk={};h1(gk,{default:()=>Zq});var Eq,Zq,bk=s1(()=>{me();K6();We();hk();Eq=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":"(?<=>)(?=[^\\\\n]+</(s(?:cript|tyle))[>\\\\s])","contentName":"source.ts","end":"(?=</(s(?:cript|tyle))[>\\\\s])","name":"meta.embedded.block.svelte","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)(?!</)","contentName":"source.ts","name":"meta.embedded.block.svelte","patterns":[{"include":"source.ts"}],"while":"^(?!\\\\s*</(s(?:cript|tyle))[>\\\\s])"}]},"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-comments"},{"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-comments":{"patterns":[{"match":"//.*$","name":"comment.line.double-slash.svelte"},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.svelte"}]},"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"]}')),Zq=[...L0,...r4,...e2,...dk,Eq]});var fk={};h1(fk,{default:()=>jq});var Fq,jq,vk=s1(()=>{Fq=Object.freeze(JSON.parse('{"displayName":"Makefile","name":"make","patterns":[{"include":"#comment"},{"include":"#variables"},{"include":"#variable-assignment"},{"include":"#directives"},{"include":"#recipe"},{"include":"#target"}],"repository":{"another-variable-braces":{"patterns":[{"begin":"(?<=\\\\{)(?!})","end":"(?=}|((?<!\\\\\\\\)\\\\n))","name":"variable.other.makefile","patterns":[{"include":"#variables"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"another-variable-parentheses":{"patterns":[{"begin":"(?<=\\\\()(?!\\\\))","end":"(?=\\\\)|((?<!\\\\\\\\)\\\\n))","name":"variable.other.makefile","patterns":[{"include":"#variables"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"braces-interpolation":{"begin":"\\\\{","end":"}","patterns":[{"include":"#variables"},{"include":"#interpolation"}]},"builtin-variable-braces":{"patterns":[{"match":"(?<=\\\\{)(MAKEFILES|VPATH|SHELL|MAKESHELL|MAKE|MAKELEVEL|MAKEFLAGS|MAKECMDGOALS|CURDIR|SUFFIXES|\\\\.LIBPATTERNS)(?=\\\\s*})","name":"variable.language.makefile"}]},"builtin-variable-parentheses":{"patterns":[{"match":"(?<=\\\\()(MAKEFILES|VPATH|SHELL|MAKESHELL|MAKE|MAKELEVEL|MAKEFLAGS|MAKECMDGOALS|CURDIR|SUFFIXES|\\\\.LIBPATTERNS)(?=\\\\s*\\\\))","name":"variable.language.makefile"}]},"comma":{"match":",","name":"punctuation.separator.delimeter.comma.makefile"},"comment":{"begin":"(^ +)?((?<!\\\\\\\\)(\\\\\\\\\\\\\\\\)*)(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.makefile"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.makefile"}},"end":"(?=[^\\\\\\\\])$","name":"comment.line.number-sign.makefile","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"directives":{"patterns":[{"begin":"^ *([-s]?include)\\\\b","beginCaptures":{"1":{"name":"keyword.control.include.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]},{"begin":"^ *(vpath)\\\\b","beginCaptures":{"1":{"name":"keyword.control.vpath.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]},{"begin":"^\\\\s*(?:(override)\\\\s*)?(define)\\\\s*(\\\\S+)\\\\s*([+:?]??=)?(?=\\\\s)","captures":{"1":{"name":"keyword.control.override.makefile"},"2":{"name":"keyword.control.define.makefile"},"3":{"name":"variable.other.makefile"},"4":{"name":"punctuation.separator.key-value.makefile"}},"end":"^\\\\s*(endef)\\\\b","name":"meta.scope.conditional.makefile","patterns":[{"begin":"\\\\G(?!\\\\n)","end":"^","patterns":[{"include":"#comment"}]},{"include":"#variables"},{"include":"#directives"}]},{"begin":"^ *(export)\\\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variable-assignment"},{"match":"\\\\S+","name":"variable.other.makefile"}]},{"begin":"^ *(override|private)\\\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variable-assignment"}]},{"begin":"^ *(un(?:export|define))\\\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"match":"\\\\S+","name":"variable.other.makefile"}]},{"begin":"^\\\\s*(ifn??(?:eq|def))(?=\\\\s)","captures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^\\\\s*(endif)\\\\b","name":"meta.scope.conditional.makefile","patterns":[{"begin":"\\\\G","end":"^","name":"meta.scope.condition.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#comment"}]},{"begin":"^\\\\s*else(?=\\\\s)\\\\s*(ifn??(?:eq|def))*(?=\\\\s)","beginCaptures":{"0":{"name":"keyword.control.else.makefile"}},"end":"^","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#comment"}]},{"include":"$self"}]}]},"flavor-variable-braces":{"patterns":[{"begin":"(?<=\\\\{)(origin|flavor)\\\\s(?=[^}\\\\s]+\\\\s*})","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"contentName":"variable.other.makefile","end":"(?=})","name":"meta.scope.function-call.makefile","patterns":[{"include":"#variables"}]}]},"flavor-variable-parentheses":{"patterns":[{"begin":"(?<=\\\\()(origin|flavor)\\\\s(?=[^)\\\\s]+\\\\s*\\\\))","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"contentName":"variable.other.makefile","end":"(?=\\\\))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#variables"}]}]},"function-variable-braces":{"patterns":[{"begin":"(?<=\\\\{)(subst|patsubst|strip|findstring|filter(-out)?|sort|word(list)?|firstword|lastword|dir|notdir|suffix|basename|addsuffix|addprefix|join|wildcard|realpath|abspath|info|error|warning|shell|foreach|if|or|and|call|eval|value|file|guile)\\\\s","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"end":"(?=}|((?<!\\\\\\\\)\\\\n))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#interpolation"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"function-variable-parentheses":{"patterns":[{"begin":"(?<=\\\\()(subst|patsubst|strip|findstring|filter(-out)?|sort|word(list)?|firstword|lastword|dir|notdir|suffix|basename|addsuffix|addprefix|join|wildcard|realpath|abspath|info|error|warning|shell|foreach|if|or|and|call|eval|value|file|guile)\\\\s","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"end":"(?=\\\\)|((?<!\\\\\\\\)\\\\n))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#interpolation"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"interpolation":{"patterns":[{"include":"#parentheses-interpolation"},{"include":"#braces-interpolation"}]},"parentheses-interpolation":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#variables"},{"include":"#interpolation"}]},"recipe":{"begin":"^\\\\t([-+@]*)","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"[^\\\\\\\\]$","name":"meta.scope.recipe.makefile","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"include":"#variables"}]},"simple-variable":{"patterns":[{"match":"\\\\$[^(){}]","name":"variable.language.makefile"}]},"target":{"begin":"^(?!\\\\t)([^:]*)(:)(?!=)","beginCaptures":{"1":{"patterns":[{"captures":{"1":{"name":"support.function.target.$1.makefile"}},"match":"^\\\\s*(\\\\.(PHONY|SUFFIXES|DEFAULT|PRECIOUS|INTERMEDIATE|SECONDARY|SECONDEXPANSION|DELETE_ON_ERROR|IGNORE|LOW_RESOLUTION_TIME|SILENT|EXPORT_ALL_VARIABLES|NOTPARALLEL|ONESHELL|POSIX))\\\\s*$"},{"begin":"(?=\\\\S)","end":"(?=\\\\s|$)","name":"entity.name.function.target.makefile","patterns":[{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]}]},"2":{"name":"punctuation.separator.key-value.makefile"}},"end":"[^\\\\\\\\]$","name":"meta.scope.target.makefile","patterns":[{"begin":"\\\\G","end":"(?=[^\\\\\\\\])$","name":"meta.scope.prerequisites.makefile","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"include":"#comment"},{"include":"#variables"}]}]},"variable-assignment":{"begin":"(^ *|\\\\G\\\\s*)([^#:=\\\\s]+)\\\\s*((?:(?<![!+:?])|[!+:?])=)","beginCaptures":{"2":{"name":"variable.other.makefile","patterns":[{"include":"#variables"}]},"3":{"name":"punctuation.separator.key-value.makefile"}},"end":"\\\\n","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"include":"#comment"},{"include":"#variables"}]},"variable-braces":{"patterns":[{"begin":"\\\\$\\\\{","captures":{"0":{"name":"punctuation.definition.variable.makefile"}},"end":"}|((?<!\\\\\\\\)\\\\n)","name":"string.interpolated.makefile","patterns":[{"include":"#variables"},{"include":"#builtin-variable-braces"},{"include":"#function-variable-braces"},{"include":"#flavor-variable-braces"},{"include":"#another-variable-braces"}]}]},"variable-parentheses":{"patterns":[{"begin":"\\\\$\\\\(","captures":{"0":{"name":"punctuation.definition.variable.makefile"}},"end":"\\\\)|((?<!\\\\\\\\)\\\\n)","name":"string.interpolated.makefile","patterns":[{"include":"#variables"},{"include":"#builtin-variable-parentheses"},{"include":"#function-variable-parentheses"},{"include":"#flavor-variable-parentheses"},{"include":"#another-variable-parentheses"}]}]},"variables":{"patterns":[{"include":"#simple-variable"},{"include":"#variable-parentheses"},{"include":"#variable-braces"}]}},"scopeName":"source.makefile","aliases":["makefile"]}')),jq=[Fq]});var yk={};h1(yk,{default:()=>Nq});var Hq,Nq,_k=s1(()=>{Hq=Object.freeze(JSON.parse('{"displayName":"Groovy","name":"groovy","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.groovy"}},"match":"^(#!).+$\\\\n","name":"comment.line.hashbang.groovy"},{"captures":{"1":{"name":"keyword.other.package.groovy"},"2":{"name":"storage.modifier.package.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"match":"^\\\\s*(package)\\\\b(?:\\\\s*([^ $;]+)\\\\s*(;)?)?","name":"meta.package.groovy"},{"begin":"(import static)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.import.static.groovy"}},"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"storage.modifier.import.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"contentName":"storage.modifier.import.groovy","end":"\\\\s*(?:$|(?=%>)(;))","endCaptures":{"1":{"name":"punctuation.terminator.groovy"}},"name":"meta.import.groovy","patterns":[{"match":"\\\\.","name":"punctuation.separator.groovy"},{"match":"\\\\s","name":"invalid.illegal.character_not_allowed_here.groovy"}]},{"begin":"(import)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.import.groovy"}},"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"storage.modifier.import.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"contentName":"storage.modifier.import.groovy","end":"\\\\s*(?:$|(?=%>)|(;))","endCaptures":{"1":{"name":"punctuation.terminator.groovy"}},"name":"meta.import.groovy","patterns":[{"match":"\\\\.","name":"punctuation.separator.groovy"},{"match":"\\\\s","name":"invalid.illegal.character_not_allowed_here.groovy"}]},{"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"keyword.other.import.static.groovy"},"3":{"name":"storage.modifier.import.groovy"},"4":{"name":"punctuation.terminator.groovy"}},"match":"^\\\\s*(import)\\\\s+(static)\\\\s+\\\\b(?:\\\\s*([^ $;]+)\\\\s*(;)?)?","name":"meta.import.groovy"},{"include":"#groovy"}],"repository":{"annotations":{"patterns":[{"begin":"(?<!\\\\.)(@[^ (]+)(\\\\()","beginCaptures":{"1":{"name":"storage.type.annotation.groovy"},"2":{"name":"punctuation.definition.annotation-arguments.begin.groovy"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.annotation-arguments.end.groovy"}},"name":"meta.declaration.annotation.groovy","patterns":[{"captures":{"1":{"name":"constant.other.key.groovy"},"2":{"name":"keyword.operator.assignment.groovy"}},"match":"(\\\\w*)\\\\s*(=)"},{"include":"#values"},{"match":",","name":"punctuation.definition.seperator.groovy"}]},{"match":"(?<!\\\\.)@\\\\S+","name":"storage.type.annotation.groovy"}]},"anonymous-classes-and-new":{"begin":"\\\\bnew\\\\b","beginCaptures":{"0":{"name":"keyword.control.new.groovy"}},"end":"(?<=[])])(?!\\\\s*\\\\{)|(?<=})|(?=;)|$","patterns":[{"begin":"(\\\\w+)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"storage.type.groovy"}},"end":"}|(?=\\\\s*[),;])|$","patterns":[{"begin":"\\\\[","end":"]","patterns":[{"include":"#groovy"}]},{"begin":"\\\\{","end":"(?=})","patterns":[{"include":"#groovy"}]}]},{"begin":"(?=\\\\w.*\\\\(?)","end":"(?<=\\\\))|$","patterns":[{"include":"#object-types"},{"begin":"\\\\(","beginCaptures":{"1":{"name":"storage.type.groovy"}},"end":"\\\\)","patterns":[{"include":"#groovy"}]}]},{"begin":"\\\\{","end":"}","name":"meta.inner-class.groovy","patterns":[{"include":"#class-body"}]}]},"braces":{"begin":"\\\\{","end":"}","patterns":[{"include":"#groovy-code"}]},"class":{"begin":"(?=\\\\w?[\\\\w\\\\s]*(?:class|@?interface|enum)\\\\s+\\\\w+)","end":"}","endCaptures":{"0":{"name":"punctuation.section.class.end.groovy"}},"name":"meta.definition.class.groovy","patterns":[{"include":"#storage-modifiers"},{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.groovy"},"2":{"name":"entity.name.type.class.groovy"}},"match":"(class|@?interface|enum)\\\\s+(\\\\w+)","name":"meta.class.identifier.groovy"},{"begin":"extends","beginCaptures":{"0":{"name":"storage.modifier.extends.groovy"}},"end":"(?=\\\\{|implements)","name":"meta.definition.class.inherited.classes.groovy","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"(implements)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.groovy"}},"end":"(?=\\\\s*extends|\\\\{)","name":"meta.definition.class.implemented.interfaces.groovy","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\\\{","end":"(?=})","name":"meta.class.body.groovy","patterns":[{"include":"#class-body"}]}]},"class-body":{"patterns":[{"include":"#enum-values"},{"include":"#constructors"},{"include":"#groovy"}]},"closures":{"begin":"\\\\{(?=.*?->)","end":"}","patterns":[{"begin":"(?<=\\\\{)(?=[^}]*?->)","end":"->","endCaptures":{"0":{"name":"keyword.operator.groovy"}},"patterns":[{"begin":"(?!->)","end":"(?=->)","name":"meta.closure.parameters.groovy","patterns":[{"begin":"(?!,|->)","end":"(?=,|->)","name":"meta.closure.parameter.groovy","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"(?=,|->)","name":"meta.parameter.default.groovy","patterns":[{"include":"#groovy-code"}]},{"include":"#parameters"}]}]}]},{"begin":"(?=[^}])","end":"(?=})","patterns":[{"include":"#groovy-code"}]}]},"comment-block":{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.groovy"}},"end":"\\\\*/","name":"comment.block.groovy"},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.groovy"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.groovy"},{"include":"text.html.javadoc"},{"include":"#comment-block"},{"captures":{"1":{"name":"punctuation.definition.comment.groovy"}},"match":"(//).*$\\\\n?","name":"comment.line.double-slash.groovy"}]},"constants":{"patterns":[{"match":"\\\\b([A-Z][0-9A-Z_]+)\\\\b","name":"constant.other.groovy"},{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.groovy"}]},"constructors":{"applyEndPatternLast":1,"begin":"(?<=;|^)(?=\\\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)\\\\s+)*[A-Z]\\\\w*\\\\()","end":"}","patterns":[{"include":"#method-content"}]},"enum-values":{"patterns":[{"begin":"(?<=;|^)\\\\s*\\\\b([0-9A-Z_]+)(?=\\\\s*(?:[(,;}]|$))","beginCaptures":{"1":{"name":"constant.enum.name.groovy"}},"end":"[,;]|(?=})|^(?!\\\\s*\\\\w+\\\\s*(?:,|$))","patterns":[{"begin":"\\\\(","end":"\\\\)","name":"meta.enum.value.groovy","patterns":[{"match":",","name":"punctuation.definition.seperator.parameter.groovy"},{"include":"#groovy-code"}]}]}]},"groovy":{"patterns":[{"include":"#comments"},{"include":"#class"},{"include":"#variables"},{"include":"#methods"},{"include":"#annotations"},{"include":"#groovy-code"}]},"groovy-code":{"patterns":[{"include":"#groovy-code-minus-map-keys"},{"include":"#map-keys"}]},"groovy-code-minus-map-keys":{"patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#support-functions"},{"include":"#keyword-language"},{"include":"#values"},{"include":"#anonymous-classes-and-new"},{"include":"#keyword-operator"},{"include":"#types"},{"include":"#storage-modifiers"},{"include":"#parens"},{"include":"#closures"},{"include":"#braces"}]},"keyword":{"patterns":[{"include":"#keyword-operator"},{"include":"#keyword-language"}]},"keyword-language":{"patterns":[{"match":"\\\\b(try|catch|finally|throw)\\\\b","name":"keyword.control.exception.groovy"},{"match":"\\\\b((?<!\\\\.)(?:return|break|continue|default|do|while|for|switch|if|else))\\\\b","name":"keyword.control.groovy"},{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.groovy"}},"end":":","endCaptures":{"0":{"name":"punctuation.definition.case-terminator.groovy"}},"name":"meta.case.groovy","patterns":[{"include":"#groovy-code-minus-map-keys"}]},{"begin":"\\\\b(assert)\\\\s","beginCaptures":{"1":{"name":"keyword.control.assert.groovy"}},"end":"$|[;}]","name":"meta.declaration.assertion.groovy","patterns":[{"match":":","name":"keyword.operator.assert.expression-seperator.groovy"},{"include":"#groovy-code-minus-map-keys"}]},{"match":"\\\\b(throws)\\\\b","name":"keyword.other.throws.groovy"}]},"keyword-operator":{"patterns":[{"match":"\\\\b(as)\\\\b","name":"keyword.operator.as.groovy"},{"match":"\\\\b(in)\\\\b","name":"keyword.operator.in.groovy"},{"match":"\\\\?:","name":"keyword.operator.elvis.groovy"},{"match":"\\\\*:","name":"keyword.operator.spreadmap.groovy"},{"match":"\\\\.\\\\.","name":"keyword.operator.range.groovy"},{"match":"->","name":"keyword.operator.arrow.groovy"},{"match":"<<","name":"keyword.operator.leftshift.groovy"},{"match":"(?<=\\\\S)\\\\.(?=\\\\S)","name":"keyword.operator.navigation.groovy"},{"match":"(?<=\\\\S)\\\\?\\\\.(?=\\\\S)","name":"keyword.operator.safe-navigation.groovy"},{"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.groovy"}},"end":"(?=$|[])}])","name":"meta.evaluation.ternary.groovy","patterns":[{"match":":","name":"keyword.operator.ternary.expression-seperator.groovy"},{"include":"#groovy-code-minus-map-keys"}]},{"match":"==~","name":"keyword.operator.match.groovy"},{"match":"=~","name":"keyword.operator.find.groovy"},{"match":"\\\\b(instanceof)\\\\b","name":"keyword.operator.instanceof.groovy"},{"match":"(===?|!=|<=|>=|<=>|<>|[<>]|<<)","name":"keyword.operator.comparison.groovy"},{"match":"=","name":"keyword.operator.assignment.groovy"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.groovy"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.groovy"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.groovy"}]},"language-variables":{"patterns":[{"match":"\\\\b(this|super)\\\\b","name":"variable.language.groovy"}]},"map-keys":{"patterns":[{"captures":{"1":{"name":"constant.other.key.groovy"},"2":{"name":"punctuation.definition.seperator.key-value.groovy"}},"match":"(\\\\w+)\\\\s*(:)"}]},"method-call":{"begin":"([$\\\\w]+)(\\\\()","beginCaptures":{"1":{"name":"meta.method.groovy"},"2":{"name":"punctuation.definition.method-parameters.begin.groovy"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.method-parameters.end.groovy"}},"name":"meta.method-call.groovy","patterns":[{"match":",","name":"punctuation.definition.seperator.parameter.groovy"},{"include":"#groovy-code"}]},"method-content":{"patterns":[{"match":"\\\\s"},{"include":"#annotations"},{"begin":"(?=[<\\\\w][^(]*\\\\s+[$<\\\\w]+\\\\s*\\\\()","end":"(?=[$\\\\w]+\\\\s*\\\\()","name":"meta.method.return-type.java","patterns":[{"include":"#storage-modifiers"},{"include":"#types"}]},{"begin":"([$\\\\w]+)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.java"}},"end":"\\\\)","name":"meta.definition.method.signature.java","patterns":[{"begin":"(?=[^)])","end":"(?=\\\\))","name":"meta.method.parameters.groovy","patterns":[{"begin":"(?=[^),])","end":"(?=[),])","name":"meta.method.parameter.groovy","patterns":[{"match":",","name":"punctuation.definition.separator.groovy"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"(?=[),])","name":"meta.parameter.default.groovy","patterns":[{"include":"#groovy-code"}]},{"include":"#parameters"}]}]}]},{"begin":"(?=<)","end":"(?=\\\\s)","name":"meta.method.paramerised-type.groovy","patterns":[{"begin":"<","end":">","name":"storage.type.parameters.groovy","patterns":[{"include":"#types"},{"match":",","name":"punctuation.definition.seperator.groovy"}]}]},{"begin":"throws","beginCaptures":{"0":{"name":"storage.modifier.groovy"}},"end":"(?=[;{])|^(?=\\\\s*(?:[^{\\\\s]|$))","name":"meta.throwables.groovy","patterns":[{"include":"#object-types"}]},{"begin":"\\\\{","end":"(?=})","name":"meta.method.body.java","patterns":[{"include":"#groovy-code"}]}]},"methods":{"applyEndPatternLast":1,"begin":"(?<=;|^|\\\\{)(?=\\\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)|def|(?:(?:void|boolean|byte|char|short|int|float|long|double)|@?(?:[A-Za-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)[]\\\\[]*(?:<.*>)?)\\\\s+([^=]+\\\\s+)?\\\\w+\\\\s*\\\\()","end":"}|(?=[^{])","name":"meta.definition.method.groovy","patterns":[{"include":"#method-content"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.groovy"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"numbers":{"patterns":[{"match":"((0([Xx])\\\\h*)|([-+])?\\\\b(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdfglu]|UL|ul)?\\\\b","name":"constant.numeric.groovy"}]},"object-types":{"patterns":[{"begin":"\\\\b((?:[a-z]\\\\w*\\\\.)*(?:[A-Z]+\\\\w*[a-z]+\\\\w*|UR[IL]))<","end":"[>[^],<?\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy","patterns":[{"include":"#object-types"},{"begin":"<","end":"[>[^],<\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy"}]},{"begin":"\\\\b((?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*[a-z]+\\\\w*)(?=\\\\[)","end":"(?=[^]\\\\s])","name":"storage.type.object.array.groovy","patterns":[{"begin":"\\\\[","end":"]","patterns":[{"include":"#groovy"}]}]},{"match":"\\\\b(?:[A-Za-z]\\\\w*\\\\.)*(?:[A-Z]+\\\\w*[a-z]+\\\\w*|UR[IL])\\\\b","name":"storage.type.groovy"}]},"object-types-inherited":{"patterns":[{"begin":"\\\\b((?:[A-Za-z]\\\\w*\\\\.)*[A-Z]+\\\\w*[a-z]+\\\\w*)<","end":"[>[^],<?\\\\[\\\\w\\\\s]]","name":"entity.other.inherited-class.groovy","patterns":[{"include":"#object-types-inherited"},{"begin":"<","end":"[>[^],<\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy"}]},{"captures":{"1":{"name":"keyword.operator.dereference.groovy"}},"match":"\\\\b(?:[A-Za-z]\\\\w*(\\\\.))*[A-Z]+\\\\w*[a-z]+\\\\w*\\\\b","name":"entity.other.inherited-class.groovy"}]},"parameters":{"patterns":[{"include":"#annotations"},{"include":"#storage-modifiers"},{"include":"#types"},{"match":"\\\\w+","name":"variable.parameter.method.groovy"}]},"parens":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#groovy-code"}]},"primitive-arrays":{"patterns":[{"match":"\\\\b(?:void|boolean|byte|char|short|int|float|long|double)(\\\\[])*\\\\b","name":"storage.type.primitive.array.groovy"}]},"primitive-types":{"patterns":[{"match":"\\\\b(?:void|boolean|byte|char|short|int|float|long|double)\\\\b","name":"storage.type.primitive.groovy"}]},"regexp":{"patterns":[{"begin":"/(?=[^/]+/([^>]|$))","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.groovy"}},"end":"/","endCaptures":{"0":{"name":"punctuation.definition.string.regexp.end.groovy"}},"name":"string.regexp.groovy","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]},{"begin":"~\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.groovy"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.regexp.end.groovy"}},"name":"string.regexp.compiled.groovy","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]}]},"storage-modifiers":{"patterns":[{"match":"\\\\b(p(?:rivate|rotected|ublic))\\\\b","name":"storage.modifier.access-control.groovy"},{"match":"\\\\b(static)\\\\b","name":"storage.modifier.static.groovy"},{"match":"\\\\b(final)\\\\b","name":"storage.modifier.final.groovy"},{"match":"\\\\b(native|synchronized|abstract|threadsafe|transient)\\\\b","name":"storage.modifier.other.groovy"}]},"string-quoted-double":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.double.groovy","patterns":[{"include":"#string-quoted-double-contents"}]},"string-quoted-double-contents":{"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"},{"applyEndPatternLast":1,"begin":"\\\\$\\\\w","end":"(?=\\\\W)","name":"variable.other.interpolated.groovy","patterns":[{"match":"\\\\w","name":"variable.other.interpolated.groovy"},{"match":"\\\\.","name":"keyword.other.dereference.groovy"}]},{"begin":"\\\\$\\\\{","captures":{"0":{"name":"punctuation.section.embedded.groovy"}},"end":"}","name":"source.groovy.embedded.source","patterns":[{"include":"#nest_curly"}]}]},"string-quoted-double-multiline":{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.double.multiline.groovy","patterns":[{"include":"#string-quoted-double-contents"}]},"string-quoted-single":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.single.groovy","patterns":[{"include":"#string-quoted-single-contents"}]},"string-quoted-single-contents":{"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]},"string-quoted-single-multiline":{"begin":"\'\'\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\'\'\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.single.multiline.groovy","patterns":[{"include":"#string-quoted-single-contents"}]},"strings":{"patterns":[{"include":"#string-quoted-double-multiline"},{"include":"#string-quoted-single-multiline"},{"include":"#string-quoted-double"},{"include":"#string-quoted-single"},{"include":"#regexp"}]},"structures":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.structure.begin.groovy"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.structure.end.groovy"}},"name":"meta.structure.groovy","patterns":[{"include":"#groovy-code"},{"match":",","name":"punctuation.definition.separator.groovy"}]},"support-functions":{"patterns":[{"match":"\\\\b(?:sprintf|print(?:f|ln)?)\\\\b","name":"support.function.print.groovy"},{"match":"\\\\b(?:shouldFail|fail(?:NotEquals)?|ass(?:ume|ert(?:S(?:cript|ame)|N(?:ot(?:Same|Null)|ull)|Contains|T(?:hat|oString|rue)|Inspect|Equals|False|Length|ArrayEquals)))\\\\b","name":"support.function.testing.groovy"}]},"types":{"patterns":[{"match":"\\\\b(def)\\\\b","name":"storage.type.def.groovy"},{"include":"#primitive-types"},{"include":"#primitive-arrays"},{"include":"#object-types"}]},"values":{"patterns":[{"include":"#language-variables"},{"include":"#strings"},{"include":"#numbers"},{"include":"#constants"},{"include":"#types"},{"include":"#structures"},{"include":"#method-call"}]},"variables":{"applyEndPatternLast":1,"patterns":[{"begin":"(?=(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)|def|(?:void|boolean|byte|char|short|int|float|long|double)|(?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)\\\\s+[],<>\\\\[_\\\\w\\\\d\\\\s]+(?:=|$))","end":";|$","name":"meta.definition.variable.groovy","patterns":[{"match":"\\\\s"},{"captures":{"1":{"name":"constant.variable.groovy"}},"match":"([0-9A-Z_]+)\\\\s+(?==)"},{"captures":{"1":{"name":"meta.definition.variable.name.groovy"}},"match":"(\\\\w[^,\\\\s]*)\\\\s+(?==)"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"$","patterns":[{"include":"#groovy-code"}]},{"captures":{"1":{"name":"meta.definition.variable.name.groovy"}},"match":"(\\\\w[^=\\\\s]*)(?=\\\\s*($|;))"},{"include":"#groovy-code"}]}]}},"scopeName":"source.groovy"}')),Nq=[Hq]});var Cz=Me(yl=>{"use strict";var zz=J3();yl.createRoot=zz.createRoot,yl.hydrateRoot=zz.hydrateRoot;var Kt1});var IP={};h1(IP,{mountNativeChatList:()=>jP,mountNativeComposer:()=>HP,mountNativeConversation:()=>ZP,mountNativeFeishu:()=>qP,mountNativeRuntimeInput:()=>TP,nativeConversationCss:()=>FP});var V=X1(l0(),1);var Tl={"Optional tools":"\u6309\u9700\u9009\u62E9","Select the tools you need. The permission JSON updates automatically.":"\u52FE\u9009\u9700\u8981\u7684\u5DE5\u5177\uFF0C\u6743\u9650 JSON \u4F1A\u81EA\u52A8\u66F4\u65B0\u3002","Clipboard is unavailable. Copy the selected JSON below.":"\u65E0\u6CD5\u8BBF\u95EE\u526A\u8D34\u677F\uFF0C\u8BF7\u624B\u52A8\u590D\u5236\u5DF2\u9009\u4E2D\u7684\u6743\u9650 JSON\u3002","Base permissions are always included.":"\u5DF2\u5305\u542B\u5168\u90E8\u57FA\u7840\u6743\u9650","View permission JSON":"\u67E5\u770B\u6743\u9650 JSON","Open Feishu Open Platform":"\u6253\u5F00\u98DE\u4E66\u5F00\u653E\u5E73\u53F0","Long connection":"\u957F\u8FDE\u63A5","Event address":"\u4E8B\u4EF6\u5730\u5740","Recommended \xB7 no public address":"\u63A8\u8350 \xB7 \u65E0\u9700\u516C\u7F51\u5730\u5740","Requires a public HTTPS address":"\u9700\u8981\u516C\u7F51 HTTPS \u5730\u5740","Connection steps":"\u63A5\u5165\u6B65\u9AA4","Step {current} of {total}":"\u7B2C {current} \u6B65\uFF0C\u5171 {total} \u6B65","Previous step":"\u4E0A\u4E00\u6B65","Check App ID and App Secret. A nonexistent App ID may be reported as an internal error.":"App ID \u6216 App Secret \u4E0D\u6B63\u786E\uFF0C\u8BF7\u5728\u5E94\u7528\u7684\u201C\u51ED\u8BC1\u4E0E\u57FA\u7840\u4FE1\u606F\u201D\u9875\u9762\u91CD\u65B0\u590D\u5236\u3002App ID \u4E0D\u5B58\u5728\u65F6\uFF0C\u98DE\u4E66\u53EF\u80FD\u53EA\u8FD4\u56DE\u201C\u5185\u90E8\u9519\u8BEF\u201D\u3002","FlyBot cannot reach open.feishu.cn. Check the server network or proxy.":"FlyBot \u670D\u52A1\u5668\u8FDE\u4E0D\u4E0A open.feishu.cn\uFF0C\u8BF7\u68C0\u67E5\u670D\u52A1\u5668\u7684\u7F51\u7EDC\u6216\u4EE3\u7406\u8BBE\u7F6E\u3002","Credentials accepted, but Bot information is unavailable. Enable the Bot capability and publish a version. You can continue now and test again after publishing.":"\u51ED\u636E\u6B63\u786E\uFF0C\u4F46\u8FD8\u8BFB\u4E0D\u5230\u673A\u5668\u4EBA\uFF1A\u5E94\u7528\u8FD8\u6CA1\u6709\u5F00\u542F\u673A\u5668\u4EBA\u80FD\u529B\uFF0C\u6216\u5F00\u542F\u540E\u8FD8\u6CA1\u6709\u53D1\u5E03\u7248\u672C\u3002\u53EF\u4EE5\u5148\u7EE7\u7EED\u4E0B\u4E00\u6B65\uFF0C\u53D1\u5E03\u7248\u672C\u540E\u518D\u6D4B\u8BD5\u3002","Apply for the missing app permission, publish a new version, wait for approval, then check permissions again.":"\u8BF7\u5728\u98DE\u4E66\u5F00\u653E\u5E73\u53F0\u7533\u8BF7\u7F3A\u5C11\u7684\u5E94\u7528\u6743\u9650\u5E76\u53D1\u5E03\u65B0\u7248\u672C\uFF1B\u9700\u8981\u7BA1\u7406\u5458\u5BA1\u6279\u65F6\u7B49\u5F85\u901A\u8FC7\uFF0C\u518D\u91CD\u65B0\u68C0\u6D4B\u3002","The application has reached its long-connection limit (up to 50 connections).":"\u5E94\u7528\u7684\u957F\u8FDE\u63A5\u6570\u5DF2\u8FBE\u4E0A\u9650\uFF08\u6700\u591A 50 \u4E2A\u8FDE\u63A5\uFF09\u3002","Could not connect to open.feishu.cn; check the server network, proxy and application credentials.":"\u8FDE\u4E0D\u4E0A open.feishu.cn\uFF0C\u8BF7\u68C0\u67E5\u670D\u52A1\u5668\u7F51\u7EDC\u3001\u4EE3\u7406\u548C\u5E94\u7528\u51ED\u636E\u3002","The Feishu long-connection SDK is not installed on the FlyBot server. Reinstall FlyBot, or rebuild the image if it runs in Docker.":"FlyBot \u670D\u52A1\u5668\u4E0A\u6CA1\u6709\u5B89\u88C5\u98DE\u4E66\u957F\u8FDE\u63A5 SDK\u3002\u8BF7\u91CD\u65B0\u5B89\u88C5 FlyBot\uFF1B\u7528 Docker \u8FD0\u884C\u65F6\u8BF7\u91CD\u65B0\u6784\u5EFA\u955C\u50CF\u3002","Operation failed; check network, permissions and published app version":"\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u3001\u5E94\u7528\u6743\u9650\u53CA\u5DF2\u53D1\u5E03\u7684\u5E94\u7528\u7248\u672C\u3002","Conversation handlers":"\u4F1A\u8BDD\u5904\u7406\u7684 Bot","Conversation handler":"\u5904\u7406\u7684 Bot","Follow the default Bot":"\u8DDF\u968F\u9ED8\u8BA4 Bot","Reply in thread":"\u56DE\u590D\u6D88\u606F\u4E32","Connection name":"\u63A5\u5165\u540D\u79F0","App has read-only permission":"\u53EA\u5F00\u901A\u4E86\u53EA\u8BFB","Also process other robots that mention this robot (up to 8 consecutive requests)":"\u5176\u4ED6\u673A\u5668\u4EBA @ \u8FD9\u4E2A\u673A\u5668\u4EBA\u65F6\uFF0C\u4E5F\u4EA4\u7ED9 Bot \u5904\u7406\uFF08\u8FDE\u7EED\u6700\u591A 8 \u6B21\uFF09",Files:"\u6587\u4EF6","Setup guide":"\u8BBE\u7F6E\u5F15\u5BFC","Connect Feishu":"\u63A5\u5165\u98DE\u4E66","New connection":"\u65B0\u5EFA\u63A5\u5165","Prepare a public event address":"\u51C6\u5907\u516C\u7F51\u4E8B\u4EF6\u5730\u5740","Create an app on Feishu Open Platform":"\u5728\u98DE\u4E66\u5F00\u653E\u5E73\u53F0\u521B\u5EFA\u5E94\u7528","Enter credentials and test connection":"\u586B\u5199\u51ED\u636E\u5E76\u6D4B\u8BD5\u8FDE\u63A5","Subscribe to message events and card callbacks":"\u8BA2\u9605\u6D88\u606F\u4E8B\u4EF6\u4E0E\u5361\u7247\u56DE\u8C03","Publish an app version":"\u53D1\u5E03\u5E94\u7528\u7248\u672C","Choose the Bot represented by the robot":"\u9009\u62E9\u673A\u5668\u4EBA\u4EE3\u8868\u7684 Bot","Try it in Feishu":"\u5728\u98DE\u4E66\u4E2D\u8BD5\u4E00\u8BD5","Long connection (recommended, no public address)":"\u957F\u8FDE\u63A5\uFF08\u63A8\u8350\uFF0C\u4E0D\u9700\u8981\u516C\u7F51\u5730\u5740\uFF09","Event address (HTTP, needs a public address)":"\u4E8B\u4EF6\u5730\u5740\uFF08HTTP\uFF0C\u9700\u8981\u516C\u7F51\u5730\u5740\uFF09","Create an internal app, add the Bot capability, and apply for the permissions below. Do not configure events yet.":"\u521B\u5EFA\u4F01\u4E1A\u81EA\u5EFA\u5E94\u7528\uFF0C\u5728\u201C\u6DFB\u52A0\u5E94\u7528\u80FD\u529B\u201D\u4E2D\u6DFB\u52A0\u673A\u5668\u4EBA\uFF0C\u6309\u4E0B\u65B9\u5217\u8868\u7533\u8BF7\u6743\u9650\u5E76\u8BBE\u7F6E\u901A\u8BAF\u5F55\u6743\u9650\u8303\u56F4\u3002\u5148\u4E0D\u8981\u914D\u7F6E\u4E8B\u4EF6\u8BA2\u9605\u3002","Only Feishu (open.feishu.cn) is supported; Lark is not supported.":"\u53EA\u652F\u6301\u98DE\u4E66\uFF08open.feishu.cn\uFF09\uFF0C\u4E0D\u652F\u6301 Lark \u56FD\u9645\u7248\u3002","Copy permission JSON":"\u590D\u5236\u6743\u9650 JSON",Copied:"\u5DF2\u590D\u5236","Extended permissions (Feishu tools)":"\u6269\u5C55\u6743\u9650\uFF08\u98DE\u4E66\u5DE5\u5177\uFF09",Calendar:"\u65E5\u5386","Documents and wiki":"\u6587\u6863\u4E0E\u77E5\u8BC6\u5E93",Bitable:"\u591A\u7EF4\u8868\u683C",Spreadsheets:"\u7535\u5B50\u8868\u683C","Video meetings":"\u89C6\u9891\u4F1A\u8BAE",Tasks:"\u4EFB\u52A1","Import this JSON in Permission management \u2192 Batch import/export. Set the contact data scope to people who will use the robot.":"\u5728\u201C\u6743\u9650\u7BA1\u7406 \u2192 \u6279\u91CF\u5BFC\u5165/\u5BFC\u51FA\u201D\u4E2D\u7C98\u8D34 JSON \u5E76\u7533\u8BF7\u5F00\u901A\uFF1B\u5728\u201C\u6570\u636E\u6743\u9650\u201D\u4E2D\u628A\u901A\u8BAF\u5F55\u6743\u9650\u8303\u56F4\u8BBE\u4E3A\u4F1A\u4F7F\u7528\u673A\u5668\u4EBA\u7684\u6210\u5458\u3002","Public HTTPS event origin":"\u516C\u7F51 HTTPS \u4E8B\u4EF6\u5730\u5740\u524D\u7F00","Forward only the event port to a public HTTPS address. Do not expose the FlyBot console. Leave Encrypt Key empty.":"\u51C6\u5907\u516C\u7F51\u53EF\u4EE5\u8BBF\u95EE\u7684 HTTPS \u5730\u5740\uFF0C\u53EA\u8F6C\u53D1\u4E8B\u4EF6\u7AEF\u53E3\uFF0C\u4E0D\u5F00\u653E\u63A7\u5236\u53F0\u3002Encrypt Key \u4FDD\u6301\u4E3A\u7A7A\uFF1AFlyBot \u4E0D\u63A5\u6536\u52A0\u5BC6\u63A8\u9001\u7684\u4E8B\u4EF6\u3002","Credentials are encrypted on the platform and cannot be viewed after saving. Bots never receive them.":"FlyBot \u52A0\u5BC6\u4FDD\u5B58\u51ED\u636E\uFF0C\u4FDD\u5B58\u540E\u4E0D\u80FD\u518D\u67E5\u770B\u3002\u51ED\u636E\u53EA\u7559\u5728\u5E73\u53F0\uFF0C\u4E0D\u4EA4\u7ED9 Bot\u3002","Leave saved credentials blank to keep them. Switching receiving methods reuses the same Feishu application and conversations.":"\u5DF2\u6709\u51ED\u636E\u7559\u7A7A\u5373\u6CBF\u7528\uFF1B\u5207\u6362\u63A5\u6536\u65B9\u5F0F\u6CBF\u7528\u539F\u6765\u7684\u98DE\u4E66\u5E94\u7528\u548C\u4F1A\u8BDD\uFF0C\u4E0D\u9700\u8981\u91CD\u65B0\u521B\u5EFA\u3002","Switching to a long connection deletes the saved Verification Token.":"\u6539\u7528\u957F\u8FDE\u63A5\u540E\uFF0C\u539F\u6765\u4FDD\u5B58\u7684 Verification Token \u4F1A\u88AB\u5220\u9664\u3002","Save and test connection":"\u4FDD\u5B58\u5E76\u6D4B\u8BD5\u8FDE\u63A5","Connection to Feishu":"\u4E0E\u98DE\u4E66\u7684\u8FDE\u63A5","Refreshes every 3 seconds":"\u6BCF 3 \u79D2\u5237\u65B0",Connected:"\u5DF2\u8FDE\u63A5","Connecting\u2026":"\u6B63\u5728\u8FDE\u63A5\u2026","Connection failed":"\u8FDE\u63A5\u5931\u8D25","Wait until connected: Feishu only allows saving the long connection subscription after FlyBot connects. Check credentials and network if it keeps waiting.":"\u8FD8\u6CA1\u6709\u8FDE\u4E0A\uFF1A\u98DE\u4E66\u53EA\u6709\u5728 FlyBot \u8FDE\u4E0A\u4E4B\u540E\uFF0C\u624D\u5141\u8BB8\u628A\u8BA2\u9605\u65B9\u5F0F\u4FDD\u5B58\u4E3A\u957F\u8FDE\u63A5\u3002\u5982\u679C\u4E00\u76F4\u505C\u5728\u8FD9\u91CC\uFF0C\u68C0\u67E5 App ID\u3001App Secret\uFF0C\u4EE5\u53CA\u670D\u52A1\u5668\u80FD\u5426\u8BBF\u95EE open.feishu.cn\u3002","Now set Events and callbacks \u2192 Event configuration \u2192 Use long connection to receive events, then save.":"\u73B0\u5728\u5230\u201C\u4E8B\u4EF6\u4E0E\u56DE\u8C03 \u2192 \u4E8B\u4EF6\u914D\u7F6E\u201D\uFF0C\u628A\u8BA2\u9605\u65B9\u5F0F\u8BBE\u4E3A\u201C\u4F7F\u7528\u957F\u8FDE\u63A5\u63A5\u6536\u4E8B\u4EF6\u201D\u5E76\u4FDD\u5B58\u3002","Add Receive message v2.0 (im.message.receive_v1).":"\u6DFB\u52A0\u4E8B\u4EF6\u201C\u63A5\u6536\u6D88\u606F v2.0\u201D\uFF08im.message.receive_v1\uFF09\u3002","In Callback configuration, use the long connection and add Card action trigger (card.action.trigger).":"\u5728\u201C\u56DE\u8C03\u914D\u7F6E\u201D\u4E2D\u9009\u62E9\u201C\u4F7F\u7528\u957F\u8FDE\u63A5\u63A5\u6536\u56DE\u8C03\u201D\u5E76\u4FDD\u5B58\uFF0C\u6DFB\u52A0\u201C\u5361\u7247\u56DE\u4F20\u4EA4\u4E92\u201D\uFF08card.action.trigger\uFF09\u3002","In both Event configuration and Callback configuration, select Send to developer server, use the same address below, and save.":"\u5728\u201C\u4E8B\u4EF6\u914D\u7F6E\u201D\u548C\u201C\u56DE\u8C03\u914D\u7F6E\u201D\u4E2D\u5206\u522B\u9009\u62E9\u201C\u5C06\u4E8B\u4EF6/\u56DE\u8C03\u53D1\u9001\u81F3\u5F00\u53D1\u8005\u670D\u52A1\u5668\u201D\uFF0C\u586B\u5199\u4E0B\u65B9\u540C\u4E00\u4E2A\u8BF7\u6C42\u5730\u5740\u5E76\u4FDD\u5B58\u3002","Address verified":"\u8BF7\u6C42\u5730\u5740\u5DF2\u901A\u8FC7\u9A8C\u8BC1","Waiting for address verification":"\u7B49\u5F85\u98DE\u4E66\u9A8C\u8BC1\u8BF7\u6C42\u5730\u5740\uFF1B\u5931\u8D25\u65F6\u68C0\u67E5 Verification Token\uFF0C\u5E76\u8FD4\u56DE\u4E0A\u4E00\u6B65\u4FEE\u6539\u3002","Received an event":"\u5DF2\u6536\u5230\u98DE\u4E66\u4E8B\u4EF6","No event received yet":"\u5C1A\u672A\u6536\u5230\u98DE\u4E66\u4E8B\u4EF6","Without card.action.trigger, cards can display but buttons and forms do not respond. Neither test connection nor connected status checks callback subscriptions.":"\u6CA1\u6709\u8BA2\u9605 card.action.trigger \u65F6\uFF0C\u5361\u7247\u80FD\u663E\u793A\uFF0C\u4F46\u6309\u94AE\u548C\u8868\u5355\u6CA1\u6709\u53CD\u5E94\u3002\u6D4B\u8BD5\u8FDE\u63A5\u3001\u57FA\u7840\u6743\u9650\u68C0\u6D4B\u548C\u201C\u5DF2\u8FDE\u63A5\u201D\u90FD\u4E0D\u68C0\u6D4B\u56DE\u8C03\u8BA2\u9605\u3002","Connect each Feishu app to only one FlyBot instance; multiple instances split incoming messages.":"\u540C\u4E00\u4E2A\u98DE\u4E66\u5E94\u7528\u53EA\u63A5\u5230\u4E00\u4E2A FlyBot\uFF1A\u540C\u65F6\u63A5\u5230\u591A\u4E2A\u5B9E\u4F8B\u65F6\uFF0C\u6D88\u606F\u4F1A\u88AB\u968F\u673A\u5206\u8D70\u3002","Create and publish a version in Version management and release. Include the required members or departments. Wait for enterprise approval if required.":"\u5728\u201C\u7248\u672C\u7BA1\u7406\u4E0E\u53D1\u5E03\u201D\u4E2D\u521B\u5EFA\u7248\u672C\uFF0C\u5728\u53EF\u7528\u8303\u56F4\u4E2D\u9009\u62E9\u80FD\u4F7F\u7528\u673A\u5668\u4EBA\u7684\u6210\u5458\u6216\u90E8\u95E8\uFF0C\u7533\u8BF7\u7EBF\u4E0A\u53D1\u5E03\uFF1B\u9700\u8981\u5BA1\u6838\u65F6\u7B49\u5F85\u4F01\u4E1A\u7BA1\u7406\u5458\u901A\u8FC7\u3002","Permissions, Bot capability, events and callbacks take effect after publishing. Publish again after any change.":"\u6743\u9650\u3001\u673A\u5668\u4EBA\u80FD\u529B\u3001\u6D88\u606F\u4E8B\u4EF6\u548C\u5361\u7247\u56DE\u8C03\u8BA2\u9605\u5728\u53D1\u5E03\u540E\u624D\u751F\u6548\uFF1B\u4E4B\u540E\u4FEE\u6539\u4E5F\u8981\u91CD\u65B0\u53D1\u5E03\u7248\u672C\u3002","Test connection":"\u6D4B\u8BD5\u8FDE\u63A5","One Feishu application represents one Bot. Group mentions and private messages go to the selected local Bot.":"\u4E00\u4E2A\u98DE\u4E66\u5E94\u7528\u5C31\u662F\u4E00\u4E2A\u673A\u5668\u4EBA\u3002\u7FA4\u91CC @ \u5B83\u7684\u6D88\u606F\u548C\u53D1\u7ED9\u5B83\u7684\u79C1\u804A\u6D88\u606F\u4EA4\u7ED9\u9009\u4E2D\u7684\u672C\u5730 Bot \u5904\u7406\uFF0C\u56DE\u590D\u4EE5\u673A\u5668\u4EBA\u7684\u8EAB\u4EFD\u53D1\u51FA\u3002","Choose a Bot":"\u9009\u62E9 Bot","Add the application under Group settings \u2192 Group robots. Mention it in the group, or send a private message.":"\u5728\u201C\u7FA4\u8BBE\u7F6E \u2192 \u7FA4\u673A\u5668\u4EBA\u201D\u4E2D\u6DFB\u52A0\u8FD9\u4E2A\u5E94\u7528\uFF0C\u5728\u7FA4\u91CC @ \u673A\u5668\u4EBA\uFF0C\u6216\u76F4\u63A5\u79C1\u804A\u5B83\u3002","Ask the Bot to send a card with a submit button. Click it and confirm Submitted. Ordinary chat success does not verify card callbacks.":"\u8BF7\u673A\u5668\u4EBA\u53D1\u9001\u4E00\u5F20\u5E26\u63D0\u4EA4\u6309\u94AE\u7684\u5361\u7247\uFF0C\u5B9E\u9645\u70B9\u51FB\u5E76\u786E\u8BA4\u51FA\u73B0\u201C\u5DF2\u63D0\u4EA4\u201D\u63D0\u793A\uFF1B\u666E\u901A\u804A\u5929\u6210\u529F\u4E0D\u80FD\u4EE3\u66FF\u5361\u7247\u4EA4\u4E92\u9A8C\u8BC1\u3002","Each group or private chat keeps one FlyBot conversation; thread replies return to the original thread. Message edits and recalls are not synchronized.":"\u4E00\u4E2A\u7FA4\u804A\u6216\u79C1\u804A\u5BF9\u5E94\u4E00\u4E2A FlyBot \u4F1A\u8BDD\uFF1B\u6D88\u606F\u4E32\u4E2D\u7684\u56DE\u590D\u53D1\u56DE\u539F\u6D88\u606F\u4E32\u3002\u4E0D\u540C\u6B65\u6D88\u606F\u7684\u7F16\u8F91\u548C\u64A4\u56DE\u3002","Who may send messages":"\u8C01\u53EF\u4EE5\u53D1\u6D88\u606F","Allow an open_id":"\u5141\u8BB8\u53D1\u6D88\u606F\u7684 open_id","Allowed senders can send messages; this does not grant platform identity or approval authority.":"\u767D\u540D\u5355\u53EA\u8868\u793A\u5141\u8BB8\u53D1\u6D88\u606F\uFF0C\u4E0D\u7B49\u4E8E\u5E73\u53F0\u7528\u6237\u6216\u5BA1\u6279\u6743\u9650\u3002","Identity linking":"\u8EAB\u4EFD\u5173\u8054","Feishu open_id":"\u98DE\u4E66 open_id","Platform member":"\u5E73\u53F0\u6210\u5458","Link identity":"\u5173\u8054\u8EAB\u4EFD","Link to an existing signed-in platform member. No external members or new login accounts are created. Unlinked card submissions and meeting bookings are refused.":"\u5173\u8054\u5230\u5DF2\u6709\u5E73\u53F0\u6210\u5458\uFF0C\u4E0D\u521B\u5EFA\u5916\u90E8\u6210\u5458\u6216\u65B0\u767B\u5F55\u8D26\u53F7\u3002\u672A\u5173\u8054\u7684\u5361\u7247\u63D0\u4EA4\u548C\u89C6\u9891\u4F1A\u8BAE\u9884\u7EA6\u4F1A\u88AB\u62D2\u7EDD\u3002","Feishu tools":"\u98DE\u4E66\u5DE5\u5177",Disabled:"\u7981\u7528","Read only":"\u53EA\u8BFB","Read/write, ask before writes":"\u8BFB\u5199\uFF0C\u5199\u5165\u9700\u8BE2\u95EE","Read/write":"\u8BFB\u5199","Permissions of the Feishu application":"\u98DE\u4E66\u5E94\u7528\u7684\u6743\u9650","Check permissions again":"\u91CD\u65B0\u68C0\u6D4B","App permission not granted":"\u98DE\u4E66\u5E94\u7528\u672A\u5F00\u901A",Diagnostics:"\u8BCA\u65AD\u8BB0\u5F55","Delivery records":"\u6295\u9012\u8BB0\u5F55",Cards:"\u5361\u7247","Delete connection":"\u5220\u9664\u63A5\u5165",Later:"\u7A0D\u540E\u7EE7\u7EED",Next:"\u4E0B\u4E00\u6B65",Back:"\u4E0A\u4E00\u6B65",Finish:"\u5B8C\u6210",Save:"\u4FDD\u5B58","App ID must be cli_ followed by 16 hexadecimal characters":"App ID \u5FC5\u987B\u662F cli_ \u52A0 16 \u4F4D\u5341\u516D\u8FDB\u5236\u5B57\u7B26\u3002","Enter the App Secret":"\u8BF7\u586B\u5199 App Secret\u3002","Enter the Verification Token":"\u8BF7\u586B\u5199 Verification Token\u3002","Prepare a public HTTPS event address":"\u8BF7\u5148\u51C6\u5907\u516C\u7F51\u53EF\u4EE5\u8BBF\u95EE\u7684 HTTPS \u4E8B\u4EF6\u5730\u5740\u3002"};var Vl="ds-bot",T7={...Tl,Workflows:"\u5DE5\u4F5C\u6D41","A workflow is a group of your Bots. Drag the flowchart to change who hands work to whom.":"\u5DE5\u4F5C\u6D41\u662F\u4E00\u7EC4\u4F60\u7684 Bot\u3002\u62D6\u52A8\u6D41\u7A0B\u56FE\uFF0C\u6539\u8C01\u628A\u5DE5\u4F5C\u4EA4\u7ED9\u8C01\u3002","Factory presets":"\u51FA\u5382\u9884\u8BBE","Ready-made pipelines. Use one to start your own.":"\u51FA\u5382\u5C31\u6709\u7684\u6D41\u7A0B\u3002\u7528\u4E00\u4E2A\uFF0C\u505A\u6210\u4F60\u81EA\u5DF1\u7684\u3002",Yours:"\u4F60\u81EA\u5DF1\u7684","Workflows saved on this machine.":"\u8FD9\u53F0\u673A\u5668\u4E0A\u4FDD\u5B58\u7684\u5DE5\u4F5C\u6D41\u3002","No workflows of your own yet.":"\u8FD8\u6CA1\u6709\u4F60\u81EA\u5DF1\u7684\u5DE5\u4F5C\u6D41\u3002","No workflows yet.":"\u8FD8\u6CA1\u6709\u5DE5\u4F5C\u6D41\u3002","Reading workflows\u2026":"\u6B63\u5728\u8BFB\u53D6\u5DE5\u4F5C\u6D41\u2026","Could not read workflows":"\u8BFB\u4E0D\u5230\u5DE5\u4F5C\u6D41\u3002","The Workflow plugin is not installed or not enabled. A default install includes @flybot/workflow.":"\u5DE5\u4F5C\u6D41\u63D2\u4EF6\u6CA1\u6709\u5B89\u88C5\uFF0C\u6216\u6CA1\u6709\u542F\u7528\u3002\u9ED8\u8BA4\u5B89\u88C5\u5305\u542B @flybot/workflow\u3002","Could not copy this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u590D\u5236\u4E0D\u4E86\u3002","Could not save this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u4FDD\u5B58\u4E0D\u4E86\u3002","Could not rename this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u6539\u4E0D\u4E86\u540D\u3002","Could not delete this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u5220\u4E0D\u6389\u3002","Use this":"\u7528\u8FD9\u4E2A","Rename workflow":"\u91CD\u547D\u540D\u5DE5\u4F5C\u6D41","Delete workflow":"\u5220\u9664\u5DE5\u4F5C\u6D41",'Are you sure you want to delete "{name}"? This cannot be undone.':"\u786E\u5B9A\u5220\u9664\u300C{name}\u300D\u5417\uFF1F\u5220\u9664\u540E\u65E0\u6CD5\u6062\u590D\u3002","Finish editing":"\u5B8C\u6210","Drag a Bot here":"\u628A Bot \u62D6\u5230\u56FE\u4E0A","System prompt":"\u7CFB\u7EDF\u63D0\u793A\u8BCD","Parallel branch, then join":"\u5E76\u884C\u5206\u652F \xB7 \u5168\u90E8\u901A\u8FC7\u540E\u6C47\u5408","This workflow has no flowchart yet.":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u8FD8\u6CA1\u6709\u6D41\u7A0B\u56FE\u3002",Queued:"\u6392\u961F\u4E2D",Running:"\u8FD0\u884C\u4E2D",Skipped:"\u8DF3\u8FC7",Idle:"\u7A7A\u95F2","project default":"\u9879\u76EE\u9ED8\u8BA4",Customize:"\u5B9A\u5236\u4E00\u4EFD",Save:"\u4FDD\u5B58","Use for this project":"\u672C\u9879\u76EE\u4F7F\u7528","This node has no guards, so nothing refuses it but its inputs.":"\u8FD9\u4E2A\u8282\u70B9\u6CA1\u6709 guard\uFF0C\u9664\u4E86\u8F93\u5165\u4E4B\u5916\u6CA1\u6709\u522B\u7684\u4E1C\u897F\u4F1A\u62D2\u7EDD\u5B83\u3002",Guards:"Guard",Edges:"\u8FB9","Guards of {node}":"{node} \u7684 Guard",holds:"\u6210\u7ACB","cannot read":"\u8BFB\u4E0D\u5230",refuses:"\u62D2\u7EDD","The flowchart, drawn from the node table":"\u6D41\u7A0B\u56FE\uFF0C\u6309\u8282\u70B9\u8868\u7ED8\u5236","This host could not read the facts, so these guards say what they could not read \u2014 none of them is a pass.":"\u8FD9\u53F0\u4E3B\u673A\u8BFB\u4E0D\u5230\u4E8B\u5B9E\uFF0C\u6240\u4EE5\u8FD9\u4E9B guard \u53EA\u8BF4\u8BFB\u4E0D\u5230\u4EC0\u4E48\u2014\u2014\u6CA1\u6709\u4E00\u6761\u7B97\u901A\u8FC7\u3002","Saved workflows/{id}.json":"\u5DF2\u4FDD\u5B58 workflows/{id}.json","Could not open this workflow":"\u6253\u4E0D\u5F00\u8FD9\u4E2A\u5DE5\u4F5C\u6D41","This definition cannot be saved":"\u8FD9\u4E2A\u5B9A\u4E49\u4E0D\u80FD\u4FDD\u5B58","This definition cannot be copied":"\u8FD9\u4E2A\u5B9A\u4E49\u4E0D\u80FD\u590D\u5236","Select a node to edit":"\u9009\u62E9\u4E00\u4E2A\u8282\u70B9\u6765\u7F16\u8F91","Node settings":"\u8282\u70B9\u8BBE\u7F6E",Tools:"\u5DE5\u5177","Inputs and outputs":"\u8F93\u5165\u548C\u8F93\u51FA","{count} card(s) name a node this workflow draws no column for.":"\u6709 {count} \u5F20\u5361\u6307\u5411\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u4E0D\u753B\u5217\u7684\u8282\u70B9\u3002","Main Bot":"\u4E3B Bot",Working:"\u5DE5\u4F5C\u4E2D","Waiting for your answer":"\u7B49\u4F60\u56DE\u7B54","Unread activity":"\u6709\u672A\u8BFB",Search:"\u641C\u7D22","New chat":"\u65B0\u5BF9\u8BDD","Message one of your Bots":"\u7ED9\u4F60\u7684\u4E00\u4E2A Bot \u53D1\u6D88\u606F","Set up a Bot with its own role":"\u521B\u5EFA\u4E00\u4E2A\u6709\u81EA\u5DF1\u89D2\u8272\u7684 Bot","New group chat":"\u65B0\u5EFA\u7FA4\u804A","Chat with several of your Bots":"\u548C\u4F60\u7684\u51E0\u4E2A Bot \u4E00\u8D77\u804A","Face-to-face room":"\u9762\u5BF9\u9762\u623F\u95F4","Meet people nearby with a 6-digit number":"\u7528\u540C\u4E00\u7EC4 6 \u4F4D\u6570\u5B57\u548C\u8EAB\u8FB9\u7684\u4EBA\u89C1\u9762","Join by number or link":"\u7528\u53F7\u7801\u6216\u94FE\u63A5\u52A0\u5165","Start a face-to-face room":"\u9762\u5BF9\u9762\u5EFA\u7FA4","Start a new room with {code}":"\u7528 {code} \u5F00\u4E00\u4E2A\u65B0\u623F\u95F4","No one is waiting under this number. If someone already opened the room, the number no longer works \u2014 ask them for an invite link.":"\u8FD9\u4E2A\u53F7\u7801\u4E0B\u8FD8\u6CA1\u6709\u4EBA\u5728\u7B49\u3002\u5982\u679C\u5DF2\u7ECF\u6709\u4EBA\u5F00\u8FC7\u8FD9\u4E2A\u623F\u95F4\uFF0C\u53F7\u7801\u5C31\u4E0D\u518D\u6709\u6548\u2014\u2014\u5411\u4ED6\u4EEC\u8981\u4E00\u6761\u9080\u8BF7\u94FE\u63A5\u3002","Start a new room":"\u5F00\u4E00\u4E2A\u65B0\u623F\u95F4","Enter a number, or paste a group invite link":"\u8F93\u5165\u6570\u5B57\u9762\u5BF9\u9762\u5EFA\u7FA4\uFF0C\u6216\u7C98\u8D34\u9080\u8BF7\u94FE\u63A5\u52A0\u5165","Pick your Bots. Enter the same 6-digit number as everyone nearby to build a room together, or paste a group invite link or scan its QR code to join that group.":"\u9009\u597D\u4F60\u7684 Bot\u3002\u548C\u8EAB\u8FB9\u7684\u4EBA\u8F93\u5165\u540C\u4E00\u7EC4 6 \u4F4D\u6570\u5B57\u4E00\u8D77\u5EFA\u7FA4\uFF0C\u6216\u7C98\u8D34\u7FA4\u9080\u8BF7\u94FE\u63A5\u3001\u626B\u63CF\u4E8C\u7EF4\u7801\u52A0\u5165\u90A3\u4E2A\u7FA4\u3002","Pick the number everyone nearby types":"\u5B9A\u4E00\u4E2A\u5927\u5BB6\u90FD\u8F93\u5165\u7684\u53F7\u7801","Pick your Bots and choose a 6-digit number. Everyone nearby types the same number to build the room together.":"\u9009\u597D\u4F60\u7684 Bot\uFF0C\u518D\u5B9A\u4E00\u7EC4 6 \u4F4D\u6570\u5B57\u3002\u8EAB\u8FB9\u7684\u4EBA\u8F93\u5165\u540C\u4E00\u4E2A\u53F7\u7801\uFF0C\u5C31\u80FD\u4E00\u8D77\u628A\u8FD9\u4E2A\u7FA4\u5EFA\u8D77\u6765\u3002","Or paste a group invite link (https://\u2026/r/\u2026)":"\u6216\u7C98\u8D34\u7FA4\u9080\u8BF7\u94FE\u63A5\uFF08https://\u2026/r/\u2026\uFF09","Could not run: {error}":"\u8FD9\u4E00\u8F6E\u6CA1\u80FD\u8DD1\u8D77\u6765\uFF1A{error}","the model call failed":"\u6A21\u578B\u8C03\u7528\u5931\u8D25","{count} turns in a row":"\u8FDE\u7EED {count} \u8F6E","Group invite link":"\u7FA4\u9080\u8BF7\u94FE\u63A5","Room-only: friends do not see these Bots unless you invite them.":"\u4EC5\u9650\u8FD9\u4E2A\u623F\u95F4\uFF1A\u9664\u975E\u4F60\u9080\u8BF7\uFF0C\u597D\u53CB\u770B\u4E0D\u5230\u8FD9\u4E9B Bot\u3002","6 digits":"6 \u4F4D\u6570\u5B57","6-digit room number":"6 \u4F4D\u623F\u95F4\u53F7","Pick a Bot first.":"\u8BF7\u5148\u9009\u4E00\u4E2A Bot\u3002","Enter all 6 digits.":"\u8BF7\u8F93\u5165\u5B8C\u6574\u7684 6 \u4F4D\u6570\u5B57\u3002","Enter 6 digits":"\u8BF7\u8F93\u5165 6 \u4F4D\u6570\u5B57","Join with link":"\u7528\u94FE\u63A5\u52A0\u5165","Scan a code":"\u626B\u7801","Join group":"\u52A0\u5165\u7FA4",Join:"\u52A0\u5165","Invite by link":"\u7528\u94FE\u63A5\u9080\u8BF7","Create link":"\u521B\u5EFA\u94FE\u63A5","New link":"\u65B0\u94FE\u63A5","Anyone you give the link to can join with their Bot, until you withdraw it. They do not become a friend.":"\u62FF\u5230\u94FE\u63A5\u7684\u4EBA\u53EF\u4EE5\u5E26\u7740\u81EA\u5DF1\u7684 Bot \u52A0\u5165\uFF0C\u76F4\u5230\u4F60\u64A4\u56DE\u94FE\u63A5\u3002\u4ED6\u4EEC\u4E0D\u4F1A\u6210\u4E3A\u4F60\u7684\u597D\u53CB\u3002","No link came back. Try again.":"\u6CA1\u6709\u62FF\u5230\u94FE\u63A5\uFF0C\u8BF7\u91CD\u8BD5\u3002","The link was withdrawn. Nobody can join with it now.":"\u94FE\u63A5\u5DF2\u64A4\u56DE\uFF0C\u73B0\u5728\u6CA1\u4EBA\u80FD\u7528\u5B83\u52A0\u5165\u3002","Every unused link was withdrawn.":"\u6240\u6709\u8FD8\u6CA1\u7528\u8FC7\u7684\u94FE\u63A5\u90FD\u5DF2\u64A4\u56DE\u3002","This link has expired.":"\u8FD9\u4E2A\u94FE\u63A5\u5DF2\u8FC7\u671F\u3002","QR code for this group invite":"\u8FD9\u4E2A\u7FA4\u9080\u8BF7\u7684\u4E8C\u7EF4\u7801","Scan with FlyBot to join this group":"\u7528 FlyBot \u626B\u7801\u52A0\u5165\u8FD9\u4E2A\u7FA4","Copy link":"\u590D\u5236\u94FE\u63A5","{time} left to join":"\u8FD8\u5269 {time} \u53EF\u52A0\u5165","Works until you withdraw it.":"\u5728\u4F60\u64A4\u56DE\u4E4B\u524D\u4E00\u76F4\u6709\u6548\u3002","Withdraw link":"\u64A4\u56DE\u94FE\u63A5","1 earlier link still works.":"\u8FD8\u6709 1 \u4E2A\u4E4B\u524D\u7684\u94FE\u63A5\u4ECD\u7136\u6709\u6548\u3002","{count} earlier links still work.":"\u8FD8\u6709 {count} \u4E2A\u4E4B\u524D\u7684\u94FE\u63A5\u4ECD\u7136\u6709\u6548\u3002","Withdraw all":"\u5168\u90E8\u64A4\u56DE","{names} cannot be shown to someone who joins by link. Share them (Bot settings \u2192 Sharing) or remove them from the group, then seat the guest.":"{names} \u4E0D\u80FD\u7ED9\u901A\u8FC7\u94FE\u63A5\u52A0\u5165\u7684\u4EBA\u770B\u5230\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E \u2192 \u5171\u4EAB\u91CC\u5171\u4EAB\u4ED6\u4EEC\uFF0C\u6216\u628A\u4ED6\u4EEC\u79FB\u51FA\u7FA4\uFF0C\u7136\u540E\u518D\u5B89\u6392\u5BA2\u4EBA\u5165\u5EA7\u3002","A Bot in this group cannot be shown to someone who joins by link. Share that Bot or remove it, then seat the guest.":"\u8FD9\u4E2A\u7FA4\u91CC\u6709\u4E00\u4E2A Bot \u4E0D\u80FD\u7ED9\u901A\u8FC7\u94FE\u63A5\u52A0\u5165\u7684\u4EBA\u770B\u5230\u3002\u8BF7\u5171\u4EAB\u8BE5 Bot \u6216\u628A\u5B83\u79FB\u51FA\u7FA4\uFF0C\u7136\u540E\u518D\u5B89\u6392\u5BA2\u4EBA\u5165\u5EA7\u3002","A guest is in the group, but telling their FlyBot is waiting for your approval.":"\u5BA2\u4EBA\u5DF2\u7ECF\u5728\u7FA4\u91CC\uFF0C\u4F46\u901A\u77E5\u5BF9\u65B9 FlyBot \u8FD8\u5728\u7B49\u4F60\u6279\u51C6\u3002","A guest is in the group, but their FlyBot has not opened it yet. Seat them again.":"\u5BA2\u4EBA\u5DF2\u7ECF\u5728\u7FA4\u91CC\uFF0C\u4F46\u5BF9\u65B9\u7684 FlyBot \u8FD8\u6CA1\u6709\u6253\u5F00\u8FD9\u4E2A\u7FA4\u3002\u8BF7\u518D\u5B89\u6392\u4E00\u6B21\u5165\u5EA7\u3002","Seat them":"\u5B89\u6392\u5165\u5EA7","Paste an invite link or code":"\u7C98\u8D34\u9080\u8BF7\u94FE\u63A5\u6216\u9080\u8BF7\u7801","A coding session without a Bot":"\u4E0D\u5E26 Bot \u7684\u7F16\u7801\u4F1A\u8BDD","New Bot \u201C{name}\u201D":"\u65B0\u5EFA Bot\u300C{name}\u300D","New\u2026":"\u65B0\u5EFA",Animation:"\u52A8\u753B","Bot animation":"Bot \u52A8\u753B",Quiet:"\u5B89\u9759",Normal:"\u6B63\u5E38",Lively:"\u6D3B\u6CFC",Settings:"\u8BBE\u7F6E",Usage:"\u7528\u91CF",Account:"\u8D26\u6237",Cancel:"\u53D6\u6D88",Delete:"\u5220\u9664",Duplicate:"\u590D\u5236\u4E00\u4EFD",Hidden:"\u5DF2\u9690\u85CF",Admin:"\u7BA1\u7406\u5458",Human:"\u4EBA",Chief:"Chief",Shared:"\u5171\u4EAB","Add person":"\u6DFB\u52A0\u6210\u5458","Add friend's Bot":"\u6DFB\u52A0\u597D\u53CB\u7684 Bot","Sending as {name}":"\u4EE5 {name} \u7684\u8EAB\u4EFD\u53D1\u9001","Messages in this room are attributed to you":"\u8FD9\u4E2A\u623F\u95F4\u91CC\u7684\u6D88\u606F\u4F1A\u8BB0\u5728\u4F60\u7684\u540D\u4E0B","You can remove your Bot from this room":"\u4F60\u53EF\u4EE5\u4ECE\u8FD9\u4E2A\u623F\u95F4\u79FB\u8D70\u81EA\u5DF1\u7684 Bot","Shared room from {name}":"\u6765\u81EA {name} \u7684\u5171\u4EAB\u623F\u95F4","a friend":"\u4E00\u4F4D\u670B\u53CB","Your Bot was invited to this room by {name}":"{name} \u9080\u8BF7\u4E86\u4F60\u7684 Bot \u52A0\u5165\u8FD9\u4E2A\u623F\u95F4","Invited {when}":"\u9080\u8BF7\u4E8E {when}","Remove my Bot":"\u79FB\u8D70\u6211\u7684 Bot","{count} to approve":"{count} \u6761\u5F85\u6279\u51C6","Outbound reply":"\u5F85\u53D1\u51FA\u7684\u56DE\u590D",Add:"\u6DFB\u52A0",Close:"\u5173\u95ED",Copy:"\u590D\u5236",Copied:"\u5DF2\u590D\u5236",Content:"\u5185\u5BB9","Referenced {labels}":"\u5F15\u7528\u4E86 {labels}",", ":"\u3001",You:"\u4F60",you:"\u4F60",Bot:"Bot","a Bot":"\u4E00\u4E2A Bot","a group chat":"\u4E00\u4E2A\u7FA4\u804A"," and ":"\u3001",and:"\u548C","{count} members":"{count} \u4F4D\u6210\u5458","{count} member":"{count} \u4F4D\u6210\u5458","1 person":"1 \u4EBA","{count} people":"{count} \u4EBA","1 Bot":"1 \u4E2A Bot","{count} Bots":"{count} \u4E2A Bot","Loading\u2026":"\u52A0\u8F7D\u4E2D\u2026","Edit Bot":"\u7F16\u8F91 Bot","Make Main Bot":"\u8BBE\u4E3A\u4E3B Bot","Remove Main Bot role":"\u53D6\u6D88\u4E3B Bot","Bot settings":"Bot \u8BBE\u7F6E","Create group chat":"\u65B0\u5EFA\u7FA4\u804A","{name} is not shared with {friend}, so it cannot be in a group with their Bot: the group's messages go to their home.":"{name} \u8FD8\u6CA1\u6709\u5171\u4EAB\u7ED9 {friend}\uFF0C\u6240\u4EE5\u4E0D\u80FD\u548C\u5BF9\u65B9\u7684 Bot \u5728\u540C\u4E00\u4E2A\u7FA4\u91CC\uFF1A\u7FA4\u6D88\u606F\u4F1A\u53D1\u5230\u5BF9\u65B9\u7684\u4E3B\u9875\u3002","{name} are not shared with {friend}, so they cannot be in a group with their Bot: the group's messages go to their home.":"{name} \u8FD8\u6CA1\u6709\u5171\u4EAB\u7ED9 {friend}\uFF0C\u6240\u4EE5\u4E0D\u80FD\u548C\u5BF9\u65B9\u7684 Bot \u5728\u540C\u4E00\u4E2A\u7FA4\u91CC\uFF1A\u7FA4\u6D88\u606F\u4F1A\u53D1\u5230\u5BF9\u65B9\u7684\u4E3B\u9875\u3002","that friend":"\u8FD9\u4F4D\u597D\u53CB","Copy invite link for {name}":"\u590D\u5236 {name} \u7684\u9080\u8BF7\u94FE\u63A5","Leave {name} out":"\u4E0D\u62C9 {name} \u8FDB\u7FA4","Invite link for {name} copied. Send it to your friend; once they accept, create the group again.":"{name} \u7684\u9080\u8BF7\u94FE\u63A5\u5DF2\u590D\u5236\u3002\u53D1\u7ED9\u597D\u53CB\uFF0C\u5BF9\u65B9\u63A5\u53D7\u540E\u518D\u91CD\u65B0\u5EFA\u7FA4\u3002","Invite link":"\u9080\u8BF7\u94FE\u63A5","Could not copy the invite link for {name}. Copy the link below and send it to your friend; once they accept, create the group again.":"\u65E0\u6CD5\u81EA\u52A8\u590D\u5236 {name} \u7684\u9080\u8BF7\u94FE\u63A5\u3002\u8BF7\u624B\u52A8\u590D\u5236\u4E0B\u9762\u7684\u94FE\u63A5\u53D1\u7ED9\u597D\u53CB\uFF0C\u5BF9\u65B9\u63A5\u53D7\u540E\u518D\u91CD\u65B0\u5EFA\u7FA4\u3002","Could not create the invite. Use Bot settings \u2192 Sharing \u2192 Copy invite link for this Bot.":"\u65E0\u6CD5\u521B\u5EFA\u9080\u8BF7\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E \u2192 Sharing \u91CC\u4F7F\u7528 Copy invite link for this Bot\u3002","Add friend":"\u6DFB\u52A0\u597D\u53CB","Friend requests":"\u597D\u53CB\u8BF7\u6C42","Accept or decline incoming requests.":"\u63A5\u53D7\u6216\u62D2\u7EDD\u6536\u5230\u7684\u8BF7\u6C42\u3002","Accept invite":"\u63A5\u53D7\u9080\u8BF7","Paste a friend\u2019s invite link or code.":"\u7C98\u8D34\u670B\u53CB\u7684\u9080\u8BF7\u94FE\u63A5\u6216\u9080\u8BF7\u7801\u3002","Copy invite link":"\u590D\u5236\u9080\u8BF7\u94FE\u63A5","Copy a link a friend can paste in Add friend.":"\u590D\u5236\u94FE\u63A5\uFF0C\u670B\u53CB\u5728\u6DFB\u52A0\u597D\u53CB\u91CC\u7C98\u8D34\u5373\u53EF\u3002","Copy my handle":"\u590D\u5236\u6211\u7684 handle","Your Bot Social handle":"\u4F60\u7684 Bot Social handle","Face-to-face":"\u9762\u5BF9\u9762","This Bot has no model set up yet.":"\u8FD9\u4E2A Bot \u8FD8\u6CA1\u6709\u914D\u7F6E\u6A21\u578B\u3002","This Bot could not answer right now.":"\u8FD9\u4E2A Bot \u73B0\u5728\u6CA1\u6CD5\u56DE\u7B54\u3002","Refreshing\u2026":"\u6B63\u5728\u5237\u65B0\u2026","Delete group":"\u5220\u9664\u7FA4\u804A","Open {name}'s chat":"\u6253\u5F00 {name} \u7684\u5BF9\u8BDD","New Bot":"\u65B0 Bot","Bot list":"Bot \u5217\u8868","Bot tree":"Bot \u6811","no longer shared":"\u5DF2\u4E0D\u518D\u5171\u4EAB","Messages waiting for your approval":"\u7B49\u4F60\u6279\u51C6\u7684\u6D88\u606F","Waiting for approval":"\u7B49\u5F85\u6279\u51C6","Decide on the reply bubble above.":"\u5728\u4E0A\u9762\u7684\u56DE\u590D\u6C14\u6CE1\u91CC\u6279\u51C6\u3002","Decide in {name}'s chat.":"\u5728 {name} \u7684\u804A\u5929\u91CC\u6279\u51C6\u3002","Not sent":"\u672A\u53D1\u51FA","{name} \xB7 Not sent":"{name} \xB7 \u672A\u53D1\u51FA","Sent to {to}":"\u5DF2\u53D1\u7ED9 {to}","Auto-sent to {to}":"\u5DF2\u81EA\u52A8\u53D1\u7ED9 {to}","Not sent: delivery failed":"\u672A\u53D1\u51FA\uFF1A\u53D1\u9001\u5931\u8D25","{from} \u2192 {to}":"{from} \u2192 {to}","+{count} more":"\u53E6\u6709 {count} \u6761",delegated:"\u59D4\u6258\u8F6C\u8FBE",All:"\u5168\u90E8",Filter:"\u7B5B\u9009",Review:"\u67E5\u770B","Attached files":"\u9644\u4EF6",Retry:"\u91CD\u8BD5",Approve:"\u6279\u51C6","Friend's Bot":"\u597D\u53CB\u7684 Bot",Unconfirmed:"\u672A\u786E\u8BA4","Not connected":"\u672A\u63A5\u5165",Expand:"\u5C55\u5F00",Collapse:"\u6536\u8D77","Setting up your Main Bot\u2026":"\u6B63\u5728\u8BBE\u7F6E\u4F60\u7684\u4E3B Bot\u2026","Connect apps":"\u8FDE\u63A5\u5E94\u7528",Plugins:"\u63D2\u4EF6",Connectors:"\u8FDE\u63A5\u5668","Search connectors":"\u641C\u7D22\u8FDE\u63A5\u5668","No connectors":"\u6682\u65E0\u8FDE\u63A5\u5668",Capabilities:"\u80FD\u529B","Shared capabilities":"\u5171\u4EAB\u80FD\u529B","Add capability":"\u6DFB\u52A0\u80FD\u529B","No capabilities saved":"\u8FD8\u6CA1\u6709\u4FDD\u5B58\u80FD\u529B",Type:"\u7C7B\u578B","MCP server":"MCP \u670D\u52A1",Skill:"\u6280\u80FD",Pack:"\u80FD\u529B\u5305",Connection:"\u8FDE\u63A5\u65B9\u5F0F","Local command":"\u672C\u5730\u547D\u4EE4","HTTP server":"HTTP \u670D\u52A1",Command:"\u547D\u4EE4","Arguments (one per line)":"\u53C2\u6570\uFF08\u6BCF\u884C\u4E00\u4E2A\uFF09","Environment (JSON)":"\u73AF\u5883\u53D8\u91CF\uFF08JSON\uFF09",'{"API_KEY": "$DSH_SECRET_MY_KEY"}':'{"API_KEY": "$DSH_SECRET_MY_KEY"}',URL:"URL","Headers (JSON)":"\u8BF7\u6C42\u5934\uFF08JSON\uFF09","Skill instructions":"\u6280\u80FD\u8BF4\u660E","Save changes":"\u4FDD\u5B58\u66F4\u6539",Edit:"\u7F16\u8F91","Click again to delete.":"\u518D\u70B9\u4E00\u6B21\u5220\u9664\u3002",Ready:"\u5C31\u7EEA","Needs approval":"\u9700\u8981\u6279\u51C6","No items":"\u6CA1\u6709\u9879\u76EE","Save an MCP server or skill first.":"\u8BF7\u5148\u4FDD\u5B58 MCP \u670D\u52A1\u6216\u6280\u80FD\u3002",Environment:"\u73AF\u5883\u53D8\u91CF",Headers:"\u8BF7\u6C42\u5934","{label} must be valid JSON.":"{label}\u5FC5\u987B\u662F\u6709\u6548\u7684 JSON\u3002","{label} must be a JSON object.":"{label}\u5FC5\u987B\u662F JSON \u5BF9\u8C61\u3002","Repositories, issues, and pull requests":"\u4ED3\u5E93\u3001issue \u548C PR","Connecting\u2026":"\u6B63\u5728\u8FDE\u63A5\u2026","Could not connect: {error}":"\u8FDE\u63A5\u5931\u8D25\uFF1A{error}","Connected as {account}":"\u5DF2\u8FDE\u63A5\uFF1A{account}","Bot Social":"Bot Social","Bot Social server":"Bot Social \u670D\u52A1\u5668","Connected as {handle}":"\u5DF2\u8FDE\u63A5\uFF1A{handle}","Held for your approval: contains {reasons}":"\u5DF2\u6263\u7559\uFF0C\u7B49\u5F85\u4F60\u6279\u51C6\uFF1A\u542B{reasons}","commitment language":"\u627F\u8BFA\u7528\u8BED","a phone number":"\u624B\u673A\u53F7","an email address":"\u90AE\u7BB1\u5730\u5740","a money amount":"\u91D1\u989D","one of your sensitive terms":"\u4F60\u8BBE\u7F6E\u7684\u654F\u611F\u8BCD","calendar details":"\u65E5\u7A0B\u8BE6\u60C5","No server set. Friends and sharing are off until you set one.":"\u8FD8\u6CA1\u6709\u8BBE\u7F6E\u670D\u52A1\u5668\u3002\u8BBE\u7F6E\u4E4B\u524D\uFF0C\u597D\u53CB\u548C\u5206\u4EAB\u529F\u80FD\u4E0D\u53EF\u7528\u3002","Set here":"\u5728\u8FD9\u91CC\u8BBE\u7F6E","Profile default":"\u914D\u7F6E\u6587\u4EF6\u9ED8\u8BA4\u503C","Not set":"\u672A\u8BBE\u7F6E","No server":"\u6CA1\u6709\u670D\u52A1\u5668","Change server":"\u66F4\u6362\u670D\u52A1\u5668",Features:"\u529F\u80FD","No optional features listed.":"\u670D\u52A1\u5668\u6CA1\u6709\u5217\u51FA\u53EF\u9009\u529F\u80FD\u3002","Supports: {list}":"\u652F\u6301\uFF1A{list}","typing as you":"\u4EE5\u4F60\u7684\u8EAB\u4EFD\u8F93\u5165","@mentions":"@\u63D0\u53CA","online status":"\u5728\u7EBF\u72B6\u6001","(+{count} more)":"\uFF08\u53E6\u6709 {count} \u9879\uFF09","Supports 1 optional feature":"\u652F\u6301 1 \u9879\u53EF\u9009\u529F\u80FD","Supports {count} optional features":"\u652F\u6301 {count} \u9879\u53EF\u9009\u529F\u80FD",Reachability:"\u8FDE\u901A\u6027","Read-only":"\u53EA\u8BFB","Another FlyBot window holds this team. Change the server there.":"\u53E6\u4E00\u4E2A FlyBot \u7A97\u53E3\u6B63\u5728\u4F7F\u7528\u8FD9\u4E2A\u56E2\u961F\uFF0C\u8BF7\u5728\u90A3\u91CC\u66F4\u6362\u670D\u52A1\u5668\u3002","Switch server":"\u5207\u6362\u670D\u52A1\u5668","Server address":"\u670D\u52A1\u5668\u5730\u5740","Used before:":"\u7528\u8FC7\u7684\u670D\u52A1\u5668\uFF1A","{host} (profile default)":"{host}\uFF08\u914D\u7F6E\u6587\u4EF6\u9ED8\u8BA4\u503C\uFF09","Name for your home (optional)":"\u4F60\u7684\u4E3B\u9875\u540D\u79F0\uFF08\u53EF\u9009\uFF09","Switching servers changes who you are":"\u6362\u670D\u52A1\u5668\uFF0C\u5C31\u662F\u6362\u4E00\u4E2A\u8EAB\u4EFD","You used this server before. Your saved identity, friends and settings for it come back.":"\u4F60\u4EE5\u524D\u7528\u8FC7\u8FD9\u53F0\u670D\u52A1\u5668\uFF0C\u5B83\u4E0A\u9762\u4FDD\u5B58\u7684\u8EAB\u4EFD\u3001\u597D\u53CB\u548C\u8BBE\u7F6E\u4F1A\u6062\u590D\u3002","You get a new identity on this server. The friends and sharing you have now stay on the current server; they do not move.":"\u4F60\u4F1A\u5728\u8FD9\u53F0\u670D\u52A1\u5668\u4E0A\u5F97\u5230\u4E00\u4E2A\u65B0\u8EAB\u4EFD\u3002\u73B0\u5728\u7684\u597D\u53CB\u548C\u5206\u4EAB\u7559\u5728\u5F53\u524D\u670D\u52A1\u5668\u4E0A\uFF0C\u4E0D\u4F1A\u642C\u8FC7\u53BB\u3002","Your current sign-in is kept as a backup on this computer and is never deleted. Switch back any time.":"\u5F53\u524D\u7684\u767B\u5F55\u51ED\u636E\u4F1A\u4F5C\u4E3A\u5907\u4EFD\u4FDD\u7559\u5728\u8FD9\u53F0\u7535\u8111\u4E0A\uFF0C\u4E0D\u4F1A\u88AB\u5220\u9664\u3002\u968F\u65F6\u53EF\u4EE5\u5207\u6362\u56DE\u6765\u3002","Your Bots stop being shared with friends until you share them again on the new server.":"\u5728\u65B0\u670D\u52A1\u5668\u4E0A\u91CD\u65B0\u5206\u4EAB\u4E4B\u524D\uFF0C\u4F60\u7684 Bot \u4E0D\u518D\u4E0E\u597D\u53CB\u5171\u4EAB\u3002",Friends:"\u597D\u53CB","No friends yet.":"\u8FD8\u6CA1\u6709\u597D\u53CB\u3002","Could not load friends.":"\u597D\u53CB\u6CA1\u6709\u52A0\u8F7D\u51FA\u6765\u3002","Accept them in Add friend.":"\u5230\u300C\u6DFB\u52A0\u597D\u53CB\u300D\u91CC\u63A5\u53D7\u3002","Waiting for them to accept":"\u7B49\u5F85\u5BF9\u65B9\u63A5\u53D7","Same panel as the + menu.":"\u548C\u4FA7\u680F\u7684 + \u83DC\u5355\u662F\u540C\u4E00\u4E2A\u9762\u677F\u3002","People with access":"\u53EF\u8BBF\u95EE\u7684\u4EBA","People with access to {name}":"\u53EF\u8BBF\u95EE {name} \u7684\u4EBA","No Bots to share yet.":"\u8FD8\u6CA1\u6709\u53EF\u5206\u4EAB\u7684 Bot\u3002","This is the server you already use.":"\u8FD9\u5C31\u662F\u4F60\u6B63\u5728\u7528\u7684\u670D\u52A1\u5668\u3002","Switching\u2026":"\u6B63\u5728\u5207\u6362\u2026","Switch to this server":"\u5207\u6362\u5230\u8FD9\u53F0\u670D\u52A1\u5668",Check:"\u68C0\u67E5",Connected:"\u5DF2\u8FDE\u63A5",Disconnect:"\u65AD\u5F00",Connect:"\u8FDE\u63A5","GitHub token":"GitHub token","Create a token on GitHub":"\u53BB GitHub \u751F\u6210 token","Could not reach GitHub":"\u8FDE\u4E0D\u4E0A GitHub","GitHub did not accept this token":"GitHub \u4E0D\u63A5\u53D7\u8FD9\u4E2A token","GitHub did not say who this token belongs to":"GitHub \u6CA1\u6709\u8FD4\u56DE\u8FD9\u4E2A token \u7684\u8D26\u53F7","Paste a token first":"\u8BF7\u5148\u7C98\u8D34 token","GitHub addresses must start with https://":"GitHub \u5730\u5740\u5FC5\u987B\u4EE5 https:// \u5F00\u5934","This DSH cannot load connectors":"\u8FD9\u4E2A DSH \u4E0D\u80FD\u52A0\u8F7D\u8FDE\u63A5\u5668","No such connector":"\u6CA1\u6709\u8FD9\u4E2A\u8FDE\u63A5\u5668","Gmail, Slack, Calendar, Notion and many more apps, through one Composio key":"Gmail\u3001Slack\u3001\u65E5\u5386\u3001Notion \u7B49\u4F17\u591A\u5E94\u7528\uFF0C\u4E00\u4E2A Composio key \u5C31\u80FD\u8FDE","Posts into one Feishu group through a custom bot webhook":"\u901A\u8FC7\u81EA\u5B9A\u4E49\u673A\u5668\u4EBA webhook \u53D1\u5230\u4F60\u7684\u4E00\u4E2A\u98DE\u4E66\u7FA4","Feishu webhook URL":"\u98DE\u4E66 webhook \u5730\u5740","Get a webhook URL in Feishu":"\u53BB\u98DE\u4E66\u83B7\u53D6 webhook \u5730\u5740","Custom bot webhook":"\u81EA\u5B9A\u4E49\u673A\u5668\u4EBA webhook","App (long connection)":"\u81EA\u5EFA\u5E94\u7528\uFF08\u957F\u8FDE\u63A5\uFF09","Webhook URL":"Webhook \u5730\u5740","App ID":"App ID","App Secret":"App Secret","Create a Feishu app":"\u53BB\u98DE\u4E66\u521B\u5EFA\u81EA\u5EFA\u5E94\u7528","How to connect":"\u8FDE\u63A5\u65B9\u5F0F","Connected: app, over the long connection":"\u5DF2\u8FDE\u63A5\uFF1A\u81EA\u5EFA\u5E94\u7528\uFF0C\u8D70\u957F\u8FDE\u63A5","Connected: custom bot webhook":"\u5DF2\u8FDE\u63A5\uFF1A\u81EA\u5B9A\u4E49\u673A\u5668\u4EBA webhook","Who may talk to the Bots":"\u5141\u8BB8\u7684\u98DE\u4E66\u7528\u6237","Nobody yet. A message from anyone else starts no turn.":"\u8FD8\u6CA1\u6709\u4EBA\u3002\u5176\u4ED6\u4EBA\u53D1\u6765\u7684\u6D88\u606F\u4E0D\u4F1A\u8D77 turn\u3002","Paste an open_id to allow":"\u7C98\u8D34 open_id \u6765\u5141\u8BB8\u67D0\u4E2A\u4EBA","Feishu open_id":"\u98DE\u4E66 open_id",Block:"\u79FB\u9664","Message to send to Feishu":"\u8981\u53D1\u5230\u98DE\u4E66\u7684\u6D88\u606F","Type a message for the Feishu group":"\u8F93\u5165\u8981\u53D1\u5230\u98DE\u4E66\u7FA4\u7684\u6D88\u606F",Send:"\u53D1\u9001","Connected: {apps}":"\u5DF2\u8FDE\u63A5\uFF1A{apps}","Composio API key":"Composio API key","Get a Composio API key":"\u53BB Composio \u83B7\u53D6 API key","Search apps":"\u641C\u7D22\u5E94\u7528","Search Composio apps":"\u641C\u7D22 Composio \u5E94\u7528","Could not search Composio: {error}":"\u65E0\u6CD5\u641C\u7D22 Composio\uFF1A{error}","No apps match":"\u6CA1\u6709\u5339\u914D\u7684\u5E94\u7528","Picked apps":"\u5DF2\u9009\u5E94\u7528","Apps to add":"\u53EF\u6DFB\u52A0\u7684\u5E94\u7528","Remove {app}":"\u79FB\u9664 {app}","App status":"\u5E94\u7528\u72B6\u6001","Needs sign-in":"\u9700\u8981\u767B\u5F55","Choose apps":"\u9009\u62E9\u5E94\u7528","Pick at least one app":"\u81F3\u5C11\u9009\u4E00\u4E2A\u5E94\u7528",'An app name has only lowercase letters, digits, "_" and "-"':"\u5E94\u7528\u540D\u53EA\u80FD\u542B\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u201C_\u201D\u548C\u201C-\u201D","The first time a Bot uses an app, it shows a sign-in link in the chat.":"Bot \u7B2C\u4E00\u6B21\u7528\u67D0\u4E2A\u5E94\u7528\u65F6\uFF0C\u4F1A\u5728\u804A\u5929\u91CC\u7ED9\u51FA\u767B\u5F55\u94FE\u63A5\u3002","Paste a key first":"\u8BF7\u5148\u7C98\u8D34 key","Could not reach Composio":"\u8FDE\u4E0D\u4E0A Composio","Composio did not accept this API key":"Composio \u4E0D\u63A5\u53D7\u8FD9\u4E2A API key","Composio did not give an MCP address":"Composio \u6CA1\u6709\u8FD4\u56DE MCP \u5730\u5740","Composio did not give a session id":"Composio \u6CA1\u6709\u8FD4\u56DE\u4F1A\u8BDD id","Say whether to turn it on or off":"\u8BF7\u8BF4\u660E\u662F\u5F00\u542F\u8FD8\u662F\u5173\u95ED","Composio gave an MCP address on another host":"Composio \u8FD4\u56DE\u7684 MCP \u5730\u5740\u4E0D\u5728\u5B83\u81EA\u5DF1\u7684\u57DF\u540D\u4E0A","Composio addresses must start with https://":"Composio \u5730\u5740\u5FC5\u987B\u4EE5 https:// \u5F00\u5934","Connect Composio first":"\u8BF7\u5148\u8FDE\u63A5 Composio","This connector has no apps to pick":"\u8FD9\u4E2A\u8FDE\u63A5\u5668\u6CA1\u6709\u53EF\u9009\u7684\u5E94\u7528","Switch to classic Agent mode":"\u5207\u6362\u7ECF\u5178 Agent \u6A21\u5F0F","{model} is not available anymore. Pick another model for me.":"{model} \u5DF2\u7ECF\u4E0D\u53EF\u7528\u4E86\u3002\u7ED9\u6211\u6362\u4E00\u4E2A\u6A21\u578B\u5427\u3002","{name} ({handle}) is no longer shared with you, so messages to it cannot be delivered. It runs on its owner's machine, so another model cannot stand in. Ask its owner for a new invite.":"{name}\uFF08{handle}\uFF09\u5DF2\u4E0D\u518D\u4E0E\u4F60\u5171\u4EAB\uFF0C\u6D88\u606F\u65E0\u6CD5\u9001\u8FBE\u3002\u5B83\u8FD0\u884C\u5728\u4E3B\u4EBA\u7684\u673A\u5668\u4E0A\uFF0C\u4E0D\u80FD\u6362\u7528\u5176\u4ED6\u6A21\u578B\u3002\u8BF7\u5411\u5B83\u7684\u4E3B\u4EBA\u8981\u4E00\u4E2A\u65B0\u7684\u9080\u8BF7\u3002","Hi, I'm {name}. I don't have a model yet. How do you want to set one up?":"\u4F60\u597D\uFF0C\u6211\u662F {name}\u3002\u6211\u8FD8\u6CA1\u6709\u53EF\u7528\u7684\u6A21\u578B\u3002\u4F60\u60F3\u600E\u4E48\u914D\u7F6E\uFF1F","Hi, I'm {name}. Pick a model for me first. You can change it later in my details.":"\u4F60\u597D\uFF0C\u6211\u662F {name}\u3002\u5148\u7ED9\u6211\u9009\u4E00\u4E2A\u6A21\u578B\u5427\uFF0C\u4EE5\u540E\u53EF\u4EE5\u5728\u6211\u7684\u8BE6\u60C5\u91CC\u6362\u3002","Sign in to DeepSeek":"\u767B\u5F55 DeepSeek \u8D26\u53F7","Enter a DeepSeek API key":"\u586B\u5165 DeepSeek API key","How to set a DeepSeek API key":"\u5982\u4F55\u8BBE\u7F6E DeepSeek API key","Open settings to set up a custom model":"\u6253\u5F00\u8BBE\u7F6E\u914D\u7F6E\u81EA\u5B9A\u4E49\u6A21\u578B",FlyBot:"FlyBot","FlyBot core":"FlyBot \u6838\u5FC3","Message {name}":"\u7ED9 {name} \u53D1\u6D88\u606F",Message:"\u53D1\u6D88\u606F","View conversation details":"\u67E5\u770B\u5BF9\u8BDD\u8BE6\u60C5","1 new message":"1 \u6761\u65B0\u6D88\u606F","{count} new messages":"{count} \u6761\u65B0\u6D88\u606F","New messages":"\u65B0\u6D88\u606F","Dismiss new messages":"\u5173\u95ED\u65B0\u6D88\u606F\u63D0\u793A",New:"\u65B0","Add to group chat":"\u52A0\u5165\u7FA4\u804A","Message Bot":"\u7ED9 Bot \u53D1\u6D88\u606F","To:":"\u53D1\u7ED9\uFF1A","Remove {name}":"\u79FB\u9664 {name}",Recipient:"\u6536\u4EF6\u4EBA",Recipients:"\u6536\u4EF6\u4EBA","Search Bots\u2026":"\u641C\u7D22 Bot\u2026","Start a chat with\u2026":"\u548C\u8C01\u804A\u2026","Close new chat":"\u5173\u95ED\u65B0\u5BF9\u8BDD","No Bots match":"\u6CA1\u6709\u5339\u914D\u7684 Bot","Type a name to create a Bot":"\u8F93\u5165\u540D\u5B57\u6765\u65B0\u5EFA Bot","Send message":"\u53D1\u9001",Details:"\u8BE6\u60C5",Browser:"\u6D4F\u89C8\u5668",About:"\u7B80\u4ECB","Show less":"\u6536\u8D77","Show more":"\u5C55\u5F00","Admin leads":"\u7BA1\u7406\u5458\u4E3B\u6301","Plain messages go to the admin, who calls others with @Name.":"\u666E\u901A\u6D88\u606F\u5148\u7ED9\u7BA1\u7406\u5458\uFF0C\u7531\u7BA1\u7406\u5458\u7528 @\u540D\u5B57 \u70B9\u540D\u5176\u4ED6\u6210\u5458\u3002",Everyone:"\u6240\u6709\u4EBA","Every member answers in turn, admin first.":"\u6BCF\u4F4D\u6210\u5458\u8F6E\u6D41\u56DE\u7B54\uFF0C\u7BA1\u7406\u5458\u5148\u8BF4\u3002","Members \xB7 {count}":"\u6210\u5458 \xB7 {count}","{name} (you)":"{name}\uFF08\u4F60\uFF09",Someone:"\u67D0\u4EBA","Leave the group without an admin":"\u8BA9\u7FA4\u804A\u4E0D\u8BBE\u7BA1\u7406\u5458",Unset:"\u53D6\u6D88","Make admin":"\u8BBE\u4E3A\u7BA1\u7406\u5458","Task lead":"\u603B\u8D1F\u8D23\u4EBA","Make task lead":"\u8BBE\u4E3A\u603B\u8D1F\u8D23\u4EBA","Use the admin":"\u6539\u7531\u7BA1\u7406\u5458\u8D1F\u8D23","The task lead divides the board. When unset, the admin does.":"\u603B\u8D1F\u8D23\u4EBA\u62C6\u5206\u770B\u677F\u4EFB\u52A1\u3002\u672A\u6307\u5B9A\u65F6\u7531\u7BA1\u7406\u5458\u8D1F\u8D23\u3002","Room lead":"\u603B\u8D1F\u8D23\u4EBA",Lead:"\u603B\u8D1F\u8D23\u4EBA","Make lead":"\u8BBE\u4E3A\u603B\u8D1F\u8D23\u4EBA","Use the default lead":"\u6539\u56DE\u9ED8\u8BA4\u603B\u8D1F\u8D23\u4EBA","Writes the plan and gives each Bot its part.":"\u5199\u8BA1\u5212\uFF0C\u5E76\u7ED9\u6BCF\u4E2A Bot \u5206\u914D\u4EFB\u52A1\u3002","Default: the first Bot of the room creator that joined.":"\u9ED8\u8BA4\uFF1A\u623F\u95F4\u521B\u5EFA\u8005\u6700\u5148\u52A0\u5165\u7684 Bot\u3002","Only the person who created this room can change it.":"\u53EA\u6709\u521B\u5EFA\u8FD9\u4E2A\u623F\u95F4\u7684\u4EBA\u53EF\u4EE5\u66F4\u6539\u3002","Could not change the room lead.":"\u65E0\u6CD5\u66F4\u6539\u603B\u8D1F\u8D23\u4EBA\u3002","Remove {name} from the group":"\u628A {name} \u79FB\u51FA\u7FA4\u804A","Remove from group":"\u79FB\u51FA\u7FA4\u804A","Add member":"\u6DFB\u52A0\u6210\u5458","{name} leads this group: it can call members with @Name, change the group, and post here.":"{name} \u4E3B\u6301\u8FD9\u4E2A\u7FA4\uFF1A\u53EF\u4EE5\u7528 @\u540D\u5B57 \u70B9\u540D\u6210\u5458\u3001\u4FEE\u6539\u7FA4\u8BBE\u7F6E\u3001\u5728\u7FA4\u91CC\u53D1\u8A00\u3002","No admin yet. An admin can call members with @Name, change the group, and post here.":"\u8FD8\u6CA1\u6709\u7BA1\u7406\u5458\u3002\u7BA1\u7406\u5458\u53EF\u4EE5\u7528 @\u540D\u5B57 \u70B9\u540D\u6210\u5458\u3001\u4FEE\u6539\u7FA4\u8BBE\u7F6E\u3001\u5728\u7FA4\u91CC\u53D1\u8A00\u3002","Who answers":"\u8C01\u6765\u56DE\u7B54","Choose an admin first":"\u5148\u9009\u4E00\u4E2A\u7BA1\u7406\u5458","@mentions always pick who answers.":"@\u63D0\u53CA\u603B\u662F\u6307\u5B9A\u7531\u8C01\u56DE\u7B54\u3002",Notice:"\u7FA4\u516C\u544A","Shared instructions every member reads before speaking\u2026":"\u6BCF\u4F4D\u6210\u5458\u53D1\u8A00\u524D\u90FD\u4F1A\u8BFB\u5230\u7684\u5171\u540C\u8BF4\u660E\u2026","Group notice":"\u7FA4\u516C\u544A","Back to details":"\u8FD4\u56DE\u8BE6\u60C5","Close details":"\u5173\u95ED\u8BE6\u60C5","Copied conversation":"\u5DF2\u590D\u5236\u5BF9\u8BDD","Share conversation":"\u5206\u4EAB\u5BF9\u8BDD","Copy conversation":"\u590D\u5236\u5BF9\u8BDD","Nothing to copy yet":"\u8FD8\u6CA1\u6709\u53EF\u590D\u5236\u7684\u5185\u5BB9","Conversation copied as Markdown":"\u5BF9\u8BDD\u5DF2\u590D\u5236\u4E3A Markdown","Could not copy the conversation":"\u65E0\u6CD5\u590D\u5236\u5BF9\u8BDD","No messages yet. Say something to {name}.":"\u8FD8\u6CA1\u6709\u6D88\u606F\u3002\u7ED9 {name} \u53D1\u70B9\u4EC0\u4E48\u5427\u3002","This model does not support that request. Pick another model in the Bot's settings.":"\u8BE5\u6A21\u578B\u4E0D\u652F\u6301\u8FD9\u9879\u8BF7\u6C42\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u6362\u4E00\u4E2A\u6A21\u578B\u3002","This model does not support {feature}. Pick another model in the Bot's settings.":"\u8BE5\u6A21\u578B\u4E0D\u652F\u6301 {feature}\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u6362\u4E00\u4E2A\u6A21\u578B\u3002","The provider does not know this model. Check the model name in the Bot's settings.":"\u670D\u52A1\u65B9\u4E0D\u8BA4\u8BC6\u8FD9\u4E2A\u6A21\u578B\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u68C0\u67E5\u6A21\u578B\u540D\u79F0\u3002","The conversation is longer than this model can read. Condense it, or pick a model with a larger window.":"\u8FD9\u6BB5\u5BF9\u8BDD\u8D85\u51FA\u4E86\u8BE5\u6A21\u578B\u80FD\u8BFB\u7684\u957F\u5EA6\u3002\u8BF7\u538B\u7F29\u5BF9\u8BDD\uFF0C\u6216\u6362\u4E00\u4E2A\u4E0A\u4E0B\u6587\u66F4\u5927\u7684\u6A21\u578B\u3002","The model service refused the request. Check the model and the endpoint in the Bot's settings.":"\u6A21\u578B\u670D\u52A1\u62D2\u7EDD\u4E86\u8FD9\u6B21\u8BF7\u6C42\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u68C0\u67E5\u6A21\u578B\u548C\u63A5\u53E3\u5730\u5740\u3002","Copy conversation as Markdown":"\u628A\u5BF9\u8BDD\u590D\u5236\u4E3A Markdown","This conversation is not part of your Bot team.":"\u8FD9\u4E2A\u5BF9\u8BDD\u4E0D\u5C5E\u4E8E\u4F60\u7684 Bot \u56E2\u961F\u3002","Admin {name}":"\u7BA1\u7406\u5458 {name}","No admin":"\u65E0\u7BA1\u7406\u5458","Bot name":"Bot \u540D\u5B57","Group name":"\u7FA4\u540D","Name after members":"\u6309\u6210\u5458\u547D\u540D","Rename {name}":"\u91CD\u547D\u540D {name}",Rename:"\u91CD\u547D\u540D","Add instructions in Bot settings":"\u5728 Bot \u8BBE\u7F6E\u91CC\u6DFB\u52A0\u8BF4\u660E","No scheduled tasks yet. To add one, tell the Bot in its chat what to do and when.":"\u8FD8\u6CA1\u6709\u5B9A\u65F6\u4EFB\u52A1\u3002\u8981\u6DFB\u52A0\uFF0C\u5728\u5BF9\u8BDD\u91CC\u544A\u8BC9 Bot \u505A\u4EC0\u4E48\u3001\u4EC0\u4E48\u65F6\u5019\u505A\u3002","The browser is in the DSH Desktop app.":"\u6D4F\u89C8\u5668\u5728 DSH \u684C\u9762\u7248\u5E94\u7528\u91CC\u3002","New tab":"\u65B0\u6807\u7B7E\u9875","Close tab":"\u5173\u95ED\u6807\u7B7E\u9875","Open {title}":"\u6253\u5F00 {title}","Conversation details":"\u5BF9\u8BDD\u8BE6\u60C5","Panel tabs":"\u9762\u677F\u6807\u7B7E\u9875","Close panel":"\u5173\u95ED\u9762\u677F","Choose a PNG, JPEG, WebP, or GIF image":"\u8BF7\u9009\u62E9 PNG\u3001JPEG\u3001WebP \u6216 GIF \u56FE\u7247","Choose an image smaller than 25 MB":"\u8BF7\u9009\u62E9\u5C0F\u4E8E 25 MB \u7684\u56FE\u7247","That image is too large":"\u56FE\u7247\u592A\u5927\u4E86",Model:"\u6A21\u578B","Avatar editor":"\u5F62\u8C61\u7F16\u8F91","Avatar source":"\u5F62\u8C61\u6765\u6E90",Upload:"\u4E0A\u4F20","Reset character to default":"\u6062\u590D\u9ED8\u8BA4\u5F62\u8C61",Reset:"\u6062\u590D\u9ED8\u8BA4","Character shape":"\u5F62\u72B6","Character color":"\u989C\u8272","Drag, drop, or paste an image":"\u62D6\u5165\u6216\u7C98\u8D34\u4E00\u5F20\u56FE\u7247",Replace:"\u66FF\u6362","Browse files":"\u9009\u62E9\u6587\u4EF6","Remove photo":"\u79FB\u9664\u7167\u7247","Edit Bot avatar":"\u7F16\u8F91 Bot \u5F62\u8C61",Name:"\u540D\u5B57",Instructions:"\u8BF4\u660E","What this Bot is responsible for\u2026":"\u8FD9\u4E2A Bot \u8D1F\u8D23\u4EC0\u4E48\u2026","Pick the model this Bot runs on.":"\u9009\u62E9\u8FD9\u4E2A Bot \u4F7F\u7528\u7684\u6A21\u578B\u3002","This model is not available now. Pick another one.":"\u8FD9\u4E2A\u6A21\u578B\u73B0\u5728\u4E0D\u53EF\u7528\uFF0C\u8BF7\u6362\u4E00\u4E2A\u3002","Every message of this Bot runs on it.":"\u8FD9\u4E2A Bot \u7684\u6BCF\u6761\u6D88\u606F\u90FD\u7528\u5B83\u3002","Applies from the next message.":"\u4ECE\u4E0B\u4E00\u6761\u6D88\u606F\u5F00\u59CB\u751F\u6548\u3002","Test connection":"\u6D4B\u8BD5\u8FDE\u63A5","Testing\u2026":"\u6B63\u5728\u6D4B\u8BD5\u2026","Sends one short request to this model. It may be billed.":"\u4F1A\u5411\u8FD9\u4E2A\u6A21\u578B\u53D1\u9001\u4E00\u6761\u5F88\u77ED\u7684\u8BF7\u6C42\uFF0C\u53EF\u80FD\u4EA7\u751F\u8D39\u7528\u3002","Works. {model} answered.":"\u8FDE\u63A5\u6B63\u5E38\uFF0C{model} \u5DF2\u56DE\u590D\u3002","Works. {model} answered in {seconds} s.":"\u8FDE\u63A5\u6B63\u5E38\uFF0C{model} \u5728 {seconds} \u79D2\u5185\u56DE\u590D\u3002","Pick a model first.":"\u8BF7\u5148\u9009\u62E9\u4E00\u4E2A\u6A21\u578B\u3002","This model has no API key yet. Set one up in the model settings.":"\u8FD9\u4E2A\u6A21\u578B\u8FD8\u6CA1\u6709 API \u5BC6\u94A5\uFF0C\u8BF7\u5728\u6A21\u578B\u8BBE\u7F6E\u91CC\u586B\u5199\u3002","The API key was rejected. Check it in the model settings.":"API \u5BC6\u94A5\u88AB\u62D2\u7EDD\uFF0C\u8BF7\u5728\u6A21\u578B\u8BBE\u7F6E\u91CC\u68C0\u67E5\u3002","The account is out of quota.":"\u8D26\u6237\u989D\u5EA6\u5DF2\u7528\u5B8C\u3002","Too many requests right now. Try again in a moment.":"\u8BF7\u6C42\u592A\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002","The model did not answer within 30 seconds.":"\u6A21\u578B\u5728 30 \u79D2\u5185\u6CA1\u6709\u56DE\u590D\u3002","This model is not available now. Check its provider in the model settings.":"\u8FD9\u4E2A\u6A21\u578B\u73B0\u5728\u4E0D\u53EF\u7528\uFF0C\u8BF7\u5728\u6A21\u578B\u8BBE\u7F6E\u91CC\u68C0\u67E5\u5B83\u7684\u670D\u52A1\u5546\u3002","The provider does not know this model. Check the model name.":"\u670D\u52A1\u5546\u6CA1\u6709\u8FD9\u4E2A\u6A21\u578B\uFF0C\u8BF7\u68C0\u67E5\u6A21\u578B\u540D\u79F0\u3002","Could not reach the model service. Check the endpoint address and your network.":"\u8FDE\u4E0D\u4E0A\u6A21\u578B\u670D\u52A1\uFF0C\u8BF7\u68C0\u67E5\u63A5\u53E3\u5730\u5740\u548C\u7F51\u7EDC\u3002","The model service failed. Try again later.":"\u6A21\u578B\u670D\u52A1\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002","The model service refused the request. Check the endpoint and the model.":"\u6A21\u578B\u670D\u52A1\u62D2\u7EDD\u4E86\u8BF7\u6C42\uFF0C\u8BF7\u68C0\u67E5\u63A5\u53E3\u5730\u5740\u548C\u6A21\u578B\u3002","The test failed.":"\u6D4B\u8BD5\u5931\u8D25\u3002","A test is already running for this Bot.":"\u8FD9\u4E2A Bot \u5DF2\u7ECF\u5728\u6D4B\u8BD5\u4E2D\u3002","A friend's Bot runs on its owner's model.":"\u670B\u53CB\u7684 Bot \u4F7F\u7528\u5B83\u4E3B\u4EBA\u7684\u6A21\u578B\u3002",Profile:"\u8D44\u6599",Label:"\u6807\u7B7E","Optional. Shown under the name.":"\u53EF\u9009\uFF0C\u663E\u793A\u5728\u540D\u5B57\u4E0B\u65B9\u3002","Research, admin\u2026":"\u7814\u7A76\u3001\u884C\u653F\u2026","What this Bot does":"\u8FD9\u4E2A Bot \u505A\u4EC0\u4E48","Its job on the team. Part of the Bot's system prompt.":"\u5B83\u5728\u56E2\u961F\u91CC\u7684\u5206\u5DE5\uFF0C\u4F1A\u5199\u8FDB Bot \u7684\u7CFB\u7EDF\u63D0\u793A\u8BCD\u3002","A copy with the same job and model, and fresh memory.":"\u590D\u5236\u5206\u5DE5\u548C\u6A21\u578B\uFF0C\u8BB0\u5FC6\u4ECE\u96F6\u5F00\u59CB\u3002","Delete {name}?":"\u5220\u9664 {name}\uFF1F","Delete Bot":"\u5220\u9664 Bot","Click again to delete. Its chats are archived.":"\u518D\u70B9\u4E00\u6B21\u5220\u9664\uFF0C\u5B83\u7684\u5BF9\u8BDD\u4F1A\u5F52\u6863\u3002","Removes the Bot from the team.":"\u628A\u8FD9\u4E2A Bot \u4ECE\u56E2\u961F\u91CC\u79FB\u9664\u3002","Pick a model and {name} can start.":"\u9009\u597D\u6A21\u578B\uFF0C{name} \u5C31\u80FD\u5F00\u59CB\u5DE5\u4F5C\u3002",Permissions:"\u6743\u9650","Read only":"\u4EC5\u53EF\u67E5\u770B",Workspace:"\u5DE5\u4F5C\u533A\u5185\u4FEE\u6539","Full access":"\u5B8C\u5168\u6743\u9650","The only Main Bot. To hand the role to another Bot, use Main Bot on the Bots page.":"\u8FD9\u662F\u552F\u4E00\u7684\u4E3B Bot\u3002\u8981\u628A\u4E3B Bot \u4EA4\u7ED9\u522B\u7684 Bot\uFF0C\u8BF7\u5230\u300CBot\u300D\u9875\u7684\u4E3B Bot \u91CC\u6362\u3002",Change:"\u66F4\u6362","Can create and change Bots, and runs every group chat.":"\u53EF\u4EE5\u521B\u5EFA\u548C\u4FEE\u6539 Bot\uFF0C\u5E76\u7BA1\u7406\u6240\u6709\u7FA4\u804A\u3002",Sidebar:"\u4FA7\u680F","Kept above the other chats.":"\u6392\u5728\u5176\u4ED6\u5BF9\u8BDD\u4E0A\u9762\u3002","Search still finds it.":"\u4ECD\u7136\u53EF\u4EE5\u641C\u7D22\u5230\u3002",Manage:"\u7BA1\u7406","Send a message. Your friend approves unless Auto-send is on.":"\u53D1\u9001\u6D88\u606F\u3002\u9664\u975E\u5DF2\u5F00\u542F\u81EA\u52A8\u53D1\u9001\uFF0C\u5426\u5219\u597D\u53CB\u9700\u8981\u6279\u51C6\u3002","Leave it empty to name the group after its members.":"\u7559\u7A7A\u5C31\u6309\u6210\u5458\u547D\u540D\u3002","Every member reads it before speaking in this group.":"\u6BCF\u4F4D\u6210\u5458\u5728\u8FD9\u4E2A\u7FA4\u91CC\u53D1\u8A00\u524D\u90FD\u4F1A\u8BFB\u5230\u3002","Add a Bot first: a group chat needs at least two.":"\u8BF7\u5148\u6DFB\u52A0\u4E00\u4E2A Bot\uFF1A\u7FA4\u804A\u81F3\u5C11\u8981\u4E24\u4E2A\u3002","Click again to delete. Its history is archived.":"\u518D\u70B9\u4E00\u6B21\u5220\u9664\uFF0C\u804A\u5929\u8BB0\u5F55\u4F1A\u5F52\u6863\u3002","Removes the group chat. Its members stay on the team.":"\u5220\u9664\u8FD9\u4E2A\u7FA4\u804A\uFF0C\u6210\u5458\u4ECD\u7559\u5728\u56E2\u961F\u91CC\u3002","Add a notice in group settings":"\u5728\u7FA4\u8BBE\u7F6E\u91CC\u6DFB\u52A0\u7FA4\u516C\u544A","Create Bot":"\u521B\u5EFA Bot","Back to new chat":"\u8FD4\u56DE\u65B0\u5BF9\u8BDD",Look:"\u5F62\u8C61",Shuffle:"\u968F\u673A","Replace photo":"\u66F4\u6362\u7167\u7247","Upload photo":"\u4E0A\u4F20\u7167\u7247","A Bot named {name} already exists":"\u5DF2\u7ECF\u6709\u53EB {name} \u7684 Bot \u4E86","The Bot runs on this model. You can change it later in its details.":"Bot \u4F1A\u4F7F\u7528\u8FD9\u4E2A\u6A21\u578B\u3002\u4EE5\u540E\u53EF\u4EE5\u5728\u8BE6\u60C5\u91CC\u4FEE\u6539\u3002","Add a provider and a model in DeepSeek Harness first, or pick one in the Bot's chat later.":"\u8BF7\u5148\u5728 DeepSeek Harness \u91CC\u6DFB\u52A0\u670D\u52A1\u5546\u548C\u6A21\u578B\uFF0C\u6216\u8005\u7A0D\u540E\u5728 Bot \u7684\u5BF9\u8BDD\u91CC\u9009\u62E9\u3002","Creating\u2026":"\u521B\u5EFA\u4E2D\u2026",Create:"\u521B\u5EFA",Default:"\u9ED8\u8BA4","Thinking level":"\u601D\u8003\u5F3A\u5EA6","Model: {model}":"\u6A21\u578B\uFF1A{model}",none:"\u65E0","Choose a model":"\u9009\u62E9\u6A21\u578B","{provider} \xB7 not available":"{provider} \xB7 \u4E0D\u53EF\u7528","Model for {name}":"{name} \u7684\u6A21\u578B","No models are set up in DeepSeek Harness yet.":"DeepSeek Harness \u91CC\u8FD8\u6CA1\u6709\u8BBE\u7F6E\u6A21\u578B\u3002","Models and providers\u2026":"\u6A21\u578B\u548C\u670D\u52A1\u5546\u2026",Models:"\u6A21\u578B","Harness default":"Harness \u9ED8\u8BA4",Saving:"\u4FDD\u5B58\u4E2D","Manage models":"\u7BA1\u7406\u6A21\u578B","This turn failed":"\u672C\u8F6E\u8FD0\u884C\u5931\u8D25","This Bot's model has no API key yet. Set one up, then send your message again.":"\u8FD9\u4E2A Bot \u7684\u6A21\u578B\u8FD8\u6CA1\u6709 API key\u3002\u8BBE\u7F6E\u597D\u540E\u518D\u53D1\u4E00\u6B21\u6D88\u606F\u3002",Whale:"\u9CB8\u9C7C",Star:"\u661F\u661F",Moon:"\u6708\u4EAE",Wave:"\u58F0\u6CE2",Squircle:"\u5706\u89D2\u65B9",Bull:"\u725B\u89D2",Blossom:"\u82B1\u6735",Gumdrop:"\u8F6F\u7CD6",Peanut:"\u82B1\u751F",Bubbles:"\u6CE1\u6CE1",Saucer:"\u98DE\u789F",Sprout:"\u5AE9\u82BD",Bunny:"\u5154\u5B50",Kitty:"\u5C0F\u732B",Beacon:"\u706F\u5854",Plus:"\u52A0\u53F7",Magnet:"\u78C1\u94C1",Acorn:"\u6A61\u679C",Pebbles:"\u77F3\u5B50",Cushion:"\u9760\u57AB",Ring:"\u5706\u73AF",Gem:"\u5B9D\u77F3",Black:"\u9ED1",Brown:"\u68D5",Red:"\u7EA2",Orange:"\u6A59",Yellow:"\u9EC4",Green:"\u7EFF",Cyan:"\u9752",Blue:"\u84DD",Violet:"\u7D2B",Magenta:"\u54C1\u7EA2",Gray:"\u7070",Aurora:"\u6781\u5149",Deepseek:"DeepSeek \u84DD",Charcoal:"\u70AD\u9ED1",Graphite:"\u77F3\u58A8",Rose:"\u73AB\u7470",Sky:"\u5929\u84DD",Tangerine:"\u6A58",Cobalt:"\u94B4\u84DD",DeepSeek:"DeepSeek",Mono:"\u9ED1\u767D",Paper:"\u7EB8\u5F20",Moonlight:"\u6708\u5149",General:"\u901A\u7528",Bots:"Bot","Group chats":"\u7FA4\u804A",Secrets:"\u5BC6\u94A5",Appearance:"\u5916\u89C2",Theme:"\u4E3B\u9898","Colors for the whole team, on every device.":"\u6574\u4E2A\u56E2\u961F\u7684\u914D\u8272\uFF0C\u6240\u6709\u8BBE\u5907\u540C\u6B65\u3002",Accent:"\u5F3A\u8C03\u8272","Unread marks, badges, and the brand mark.":"\u672A\u8BFB\u6807\u8BB0\u3001\u5FBD\u6807\u548C\u54C1\u724C\u6807\u5FD7\u3002","Theme accent":"\u4E3B\u9898\u5F3A\u8C03\u8272","Custom accent":"\u81EA\u5B9A\u4E49\u5F3A\u8C03\u8272","Bots \xB7 {count}":"Bot \xB7 {count}","First in the sidebar. Pick another Bot to hand it the role; {name} then stops being a Main Bot.":"\u6392\u5728\u4FA7\u680F\u6700\u4E0A\u9762\u3002\u9009\u53E6\u4E00\u4E2A Bot \u5C31\u4F1A\u628A\u4E3B Bot \u4EA4\u7ED9\u5B83\uFF0C{name} \u968F\u4E4B\u4E0D\u518D\u662F\u4E3B Bot\u3002","Choose a Bot\u2026":"\u9009\u62E9\u4E00\u4E2A Bot\u2026","Also a Main Bot.":"\u4E5F\u662F\u4E3B Bot\u3002","Move to first":"\u79FB\u5230\u6700\u524D","Add a Main Bot":"\u6DFB\u52A0\u4E3B Bot","Main Bots can create and change Bots, and run every group chat.":"\u4E3B Bot \u53EF\u4EE5\u521B\u5EFA\u548C\u4FEE\u6539 Bot\uFF0C\u5E76\u7BA1\u7406\u6240\u6709\u7FA4\u804A\u3002","Group chats \xB7 {count}":"\u7FA4\u804A \xB7 {count}","No group chats yet.":"\u8FD8\u6CA1\u6709\u7FA4\u804A\u3002","A group chat lets several Bots work on one thing with you.":"\u5728\u7FA4\u804A\u91CC\uFF0C\u51E0\u4E2A Bot \u548C\u4F60\u4E00\u8D77\u505A\u4E00\u4EF6\u4E8B\u3002","Back to group chats":"\u8FD4\u56DE\u7FA4\u804A\u5217\u8868","FlyBot settings":"FlyBot \u8BBE\u7F6E","Settings pages":"\u8BBE\u7F6E\u9875\u9762","Opens DeepSeek Harness's own settings (models, providers, permissions) in a separate window":"\u5728\u5355\u72EC\u7684\u7A97\u53E3\u4E2D\u6253\u5F00 DeepSeek Harness \u81EA\u5DF1\u7684\u8BBE\u7F6E\uFF08\u6A21\u578B\u3001\u670D\u52A1\u5546\u3001\u6743\u9650\uFF09","Harness settings, opens DeepSeek Harness's own settings window":"Harness \u8BBE\u7F6E\uFF0C\u6253\u5F00 DeepSeek Harness \u81EA\u5DF1\u7684\u8BBE\u7F6E\u7A97\u53E3","Harness settings":"Harness \u8BBE\u7F6E","Back to Bots":"\u8FD4\u56DE Bot \u5217\u8868","Close settings":"\u5173\u95ED\u8BBE\u7F6E",Unpin:"\u53D6\u6D88\u7F6E\u9876",Pin:"\u7F6E\u9876",Pinned:"\u5DF2\u7F6E\u9876","Mark as Unread":"\u6807\u4E3A\u672A\u8BFB","Group settings":"\u7FA4\u8BBE\u7F6E","Rename group":"\u91CD\u547D\u540D\u7FA4\u804A","Copy conversation ID":"\u590D\u5236\u5BF9\u8BDD ID","Hide from sidebar":"\u4ECE\u4FA7\u680F\u9690\u85CF","{name} actions":"{name} \u7684\u64CD\u4F5C","Add DSH Agent":"\u6DFB\u52A0 DSH Agent","Add coding agent":"\u6DFB\u52A0\u7F16\u7801 Agent","Add Agent":"\u6DFB\u52A0 Agent","Remove DSH Agent":"\u79FB\u9664 DSH Agent","New session":"\u65B0\u4F1A\u8BDD",Archive:"\u5F52\u6863","Session actions":"\u4F1A\u8BDD\u64CD\u4F5C","Plain dsh session":"\u539F\u751F dsh \u4F1A\u8BDD","just now":"\u521A\u521A","{n} min":"{n} \u5206\u949F","{n} h":"{n} \u5C0F\u65F6","{n} d":"{n} \u5929","FlyBot core {version} is available":"FlyBot \u6838\u5FC3 {version} \u53EF\u4EE5\u66F4\u65B0","Updating FlyBot core\u2026":"\u6B63\u5728\u66F4\u65B0 FlyBot \u6838\u5FC3\u2026","FlyBot core {version} is installed. Restart DSH to use it.":"FlyBot \u6838\u5FC3 {version} \u5DF2\u5B89\u88C5\uFF0C\u91CD\u542F DSH \u540E\u751F\u6548","FlyBot core update":"FlyBot \u6838\u5FC3\u66F4\u65B0","FlyBot core {version}":"FlyBot \u6838\u5FC3 {version}","Update installed":"\u66F4\u65B0\u5DF2\u5B89\u88C5","Restart DSH to start using FlyBot core {version}.":"\u91CD\u542F DSH \u540E\u5F00\u59CB\u4F7F\u7528 FlyBot \u6838\u5FC3 {version}\u3002","You have {version}.":"\u5F53\u524D\u7248\u672C {version}\u3002","The update did not finish: {reason}":"\u66F4\u65B0\u6CA1\u6709\u5B8C\u6210\uFF1A{reason}","What's new":"\u66F4\u65B0\u8BF4\u660E","Updating\u2026":"\u6B63\u5728\u66F4\u65B0\u2026","DSH {version} is available":"DSH {version} \u53EF\u4EE5\u66F4\u65B0","Updating DSH\u2026":"\u6B63\u5728\u66F4\u65B0 DSH\u2026","DSH update":"DSH \u66F4\u65B0","DSH {version}":"DSH {version}","Restart DSH to start using DSH {version}.":"\u91CD\u542F DSH \u540E\u5F00\u59CB\u4F7F\u7528 DSH {version}\u3002","Update FlyBot core {version} first.":"\u5148\u66F4\u65B0 FlyBot \u6838\u5FC3 {version}\u3002","Open updates":"\u6253\u5F00\u66F4\u65B0",Inbox:"\u6536\u4EF6\u7BB1","Inbox, {count} need you":"\u6536\u4EF6\u7BB1\uFF0C{count} \u9879\u9700\u8981\u4F60","Close inbox":"\u5173\u95ED\u6536\u4EF6\u7BB1","Your Bots":"\u4F60\u7684 Bot","Needs you":"\u9700\u8981\u4F60","In progress":"\u8FDB\u884C\u4E2D","Nothing needs you right now.":"\u73B0\u5728\u6CA1\u6709\u9700\u8981\u4F60\u5904\u7406\u7684\u4E8B\u3002","Nothing is running.":"\u6CA1\u6709\u6B63\u5728\u8FDB\u884C\u7684\u4E8B\u3002","Nothing finished in the last 7 days.":"\u6700\u8FD1 7 \u5929\u6CA1\u6709\u5B8C\u6210\u7684\u4E8B\u3002","Waiting to send":"\u7B49\u5F85\u53D1\u9001","Needs your answer":"\u7B49\u4F60\u56DE\u7B54","Result ready":"\u7ED3\u679C\u5DF2\u5C31\u7EEA",Failed:"\u5931\u8D25",Cancelled:"\u5DF2\u53D6\u6D88","A tool call":"\u4E00\u6B21\u5DE5\u5177\u8C03\u7528","A workflow":"\u4E00\u4E2A\u5DE5\u4F5C\u6D41","1 message waits for your approval":"1 \u6761\u6D88\u606F\u7B49\u4F60\u6279\u51C6","{count} messages wait for your approval":"{count} \u6761\u6D88\u606F\u7B49\u4F60\u6279\u51C6","Approve it in the chat":"\u8BF7\u5728\u5BF9\u8BDD\u91CC\u6279\u51C6","The last turn did not finish":"\u4E0A\u4E00\u8F6E\u6CA1\u6709\u5B8C\u6210","Latest: {text}":"\u6700\u65B0\uFF1A{text}","{count} tool calls":"{count} \u6B21\u5DE5\u5177\u8C03\u7528","Untitled task":"\u672A\u547D\u540D\u4EFB\u52A1",Accept:"\u63A5\u53D7","Send back":"\u9000\u56DE","Send it back":"\u9000\u56DE\u7ED9 Bot","What should change":"\u9700\u8981\u6539\u4EC0\u4E48","Sent back: {note}":"\u5DF2\u9000\u56DE\uFF1A{note}","Comment goes to {target}":"\u8BC4\u8BBA\u5199\u5230 {target}","Could not comment on {target}: {error}":"\u65E0\u6CD5\u5728 {target} \u4E0A\u7559\u8A00\uFF1A{error}","Could not confirm the comment on {target} went out":"\u65E0\u6CD5\u786E\u8BA4 {target} \u4E0A\u7684\u7559\u8A00\u662F\u5426\u53D1\u51FA",Board:"\u770B\u677F",Tasks:"\u4EFB\u52A1","Close board":"\u5173\u95ED\u770B\u677F","Close tasks":"\u5173\u95ED\u4EFB\u52A1","Task board":"\u4EFB\u52A1\u677F","Not started":"\u672A\u5F00\u59CB","Groups you admin":"\u4F60\u7BA1\u7406\u7684\u7FA4","No tasks yet.":"\u8FD8\u6CA1\u6709\u4EFB\u52A1\u3002","Nothing in this column.":"\u8FD9\u4E00\u5217\u662F\u7A7A\u7684\u3002",Highest:"\u6700\u9AD8",High:"\u8F83\u9AD8",Low:"\u8F83\u4F4E",Claimed:"\u5DF2\u8BA4\u9886",Blocked:"\u53D7\u963B",Waiting:"\u7B49\u5F85","In flight":"\u8FDB\u884C\u4E2D","PRs opened today":"\u4ECA\u65E5\u65B0\u5F00 PR","PRs merged today":"\u4ECA\u65E5\u5408\u5165 PR","Issues opened today":"\u4ECA\u65E5\u65B0\u5F00 issue","Issues closed today":"\u4ECA\u65E5\u5173\u95ED issue","PR merge time":"PR \u5408\u5165\u65F6\u957F","Issue close time":"issue \u5173\u95ED\u65F6\u957F","Task completion":"\u4EFB\u52A1\u5B8C\u6210\u65F6\u957F","Natural day in your time zone, by created_at.":"\u6309\u4F60\u6240\u5728\u65F6\u533A\u7684\u81EA\u7136\u65E5\uFF0C\u53D6 created_at\u3002","Natural day in your time zone, by merged_at.":"\u6309\u4F60\u6240\u5728\u65F6\u533A\u7684\u81EA\u7136\u65E5\uFF0C\u53D6 merged_at\u3002","Natural day in your time zone, by closed_at.":"\u6309\u4F60\u6240\u5728\u65F6\u533A\u7684\u81EA\u7136\u65E5\uFF0C\u53D6 closed_at\u3002","Median of the last 7 days, opened to merged.":"\u8FD1 7 \u5929\u4E2D\u4F4D\u6570\uFF0C\u5F00\u542F\u5230\u5408\u5165\u3002","Median of the last 7 days, opened to closed.":"\u8FD1 7 \u5929\u4E2D\u4F4D\u6570\uFF0C\u5F00\u542F\u5230\u5173\u95ED\u3002","Median of the last 7 days, created to done.":"\u8FD1 7 \u5929\u4E2D\u4F4D\u6570\uFF0C\u521B\u5EFA\u5230\u5B8C\u6210\u3002","Metrics unavailable":"\u6307\u6807\u4E0D\u53EF\u7528","Running tasks":"\u5728\u8DD1\u4EFB\u52A1","Claimed for":"\u5DF2\u505A\u591A\u4E45","Last activity":"\u6700\u8FD1\u6D3B\u52A8",Task:"\u4EFB\u52A1",Status:"\u72B6\u6001",Who:"\u8C01\u5728\u505A",Source:"\u6765\u6E90",unknown:"\u672A\u77E5",Start:"\u5F00\u59CB",Complete:"\u5B8C\u6210","Start task":"\u5F00\u59CB\u4EFB\u52A1","Complete task":"\u5B8C\u6210\u4EFB\u52A1","Add task":"\u6DFB\u52A0\u4EFB\u52A1","Group task":"\u7FA4\u4EFB\u52A1","Assign, claim, and progress live on this board: one overall task, a subtask per part, an assignee, a column, and progress. @ only wakes someone.":"\u6D3E\u6D3B\u3001\u9886\u6D3B\u548C\u8FDB\u5EA6\u90FD\u5728\u8FD9\u5757\u770B\u677F\u4E0A\uFF1A\u4E00\u4E2A\u603B\u4EFB\u52A1\u3001\u6BCF\u4E2A\u90E8\u5206\u4E00\u6761\u5B50\u4EFB\u52A1\u3001\u8D1F\u8D23\u4EBA\u3001\u5217\u548C\u8FDB\u5EA6\u3002@ \u53EA\u662F\u53EB\u9192\u5BF9\u65B9\u3002","Part of {title}":"\u5C5E\u4E8E {title}","Task title":"\u4EFB\u52A1\u6807\u9898",Progress:"\u8FDB\u5EA6",Group:"\u7FA4","{percent}%":"{percent}%","{done}/{total}":"{done}/{total}","for {time}":"\u5DF2 {time}","just started":"\u521A\u5F00\u59CB","Open {name}":"\u6253\u5F00 {name}","Allowed once for {name}":"\u5DF2\u4E3A {name} \u5141\u8BB8\u4E00\u6B21","Rejected for {name}":"\u5DF2\u62D2\u7EDD {name} \u7684\u8BF7\u6C42",Messages:"\u6D88\u606F",Commands:"\u547D\u4EE4","Search Bots, chats and messages":"\u641C\u7D22 Bot\u3001\u5BF9\u8BDD\u548C\u6D88\u606F","Clear search":"\u6E05\u9664\u641C\u7D22",Results:"\u7ED3\u679C","No results":"\u6CA1\u6709\u7ED3\u679C","Try a Bot name or words from a message":"\u8BD5\u8BD5 Bot \u540D\u5B57\u6216\u6D88\u606F\u91CC\u7684\u8BCD","Bot exchange":"Bot \u95F4\u5BF9\u8BDD","Bot exchange transcript":"Bot \u95F4\u5BF9\u8BDD\u8BB0\u5F55","No messages yet":"\u8FD8\u6CA1\u6709\u6D88\u606F","Close Chat":"\u5173\u95ED","Today {time}":"\u4ECA\u5929 {time}","Yesterday {time}":"\u6628\u5929 {time}","{tokens} tok \xB7 Cache hit {hit}%":"{tokens} tok \xB7 \u7F13\u5B58\u547D\u4E2D {hit}%",Footnotes:"\u811A\u6CE8","Remove reaction {emoji}":"\u79FB\u9664\u8868\u60C5 {emoji}","Add reaction":"\u6DFB\u52A0\u8868\u60C5",Reply:"\u56DE\u590D","More message actions":"\u66F4\u591A\u64CD\u4F5C",More:"\u66F4\u591A",Sharing:"\u5206\u4EAB",Reactions:"\u8868\u60C5","Message actions":"\u6D88\u606F\u64CD\u4F5C",Download:"\u4E0B\u8F7D","Thought it through":"\u601D\u8003\u8FC7\u7A0B","{n} line of reasoning":"{n} \u884C\u601D\u8003\u5185\u5BB9","{n} lines of reasoning":"{n} \u884C\u601D\u8003\u5185\u5BB9","Earlier messages":"\u66F4\u65E9\u7684\u6D88\u606F","Loading earlier messages\u2026":"\u6B63\u5728\u52A0\u8F7D\u66F4\u65E9\u7684\u6D88\u606F\u2026","Couldn\u2019t load earlier messages \xB7 Retry":"\u66F4\u65E9\u7684\u6D88\u606F\u6CA1\u52A0\u8F7D\u51FA\u6765 \xB7 \u91CD\u8BD5","Load earlier":"\u52A0\u8F7D\u66F4\u65E9\u7684\u6D88\u606F","1 image":"1 \u5F20\u56FE\u7247","{count} images":"{count} \u5F20\u56FE\u7247","Replies from":"\u7FA4\u804A\u56DE\u590D\uFF1A","Reply from":"\u6536\u5230\u56DE\u590D\uFF1A","Message from":"\u6536\u5230\u6D88\u606F\uFF1A","via {name}":"\u7ECF\u7531 {name}","{name} is talking to {bot} through Bot Social":"{name} \u6B63\u901A\u8FC7 Bot Social \u548C {bot} \u5BF9\u8BDD","your Bot":"\u4F60\u7684 Bot","Stopped by":"\u53EB\u505C\u8005\uFF1A","{count} messages with":"{count} \u6761\u6D88\u606F\uFF0C\u6765\u81EA","Routine started":"\u4F8B\u884C\u4EFB\u52A1\u5F00\u59CB",Update:"\u66F4\u65B0","Thinking about it":"\u60F3\u4E00\u60F3","Weighing the options":"\u6743\u8861\u4E00\u4E0B","Working out a plan":"\u7406\u4E00\u4E0B\u601D\u8DEF","Sorting out the details":"\u68B3\u7406\u7EC6\u8282","On it":"\u5728\u505A\u4E86","Using {tool}":"\u4F7F\u7528 {tool}","{action}: {detail}":"{action}\uFF1A{detail}","Busy with it":"\u6B63\u5728\u5904\u7406","Moving ahead":"\u63A8\u8FDB\u4E2D","Taking care of it":"\u5904\u7406\u4E2D","Making headway":"\u6709\u8FDB\u5C55\u4E86","Searching online":"\u4E0A\u7F51\u641C\u7D22","Reading a page":"\u9605\u8BFB\u7F51\u9875","Running shell commands":"\u8FD0\u884C\u547D\u4EE4","Opening a file":"\u6253\u5F00\u6587\u4EF6","Looking through files":"\u67E5\u627E\u6587\u4EF6","Writing changes":"\u5199\u5165\u4FEE\u6539","Working on an image":"\u5904\u7406\u56FE\u7247","Creating a group":"\u521B\u5EFA\u7FA4\u804A","Updating the group":"\u66F4\u65B0\u7FA4\u804A","Deleting the group":"\u5220\u9664\u7FA4\u804A","Posting in the group":"\u5728\u7FA4\u91CC\u53D1\u8A00","Checking the keys":"\u67E5\u770B\u5BC6\u94A5","Asking {name}":"\u8BE2\u95EE {name}","Asking another Bot":"\u8BE2\u95EE\u5176\u4ED6 Bot","Stopping {name}":"\u53EB\u505C {name}","Stopping another Bot":"\u53EB\u505C\u5176\u4ED6 Bot","Creating {name}":"\u521B\u5EFA {name}","Updating {name}":"\u66F4\u65B0 {name}","Checking the team":"\u67E5\u770B\u56E2\u961F","Reading {name}":"\u9605\u8BFB {name}","Looking back through the chat":"\u7FFB\u770B\u804A\u5929\u8BB0\u5F55","{name} looked up its own chat":"{name} \u67E5\u770B\u4E86\u81EA\u5DF1\u7684\u5BF9\u8BDD","{name} looked up its own chat for \u201C{text}\u201D":"{name} \u5728\u81EA\u5DF1\u7684\u5BF9\u8BDD\u91CC\u67E5\u627E\u300C{text}\u300D","{name} didn't answer in time":"{name} \u6CA1\u6709\u53CA\u65F6\u56DE\u5E94","{name} paused for your approval":"{name} \u505C\u4E0B\u6765\u7B49\u4F60\u6279\u51C6","{name} started on it":"{name} \u5F00\u59CB\u505A\u4E86","You stopped {name}'s work":"\u4F60\u505C\u4E0B\u4E86 {name} \u7684\u5DE5\u4F5C","{name} was cut off by a restart and picked its work back up":"{name} \u7684\u5DE5\u4F5C\u88AB\u91CD\u542F\u6253\u65AD\uFF0C\u5DF2\u7ECF\u63A5\u7740\u505A","{name} was cut off by a restart again and stopped":"{name} \u7684\u5DE5\u4F5C\u53C8\u88AB\u91CD\u542F\u6253\u65AD\uFF0C\u5DF2\u505C\u4E0B","Picked up its work after a restart":"\u91CD\u542F\u540E\u63A5\u7740\u505A\u4E4B\u524D\u7684\u5DE5\u4F5C","Asked to make the tool call it wrote as text":"\u5DE5\u5177\u8C03\u7528\u88AB\u5199\u6210\u4E86\u6587\u5B57\uFF0C\u5DF2\u8BA9\u5B83\u91CD\u65B0\u8C03\u7528","A Bot":"\u4E00\u4E2A Bot","{name} is waiting for your approval":"{name} \u7B49\u4F60\u6279\u51C6","{name} finished":"{name} \u5DF2\u5B8C\u6210","{name} failed: {reason}":"{name} \u5931\u8D25\uFF1A{reason}","{name} has waited {n} min for your approval":"{name} \u5DF2\u7ECF\u7B49\u4F60\u6279\u51C6 {n} \u5206\u949F\u4E86","{count} updates":"{count} \u6761\u66F4\u65B0","Once more if it still waits after 15 min.":"\u7B49\u4E86 15 \u5206\u949F\u8FD8\u6CA1\u6279\u51C6\u65F6\u518D\u63D0\u9192\u4E00\u6B21\u3002",Notifications:"\u901A\u77E5","In other chats":"\u5728\u5176\u4ED6\u5BF9\u8BDD\u65F6","When your Bots finish, fail, or wait for your approval while you are in another chat or app.":"\u4F60\u7684 Bot \u5B8C\u6210\u3001\u5931\u8D25\u6216\u7B49\u4F60\u6279\u51C6\u65F6\u63D0\u9192\u4F60\uFF08\u4F60\u5728\u522B\u7684\u5BF9\u8BDD\u6216\u5E94\u7528\u91CC\u65F6\uFF09\u3002","{first} and {second} are waiting for your approval":"{first}\u3001{second} \u7B49\u4F60\u6279\u51C6","{first}, {second} and {count} more are waiting for your approval":"{first}\u3001{second} \u7B49 {total} \u4E2A\u7B49\u4F60\u6279\u51C6","Waiting for your approval":"\u7B49\u4F60\u6279\u51C6","Waiting for their approval":"\u7B49\u5BF9\u65B9\u6279\u51C6","Your Bots post in rooms without asking each time. Use Auto-send in the room header to turn it off.":"\u4F60\u7684 Bot \u4F1A\u5728\u623F\u95F4\u91CC\u76F4\u63A5\u53D1\u9001\uFF0C\u4E0D\u518D\u6BCF\u6B21\u8BE2\u95EE\u3002\u8981\u5173\u6389\uFF0C\u7528\u623F\u95F4\u6807\u9898\u91CC\u7684\u81EA\u52A8\u53D1\u9001\u3002","Turn on auto-send":"\u6253\u5F00\u81EA\u52A8\u53D1\u9001","Approve and always auto-send in this room":"\u6279\u51C6\u5E76\u5728\u6B64\u623F\u95F4\u59CB\u7EC8\u81EA\u52A8\u53D1\u9001",Reject:"\u62D2\u7EDD","Allow once":"\u5141\u8BB8\u4E00\u6B21","Always allow for this Bot":"\u6B64 Bot \u59CB\u7EC8\u5141\u8BB8","Always allow for this group":"\u672C\u7FA4\u59CB\u7EC8\u5141\u8BB8","Always allowed for {name}":"\u5DF2\u4E3A {name} \u59CB\u7EC8\u5141\u8BB8","Always allowed in this group":"\u5DF2\u5728\u672C\u7FA4\u59CB\u7EC8\u5141\u8BB8","Always allowed":"\u59CB\u7EC8\u5141\u8BB8","Your Bots in this group do these without asking.":"\u4F60\u5728\u672C\u7FA4\u7684 Bot \u505A\u8FD9\u4E9B\u65F6\u4E0D\u518D\u8BE2\u95EE\u3002","This Bot does these without asking.":"\u6B64 Bot \u505A\u8FD9\u4E9B\u65F6\u4E0D\u518D\u8BE2\u95EE\u3002","Remove always allow for {kind}":"\u79FB\u9664 {kind} \u7684\u59CB\u7EC8\u5141\u8BB8","Couldn't message {name}":"\u6CA1\u80FD\u7ED9 {name} \u53D1\u6D88\u606F",Messaged:"\u5DF2\u53D1\u6D88\u606F\u7ED9","Couldn't stop {name}":"\u6CA1\u80FD\u53EB\u505C {name}",Stopped:"\u5DF2\u53EB\u505C",Created:"\u5DF2\u521B\u5EFA",Updated:"\u5DF2\u66F4\u65B0","Created group":"\u5DF2\u521B\u5EFA\u7FA4\u804A","Couldn't create the group":"\u6CA1\u80FD\u521B\u5EFA\u7FA4\u804A","Updated group":"\u5DF2\u66F4\u65B0\u7FA4\u804A","Couldn't update the group":"\u6CA1\u80FD\u66F4\u65B0\u7FA4\u804A","Deleted group":"\u5DF2\u5220\u9664\u7FA4\u804A","Couldn't delete the group":"\u6CA1\u80FD\u5220\u9664\u7FA4\u804A","Posted in":"\u5DF2\u53D1\u5230","Couldn't post in the group":"\u6CA1\u80FD\u5728\u7FA4\u91CC\u53D1\u8A00",Read:"\u5DF2\u8BFB\u53D6","Your own answer":"\u4F60\u81EA\u5DF1\u7684\u56DE\u7B54","Type your own answer":"\u8F93\u5165\u4F60\u81EA\u5DF1\u7684\u56DE\u7B54",Selected:"\u5DF2\u9009",Skip:"\u8DF3\u8FC7",Submit:"\u63D0\u4EA4",Answered:"\u5DF2\u56DE\u7B54","Choose all that apply":"\u53EF\u591A\u9009","Dismiss question":"\u5173\u95ED\u95EE\u9898",Dismiss:"\u5173\u95ED",Dismissed:"\u5DF2\u5173\u95ED","Your answer":"\u4F60\u7684\u56DE\u7B54","All my Bots":"\u6211\u7684\u6240\u6709 Bot","No Bot":"\u6CA1\u6709 Bot","Paste or type the key":"\u7C98\u8D34\u6216\u8F93\u5165\u5BC6\u94A5","Only {name}":"\u53EA\u7ED9 {name}","Who may use it":"\u8C01\u53EF\u4EE5\u7528","Cancel the request":"\u53D6\u6D88\u8BF7\u6C42","This page is not on HTTPS: the key crosses the network unencrypted.":"\u8FD9\u4E2A\u9875\u9762\u4E0D\u662F HTTPS\uFF1A\u5BC6\u94A5\u4F1A\u4EE5\u660E\u6587\u7ECF\u8FC7\u7F51\u7EDC\u3002","Let {bot} use {name}?":"\u5141\u8BB8 {bot} \u4F7F\u7528 {name}\uFF1F","{name} needs a key":"{name} \u9700\u8981\u4E00\u4E2A\u5BC6\u94A5","Saved for {scope}":"\u5DF2\u4FDD\u5B58\uFF0C\u53EF\u7528\u8303\u56F4\uFF1A{scope}","Value of {name}":"{name} \u7684\u503C","{bot} never sees the value. It reaches {bot}'s shell as ":"{bot} \u6C38\u8FDC\u770B\u4E0D\u5230\u8FD9\u4E2A\u503C\u3002\u5B83\u4F1A\u4F5C\u4E3A\u4E0B\u9762\u7684\u73AF\u5883\u53D8\u91CF\u8FDB\u5165 {bot} \u7684 shell\uFF1A"," At least {count} characters.":" \u81F3\u5C11 {count} \u4E2A\u5B57\u7B26\u3002","At least {count} characters.":"\u81F3\u5C11 {count} \u4E2A\u5B57\u7B26\u3002","Replace value":"\u66FF\u6362\u503C","Saving\u2026":"\u4FDD\u5B58\u4E2D\u2026","Allowing\u2026":"\u5141\u8BB8\u4E2D\u2026",Allow:"\u5141\u8BB8","{bot} asked for {name}":"{bot} \u8BF7\u6C42\u4E86 {name}","Allowed {bot} to use {name}":"\u5DF2\u5141\u8BB8 {bot} \u4F7F\u7528 {name}","Saved {name}":"\u5DF2\u4FDD\u5B58 {name}",Canceled:"\u5DF2\u53D6\u6D88",Done:"\u5B8C\u6210","Done cards":"\u5DF2\u5B8C\u6210","{bot} is using {name}":"{bot} \u6B63\u5728\u4F7F\u7528 {name}","a saved key":"\u4E00\u4E2A\u5DF2\u4FDD\u5B58\u7684\u5BC6\u94A5","Chosen Bots":"\u6307\u5B9A\u7684 Bot","Who may use {name}":"\u8C01\u53EF\u4EE5\u7528 {name}","Save access":"\u4FDD\u5B58\u6743\u9650","Replace the value":"\u66FF\u6362\u503C","New value of {name}":"{name} \u7684\u65B0\u503C","Replaced. Bots get the new value from their next command.":"\u5DF2\u66FF\u6362\u3002Bot \u4ECE\u4E0B\u4E00\u6761\u547D\u4EE4\u5F00\u59CB\u62FF\u5230\u65B0\u503C\u3002","a deleted Bot":"\u4E00\u4E2A\u5DF2\u5220\u9664\u7684 Bot","Asked by {name}":"\u7531 {name} \u8BF7\u6C42","added {time}":"\u6DFB\u52A0\u4E8E {time}","last used {time}":"\u4E0A\u6B21\u4F7F\u7528 {time}","not used yet":"\u8FD8\u6CA1\u7528\u8FC7","Delete {name}? Bots lose it at once.":"\u5220\u9664 {name}\uFF1FBot \u4F1A\u7ACB\u523B\u5931\u53BB\u5B83\u3002",Keep:"\u4FDD\u7559","Key name":"\u5BC6\u94A5\u540D","NAME, e.g. GITHUB_TOKEN":"\u540D\u5B57\uFF0C\u4F8B\u5982 GITHUB_TOKEN","What it is for":"\u7528\u9014",Value:"\u503C","New keys are for all your Bots; change who may use it afterwards.":"\u65B0\u5BC6\u94A5\u9ED8\u8BA4\u4F60\u7684\u6240\u6709 Bot \u53EF\u7528\uFF0C\u4E4B\u540E\u53EF\u4EE5\u66F4\u6539\u8C01\u80FD\u7528\u3002","Save key":"\u4FDD\u5B58\u5BC6\u94A5","Keys your Bots asked for. Bots never see the values: they use them as ":"\u4F60\u7684 Bot \u8BF7\u6C42\u8FC7\u7684\u5BC6\u94A5\u3002Bot \u6C38\u8FDC\u770B\u4E0D\u5230\u503C\uFF1A\u5B83\u4EEC\u5728 shell \u91CC\u901A\u8FC7 "," in their shell, and every value is replaced by ":" \u4F7F\u7528\uFF0C\u800C\u4E14\u53D1\u7ED9\u6A21\u578B\u4E4B\u524D\uFF0C\u6BCF\u4E2A\u503C\u90FD\u4F1A\u88AB\u66FF\u6362\u6210 "," before anything goes to a model.":"\u3002","Secrets \xB7 {count}":"\u5BC6\u94A5 \xB7 {count}","No keys yet. When a Bot needs one, it shows a card in its chat.":"\u8FD8\u6CA1\u6709\u5BC6\u94A5\u3002Bot \u9700\u8981\u65F6\uFF0C\u4F1A\u5728\u5BF9\u8BDD\u91CC\u5F39\u51FA\u4E00\u5F20\u5361\u7247\u3002","Add a key":"\u6DFB\u52A0\u5BC6\u94A5",Memory:"\u8BB0\u5FC6","Nothing saved yet":"\u8FD8\u6CA1\u6709\u4FDD\u5B58\u5185\u5BB9","1 entry":"1 \u6761","{count} entries":"{count} \u6761","Manage {name}'s memory":"\u7BA1\u7406 {name} \u7684\u8BB0\u5FC6","{name}'s memory":"{name} \u7684\u8BB0\u5FC6","Memory summary":"\u8BB0\u5FC6\u6458\u8981","All entries":"\u5168\u90E8\u8BB0\u5FC6","Memory options":"\u8BB0\u5FC6\u9009\u9879","Close memory":"\u5173\u95ED\u8BB0\u5FC6","Back to the summary":"\u8FD4\u56DE\u6458\u8981","Regenerate summary":"\u91CD\u65B0\u751F\u6210\u6458\u8981","Updated {time}":"\u66F4\u65B0\u4E8E {time}","Updated just now":"\u521A\u521A\u66F4\u65B0","Writing the summary\u2026":"\u6B63\u5728\u751F\u6210\u6458\u8981\u2026","The summary is out of date: {reason}":"\u6458\u8981\u4E0D\u662F\u6700\u65B0\u7684\uFF1A{reason}","The summary could not be written: {reason}":"\u6458\u8981\u6CA1\u80FD\u751F\u6210\uFF1A{reason}","{name} has not saved anything yet":"{name} \u8FD8\u6CA1\u6709\u8BB0\u4F4F\u4EFB\u4F55\u5185\u5BB9","Bots keep lasting preferences, decisions, and what you ask them to remember. Tell {name} below, or in its chat.":"Bot \u4F1A\u8BB0\u4F4F\u957F\u671F\u7684\u504F\u597D\u3001\u505A\u8FC7\u7684\u51B3\u5B9A\uFF0C\u4EE5\u53CA\u4F60\u8BA9\u5B83\u8BB0\u4F4F\u7684\u4E8B\u3002\u53EF\u4EE5\u5728\u4E0B\u9762\u544A\u8BC9 {name}\uFF0C\u4E5F\u53EF\u4EE5\u5728\u5BF9\u8BDD\u91CC\u8BF4\u3002","Team memory":"\u56E2\u961F\u8BB0\u5FC6","Every Bot reads it":"\u6240\u6709 Bot \u90FD\u4F1A\u8BFB","MEMORY.md, which every conversation reads":"MEMORY.md\uFF0C\u6BCF\u6B21\u5BF9\u8BDD\u90FD\u4F1A\u8BFB","{used} of {limit} characters":"{used} / {limit} \u5B57\u7B26","by you":"\u7531\u4F60\u6DFB\u52A0","by {name}":"\u7531 {name} \u6DFB\u52A0","Remove from memory":"\u4ECE\u8BB0\u5FC6\u4E2D\u5220\u9664","Click again to remove":"\u518D\u70B9\u4E00\u6B21\u5220\u9664",Remove:"\u5220\u9664","Ask or update":"\u8BE2\u95EE\u6216\u66F4\u65B0","Ask about or update {name}'s memory":"\u8BE2\u95EE\u6216\u66F4\u65B0 {name} \u7684\u8BB0\u5FC6","Added: {text}":"\u5DF2\u6DFB\u52A0\uFF1A{text}","Added to team memory: {text}":"\u5DF2\u52A0\u5165\u56E2\u961F\u8BB0\u5FC6\uFF1A{text}","Updated: {text}":"\u5DF2\u66F4\u65B0\uFF1A{text}","Removed: {text}":"\u5DF2\u5220\u9664\uFF1A{text}","Removed from team memory: {text}":"\u5DF2\u4ECE\u56E2\u961F\u8BB0\u5FC6\u5220\u9664\uFF1A{text}","Not changed: {text} ({reason})":"\u6CA1\u6709\u6539\u52A8\uFF1A{text}\uFF08{reason}\uFF09","Saving to memory":"\u6B63\u5728\u8BB0\u4E0B","Updating memory":"\u6B63\u5728\u66F4\u65B0\u8BB0\u5FC6","Checking memory":"\u6B63\u5728\u67E5\u770B\u8BB0\u5FC6","Memory updated":"\u8BB0\u5FC6\u5DF2\u66F4\u65B0","Team memory updated":"\u56E2\u961F\u8BB0\u5FC6\u5DF2\u66F4\u65B0","Updated {name}'s memory":"\u5DF2\u66F4\u65B0 {name} \u7684\u8BB0\u5FC6","Memory updated. Open {name}'s memory":"\u8BB0\u5FC6\u5DF2\u66F4\u65B0\uFF0C\u6253\u5F00 {name} \u7684\u8BB0\u5FC6","Close browser":"\u5173\u95ED\u6D4F\u89C8\u5668","Open browser":"\u6253\u5F00\u6D4F\u89C8\u5668","Open this Bot's browser":"\u6253\u5F00\u8FD9\u4E2A Bot \u7684\u6D4F\u89C8\u5668","{name}'s browser":"{name} \u7684\u6D4F\u89C8\u5668","Resize panel":"\u8C03\u6574\u9762\u677F\u5BBD\u5EA6","{name} read this page":"{name} \u8BFB\u4E86\u8FD9\u4E2A\u9875\u9762","{name}'s browser. {name} can read the page shown here.":"{name} \u7684\u6D4F\u89C8\u5668\u3002{name} \u80FD\u8BFB\u53D6\u8FD9\u91CC\u663E\u793A\u7684\u9875\u9762\u3002",Back:"\u540E\u9000",Forward:"\u524D\u8FDB",Stop:"\u505C\u6B62",Reload:"\u5237\u65B0",Address:"\u5730\u5740","Search or enter address":"\u641C\u7D22\u6216\u8F93\u5165\u7F51\u5740","This page didn\u2019t load":"\u9875\u9762\u6CA1\u6709\u52A0\u8F7D\u51FA\u6765","Try again":"\u91CD\u8BD5","Open a page here and {name} can read it with you. Logins and cookies stay with {name}; other Bots never see them.":"\u5728\u8FD9\u91CC\u6253\u5F00\u7F51\u9875\uFF0C{name} \u5C31\u80FD\u548C\u4F60\u4E00\u8D77\u8BFB\u3002\u767B\u5F55\u72B6\u6001\u548C cookie \u53EA\u5C5E\u4E8E {name}\uFF0C\u5176\u4ED6 Bot \u770B\u4E0D\u5230\u3002","Only http and https addresses open here.":"\u8FD9\u91CC\u53EA\u80FD\u6253\u5F00 http \u548C https \u5730\u5740\u3002","The page crashed.":"\u9875\u9762\u5D29\u6E83\u4E86\u3002","The browser blocked the new window.":"\u6D4F\u89C8\u5668\u62E6\u622A\u4E86\u65B0\u7A97\u53E3\u3002","Open the issue":"\u6253\u5F00\u95EE\u9898\u9875\u9762","Cloud metadata addresses do not open here.":"\u8FD9\u91CC\u4E0D\u80FD\u6253\u5F00\u4E91\u5143\u6570\u636E\u5730\u5740\u3002","Dictation is not available in this browser":"\u8FD9\u4E2A\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u542C\u5199","Microphone access is blocked":"\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u963B\u6B62\u4E86","Couldn't hear that":"\u6CA1\u542C\u6E05","Couldn't start dictation":"\u65E0\u6CD5\u5F00\u59CB\u542C\u5199","Stop dictation":"\u505C\u6B62\u542C\u5199",Dictate:"\u542C\u5199","Start voice chat":"\u5F00\u59CB\u8BED\u97F3\u5BF9\u8BDD","Voice chat":"\u8BED\u97F3\u5BF9\u8BDD",Listening:"\u5728\u542C",Thinking:"\u601D\u8003\u4E2D","Thinking\u2026":"\u601D\u8003\u4E2D\u2026",Speaking:"\u5728\u8BF4",Paused:"\u5DF2\u6682\u505C","Voice chat is not available in this browser":"\u8FD9\u4E2A\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u8BED\u97F3\u5BF9\u8BDD","Voice chat with {name}":"\u548C {name} \u8BED\u97F3\u5BF9\u8BDD","Resume listening":"\u7EE7\u7EED\u542C",Pause:"\u6682\u505C","End voice chat":"\u7ED3\u675F\u8BED\u97F3\u5BF9\u8BDD","Recognizing\u2026":"\u8BC6\u522B\u4E2D\u2026","Voice input needs its speech model":"\u8BED\u97F3\u8F93\u5165\u8FD8\u6CA1\u6709\u8BED\u97F3\u6A21\u578B","Set up voice input":"\u8BBE\u7F6E\u8BED\u97F3\u8F93\u5165","That was too long to recognize":"\u8FD9\u6BB5\u592A\u957F\u4E86\uFF0C\u8BC6\u522B\u4E0D\u4E86","24 hours":"24 \u5C0F\u65F6","7 days":"7 \u5929","30 days":"30 \u5929","12 weeks":"12 \u5468","12 months":"12 \u4E2A\u6708","Per hour":"\u6309\u5C0F\u65F6","Per day":"\u6309\u5929","Per week":"\u6309\u5468","Per month":"\u6309\u6708",Output:"\u8F93\u51FA",Input:"\u8F93\u5165","Cache hit":"\u7F13\u5B58\u547D\u4E2D","Deleted Bot":"\u5DF2\u5220\u9664\u7684 Bot",Deleted:"\u5DF2\u5220\u9664","Deleted group chat":"\u5DF2\u5220\u9664\u7684\u7FA4\u804A","Group chat":"\u7FA4\u804A","Own chat":"\u5355\u804A",Conversations:"\u5BF9\u8BDD","Compaction and handoff":"\u538B\u7F29\u4E0E\u4EA4\u63A5","Image reading":"\u8BC6\u56FE",Titles:"\u6807\u9898",Other:"\u5176\u4ED6","Last {range}":"\u6700\u8FD1 {range}",tokens:"Token","Compared with the {range} before":"\u4E0E\u518D\u5F80\u524D {range} \u76F8\u6BD4","{share}% of all usage in the last {range}":"\u5360\u6700\u8FD1 {range}\u5168\u90E8\u7528\u91CF\u7684 {share}%",Calls:"\u8C03\u7528\u6B21\u6570","Cache hit rate":"\u7F13\u5B58\u547D\u4E2D\u7387","Tokens over time":"Token \u8D70\u52BF","{count} tokens":"{count} Token","{tokens} tokens \xB7 {calls} calls":"{tokens} Token \xB7 {calls} \u6B21\u8C03\u7528","Active on 1 day in the last year":"\u8FD1\u4E00\u5E74\u6709 1 \u5929\u5728\u7528","Active on {count} days in the last year":"\u8FD1\u4E00\u5E74\u6709 {count} \u5929\u5728\u7528",Light:"\u5C11",Heavy:"\u591A","Unknown model":"\u672A\u77E5\u6A21\u578B","More Bots":"\u5176\u4F59 Bot","More models":"\u5176\u4F59\u6A21\u578B","Reading your chats\u2026":"\u6B63\u5728\u8BFB\u53D6\u804A\u5929\u8BB0\u5F55\u2026","No usage yet.":"\u8FD8\u6CA1\u6709\u7528\u91CF\u3002","Token usage shows up here after a model is called.":"\u8C03\u7528\u6A21\u578B\u4E4B\u540E\uFF0C\u8FD9\u91CC\u4F1A\u663E\u793A Token \u7528\u91CF\u3002","Nothing in this range.":"\u8FD9\u6BB5\u65F6\u95F4\u6CA1\u6709\u7528\u91CF\u3002","Who used it":"\u8C01\u5728\u7528","What for":"\u7528\u9014",Activity:"\u6D3B\u8DC3\u5EA6","Time range":"\u65F6\u95F4\u8303\u56F4","All usage":"\u5168\u90E8\u7528\u91CF","Group usage by":"\u7528\u91CF\u5206\u7EC4","By Bot":"\u6309 Bot","By model":"\u6309\u6A21\u578B","Still reading older chats; totals may grow.":"\u8FD8\u5728\u8BFB\u53D6\u8F83\u65E9\u7684\u804A\u5929\u8BB0\u5F55\uFF0C\u6570\u5B57\u53EF\u80FD\u8FD8\u4F1A\u53D8\u5927\u3002",Custom:"\u81EA\u5B9A\u4E49","Custom range":"\u81EA\u5B9A\u4E49\u65F6\u95F4\u8303\u56F4","This month":"\u672C\u6708","Last month":"\u4E0A\u4E2A\u6708","This year":"\u4ECA\u5E74","Previous month":"\u5F80\u524D\u4E00\u4E2A\u6708","Next month":"\u5F80\u540E\u4E00\u4E2A\u6708","Pick the first day":"\u9009\u62E9\u5F00\u59CB\u65E5\u671F","Pick the last day":"\u9009\u62E9\u7ED3\u675F\u65E5\u671F","1 day":"1 \u5929","{count} days":"{count} \u5929","Compared with the day before":"\u4E0E\u524D\u4E00\u5929\u76F8\u6BD4","Compared with the {count} days before":"\u4E0E\u518D\u5F80\u524D {count} \u5929\u76F8\u6BD4","{share}% of all usage from {span}":"\u5360 {span} \u5168\u90E8\u7528\u91CF\u7684 {share}%","About FlyBot":"\u5173\u4E8E FlyBot","Version {version}":"\u7248\u672C {version}","Star FlyBot on GitHub":"\u5728 GitHub \u4E0A\u7ED9 FlyBot \u70B9 Star","{count} stars":"{count} \u4E2A Star","If FlyBot helps you, a star on GitHub helps more people find it.":"\u5982\u679C FlyBot \u5BF9\u4F60\u6709\u7528\uFF0C\u6B22\u8FCE\u5728 GitHub \u4E0A\u70B9\u4E2A Star\uFF0C\u8BA9\u66F4\u591A\u4EBA\u770B\u5230\u5B83\u3002",Updates:"\u66F4\u65B0","Check for updates":"\u68C0\u67E5\u66F4\u65B0","Checking\u2026":"\u6B63\u5728\u68C0\u67E5\u2026","Up to date":"\u5DF2\u662F\u6700\u65B0\u7248\u672C","Checked {time}":"\u68C0\u67E5\u4E8E {time}","Could not check for updates.":"\u6CA1\u80FD\u68C0\u67E5\u66F4\u65B0\u3002","Update checks are off.":"\u5DF2\u5173\u95ED\u66F4\u65B0\u68C0\u67E5\u3002","Installed from a local folder; update it there.":"\u4ECE\u672C\u5730\u6587\u4EF6\u5939\u5B89\u88C5\uFF0C\u8BF7\u5728\u90A3\u91CC\u66F4\u65B0\u3002","Updates are not offered for this install.":"\u8FD9\u79CD\u5B89\u88C5\u65B9\u5F0F\u4E0D\u63D0\u4F9B\u66F4\u65B0\u3002","Installed from GitHub ({where}). Updates come from the maintainer: reinstall FlyBot to get them.":"\u4ECE GitHub \u5B89\u88C5\uFF08{where}\uFF09\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","Pinned to commit {commit}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u56FA\u5B9A\u5728\u63D0\u4EA4 {commit}\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","Up to date with {branch}.":"\u5DF2\u662F {branch} \u7684\u6700\u65B0\u63D0\u4EA4\u3002","1 commit behind {branch}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u843D\u540E {branch} 1 \u4E2A\u63D0\u4EA4\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","{count} commits behind {branch}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u843D\u540E {branch} {count} \u4E2A\u63D0\u4EA4\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","Could not compare with {branch}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u6CA1\u80FD\u548C {branch} \u6BD4\u8F83\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","DeepSeek Harness (underlying)":"DeepSeek Harness\uFF08\u5E95\u5C42\uFF09",Links:"\u94FE\u63A5","Source code":"\u6E90\u4EE3\u7801","Release notes":"\u53D1\u5E03\u8BF4\u660E",Open:"\u6253\u5F00",Feedback:"\u53CD\u9988","Report a problem":"\u62A5\u544A\u95EE\u9898","What happened?":"\u53D1\u751F\u4E86\u4EC0\u4E48\uFF1F","What you did, what you expected, and what happened instead. It goes into the issue.":"\u4F60\u505A\u4E86\u4EC0\u4E48\u3001\u671F\u671B\u4EC0\u4E48\u3001\u5B9E\u9645\u53D1\u751F\u4E86\u4EC0\u4E48\u3002\u4F1A\u5199\u8FDB issue\u3002","For example: I asked Writer in the group chat and it showed an error.":"\u4F8B\u5982\uFF1A\u6211\u5728\u7FA4\u804A\u91CC\u95EE Writer\uFF0C\u5B83\u663E\u793A\u51FA\u9519\u4E86\u3002",Diagnostics:"\u8BCA\u65AD\u4FE1\u606F","Versions, system, models, and the latest errors. Saved keys, tokens, and your home folder are hidden.":"\u7248\u672C\u3001\u7CFB\u7EDF\u3001\u6A21\u578B\u548C\u6700\u8FD1\u7684\u9519\u8BEF\u3002\u5DF2\u4FDD\u5B58\u7684\u5BC6\u94A5\u3001\u4EE4\u724C\u548C\u4F60\u7684\u7528\u6237\u76EE\u5F55\u90FD\u5DF2\u9690\u85CF\u3002",Show:"\u67E5\u770B",Hide:"\u6536\u8D77","GitHub issue":"GitHub issue","Opens a new issue in the FlyBot repository with all of this filled in. Nothing is sent until you submit it there.":"\u5728 FlyBot \u4ED3\u5E93\u65B0\u5EFA\u4E00\u4E2A issue\uFF0C\u5E76\u586B\u597D\u4EE5\u4E0A\u5185\u5BB9\u3002\u4F60\u5728 GitHub \u4E0A\u63D0\u4EA4\u4E4B\u524D\uFF0C\u4EC0\u4E48\u90FD\u4E0D\u4F1A\u53D1\u51FA\u3002","Report on GitHub":"\u5728 GitHub \u4E0A\u62A5\u544A","Copied the diagnostics.":"\u5DF2\u590D\u5236\u8BCA\u65AD\u4FE1\u606F\u3002","Could not copy. Select the text below and copy it.":"\u65E0\u6CD5\u590D\u5236\u3002\u8BF7\u9009\u4E2D\u4E0B\u9762\u7684\u6587\u5B57\u624B\u52A8\u590D\u5236\u3002","Opened a new GitHub issue with the diagnostics filled in. Check it before you submit.":"\u5DF2\u6253\u5F00\u65B0\u7684 GitHub issue\uFF0C\u8BCA\u65AD\u4FE1\u606F\u5DF2\u586B\u597D\u3002\u63D0\u4EA4\u524D\u8BF7\u68C0\u67E5\u4E00\u904D\u3002","Opened a new GitHub issue. The diagnostics are long, so they are on the clipboard: paste them into the issue.":"\u5DF2\u6253\u5F00\u65B0\u7684 GitHub issue\u3002\u8BCA\u65AD\u4FE1\u606F\u592A\u957F\uFF0C\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F\uFF0C\u8BF7\u7C98\u8D34\u5230 issue \u91CC\u3002","Opened a new GitHub issue. Copy the diagnostics below into it.":"\u5DF2\u6253\u5F00\u65B0\u7684 GitHub issue\u3002\u8BF7\u628A\u4E0B\u9762\u7684\u8BCA\u65AD\u4FE1\u606F\u590D\u5236\u8FDB\u53BB\u3002","Downloaded the log. Keys, tokens, and your home folder are hidden in it.":"\u5DF2\u4E0B\u8F7D\u65E5\u5FD7\u3002\u91CC\u9762\u7684\u5BC6\u94A5\u3001\u4EE4\u724C\u548C\u7528\u6237\u76EE\u5F55\u90FD\u5DF2\u9690\u85CF\u3002","Cleared the error log.":"\u5DF2\u6E05\u7A7A\u9519\u8BEF\u65E5\u5FD7\u3002","Recent errors":"\u6700\u8FD1\u7684\u9519\u8BEF","Recent errors \xB7 {count}":"\u6700\u8FD1\u7684\u9519\u8BEF \xB7 {count}","No errors recorded.":"\u6CA1\u6709\u9519\u8BEF\u8BB0\u5F55\u3002","Failed model calls and FlyBot problems show here, newest first.":"\u6A21\u578B\u8C03\u7528\u5931\u8D25\u548C FlyBot \u7684\u95EE\u9898\u4F1A\u663E\u793A\u5728\u8FD9\u91CC\uFF0C\u6700\u65B0\u7684\u5728\u524D\u3002","Model call":"\u6A21\u578B\u8C03\u7528","This window":"\u8FD9\u4E2A\u7A97\u53E3","Error log":"\u9519\u8BEF\u65E5\u5FD7","Kept on this computer across restarts, up to about 1 MB.":"\u4FDD\u5B58\u5728\u8FD9\u53F0\u7535\u8111\u4E0A\uFF0C\u91CD\u542F\u540E\u4ECD\u5728\uFF0C\u6700\u591A\u7EA6 1 MB\u3002",Clear:"\u6E05\u7A7A","Settings \u2192 Feedback has the details.":"\u8BE6\u60C5\u89C1 \u8BBE\u7F6E \u2192 \u53CD\u9988\u3002","Could not reach DSH. Check that it is still running.":"\u8FDE\u4E0D\u4E0A DSH\uFF0C\u8BF7\u786E\u8BA4\u5B83\u8FD8\u5728\u8FD0\u884C\u3002","{name} could not answer: {reason}":"{name} \u6CA1\u80FD\u56DE\u7B54\uFF1A{reason}","Unknown error":"\u672A\u77E5\u9519\u8BEF","The API key was rejected":"API \u5BC6\u94A5\u65E0\u6548","The account is out of quota":"\u8D26\u6237\u989D\u5EA6\u5DF2\u7528\u5C3D","Too many requests to the model":"\u6A21\u578B\u8BF7\u6C42\u592A\u9891\u7E41","The conversation is too long for the model":"\u5BF9\u8BDD\u592A\u957F\uFF0C\u8D85\u51FA\u6A21\u578B\u4E0A\u9650","The model service refused the request":"\u6A21\u578B\u670D\u52A1\u62D2\u7EDD\u4E86\u8BF7\u6C42","The model service failed":"\u6A21\u578B\u670D\u52A1\u51FA\u9519","The model took too long to answer":"\u6A21\u578B\u54CD\u5E94\u8D85\u65F6","Could not reach the model service":"\u8FDE\u4E0D\u4E0A\u6A21\u578B\u670D\u52A1","Its group conversation could not open":"\u5B83\u7684\u7FA4\u804A\u4F1A\u8BDD\u6253\u4E0D\u5F00","Add files":"\u6DFB\u52A0\u6587\u4EF6","Reference a chat":"\u5F15\u7528\u5BF9\u8BDD","Chat with {name}":"\u4E0E {name} \u7684\u5BF9\u8BDD","Scheduled task":"\u5B9A\u65F6\u4EFB\u52A1","Send to":"\u53D1\u7ED9","Scheduled task: {text}":"\u5B9A\u65F6\u4EFB\u52A1\uFF1A{text}","Choose the group admin":"\u9009\u62E9\u7FA4\u7BA1\u7406\u5458","Group admin":"\u7FA4\u7BA1\u7406\u5458","Who to chat with\u2026":"\u60F3\u548C\u8C01\u804A\u2026","Add at least one more Bot":"\u518D\u81F3\u5C11\u6DFB\u52A0\u4E00\u4E2A Bot",Members:"\u6210\u5458","Choose Bots":"\u9009\u62E9 Bot","Off for every Bot. Choose which Bots may use it.":"\u6240\u6709 Bot \u90FD\u672A\u5F00\u542F\u3002\u9009\u62E9\u54EA\u4E9B Bot \u53EF\u4EE5\u4F7F\u7528\u3002","On for {count} of {total} Bots":"\u5DF2\u4E3A {total} \u4E2A Bot \u4E2D\u7684 {count} \u4E2A\u5F00\u542F","On for all {total} Bots":"\u5DF2\u4E3A\u5168\u90E8 {total} \u4E2A Bot \u5F00\u542F","On. This Bot can use it on every turn.":"\u5DF2\u5F00\u542F\u3002\u8FD9\u4E2A Bot \u6BCF\u4E00\u8F6E\u90FD\u53EF\u4EE5\u4F7F\u7528\u5B83\u3002","Off. This Bot will not use it.":"\u5DF2\u5173\u95ED\u3002\u8FD9\u4E2A Bot \u4E0D\u4F1A\u4F7F\u7528\u5B83\u3002","On by default for each of your Bots, on every turn: in its own chat, in groups, on schedules and when a friend uses it. A friend's own Bot never gets it.":"\u9ED8\u8BA4\u5BF9\u4F60\u7684\u6BCF\u4E2A Bot \u5F00\u542F\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u53EF\u7528\uFF1A\u5B83\u81EA\u5DF1\u7684\u804A\u5929\u3001\u7FA4\u804A\u3001\u5B9A\u65F6\u4EFB\u52A1\uFF0C\u4EE5\u53CA\u597D\u53CB\u4F7F\u7528\u5B83\u65F6\u3002\u597D\u53CB\u81EA\u5DF1\u7684 Bot \u6C38\u8FDC\u62FF\u4E0D\u5230\u3002","No Bots":"\u6CA1\u6709 Bot","Scheduled tasks":"\u5B9A\u65F6\u4EFB\u52A1","Every day":"\u6BCF\u5929","Every {count} days":"\u6BCF {count} \u5929","Every hour":"\u6BCF\u5C0F\u65F6","Every {count} hours":"\u6BCF {count} \u5C0F\u65F6","Every {count} minutes":"\u6BCF {count} \u5206\u949F","Every {count} seconds":"\u6BCF {count} \u79D2","Once, {time}":"\u4E00\u6B21\uFF0C{time}","Every day at {time}":"\u6BCF\u5929 {time}","Every {days} at {time}":"\u6BCF{days} {time}","Every weekday at {time}":"\u6BCF\u4E2A\u5DE5\u4F5C\u65E5 {time}","Every weekend at {time}":"\u6BCF\u4E2A\u5468\u672B {time}","On the schedule {expression}":"\u6309\u8BA1\u5212 {expression}","Next: {time}":"\u4E0B\u6B21 {time}","Running since {time}":"\u8FD0\u884C\u4E2D\uFF0C{time} \u5F00\u59CB","Last run {time}":"\u4E0A\u6B21\u8FD0\u884C {time}","Last run {time} \xB7 Stopped":"\u4E0A\u6B21\u8FD0\u884C {time} \xB7 \u5DF2\u505C\u6B62","Last run {time} \xB7 Failed: {reason}":"\u4E0A\u6B21\u8FD0\u884C {time} \xB7 \u5931\u8D25\uFF1A{reason}","Run the task once now":"\u73B0\u5728\u8FD0\u884C\u4E00\u6B21\u8FD9\u4E2A\u4EFB\u52A1","DSH could not deliver it":"DSH \u6CA1\u80FD\u9001\u8FBE","Resume the task first":"\u8BF7\u5148\u7EE7\u7EED\u8FD9\u4E2A\u4EFB\u52A1","Copy to\u2026":"\u590D\u5236\u5230\u2026","Copy to":"\u590D\u5236\u5230","Copy to another Bot or group chat":"\u590D\u5236\u5230\u5176\u4ED6 Bot \u6216\u7FA4\u804A","Copy \u201C{name}\u201D to":"\u628A\u300C{name}\u300D\u590D\u5236\u5230","Pick a Bot or group chat":"\u9009\u62E9 Bot \u6216\u7FA4\u804A","Copying\u2026":"\u6B63\u5728\u590D\u5236\u2026",Finished:"\u5DF2\u7ED3\u675F",Resume:"\u7EE7\u7EED","in {name}":"\u5728 {name}","Click again to delete":"\u518D\u70B9\u4E00\u6B21\u5220\u9664","Delete task":"\u5220\u9664\u4EFB\u52A1",Once:"\u4E00\u6B21","Every week":"\u6BCF\u5468",Repeat:"\u91CD\u590D",minutes:"\u5206\u949F",hours:"\u5C0F\u65F6",days:"\u5929",seconds:"\u79D2","Morning briefing":"\u65E9\u95F4\u7B80\u62A5","What to do":"\u8981\u505A\u4EC0\u4E48","Sum up what changed since yesterday and what needs me today.":"\u603B\u7ED3\u4E00\u4E0B\u6628\u5929\u4EE5\u6765\u7684\u53D8\u5316\uFF0C\u4EE5\u53CA\u4ECA\u5929\u9700\u8981\u6211\u5904\u7406\u7684\u4E8B\u3002",When:"\u4EC0\u4E48\u65F6\u5019","Date and time":"\u65E5\u671F\u548C\u65F6\u95F4",Days:"\u661F\u671F",Time:"\u65F6\u95F4",Every:"\u6BCF","How many":"\u6570\u91CF",Unit:"\u5355\u4F4D","Create task":"\u521B\u5EFA\u4EFB\u52A1","Turn on Automation tasks in DSH":"\u5728 DSH \u91CC\u6253\u5F00\u300C\u81EA\u52A8\u5316\u4EFB\u52A1\u300D","Switch on Automation tasks on the Plugins page.":"\u5728\u300C\u63D2\u4EF6\u300D\u9875\u9762\u6253\u5F00\u300C\u81EA\u52A8\u5316\u4EFB\u52A1\u300D\u3002","Open Plugins":"\u6253\u5F00\u300C\u63D2\u4EF6\u300D\u9875\u9762","New task":"\u65B0\u5EFA\u4EFB\u52A1","Quiet hours":"\u5B89\u9759\u65F6\u6BB5","On, {from}\u2013{to}":"\u5F00\u7740\uFF0C{from}\u2013{to}",Off:"\u5173\u7740",Window:"\u65F6\u6BB5","Turn on":"\u6253\u5F00","Turn off":"\u5173\u6389","Save window":"\u4FDD\u5B58\u65F6\u6BB5","Quiet hours start":"\u5B89\u9759\u65F6\u6BB5\u5F00\u59CB","Quiet hours end":"\u5B89\u9759\u65F6\u6BB5\u7ED3\u675F","A new or edited task cannot be due inside the window. It never mutes a task that already exists.":"\u65B0\u5EFA\u6216\u4FEE\u6539\u7684\u4EFB\u52A1\u4E0D\u80FD\u843D\u5728\u65F6\u6BB5\u5185\u3002\u5DF2\u7ECF\u5B58\u5728\u7684\u4EFB\u52A1\u4E0D\u4F1A\u88AB\u9759\u97F3\u3002","A repeat or cron task can still run inside quiet hours, because DSH decides its next run. FlyBot says so here rather than claiming a silence it cannot keep.":"\u300C\u6BCF N \u5206\u949F\u300D\u548C cron \u4EFB\u52A1\u4ECD\u53EF\u80FD\u5728\u5B89\u9759\u65F6\u6BB5\u5185\u8FD0\u884C\uFF1A\u4E0B\u4E00\u6B21\u8FD0\u884C\u65F6\u95F4\u662F DSH \u7B97\u7684\u3002\u8FD9\u91CC\u5982\u5B9E\u8BF4\u660E\uFF0C\u4E0D\u5047\u88C5\u5DF2\u7ECF\u9759\u97F3\u3002","No scheduled tasks yet.":"\u8FD8\u6CA1\u6709\u5B9A\u65F6\u4EFB\u52A1\u3002","No scheduled tasks yet. Add one":"\u8FD8\u6CA1\u6709\u5B9A\u65F6\u4EFB\u52A1\uFF0C\u53BB\u6DFB\u52A0","Automation tasks are off in DSH":"DSH \u7684\u300C\u81EA\u52A8\u5316\u4EFB\u52A1\u300D\u6CA1\u6709\u6253\u5F00","No such Bot":"\u6CA1\u6709\u8FD9\u4E2A Bot","No such Bot or group chat":"\u6CA1\u6709\u8FD9\u4E2A Bot \u6216\u7FA4\u804A","Give the task a name":"\u7ED9\u4EFB\u52A1\u8D77\u4E2A\u540D\u5B57","Say what the Bot should do":"\u5199\u4E0B Bot \u8981\u505A\u4EC0\u4E48","Pick a date and time":"\u9009\u4E00\u4E2A\u65E5\u671F\u548C\u65F6\u95F4","Pick a time in the future":"\u9009\u4E00\u4E2A\u5C06\u6765\u7684\u65F6\u95F4","Pick a time of day":"\u9009\u4E00\u4E2A\u65F6\u95F4","Quiet hours must be on or off":"\u5B89\u9759\u65F6\u6BB5\u8981\u4E48\u5F00\u3001\u8981\u4E48\u5173","Quiet hours need a start and an end time":"\u5B89\u9759\u65F6\u6BB5\u9700\u8981\u5F00\u59CB\u548C\u7ED3\u675F\u65F6\u95F4","Quiet hours need two different times":"\u5B89\u9759\u65F6\u6BB5\u7684\u5F00\u59CB\u548C\u7ED3\u675F\u4E0D\u80FD\u662F\u540C\u4E00\u4E2A\u65F6\u95F4","Pick at least one day":"\u81F3\u5C11\u9009\u4E00\u5929","Repeat every 1 minute to 7 days":"\u91CD\u590D\u95F4\u9694\u8981\u5728 1 \u5206\u949F\u5230 7 \u5929\u4E4B\u95F4","Pick when it runs":"\u9009\u62E9\u4EC0\u4E48\u65F6\u5019\u8FD0\u884C","No such task":"\u6CA1\u6709\u8FD9\u4E2A\u4EFB\u52A1","This task has finished":"\u8FD9\u4E2A\u4EFB\u52A1\u5DF2\u7ECF\u7ED3\u675F","The task changed meanwhile. Try again":"\u4EFB\u52A1\u521A\u521A\u6709\u53D8\u5316\uFF0C\u8BF7\u518D\u8BD5\u4E00\u6B21","The task could not be saved":"\u4EFB\u52A1\u6CA1\u80FD\u4FDD\u5B58","This task cannot be edited here":"\u8FD9\u4E2A\u4EFB\u52A1\u4E0D\u80FD\u5728\u8FD9\u91CC\u7F16\u8F91","This task cannot be paused":"\u8FD9\u4E2A\u4EFB\u52A1\u4E0D\u80FD\u6682\u505C","Its time has passed. Edit the task to pick a new one":"\u65F6\u95F4\u5DF2\u7ECF\u8FC7\u4E86\uFF0C\u8BF7\u7F16\u8F91\u4EFB\u52A1\u9009\u4E00\u4E2A\u65B0\u65F6\u95F4","Working folder":"\u5DE5\u4F5C\u6587\u4EF6\u5939","Working folder: {folder}":"\u5DE5\u4F5C\u6587\u4EF6\u5939\uFF1A{folder}",Folder:"\u6587\u4EF6\u5939",Folders:"\u6587\u4EF6\u5939","Team workspace":"\u56E2\u961F\u5DE5\u4F5C\u533A","Each Bot's own folder":"\u5404 Bot \u81EA\u5DF1\u7684\u6587\u4EF6\u5939","Choose a folder\u2026":"\u9009\u62E9\u6587\u4EF6\u5939\u2026","Browse folders\u2026":"\u6D4F\u89C8\u6587\u4EF6\u5939\u2026","Enter a path\u2026":"\u8F93\u5165\u8DEF\u5F84\u2026","Folder path":"\u6587\u4EF6\u5939\u8DEF\u5F84","Full path of a folder":"\u6587\u4EF6\u5939\u7684\u5B8C\u6574\u8DEF\u5F84","Use this folder":"\u4F7F\u7528\u8FD9\u4E2A\u6587\u4EF6\u5939","Up one level":"\u4E0A\u4E00\u7EA7","No folders inside.":"\u91CC\u9762\u6CA1\u6709\u6587\u4EF6\u5939\u3002","Some folders are not shown.":"\u8FD8\u6709\u4E00\u4E9B\u6587\u4EF6\u5939\u6CA1\u6709\u663E\u793A\u3002","Project settings":"\u9879\u76EE\u8BBE\u7F6E","Project board":"\u9879\u76EE\u770B\u677F","No Project here.":"\u8FD9\u91CC\u6CA1\u6709\u9879\u76EE\u3002",Decisions:"\u51B3\u7B56",Meetings:"\u4F1A\u8BAE","Not decided":"\u672A\u51B3\u5B9A","decision file gone":"\u51B3\u7B56\u6587\u4EF6\u5DF2\u4E0D\u5728",ordinary:"\u666E\u901A",major:"\u91CD\u5927",severe:"\u4E25\u91CD","for {user}":"\u4EE3 {user} \u53D1\u8A00","not-started":"\u672A\u5F00\u59CB","in-progress":"\u8FDB\u884C\u4E2D",done:"\u5DF2\u5B8C\u6210",running:"\u8FD0\u884C\u4E2D",stalled:"\u5DF2\u505C\u6EDE",Projects:"\u9879\u76EE","New Project":"\u65B0\u5EFA\u9879\u76EE","Project name":"\u9879\u76EE\u540D\u79F0","e.g. Website":"\u4F8B\u5982\uFF1A\u5B98\u7F51","Optional. Where this Project's work happens.":"\u53EF\u9009\u3002\u8FD9\u4E2A\u9879\u76EE\u7684\u5DE5\u4F5C\u76EE\u5F55\u3002","Projects \xB7 {count}":"\u9879\u76EE \xB7 {count}",Maintainer:"\u7EF4\u62A4\u8005",Member:"\u6210\u5458","No Projects yet":"\u8FD8\u6CA1\u6709\u9879\u76EE","Reading Projects\u2026":"\u6B63\u5728\u8BFB\u53D6\u9879\u76EE\u2026","My role":"\u6211\u7684\u89D2\u8272","No role to switch here.":"\u8FD9\u91CC\u6CA1\u6709\u53EF\u5207\u6362\u7684\u89D2\u8272\u3002","Role changed.":"\u89D2\u8272\u5DF2\u66F4\u6539\u3002","Role unchanged: {reason}":"\u89D2\u8272\u672A\u66F4\u6539\uFF1A{reason}",refused:"\u88AB\u62D2\u7EDD","No Project yet \u2014 create one.":"\u8FD8\u6CA1\u6709\u9879\u76EE\u2014\u2014\u65B0\u5EFA\u4E00\u4E2A\u3002","Bind a Bot or group":"\u7ED1\u5B9A Bot \u6216\u7FA4\u804A","Bind to {name}":"\u7ED1\u5B9A\u5230 {name}","Open board":"\u6253\u5F00\u770B\u677F",Unbind:"\u89E3\u9664\u7ED1\u5B9A",Bindings:"\u7ED1\u5B9A\u5173\u7CFB","Bind a member to this Project":"\u628A\u6210\u5458\u7ED1\u5B9A\u5230\u8FD9\u4E2A\u9879\u76EE","Member kind":"\u6210\u5458\u7C7B\u578B","Member id":"\u6210\u5458 ID","Member bound.":"\u6210\u5458\u5DF2\u7ED1\u5B9A\u3002",Bind:"\u7ED1\u5B9A","Member unbound.":"\u5DF2\u89E3\u9664\u6210\u5458\u7684\u7ED1\u5B9A\u3002","Project Assistant":"\u9879\u76EE\u52A9\u624B","Project Chief":"\u9879\u76EE Chief","Chief of this Project":"\u672C\u9879\u76EE\u7684 Chief","Pause the daily digest":"\u6682\u505C\u6BCF\u65E5\u6458\u8981","Assistant settings saved.":"\u52A9\u624B\u8BBE\u7F6E\u5DF2\u4FDD\u5B58\u3002","Add to the assistant memory":"\u6DFB\u52A0\u5230\u52A9\u624B\u8BB0\u5FC6","Memory saved.":"\u8BB0\u5FC6\u5DF2\u4FDD\u5B58\u3002","Save memory":"\u4FDD\u5B58\u8BB0\u5FC6","Back to board":"\u8FD4\u56DE\u770B\u677F",Owner:"\u8D1F\u8D23\u4EBA","On the board":"\u5728\u770B\u677F\u4E0A","No member is named yet.":"\u8FD8\u6CA1\u6709\u6307\u5B9A\u6210\u5458\u3002","Member management is not part of this slice; owners and the members their cards name are listed here.":"\u6210\u5458\u7BA1\u7406\u4E0D\u5728\u672C\u6B21\u8303\u56F4\u5185\uFF1B\u8FD9\u91CC\u5217\u51FA\u9879\u76EE\u8D1F\u8D23\u4EBA\u548C\u5361\u7247\u4E0A\u70B9\u540D\u7684\u6210\u5458\u3002","Project team":"\u9879\u76EE\u56E2\u961F","My agent":"\u6211\u7684\u52A9\u624B","Role pool":"\u89D2\u8272\u6C60","Can switch to {roles}":"\u53EF\u5207\u6362\u4E3A {roles}","No one in this pool yet.":"\u89D2\u8272\u6C60\u91CC\u8FD8\u6CA1\u6709\u4EBA\u3002",Dossier:"\u6863\u6848",Persona:"\u4EBA\u8BBE",Skills:"\u6280\u80FD","No memory yet.":"\u8FD8\u6CA1\u6709\u8BB0\u5FC6\u3002","No skills attached.":"\u8FD8\u6CA1\u6709\u9644\u52A0\u6280\u80FD\u3002","Open chat":"\u6253\u5F00\u5BF9\u8BDD","Open my agent":"\u6253\u5F00\u6211\u7684\u9879\u76EE\u52A9\u624B","Open {name}'s dossier":"\u6253\u5F00 {name} \u7684\u6863\u6848","No cards yet.":"\u8FD8\u6CA1\u6709\u5361\u7247\u3002","Open Projects in Settings":"\u5728\u8BBE\u7F6E\u4E2D\u6253\u5F00\u9879\u76EE"},rC=[[/^Model (.+) is not available\. Available: (.*)$/,"\u6A21\u578B $1 \u4E0D\u53EF\u7528\u3002\u53EF\u7528\u7684\uFF1A$2"],[/^A Bot named (.+) already exists$/,"\u5DF2\u7ECF\u6709\u53EB $1 \u7684 Bot \u4E86"],[/^Name (.*) is not available$/,"\u540D\u5B57 $1 \u4E0D\u53EF\u7528"],[/^"(.+)" calls everyone in a group, so it cannot be a Bot name$/,"\u300C$1\u300D\u5728\u7FA4\u91CC\u8868\u793A\u6240\u6709\u4EBA\uFF0C\u4E0D\u80FD\u7528\u4F5C Bot \u540D\u5B57"],[/^Another group chat is already called "(.+)"$/,"\u5DF2\u7ECF\u6709\u53EB\u300C$1\u300D\u7684\u7FA4\u804A\u4E86"],[/^A group chat holds at most (\d+) Bots$/,"\u4E00\u4E2A\u7FA4\u804A\u6700\u591A $1 \u4E2A Bot"],[/^Reply mode must be one of (.+)$/,"\u56DE\u590D\u6A21\u5F0F\u53EA\u80FD\u662F $1"],[/^Only the user, a Main Bot, or the admin of "(.+)" can change it$/,"\u53EA\u6709\u4F60\u3001\u4E3B Bot \u6216\u300C$1\u300D\u7684\u7BA1\u7406\u5458\u53EF\u4EE5\u4FEE\u6539"],[/^A key must have at least (\d+) characters$/,"\u5BC6\u94A5\u81F3\u5C11 $1 \u4E2A\u5B57\u7B26"],[/^A key can have at most (\d+) characters$/,"\u5BC6\u94A5\u6700\u591A $1 \u4E2A\u5B57\u7B26"],[/^Quiet hours are on until (\d\d:\d\d)\. Pick a time outside (\d\d:\d\d)–(\d\d:\d\d)\.$/,"\u5B89\u9759\u65F6\u6BB5\u5230 $1 \u7ED3\u675F\u3002\u8BF7\u9009 $2\u2013$3 \u4E4B\u5916\u7684\u65F6\u95F4\u3002"],[/^(.+) is not saved yet$/,"$1 \u8FD8\u6CA1\u6709\u4FDD\u5B58"],[/^The Bot team in (.+) is open in another dsh \((.+)\)\. This window shows the team but cannot change it; close the other one and reload\.$/,"$1 \u91CC\u7684 Bot \u56E2\u961F\u5DF2\u5728\u53E6\u4E00\u4E2A dsh \u4E2D\u6253\u5F00\uFF08$2\uFF09\u3002\u8FD9\u4E2A\u7A97\u53E3\u53EA\u80FD\u67E5\u770B\uFF0C\u4E0D\u80FD\u4FEE\u6539\uFF1B\u5173\u6389\u53E6\u4E00\u4E2A\u540E\u5237\u65B0\u3002"],[/^The Bot team file (.+) could not be read \((.+)\)\. FlyBot does not change it; fix or move the file and reload\.$/,"$1 \u91CC\u7684 Bot \u56E2\u961F\u6587\u4EF6\u8BFB\u4E0D\u51FA\u6765\uFF08$2\uFF09\u3002FlyBot \u4E0D\u4F1A\u6539\u5B83\uFF1B\u4FEE\u597D\u6216\u79FB\u8D70\u6587\u4EF6\u540E\u5237\u65B0\u3002"],[/^The Bot team file lists (\d+) members; FlyBot runs one owner per team$/,"\u56E2\u961F\u6587\u4EF6\u5217\u51FA\u4E86 $1 \u4E2A\u6210\u5458\uFF1BFlyBot \u6BCF\u4E2A\u56E2\u961F\u53EA\u8FD0\u884C\u4E00\u4F4D\u4E3B\u4EBA"],[/^HTTP (\d+)$/,"\u8BF7\u6C42\u5931\u8D25\uFF08HTTP $1\uFF09"],[/^GitHub answered (\d+)$/,"GitHub \u8FD4\u56DE\u4E86 $1"],[/^Keep the name under (\d+) characters$/,"\u540D\u5B57\u4E0D\u80FD\u8D85\u8FC7 $1 \u4E2A\u5B57"],[/^Give the full path of the folder, not (.+)$/,"\u8BF7\u586B\u5199\u6587\u4EF6\u5939\u7684\u5B8C\u6574\u8DEF\u5F84\uFF0C\u800C\u4E0D\u662F $1"],[/^There is no folder at (.+)$/,"\u627E\u4E0D\u5230\u6587\u4EF6\u5939 $1"],[/^(.+) is a file, not a folder$/,"$1 \u662F\u6587\u4EF6\uFF0C\u4E0D\u662F\u6587\u4EF6\u5939"],[/^(.+) holds DeepSeek Harness data, so Bots cannot work there$/,"$1 \u91CC\u6709 DeepSeek Harness \u7684\u6570\u636E\uFF0CBot \u4E0D\u80FD\u5728\u8FD9\u91CC\u5DE5\u4F5C"],[/^This looks like a key, token, or password[\s\S]*$/,"\u770B\u8D77\u6765\u50CF\u5BC6\u94A5\u3001\u4EE4\u724C\u6216\u5BC6\u7801\uFF0C\u8BB0\u5FC6\u4E0D\u4F1A\u4FDD\u5B58\u8FD9\u7C7B\u5185\u5BB9"],[/^An entry holds at most (\d+) characters; this one has (\d+)\.[\s\S]*$/,"\u4E00\u6761\u8BB0\u5FC6\u6700\u591A $1 \u4E2A\u5B57\u7B26\uFF0C\u8FD9\u6761\u6709 $2 \u4E2A"],[/^[\s\S]*'s MEMORY\.md would have (\d+) of its (\d+) characters\.[\s\S]*$/,"\u4E3B\u8BB0\u5FC6\u4F1A\u8D85\u8FC7 $2 \u4E2A\u5B57\u7B26\u7684\u4E0A\u9650\uFF0C\u8BF7\u5148\u5220\u6389\u4E00\u4E9B"],[/^The topic \[\[(.+?)\]\] in [\s\S]* would have (\d+) of its (\d+) characters\.[\s\S]*$/,"\u4E3B\u9898 $1 \u4F1A\u8D85\u8FC7 $3 \u4E2A\u5B57\u7B26\u7684\u4E0A\u9650"],[/^[\s\S]* already has (\d+) topics, the most it holds\.[\s\S]*$/,"\u4E3B\u9898\u5DF2\u7ECF\u6709 $1 \u4E2A\uFF0C\u4E0D\u80FD\u518D\u52A0\u65B0\u4E3B\u9898"],[/^There is no entry (.+)\.$/,"\u6CA1\u6709\u7B2C $1 \u6761"],[/^No entry in [\s\S]* matches "([\s\S]*)"\.[\s\S]*$/,"\u627E\u4E0D\u5230\u300C$1\u300D\u8FD9\u6761\u8BB0\u5FC6"],[/^"([\s\S]*)" matches (\d+) entries in [\s\S]*$/,"\u300C$1\u300D\u5BF9\u5E94\u4E86 $2 \u6761\u8BB0\u5FC6\uFF0C\u8BF7\u8BF4\u5F97\u66F4\u5177\u4F53"],[/^Memory cannot change now: [\s\S]*$/,"\u73B0\u5728\u4E0D\u80FD\u4FEE\u6539\u8BB0\u5FC6\uFF1A\u53E6\u4E00\u4E2A dsh \u6B63\u5728\u4F7F\u7528\u8FD9\u4E2A Bot \u56E2\u961F"],[/^Only the owner of this Project may change it$/,"\u53EA\u6709\u8FD9\u4E2A\u9879\u76EE\u7684\u4E3B\u4EBA\u53EF\u4EE5\u4FEE\u6539"],[/^A binding needs the member id$/,"\u7ED1\u5B9A\u9700\u8981 member id"],[/^A Project memory entry needs text$/,"\u9879\u76EE\u8BB0\u5FC6\u6761\u76EE\u9700\u8981\u6587\u5B57"],[/^A Project memory entry is at most (\d+) characters$/,"\u9879\u76EE\u8BB0\u5FC6\u6761\u76EE\u6700\u591A $1 \u4E2A\u5B57\u7B26"],[/^Unknown Project (\S+)$/,"\u627E\u4E0D\u5230\u9879\u76EE $1"]],sC={"Request failed":"\u8BF7\u6C42\u5931\u8D25","Permissions are not available in this DeepSeek Harness":"\u8FD9\u4E2A DeepSeek Harness \u4E0D\u652F\u6301\u6743\u9650\u8BBE\u7F6E","Avatar images must be PNG, JPEG, WebP, or GIF":"\u5934\u50CF\u56FE\u7247\u5FC5\u987B\u662F PNG\u3001JPEG\u3001WebP \u6216 GIF","Avatar image is too large":"\u5934\u50CF\u56FE\u7247\u592A\u5927\u4E86","A Bot needs a name":"Bot \u9700\u8981\u4E00\u4E2A\u540D\u5B57","A Bot name cannot contain @, ` or a line break":"Bot \u540D\u5B57\u91CC\u4E0D\u80FD\u6709 @\u3001` \u6216\u6362\u884C","Unknown Bot":"\u627E\u4E0D\u5230\u8FD9\u4E2A Bot","Unknown conversation":"\u627E\u4E0D\u5230\u8FD9\u4E2A\u5BF9\u8BDD","A group chat needs at least two Bots":"\u7FA4\u804A\u81F3\u5C11\u8981\u4E24\u4E2A Bot","You are not a member of that room":"\u4F60\u4E0D\u662F\u8FD9\u4E2A\u623F\u95F4\u7684\u6210\u5458","Only a room admin can add participants":"\u53EA\u6709\u623F\u95F4\u7BA1\u7406\u5458\u53EF\u4EE5\u6DFB\u52A0\u6210\u5458","Only a room admin can remove participants":"\u53EA\u6709\u623F\u95F4\u7BA1\u7406\u5458\u53EF\u4EE5\u79FB\u9664\u6210\u5458","Specialists stay in their owner's private rooms; a cross-owner room takes each side's Chief":"\u4E13\u5458\u53EA\u5F85\u5728\u5176\u4E3B\u4EBA\u7684\u79C1\u6709\u623F\u95F4\u91CC\uFF1B\u8DE8\u4E3B\u4EBA\u623F\u95F4\u53EA\u63A5\u53D7\u5404\u65B9\u7684 Chief","Only a designated Chief of a room member may join a shared room":"\u53EA\u6709\u623F\u95F4\u6210\u5458\u7684\u6307\u5B9A Chief \u53EF\u4EE5\u52A0\u5165\u5171\u4EAB\u623F\u95F4","Only a Bot granted to you may join a shared room":"\u53EA\u6709\u5DF2\u6388\u6743\u7ED9\u4F60\u7684 Bot \u53EF\u4EE5\u52A0\u5165\u5171\u4EAB\u623F\u95F4","Only a Chief or a Bot published to friends may join a shared room":"\u53EA\u6709\u5DF2\u6388\u6743\u7ED9\u4F60\u7684 Bot \u53EF\u4EE5\u52A0\u5165\u5171\u4EAB\u623F\u95F4","Participant kind must be human or bot":"\u6210\u5458\u7C7B\u578B\u53EA\u80FD\u662F human \u6216 bot","A participant needs an id":"\u6210\u5458\u9700\u8981 id","Room role must be admin or member":"\u623F\u95F4\u89D2\u8272\u53EA\u80FD\u662F admin \u6216 member","That participant is already in the room":"\u8FD9\u4E2A\u6210\u5458\u5DF2\u7ECF\u5728\u623F\u95F4\u91CC","Unknown team member":"\u627E\u4E0D\u5230\u8FD9\u4E2A\u56E2\u961F\u6210\u5458","That participant is not in the room":"\u8FD9\u4E2A\u6210\u5458\u4E0D\u5728\u623F\u95F4\u91CC","Each participant needs a kind (human or bot) and an id":"\u6BCF\u4E2A\u6210\u5458\u90FD\u9700\u8981\u7C7B\u578B\uFF08human \u6216 bot\uFF09\u548C id","The admin must be a member of the group":"\u7BA1\u7406\u5458\u5FC5\u987B\u662F\u7FA4\u6210\u5458","Unknown group chat":"\u627E\u4E0D\u5230\u8FD9\u4E2A\u7FA4\u804A","Hand the admin role to another member instead of leaving the group without one":"\u8BF7\u628A\u7BA1\u7406\u5458\u4EA4\u7ED9\u5176\u4ED6\u6210\u5458\uFF0C\u4E0D\u8981\u8BA9\u7FA4\u804A\u6CA1\u6709\u7BA1\u7406\u5458","Hand the admin role to another member before leaving the group":"\u79BB\u5F00\u7FA4\u804A\u524D\uFF0C\u8BF7\u5148\u628A\u7BA1\u7406\u5458\u4EA4\u7ED9\u5176\u4ED6\u6210\u5458","The team needs at least one Main Bot":"\u56E2\u961F\u81F3\u5C11\u8981\u6709\u4E00\u4E2A\u4E3B Bot","Only a Main Bot can be replaced":"\u53EA\u80FD\u66FF\u6362\u4E3B Bot","A Main Bot cannot be deleted; remove its Main Bot role first":"\u4E3B Bot \u4E0D\u80FD\u5220\u9664\uFF0C\u8BF7\u5148\u53D6\u6D88\u5B83\u7684\u4E3B Bot \u8EAB\u4EFD","Unknown theme":"\u672A\u77E5\u4E3B\u9898","Accent must be a #rrggbb color":"\u5F3A\u8C03\u8272\u5FC5\u987B\u662F #rrggbb \u683C\u5F0F","Type the key first":"\u8BF7\u5148\u8F93\u5165\u5BC6\u94A5","Choose every Bot or a list of Bots":"\u8BF7\u9009\u62E9\u6240\u6709 Bot \u6216\u6307\u5B9A\u7684 Bot","This request is gone":"\u8FD9\u4E2A\u8BF7\u6C42\u5DF2\u7ECF\u4E0D\u5B58\u5728\u4E86","This request was already answered":"\u8FD9\u4E2A\u8BF7\u6C42\u5DF2\u7ECF\u5904\u7406\u8FC7\u4E86","A name uses capitals, digits, and underscores, and starts with a letter":"\u540D\u5B57\u53EA\u80FD\u7528\u5927\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF\uFF0C\u5E76\u4EE5\u5B57\u6BCD\u5F00\u5934","No such key":"\u6CA1\u6709\u8FD9\u4E2A\u5BC6\u94A5","Type a question or a change first":"\u8BF7\u5148\u8F93\u5165\u95EE\u9898\u6216\u8981\u6539\u7684\u5185\u5BB9","No model is available. Add one in Harness settings.":"\u6CA1\u6709\u53EF\u7528\u7684\u6A21\u578B\uFF0C\u8BF7\u5148\u5728 Harness \u8BBE\u7F6E\u91CC\u6DFB\u52A0\u6A21\u578B\u3002","Memory is turned off on this host":"\u8FD9\u53F0\u4E3B\u673A\u5173\u95ED\u4E86\u8BB0\u5FC6\u529F\u80FD","The model wrote nothing":"\u6A21\u578B\u6CA1\u6709\u8F93\u51FA\u5185\u5BB9","Write the entry to save.":"\u8BF7\u5199\u4E0B\u8981\u4FDD\u5B58\u7684\u5185\u5BB9\u3002","This DeepSeek Harness has no folder chooser":"\u8FD9\u4E2A DeepSeek Harness \u6CA1\u6709\u6587\u4EF6\u5939\u9009\u62E9\u7A97\u53E3","This DeepSeek Harness cannot list folders":"\u8FD9\u4E2A DeepSeek Harness \u4E0D\u80FD\u5217\u51FA\u6587\u4EF6\u5939","No FlyBot core update is available":"\u6CA1\u6709\u53EF\u7528\u7684 FlyBot \u6838\u5FC3\u66F4\u65B0","saved by a newer FlyBot; update FlyBot":"\u7531\u66F4\u65B0\u7684 FlyBot \u4FDD\u5B58\uFF1B\u8BF7\u66F4\u65B0 FlyBot"};Object.assign(T7,sC);var ql=(e,t)=>t?e.replace(/\{(\w+)\}/g,(n,a)=>a in t?String(t[a]):n):e,H7=null,N7=null;function cC(e){if(!e||typeof e.register!="function"||typeof e.bind!="function")return()=>{};H7=e,N7=e.bind(Vl);let t=e.register(Vl,"zh",T7);return()=>{H7===e&&(H7=null,N7=null),typeof t=="function"&&t()}}function Il(e){let t=typeof e=="string"?e:"en";return cC({getLocale:()=>({active:t}),register:()=>()=>{},bind:()=>(n,a)=>ql(t.startsWith("zh")?T7[n]??n:n,a)})}function N(e,t){return N7?N7(e,t):ql(e,t)}function $e(e){if(!Bl().startsWith("zh"))return e;if(Object.hasOwn(T7,e))return N(e);for(let[t,n]of rC)if(t.test(e))return e.replace(t,n);return e}function Bl(){let e=H7?.getLocale?.().active;return typeof e=="string"?e:"en"}var oC=X1(l0(),1);function V7(e){let t=e?.self?.memberId;return(e?.bots??[]).filter(n=>!n.remote&&(t==null||n.ownerId===void 0||n.ownerId===t))}var y9=/^cli_[0-9a-f]{16}$/i,_9=["im:message.group_at_msg:readonly","im:message.p2p_msg:readonly","im:message:send_as_bot","im:message.reactions:write_only","im:resource","im:message:readonly","im:chat:readonly","contact:contact.base:readonly","contact:user.base:readonly","im:message.group_msg.include_bot:read"],q7=[{id:"calendar",label:"Calendar",scopes:["calendar:calendar"]},{id:"docs",label:"Documents and wiki",scopes:["docx:document","drive:drive","wiki:wiki"]},{id:"bitable",label:"Bitable",scopes:["bitable:app"]},{id:"sheets",label:"Spreadsheets",scopes:["sheets:spreadsheet"]},{id:"meeting",label:"Video meetings",scopes:["vc:reserve"]},{id:"task",label:"Tasks",scopes:["task:task:write"]}],Pl=["Create an app on Feishu Open Platform","Enter credentials and test connection","Subscribe to message events and card callbacks","Publish an app version","Choose the Bot represented by the robot","Try it in Feishu"],Rl=e=>e==="http"?["Prepare a public event address",...Pl]:[...Pl],w9=(e=[])=>JSON.stringify({scopes:{tenant:[...new Set([..._9,...q7.filter(t=>e.includes(t.id)).flatMap(t=>t.scopes)])],user:[]}},null,2);function Dl(e,t=[]){return e==="im:message:readonly"?["im:message:readonly","im:message","im:message.history:readonly"].some(n=>t.includes(n)):e==="im:message.reactions:write_only"?t.includes(e)||t.includes("im:message"):t.includes(e)}function x9(e,t=[]){return e.scopes.every(n=>t.includes(n))?"write":["meeting","task"].includes(e.id)?"disabled":e.scopes.every(n=>t.includes(n)||t.includes("".concat(n,":readonly")))?"read":"disabled"}function k9(e){try{let t=new URL(e);return t.protocol==="https:"&&!t.username&&!t.password&&!t.hash&&!t.search&&!/^(localhost$|127\.|10\.|0\.|192\.168\.|172\.(1[6-9]|2\d|3[01])\.|\[|169\.254\.)/.test(t.hostname)&&!t.hostname.endsWith(".local")}catch{return!1}}var X0=(e,t,n=!1,a="")=>(0,V.createElement)("button",{type:"button",className:"bt-soft bt-soft-sm bt-feishu-button ".concat(a),onClick:t,disabled:n},N(e)),e0=e=>(0,V.createElement)("p",{className:"bt-set-hint"},N(e)),Xe=(e,t,n,a="text",i=!1)=>(0,V.createElement)("label",{className:"bt-feishu-field"},(0,V.createElement)("span",{},N(e)),(0,V.createElement)("input",{className:"bt-input",type:a,value:t,disabled:i,autoComplete:a==="password"?"new-password":"off","aria-label":N(e),onChange:r=>n(r.target.value)}));function Gl({actions:e,roster:t,onClose:n}){let[a,i]=(0,V.useState)([]),[r,s]=(0,V.useState)([]),[c,o]=(0,V.useState)(""),[l,p]=(0,V.useState)(0),[u,m]=(0,V.useState)("socket"),[d,f]=(0,V.useState)(""),[w,x]=(0,V.useState)(""),[v,b]=(0,V.useState)(""),[_,z]=(0,V.useState)(""),[$,C]=(0,V.useState)("Feishu"),[j,T]=(0,V.useState)(""),[H,E]=(0,V.useState)(""),[R,D]=(0,V.useState)(""),[B,Q]=(0,V.useState)([]),[O,U]=(0,V.useState)(!1),[r1,z1]=(0,V.useState)(!1),[A1,A]=(0,V.useState)(""),[i1,l1]=(0,V.useState)(null),[S,R1]=(0,V.useState)(""),h0=(0,V.useRef)(!0),p1=a.find(I=>I.id===c),V1=Rl(u),S1=u==="http"?1:0,Z1=l-S1,Q1=(0,V.useCallback)(async()=>{let I=await e.feishu({operation:"list"});if(i(I.apps??[]),s(I.members??[]),h0.current){h0.current=!1;let y1=new URLSearchParams(window.location.search).get("feishu-app"),n0=I.apps?.find(g2=>g2.id===y1)??I.apps?.[0];n0&&(o(n0.id),f(n0.id),m(n0.mode),p(n0.step??0),T(n0.botId??""),z(n0.publicUrl??""),C(n0.name??"Feishu"))}},[e]);(0,V.useEffect)(()=>{Q1().catch(y1=>A($e(y1.message)));let I=setInterval(()=>{Q1().catch(()=>{})},3e3);return()=>clearInterval(I)},[Q1]);let x0=async I=>{z1(!0),A("");try{let y1=await I();return await Q1(),y1}catch(y1){A($e(y1.message));return}finally{z1(!1)}},k0=I=>{let y1=a.find(n0=>n0.id===I);o(I),f(I),m(y1?.mode??"socket"),p(y1?.step??0),T(y1?.botId??""),z(y1?.publicUrl??""),C(y1?.name??"Feishu"),x(""),b(""),l1(null)},t2=async I=>{c&&await x0(()=>e.feishu({operation:"configure",appId:c,step:I,...j?{botId:j}:{}})),p(I)},h2=()=>{x0(async()=>{let I=await e.feishu({operation:"save",appId:d,appSecret:w,verificationToken:v,mode:u,publicUrl:_,name:$,step:S1+2});i(I.apps),o(d),x(""),b(""),l1(I.test),p(S1+(I.test?.credentialError?1:2))})},V0=I=>{x0(()=>e.feishu({appId:c,...I}))},J2=async I=>{let y1=I.currentTarget.closest(".bt-feishu-permissions");A("");try{if(!navigator.clipboard?.writeText)throw new Error("Clipboard unavailable");await navigator.clipboard.writeText(w9(B)),U(!0)}catch{let n0=y1.querySelector(".bt-feishu-json"),g2=n0.querySelector("textarea");n0.open=!0,g2.focus(),g2.select(),U(!1),A(N("Clipboard is unavailable. Copy the selected JSON below."))}},A2=(0,V.createElement)("section",{className:"bt-feishu-permissions"},(0,V.createElement)("div",{className:"bt-feishu-section-head"},(0,V.createElement)("strong",{},N("Extended permissions (Feishu tools)")),(0,V.createElement)("span",{className:"bt-feishu-optional"},N("Optional tools"))),e0("Select the tools you need. The permission JSON updates automatically."),(0,V.createElement)("div",{className:"bt-feishu-permission-grid"},q7.map(I=>(0,V.createElement)("label",{key:I.id,className:"bt-feishu-permission","data-checked":B.includes(I.id)},(0,V.createElement)("input",{type:"checkbox",checked:B.includes(I.id),onChange:y1=>{Q(y1.target.checked?[...B,I.id]:B.filter(n0=>n0!==I.id)),U(!1)}}),(0,V.createElement)("span",{},N(I.label))))),(0,V.createElement)("div",{className:"bt-feishu-permission-copy"},X0(O?"Copied":"Copy permission JSON",J2),(0,V.createElement)("span",{className:"bt-set-hint"},N("Base permissions are always included."))),(0,V.createElement)("details",{className:"bt-feishu-json"},(0,V.createElement)("summary",{},N("View permission JSON")),(0,V.createElement)("textarea",{className:"bt-input",readOnly:!0,rows:8,value:w9(B),"aria-label":N("Copy permission JSON")})),e0("Import this JSON in Permission management \u2192 Batch import/export. Set the contact data scope to people who will use the robot.")),F0;l===0&&u==="http"?F0=(0,V.createElement)("div",{},e0("Forward only the event port to a public HTTPS address. Do not expose the FlyBot console. Leave Encrypt Key empty."),Xe("Public HTTPS event origin",_,z)):Z1===0?F0=(0,V.createElement)("div",{},e0("Create an internal app, add the Bot capability, and apply for the permissions below. Do not configure events yet."),(0,V.createElement)("a",{className:"bt-feishu-external",href:"https://open.feishu.cn/app",target:"_blank",rel:"noopener noreferrer"},N("Open Feishu Open Platform"),(0,V.createElement)("span",{"aria-hidden":!0},"\u2197")),A2):Z1===1?F0=(0,V.createElement)("div",{},e0("Credentials are encrypted on the platform and cannot be viewed after saving. Bots never receive them."),e0("Leave saved credentials blank to keep them. Switching receiving methods reuses the same Feishu application and conversations."),p1?.mode==="http"&&u==="socket"?e0("Switching to a long connection deletes the saved Verification Token."):null,Xe("Connection name",$,C),Xe("App ID",d,f,"text",!!c),Xe("App Secret",w,x,"password"),u==="http"?Xe("Verification Token",v,b,"password"):null,d&&!y9.test(d)?e0("App ID must be cli_ followed by 16 hexadecimal characters"):null,X0("Save and test connection",h2,r1||!y9.test(d)||!c&&!w.trim()||u==="http"&&(!k9(_)||!v&&p1?.mode!=="http"),"bt-feishu-primary")):Z1===2?F0=(0,V.createElement)("div",{},u==="socket"?(0,V.createElement)("div",{},(0,V.createElement)("strong",{},N("Connection to Feishu")),(0,V.createElement)("p",{role:"status"},N(p1?.connection==="ready"?"Connected":p1?.connection==="error"?"Connection failed":"Connecting\u2026")),e0("Refreshes every 3 seconds"),p1?.connection==="ready"?e0("Now set Events and callbacks \u2192 Event configuration \u2192 Use long connection to receive events, then save."):e0("Wait until connected: Feishu only allows saving the long connection subscription after FlyBot connects. Check credentials and network if it keeps waiting."),e0("In Callback configuration, use the long connection and add Card action trigger (card.action.trigger).")):(0,V.createElement)("div",{},e0("In both Event configuration and Callback configuration, select Send to developer server, use the same address below, and save."),(0,V.createElement)("code",{},"".concat(_.replace(/\/$/,""),"/api/feishu/events/").concat(c)),e0(p1?.verifiedAt?"Address verified":"Waiting for address verification")),e0("Add Receive message v2.0 (im.message.receive_v1)."),e0("Without card.action.trigger, cards can display but buttons and forms do not respond. Neither test connection nor connected status checks callback subscriptions."),e0("Connect each Feishu app to only one FlyBot instance; multiple instances split incoming messages."),e0(p1?.lastEventAt?"Received an event":"No event received yet")):Z1===3?F0=(0,V.createElement)("div",{},e0("Create and publish a version in Version management and release. Include the required members or departments. Wait for enterprise approval if required."),e0("Permissions, Bot capability, events and callbacks take effect after publishing. Publish again after any change."),X0("Test connection",()=>{x0(async()=>{let I=await e.feishu({operation:"test",appId:c});l1(I)})},r1)):Z1===4?F0=(0,V.createElement)("div",{},e0("One Feishu application represents one Bot. Group mentions and private messages go to the selected local Bot."),(0,V.createElement)("select",{className:"bt-input","aria-label":N("Choose a Bot"),value:j,onChange:I=>T(I.target.value)},(0,V.createElement)("option",{value:""},N("Choose a Bot")),V7(t).filter(I=>!I.projectAgent&&!I.ephemeral).map(I=>(0,V.createElement)("option",{key:I.id,value:I.id},I.name)))):F0=(0,V.createElement)("div",{},e0("Add the application under Group settings \u2192 Group robots. Mention it in the group, or send a private message."),e0("Ask the Bot to send a card with a submit button. Click it and confirm Submitted. Ordinary chat success does not verify card callbacks."),e0("Each group or private chat keeps one FlyBot conversation; thread replies return to the original thread."),(0,V.createElement)("ul",{},(p1?.recent??[]).map(I=>(0,V.createElement)("li",{key:I.id},"".concat(I.text??""," \xB7 ").concat(I.status)))));let V2=(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Identity linking")),e0("Link to an existing signed-in platform member. No external members or new login accounts are created. Unlinked card submissions and meeting bookings are refused."),Xe("Feishu open_id",H,E),(0,V.createElement)("select",{className:"bt-input",value:R,"aria-label":N("Platform member"),onChange:I=>D(I.target.value)},(0,V.createElement)("option",{value:""},N("Platform member")),r.map(I=>(0,V.createElement)("option",{key:I.id,value:I.id},I.name))),X0("Link identity",()=>V0({operation:"identity",openId:H,...R?{memberId:R}:{}}),r1||!H),(0,V.createElement)("ul",{},(p1?.identities??[]).map(I=>(0,V.createElement)("li",{key:I.openId},"".concat(I.openId," \u2192 ").concat(I.memberId)))));return(0,V.createElement)("section",{className:"bt-feishu-setup","aria-label":N("Connect Feishu")},(0,V.createElement)("header",{className:"bt-feishu-header"},(0,V.createElement)("div",{},(0,V.createElement)("h3",{},N("Connect Feishu")),e0("Only Feishu (open.feishu.cn) is supported; Lark is not supported.")),a.length?(0,V.createElement)("select",{className:"bt-input",value:c,onChange:I=>k0(I.target.value),"aria-label":N("Connect Feishu")},(0,V.createElement)("option",{value:""},N("New connection")),a.map(I=>(0,V.createElement)("option",{key:I.id,value:I.id},"".concat(I.name," (").concat(I.id,")")))):null),p1?.linkOnly?(0,V.createElement)("div",{className:"bt-feishu-body"},V2,X0("Later",n,!1,"bt-feishu-quiet")):(0,V.createElement)("div",{className:"bt-feishu-body"},(0,V.createElement)("div",{className:"bt-feishu-modes",role:"group","aria-label":N("How to connect")},["socket","http"].map(I=>(0,V.createElement)("button",{key:I,type:"button","aria-pressed":u===I,"aria-label":N(I==="socket"?"Long connection (recommended, no public address)":"Event address (HTTP, needs a public address)"),onClick:()=>{m(I),p(I==="http"?0:c?1:0)}},(0,V.createElement)("strong",{},N(I==="socket"?"Long connection":"Event address")),(0,V.createElement)("small",{},N(I==="socket"?"Recommended \xB7 no public address":"Requires a public HTTPS address"))))),(0,V.createElement)("div",{className:"bt-feishu-layout"},(0,V.createElement)("nav",{className:"bt-feishu-progress","aria-label":N("Connection steps")},(0,V.createElement)("ol",{},V1.map((I,y1)=>(0,V.createElement)("li",{key:I},(0,V.createElement)("button",{type:"button","aria-label":N(I),"aria-current":l===y1?"step":void 0,"data-done":y1<l,disabled:y1>S1+1&&!c,onClick:()=>p(y1)},(0,V.createElement)("span",{className:"bt-feishu-step-number","aria-hidden":!0},y1<l?"\u2713":y1+1),(0,V.createElement)("span",{className:"bt-feishu-step-label"},N(I))))))),(0,V.createElement)("div",{className:"bt-feishu-step"},(0,V.createElement)("div",{className:"bt-feishu-step-heading"},(0,V.createElement)("span",{className:"bt-feishu-eyebrow"},N("Step {current} of {total}",{current:l+1,total:V1.length})),(0,V.createElement)("h4",{},N(V1[l]))),(0,V.createElement)("div",{className:"bt-feishu-step-content"},F0),i1?(0,V.createElement)("p",{className:"bt-feishu-result",role:"status","data-success":i1.ok},i1.ok?"".concat(N("Connected")," ").concat(i1.bot??""):$e(i1.error)):null,(0,V.createElement)("footer",{className:"bt-feishu-footer"},X0("Previous step",()=>p(Math.max(0,l-1)),l===0||r1),(0,V.createElement)("div",{},X0("Later",n,!1,"bt-feishu-quiet"),l<V1.length-1?X0("Next",()=>{t2(l+1)},r1||Z1===3&&!i1?.ok||Z1===1&&(!c||p1?.mode!==u)||Z1===4&&!j||u==="http"&&l===0&&!k9(_)||Z1>1&&!c,"bt-feishu-primary"):X0("Finish",n,!1,"bt-feishu-primary"))))),p1?(0,V.createElement)("div",{className:"bt-feishu-management"},(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Who may send messages")),e0("Allowed senders can send messages; this does not grant platform identity or approval authority."),(0,V.createElement)("label",{className:"bt-feishu-check"},(0,V.createElement)("input",{type:"checkbox",checked:p1.allowBots===!0,onChange:I=>V0({operation:"configure",allowBots:I.target.checked})}),N("Also process other robots that mention this robot (up to 8 consecutive requests)")),Xe("Allow an open_id",H,E),X0("Allow",()=>V0({operation:"allow",openId:H}),r1||!H),(p1.allowed??[]).map(I=>(0,V.createElement)("p",{key:I},I,X0("Block",()=>V0({operation:"allow",openId:I,enabled:!1}),r1)))),V2,(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Conversation handlers")),[...new Set((p1.recent??[]).map(I=>I.chatId).filter(Boolean))].map(I=>(0,V.createElement)("label",{key:I,className:"bt-q-field"},I,(0,V.createElement)("select",{className:"bt-input",value:p1.chatBots?.[I]??"","aria-label":"".concat(N("Conversation handler")," ").concat(I),onChange:y1=>V0({operation:"configure",chatId:I,botId:y1.target.value||null})},(0,V.createElement)("option",{value:""},N("Follow the default Bot")),V7(t).filter(y1=>!y1.projectAgent&&!y1.ephemeral).map(y1=>(0,V.createElement)("option",{key:y1.id,value:y1.id},y1.name)))))),(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Permissions of the Feishu application")),A2,X0("Check permissions again",()=>V0({operation:"scopes"}),r1),(0,V.createElement)("ul",{},_9.filter(I=>!Dl(I,p1.scopes)).map(I=>(0,V.createElement)("li",{key:I},I)))),(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Feishu tools")),V7(t).filter(I=>!I.projectAgent&&!I.ephemeral).map(I=>(0,V.createElement)("fieldset",{key:I.id},(0,V.createElement)("legend",{},I.name),q7.map(y1=>(0,V.createElement)("label",{key:y1.id,className:"bt-q-field"},N(y1.label),x9(y1,p1.scopes)!=="write"?(0,V.createElement)("small",{},N(x9(y1,p1.scopes)==="read"?"App has read-only permission":"App permission not granted")):null,(0,V.createElement)("select",{className:"bt-input","aria-label":"".concat(I.name," ").concat(N(y1.label)),value:p1.grants?.[I.id]?.[y1.id]??"disabled",onChange:n0=>V0({operation:"grant",botId:I.id,product:y1.id,mode:n0.target.value})},[["disabled","Disabled"],["read","Read only"],["ask","Read/write, ask before writes"],["write","Read/write"]].map(([n0,g2])=>(0,V.createElement)("option",{key:n0,value:n0},N(g2))))))))),(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Diagnostics")),(0,V.createElement)("ul",{},(p1.diagnostics??[]).map((I,y1)=>(0,V.createElement)("li",{key:y1},"".concat(I.kind,": ").concat($e(I.message)," ").concat(I.code??""," ").concat(I.detail??""))))),(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Delivery records")),(p1.outbox??[]).map(I=>(0,V.createElement)("p",{key:I.id},"".concat(I.id,": ").concat(I.status),I.status==="failed"?X0("Try again",()=>V0({operation:"retry",outboxId:I.id})):null))),(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Files")),(p1.files??[]).map(I=>X0(I.name,()=>{x0(async()=>{let y1=await e.feishu({operation:"attachment",appId:p1.id,attachmentId:I.id}),n0=Uint8Array.from(atob(y1.content_base64),ot=>ot.charCodeAt(0)),g2=URL.createObjectURL(new Blob([n0]));Object.assign(document.createElement("a"),{href:g2,download:y1.name??I.name}).click(),setTimeout(()=>URL.revokeObjectURL(g2),1e4)})}))),(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Cards")),(p1.cards??[]).map(I=>(0,V.createElement)(lC,{key:I.id,card:I,action:V0}))),X0("Delete connection",()=>{x0(async()=>{await e.feishu({operation:"delete",appId:c}),k0("")})},r1)):null),p1?null:(0,V.createElement)("details",{className:"bt-feishu-webhook"},(0,V.createElement)("summary",{},N("Custom bot webhook")),Xe("Webhook URL",S,R1,"password"),X0("Connect",()=>{x0(()=>e.connectorConnect("feishu",{mode:"webhook",credentials:{webhook:S}}))},r1||!S)),A1?(0,V.createElement)("p",{className:"bt-feishu-error",role:"alert"},A1):null)}function lC({card:e,action:t}){let[n,a]=(0,V.useState)({});return(0,V.createElement)("article",{},(0,V.createElement)("strong",{},e.card.title??"FlyBot"),(e.card.blocks??[]).map((i,r)=>i.type==="input"?Xe(i.label??i.name,n[i.name]??"",s=>a({...n,[i.name]:s})):(0,V.createElement)("pre",{key:r},i.text??JSON.stringify(i))),(e.card.actions??[]).map(i=>X0(i.label??i.id,()=>t({operation:"card-action",cardId:e.id,action:i.id,fields:n}),e.closed)))}var j5=X1(l0(),1);var Ol=30,pC=300*1e3,M5=[],z9=new WeakSet,C9=e=>(e!==null&&typeof e=="object"&&z9.add(e),e);function I7(e,t){if(t!==null&&typeof t=="object"){if(z9.has(t))return;z9.add(t)}let n=String(t?.message??t??"error").slice(0,300),a=typeof t?.code=="string"?t.code:void 0,i="".concat(e,": ").concat(n),r=Date.now(),s=M5.at(-1);if(s&&s.text===i&&r-s.time<pC){s.time=r,s.count=(s.count??1)+1;return}M5.push({time:r,level:"error",text:i,...a?{code:a}:{}}),M5.length>Ol&&M5.splice(0,M5.length-Ol)}var uC="api/bot",mC=new Set(["bot/refused","bot/invalid","bot/read-only","bot/not-found","bot/browser-off"]),w4=async(e,t,n)=>{let a;try{let r={"content-type":"application/json"};try{let s=localStorage.getItem("flybot-member-session");s&&(r["x-flybot-member-session"]=s)}catch{}a=await fetch(uC,{method:"POST",credentials:"same-origin",headers:r,body:JSON.stringify({endpoint:e,payload:t??null}),signal:n})}catch(r){throw r?.name==="AbortError"?r:(I7(e,Object.assign(new Error("network error: ".concat(r?.message??r)),{code:"NETWORK"})),C9(Object.assign(new Error(N("Could not reach DSH. Check that it is still running.")),{code:"NETWORK",cause:r})))}if(!a.ok){let r=Object.assign(new Error($e("HTTP ".concat(a.status))),{code:"HTTP_".concat(a.status)});throw I7(e,r),r}let i=await a.json();if(!i.ok){let r=i.error?.code??"bot/error",s=$e(i.error?.message??"Request failed"),c=Object.assign(new Error(r==="bot/internal"?"".concat(s," ").concat(N("Settings \u2192 Feedback has the details.")):s),{code:r,details:i.error?.details});throw mC.has(r)||(I7(e,Object.assign(new Error(i.error?.message??"Request failed"),{code:r})),C9(c)),c}return i.value};function I2(e,t=""){return String(e??"").replace(/[\u0000-\u001f\u007f-\u009f\u2028\u2029]/g," ").replace(/[[\]"`<>]/g,"").replace(/\s+/g," ").trim().slice(0,60)||t}function Xl(e){return"@".concat(String(e??"").trim().replace(/^@+/,"").toLowerCase())}function $5(e){let t=String(e??"").replace(/^@/,"").split(".");return t.length>=3&&t.at(-1)==="home"?t.at(-2):t.length===2&&t[1]==="home"?t[0]:""}function dC(e){let t=String(e?.handle??e?.remote?.handle??""),a=Xl(t).replace(/^@/,"").split(".");return a.length===2&&a[1]==="home"}function Kl(e){if(!e||e.hidden)return!1;let t=e.remote;return!t||typeof t.handle!="string"?!0:!(t.gone||t.hidden||dC(t))}function Yl(e){return e?Kl(e)?!0:e.remote?.gone!==!0?!1:e.hidden!==!0||e.remote.hiddenByGone===!0:!1}var hC=/^flybot[\s._-]*(?=[0-9a-f]*\d)[0-9a-f]{6,}$/i;function A9(e){return hC.test(String(e??"").trim())}function mt(e){if(!e)return"";let t=I2(e.ownerName||e.owner||e.homeName||e.ownerHome||e.home||$5(e.handle),"");return A9(t)&&([e.ownerName,e.owner,e.homeName].map(a=>I2(a,"")).find(a=>a&&!A9(a))||I2($5(e.handle)||$5(e.ownerHome)||$5(e.home),""))||t}var Wl=e=>String(e??"").toLowerCase().replace(/[\s._@-]+/g,"");function Jl(e,t=""){let n=I2(e?.displayName||e?.name,t),a=n.lastIndexOf(" \xB7 ");if(a<=0)return n;let i=Wl(n.slice(a+3)),r=[e?.ownerName,e?.owner,e?.homeName,$5(e?.handle),mt(e)].map(Wl).filter(Boolean);return A9(n.slice(a+3))||r.includes(i)?n.slice(0,a).trim():n}function gC(e){return e?e.isChief===!0?!0:/^chief$/i.test(String(e.displayName||e.name||"")):!1}function Ql(e){let t=mt(e)||I2(e?.handle,"Friend"),n=Jl(e,gC(e)?"Chief":I2(e?.handle,"Bot"));return"".concat(n," (").concat(t,")")}function bC(e){return mt(e)||I2(e?.handle,"Friend")}function ep(e){let t=e?.remote&&typeof e.remote=="object"?e.remote:{};return{displayName:t.displayName||t.name||e?.name,ownerName:t.ownerName||t.owner||t.homeName||e?.ownerName||e?.owner||e?.homeName,handle:t.handle??e?.handle,isChief:t.isChief??e?.isChief}}function ut(e){return Ql(ep(e))}var Ul=e=>String((e?.remote&&typeof e.remote=="object"?e.remote.handle:e?.handle)??"").replace(/^@+/,"").toLowerCase();function B7(e,t=[]){let n=ut(e),a=Ul(e);if(!(t??[]).some(s=>{let c=Ul(s);return c!==""&&c!==a&&ut(s)===n}))return n;let r=I2(String(e?.remote?.home??e?.home??"").replace(/^@+/,""),"");return r?"".concat(n," \xB7 ").concat(r):n}function M9(e){return bC(ep(e))}function $9(e){return"Shared room from ".concat(I2(e,"a friend"))}function L9(e){if(!e)return"";let t=I2(e.name,"");return e.sharedFrom?.ticket&&t?t:e.displayName||(e.sharedFrom?$9(e.sharedFrom.inviterName):e.name)||""}var tp=["flybot.sidebar.section","flybot.sidebar.structure","flybot.composer.mention","flybot.bot.details","flybot.approvals","flybot.room.overview","flybot.room.members","flybot.session.dock","flybot.new-chat.action","flybot.account.header","flybot.settings.page"];function np(){let e=new Map(tp.map(i=>[i,[]])),t=new Set,n=0,a=()=>{n+=1;for(let i of[...t])i()};return{register(i,r){if(!e.has(i))throw new Error("flybot: unknown slot ".concat(i));if(typeof r?.id!="string")throw new Error("flybot: a slot entry needs an id");let s=e.get(i).filter(o=>o.id!==r.id),c={order:0,...r};return s.push(c),s.sort((o,l)=>o.order-l.order),e.set(i,s),a(),()=>{e.set(i,e.get(i).filter(o=>o!==c)),a()}},entries:i=>e.get(i)??[],subscribe(i){return t.add(i),()=>t.delete(i)},version:()=>n}}function S9(){let e=globalThis;return e.__flybot__??={slots:np()},e.__flybot__.slots}function E9(e,t,n){let a=new Map(e.map(o=>[o.id,o])),i=a.get(t);if(i===void 0)return[];let r=o=>{if(o===t)return null;let l;try{l=n(o)}catch{l=void 0}if(typeof l!="string"||l===o||!a.has(l))return t;let p=new Set([o]);for(let u=l;u!==t;){if(p.has(u))return t;p.add(u);let m;try{m=n(u)}catch{m=void 0}u=typeof m=="string"&&a.has(m)&&m!==u?m:t}return l},s=new Map;for(let o of e){if(o.id===t)continue;let l=r(o.id);s.has(l)||s.set(l,[]),s.get(l).push(o)}let c=(o,l)=>({bot:o,depth:l,children:(s.get(o.id)??[]).map(p=>c(p,l+1))});return[c(i,0)]}var M1=X1(l0(),1);var Ke={deepseek:["#4D6BFE","#6A84FF"],charcoal:["#141416","#F1F2F4"],graphite:["#2D2D2D","#D6D6DA"],rose:["#EC2F6B","#FF5A7A"],sky:["#0AA8D6","#2EE6E0"],tangerine:["#FF6900","#FF8A2E"],cobalt:["#082DFF","#5C78FF"],black:["#000000","#FFFFFF"],brown:["#A27952","#855C36"],red:["#FF3E51","#E02135"],orange:["#FF781C","#FF6700"],yellow:["#FFAF38","#FF9800"],green:["#00C972","#009957"],cyan:["#1CC3B0","#00A592"],blue:["#2A92FE","#0E74E0"],violet:["#A97EFE","#804EE0"],magenta:["#FF5EB1","#E02A88"],gray:["#959595","#777777"],aurora:["#00B8D4","#2EE6E0"]},Z9={aurora:[[0,"#A4FFB0"],[.42,"#00F0E4"],[1,"#2E9EF7"]]};var ap={kimi:"charcoal",zai:"graphite",minimax:"rose",stepfun:"sky",mimo:"tangerine",qwen:"cobalt"},P7=e=>typeof e=="string"&&/^#[0-9a-f]{6}$/i.test(e);var fC=e=>Ke[e]?e:Ke[ap[e]]?ap[e]:"gray",R7=e=>P7(e)?e:"var(--bt-ink-".concat(fC(e),")");var cp={whale:{label:"Whale",body:"M65.3 20.9l5.1 .1 4.8 .9 4.8 1.7 4.3 2.3 3.8 3.1 3 3.4 2.3 3.8 1.6 4.3 .9 4.3 0 4.8-.8 4.8-1.4 4.3-2.3 4.3-3.2 4.3-3.4 3.3-4.3 3.1-7.2 3.5-7.6 1.7-7.2 .1-9.6-1.6-3.3-1-2.9-1.7-8.8-8.9-6-4.7-3.3-.5-7.7 1.1-4.8-.1-4.7-1.2-1.9-1.2-1-1-.5-1.5 .4-1.4 1.1-1.3 1.9-1.3 4.7-1.5 7.7-.6 1.1-.5 .7-1 0-1.4-2.8-7.2-1.2-5.3-.1-4.3 .4-1.4 .9-1.2 1.9-.2 2 1 2.2 2.3 2.2 3.4 3.2 7.6 1.9 9.7 .5-.1 1.1-7.2 1.8-4.8 3.2-5.2 3.9-4.3 4.9-3.9 5.6-2.9 5.8-1.9z",paints:[["M93.3 55.8l1-.3 .1 1.2-2.4 5.3-3.4 4.8-3.8 3.8-4.8 3.4-5.7 2.8-4.8 1.5-4.8 .4 20.1-17.4 5.2-3.7z","#fff",1]],shade:"M88.6 29.5l2.4 2.9 1.9 2.8 2.4 6.3 .5 3.3 .1 5.3-1.5 6.6-1.9 4.3-2 3.3-4.8 5.4-5.7 4.3-7.2 3.3-6.2 1.5-6.7 .1-3.3-.2-9.6-1.8-3.3-1.5-2.4-1.9-8.6-8.9-5.3-3.9-3.3-.1-2.9 .2-3.3 .8-5.8 0-4.3-1-2.9-1.9 .6-.6 3.8-1.3 10.5-2.5 4.3 .9 1.4-.1 2.2-1.7 .5-1.4-.3-1.5-1.2-1.4-2.2-1.4-1.2-1.9-.6-12 .4-3.3 .5-.5 2.9 3.8 2.4 4.8 1.9 5.7 .7 5.8 .7 2.8 2.1 2.4 2.7 5.5 3.8 4.3 2.9 2.2 3.3 1 3.4-.4 6.2-3 7.1-4.5 7.3-5.6 6.6-5.9 5.9-6.5 3.7-5.3 1.7-4.2 .1-2.9z",light:"M55.6 22.8l1.9-.3 1.5 .3 .6 1 .1 .9-2 4.3-3.8 5.3-5.8 6.2-5.4 4.4-4.8 2.3-1.4 0-1.2-.5-.8-1.9 .5-3.3 2.5-4.8 3.3-4.3 2.4-2.4 5.3-3.9zM19.3 28.1l-1.4 2 .3-1.1zM21.7 49.1l.6 .5-.3 .5-.8 0zM35.8 52l1.2-.4 .9 .7 .7 1.6-.4 .9-1.2 .1-2.6-.5zM7.2 52.9l-2.9 2.9 1.2-1.6z",eyes:[[72.5,48.4,9.3,23,-15.8],[85.6,43.4,7,22.9,-21.2]]},star:{label:"Star",body:"M40.1 4.4l1.5-.4 1.9 .1 5.2 1.1 1.9 .9 13.2 14.9 17.1-.8 5.2 1.1 1.8 .9 1.7 1.6 .7 2.4-.4 1.9-9.7 23.6 5.6 23.7 .1 1.9-.6 1.4-2.1 1.8-2.3 .5-19.9-1.8-16.6 15.5-1.9 1-1.9 .3-7-1.5-2.6-2.1-.9-2.4-2.8-24.1-16-13.6-1.1-1.5-.5-1.9 .4-1.9 1.2-1.5 18.9-13.6 7.1-24.6 1-1.7z",shade:"M52 7.7l14.3 16.1 1 2.9 .3 3.1 19.4-1.3 2-1.4 .7-2.3-.4-1 .5 .5 .5 1.9-.4 1.9-9.8 23.2 5.5 23.1 .1 3.4-2 2.4-2.8 .8-19.4-2.1-1.9 1.4-14.7 14-2.4 1.4-3.3 .1-4.7-1-2-1 .6-.2 3.3 .8 2.8 .1 5.1-2.1 .7-.9 .4-2.4-2.6-22.7-.3-.3-1.4 .2-1.4 .7-5.7 .7-5.6-1.2-16.7-13.8 1-.1 5.2 1 3.8-1.1 1-.7 1.9-.4 .4-.4 1.5 .3 .4-.4 1 .2 18-12.8 6.7-23.5 0-1.8-.4-.5-.3-1.9 .4-2.4z",light:"M40.1 4.4l2-.1 4.7 1 .7 1-.5 1.4-2.8 1.5-6.6 23.1 .7 1.2 .6 .3-18.1 12.5-1.8 2.1-3.4 .7-5.2-1.2-.3-.4 .3-.9 1.4-1.4 18.3-12.9 .9-2.3 6.4-22.7 .8-1.4z",eyes:[[53.9,53.4,7.2,18.8,-10],[65.1,49.2,7.2,18.8,-10]]},moon:{label:"Moon",body:"M45.8 4.2l4.7-.2 4.2 .4 10.2 2.4 3.7 1.6 3.6 2.1 3.3 2.5 3 3.1 4.6 6.7 3.4 8.3 1.5 8.8 .1 4.6-.8 7.8-2.6 8.8-3.9 7.7-5.1 6.7-6.1 5.3-4.1 2.6-3.6 1.6-27.2 10.2-2.8 .7-2.6 0-5.7-1.3-2-.8-1.9-1.7-1.1-2.6-6.5-37.7-.2-5.2 .8-7.7 1.3-5.2 3.1-7.8 4.2-6.7 3-3.6 3.9-3.6 6.3-4.2 4.1-1.8z",paints:[["M57.6 9.9l.2-.3 .2 .3 2 4.7 1.9 1.9 2.6 .5 1.5-.7 1.1-1.1 .4 .4-.1 1.6-.7 1.5-2.2 2.5-1.6 .7-2 0-1.6-.8-1.3-1.4-.8-2-.4-2.6 .1-3.1z","#1783FF",1]],shade:"M74.3 13.5l2.1 1.5 .3-.4-.3-.6 2.1 2.1 4.6 6.7 3.1 7.4 1.5 7.6 .1 10.4-.6 4.6-2.5 8.3-4.2 8.2-3.1 4.2-5.7 5.7-6.2 4.2-4.6 2-28 10.3-4.1 0-5.2-1.1-2-.9-.5-.7 .5 .5 1.5 0 3.6 1 2.6-.3 5.7-2.1 2.1-2.1-5.4-31.5-.2-4.1 .4-1.1-.1-2.6 .5-3.6 1.8-7.7 2.8-6.7 1.9-3.1 3.9-5.2 3.2-3.1 2.5-2 5.2-2.9 3.1-1.1 3.1-.8 2.1 0 .5-.4 2.6 .2 1-.3 1.6 .4 1-.5 2.1 .8 1-.8 2.1 1.2z",light:"M38 6.3l1.7-.3 2.5 .2 .6 .4 1.5 0 .5 .5 1.6 .3-3.1 1.3 .4 .7-2.5 1.6-.5 1-2.5 2.1-2.7 2.9-6.2 7.9-1.5 2.7-1 .9-1.2 2.6-1.4 1-1.3 3.7-1.3 .3-6-1.4-1 3.6-.8 0 .9-3.6-.5-1 1.1-3.6 2.7-5.7 4.1-6.2 5.7-5.8 3.1-2.4 3.6-2.2z",eyes:[[51.6,48.5,8.4,22.1,-10],[66.8,42.9,8.4,22.1,-10]]},wave:{label:"Wave",body:"M46.1 4l6.1 .3 9.6 2.1 4.5 1.8 4.1 2.4 3.5 2.8 4.4 4.8 2.6 4 2.1 4.1 2.2 6 4.8 26 .5 5.3-.3 4.1-1.2 3.8-1.5 2.8-2.4 2.5-2.1 1.4-3.1 1-3 .3-8.1-1.5-3.2 5.3-2.1 2.1-2.5 1.5-2.8 1-3 .4-9.1-1.6-2.7 4.2-3.4 3.1-4 1.7-4.6 .1-7-1.5-3.5-1.9-3.4-3.5-2.1-4-1.5-5.6-3.7-20.7-.6-5.6-.1-5 .5-6.1 2.3-9.6 2.3-5.5 2.7-4.9 2.7-3.7 3.2-3.6 4.2-3.6 4.7-2.9 4.4-2 4-1.2z",paints:[["M61.6 48.5l2.2-.3 2 1.1 1.1 2.2 .3 3-.6 3.1-1.5 3.5-2.5 4.1-2.4 2.8-5-2.2-3-2.2-2.3-3-.7-3.5 .6-2.6 1.8-2.1 1.6-.7 1.5 0 1.5 .6 1.5 1.3 2-3.6z","#fff",.4]],shade:"M69.3 13.6l2.6 1.3 .5-.3 .5-1.3 2 1.7 .5 0 2.5 2.7 3.5 5.5 3.6 8.6 1.5 6.6 3.5 19.7 .5 5.5-.4 4.6-2 5-1 1.6-2.6 2.5-3 1.5-2.1 .5-4 0-6.6-1.4-1.4 2.9-1.9 2.5-2.7 2.6-3.1 1.5-2.5 .6-4 .1-7.1-1.5-1.5 2.8-2.6 3-2 1.6-3 1.4-4.5 .6-7.1-1.5-3.6-1.5-3.5-3.1 6.6 1.5 2.8-.5 .5-.5-.3-.5 3.2-2-.4-1 1.4-1.5-.3-1 .7-1.6-.2-2.5-3.4-19.2 .3-.5-.6-5 .5-.5-.1-4.6 .4-.5 .3-4 1-4.1 1.5-4.5 3.8-7.7 5.5-6.9 3.1-2.6 6.5-3.9 7.6-2.2 3.1 0 .5-.4 3 .5 1-.5 2.5 1z",light:"M36.5 6.1l2-.3 .5 .6 4.1 .5 1 .7-3.3 1.5-.3 1.2-3 2-.3 .8-2.8 2.6-3.5 4-3.9 5-2 3.6-1 .5-1.7 4-1.5 .5-1.4 4.6-1.6 .2-.5-.4-5.6-.9-.4-.4 1.4-5.1 1.5-3.5 2.6-5.1 4-5.5 6.6-6.2 4-2.5z",eyes:[[47.5,37.2,8.4,22.1,-10],[61.6,31.9,8.4,22.1,-10]]},squircle:{label:"Squircle",body:"M54.5 4.2l3.9-.2 3.7 .3 11.6 2.7 3.1 1.6 2.8 1.9 2.6 2.7 2.2 3.1 2.4 4.8 1.9 5.8 3.7 19.4 .8 11.1-.4 4.7-1 4.7-1.3 3.5-1.8 3.4-4.8 5.8-6.4 4.7-8 4-14.2 5.3-9.5 2.2-7.4 .1-10.5-2.2-5.3-2.5-4.3-3.7-3.3-4.8-2.7-6.3-2.4-9.5-2.8-17.9-.2-7.8 1.3-7.9 2.2-5.3 2.8-4.2 4.1-4.2 4.3-3.1 6.3-3.4 11.6-4.6 7.9-2.7z",shade:"M80.5 11.6l2.1 2.1 2.1 3.2 3.2 7.3 2.1 8.4 2.7 15.8 .5 7.9-.6 7.4-2 6.3-3.8 6.3-4.2 4.3-2.6 2-6.9 3.8-15.2 6.2-9.5 2.7-6.8 .6-6.2-.7-8.5-2-5.8-3.2-3.2-3.3 .5 .4 1.1-.2 5.8 1.4 2.1-.8 1.4-.7-.3-.5 1.4-1.1-.1-1 .8-.5 0-1.1 1.1-1 .1-2.1 .4-.6-.2-3.6-2.4-17.9-.2-9.5 .8-5.3 1.1-3.6 1.2-2.7 2.2-3.5 2.7-2.8 3.1-2.5 5.8-3.2 17.9-6.9 5.3-1.4 8.4-1.4 1.6-1.1 .5 .1 .9-1.5z",light:"M39.4 8.4l1.2 0-1.6 .7-1-.1 1-.1zM36.8 9.5l1 0 .6 .9 4.2 .6 .7 .6-3.8-.4-.3 .4 1.9 .3 .1 .7-3.2 1.6-6.9 5.8-5.3 6-4.7 6.1-3.8 3.7-.2 .5-1.8 .1-6.8-1.7 .4-3.6 2.1-4.2 2.2-3.2 4.2-4.3 4.2-3 3.1-1.8 5.3-2.5zM35.1 10.5l1.7 0-.5 .4zM36.5 11.1l.3-.5 2.2 .1 .4 .4-.4 .3z",eyes:[[52.6,52.4,8.4,22.1,-10],[67.3,46.9,8.4,22.1,-10]]},zed:{label:"Bull",body:"M77 4.4l1.1-.4 1.1 .2 1.2 1.3 2 9.8 2.2 5.9 .4 2.8-.3 2.1-.8 1.7-4.7 5.1-1.3 1.9-.4 1.7 .1 1.6 1 1.7 4.4 .2 3.8 1.3 2 1.7 .6 1.6-.3 1.7-.7 1.1-3.5 2.7 1.7 6 .4 5.9-.8 6.6-1.9 6-3.4 5.9-4.4 5.3-5.5 4.4-6 3.1-6.5 2-7.1 .7-6.5-.7-6.5-2.1-6-3.4-4.8-4.4-3.5-4.9-3.1-6.7-3.3 1.1-2.7 .3-2-.6-1.1-1.1-.3-2.2 .9-2.7 2.9-3.8 4.6-3.8 1.8-7.1-6.3-1.8-1.6-1.3-1.3-1.8-.6-2.7 0-6.6-1.4-8.7 .2-1.1 1.5-1.4 1.1-.1 1 .5 5.5 7.9 2.2 2.2 2.7 1.4 4.9 .4 .5-.1 6.5-5.1 6.6-3.2 6-1.6 8.7-.7 3.8-.9 2.7-1.5 3.9-3.2 3-3.8 2.4-4.9 2.1-10z",paints:[["M61 36.5l1.9 .7 1.4 2-.7 5.4 .3 .4 2.8-1.2 1.1 0 1 .9 .5 1.6-.5 .8-1 .5-7.1 2.4-1.1-.5-.9-1.6 1.4-5.4-.5-.6-3.3 1.1-1.1-.1-1.6-1-1-1.6 .5-.9z","#fff",1]],shade:"M80.2 5.5l.6 1.6 1.3 8.2 2.5 6 .2 3.7-.1 1.1-1.2 2.2-5.2 5.4-1.1 3.3 .9 2.7 3.8 3.9 1.6 .1 4.4-1.4 1.2 1.2 .1 1.1-.2 1.7-.6 1.1-3.6 2.7 .9 2.2 1.1 5.4 .1 6-1.1 6.5-2.3 6-3.8 6-6 6-4.9 3.3-5.9 2.6-7.1 1.7-7.1 .1-6-1.1-5.9-2.3-4.4-2.7-4.4-4.5 3.8 .4 5.5-1.5 7.6-3.9 6.8-4.7 7.9-6.5 7.1-6.9 5.4-6.5 4.4-6.7 1.8-4.4 .4-3.2-.3-1.1-3.3-3.8-.8-2.8 .8-2.7 6.2-7 .8-2.2-.1-2.7-1.7-4.4-.8-8.2zM14.9 29.9l.1-.5 4 6.5 2.3 2.7-1.4 .1-2-.6-3.6-7.1zM24.3 44.6l1-.3 1.1 .2 3.3 2.9 1.7 .5 .3 1.6-.5 2.2-1 1.6-1.6 1.5-1.6 .7-1.7 .1-3.2-2.2-2.2 0-2.7-.6-2.9-1.6 3.9-1.6 2.2-1.7 2.2-2.3zM21 68.6l.5-.5 1.1 .1 1.1 .5 .8 1 .6 2.7-.1 1.1-.7 1.1-.6 .1-2.2-1.2-2.7 1.1-3.8 .6-2.7-1.2 3.4-1.6z",light:"M77 4.4l.6-.2 .1 .7-1.2 .8-.1-.8zM74.2 15.8l.6 1.1 .1 2.7-.6 2.2-1 1.6-5.5 5-1.7 .7-3.3 .3 .1-.6 2.1-1.2 4.2-3.6 2.7-3.9zM11.7 28.9l.8 0-.1 .5-1.2 .8-.1-.8zM44.3 32.1l3.1 0 .8 1.1 0 1.1-1.9 4.3-3 4.1-1.7-1.1-2.1-.8-4.4-.6-4.4 .1 5.5-4.4zM22 54.4l.6 0-.3 .6 .2 .5 2.3 2.7 .4 1.7-1 .9-4.8 2.3-7.1 7.8 0-1.8 2.1-3.3 6.4-5.4 1.2-4.3z",eyes:[[61.8,69,9.5,22.3,-10.5],[78.4,62.7,6.9,22.2,-11.2]]},hex:{label:"Blossom",body:"M38.8 4.2l2.6-.1 6 1.3 2 1.3 3 3.3 12-4.5 2-.5 6.5 1.1 2.9 1.6 4.9 6 .8 2 .3 2-.2 2.5-1.9 7-1.3 2.2-1.9 1.8 2.9 1.3 1.8 1.7 10.1 12.5 1.5 3 .1 4-1.8 7-.9 2-2.8 2.7-7.1 2.7-5.2 20-.8 2-1.4 1.9-1.5 1.1-6.5 2.6-3 .2-6.5-1.6-2-1.4-4-4.9-16 5.7-2 .1-4.5-1-3-1.2-5.2-6-1.3-3 0-3.5 2-8.5-10.8-13.4-1.4-3-.3-2 .3-2.5 1.7-6.5 1.8-3 2.2-1.8 5.9-2.2 2.1-.4 2.5 .3 .4-.4-.7-2.5 .1-2.5 4.8-18.5 1-2.5 2.9-2.9z",shade:"M49.7 7.7l.2-.4 .5 .4 2 2.3 0 .7 1.6 1.5 1 2 .1 1.5-.3 .5 .6 1.3 17.5-6.5 2.5-1.3 1-1.5 4.5 6 .6 1.5 .3 3-1.9 8-1 2-3 3-.3 1 .4 .5-1.7 3 .1 .5-.5 .5 0 .7 5.5-2.2 1.5-1.5 2 2 8 10 1 1.5 1 2.5-.1 4-1.9 7-1.1 1.9-2.9 2.5-6.8 2.5-4.7 19-1.5 3.5-2.5 2.5-6.5 2.6-4 0-5.5-1.4-2.2-1.7-3.2-4 4.9 .8 2.5-1.4 1.5-2.6 .7-2.3 1.7-6.5-.4-.3-.6 .8-.7 3.5-1.1 1.5 .3 .5-.3 .5-.7-.5-1.4-5.5-.5 1-.2 2-.9 1-.1 1.5-1.1 2-2.7 2.8-1 .4-1 .1-15.5 5.8-3-.1-4.5-1-2-1-2-2-2.2-3 .2-.2 4 .9 2-1.1 1.7-1.6 1.3-3.2 1.7-6.3 1.1-2.5-.3-.3-.5 .2-6.5-.3-.5-.5-2 0-.5-.5-1.7-.1-10.4-13.4 4.1 .7 3.1-1.7 1.3-2 2.5-8.5 .9-1.5 1.7-1.3 6.5-2.7 2-1.5-.3-.5 .3-.5 1.5-1.2 1.5-3 5.6-20.3 1.9-2 6-2.4 1.1-.6zM73.2 31.2l1.5 0-.8 1-34 12.7-1 .1-1.5-.5-2 .8-1.9-2.6 .4-.9 2 .5 1.5 1 .5-.4 1 .5 1-.3 1 .4 3-1.5 1 .1 3-1.6 1 .1 3-1.6 1 .1 3-1.6 2.5-.5 1.5-1 2.5-.5 1.5-1 2.5-.5 1.5-1 2.5-.5 1.5-1 1 0zM61.3 74.6l.1-.2 .4 .2-.4 1.7z",light:"M33.4 6.2l3 .1 1.9 .9-.1 .5-1.8 2.5-3.4 3.5-4.5 17-3.6-.9-1 .4 0-1 4.4-16.5 0-1.5 2.1-3.1zM68.2 6.2l1.2 0zM14.9 37.7l3.5 .9 .4 .6-.3 1-5 5.5-1.1 4.6-2.5-.5-2 .1 0-1.7 1-4.5 1-2.5 2-2.1zM19.4 71.6l4 .7 1.8 .8-1.2 1-1.1 5.1-4.5-.5-.5-.6 1.4-5z",eyes:[[49.8,55.5,6.7,17.7,-10],[61.6,51.1,6.7,17.7,-10]]},gumdrop:{body:"M38.7 4.5l4.4-.5 4.6 .8 4.1 1.9 3.7 3.2 23.2 36.6 2.3 5 1.4 5.1 .7 6.4-.7 6.4-1.8 6.1-3.1 5.7-4.1 5.1-5.2 4.2-5.8 3.1-6 1.8-6.4 .6-6.4-.6-6-1.8-5.9-3.1-5.1-4.2-4.1-5.1-3-5.4-1.9-6.4-.7-6 .5-5.9 9-41.6 2-4.1 2.6-3.2 3.4-2.5z",shade:"M54.9 9.5l1.9 2.3 22.9 36.5 1.8 4.6 .9 3.7 .6 4.1-.1 5.9-1.4 6.4-2.3 5.5-3.7 5.4-4.1 4.2-4.5 3.3-7.3 3.2-6.4 1.2-6.4 0-5.1-.9-5.9-2.1-5.5-3.3-4.6-4.1 .5-.3 4.1 .8 5.5-1 6.4-2.6 7.3-4.5 7.2-5.7 6.5-6.4 5.5-6.9 3.5-5.9-18.1-37 1.1-3.7 .2-2.3z",light:"M37.1 4.9l2.5 0 .8 1.4-.5 2.1-1.8 2.9-3.2 3.2-3.2 2.1-2.3 .7-1.8-.1-.7-.9 .1-1.8 2.4-4.1 2.7-2.8z",eyes:[[52.1,40.3,9.7,22.9,-15.2],[64.8,35.6,6.3,23,-27]]},peanut:{body:"M43.5 4l6.6 .7 5.8 2.2 5.4 3.8 4.1 4.7 2 3.8 1.4 4.3 1.3 11.9 1 4.3 1.6 3.8 5.8 10.5 1.4 3.8 .8 4.3 .1 6.2-1 5.7-2.1 5.5-3.2 4.9-4.1 4.3-4.8 3.4-5.6 2.4-5.7 1.3-6.1 .1-5.8-1.1-5.7-2.2-4.7-3.1-4.3-4.1-3.3-4.8-2.5-5.7-1.2-5.7-.1-6.7 1.7-9 .4-4.3-.5-4.7-2.5-9.6-.6-3.8 .2-5.2 1.2-5.2 1.5-3.4 2.2-3.3 2.5-2.9 2.8-2.3 3.4-2.1 3.4-1.4 3.8-.9z",shade:"M62.7 12.6l2.6 2.8 2.8 5.8 1.1 4.2 1 11.9 1 3.4 2.3 4.7 4.2 6.7 1.9 4.7 .9 3.8 .2 2.9-.1 6.2-.5 3.3-1.9 5.3-3.4 5.7-3.4 3.8-4.2 3.3-5.7 2.9-4.8 1.4-5.7 .6-6.2-.6-3.8-1-5.2-2.3-4.8-3.4-2.9-2.8 3.9 .8 5.2-.7 6.2-2.5 5.7-3.3 6.7-5.1 6.2-5.9 5.1-6.2 3.5-5.7-1.1-2.8-2.4-2.4-3.2-1.7-11.5-4.1-2.7-1.8-1.6-2.4-.2-2.4 .8-2.9 7.8-8 4.9-7.7 1.6-5.2z",light:"M35.9 5.4l3.2-.2 1.3 .7 .5 1-.5 3.3-2.9 4.8-4.1 4.1-4.8 3.3-4.2 1.5-1.5 0-1.4-.6-.7-1.2 .2-2.4 1.9-3.8 2.4-3.3 4.3-3.9z",eyes:[[50.9,31.5,8.7,20.5,-11.9],[64.2,26.5,5.7,20.3,-16.3]]},saucer:{body:"M45 22.7l6.7 .1 6.7 1.9 4.3 2.5 3.5 3.1 2.8 3.5 2.5 4.5 6.8 .9 5.6 1.2 4.5 1.6 3.5 2.1 2.8 2.8 1.3 3.5-.5 3.5-2 3.5-2.6 2.8-3.5 2.8-4.5 2.8-5.1 2.6-12 4.4-13.6 3.1-13.6 1.5-12.6-.3-5.5-.7-5-1.2-4.1-1.6-3.5-2-2.8-3.1-1.1-3 .5-3.5 2-3.6 2.7-3 3.7-2.9 10.3-5.6 .7-5.1 1.5-4.5 2.6-4.5 3.1-3.5 3-2.4 3.5-2 3.5-1.4z",shade:"M66.5 31.3l.3-.2 .6 .7 1.9 2.5 2 4.5 1.6 1.5 .1 1.5-1.7 1.7-3 1.2-3.1 .5-3.1-.3 4-8.1 .7-3.5zM94.9 47.4l1.1 3-.5 3.5-2.1 3.5-4 4.1-5 3.5-6.1 3.1-7 2.9-6.6 2.1-8 2-9.1 1.5-6.5 .6-11.6 0-4.5-.2-8-1.4-4.6-1.5-3.6-2.1 4.1 1.2 5.1 .8 7 .3 6-.2 15.1-1.9 15.6-3.6 14.5-5.1 5.4-2.5 5.3-3.1 4-3 2.3-2.5 1.2-2.1zM7.3 71l.7 .5z",light:"M40.6 23.7l2.8 0 .8 .5 .7 1.5-.8 3.6-2.6 4-3.9 4-4.5 3.2-4.6 1.7-2.5-.4-1-1.4 0-1.6 .9-2.5 2.1-3.5 2.6-3 3-2.6 3.5-2.1zM22.4 47.4l.7 0-.5 .5 0 1.5 .4 .8 2 1.4 3 1.2 9.1 2 15.1 1.1-.2 1.5-2.2 3.6-3 2.5-4.9 2.5-6 2-7.9 1.5-6.5 .5-7.1-.4-4.9-1.1-3-1.5-1.6-1.7-.6-2.3 1.1-3.1 2.9-3.5 4.1-3.5 4.1-2.6z",eyes:[[53.6,45,7.8,18.4,-14.5],[66.2,40.3,5,18.3,-25.1]]},bunny:{body:"M49.3 4.4l1.5-.4 2 1.2 1.6 2.7 1.2 3.4 1.6 8.9 .2 6-.2 6.4 .6 3 2.4 2.5 5.4 3 3.4 2.4 5.1 5.5 2.4 3.9 1.7 4 1.1 4.4 .4 4.5-.5 5.9-1.6 5.5-2.8 5.4-3.6 4.5-4.6 3.8-4.9 2.7-5.5 1.7-5.9 .7-6-.5-5.4-1.7-4.9-2.5-4.7-3.7-3.8-4.5-2.7-4.9-1.8-5.5-.7-5.9 .6-6.5 1.9-5.9 3.1-5.4 4.6-5.5-.4-2-3.4-8.4-1.8-6.9-.6-6.9 .3-3 .6-2 1.3-1.4 2-.1 2.5 1.5 2.1 2.5 4 6.9 2.1 5.5 1.7 5.9 1.5 2.1 1.8-1.6 .7-2-.4-12.4 1-8.9 1.6-4.9z",shade:"M52.7 5.4l2.1 3.5 1.9 7.4 .7 7.9-.5 8.4 .8 3.6-4.4-2.5-2.1-2.6 1.4-17.3zM31.2 15.3l.3-.5 2 2.5 2.9 4.9 2.5 6 1.7 6.4 1.4 2.5 0 .5-1.1 .9-4.5 1.9-2.4 .2-1.2-.6zM71.5 46l3.6 4.4 2.9 6 1.5 6.4 .1 5.5-1.1 6.3-2 5-3.4 5.4-3.5 3.6-4 2.9-6.4 3-4 1-6.9 .5-5.9-1-5.5-2-5.4-3.5-3.6-3.4 2.6 .7 2.5 .1 2.9-.5 4-1.3 8.4-4.6 8.7-6.8 7.4-7.9 5.3-7.9 1.3-3 1-3.5 .2-2.9-.2-2z",light:"M49.3 4.4l.6 0-3.6 6.2 1-3.7zM26 13.3l.5-.4 .2 .4-1.7 2.2 0-.7zM44.8 34.6l.5-.1 1.2 1.1 .8 1 0 .7-.5 .3-4-.5zM45.1 42.5l.8 0-.3 1-2.4 4.5-3.8 4.4-4.1 3.5-3.8 2.4-4 1.6-2.9 .1-1.8-1.1-.4-2.5 1.1-3.5 3.5-5.4 3-3.1 .2 1.6 .8 .8 3 .1 4.4-1.2z",eyes:[[59.2,69.2,8.2,19.3,-12],[72.9,64,5.6,19.1,-15.4]]},kitty:{body:"M62.4 4.2l1.6-.1 1.5 1.2 7.4 21.3 3.7 6.4 6.2 7.4 3.1 5.9 1.5 4.8 .7 5.3-.2 5.4-1.1 5.3-3 7.4-4.4 6.4-5.3 5.4-6.9 4.6-7.5 3.1-8 1.7-8 .2-7.4-1.4-4.3-1.5-3.7-1.8-3.8-2.5-3.1-2.7-2.7-3-2.5-3.7-1.9-3.7-1.4-4.3-.9-5.3 .1-5.8 1.4-7 1.6-4.2 2-3.8 .8-3.2 .2-20.2 1.1-1.4 1.1-.3 1.1 .3 12.2 9.7 5.9-2.5 8-2.1 3.2-1.8 2.3-2.4 8.3-16z",shade:"M64.9 5.8l.1-.3 .7 .3 6.5 19.7 3.1 5.9 2.5 3.2-1.6-.8-2.6-2.4-5.1-8zM79.4 36.7l2.2 2.1 1.6 2.2 3.3 6.9 1.5 6.9-.1 6.4-1.6 7.5-3.1 6.9-3.8 5.3-5.3 5.4-6.4 4.3-7 3.1-6.3 1.6-4.3 .6-5.3 0-7.5-1.1-5.8-2-5.9-3.3-5.9-5.4 2.7 .7 3.2-.1 3.7-.8 5.2-1.9 10.3-5.5 11-7.8 10.7-9.6 7.8-9.1 3-4.6 1.6-3.4 .7-3.2z",light:"M62.4 4.2l.5-.1 0 .6-.8 1.1-4.5 14.4 .2 2.7-.3 1.6-1.1 1-2 .6-6.9-.5 2.6-1.3 3.1-3 8.1-16zM18.7 20.7l1.1-.5 0 .8-1.1 .9-.6-.1zM39.5 27.7l2.6-.3 1.9 .8 .4 1.6-.7 1.8-4.2-1.5-5.4 .2 0-.5zM16 47.4l.3 4.2 1.6 2.2 3 2.1-.6 .5-3.7 .6-1.1-.3-1.1-1.1-.4-1.8 .4-2.7z",eyes:[[59.6,65.1,9.4,22.6,-11.9],[77.5,58.4,7,22.5,-14]]},beacon:{body:"M40 4.1l2.7 0 2.5 .9 2 1.7 1.1 2.1 .5 2-.2 2.1-2.1 4.1-.4 1.6 1.5 7.7 9-3.1 4.1-.2 18.5 4 3.1 1.6 2.4 2.3 1.3 2.1 .9 2.6 5.8 33.4-.4 3.1-1.3 3.1-2 2.5-2.6 1.9-41.7 15.7-4.1 .7-19.6-4-3.5-1.9-2.5-2.5-1.2-2.1-.8-2.6-5.7-32.9 .4-3.1 1-2.7 1.7-2.5 2.4-1.9 28.4-10.9-1.5-9.3-.7-1-3.5-3.3-.9-1.9-.4-2 .5-2.6 1.1-2.1 1.7-1.5z",shade:"M47.1 7.2l.4 0 .8 1.6 .3 2-.2 2.6-2.5 4.7 1.5 8.2 0 2 .5 .6 .1 1.5 .5 1-1.2 .4-1.3-.4-.3-.5-1.9-10.3-4.1-1.5-3.2-2.6 3.1-.9 3.2-2.2 2.5-2.6zM84.2 30.9l1.2 1.1 1.5 3.6 5.7 32.4 0 2.6-1 3.6-1 1.5-3.1 3.2-4.2 1.9-40.6 15-4.2 0-16.4-3.6-3.6-1.4-2.6-2.2 .5 .4 17.5 3.4 3.8-1.2 5-3.4 1-1.3-5.4-30.3 .2-.6 3.1-3.4 40.2-15.1 2-3.6z",light:"M38.5 4.7l2 0-.1 1-.8 1.4-2.6 2.2-1 .4-1.1-.1-.1-.8 .7-1.6 1.5-1.6zM55 23.7l1.1 .1-1.6 .6-.9-.2 .9 0zM52.4 24.7l1 0-3 1.2-.9-.1 2.4-.6zM48.3 26.3l1 0-1.5 .6zM40 29.4l1.1 0-3.1 1.2-.9-.2 2.5-.5zM35.9 30.9l1 0-3 1.2-.9-.1 2.5-.6zM31.8 32.5l1 0-3 1.2-.9-.2 2.4-.5zM40.2 33l.4-.4 1-.1 1.6 .8 3 .7-1.5 .5-4.1 0-.9-1zM27.7 34l1 0-3 1.2-1-.2 2.5-.5zM23.6 35.6l1 0-3 1.1-1-.1 2.5-.5zM19.4 37.1l1 0-2.4 .8-.5 .7 15.4 3.3 .5 .3 .3 1.1-1.1 2.6-3.3 3.3-3.1 1.5-17.5-3.6-.6-1.2 .5-1.6 3.2-3.7 2.1-1.4 2.5-1.1 1 0 .6-.5 1 0z",eyes:[[55.5,65.3,8.4,22.1,-10],[74.2,58.3,8.4,22.1,-10]]},plus:{body:"M44.6 4.3l3.3-.1 11.9 2.5 2.5 1.3 1.3 1.4 .7 1.6 2.1 11.4 4.1-1.2 2.1 0 12.3 2.6 2.8 1.6 1.2 1.5 .7 1.5 3.8 21.6-.5 3.1-1 1.5-1.3 1.3-17 6.6 3.4 20.4-.4 2.5-1.2 2.1-2.3 1.6-19 6.9-2-.2-11.9-2.5-2.5-1.3-1.3-1.4-.7-1.6-2.1-11.4-4.1 1.2-2.1 0-12.3-2.6-2.8-1.6-1.2-1.5-.7-1.5-3.8-21.6 .5-3.1 1-1.5 1.3-1.3 17-6.6-3.4-20.4 .2-2 1.1-2.2 2.6-2z",shade:"M63.2 9.4l.7 .6 .5 1.5 2.1 13.3 .6 .6 0 2.5 .5 .5 .1 2.6 .5 .5 .1 2.1-.8 3.1 19-7.1 1-1.2 1-2.1 1.1 2.1 .4 2.6 3.2 18 0 3.1-1 2-2.2 2.1-15.9 5.8-.8 .8 3.6 19.5-.1 2.6-1.5 2.6-2.2 1.6-16.4 6.1-2.1 .6-2.5 0-12.4-2.7-2.2-1.5 12.5 2.5 2.4-1 2.7-2-3.9-22.1-3.8 3.5-1 .4-2.6 .5-1.5 1-2.6 .5-1.5 1-2.6 .4-1.5 1-4.6 1.5-2.5 0-11.9-2.6-2.7-1.6 12.4 2.3 2.6-.9 2.4-1.9-3.4-20.5 .3-.5 1.7-1.8 18.6-6.9 .3-.6-.7-1-3.8-22.1 2.1-2.1 16.4-6.1 .6-.5z",light:"M28.4 10.5l1.1 .5 10.2 2.1 .5 .4-.1 1.1-1.9 2.3-2.1 1-12.3-2.5-.1-1.3 1-1.6 1.2-1zM11.4 43.3l11.4 2.2 1 .6 0 .8-1.5 2.3-2.6 1.4-12.3-2.6-.2-1.1 .6-1 2.2-2.1z",eyes:[[54.5,53.1,6.1,15.9,-10],[64.5,49.4,6.1,15.9,-10]]},magnet:{body:"M71.9 4.2l1.2-.2 12.1 2.6 .5 .3 .6 1 6.2 35.6 .6 5.8-.1 5.7-.7 5.8-1.5 5.7-2.2 5.8-4.2 7.3-5.5 6.5-6.5 5-7.1 3.4-6.3 1.3-6.3 0-15.2-3.1-5.2-1.8-5.2-3-4.6-4.1-4-5.2-2.9-5.8-2.4-7.8-6.4-36.2 25-9.5 13.1 2.9 .5 .9 6.3 35.3 1.8-3.9 .5-4.7-6.3-36.1 .4-.6z",shade:"M86.2 9.5l.5 1 5.8 33 .6 4.7 0 5.2-.6 5.8-2.1 8.4-3.1 7.3-3.7 5.8-6.3 6.8-5.7 4.1-5.8 2.7-6.8 1.5-6.3 0-15.2-3.1-5.7-2-5.2-3.2-5.9-5.8 .1-.7 11.5 2.5 .3-3.4-1.9-13.6-5.7-32.4 1-.1 18.3-6.9 .9-.9 .4-1 6.1 35 1.6 2.1 .1 .6 4 4.7 3.2 1.1 3.6-.6 3.2-1.9 2.4-2.8 1.9-4.2 .6-3.7-6.4-36.6 19.3-7.1 .8-.8z",light:"M53.6 54.5l.7-.4 12 2.8 .6 1.8-.6 2.1-2.1 2.4-2.6 1-1.5 0-6.3-1.4-1.6-2.6-.2-2.1z",eyes:[[59.6,82.1,6.1,15.9,-10],[72,77.5,6.1,15.9,-10]]},acorn:{body:"M47.6 4l2.1 .6 1.3 1.5 .4 1.5-.4 5.2 .3 .3 8.8-.1 7.7 1 7.3 2.1 5.7 2.9 3.6 2.9 2.6 3 1.8 3.4 .9 3.7 0 4.1-1 3.6-1.7 2.2-3.9 3 2.9 8.3 .9 8.3-.9 8.3-2.7 7.7-4.2 6.8-2.9 3.1-3.2 2.6-6.7 3.8-3.7 1.2-4.1 .8-7.2 0-7.3-1.7-7-3.6-5.9-5.1-4.8-6.3-3.3-7.3-1.8-7.7-.1-8.3-4.5-1.5-2.6-1.7-2.6-4.1-1.1-4.1 0-4.2 1.2-4.1 2.2-4.1 2.8-3.7 5.2-4.6 6.3-3.8 7.2-3.2 8.3-2.3 .9-8.3 1.2-1.4z",shade:"M50.6 6.1l.1-.5 .6 2-.6 5.7 .2 2.1-1.2 .2-1.2-.7 .5-6.8zM85.8 23.7l1.7 2 1.6 3.7 .6 2.6-.1 4.1-.5 2.6-1.1 2.1-2.1 2-2.9 2.1 1.4 3.1 1.6 5.2 .9 8.8-.5 5.7-1.4 5.7-2.2 5.1-2.6 4.2-5.1 5.7-5.2 3.6-4.7 2.2-6.2 1.5-7.7 .1-5.7-1.2-6.8-3-4.6-3.2-4.2-4.2 2.1 1 2.1 .3 3.1-.3 3.1-.9 6.4-3.1 6.5-4.6 6.6-5.8 5.9-6.4 5.6-7.9 4-7.4-2.4 .4-.5 .5-1.1 0-.5 .5-1 0-.5 .5-1.1 0-.5 .5-1 0-.5 .6-1.6-.1-.5 .5-1.6 0-.5 .5-3.6 .5-.5 .5-2.1-.1-.5 .6-2.1-.1-.5 .7-3.1-.2-.5 .5-3.1 0-.5 .7-4.7-.2-.5 .7-15.6-.3 0-.3 8.3-.6 11.4-2.4 11.4-3.8 10.5-4.8 9.2-5.7 6-5.2 2.2-2.6 1.6-2.9 .5-1.7z",light:"M46 4.5l1.1-.1 0 .6-1.5 1.6-1.1 .2-.1-.7zM38.5 15.9l5 0 3.3 1.6 1.6 3.1 .1 3.1-.9 3.1-1.9 3.1-3.2 3.6-4 3.1-3.6 2.1-8.5 3.2-4.1 .7-4.2 .1-3.1-.5-2.6-1.5-1.1-2 .1-2.1 .5-1.5 2.1-3.7 4.1-4.6 3.7-3.1 5.1-3.2 6.3-3z",eyes:[[63.6,63.3,9.6,22.7,-11.9],[79.5,57.3,6.5,22.5,-15.5]]},pebbles:{body:"M47.3 4.5l2.7-.4 2.7 .1 13.7 3 4.3 2.1 3.3 3.4 1.3 2.2 1 2.8 2 12-.5 4.3-3.1 7.7 .2 .5 8.4 1.9 2.7 1 3.3 2.1 2.7 2.8 2.4 4.3 1.4 6.5 .1 4.4-.8 3.8-1.3 2.7-2 2.8-2.4 2.2-2.7 1.6-45.5 17-3.3 .6-3.2-.2-19.2-4.2-4.9-2.8-3.4-3.8-1.9-4.4-1.3-7.7 .2-3.2 .8-2.8 1.3-2.7 2-2.7 3.2-2.8 7.9-3.8 2.5-2.2-.4-1.6-5.4-6.1-1.8-3.8-2.3-12.5 .2-3.3 .7-2.7 2.6-4.4 2.2-2 2.2-1.4z",shade:"M73.2 12.2l.4 0 1.5 2.2 1.2 3.3 1.8 11.4-.2 4.4-3.3 7.6 0 1.1 .6 1.1-1.2 1.3-26.8 10.1-3.2 .5-5.8-.4-15.2-3.3-1.4-.5-3.5-3.8 .2-.3 1.6 .2 10.9 2.2 2.8-.5 4.4-2.2 5-3.8 .1-.6-1.5-8.7 4-4.5 24.2-9.2 2.4-3.8zM90.9 48.8l2.8 3.8 1 2.8 1.2 6 0 4.3-1.1 3.9-1.7 3.2-3.8 3.9-2.7 1.7-42.1 15.8-5.5 1.6-3.8 0-18-3.8-4.9-2.1-3.4-2.9 17.6 3.8 2.7-.2 3.3-1.2 4.3-2.6 4.4-3.6-.4-3.8 4.4-4.9 42.5-16 2.1-3.1 1.1-2.8 .5-3.3z",light:"M45.6 5.1l1.5 0-.4 .2-22.9 8.5 11.4 2.5 .6 .8 0 1.6-1.5 2.8-1.9 2.2-2.8 2.1-3.1 1.2-13.2-2.8-.1-2.2 1.2-2.2 1.7-2.2 2.7-2.2 2.2-1.1 2.2-.5 .5-.5 2.8-.6 1.6-1.1 2.7-.5 1.7-1.1 2.7-.6 1.6-1 2.8-.6 1.6-1.1 2.8-.5zM21.6 53.2l15.8 3.6 1.2 .7-.1 .9-.8 .8-3.1 1.6-1.3 3.8-3 3.8-3.3 2.5-3.3 1.4-18-3.6-.6-1.3 .6-2.2 1.6-2.7 1.7-1.8 3.8-2.8 5.5-2.2z",eyes:[[51.2,34.1,6.9,18.1,-10],[66.4,28.4,6.9,18.1,-10]]},cushion:{body:"M64.2 4.4l3.3-.4 2.8 .2 3.9 .8 2.8 1.1 2.7 1.7 2.4 2.1 1.9 2.4 1.5 2.8 1.2 3.9 7.1 40.6-.1 5-1.4 4.5-1.6 2.9-1.9 2.2-2.2 1.9-2.8 1.7-45.6 17.1-3.4 .9-3.4 .2-4.5-.7-3.4-1.2-3.3-2-2.9-2.7-2.3-3.4-1.5-3.9-7.3-41.7 .1-5 1.4-4.5 1.6-2.9 1.9-2.2 2.2-1.9 2.8-1.7z",shade:"M82.1 10l2.9 4 1.6 4.5 7.3 42.2-.5 5.1-1.1 3.3-1.7 2.9-4.6 4.5-3.3 1.7-46.8 17.4-5.6 .2-4-.7-3.3-1.2-3.4-2.2-1.7-1.8 .6 .4 3.3 .2 4.5-1.2 5.1-2.8 5.3-4.4-6.9-39.4 5-5.7 43.9-16.4 2.3-3.6 1.1-2.8 .5-3.6z",light:"M62.3 4.9l1.8 .1-43.4 16.1 1.1 .4 .8 .9 .1 1.7-1.6 3.4-2.6 3-3.4 2.7-3.4 1.5-3.4-.2-.8-.8-.2-1.2 .4-1.6 1.7-2.9 3.4-3.5 2.3-1.6 3.4-1.6 5.6-1.8 .6-.5 1.1 0 .5-.6 2.3-.5 .6-.6 1.1 0 .6-.6 2.2-.5 .6-.6 1.1 0 .6-.6 2.2-.5 .6-.6 1.1 0 .6-.5 2.2-.6 .6-.6 1.1 0 .6-.5 2.2-.6 .6-.5 1.1-.1 .6-.5 2.2-.6 .6-.5 1.1-.1 .6-.5 2.2-.6 .6-.5 1.1 0 .6-.6 2.2-.6 .6-.5 1.1 0z",eyes:[[51.1,57.2,8.4,22.1,-10],[69.9,50.1,8.4,22.1,-10]]},ring:{body:"M48.1 4.3l8-.1 7.8 1.8 7.3 3.5 6.7 5.4 5.2 6.7 4.1 8.3 2.3 8.9 .7 9-1 9.5-2.5 8.9-4.1 8.3-5.3 7.3-6.6 6.1-7.3 4.5-7.8 2.7-8.4 .9-7.2-.8-7.3-2.5-6.7-4.1-5.6-5.3-4.5-6.5-3.5-7.8-2-8.4-.6-8.4 .9-8.9 2.2-8.4 3.5-7.8 4.9-7.2 5.8-6.1 6.3-4.5 7.1-3.3zM50.5 33.8l2.3-.3 1.7 .4 1.6 1.1 2 2.2 1.3 2.8 .8 2.7 .4 3.4-.1 3.3-1.4 6.2-3 5.6-2.2 2.4-2.2 1.6-2.3 1-2.2 .3-1.7-.4-1.6-1.1-2.8-3.7-1.5-5.2-.1-5.5 1.2-5.6 2.4-5 3.6-4z",shade:"M76.2 14.9l1.1-.5 3.4 3.8 2.8 3.9 2.3 4.5 1.6 3.9 1.6 5.6 1.1 8.3-.4 10.1-1.3 6.1-2.6 7.8-4.6 8.3-4.4 5.6-6.2 5.7-6.1 3.8-7.2 2.9-6.2 1.1-7.8-.1-7.2-1.7-3.9-1.6-4-2.2-5.5-4.5-2.8-3.4 1.7-.6 2.4-2.1 2-2.8 1.2-2.8 1.2-5 1.1-13.4 1.4-7.8 2.5-7.8 3.8-7.3 3.3-4.5 3.4-3.4 3.9-3.1 4.4-2.6 3.9-1.5 4.5-1.1 12.3-.9zM50.5 33.8l.6-.3 2.8 0 1.6 .9 2.7 2.8 3 1.4 3.3 .5 6.1 .2 3.9 .9 1.7 1 1.7 1.6 2.1 4.4 .7 4.5-.3 5-1.2 5-1.9 4.5-2.8 4.2-3.3 3.6-3.9 2.8-3.9 1.7-3.4 .6-3.3-.1-3.4-1.1-2.5-1.7-2.5-3-3.6-7-2.9-3.4-2.1-5-.6-5.6 .6-4.4 1-3.4 2.3-4.4 1.4-2.1 2.3-2.2 2.7-1.7z",light:"M41.1 5.9l.5 .1 .2 .5-.3 .6-12.4 13.3-13.1 18.1-2.3 2.1-1.1 0-.2-1.2 .2-2.8 1.6-5 4.6-8.3 3.9-5.1 4.4-4.4 4.5-3.4 5-2.8zM60.5 53.3l1.2-.3 1.1 .6 1.1 1.3 .8 1.8-.2 3.3-1.5 2.8-2 1.7-2.6 1-7.3 .2 2.2-1.4 2.6-2.6z",eyes:[[56.2,84.6,5.3,13.3,-6.8],[71.7,78.8,5.1,13.4,-6.5]]},gem:{body:"M57 9.3l2.9-.4 14.9 3.5 19.6 14.1 1 1.4 .6 1.6-.5 2.6-27.1 56.5-1.6 1.8-2.1 .7-15.9-3.4-42.9-30.7-1.3-1.6-.6-1.6 .5-2.6 12-25.2 1.1-1.5 1.5-1z",shade:"M75.7 14.6l.1-.4 .6 .2 16.9 12.3 1.1 .7 .5-.2 .5 .7 .6 2.6-.5 1.6-26.4 55.1-1.2 2.1-1.1 1.1-1.6 .6-2.1 0-14.3-3.3-42.8-30.7 1.5-.2 11.6 2.5 2.2-.7 2.8-2.6 11.9-24.9 .6-.8 38.2-14.2z",light:"M19.1 23.6l1.1-.4 .5 .5 11.7 2.2 1 .9-.2 .5-1.8 2.7-11.7 24.4-1.6 .6-13.3-2.8-.5-.5 12.1-25.4 1.2-1.7z",eyes:[[51.4,42.9,6.7,17.7,-10],[66.1,37.4,6.7,17.7,-10]]}},vC=Object.keys(cp);var D7=["star","moon","gumdrop","peanut","bunny","kitty","acorn"],N9="gumdrop",yC=Object.freeze({shape:"whale",color:"deepseek"}),_C=["black","brown","red","orange","yellow","green","cyan","blue","violet","magenta","gray","aurora"],F9=_C.filter(e=>!["black","gray","brown"].includes(e)&&!Z9[e]),wC=e=>P7(e)||Object.hasOwn(Ke,e);function ht(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t=Math.imul(t^e.charCodeAt(n),16777619);return t>>>0}function T9(e){let t=ht(e)+1831565813|0,n=Math.imul(t^t>>>15,1|t);return n=n+Math.imul(n^n>>>7,61|n)^n,F9[Math.floor(((n^n>>>14)>>>0)/4294967296*F9.length)]}function xC(e){let t=ht(e)|0;return t=Math.imul(t^t>>>16,73244475),t=Math.imul(t^t>>>13,3266489909),D7[((t^t>>>16)>>>0)%D7.length]}var V9=e=>"remote:".concat(String(e??"").trim().replace(/^@+/,"").toLowerCase()),j9=e=>typeof e?.remote?.handle=="string"&&e.remote.handle.trim()!==""?V9(e.remote.handle):e?.id!==void 0?String(e.id):void 0;function G7(e,t){let n=String(e?.handle||e?.remote?.handle||"").trim(),a=n?(t?.bots??[]).find(s=>s.remote?.handle===n):void 0,i={};if(typeof e?.color=="string"&&(i.color=e.color),e?.avatar&&typeof e.avatar=="object"&&(i.avatar=e.avatar),a)return Object.keys(i).length?{...a,...i}:a;let r=e?.label||e?.displayName||e?.name||n||"Bot";return n?{id:V9(n),name:r,remote:{handle:n},...i}:{id:e?.id||"remote",name:r,...i}}var q9=e=>wC(e?.color)?e.color:j9(e)!==void 0?T9(j9(e)):"black";function x4(e){let t=e?.avatar??{},n=j9(e);return{shape:P9(t.shape)?t.shape:n!==void 0?xC(n):N9,image:t.image,...typeof t.emoji=="string"&&t.emoji?{emoji:t.emoji}:{},color:q9(e)}}var H9=e=>{let t=String(e??"");return Object.hasOwn(Ke,t)?[t,...Ke[t].map(n=>n.toLowerCase())]:[P7(t)?t.toLowerCase():t]};function L5(e){return e?.image?["image:".concat(String(e.image).slice(0,96))]:e?.emoji?["emoji:".concat(e.emoji)]:H9(e?.color).map(t=>"shape:".concat(S5(e?.shape),":").concat(t))}var kC=[];var ip=e=>String(e?.name??"").trim().toLowerCase(),zC=(e,t)=>{let n=L5(e);return L5(t).some(a=>n.includes(a))};function I9(e,t=kC){let n=x4(e),a=e?.avatar??{};if(a.image||typeof a.emoji=="string"&&a.emoji)return n;let i=(Array.isArray(t)?t:[]).filter(p=>p&&!p.remote);if(i.length===0)return n;if(P9(a.shape)){let p=ip(e);if(!(p===""?[]:i.filter(m=>ip(m)===p)).some(m=>zC(n,x4(m))))return n}let r=new Set(i.flatMap(p=>L5(x4(p)))),s=p=>!L5(p).some(u=>r.has(u));if(s(n))return n;let c=[...D7,...vC.filter(p=>p!=="whale"&&!D7.includes(p))],o=[n.color,...F9.filter(p=>!H9(p).some(u=>H9(n.color).includes(u)))],l=Math.max(0,c.indexOf(S5(n.shape)));for(let p of o)for(let u=1;u<=c.length;u+=1){let m={...n,color:p,shape:c[(l+u)%c.length]};if(s(m))return m}return n}var B9={};for(let[e,t]of Object.entries(cp)){let n=[...(t.paints??[]).map(([a,i,r])=>'<path d="'.concat(a,'" fill="').concat(i,'" fill-opacity="').concat(r,'"/>')),'<path d="'.concat(t.shade,'" fill="#000" fill-opacity=".14"/>'),'<path d="'.concat(t.light,'" fill="#fff" fill-opacity=".16"/>')].join("");B9[e]={label:t.label??e[0].toUpperCase()+e.slice(1),size:100,path:t.body,layers:n,eyes:t.eyes}}var P9=e=>typeof e=="string"&&Object.hasOwn(B9,e),S5=e=>P9(e)?e:N9,O7=e=>B9[S5(e)];function op(e,t,n=!1){if(e.path)return'<g fill-rule="evenodd"><path d="'.concat(e.path,'" fill="').concat(t,'"/>').concat(n?"":e.layers,"</g>");try{return e.body(t)}catch{return""}}var lp=([e,t,n,a,i])=>'<g transform="translate('.concat(e," ").concat(t,") rotate(").concat(i,')"><rect class="bt-eye" x="').concat(-n/2,'" y="').concat(-a/2,'" width="').concat(n,'" height="').concat(a,'" rx="').concat(n/2,'"/></g>'),CC=([e,t,n,a,i])=>'<g transform="translate('.concat(e," ").concat(t,") rotate(").concat(i,')"><path class="bt-eye-happy" opacity="0" d="M').concat(-n*.62," ").concat(a*.14,"Q0 ").concat(-a*.42," ").concat(n*.62," ").concat(a*.14,'" fill="none" stroke="#000" stroke-width="').concat(n*.5,'" stroke-linecap="round"/></g>'),pp=e=>'maskUnits="userSpaceOnUse" x="'.concat(-e,'" y="').concat(-e,'" width="').concat(e*3,'" height="').concat(e*3,'"'),up=(e,t)=>'<rect x="'.concat(-e.size,'" y="').concat(-e.size,'" width="').concat(e.size*3,'" height="').concat(e.size*3,'" fill="#fff"/>').concat(t),dt="%MASK%",AC=0,mp=()=>AC+=1,rp=new Map;function dp(e,t){let n="".concat(e,"|").concat(t),a=rp.get(n);if(a===void 0){let i=O7(e),r='<g class="bt-gaze"><g class="bt-eyes" fill="#000">'.concat(i.eyes.map(lp).join("")).concat(i.eyes.map(CC).join(""),"</g></g>"),s=Z9[t],c=s?'<linearGradient id="'.concat(dt,'g" gradientUnits="userSpaceOnUse" x1="18" y1="10" x2="78" y2="92">').concat(s.map(([l,p])=>'<stop offset="'.concat(l,'" stop-color="').concat(p,'"/>')).join(""),"</linearGradient>"):"",o='<g mask="url(#'.concat(dt,')">').concat(op(i,s?"url(#".concat(dt,"g)"):R7(t)),"</g>");a="<defs>".concat(c,'<mask id="').concat(dt,'" ').concat(pp(i.size),">").concat(up(i,r),'</mask></defs><g class="bt-b">').concat(i.wrap?'<g transform="'.concat(i.wrap,'">').concat(o,"</g>"):o,"</g>"),rp.set(n,a)}return a}var MC=(e,t)=>'url("data:image/svg+xml,'.concat(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 '.concat(t," ").concat(t,'">').concat(e,"</svg>")),'")'),sp=new Map;function $C(e){let t=sp.get(e);if(t===void 0){let n=O7(e),a='<g mask="url(#e)">'.concat(op(n,"#000",!0),"</g>");t=MC('<mask id="e" '.concat(pp(n.size),">").concat(up(n,n.eyes.map(lp).join("").replaceAll('class="bt-eye"','fill="#000"')),"</mask>").concat(n.wrap?'<g transform="'.concat(n.wrap,'">').concat(a,"</g>"):a),n.size),sp.set(e,t)}return t}var R9=$C(N9);function hp(e){let t=Array.isArray(e)?e:[],n=r=>!!r?.remote;if(!t.some(n))return t;let a=t.filter(r=>!n(r)),i=t.filter(n);return t.length<=4?[...i,...a]:[...a,...i]}var LC=["all","everyone","\u6240\u6709\u4EBA","\u5168\u4F53"],bp=/^(?:[a-z0-9_\-/\\]|\.[a-z0-9_-])/i,fp=/[a-z0-9_./]/i,SC=/```[\s\S]*?(?:```|$)|`[^`\n]*`|\[[^\]\n]*\]\([^)\s]*(?:\s+(?:"[^"\n]*"|'[^'\n]*'))?\)/g,gp=(e,t,n)=>e.slice(t,t+n.length).toLowerCase()===n.toLowerCase()&&!bp.test(e.slice(t+n.length)),vp=(e,t,n)=>e.some(a=>t<a.end&&a.start<n);function EC(e,t=[]){let n=[];for(let a of[...t].sort((i,r)=>r.length-i.length)){let i="@".concat(a);for(let r=e.indexOf(i);r!==-1;r=e.indexOf(i,r+1)){let s=r+i.length;if(!(r>0&&fp.test(e[r-1])||bp.test(e.slice(s))||vp(n,r,s))){n.push({start:r,end:s,label:a});break}}}return n.sort((a,i)=>a.start-i.start)}function yp(e,t,{references:n=[]}={}){let a=String(e??""),i=[...[...a.matchAll(SC)].map(c=>({start:c.index,end:c.index+c[0].length})),...EC(a,n)],r=t.filter(c=>c?.name).sort((c,o)=>o.name.length-c.name.length),s=[];for(let c=a.indexOf("@");c!==-1;c=a.indexOf("@",c+1)){if(c>0&&fp.test(a[c-1])||vp(i,c,c+1))continue;let o=r.find(u=>gp(a,c+1,u.name)),l=o?void 0:LC.find(u=>gp(a,c+1,u));if(!o&&!l)continue;let p=c+1+(o?o.name.length:l.length);s.push(o?{start:c,end:p,bot:o}:{start:c,end:p,all:!0}),c=p-1}return s}var ZC=/<\s*\/?\s*untrusted-(?:message|file)\b[^<>]*>/gi,FC=/\bfrom\s*=\s*(?:"[^"]*"|'[^']*')\s*>/gi,jC=/<[^<>]*\buntrusted-(?:message|file)\b[^<>]*$/i,HC=/(?:\/\s*)?untrusted-(?:message|file)\b\s*>?/gi;function _p(e){let t=String(e??"");for(let n;n!==t;)n=t,t=t.replace(ZC,"").replace(FC,"");return t.replace(jC,"").replace(HC,"")}function W7(e){let t=String(e??"");for(let n;n!==t;){n=t;let a=t.indexOf("<untrusted-message");if(a<0)break;let i=t.lastIndexOf("</untrusted-message>"),r=i>a?t.slice(t.indexOf(">",a)+1,i):t;t=_p(r)}return _p(t).replace(/\s+/g," ").trim()}var k4="https://bots.local/";function xp(e,t,n){if(!e||!e.includes("@"))return e;let a=[...t??[]].sort((s,c)=>+!!s?.remote-+!!c?.remote),i="",r=0;for(let s of yp(e,a))!s.bot||s.bot.id===n||(i+="".concat(e.slice(r,s.start),"[").concat(e.slice(s.start+1,s.end).replace(/[[\]\\]/g,"\\$&"),"](").concat(k4).concat(s.bot.id,")"),r=s.end);return r===0?e:i+e.slice(r)}function kp(e){let t=e.target instanceof Element?e.target.closest('a[href^="'.concat(k4,'"]')):null;return t?t.getAttribute("href").slice(k4.length):null}function U7(e,t){let n=String(e??"");if(!n.includes("@")||t===null||typeof t!="object")return n;let a=[...Array.isArray(t.remoteBots)?t.remoteBots:[],...Array.isArray(t.bots)?t.bots:[]],i=new Map;for(let c of a){let o=typeof c?.remote=="object"&&c.remote!==null?c.remote.handle:c?.handle;typeof o=="string"&&typeof c?.name=="string"&&c.name!==""&&i.set(o.replace(/^@+/,"").toLowerCase(),B7(c,a))}let r=[...i.keys()].filter(Boolean).sort((c,o)=>o.length-c.length);if(r.length===0)return n;let s=r.map(c=>c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");return n.replace(new RegExp("(^|[^a-z0-9_./])@(".concat(s,")(?![a-z0-9_\\-/\\\\])(?!\\.[a-z0-9_-])"),"gi"),(c,o,l)=>"".concat(o,"@").concat(i.get(l.toLowerCase())))}var NC=/^\[(Message from|Reply from|Group chat|Group post from|Bot team setup|Handoff · part|Secret card)[^\]]*\]\n?/,gt=e=>e.sessionId??e.id;var zp=e=>e.replace(NC,""),TC=/^[ \t]*[^\n→]{1,60}(?:[ \t]*→[ \t]*[^\n→]{1,60})+[ \t]*\n+/;function D9(e){if(typeof e!="string")return e;let t=e.match(TC)?.[0];return!t||/[.!?。!?::,,]/.test(t.replace(/[^\S\n]*\n+$/,"").replace(/→/g,""))?e:e.slice(t.length).replace(/^\s+/,"")}function Cp(e,t,n){if(t===void 0||n===void 0)return;let a=e.remoteTypedTurns?.[t]?.[n];return typeof a=="string"&&a?a:void 0}function Ap(e,t,n){return t===void 0||n===void 0?!1:(e.exchangeTurns[t]??[]).includes(n)}var VC=new Set(["request","reply","stopped"]),Mp=e=>{let t=e?.source;return t===null||typeof t!="object"||t.kind!=="bot"||t.handoff===!0||t.deferred===!0||t.resumed===!0||t.retried===!0?!1:VC.has(t.role)&&typeof t.senderSessionId=="string"},qC=e=>(e?.blocks??[]).some(t=>t===void 0||t.kind==="tool-call"?!1:t.kind==="text"||t.kind==="reasoning"?String(t.text??"").trim()!=="":!0),IC=e=>(e?.blocks??[]).some(t=>t?.kind==="reasoning"&&String(t.text??"").trim()!==""),$p=(e,t)=>t===void 0||(IC(e)?t==="reasoning":t==="response");function Lp(e,t,n){let a=t.findIndex(r=>r?.step===n?.step);if(a===-1)return[];let i=-1/0;for(let r=a-1;r>=0;r-=1)if(qC(t[r])){i=t[r].time;break}return(e??[]).filter(r=>Mp(r)&&typeof r.time=="number"&&r.time>=i&&r.time<n.time)}function Sp(e,t,n){let a=Array.isArray(e?.heldReplies)?e.heldReplies:[],i;for(let r of a)r.sessionId===t&&String(r.turn)===String(n)&&(i=r);return i}var Ep=(e,t)=>(Array.isArray(e?.heldReplies)?e.heldReplies:[]).filter(n=>n.sessionId===t&&n.status!=="approved"&&n.status!=="auto").map(n=>n.turn);function X7(e,t,n=[],a=[],i=[]){let r=e.projectionsBySession?.[t]?.values?.turnOutline??e.byId[t]?.projectionValues?.turnOutline;if(!Array.isArray(r))return"";for(let s=r.length-1;s>=0;s-=1){let c=r[s];if(n.includes(c.turn))continue;let o=(a.includes(c.turn)?"":c.response)||c.prompt||"";if(o!=="")return BC(o,i)}return""}function BC(e,t=[]){return RC(PC(e),t)}function PC(e){return W7(D9(zp("".concat(e))).replace(/\s+/g," ").trim())}function RC(e,t){let n=[...new Set((Array.isArray(t)?t:[]).map(o=>String(o??"").trim()).filter(o=>o!==""))].sort((o,l)=>l.length-o.length);if(n.length===0||e==="")return e;let a=n.map(o=>o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),i="(?:".concat(a,")(?=[ \\t\u2192,\uFF0C.\u3002:\uFF1A]|$)"),s=new RegExp("^".concat(i,"(?:[ \\t]*\u2192[ \\t]*").concat(i,")+[ \\t]*(?:[,\uFF0C.\u3002:\uFF1A][ \\t]*)?(?:\\d{1,2}:\\d{2}Z?[ \\t]*)?")).exec(e);if(!s)return e;let c=e.slice(s[0].length);return/^[\s,,.。::]*$/.test(c)?"":c}var K7=e=>[...e?.bots??[],...e?.remoteBots??[],...e?.agents??[]].map(t=>t?.name).filter(t=>typeof t=="string"&&t!=="");function G9(e){let t=String(e??""),n=t.match(/^Face-to-face · (.+) · (\d{6})$/);return n?"".concat(n[2]," \xB7 ").concat(n[1]):t.match(/^Face-to-face · (\d{6})$/)?.[1]??t}function Zp(e,t){let n=e.model??e.appliedModel;if(!n)return;let a=(t.models??[]).find(s=>s.ref===n),[i,...r]=n.split("/");return{ref:n,name:a?.name??r.join("/"),provider:a?.providerName??i,served:a!==void 0}}function Fp(e,t,n){return t?"".concat(e," \xB7 ").concat(t):n?void 0:e}function jp(e,t){return(e??[]).filter(n=>t?.[n.id]?.origin!=="face-to-face")}var O9=(e,t)=>t!==void 0&&(e.mainBotIds??[]).includes(t);function Y7(e,t){if(t==null||t==="")return;let a=(e?.bots??[]).find(i=>i&&!i.remote&&(i.id===t||i.sessionId===t||(i.parts??[]).includes(t)));return a||e?.byId?.[t]}var Np=["idle","thinking","searching","working","sending","orbit","alert","done"],Tp=(e,t,n)=>e?Np.includes(t)?t:"working":n?"alert":"idle",W9=e=>/^(message_bot|stop_bot|create_bot|update_bot|create_group|update_group|delete_group|post_to_group)$/.test(e)?"sending":/search|fetch|browse|read|grep|glob|list|recall/i.test(e)?"searching":"working";function GC(e,t){(0,M1.useEffect)(()=>{if(!t)return;let n=0,a=null,i=()=>{n=0;let c=e.current;if(!c||!a)return;let o=c.getBoundingClientRect(),l=p=>Math.max(-1,Math.min(1,p));c.style.setProperty("--bt-gx",l((a.x-o.left-o.width/2)/160).toFixed(2)),c.style.setProperty("--bt-gy",l((a.y-o.top-o.height/2)/160).toFixed(2))},r=c=>{a={x:c.clientX,y:c.clientY},n||(n=requestAnimationFrame(i))},s=()=>{a=null,e.current?.style.setProperty("--bt-gx","0"),e.current?.style.setProperty("--bt-gy","0")};return window.addEventListener("pointermove",r,{passive:!0}),document.documentElement.addEventListener("pointerleave",s),()=>{cancelAnimationFrame(n),window.removeEventListener("pointermove",r),document.documentElement.removeEventListener("pointerleave",s)}},[t])}var Hp=["hop","sway","stretch","look"];function n2({bot:e,look:t,size:n=36,state:a="idle",live:i=!1,gaze:r=!1,pokeable:s=!1,label:c}){let o=t??(e?.remote?I9(e):x4(e)),l=(0,M1.useRef)(null),p=(0,M1.useRef)("");p.current===""&&(p.current="bt-mark-".concat(mp()));let[u,m]=(0,M1.useState)(!1);GC(l,r);let d={ref:l,className:u?"bt-mark bt-mark-poke":"bt-mark","data-shape":o.image?"image":o.emoji?"emoji":S5(o.shape),"data-state":Np.includes(a)?a:"idle","data-live":i?"":void 0,"data-fidget":i?Hp[ht("".concat(e?.id??"",":fidget"))%Hp.length]:void 0,"data-gaze":r?"":void 0,"data-poke":s?"":void 0,style:{width:n,height:n,...i?{"--bt-delay":"".concat(-(ht(String(e?.id??""))%5e3)/1e3,"s"),"--bt-fidget-delay":"".concat(-(ht("".concat(e?.id??"",":when"))%9e3)/1e3,"s")}:{}},role:c?"img":void 0,"aria-label":c,"aria-hidden":c?void 0:!0,onClick:s?()=>m(!0):void 0,onAnimationEnd:u?w=>{/^bt-poke/.test(w.animationName)&&m(!1)}:void 0};if(o.image)return(0,M1.createElement)("span",d,(0,M1.createElement)("img",{className:"bt-mark-img",src:o.image,alt:"",draggable:!1}));if(o.emoji)return(0,M1.createElement)("span",d,(0,M1.createElement)("span",{className:"bt-mark-emoji",style:{fontSize:Math.max(12,Math.round(n*.62)),lineHeight:1}},o.emoji));let f=O7(o.shape).size;return(0,M1.createElement)("span",d,(0,M1.createElement)("svg",{viewBox:"0 0 ".concat(f," ").concat(f),dangerouslySetInnerHTML:{__html:dp(o.shape,o.color).replaceAll(dt,p.current)}}))}function OC({size:e=8}){return(0,M1.createElement)("svg",{width:e,height:e,viewBox:"0 0 10 10","aria-hidden":!0},(0,M1.createElement)("path",{d:"M5 .6l1.3 2.8 3 .3-2.3 2 .7 3L5 7.2 2.3 8.7l.7-3L.7 3.7l3-.3z",fill:"#fff"}))}var WC=e=>(Array.from(String(e??"").trim())[0]??"").toUpperCase(),UC=e=>T9("person:".concat(String(e??"").trim().toLowerCase()));function J7({size:e=22,name:t}){let n=WC(t);return n?(0,M1.createElement)("span",{className:"bt-person-mark bt-person-initial","data-initial":n,style:{width:e,height:e,background:R7(UC(t)),fontSize:Math.max(9,Math.round(e*.46))},"aria-hidden":!0},n):(0,M1.createElement)("span",{className:"bt-person-mark",style:{width:e,height:e},"aria-hidden":!0},(0,M1.createElement)("svg",{width:e*.64,height:e*.64,viewBox:"0 0 24 24",fill:"currentColor"},(0,M1.createElement)("circle",{cx:12,cy:8.5,r:4.2}),(0,M1.createElement)("path",{d:"M3.5 21c0-4.7 3.8-7.6 8.5-7.6s8.5 2.9 8.5 7.6z"})))}function XC(){return(0,M1.createElement)("svg",{viewBox:"0 0 20 20","aria-hidden":!0},(0,M1.createElement)("path",{d:"M10 2.4l2.29 5.04 5.51.63-4.09 3.74 1.11 5.42L10 14.5l-4.82 2.73 1.11-5.42L2.2 8.07l5.51-.63z"}))}function KC(e){let t=(0,M1.useRef)(e),[n,a]=(0,M1.useState)(!1);return(0,M1.useEffect)(()=>{let i=t.current;if(t.current=e,e!=="idle"){a(!1);return}if(i==="idle"||i==="alert")return;a(!0);let r=setTimeout(()=>a(!1),1800);return()=>clearTimeout(r)},[e]),n}function bt({bot:e,size:t,state:n="idle",main:a,admin:i,badge:r=!0,live:s=!0,gaze:c=!1,pokeable:o=!1}){let l=KC(n);if(e===void 0)return(0,M1.createElement)(n2,{size:t});let p=r?n==="alert"?"alert":n!=="idle"?"working":i?"admin":a?"main":null:null;return(0,M1.createElement)("span",{className:"bt-mark",style:{width:t,height:t,"--bt-size":"".concat(t,"px")}},(0,M1.createElement)(n2,{bot:e,size:t,state:l?"done":n,live:s,gaze:c,pokeable:o}),p==="working"?(0,M1.createElement)("span",{className:"bt-badge bt-badge-working","aria-label":N("Working"),role:"img"}):null,p==="alert"?(0,M1.createElement)("span",{className:"bt-badge bt-badge-alert","aria-label":N("Waiting for your answer"),role:"img"},"?"):null,p==="admin"?(0,M1.createElement)("span",{className:"bt-badge bt-badge-admin","aria-label":N("Admin"),role:"img"},(0,M1.createElement)(OC)):null,p==="main"?(0,M1.createElement)("span",{className:"bt-badge bt-badge-main","aria-label":N("Main Bot"),role:"img"},(0,M1.createElement)(XC)):null)}function YC(e,t){if(e===1)return[[0,0,t]];if(e===2)return[[0,0,t*2/3],[t/3,t/3,t*2/3]];if(e===3){let a=t*5/9,i=t-a;return[[i/2,0,a],[0,i,a],[i,i,a]]}let n=t/2;return[[0,0,n],[n,0,n],[0,n,n],[n,n,n]]}function JC(e,t){let n=(e?.members??[]).map(r=>Y7(t,r)).filter(Boolean),a=new Set(n.map(r=>r.id)),i=[];for(let r of e?.participants??[]){if(r.leftSeq!==void 0||r.kind==="human"||!r.remote&&r.id&&a.has(r.id))continue;let s=!r.remote&&r.id?Y7(t,r.id):void 0;if(s){a.has(s.id)||(n.push(s),a.add(s.id));continue}let c=r.handle||(r.remote?r.id:"");if(!c||n.some(l=>l.remote?.handle===c||l.handle===c))continue;let o="h:".concat(c);a.has(o)||(a.add(o),i.push(G7({handle:c,displayName:r.displayName,name:r.displayName,label:r.label,color:r.color,avatar:r.avatar},t)))}return e?.origin!=="face-to-face"&&n.length===1&&i.length===0?[n[0],null]:[...n,...i]}function E5({room:e,roster:t,size:n=36}){let a=hp(JC(e,t)),i=(l,p,u)=>l?(0,M1.createElement)(n2,{key:u,bot:l,size:p}):(0,M1.createElement)("span",{key:u,className:"bt-cluster-you",style:{width:p*.92,height:p*.92,margin:p*.04}});if(a.length===0)return(0,M1.createElement)(n2,{size:n});if(n<=20&&a.length>1)return(0,M1.createElement)("span",{className:"bt-stack",style:{"--bt-stack-size":"".concat(n,"px")}},a.slice(0,3).map((l,p)=>i(l,n,l?.id??"you-".concat(p))),a.length>3?(0,M1.createElement)("span",{className:"bt-stack-more"},"+".concat(a.length-3)):null);let r=YC(Math.min(a.length,4),n),s=a.length>4?a.length-3:0,c=n/14,o=r.map(([l,p,u])=>({cx:l+u/2,cy:p+u/2,r:u*.48+c}));return(0,M1.createElement)("span",{className:"bt-cluster",style:{width:n,height:n}},r.map(([l,p,u],m)=>{let d=o.slice(m+1).filter(x=>Math.hypot(x.cx-l-u/2,x.cy-p-u/2)<x.r+u*.46).map(x=>"radial-gradient(circle at ".concat(x.cx-l,"px ").concat(x.cy-p,"px,transparent ").concat(x.r,"px,#000 ").concat(x.r+.5,"px)")),f={left:l,top:p,width:u,height:u};if(d.length>0&&Object.assign(f,{WebkitMaskImage:d.join(","),maskImage:d.join(","),WebkitMaskComposite:"source-in",maskComposite:"intersect"}),s>0&&m===3)return(0,M1.createElement)("span",{key:"more",className:"bt-cluster-more",style:{...f,width:u*.92,height:u*.92,margin:u*.04,fontSize:Math.max(8,Math.round(u*.36))}},"+".concat(s));let w=a[m];return(0,M1.createElement)("span",{key:w?.id??"you",style:f},i(w,u))}))}var Vp=new Map,QC=new Set;var eA=()=>{for(let e of[...QC])e()};function Z5(e,t){!Array.isArray(t)||t.length===0?Vp.delete(e):Vp.set(e,new Set(t.map(String))),eA()}var qp=Object.freeze(["pending","pending_approval"]);function F5(e){return qp.includes(e)}var tA=[/no such remote bot/i,/is not shared with your Bots/i,/is no longer shared with you/i,/has not granted chat\.public/i,/bot_not_shared/i,/bot_not_found/i],U9=e=>{if(!e)return!0;if(e.retry===!1||e.noRetry===!0)return!1;let t="".concat(e.error??""," ").concat(e.code??"");return!tA.some(n=>n.test(t))};var Q7=e=>e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB");var L1=X1(l0(),1);var Q2=X1(l0(),1);var cD=10*6e4;function Ip({size:e=16}){return(0,Q2.createElement)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round","aria-hidden":!0},(0,Q2.createElement)("rect",{x:7,y:2.5,width:6,height:10,rx:3,fill:"currentColor",stroke:"none"}),(0,Q2.createElement)("path",{d:"M4.5 9.5a5.5 5.5 0 0 0 11 0M10 15v2.5"}))}function H5(){return(0,Q2.createElement)("svg",{width:16,height:16,viewBox:"0 0 20 20","aria-hidden":!0},(0,Q2.createElement)("path",{d:"M5 5l10 10M15 5L5 15",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round"}))}var O1=e=>function(){return(0,Q2.createElement)("svg",{width:15,height:15,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.map((n,a)=>(0,Q2.createElement)("path",{key:a,d:n})))};var Bp=O1(["M10 3.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z","M7.3 11.6a3.4 3.4 0 0 0 5.4 0","M7.75 8.25h.01M12.25 8.25h.01"]),Pp=O1(["M8 5L4 9l4 4","M4 9h7.5a4.5 4.5 0 0 1 4.5 4.5V15"]),Rp=O1(["M5 10h.01M10 10h.01M15 10h.01"]),N5=O1(["M4.5 10.5l3.5 3.5 7.5-8"]),vD=O1(["M10 4v12","M5 11l5 5 5-5"]),Dp=O1(["M10 3.5v9","M6.5 9.5L10 13l3.5-3.5","M4 16h12"]),aA=O1(["M3.5 13.5a6.5 6.5 0 1 1 13 0","M10 13.5l3-4","M10 13.5h.01"]),iA=O1(["M7 3v4M13 3v4","M5 7h10v2.5a5 5 0 0 1-10 0z","M10 14.5V17"]),yD=O1(["M5.5 5h9A1.5 1.5 0 0 1 16 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 4 14.5v-8A1.5 1.5 0 0 1 5.5 5z","M4 8.75h12","M7.25 3.5v3M12.75 3.5v3"]),_D=O1(["M4.5 4h4v3.5h-4z","M11.5 12.5h4V16h-4z","M6.5 7.5v3.5a2 2 0 0 0 2 2h3"]),rA=O1(["M7 10a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z","M18 10a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z","M7 10h6"]),sA=O1(["M4 7h9.5M10.5 3.5L14 7l-3.5 3.5","M16 13H6.5M9.5 9.5L6 13l3.5 3.5"]),Gp=O1(["M15.5 9.5l-5.6 5.6a3.4 3.4 0 0 1-4.8-4.8l6.1-6.1a2.25 2.25 0 0 1 3.2 3.2l-6 6a1.1 1.1 0 0 1-1.6-1.6l5.5-5.5"]),Op=O1(["M10 3.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z","M10 6.5V10l2.5 1.5"]),Wp=O1(["M10 7.4a2.6 2.6 0 1 1 0 5.2 2.6 2.6 0 0 1 0-5.2z","M7.85 4.4l.29-1.87a7.7 7.7 0 0 1 3.72 0l.29 1.87a6 6 0 0 1 1.63.94l1.76-.69a7.7 7.7 0 0 1 1.86 3.23l-1.47 1.18a6 6 0 0 1 0 1.88l1.47 1.18a7.7 7.7 0 0 1-1.86 3.23l-1.76-.69a6 6 0 0 1-1.63.94l-.29 1.87a7.7 7.7 0 0 1-3.72 0l-.29-1.87a6 6 0 0 1-1.63-.94l-1.76.69a7.7 7.7 0 0 1-1.86-3.23l1.47-1.18a6 6 0 0 1 0-1.88L2.6 7.88a7.7 7.7 0 0 1 1.86-3.23l1.76.69a6 6 0 0 1 1.63-.94z"]),wD=O1(["M12.5 3l4.5 4.5-3 1.5-2.5 2.5.5 3.5-1.5 1.5L7 13 3.5 16.5","M7 13l-3.5-3.5L5 8l3.5.5L11 6l1.5-3"]);function Up(){return(0,Q2.createElement)("svg",{width:12,height:12,viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":!0},(0,Q2.createElement)("g",{transform:"rotate(45 10 10)"},(0,Q2.createElement)("path",{d:"M8 2.5h4a.9.9 0 0 1 0 1.8h-.4v4.1c0 1.4 1.1 2.6 2.6 3.1l.7.3v1.5H5.1v-1.5l.7-.3c1.5-.5 2.6-1.7 2.6-3.1V4.3H8a.9.9 0 0 1 0-1.8z"}),(0,Q2.createElement)("path",{d:"M9.35 13.3h1.3v3.6L10 18l-.65-1.1z"})))}var xD=O1(["M10 3.5a4.5 4.5 0 0 0-4.5 4.5v3L4 13.5h12L14.5 11V8","M8.3 16a1.8 1.8 0 0 0 3.4 0","M15.5 3.2a1.6 1.6 0 1 1 0 3.2 1.6 1.6 0 0 1 0-3.2z"]),kD=O1(["M9 4H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3","M14.3 3.7a1.6 1.6 0 0 1 2.3 2.3L10.5 12l-3 .8.8-3z"]),zD=O1(["M10 3.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z","M10 9.25v4","M10 6.6h.01"]),CD=O1(["M10 3l2.1 4.3 4.7.7-3.4 3.3.8 4.7L10 13.8 5.8 16l.8-4.7L3.2 8l4.7-.7z"]),Xp=O1(["M8.5 7h6A1.5 1.5 0 0 1 16 8.5v6a1.5 1.5 0 0 1-1.5 1.5h-6A1.5 1.5 0 0 1 7 14.5v-6A1.5 1.5 0 0 1 8.5 7z","M4 12.5V5.5A1.5 1.5 0 0 1 5.5 4H13"]),AD=O1(["M3 3l14 14","M8.6 5.2A7.6 7.6 0 0 1 10 5c4.5 0 7 5 7 5a12.6 12.6 0 0 1-2 2.6M12.2 14.5A6.8 6.8 0 0 1 10 15c-4.5 0-7-5-7-5a12.4 12.4 0 0 1 3-3.4","M8.5 8.5a2 2 0 0 0 3 3"]),cA=O1(["M3.5 5.5h13","M8 5.5V4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v1.5","M5 5.5l.7 10A1.5 1.5 0 0 0 7.2 17h5.6a1.5 1.5 0 0 0 1.5-1.5l.7-10","M8.5 9v4.5M11.5 9v4.5"]),MD=O1(["M7 7h8.5v9.5H7z","M4.5 13V3.5H13","M11.25 9.5v4.5M9 11.75h4.5"]),$D=O1(["M8.5 11.5a3.5 3.5 0 0 0 5 0l2.5-2.5a3.5 3.5 0 0 0-5-5l-1 1","M11.5 8.5a3.5 3.5 0 0 0-5 0L4 11a3.5 3.5 0 0 0 5 5l1-1"]),LD=O1(["M4 6.5h5M12.5 6.5H16M4 13.5h4M11.5 13.5H16","M10.5 4.5v4M9.5 11.5v4"]),oA=O1(["M5.5 3.5h8A1.5 1.5 0 0 1 15 5v10a1.5 1.5 0 0 1-1.5 1.5h-8z","M5.5 3.5v13","M8.5 7.5h3.5M8.5 10.5h2.5","M12 3.5v4l1-.8 1 .8"]),SD=O1(["M3 6A1.5 1.5 0 0 1 4.5 4.5h3.2l1.8 2h6A1.5 1.5 0 0 1 17 8v6.5a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 3 14.5z"]),ED=O1(["M4 5.5A1.5 1.5 0 0 1 5.5 4h9A1.5 1.5 0 0 1 16 5.5v6a1.5 1.5 0 0 1-1.5 1.5H9l-3.5 3v-3A1.5 1.5 0 0 1 4 11.5z"]),ZD=O1(["M6 7.5h8a2 2 0 0 1 2 2V14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9.5a2 2 0 0 1 2-2z","M10 4.5v3","M10 3.5h.01","M7.75 11.5h.01M12.25 11.5h.01"]),FD=O1(["M4.5 4.5h11a1.5 1.5 0 0 1 1.5 1.5v8a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 3 14V6a1.5 1.5 0 0 1 1.5-1.5z","M6.5 8.25L8.75 10 6.5 11.75","M10.5 12h3"]),lA=O1(["M3.5 5.5A1.5 1.5 0 0 1 5 4h7a1.5 1.5 0 0 1 1.5 1.5V10A1.5 1.5 0 0 1 12 11.5H8L5 14v-2.5A1.5 1.5 0 0 1 3.5 10z","M13.5 7.5H15A1.5 1.5 0 0 1 16.5 9v4.5A1.5 1.5 0 0 1 15 15v2l-2.5-2h-3A1.5 1.5 0 0 1 8 13.5V13"]);var X9=e=>String.fromCharCode(65+e),uA=e=>(e?.options??[]).map(t=>typeof t=="string"?{label:t}:t),Kp=e=>e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLElement&&e.isContentEditable;function mA(e,t,n){let a=(0,L1.useRef)(t);a.current=t,(0,L1.useEffect)(()=>{if(e===0)return;let i=r=>{if(r.defaultPrevented||r.metaKey||r.ctrlKey||r.altKey||r.shiftKey||r.key.length!==1||Kp(r.target)||Kp(document.activeElement)||document.querySelector('[role="dialog"], [aria-modal="true"]')!==null)return;let s=r.key.toUpperCase().charCodeAt(0)-65;s>=0&&s<e?(r.preventDefault(),a.current(s)):s===e&&n.current&&(r.preventDefault(),n.current.focus())};return document.addEventListener("keydown",i,!0),()=>document.removeEventListener("keydown",i,!0)},[e,n])}function dA({question:e,onAnswer:t,onDismiss:n,ownAnswer:a=!1,raised:i=!1}){let[r,s]=(0,L1.useState)(""),[c,o]=(0,L1.useState)([]),l=(0,L1.useRef)(null),p=(0,L1.useId)(),u=uA(e),m=e.multiSelect===!0,d=r.trim(),f=m&&c.length>0||d!=="",w=$=>{if(m){o(C=>C.includes($)?C.filter(j=>j!==$):[...C,$]);return}t({selected:[$]})},x=()=>{f&&t({selected:m?c:[],...d?{custom:d}:{}})};mA(u.length,$=>w(u[$].label),l);let v=u.length>0?X9(u.length):void 0,b=a?(0,L1.createElement)("textarea",{ref:l,rows:1,value:r,autoComplete:"off",spellCheck:!1,className:"bt-q-input","aria-label":N("Your own answer"),placeholder:N("Type your own answer"),"aria-keyshortcuts":v?.toLowerCase(),onChange:$=>s($.target.value),onKeyDown:$=>{$.key!=="Enter"||$.shiftKey||$.nativeEvent.isComposing||($.preventDefault(),x())}}):null,_=u.map(($,C)=>{let j=m&&c.includes($.label);return(0,L1.createElement)("button",{key:$.label,type:"button",className:"bt-q-opt","aria-pressed":m?j:void 0,"aria-keyshortcuts":X9(C).toLowerCase(),onClick:()=>w($.label)},(0,L1.createElement)("span",{className:"bt-key","aria-hidden":!0},X9(C)),(0,L1.createElement)("span",{className:"bt-q-body"},(0,L1.createElement)("span",{className:"bt-q-label"},$.label),$.description?(0,L1.createElement)("span",{className:"bt-q-desc"},$.description):null),j&&!i?(0,L1.createElement)("span",{className:"bt-q-check",title:N("Selected")},(0,L1.createElement)(N5)):null)});i&&b&&_.push((0,L1.createElement)("label",{key:"own",className:"bt-q-opt bt-q-ownrow","data-filled":d!==""?"":void 0},v?(0,L1.createElement)("span",{className:"bt-key","aria-hidden":!0},v):null,(0,L1.createElement)("span",{className:"bt-q-body"},b)));let z=null;return i&&m?z=(0,L1.createElement)("div",{className:"bt-q-foot"},(0,L1.createElement)("button",{type:"button",className:"bt-q-btn",onClick:n},N("Skip")),(0,L1.createElement)("button",{type:"submit",className:"bt-q-submit",disabled:!f},N("Submit"))):(i||m)&&f&&(z=(0,L1.createElement)("div",{className:"bt-q-foot"},(0,L1.createElement)("button",{type:"submit",className:"bt-q-submit"},N("Submit")))),(0,L1.createElement)("form",{className:i?"bt-q bt-q-raised":"bt-q","aria-labelledby":p,onSubmit:$=>{$.preventDefault(),x()}},(0,L1.createElement)("div",{className:"bt-q-head"},(0,L1.createElement)("div",{className:"bt-q-text"},(0,L1.createElement)("p",{className:"bt-q-title",id:p},e.header?"".concat(e.header," \xB7 "):"",e.question),e.detail?(0,L1.createElement)("div",{className:"bt-q-detail"},e.detail):null,i&&m?(0,L1.createElement)("div",{className:"bt-q-detail"},N("Choose all that apply")):null),(0,L1.createElement)("button",{type:"button",className:"bt-q-x","aria-label":N("Dismiss question"),title:N("Dismiss"),onClick:n},(0,L1.createElement)(H5))),_.length>0?(0,L1.createElement)("div",{className:"bt-q-list",role:"group"},_):null,b&&!i?(0,L1.createElement)("div",{className:"bt-q-custom"},(0,L1.createElement)("label",{className:"bt-q-field"},b),!m&&f?(0,L1.createElement)("button",{type:"submit",className:"bt-q-submit"},N("Submit")):null):null,z)}function K9({sessionId:e,question:t,actions:n,inline:a}){let[i,r]=(0,L1.useState)(null);if(i===t.id)return null;let s=o=>{r(t.id),n.answerQuestion(e,t.id,{selected:o.selected??[],custom:o.custom??""}).catch(()=>r(null))},c=()=>{r(t.id),n.dismissQuestion(e)};return(0,L1.createElement)("div",{className:a?"bt-q-inline":"bt-q-dock"},(0,L1.createElement)(dA,{key:t.id,question:t,onAnswer:s,onDismiss:c,ownAnswer:t.allowCustom===!0,raised:!a}))}var r0=X1(l0(),1);var c1=X1(l0(),1),hl=X1(J3(),1);var Z=X1(_h(),1);function wh(e){var t,n,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=wh(e[t]))&&(a&&(a+=" "),a+=n)}else for(n in e)e[n]&&(a&&(a+=" "),a+=n);return a}function w$(){for(var e,t,n=0,a="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=wh(e))&&(a&&(a+=" "),a+=t);return a}var C0=w$;var P=X1(l0(),1);var Q3={root:"Ei",content:"Ni",text:"be",decoration:"ze",sweep:"u","dsh-row-shimmer-sweep":"we",highlight:"E","dsh-row-shimmer-highlight":"ke"};var c3={root:"Ai",header:"N",row:"l",leading:"A",iconIdle:"ve",chevronHover:"ye",title:"Yi"};var $6={button:"je",md:"Ii",sm:"Ri",primary:"Xe",ghost:"Te",outline:"Ke",toolbar:"_e",icon:"Bi"};var w8={wrap:"Fe",icon:"Qi",input:"Ee"};var A7=X1(J3(),1);var Ot={keys:"Ui",key:"I",tooltip:"Ae",separator:"Vi",joined:"Ye"};var Wt={surface:"R",backing:"B",compact:"Wi",material:"Zi"};var He={root:"pa",card:"xa",copyable:"Ge",feedback:"fa",copied:"ca",status:"ma",preview:"K",inline:"ga",media:"ha"};var I1='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>',B1='';var xh={title:"AliExpress",slug:"aliexpress",get svg(){return I1+"AliExpress"+B1+this.path+P1},path:"M5.166 9.096a.022.022 0 0 0-.022.021c0 .396-.32.717-.713.717a.021.021 0 0 0-.021.022c0 .012.01.021.021.021.394 0 .713.322.713.718 0 .012.01.021.022.021.011 0 .021-.01.021-.021A.717.717 0 0 1 5.9 9.88a.021.021 0 0 0 0-.043.716.716 0 0 1-.713-.718v-.002a.021.021 0 0 0-.006-.015.022.022 0 0 0-.015-.006zm-3.693.526L0 13.462h.48l.355-.922h1.782l.354.922h.481L1.98 9.622zm2.264.002v3.838h.491V9.624zm2.375 0v3.838h2.413v-.502H6.613v-1.19H8.19v-.477H6.613v-1.166h1.773v-.502zm-4.386.592l.698 1.82H1.028zm14.689.402a1.466 1.466 0 0 0-.966.366V10.7h-.491v2.763h.49c.002-.477 0-.955.002-1.433a.969.969 0 0 1 .965-.918zm4.18.007c-.053 0-.105.003-.158.01-.315.031-.606.175-.753.377a.689.689 0 0 0-.14.465c.007.2.066.357.233.496.184.147.42.2.657.259.311.067.426.095.546.186.08.07.133.127.136.27 0 .25-.221.372-.42.41a.89.89 0 0 1-.894-.344l-.371.288c.33.382.777.505 1.09.5.54-.01.891-.217 1.029-.534.066-.153.063-.309.063-.38a.677.677 0 0 0-.267-.545c-.228-.177-.583-.228-.636-.242-.437-.078-.658-.196-.697-.341-.043-.192.102-.35.297-.411a.76.76 0 0 1 .857.277l.367-.247a1.166 1.166 0 0 0-.939-.494zm2.387 0c-.052 0-.105.003-.157.01-.316.031-.607.175-.753.377a.689.689 0 0 0-.14.465c.006.2.065.357.233.496.183.147.42.2.657.259.31.067.426.095.545.186.081.07.134.127.136.27.001.25-.221.372-.42.41a.89.89 0 0 1-.894-.344l-.371.288c.33.382.777.505 1.09.5.541-.01.891-.217 1.03-.534.065-.153.062-.309.062-.38a.677.677 0 0 0-.267-.545c-.227-.177-.583-.228-.636-.242-.437-.078-.658-.196-.696-.341-.043-.192.101-.35.297-.411a.76.76 0 0 1 .857.277l.367-.247a1.167 1.167 0 0 0-.94-.494zm-9.84.002a1.461 1.461 0 0 0-1.42 1.117 1.305 1.305 0 0 0-.041.327v2.833h.491v-1.813c.17.18.487.42.96.454a1.447 1.447 0 0 0 1.208-.627 1.457 1.457 0 0 0-1.199-2.292zm4.804 0a1.448 1.448 0 0 0-1.288 2.08c.255.53.811.87 1.412.833a1.452 1.452 0 0 0 1.012-.51l-.363-.291a.968.968 0 0 1-1.106.273 1.01 1.01 0 0 1-.602-.69h2.239l.002-.427a1.295 1.295 0 0 0-1.306-1.268zm-9.2.08l1.062 1.377-1.062 1.378h.581l.779-1.01.778 1.01h.581l-1.062-1.378 1.062-1.378h-.581l-.778 1.01-.779-1.01zm-3.825.015v2.74h.49v-2.74zm8.233.37a.96.96 0 0 1 .95.993.963.963 0 0 1-.863.998.962.962 0 0 1-1.034-.739c-.074-.382 0-.746.307-1.019a.959.959 0 0 1 .64-.233zm4.79.015a.823.823 0 0 1 .819.755h-1.76a.964.964 0 0 1 .94-.755z",source:"https://www.alibabagroup.com/en/ir/reports",hex:"FF4747"};var kh={title:"Apple",slug:"apple",get svg(){return I1+"Apple"+B1+this.path+P1},path:"M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701",source:"https://www.apple.com",hex:"000000"};var zh={title:"Baidu",slug:"baidu",get svg(){return I1+"Baidu"+B1+this.path+P1},path:"M9.154 0C7.71 0 6.54 1.658 6.54 3.707c0 2.051 1.171 3.71 2.615 3.71 1.446 0 2.614-1.659 2.614-3.71C11.768 1.658 10.6 0 9.154 0zm7.025.594C14.86.58 13.347 2.589 13.2 3.927c-.187 1.745.25 3.487 2.179 3.735 1.933.25 3.175-1.806 3.422-3.364.252-1.555-.995-3.364-2.362-3.674a1.218 1.218 0 0 0-.261-.03zM3.582 5.535a2.811 2.811 0 0 0-.156.008c-2.118.19-2.428 3.24-2.428 3.24-.287 1.41.686 4.425 3.297 3.864 2.617-.561 2.262-3.68 2.183-4.362-.125-1.018-1.292-2.773-2.896-2.75zm16.534 1.753c-2.308 0-2.617 2.119-2.617 3.616 0 1.43.121 3.425 2.988 3.362 2.867-.063 2.553-3.238 2.553-3.988 0-.745-.62-2.99-2.924-2.99zm-8.264 2.478c-1.424.014-2.708.925-3.323 1.947-1.118 1.868-2.863 3.05-3.112 3.363-.25.309-3.61 2.116-2.864 5.42.746 3.301 3.365 3.237 3.365 3.237s1.93.19 4.171-.31c2.24-.495 4.17.123 4.17.123s5.233 1.748 6.665-1.616c1.43-3.364-.808-5.109-.808-5.109s-2.99-2.306-4.736-4.798c-1.072-1.665-2.348-2.268-3.528-2.257zm-2.234 3.84l1.542.024v8.197H7.758c-1.47-.291-2.055-1.292-2.13-1.462-.072-.173-.488-.976-.268-2.343.635-2.049 2.447-2.196 2.447-2.196h1.81zm3.964 2.39v3.881c.096.413.612.488.612.488h1.614v-4.343h1.689v5.782h-3.915c-1.517-.39-1.59-1.465-1.59-1.465v-4.317zm-5.458 1.147c-.66.197-.978.708-1.05.928-.076.22-.247.78-.1 1.269.294 1.095 1.248 1.144 1.248 1.144h1.37v-3.34z",source:"https://www.baidu.com",hex:"2932E1"};var Ch={title:"Bilibili",slug:"bilibili",get svg(){return I1+"Bilibili"+B1+this.path+P1},path:"M17.813 4.653h.854c1.51.054 2.769.578 3.773 1.574 1.004.995 1.524 2.249 1.56 3.76v7.36c-.036 1.51-.556 2.769-1.56 3.773s-2.262 1.524-3.773 1.56H5.333c-1.51-.036-2.769-.556-3.773-1.56S.036 18.858 0 17.347v-7.36c.036-1.511.556-2.765 1.56-3.76 1.004-.996 2.262-1.52 3.773-1.574h.774l-1.174-1.12a1.234 1.234 0 0 1-.373-.906c0-.356.124-.658.373-.907l.027-.027c.267-.249.573-.373.92-.373.347 0 .653.124.92.373L9.653 4.44c.071.071.134.142.187.213h4.267a.836.836 0 0 1 .16-.213l2.853-2.747c.267-.249.573-.373.92-.373.347 0 .662.151.929.4.267.249.391.551.391.907 0 .355-.124.657-.373.906zM5.333 7.24c-.746.018-1.373.276-1.88.773-.506.498-.769 1.13-.786 1.894v7.52c.017.764.28 1.395.786 1.893.507.498 1.134.756 1.88.773h13.334c.746-.017 1.373-.275 1.88-.773.506-.498.769-1.129.786-1.893v-7.52c-.017-.765-.28-1.396-.786-1.894-.507-.497-1.134-.755-1.88-.773zM8 11.107c.373 0 .684.124.933.373.25.249.383.569.4.96v1.173c-.017.391-.15.711-.4.96-.249.25-.56.374-.933.374s-.684-.125-.933-.374c-.25-.249-.383-.569-.4-.96V12.44c0-.373.129-.689.386-.947.258-.257.574-.386.947-.386zm8 0c.373 0 .684.124.933.373.25.249.383.569.4.96v1.173c-.017.391-.15.711-.4.96-.249.25-.56.374-.933.374s-.684-.125-.933-.374c-.25-.249-.383-.569-.4-.96V12.44c.017-.391.15-.711.4-.96.249-.249.56-.373.933-.373Z",source:"https://www.bilibili.com",hex:"00A1D6"};var Ah={title:"CSDN",slug:"csdn",get svg(){return I1+"CSDN"+B1+this.path+P1},path:"M4.693 13.638c-.497.568-1.363.63-1.712.63-.648 0-1.144-.164-1.474-.488-.313-.307-.478-.76-.489-1.346-.025-1.358.744-2.762 2.074-2.762.635 0 1.124.455 1.311.644a.337.337 0 0 0 .282.099.38.38 0 0 0 .241-.159c.068-.087.135-.237.138-.401s-.057-.344-.243-.49a2.642 2.642 0 0 0-1.668-.591c-.819 0-1.627.376-2.218 1.033-.621.691-.953 1.63-.935 2.646.015.815.282 1.5.773 1.982.528.518 1.3.791 2.235.791 1.097 0 1.776-.325 2.154-.597a.584.584 0 0 0 .24-.456.702.702 0 0 0-.208-.497c-.23-.248-.448-.101-.503-.037ZM9.663 11.488a7.471 7.471 0 0 0-.698-.248c-.157-.048-.309-.091-.45-.131-.922-.26-1.027-.5-1.017-.68.022-.363.515-.853 1.352-.792.607.045 1.015.509 1.205.781.149.214.371.135.434.095a.602.602 0 0 0 .309-.514.626.626 0 0 0-.209-.488 2.654 2.654 0 0 0-3.347-.273c-.456.323-.744.772-.77 1.202-.064 1.061 1.015 1.366 1.803 1.588.214.061.429.127.667.202 1.14.357 1.173.717 1.092 1.267-.082.556-.696.834-1.685.761-1.029-.076-1.464-.61-1.612-.901-.05-.098-.205-.248-.413-.156-.514.229-.473.731-.26.993.339.416 1.15 1.035 2.667 1.035 1.734 0 2.255-.875 2.378-1.64.092-.572-.022-1.028-.348-1.396-.236-.267-.592-.495-1.101-.706ZM16.44 9.323c-.598-.431-1.393-.61-2.36-.532-.712.058-1.274.243-1.335.263l-.006.002a.437.437 0 0 0-.297.379l-.47 5.201a.337.337 0 0 0 .247.35l.072.02.066.018.086.021a7.914 7.914 0 0 0 1.64.183c.972 0 1.765-.23 2.36-.684.764-.583 1.141-1.5 1.118-2.725-.021-1.135-.398-1.974-1.121-2.495Zm-.662 4.461c-.836.639-2.09.562-2.677.481a.128.128 0 0 1-.109-.137l.397-4.248a.113.113 0 0 1 .086-.1c.999-.241 1.777-.168 2.312.218.189.137.348.331.471.568.176.339.277.765.286 1.234.017.916-.24 1.583-.765 1.984ZM23.967 10.41a1.92 1.92 0 0 0-.432-.919c-.399-.465-1.029-.689-1.848-.689-.734 0-1.372.228-1.947.799.007-.086.019-.159.018-.223s-.017-.116-.066-.163c-.048-.045-.077-.067-.127-.077-.05-.01-.122-.008-.256-.006a.587.587 0 0 0-.589.54s-.325 3.874-.428 5.165a.308.308 0 0 0 .073.228.36.36 0 0 0 .26.131h.387a.224.224 0 0 0 .226-.205l.273-2.929.014-.147a1.902 1.902 0 0 1 .082-.412c.014-.045.03-.092.047-.14.245-.694.803-1.72 1.971-1.694.84.018 1.449.455 1.385 1.114-.101 1.034-.266 3.1-.358 4.14-.019.209.182.273.252.273h.304a.442.442 0 0 0 .444-.404s.185-2.127.294-3.352l.048-.532a1.959 1.959 0 0 0-.026-.5Z",source:"https://www.csdn.net/company/index.html",hex:"FC5531"};var Mh={title:"DuckDuckGo",slug:"duckduckgo",get svg(){return I1+"DuckDuckGo"+B1+this.path+P1},path:"M12 0C5.37 0 0 5.37 0 12s5.37 12 12 12 12-5.37 12-12S18.63 0 12 0zm0 .984C18.083.984 23.016 5.916 23.016 12S18.084 23.016 12 23.016.984 18.084.984 12C.984 5.917 5.916.984 12 .984zm0 .938C6.434 1.922 1.922 6.434 1.922 12c0 4.437 2.867 8.205 6.85 9.55-.237-.82-.776-2.753-1.6-6.052-1.184-4.741-2.064-8.606 2.379-9.813.047-.011.064-.064.03-.093-.514-.467-1.382-.548-2.233-.38a.06.06 0 0 1-.07-.058c0-.011 0-.023.011-.035.205-.286.572-.507.822-.64a1.843 1.843 0 0 0-.607-.335c-.059-.022-.059-.12-.006-.144.006-.006.012-.012.024-.012 1.749-.233 3.586.292 4.49 1.448.011.011.023.017.035.023 2.968.635 3.509 4.837 3.328 5.998a9.607 9.607 0 0 0 2.346-.576c.746-.286 1.008-.222 1.101-.053.1.193-.018.513-.28.81-.496.567-1.393 1.01-2.974 1.137-.546.044-1.029.024-1.445.006-.789-.035-1.339-.059-1.633.39-.192.298-.041.998 1.487 1.22 1.09.157 2.078.047 2.798-.034.643-.07 1.073-.118 1.172.069.21.402-.996 1.207-3.066 1.224-.158 0-.315-.006-.467-.011-1.283-.065-2.227-.414-2.816-.735a.094.094 0 0 1-.035-.017c-.105-.059-.31.045-.188.267.07.134.444.478 1.004.776-.058.466.087 1.184.338 2l.088-.016c.041-.009.087-.019.134-.025.507-.082.775.012.926.175.717-.536 1.913-1.294 2.03-1.154.583.694.66 2.332.53 2.99-.004.012-.017.024-.04.035-.274.117-1.783-.296-1.783-.511-.059-1.075-.26-1.173-.493-1.225h-.156c.006.006.012.018.018.03l.052.12c.093.257.24 1.063.13 1.26-.112.199-.835.297-1.284.303-.443.006-.543-.158-.637-.408-.07-.204-.103-.675-.103-.95a.857.857 0 0 1 .012-.216c-.134.058-.333.193-.397.281-.017.262-.017.682.123 1.149.07.221-1.518 1.164-1.74.99-.227-.181-.634-1.952-.459-2.67-.187.017-.338.075-.42.191-.367.508.093 2.933.582 3.248.257.169 1.54-.553 2.176-1.095.105.145.305.158.553.158.326-.012.782-.06 1.103-.158.192.45.423.972.613 1.388 4.47-1.032 7.803-5.037 7.803-9.82 0-5.566-4.512-10.078-10.078-10.078zm1.791 5.646c-.42 0-.678.146-.795.332-.023.047.047.094.094.07.14-.075.357-.161.701-.156.328.006.516.09.67.159l.023.01c.041.017.088-.03.059-.065-.134-.18-.332-.35-.752-.35zm-5.078.198a1.24 1.24 0 0 0-.522.082c-.454.169-.67.526-.67.76 0 .051.112.057.141.011.081-.123.21-.31.617-.478.408-.17.73-.146.951-.094.047.012.083-.041.041-.07a.989.989 0 0 0-.558-.211zm5.434 1.423a.651.651 0 0 0-.655.647.652.652 0 0 0 1.307 0 .646.646 0 0 0-.652-.647zm.283.262h.008a.17.17 0 0 1 .17.17c0 .093-.077.17-.17.17a.17.17 0 0 1-.17-.17c0-.09.072-.165.162-.17zm-5.358.076a.752.752 0 0 0-.758.758c0 .42.338.758.758.758s.758-.337.758-.758a.756.756 0 0 0-.758-.758zm.328.303h.01c.112 0 .2.089.2.2 0 .11-.088.197-.2.197a.195.195 0 0 1-.197-.198c0-.107.082-.194.187-.199z",source:"https://github.com/duckduckgo/duckduckgo-privacy-extension/blob/5c6ac8d6a07421adbfb97ee2ff855dd7655f8d71/shared/img/logo-small-grayscale.svg",hex:"DE5833",guidelines:"https://duckduckgo.com/press#press-materials"};var $h={title:"eBay",slug:"ebay",get svg(){return I1+"eBay"+B1+this.path+P1},path:"M6.056 12.132v-4.92h1.2v3.026c.59-.703 1.402-.906 2.202-.906 1.34 0 2.828.904 2.828 2.855 0 .233-.015.457-.06.668.24-.953 1.274-1.305 2.896-1.344.51-.018 1.095-.018 1.56-.018v-.135c0-.885-.556-1.244-1.53-1.244-.72 0-1.245.3-1.305.81h-1.275c.136-1.29 1.5-1.62 2.686-1.62 1.064 0 1.995.27 2.415 1.02l-.436-.84h1.41l2.055 4.125 2.055-4.126H24l-3.72 7.305h-1.346l1.07-2.04-2.33-4.38c.13.255.2.555.2.93v2.46c0 .346.01.69.04 1.005H16.8a6.543 6.543 0 01-.046-.765c-.603.734-1.32.96-2.32.96-1.48 0-2.272-.78-2.272-1.695 0-.15.015-.284.037-.405-.3 1.246-1.36 2.086-2.767 2.086-.87 0-1.694-.315-2.2-.93 0 .24-.015.494-.04.734h-1.18c.02-.39.04-.855.04-1.245v-1.05h-4.83c.065 1.095.818 1.74 1.853 1.74.718 0 1.355-.3 1.568-.93h1.24c-.24 1.29-1.61 1.725-2.79 1.725C.95 15.009 0 13.822 0 12.232c0-1.754.982-2.91 3.116-2.91 1.688 0 2.93.886 2.94 2.806v.005zm9.137.183c-1.095.034-1.77.233-1.77.95 0 .465.36.97 1.305.97 1.26 0 1.935-.69 1.935-1.814v-.13c-.45 0-.99.006-1.484.022h.012zm-6.06 1.875c1.11 0 1.876-.806 1.876-2.02s-.768-2.02-1.893-2.02c-1.11 0-1.89.806-1.89 2.02s.765 2.02 1.875 2.02h.03zm-4.35-2.514c-.044-1.125-.854-1.546-1.725-1.546-.944 0-1.694.474-1.815 1.546z",source:"https://go.developer.ebay.com/logos",hex:"E53238"};var Lh={title:"Facebook",slug:"facebook",get svg(){return I1+"Facebook"+B1+this.path+P1},path:"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z",source:"https://about.meta.com/brand/resources/facebook/logo",hex:"0866FF",guidelines:"https://about.meta.com/brand/resources/facebook/logo"};var x8={title:"GitHub",slug:"github",get svg(){return I1+"GitHub"+B1+this.path+P1},path:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12",source:"https://github.com/logos",hex:"181717",guidelines:"https://github.com/logos"};var Sh={title:"GitLab",slug:"gitlab",get svg(){return I1+"GitLab"+B1+this.path+P1},path:"m23.6004 9.5927-.0337-.0862L20.3.9814a.851.851 0 0 0-.3362-.405.8748.8748 0 0 0-.9997.0539.8748.8748 0 0 0-.29.4399l-2.2055 6.748H7.5375l-2.2057-6.748a.8573.8573 0 0 0-.29-.4412.8748.8748 0 0 0-.9997-.0537.8585.8585 0 0 0-.3362.4049L.4332 9.5015l-.0325.0862a6.0657 6.0657 0 0 0 2.0119 7.0105l.0113.0087.03.0213 4.976 3.7264 2.462 1.8633 1.4995 1.1321a1.0085 1.0085 0 0 0 1.2197 0l1.4995-1.1321 2.4619-1.8633 5.006-3.7489.0125-.01a6.0682 6.0682 0 0 0 2.0094-7.003z",source:"https://about.gitlab.com/press/press-kit/",hex:"FC6D26",guidelines:"https://about.gitlab.com/handbook/marketing/corporate-marketing/brand-activation/trademark-guidelines/"};var Eh={title:"Google",slug:"google",get svg(){return I1+"Google"+B1+this.path+P1},path:"M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z",source:"https://partnermarketinghub.withgoogle.com",hex:"4285F4",guidelines:"https://about.google/brand-resource-center/brand-elements/"};var Zh={title:"Instagram",slug:"instagram",get svg(){return I1+"Instagram"+B1+this.path+P1},path:"M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077",source:"https://about.meta.com/brand/resources/instagram",hex:"FF0069",guidelines:"https://about.meta.com/brand/resources/instagram"};var Fh={title:"Juejin",slug:"juejin",get svg(){return I1+"Juejin"+B1+this.path+P1},path:"m12 14.316 7.454-5.88-2.022-1.625L12 11.1l-.004.003-5.432-4.288-2.02 1.624 7.452 5.88Zm0-7.247 2.89-2.298L12 2.453l-.004-.005-2.884 2.318 2.884 2.3Zm0 11.266-.005.002-9.975-7.87L0 12.088l.194.156 11.803 9.308 7.463-5.885L24 12.085l-2.023-1.624Z",source:"https://juejin.cn",hex:"007FFF"};var jh={title:"MDN Web Docs",slug:"mdnwebdocs",get svg(){return I1+"MDN Web Docs"+B1+this.path+P1},path:"m21.538 1.1-6.745 21.8h-2.77L18.77 1.1ZM24 1.1v21.8h-2.462V1.1Zm-12 0v21.8H9.538V1.1Zm-2.462 0L2.77 22.9H0L6.746 1.1Z",source:"https://github.com/mdn/yari/blob/77e6cda02f7013219e9da27a00b9424085e60fdb/client/src/assets/mdn-logo.svg",hex:"000000"};var Hh={title:"Netflix",slug:"netflix",get svg(){return I1+"Netflix"+B1+this.path+P1},path:"m5.398 0 8.348 23.602c2.346.059 4.856.398 4.856.398L10.113 0H5.398zm8.489 0v9.172l4.715 13.33V0h-4.715zM5.398 1.5V24c1.873-.225 2.81-.312 4.715-.398V14.83L5.398 1.5z",source:"https://brand.netflix.com/en/assets/logos",hex:"E50914",guidelines:"https://brand.netflix.com/en/assets/logos"};var Nh={title:"npm",slug:"npm",get svg(){return I1+"npm"+B1+this.path+P1},path:"M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z",source:"https://www.npmjs.com",hex:"CB3837",guidelines:"https://docs.npmjs.com/policies/logos-and-usage"};var Th={title:"PyPI",slug:"pypi",get svg(){return I1+"PyPI"+B1+this.path+P1},path:"M23.922 13.58v3.912L20.55 18.72l-.078.055.052.037 3.45-1.256.026-.036v-3.997l-.053-.036-.025.092z M23.621 5.618l-3.04 1.107v3.912l3.339-1.215V5.509zM23.92 13.457V9.544l-3.336 1.215v3.913zM20.47 14.71V10.8L17.17 12v3.913zM17.034 19.996v-3.912l-3.313 1.206v3.912zM17.17 16.057v3.868l3.314-1.206V14.85l-3.314 1.206zm2.093 1.882c-.367.134-.663-.074-.663-.463s.296-.814.663-.947c.365-.133.662.075.662.464s-.297.814-.662.946z M13.225 9.315l.365-.132-3.285-1.197-3.323 1.21.102.037 3.184 1.16zM20.507 10.664V6.751L17.17 7.965v3.913zM17.058 11.918V8.005l-3.302 1.202v3.912zM13.643 9.246l-3.336 1.215v3.913l3.336-1.215zM6.907 13.165l3.322 1.209v-3.913L6.907 9.252z M10.34 7.873l3.281 1.193V5.198l-3.28-1.193zM20.507 2.715L17.19 3.922v3.913l3.317-1.207zM16.95 3.903L13.724 2.73l-3.269 1.19 3.225 1.174zM15.365 4.606l-1.624.592v3.868l3.317-1.207V3.991l-1.693.615zm-.391 2.778c-.367.134-.662-.074-.662-.464s.295-.813.662-.946c.366-.133.663.074.663.464s-.297.813-.663.946z M10.229 18.41v-3.914l-3.322-1.209V17.2zM13.678 17.182v-3.913l-3.371 1.227v3.913z M13.756 17.154l3.3-1.2V12.04l-3.3 1.2zM13.678 21.217l-3.371 1.227v-3.912h-.078v3.912l-3.322-1.209v-3.913l-.053-.058-.025-.06-3.336-1.21v-3.948l.034.013 3.287 1.196.015-.078-3.261-1.187 3.26-1.187v-.109L3.876 9.62l-.307-.112 3.26-1.188v.877l.079-.055V6.769l3.257 1.185.058-.061L7.084 6.75l-.102-.037 3.24-1.179v-.083L6.854 6.677v.018l-.025.018v1.523L3.44 9.47v.02l-.025.017v4.007l-3.39 1.233v.019L0 14.784v3.995l.025.037 3.4 1.237.008-.006.007.01 3.4 1.238.008-.006.006.01 3.4 1.237.014-.009.012.01 3.45-1.256.026-.037-.078-.027zM3.493 9.563l3.257 1.185-3.257 1.187V9.562zM3.4 19.96L.078 18.752v-3.913l2.361.86.96.349v3.913zm.015-3.99L.335 14.85l-.182-.066 3.262-1.187v2.374zm3.399 5.231l-3.321-1.209v-3.912l3.321 1.209v3.912zM23.791 5.434l-3.21-1.17v2.338zM20.387 2.643l-3.24-1.18-3.27 1.19 3.247 1.182z",source:"https://pypi.org",hex:"3775A9"};var Vh={title:"QQ",slug:"qq",get svg(){return I1+"QQ"+B1+this.path+P1},path:"M21.395 15.035a40 40 0 0 0-.803-2.264l-1.079-2.695c.001-.032.014-.562.014-.836C19.526 4.632 17.351 0 12 0S4.474 4.632 4.474 9.241c0 .274.013.804.014.836l-1.08 2.695a39 39 0 0 0-.802 2.264c-1.021 3.283-.69 4.643-.438 4.673.54.065 2.103-2.472 2.103-2.472 0 1.469.756 3.387 2.394 4.771-.612.188-1.363.479-1.845.835-.434.32-.379.646-.301.778.343.578 5.883.369 7.482.189 1.6.18 7.14.389 7.483-.189.078-.132.132-.458-.301-.778-.483-.356-1.233-.646-1.846-.836 1.637-1.384 2.393-3.302 2.393-4.771 0 0 1.563 2.537 2.103 2.472.251-.03.581-1.39-.438-4.673",source:"https://en.wikipedia.org/wiki/File:Tencent_QQ.svg",hex:"1EBAFC",guidelines:"https://qq.design/brand/BrandDesign/Logo"};var qh={title:"Quora",slug:"quora",get svg(){return I1+"Quora"+B1+this.path+P1},path:"M7.3799.9483A11.9628 11.9628 0 0 1 21.248 19.5397l2.4096 2.4225c.7322.7362.21 1.9905-.8272 1.9905l-10.7105.01a12.52 12.52 0 0 1-.304 0h-.02A11.9628 11.9628 0 0 1 7.3818.9503Zm7.3217 4.428a7.1717 7.1717 0 1 0-5.4873 13.2512 7.1717 7.1717 0 0 0 5.4883-13.2511Z",source:"https://www.quora.com",hex:"B92B27"};var Ih={title:"Reddit",slug:"reddit",get svg(){return I1+"Reddit"+B1+this.path+P1},path:"M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286C.775 23.225 1.097 24 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199c1.104 0 1.999.895 1.999 1.999 0 1.105-.895 2-1.999 2-.946 0-1.739-.657-1.947-1.539v.002c-1.147.162-2.032 1.15-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363.473-.363 1.064-.58 1.707-.58 1.547 0 2.802 1.254 2.802 2.802 0 1.117-.655 2.081-1.601 2.531-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87-.954-.447-1.614-1.415-1.614-2.538 0-1.548 1.255-2.802 2.803-2.802.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01c0-1.663 1.263-3.034 2.88-3.207.188-.911.993-1.595 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135-.147.015-.241.168-.183.305.483 1.154 1.622 1.964 2.953 1.964 1.33 0 2.47-.81 2.953-1.964.057-.137-.037-.29-.184-.305-.863-.087-1.795-.135-2.769-.135Z",source:"https://www.redditinc.com/brand",hex:"FF4500",guidelines:"https://www.redditinc.com/brand"};var Bh={title:"Sina Weibo",slug:"sinaweibo",get svg(){return I1+"Sina Weibo"+B1+this.path+P1},path:"M10.098 20.323c-3.977.391-7.414-1.406-7.672-4.02-.259-2.609 2.759-5.047 6.74-5.441 3.979-.394 7.413 1.404 7.671 4.018.259 2.6-2.759 5.049-6.737 5.439l-.002.004zM9.05 17.219c-.384.616-1.208.884-1.829.602-.612-.279-.793-.991-.406-1.593.379-.595 1.176-.861 1.793-.601.622.263.82.972.442 1.592zm1.27-1.627c-.141.237-.449.353-.689.253-.236-.09-.313-.361-.177-.586.138-.227.436-.346.672-.24.239.09.315.36.18.601l.014-.028zm.176-2.719c-1.893-.493-4.033.45-4.857 2.118-.836 1.704-.026 3.591 1.886 4.21 1.983.64 4.318-.341 5.132-2.179.8-1.793-.201-3.642-2.161-4.149zm7.563-1.224c-.346-.105-.57-.18-.405-.615.375-.977.42-1.804 0-2.404-.781-1.112-2.915-1.053-5.364-.03 0 0-.766.331-.571-.271.376-1.217.315-2.224-.27-2.809-1.338-1.337-4.869.045-7.888 3.08C1.309 10.87 0 13.273 0 15.348c0 3.981 5.099 6.395 10.086 6.395 6.536 0 10.888-3.801 10.888-6.82 0-1.822-1.547-2.854-2.915-3.284v.01zm1.908-5.092c-.766-.856-1.908-1.187-2.96-.962-.436.09-.706.511-.616.932.09.42.511.691.932.602.511-.105 1.067.044 1.442.465.376.421.466.977.316 1.473-.136.406.089.856.51.992.405.119.857-.105.992-.512.33-1.021.12-2.178-.646-3.035l.03.045zm2.418-2.195c-1.576-1.757-3.905-2.419-6.054-1.968-.496.104-.812.587-.706 1.081.104.496.586.813 1.082.707 1.532-.331 3.185.15 4.296 1.383 1.112 1.246 1.429 2.943.947 4.416-.165.48.106 1.007.586 1.157.479.165.991-.104 1.157-.586.675-2.088.241-4.478-1.338-6.235l.03.045z",source:"https://en.wikipedia.org/wiki/Sina_Weibo",hex:"E6162D"};var Ph={title:"Spotify",slug:"spotify",get svg(){return I1+"Spotify"+B1+this.path+P1},path:"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z",source:"https://developer.spotify.com/documentation/general/design-and-branding/#using-our-logo",hex:"1ED760",guidelines:"https://developer.spotify.com/documentation/general/design-and-branding/#using-our-logo"};var Rh={title:"Stack Overflow",slug:"stackoverflow",get svg(){return I1+"Stack Overflow"+B1+this.path+P1},path:"M15.725 0l-1.72 1.277 6.39 8.588 1.716-1.277L15.725 0zm-3.94 3.418l-1.369 1.644 8.225 6.85 1.369-1.644-8.225-6.85zm-3.15 4.465l-.905 1.94 9.702 4.517.904-1.94-9.701-4.517zm-1.85 4.86l-.44 2.093 10.473 2.201.44-2.092-10.473-2.203zM1.89 15.47V24h19.19v-8.53h-2.133v6.397H4.021v-6.396H1.89zm4.265 2.133v2.13h10.66v-2.13H6.154Z",source:"https://stackoverflow.design/brand/logo/",hex:"F58025",guidelines:"https://stackoverflow.com/legal/trademark-guidance"};var Dh={title:"Taobao",slug:"taobao",get svg(){return I1+"Taobao"+B1+this.path+P1},path:"M21.3099 9.9008c.5285 0 .9584.4284.9584.9589 0 .5276-.4299.958-.9584.958-.5276 0-.9585-.4304-.9585-.958 0-.5305.4309-.959.9585-.959zm2.3899 3.0462h-10.408v-.9595h4.15V9.7591h-2.8869v-.768h2.8868v-.9234h-2.508v.2034h-1.6418V5.3733h1.6418v.3497c.4945-.0607 1.463-.1814 2.5175-.2956v-.8257h1.8522v.6408c.9249-.0807 1.753-.1312 2.211-.1112 1.489.0716 2.4449.2816 2.485 1.273.0356.989-1.4244 1.9043-1.4244 1.9043l-.4509-.4338v.1929h-2.8116v.9233h3.229v.768h-3.229v2.2285h4.3873v.9595zM21.5259 7.299l-.0115-.0115s1.3722-.7595.3427-1.272c-.8633-.43-5.5346.3056-6.9234.6257v.6578h6.5922zM1.8822 6.4166c.5515 0 .9985-.449.9985-1 0-.5531-.447-.9995-.9985-.9995a.9984.9984 0 00-1.001.9995c0 .551.4463 1 1.001 1zm3.4094-.8596c.252-.4364.3717-.7195.3717-.7195l-1.466-.4123S3.6068 6.3546 2.5527 7.253c0 0 1.0195.5897 1.0095.5732a9.6444 9.6444 0 00.782-.8793c.2345-.1017.4585-.198.6794-.2876-.2715.487-.7094 1.219-1.1478 1.6809l.6178.5385s.4198-.4033.8792-.8907h.5246v.8993H3.8557v.7204h2.0416v1.7235c-.025 0-.0521 0-.0782-.002-.224-.0106-.5751-.0476-.7124-.265-.1678-.2636-.044-.7496-.0346-1.0457H3.6608l-.0496.026s-.517 2.3142 1.489 2.2621c1.8793.0521 2.9544-.523 3.4725-.9178l.2064.7645 1.1583-.4825-.785-1.9183-.941.292.1764.6574c-.2415.1809-.518.3157-.8187.4134V9.6076h1.995v-.7204h-1.995v-.8993h2.003v-.72h-3.557c.2565-.3111.4589-.5982.5095-.78L5.9058 6.32c2.6603-.9519 4.1408-.7886 4.1278.773v4.1128s.1568 1.4124-1.461 1.3107l-.8757-.188-.207.8307s3.7822 1.0812 4.0913-1.8246c.3096-2.9058-.0767-4.7576-.0767-4.7576s-.3451-2.6824-6.213-1.02zM.0582 12.1534l1.5867.9905c1.0967-2.3813 1.0265-2.0657 1.302-2.92.2832-.8737.3453-1.54-.1362-2.023-.6172-.6197-.6844-.6773-1.6017-1.3582L.5487 7.8562l1.2164.7576s.8141.4153.4274 1.1903c-.3617.7375-2.1343 2.3493-2.1343 2.3493zm19.94 6.8484s-.0186.523-.6704.523c-.5892 0-.6363-.4113-.6363-.4113-.2485.2996-.6207.4549-1.0696.4549-.7606 0-1.2961-.5135-1.2961-1.2896 0-.786.5576-1.28 1.3983-1.28.3832 0 .725.1462.9258.4037.0066-.0706.0136-.1362.0136-.1968 0-.5622-.3092-.8127-1.01-.8127-.3382 0-.6659.0486-1.0136.1408.1107-.219.1924-.3793.2971-.4574.1202-.0972.4294-.1408.9419-.1408 1.269 0 1.742.4259 1.742 1.4279v1.2024c0 .3161.033.4359.3772.4359zm-1.3272-.745c0-.4815-.2555-.747-.6378-.747-.4043 0-.6668.2825-.6668.7595 0 .467.2775.7615.6533.7615.3882 0 .6513-.275.6513-.774zm5.2706-.501c0 1.1528-.6924 1.8271-1.7786 1.8271-1.0957 0-1.7766-.6743-1.7766-1.8271 0-1.1584.6809-1.8252 1.7766-1.8252 1.0862 0 1.7786.6719 1.7786 1.8252zm-1.0867 0c0-.8693-.237-1.2997-.692-1.2997-.4734 0-.6938.4304-.6938 1.2997 0 .8662.2204 1.299.6939 1.299.467 0 .6919-.4328.6919-1.299zm-7.1313-.0441c0 1.1703-.6534 1.8567-1.5767 1.8567-.4233 0-.8056-.1633-1.0466-.47 0 0-.1082.4264-.6618.4264-.6884 0-.6644-.523-.6644-.523.3868.0165.3758-.2145.3758-.436v-2.8862c0-.3552-.0742-.4795-.4269-.4865.0136-.1072.0777-.5376.6789-.5376.8156 0 .7615.9149.7615.9149v.786c.229-.268.5516-.3942.9905-.3942.9624 0 1.5697.6447 1.5697 1.7495zm-1.0937.0806c0-.8983-.2716-1.3557-.7616-1.3557-.4393 0-.74.3968-.74 1.1047v.3602c0 .7205.3152 1.1168.7631 1.1168.477 0 .7385-.4134.7385-1.226zm-3.2425-.0365c0 1.1528-.688 1.8271-1.7806 1.8271-1.0937 0-1.7726-.6743-1.7726-1.8271 0-1.1584.6789-1.8252 1.7726-1.8252 1.0927 0 1.7806.6719 1.7806 1.8252zm-1.0832 0c0-.8693-.236-1.2997-.6974-1.2997-.467 0-.6874.4304-.6874 1.2997 0 .8662.2205 1.299.6874 1.299.469 0 .6974-.4328.6974-1.299zm-5.9895-2.716c-.268.0782-.7901.0972-1.5516.0972-.925 0-1.5391-.039-1.8543-.039-.5195 0-.7254.1342-.9088.6592.3006-.1017.6729-.1087 1.1353-.1087.3512 0 .4108.0431.4108.2941V18.846c0 .2821.1178.6789.7255.6789.7104 0 .8346-.526.8346-.526-.3552-.007-.4248-.1313-.4248-.4865V15.952c0-.2675.1012-.2795.471-.2795.1252 0 .2094.007.2605.007.545 0 .6883-.1047.9018-.6398zm3.1303 3.962s-.018.523-.6664.523c-.556 0-.6403-.4113-.6403-.4113-.248.2996-.6207.4549-1.0656.4549-.7655 0-1.2996-.5135-1.2996-1.2896 0-.786.557-1.28 1.3993-1.28.3843 0 .7274.1462.9258.4037.0036-.0706.0106-.1362.0106-.1968 0-.5622-.3051-.8127-1.007-.8127-.3382 0-.6669.0486-1.015.1408.1131-.219.1923-.3793.2945-.4574.1293-.0972.4329-.1408.9469-.1408 1.265 0 1.746.4259 1.746 1.4279v1.2024c0 .3161.0276.4359.3708.4359zm-1.3262-.745c0-.4815-.2555-.747-.6378-.747-.4013 0-.6668.2825-.6668.7595 0 .467.279.7615.6513.7615.3893 0 .6533-.275.6533-.774z",source:"https://www.alibabagroup.com/en/ir/reports",hex:"E94F20"};var ps={title:"Telegram",slug:"telegram",get svg(){return I1+"Telegram"+B1+this.path+P1},path:"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z",source:"https://telegram.org/tour/screenshots",hex:"26A5E4"};var Gh={title:"TikTok",slug:"tiktok",get svg(){return I1+"TikTok"+B1+this.path+P1},path:"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z",source:"https://tiktok.com",hex:"000000"};var Oh={title:"V2EX",slug:"v2ex",get svg(){return I1+"V2EX"+B1+this.path+P1},path:"M.671 1.933h13.821a1.342 1.342 0 0 1 .98.425l8.166 8.725a1.342 1.342 0 0 1 0 1.834l-8.166 8.724a1.342 1.342 0 0 1-.98.426H.673A.671.671 0 0 1 0 21.395v-6.878h13.19l2.276-2.28a.336.336 0 0 0 0-.474l-2.276-2.28H0V2.604a.671.671 0 0 1 .671-.671Z",source:"https://www.v2ex.com",hex:"1F1F1F"};var Wh={title:"WeChat",slug:"wechat",get svg(){return I1+"WeChat"+B1+this.path+P1},path:"M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 0 1 .213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 0 0 .167-.054l1.903-1.114a.864.864 0 0 1 .717-.098 10.16 10.16 0 0 0 2.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348zM5.785 5.991c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178A1.17 1.17 0 0 1 4.623 7.17c0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178 1.17 1.17 0 0 1-1.162-1.178c0-.651.52-1.18 1.162-1.18zm5.34 2.867c-1.797-.052-3.746.512-5.28 1.786-1.72 1.428-2.687 3.72-1.78 6.22.942 2.453 3.666 4.229 6.884 4.229.826 0 1.622-.12 2.361-.336a.722.722 0 0 1 .598.082l1.584.926a.272.272 0 0 0 .14.047c.134 0 .24-.111.24-.247 0-.06-.023-.12-.038-.177l-.327-1.233a.582.582 0 0 1-.023-.156.49.49 0 0 1 .201-.398C23.024 18.48 24 16.82 24 14.98c0-3.21-2.931-5.837-6.656-6.088V8.89c-.135-.01-.27-.027-.407-.03zm-2.53 3.274c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.97-.982zm4.844 0c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.969-.982z",source:"https://wechat.design/tool/brand",hex:"07C160",guidelines:"https://wechat.design/brand/main-brand"};var us={title:"WhatsApp",slug:"whatsapp",get svg(){return I1+"WhatsApp"+B1+this.path+P1},path:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z",source:"https://about.meta.com/brand/resources/whatsapp/whatsapp-brand",hex:"25D366",guidelines:"https://about.meta.com/brand/resources/whatsapp/whatsapp-brand"};var Uh={title:"Wikipedia",slug:"wikipedia",get svg(){return I1+"Wikipedia"+B1+this.path+P1},path:"M12.09 13.119c-.936 1.932-2.217 4.548-2.853 5.728-.616 1.074-1.127.931-1.532.029-1.406-3.321-4.293-9.144-5.651-12.409-.251-.601-.441-.987-.619-1.139-.181-.15-.554-.24-1.122-.271C.103 5.033 0 4.982 0 4.898v-.455l.052-.045c.924-.005 5.401 0 5.401 0l.051.045v.434c0 .119-.075.176-.225.176l-.564.031c-.485.029-.727.164-.727.436 0 .135.053.33.166.601 1.082 2.646 4.818 10.521 4.818 10.521l.136.046 2.411-4.81-.482-1.067-1.658-3.264s-.318-.654-.428-.872c-.728-1.443-.712-1.518-1.447-1.617-.207-.023-.313-.05-.313-.149v-.468l.06-.045h4.292l.113.037v.451c0 .105-.076.15-.227.15l-.308.047c-.792.061-.661.381-.136 1.422l1.582 3.252 1.758-3.504c.293-.64.233-.801.111-.947-.07-.084-.305-.22-.812-.24l-.201-.021c-.052 0-.098-.015-.145-.051-.045-.031-.067-.076-.067-.129v-.427l.061-.045c1.247-.008 4.043 0 4.043 0l.059.045v.436c0 .121-.059.178-.193.178-.646.03-.782.095-1.023.439-.12.186-.375.589-.646 1.039l-2.301 4.273-.065.135 2.792 5.712.17.048 4.396-10.438c.154-.422.129-.722-.064-.895-.197-.172-.346-.273-.857-.295l-.42-.016c-.061 0-.105-.014-.152-.045-.043-.029-.072-.075-.072-.119v-.436l.059-.045h4.961l.041.045v.437c0 .119-.074.18-.209.18-.648.03-1.127.18-1.443.421-.314.255-.557.616-.736 1.067 0 0-4.043 9.258-5.426 12.339-.525 1.007-1.053.917-1.503-.031-.571-1.171-1.773-3.786-2.646-5.71l.053-.036z",source:"https://commons.wikimedia.org/wiki/File:Wikipedia-logo-v2.svg",hex:"000000"};var ms={title:"X",slug:"x",get svg(){return I1+"X"+B1+this.path+P1},path:"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z",source:"https://x.com",hex:"000000",guidelines:"https://about.x.com/en/who-we-are/brand-toolkit"};var Xh={title:"Y Combinator",slug:"ycombinator",get svg(){return I1+"Y Combinator"+B1+this.path+P1},path:"M0 24V0h24v24H0zM6.951 5.896l4.112 7.708v5.064h1.583v-4.972l4.148-7.799h-1.749l-2.457 4.875c-.372.745-.688 1.434-.688 1.434s-.297-.708-.651-1.434L8.831 5.896h-1.88z",source:"https://www.ycombinator.com/press",hex:"F0652F"};var ds={title:"YouTube",slug:"youtube",get svg(){return I1+"YouTube"+B1+this.path+P1},path:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z",source:"https://www.youtube.com/howyoutubeworks/resources/brand-resources/#logos-icons-and-colors",hex:"FF0000",guidelines:"https://www.youtube.com/howyoutubeworks/resources/brand-resources/#logos-icons-and-colors"};var Kh={title:"Zhihu",slug:"zhihu",get svg(){return I1+"Zhihu"+B1+this.path+P1},path:"M5.721 0C2.251 0 0 2.25 0 5.719V18.28C0 21.751 2.252 24 5.721 24h12.56C21.751 24 24 21.75 24 18.281V5.72C24 2.249 21.75 0 18.281 0zm1.964 4.078c-.271.73-.5 1.434-.68 2.11h4.587c.545-.006.445 1.168.445 1.171H9.384a58.104 58.104 0 01-.112 3.797h2.712c.388.023.393 1.251.393 1.266H9.183a9.223 9.223 0 01-.408 2.102l.757-.604c.452.456 1.512 1.712 1.906 2.177.473.681.063 2.081.063 2.081l-2.794-3.382c-.653 2.518-1.845 3.607-1.845 3.607-.523.468-1.58.82-2.64.516 2.218-1.73 3.44-3.917 3.667-6.497H4.491c0-.015.197-1.243.806-1.266h2.71c.024-.32.086-3.254.086-3.797H6.598c-.136.406-.158.447-.268.753-.594 1.095-1.603 1.122-1.907 1.155.906-1.821 1.416-3.6 1.591-4.064.425-1.124 1.671-1.125 1.671-1.125zM13.078 6h6.377v11.33h-2.573l-2.184 1.373-.401-1.373h-1.219zm1.313 1.219v8.86h.623l.263.937 1.455-.938h1.456v-8.86z",source:"https://www.zhihu.com",hex:"0084FF"};var o2={markdown:"e",fileLink:"Ze",fileMention:"p",linkIcon:"Qa",tableScroll:"a",tableFill:"Ua",imageAlt:"Va",image:"ei",compact:"i",imageButton:"W",previewName:"Wa"};var hs={bubble:"r","tooltip-in":"ii",label:"ai"};var t0=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function E$(e){return zs(e)}function zs(e){return Array.isArray(e)?Z$(e):e instanceof RegExp?e:typeof e=="object"?F$(e):e}function Z$(e){let t=[];for(let n=0,a=e.length;n{for(let a in n)e[a]=n[a]}),e}function sg(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?sg(e.substring(0,e.length-1)):e.substr(~t+1)}var gs=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,k8=class{static hasCaptures(e){return e===null?!1:(gs.lastIndex=0,gs.test(e))}static replaceCaptures(e,t,n){return e.replace(gs,(a,i,r,s)=>{let c=n[parseInt(i||r,10)];if(c){let o=t.substring(c.start,c.end);for(;o[0]===".";)o=o.substring(1);switch(s){case"downcase":return o.toLowerCase();case"upcase":return o.toUpperCase();default:return o}}else return a})}};function cg(e,t){return et?1:0}function og(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,a=t.length;if(n===a){for(let i=0;ithis._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,a=this._cachedMatchRoot.get(t).find(i=>j$(e.parent,i.parentScopes));return a?new ug(a.fontStyle,a.foreground,a.background):null}},bs=class z8{constructor(t,n){this.parent=t,this.scopeName=n}parent;scopeName;static push(t,n){for(let a of n)t=new z8(t,a);return t}static from(...t){let n=null;for(let a=0;a"){if(n===t.length-1)return!1;a=t[++n],i=!0}for(;e&&!H$(e.scopeName,a);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function H$(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var ug=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}fontStyle;foregroundId;backgroundId};function N$(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],a=0;for(let i=0,r=t.length;i1&&(x=f.slice(0,f.length-1),x.reverse()),n[a++]=new T$(w,x,i,o,l,p)}}return n}var T$=class{constructor(e,t,n,a,i,r){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=a,this.foreground=i,this.background=r}scope;parentScopes;index;fontStyle;foreground;background},Q0=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(Q0||{});function V$(e,t){e.sort((o,l)=>{let p=cg(o.scope,l.scope);return p!==0||(p=og(o.parentScopes,l.parentScopes),p!==0)?p:o.index-l.index});let n=0,a="#000000",i="#ffffff";for(;e.length>=1&&e[0].scope==="";){let o=e.shift();o.fontStyle!==-1&&(n=o.fontStyle),o.foreground!==null&&(a=o.foreground),o.background!==null&&(i=o.background)}let r=new q$(t),s=new ug(n,r.getId(a),r.getId(i)),c=new B$(new vs(0,null,-1,0,0),[]);for(let o=0,l=e.length;ot?console.log("how did this happen?"):this.scopeDepth=t,n!==-1&&(this.fontStyle=n),a!==0&&(this.foreground=a),i!==0&&(this.background=i)}},B$=class ys{constructor(t,n=[],a={}){this._mainRule=t,this._children=a,this._rulesWithParentScopes=n}_mainRule;_children;_rulesWithParentScopes;static _cmpBySpecificity(t,n){if(t.scopeDepth!==n.scopeDepth)return n.scopeDepth-t.scopeDepth;let a=0,i=0;for(;t.parentScopes[a]===">"&&a++,n.parentScopes[i]===">"&&i++,!(a>=t.parentScopes.length||i>=n.parentScopes.length);){let r=n.parentScopes[i].length-t.parentScopes[a].length;if(r!==0)return r;a++,i++}return n.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let a=t.indexOf("."),i,r;if(a===-1?(i=t,r=""):(i=t.substring(0,a),r=t.substring(a+1)),this._children.hasOwnProperty(i))return this._children[i].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(ys._cmpBySpecificity),n}insert(t,n,a,i,r,s){if(n===""){this._doInsertHere(t,a,i,r,s);return}let c=n.indexOf("."),o,l;c===-1?(o=n,l=""):(o=n.substring(0,c),l=n.substring(c+1));let p;this._children.hasOwnProperty(o)?p=this._children[o]:(p=new ys(this._mainRule.clone(),vs.cloneArr(this._rulesWithParentScopes)),this._children[o]=p),p.insert(t+1,l,a,i,r,s)}_doInsertHere(t,n,a,i,r){if(n===null){this._mainRule.acceptOverwrite(t,a,i,r);return}for(let s=0,c=this._rulesWithParentScopes.length;s>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,n,a,i,r,s,c){let o=ce.getLanguageId(t),l=ce.getTokenType(t),p=ce.containsBalancedBrackets(t)?1:0,u=ce.getFontStyle(t),m=ce.getForeground(t),d=ce.getBackground(t);return n!==0&&(o=n),a!==8&&(l=a),i!==null&&(p=i?1:0),r!==-1&&(u=r),s!==0&&(m=s),c!==0&&(d=c),(o<<0|l<<8|p<<10|u<<11|m<<15|d<<24)>>>0}};function A8(e,t){let n=[],a=P$(e),i=a.next();for(;i!==null;){let o=0;if(i.length===2&&i.charAt(1)===":"){switch(i.charAt(0)){case"R":o=1;break;case"L":o=-1;break;default:console.log("Unknown priority ".concat(i," in scope selector"))}i=a.next()}let l=s();if(n.push({matcher:l,priority:o}),i!==",")break;i=a.next()}return n;function r(){if(i==="-"){i=a.next();let o=r();return l=>!!o&&!o(l)}if(i==="("){i=a.next();let o=c();return i===")"&&(i=a.next()),o}if(Jh(i)){let o=[];do o.push(i),i=a.next();while(Jh(i));return l=>t(o,l)}return null}function s(){let o=[],l=r();for(;l;)o.push(l),l=r();return p=>o.every(u=>u(p))}function c(){let o=[],l=s();for(;l&&(o.push(l),i==="|"||i===",");){do i=a.next();while(i==="|"||i===",");l=s()}return p=>o.some(u=>u(p))}}function Jh(e){return!!e&&!!e.match(/[\w\.:]+/)}function P$(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let a=n[0];return n=t.exec(e),a}}}function dg(e){typeof e.dispose=="function"&&e.dispose()}var Z6=class{constructor(e){this.scopeName=e}scopeName;toKey(){return this.scopeName}},R$=class{constructor(e,t){this.scopeName=e,this.ruleName=t}scopeName;ruleName;toKey(){return"".concat(this.scopeName,"#").concat(this.ruleName)}},D$=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},G$=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Z6(this.initialScopeName)]}repo;initialScopeName;seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new D$;for(let n of e)O$(n,this.initialScopeName,this.repo,t);for(let n of t.references)if(n instanceof Z6){if(this.seenFullScopeRequests.has(n.scopeName))continue;this.seenFullScopeRequests.add(n.scopeName),this.Q.push(n)}else{if(this.seenFullScopeRequests.has(n.scopeName)||this.seenPartialScopeRequests.has(n.toKey()))continue;this.seenPartialScopeRequests.add(n.toKey()),this.Q.push(n)}}};function O$(e,t,n,a){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw new Error("No grammar provided for <".concat(t,">"));return}let r=n.lookup(t);e instanceof Z6?C8({baseGrammar:r,selfGrammar:i},a):_s(e.ruleName,{baseGrammar:r,selfGrammar:i,repository:i.repository},a);let s=n.injections(e.scopeName);if(s)for(let c of s)a.add(new Z6(c))}function _s(e,t,n){if(t.repository&&t.repository[e]){let a=t.repository[e];M8([a],t,n)}}function C8(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&M8(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&M8(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function M8(e,t,n){for(let a of e){if(n.visitedRule.has(a))continue;n.visitedRule.add(a);let i=a.repository?rg({},t.repository,a.repository):t.repository;Array.isArray(a.patterns)&&M8(a.patterns,{...t,repository:i},n);let r=a.include;if(!r)continue;let s=hg(r);switch(s.kind){case 0:C8({...t,selfGrammar:t.baseGrammar},n);break;case 1:C8(t,n);break;case 2:_s(s.ruleName,{...t,repository:i},n);break;case 3:case 4:let c=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(c){let o={baseGrammar:t.baseGrammar,selfGrammar:c,repository:i};s.kind===4?_s(s.ruleName,o,n):C8(o,n)}else s.kind===4?n.add(new R$(s.scopeName,s.ruleName)):n.add(new Z6(s.scopeName));break}}}var W$=class{kind=0},U$=class{kind=1},X$=class{constructor(e){this.ruleName=e}ruleName;kind=2},K$=class{constructor(e){this.scopeName=e}scopeName;kind=3},Y$=class{constructor(e,t){this.scopeName=e,this.ruleName=t}scopeName;ruleName;kind=4};function hg(e){if(e==="$base")return new W$;if(e==="$self")return new U$;let t=e.indexOf("#");if(t===-1)return new K$(e);if(t===0)return new X$(e.substring(1));{let n=e.substring(0,t),a=e.substring(t+1);return new Y$(n,a)}}var J$=/\\(\d+)/,Qh=/\\(\d+)/g,Q$=-1,gg=-2;var H6=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,a){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=k8.hasCaptures(this._name),this._contentName=a||null,this._contentNameIsCapturing=k8.hasCaptures(this._contentName)}get debugName(){let e=this.$location?"".concat(sg(this.$location.filename),":").concat(this.$location.line):"unknown";return"".concat(this.constructor.name,"#").concat(this.id," @ ").concat(e)}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:k8.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:k8.replaceCaptures(this._contentName,e,t)}},eL=class extends H6{retokenizeCapturedWithRuleId;constructor(e,t,n,a,i){super(e,t,n,a),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,n,a){throw new Error("Not supported!")}},tL=class extends H6{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,a,i){super(e,t,n,null),this._match=new F6(a,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return"".concat(this._match.source)}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e).compileAG(e,n,a)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new j6,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},eg=class extends H6{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,a,i){super(e,t,n,a),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e).compileAG(e,n,a)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new j6,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},ws=class extends H6{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,a,i,r,s,c,o,l){super(e,t,n,a),this._begin=new F6(i,this.id),this.beginCaptures=r,this._end=new F6(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=c,this.applyEndPatternLast=o||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return"".concat(this._begin.source)}get debugEndRegExp(){return"".concat(this._end.source)}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,a)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new j6;for(let n of this.patterns)e.getRule(n).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},$8=class extends H6{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,a,i,r,s,c,o){super(e,t,n,a),this._begin=new F6(i,this.id),this.beginCaptures=r,this.whileCaptures=c,this._while=new F6(s,gg),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=o.patterns,this.hasMissingPatterns=o.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return"".concat(this._begin.source)}get debugWhileRegExp(){return"".concat(this._while.source)}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e).compileAG(e,n,a)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new j6;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,a){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,a)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new j6,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},bg=class l2{static createCaptureRule(t,n,a,i,r){return t.registerRule(s=>new eL(n,s,a,i,r))}static getCompiledRuleId(t,n,a){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new tL(t.$vscodeTextmateLocation,t.id,t.name,t.match,l2._compileCaptures(t.captures,n,a));if(typeof t.begin>"u"){t.repository&&(a=rg({},a,t.repository));let r=t.patterns;return typeof r>"u"&&t.include&&(r=[{include:t.include}]),new eg(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,l2._compilePatterns(r,n,a))}return t.while?new $8(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,l2._compileCaptures(t.beginCaptures||t.captures,n,a),t.while,l2._compileCaptures(t.whileCaptures||t.captures,n,a),l2._compilePatterns(t.patterns,n,a)):new ws(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,l2._compileCaptures(t.beginCaptures||t.captures,n,a),t.end,l2._compileCaptures(t.endCaptures||t.captures,n,a),t.applyEndPatternLast,l2._compilePatterns(t.patterns,n,a))}),t.id}static _compileCaptures(t,n,a){let i=[];if(t){let r=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let c=parseInt(s,10);c>r&&(r=c)}for(let s=0;s<=r;s++)i[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let c=parseInt(s,10),o=0;t[s].patterns&&(o=l2.getCompiledRuleId(t[s],n,a)),i[c]=l2.createCaptureRule(n,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,o)}}return i}static _compilePatterns(t,n,a){let i=[];if(t)for(let r=0,s=t.length;rt.substring(i.start,i.end));return Qh.lastIndex=0,this.source.replace(Qh,(i,r)=>lg(a[parseInt(r,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],n=[],a=[],i=[],r,s,c,o;for(r=0,s=this.source.length;rn.source);this._cached=new tg(e,t,this._items.map(n=>n.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){let a=this._items.map(i=>i.resolveAnchors(t,n));return new tg(e,a,this._items.map(i=>i.ruleId))}},tg=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}regExps;rules;scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t{let n=this._scopeToLanguage(t),a=this._toStandardTokenType(t);return new fs(n,a)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let n=t.match(xs.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},aL=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([n,a])=>lg(n));t.sort(),t.reverse(),this.scopesRegExp=new RegExp("^((".concat(t.join(")|("),"))($|\\.)"),"")}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},DG={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},vg=!1,ng=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}stack;stoppedEarly};function yg(e,t,n,a,i,r,s,c){let o=t.content.length,l=!1,p=-1;if(s){let d=iL(e,t,n,a,i,r);i=d.stack,a=d.linePos,n=d.isFirstLine,p=d.anchorPosition}let u=Date.now();for(;!l;){if(c!==0&&Date.now()-u>c)return new ng(i,!0);m()}return new ng(i,!1);function m(){let d=rL(e,t,n,a,i,p);if(!d){r.produce(i,o),l=!0;return}let f=d.captureIndices,w=d.matchedRuleId,x=f&&f.length>0?f[0].end>a:!1;if(w===Q$){let v=i.getRule(e);r.produce(i,f[0].start),i=i.withContentNameScopesList(i.nameScopesList),L6(e,t,n,i,r,v.endCaptures,f),r.produce(i,f[0].end);let b=i;if(i=i.parent,p=b.getAnchorPos(),!x&&b.getEnterPos()===a){i=b,r.produce(i,o),l=!0;return}}else{let v=e.getRule(w);r.produce(i,f[0].start);let b=i,_=v.getName(t.content,f),z=i.contentNameScopesList.pushAttributed(_,e);if(i=i.push(w,a,p,f[0].end===o,null,z,z),v instanceof ws){let $=v;L6(e,t,n,i,r,$.beginCaptures,f),r.produce(i,f[0].end),p=f[0].end;let C=$.getContentName(t.content,f),j=z.pushAttributed(C,e);if(i=i.withContentNameScopesList(j),$.endHasBackReferences&&(i=i.withEndRule($.getEndWithResolvedBackReferences(t.content,f))),!x&&b.hasSameRuleAs(i)){i=i.pop(),r.produce(i,o),l=!0;return}}else if(v instanceof $8){let $=v;L6(e,t,n,i,r,$.beginCaptures,f),r.produce(i,f[0].end),p=f[0].end;let C=$.getContentName(t.content,f),j=z.pushAttributed(C,e);if(i=i.withContentNameScopesList(j),$.whileHasBackReferences&&(i=i.withEndRule($.getWhileWithResolvedBackReferences(t.content,f))),!x&&b.hasSameRuleAs(i)){i=i.pop(),r.produce(i,o),l=!0;return}}else if(L6(e,t,n,i,r,v.captures,f),r.produce(i,f[0].end),i=i.pop(),!x){i=i.safePop(),r.produce(i,o),l=!0;return}}f[0].end>a&&(a=f[0].end,n=!1)}}function iL(e,t,n,a,i,r){let s=i.beginRuleCapturedEOL?0:-1,c=[];for(let o=i;o;o=o.pop()){let l=o.getRule(e);l instanceof $8&&c.push({rule:l,stack:o})}for(let o=c.pop();o;o=c.pop()){let{ruleScanner:l,findOptions:p}=oL(o.rule,e,o.stack.endRule,n,a===s),u=l.findNextMatchSync(t,a,p);if(u){if(u.ruleId!==gg){i=o.stack.pop();break}u.captureIndices&&u.captureIndices.length&&(r.produce(o.stack,u.captureIndices[0].start),L6(e,t,n,o.stack,r,o.rule.whileCaptures,u.captureIndices),r.produce(o.stack,u.captureIndices[0].end),s=u.captureIndices[0].end,u.captureIndices[0].end>a&&(a=u.captureIndices[0].end,n=!1))}else{i=o.stack.pop();break}}return{stack:i,linePos:a,anchorPosition:s,isFirstLine:n}}function rL(e,t,n,a,i,r){let s=sL(e,t,n,a,i,r),c=e.getInjections();if(c.length===0)return s;let o=cL(c,e,t,n,a,i,r);if(!o)return s;if(!s)return o;let l=s.captureIndices[0].start,p=o.captureIndices[0].start;return p=c)&&(c=_,o=b.captureIndices,l=b.ruleId,p=f.priority,c===i))break}return o?{priorityMatch:p===-1,captureIndices:o,matchedRuleId:l}:null}function _g(e,t,n,a,i){if(vg){let s=e.compile(t,n),c=wg(a,i);return{ruleScanner:s,findOptions:c}}return{ruleScanner:e.compileAG(t,n,a,i),findOptions:0}}function oL(e,t,n,a,i){if(vg){let s=e.compileWhile(t,n),c=wg(a,i);return{ruleScanner:s,findOptions:c}}return{ruleScanner:e.compileWhileAG(t,n,a,i),findOptions:0}}function wg(e,t){let n=0;return e||(n|=1),t||(n|=4),n}function L6(e,t,n,a,i,r,s){if(r.length===0)return;let c=t.content,o=Math.min(r.length,s.length),l=[],p=s[0].end;for(let u=0;up)break;for(;l.length>0&&l[l.length-1].endPos<=d.start;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop();if(l.length>0?i.produceFromScopes(l[l.length-1].scopes,d.start):i.produce(a,d.start),m.retokenizeCapturedWithRuleId){let w=m.getName(c,s),x=a.contentNameScopesList.pushAttributed(w,e),v=m.getContentName(c,s),b=x.pushAttributed(v,e),_=a.push(m.retokenizeCapturedWithRuleId,d.start,-1,!1,null,x,b),z=e.createOnigString(c.substring(0,d.end));yg(e,z,n&&d.start===0,d.start,_,i,!1,0),dg(z);continue}let f=m.getName(c,s);if(f!==null){let x=(l.length>0?l[l.length-1].scopes:a.contentNameScopesList).pushAttributed(f,e);l.push(new lL(x,d.end))}}for(;l.length>0;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var lL=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function pL(e,t,n,a,i,r,s,c){return new mL(e,t,n,a,i,r,s,c)}function ag(e,t,n,a,i){let r=A8(t,L8),s=bg.getCompiledRuleId(n,a,i.repository);for(let c of r)e.push({debugSelector:t,matcher:c.matcher,ruleId:s,grammar:i,priority:c.priority})}function L8(e,t){if(t.length{for(let i=n;in&&e.substr(0,n)===t&&e[n]==="."}var mL=class{constructor(e,t,n,a,i,r,s,c){if(this._rootScopeName=e,this.balancedBracketSelectors=r,this._onigLib=c,this._basicScopeAttributesProvider=new nL(n,a),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=ig(t,null),this._injections=null,this._tokenTypeMatchers=[],i)for(let o of Object.keys(i)){let l=A8(o,L8);for(let p of l)this._tokenTypeMatchers.push({matcher:p.matcher,type:i[o]})}}_rootScopeName;balancedBracketSelectors;_onigLib;_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:i=>i===this._rootScopeName?this._grammar:this.getExternalGrammar(i),injections:i=>this._grammarRepository.injections(i)},t=[],n=this._rootScopeName,a=e.lookup(n);if(a){let i=a.injections;if(i)for(let s in i)ag(t,s,i[s],this,a);let r=this._grammarRepository.injections(n);r&&r.forEach(s=>{let c=this.getExternalGrammar(s);if(c){let o=c.injectionSelector;o&&ag(t,o,c,this,c)}})}return t.sort((i,r)=>i.priority-r.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,n=e(t);return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=ig(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){let a=this._tokenize(e,t,!1,n);return{tokens:a.lineTokens.getResult(a.ruleStack,a.lineLength),ruleStack:a.ruleStack,stoppedEarly:a.stoppedEarly}}tokenizeLine2(e,t,n=0){let a=this._tokenize(e,t,!0,n);return{tokens:a.lineTokens.getBinaryResult(a.ruleStack,a.lineLength),ruleStack:a.ruleStack,stoppedEarly:a.stoppedEarly}}_tokenize(e,t,n,a){this._rootId===-1&&(this._rootId=bg.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let i;if(!t||t===ks.NULL){i=!0;let l=this._basicScopeAttributesProvider.getDefaultAttributes(),p=this.themeProvider.getDefaults(),u=e4.set(0,l.languageId,l.tokenType,null,p.fontStyle,p.foregroundId,p.backgroundId),m=this.getRule(this._rootId).getName(null,null),d;m?d=S6.createRootAndLookUpScopeName(m,u,this):d=S6.createRoot("unknown",u),t=new ks(null,this._rootId,-1,-1,!1,null,d,d)}else i=!1,t.reset();e=e+"\n";let r=this.createOnigString(e),s=r.content.length,c=new hL(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),o=yg(this,r,i,0,t,c,!0,a);return dg(r),{lineLength:s,lineTokens:c,ruleStack:o.stack,stoppedEarly:o.stoppedEarly}}};function ig(e,t){return e=E$(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var S6=class Ne{constructor(t,n,a){this.parent=t,this.scopePath=n,this.tokenAttributes=a}parent;scopePath;tokenAttributes;static fromExtension(t,n){let a=t,i=t?.scopePath??null;for(let r of n)i=bs.push(i,r.scopeNames),a=new Ne(a,i,r.encodedTokenAttributes);return a}static createRoot(t,n){return new Ne(null,new bs(null,t),n)}static createRootAndLookUpScopeName(t,n,a){let i=a.getMetadataForScope(t),r=new bs(null,t),s=a.themeProvider.themeMatch(r),c=Ne.mergeAttributes(n,i,s);return new Ne(null,r,c)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Ne.equals(this,t)}static equals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.scopeName!==n.scopeName||t.tokenAttributes!==n.tokenAttributes)return!1;t=t.parent,n=n.parent}while(!0)}static mergeAttributes(t,n,a){let i=-1,r=0,s=0;return a!==null&&(i=a.fontStyle,r=a.foregroundId,s=a.backgroundId),e4.set(t,n.languageId,n.tokenType,null,i,r,s)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(" ")===-1)return Ne._pushAttributed(this,t,n);let a=t.split(/ /g),i=this;for(let r of a)i=Ne._pushAttributed(i,r,n);return i}static _pushAttributed(t,n,a){let i=a.getMetadataForScope(n),r=t.scopePath.push(n),s=a.themeProvider.themeMatch(r),c=Ne.mergeAttributes(t.tokenAttributes,i,s);return new Ne(t,r,c)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let n=[],a=this;for(;a&&a!==t;)n.push({encodedTokenAttributes:a.tokenAttributes,scopeNames:a.scopePath.getExtensionIfDefined(a.parent?.scopePath??null)}),a=a.parent;return a===t?n.reverse():void 0}},ks=class q4{constructor(t,n,a,i,r,s,c,o){this.parent=t,this.ruleId=n,this.beginRuleCapturedEOL=r,this.endRule=s,this.nameScopesList=c,this.contentNameScopesList=o,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=a,this._anchorPos=i}parent;ruleId;beginRuleCapturedEOL;endRule;nameScopesList;contentNameScopesList;_stackElementBrand=void 0;static NULL=new q4(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:q4._equals(this,t)}static _equals(t,n){return t===n?!0:this._structuralEquals(t,n)?S6.equals(t.contentNameScopesList,n.contentNameScopesList):!1}static _structuralEquals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.depth!==n.depth||t.ruleId!==n.ruleId||t.endRule!==n.endRule)return!1;t=t.parent,n=n.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){q4._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,a,i,r,s,c){return new q4(this,t,n,a,i,r,s,c)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,n){return this.parent&&(n=this.parent._writeString(t,n)),t[n++]="(".concat(this.ruleId,", ").concat(this.nameScopesList?.toString(),", ").concat(this.contentNameScopesList?.toString(),")"),n}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new q4(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let n=this;for(;n&&n._enterPos===t._enterPos;){if(n.ruleId===t.ruleId)return!0;n=n.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,n){let a=S6.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new q4(t,n.ruleId,n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,a,S6.fromExtension(a,n.contentNameScopesList))}},dL=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(n=>n==="*"?(this.allowAny=!0,[]):A8(n,L8).map(a=>a.matcher)),this.unbalancedBracketScopes=t.flatMap(n=>A8(n,L8).map(a=>a.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},hL=class{constructor(e,t,n,a){this.balancedBracketSelectors=a,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}balancedBracketSelectors;_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let a=e?.tokenAttributes??0,i=!1;if(this.balancedBracketSelectors?.matchesAlways&&(i=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let r=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(r)&&(a=e4.set(a,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(i=this.balancedBracketSelectors.match(r))}if(i&&(a=e4.set(a,0,8,i,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===a){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(a),this._lastTokenEndIndex=t;return}let n=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let n=new Uint32Array(this._binaryTokens.length);for(let a=0,i=this._binaryTokens.length;a0;)r.Q.map(s=>this._loadSingleGrammar(s.scopeName)),r.processQueue();return this._grammarForScopeName(e,t,n,a,i)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let n=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,n)}}addGrammar(e,t=[],n=0,a=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,n,a)}_grammarForScopeName(e,t=0,n=null,a=null,i=null){return this._syncRegistry.grammarForScopeName(e,t,n,a,i)}},S8=ks.NULL;function T6(e,t){let n=typeof e=="string"?{}:{...e.colorReplacements},a=typeof e=="string"?e:e.name;for(let[i,r]of Object.entries(t?.colorReplacements||{}))typeof r=="string"?n[i]=r:i===a&&Object.assign(n,r);return n}function o3(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Mg(e){return Array.isArray(e)?e:[e]}async function Cs(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function V6(e){return!e||["plaintext","txt","text","plain"].includes(e)}function $g(e){return e==="ansi"||V6(e)}function q6(e){return e==="none"}function Lg(e){return q6(e)}var bL=/(\r?\n)/g;function Ut(e,t=!1){if(e.length===0)return[["",0]];let n=e.split(bL),a=0,i=[];for(let r=0;r!o.name&&!o.scope):void 0;c?.settings?.foreground&&(a=c.settings.foreground),c?.settings?.background&&(n=c.settings.background),!a&&t?.colors?.["editor.foreground"]&&(a=t.colors["editor.foreground"]),!n&&t?.colors?.["editor.background"]&&(n=t.colors["editor.background"]),a||(a=t.type==="light"?kg.light:kg.dark),n||(n=t.type==="light"?zg.light:zg.dark),t.fg=a,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,r=new Map;function s(c){if(r.has(c))return r.get(c);i+=1;let o="#".concat(i.toString(16).padStart(8,"0").toLowerCase());return t.colorReplacements?.["#".concat(o)]?s(c):(r.set(c,o),o)}t.settings=t.settings.map(c=>{let o=c.settings?.foreground&&!c.settings.foreground.startsWith("#"),l=c.settings?.background&&!c.settings.background.startsWith("#");if(!o&&!l)return c;let p={...c,settings:{...c.settings}};if(o){let u=s(c.settings.foreground);t.colorReplacements[u]=c.settings.foreground,p.settings.foreground=u}if(l){let u=s(c.settings.background);t.colorReplacements[u]=c.settings.background,p.settings.background=u}return p});for(let c of Object.keys(t.colors||{}))if((c==="editor.foreground"||c==="editor.background"||c.startsWith("terminal.ansi"))&&!t.colors[c]?.startsWith("#")){let o=s(t.colors[c]);t.colorReplacements[o]=t.colors[c],t.colors[c]=o}return Object.defineProperty(t,Cg,{enumerable:!1,writable:!1,value:!0}),t}async function fL(e){return[...new Set((await Promise.all(e.filter(t=>!$g(t)).map(async t=>await Cs(t).then(n=>Array.isArray(n)?n:[n])))).flat())]}async function vL(e){return(await Promise.all(e.map(async t=>Lg(t)?null:E8(await Cs(t))))).filter(t=>!!t)}function Sg(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new t0("Circular alias `".concat([...n].join(" -> ")," -> ").concat(e,"`"));n.add(e)}}return e}var yL=class extends xg{_resolver;_themes;_langs;_alias;_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;constructor(e,t,n,a={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=a,this._themes.map(i=>this.loadTheme(i)),this.loadLanguages(this._langs)}getTheme(e){return typeof e=="string"?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=E8(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=E6.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=Sg(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(i=>i.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||["*"],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let a=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(a.name=e.name,this._resolvedGrammars.set(e.name,a),e.aliases&&e.aliases.forEach(i=>{this._alias[i]=e.name}),this._loadedLanguagesCache=null,t.size)for(let i of t)this._syncRegistry?._grammars?.get(i.scopeName)?.dispose(),this._resolvedGrammars.delete(i.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(i.scopeName),this._syncRegistry?._grammars?.delete(i.scopeName),this.loadLanguage(this._langMap.get(i.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let a of e)this.resolveEmbeddedLanguages(a);let t=[...this._langGraph.entries()],n=t.filter(([a,i])=>!i);if(n.length){let a=t.filter(([i,r])=>r?(r.embeddedLanguages||r.embeddedLangs)?.some(s=>n.map(([c])=>c).includes(s)):!1).filter(i=>!n.includes(i));throw new t0("Missing languages ".concat(n.map(([i])=>"`".concat(i,"`")).join(", "),", required by ").concat(a.map(([i])=>"`".concat(i,"`")).join(", ")))}for(let[a,i]of t)this._resolver.addLanguage(i);for(let[a,i]of t)this.loadLanguage(i)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let n of t)this._langGraph.set(n,this._langMap.get(n))}},_L=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:n=>e.createScanner(n),createOnigString:n=>e.createString(n)},t.forEach(n=>this.addLanguage(n))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).includes(e.scopeName)||this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split("."),n=[];for(let a=1;a<=t.length;a++){let i=t.slice(0,a).join(".");n=[...n,...this._injections.get(i)||[]]}return n}},N6=0;function As(e){N6+=1,e.warnings!==!1&&N6>=10&&N6%10===0&&console.warn("[Shiki] ".concat(N6," 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."));let t=!1;if(!e.engine)throw new t0("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),a=(e.themes||[]).flat(1).map(E8),i=new yL(new _L(e.engine,n),a,n,e.langAlias),r;function s(b){return Sg(b,e.langAlias)}function c(b){x();let _=i.getGrammar(typeof b=="string"?b:b.name);if(!_)throw new t0("Language `".concat(b,"` not found, you may need to load it first"));return _}function o(b){if(b==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};x();let _=i.getTheme(b);if(!_)throw new t0("Theme `".concat(b,"` not found, you may need to load it first"));return _}function l(b){x();let _=o(b);return r!==b&&(i.setTheme(_),r=b),{theme:_,colorMap:i.getColorMap()}}function p(){return x(),i.getLoadedThemes()}function u(){return x(),i.getLoadedLanguages()}function m(...b){x(),i.loadLanguages(b.flat(1))}async function d(...b){return m(await fL(b))}function f(...b){x();for(let _ of b.flat(1))i.loadTheme(_)}async function w(...b){return x(),f(await vL(b))}function x(){if(t)throw new t0("Shiki instance has been disposed")}function v(){t||(t=!0,i.dispose(),N6-=1)}return{setTheme:l,getTheme:o,getLanguage:c,getLoadedThemes:p,getLoadedLanguages:u,resolveLangAlias:s,loadLanguage:d,loadLanguageSync:m,loadTheme:w,loadThemeSync:f,dispose:v,[Symbol.dispose]:v}}var Eg=new WeakMap;function I6(e,t){Eg.set(e,t)}function Xt(e){return Eg.get(e)}var Z8=class Zg{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new Zg(Object.fromEntries(Mg(n).map(a=>[a,S8])),t)}constructor(...t){if(t.length===2){let[n,a]=t;this.lang=a,this._stacks=n}else{let[n,a,i]=t;this.lang=a,this._stacks={[i]:n}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return wL(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function wL(e){let t=[],n=new Set;function a(i){if(n.has(i))return;n.add(i);let r=i?.nameScopesList?.scopeName;r&&t.push(r),i.parent&&a(i.parent)}return a(e),t}function xL(e,t){if(!(e instanceof Z8))throw new t0("Invalid grammar state");return e.getInternalStack(t)}var kL=/,/,zL=/ /;function Ms(e,t,n={}){let{theme:a=e.getLoadedThemes()[0]}=n;if(V6(e.resolveLangAlias(n.lang||"text"))||q6(a))return Ut(t).map(c=>[{content:c[0],offset:c[1]}]);let{theme:i,colorMap:r}=e.setTheme(a),s=e.getLanguage(n.lang||"text");if(n.grammarState){if(n.grammarState.lang!==s.name)throw new t0('Grammar state language "'.concat(n.grammarState.lang,'" does not match highlight language "').concat(s.name,'"'));if(!n.grammarState.themes.includes(i.name))throw new t0('Grammar state themes "'.concat(n.grammarState.themes,'" do not contain highlight theme "').concat(i.name,'"'))}return jg(t,s,i,r,n)}function Fg(...e){if(e.length===2)return Xt(e[1]);let[t,n,a={}]=e,{lang:i="text",theme:r=t.getLoadedThemes()[0]}=a;if(V6(i)||q6(r))throw new t0("Plain language does not have grammar state");if(i==="ansi")throw new t0("ANSI language does not have grammar state");let{theme:s,colorMap:c}=t.setTheme(r),o=t.getLanguage(i);return new Z8($s(n,o,s,c,a).stateStack,o.name,s.name)}function jg(e,t,n,a,i){let r=$s(e,t,n,a,i),s=new Z8(r.stateStack,t.name,n.name);return I6(r.tokens,s),r.tokens}function $s(e,t,n,a,i){let r=T6(n,i),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:c=500,includeExplanation:o=!1}=i,l=Ut(e),p=i.grammarState?xL(i.grammarState,n.name)??S8:i.grammarContextCode!=null?$s(i.grammarContextCode,t,n,a,{...i,grammarState:void 0,grammarContextCode:void 0}).stateStack:S8,u=[],m=[];for(let d=0,f=l.length;d0&&w.length>=s){u=[],m.push([{content:w,offset:x,color:"",fontStyle:0}]);continue}let v,b,_;o&&o!=="tokenType"&&(v=t.tokenizeLine(w,p,c),b=v.tokens,_=0);let z=t.tokenizeLine2(w,p,c),$=z.tokens.length/2;for(let C=0;C<$;C++){let j=z.tokens[2*C],T=C+1<$?z.tokens[2*C+2]:w.length;if(j===T)continue;let H=z.tokens[2*C+1],E=o3(a[e4.getForeground(H)],r),R=e4.getFontStyle(H),D={content:w.substring(j,T),offset:x+j,color:E,fontStyle:R};if(o==="tokenType")D.type=e4.getTokenType(H);else if(o){let B=[];if(o!=="scopeName")for(let O of n.settings){let U;switch(typeof O.scope){case"string":U=O.scope.split(kL).map(r1=>r1.trim());break;case"object":U=O.scope;break;default:continue}B.push({settings:O,selectors:U.map(r1=>r1.split(zL))})}D.explanation=[];let Q=0;for(;j+Q({scopeName:t}))}function AL(e,t){let n=[];for(let a=0,i=t.length;a=0&&i>=0;)Ag(e[a],n[i])&&(a-=1),i-=1;return a===-1}function $L(e,t,n){let a=[];for(let{selectors:i,settings:r}of e)for(let s of i)if(ML(s,t,n)){a.push(r);break}return a}function F8(e,t,n,a=Ms){let i=Object.entries(n.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),r=i.map(l=>{let p=a(e,t,{...n,theme:l.theme});return{tokens:p,state:Xt(p),theme:typeof l.theme=="string"?l.theme:l.theme.name}}),s=LL(...r.map(l=>l.tokens)),c=s[0].map((l,p)=>l.map((u,m)=>{let d={content:u.content,variants:{},offset:u.offset};return"includeExplanation"in n&&n.includeExplanation&&(d.explanation=u.explanation),s.forEach((f,w)=>{let{content:x,explanation:v,offset:b,..._}=f[p][m];d.variants[i[w].color]=_}),d})),o=r[0].state?new Z8(Object.fromEntries(r.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),r[0].state.lang):void 0;return o&&I6(c,o),c}function LL(...e){let t=e.map(()=>[]),n=e.length;for(let a=0;ao[a]),r=t.map(()=>[]);t.forEach((o,l)=>o.push(r[l]));let s=i.map(()=>0),c=i.map(o=>o[0]);for(;c.every(o=>o);){let o=Math.min(...c.map(l=>l.content.length));for(let l=0;lk1,booleanish:()=>A0,commaOrSpaceSeparated:()=>j2,commaSeparated:()=>p3,number:()=>X,overloadedBoolean:()=>j8,spaceSeparated:()=>K1});var SL=0,k1=I4(),A0=I4(),j8=I4(),X=I4(),K1=I4(),p3=I4(),j2=I4();function I4(){return 2**++SL}var Ss=Object.keys(P6),B4=class extends W0{constructor(t,n,a,i){let r=-1;if(super(t,n),Ng(this,"space",i),typeof a=="number")for(;++r4&&n.slice(0,4)==="data"&&ZL.test(t)){if(t.charAt(4)==="-"){let r=t.slice(5).replace(qg,jL);a="data"+r.charAt(0).toUpperCase()+r.slice(1)}else{let r=t.slice(4);if(!qg.test(r)){let s=r.replace(EL,FL);s.charAt(0)!=="-"&&(s="-"+s),t="data"+s}}i=B4}return new i(a,t)}function FL(e){return"-"+e.toLowerCase()}function jL(e){return e.charAt(1).toUpperCase()}var T8=Ls([Es,Tg,Zs,Fs,js],"html"),V8=Ls([Es,Vg,Zs,Fs,js],"svg");var Ig={}.hasOwnProperty;function Bg(e,t){let n=t||{};function a(i,...r){let s=a.invalid,c=a.handlers;if(i&&Ig.call(i,e)){let o=String(i[e]);s=Ig.call(c,o)?c[o]:a.unknown}if(s)return s.call(this,i,...r)}return a.handlers=n.handlers||{},a.invalid=n.invalid,a.unknown=n.unknown,a}var HL=/["&'<>`]/g,NL=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,TL=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,VL=/[|\\{}()[\]^$+*?.]/g,Pg=new WeakMap;function Rg(e,t){if(e=e.replace(t.subset?qL(t.subset):HL,a),t.subset||t.escapeOnly)return e;return e.replace(NL,n).replace(TL,a);function n(i,r,s){return t.format((i.charCodeAt(0)-55296)*1024+i.charCodeAt(1)-56320+65536,s.charCodeAt(r+2),t)}function a(i,r,s){return t.format(i.charCodeAt(0),s.charCodeAt(r+1),t)}}function qL(e){let t=Pg.get(e);return t||(t=IL(e),Pg.set(e,t)),t}function IL(e){let t=[],n=-1;for(;++n",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var Wg=["cent","copy","divide","gt","lt","not","para","times"];var Ug={}.hasOwnProperty,Ns={},I8;for(I8 in q8)Ug.call(q8,I8)&&(Ns[q8[I8]]=I8);var RL=/[^\dA-Za-z]/;function Xg(e,t,n,a){let i=String.fromCharCode(e);if(Ug.call(Ns,i)){let r=Ns[i],s="&"+r;return n&&Og.includes(r)&&!Wg.includes(r)&&(!a||t&&t!==61&&RL.test(String.fromCharCode(t)))?s:s+";"}return""}function Kg(e,t,n){let a=Dg(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=Xg(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let r=Gg(e,t,n.omitOptionalSemicolons);r.length|^->||--!>|"],OL=["<",">"];function Yg(e,t,n,a){return a.settings.bogusComments?"":"";function i(r){return u3(r,Object.assign({},a.settings.characterReferences,{subset:OL}))}}function Jg(e,t,n,a){return""}function Kt(e,t){let n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let a=0,i=n.indexOf(t);for(;i!==-1;)a++,i=n.indexOf(t,i+t.length);return a}function Qg(e,t){let n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function eb(e){return e.join(" ").trim()}var WL=/[ \t\n\f\r]/g;function P4(e){return typeof e=="object"?e.type==="text"?tb(e.value):!1:tb(e)}function tb(e){return e.replace(WL,"")===""}var E0=nb(1),Ts=nb(-1),UL=[];function nb(e){return t;function t(n,a,i){let r=n?n.children:UL,s=(a||0)+e,c=r[s];if(!i)for(;c&&P4(c);)s+=e,c=r[s];return c}}var XL={}.hasOwnProperty;function B8(e){return t;function t(n,a,i){return XL.call(e,n.tagName)&&e[n.tagName](n,a,i)}}var R6=B8({body:YL,caption:Vs,colgroup:Vs,dd:tS,dt:eS,head:Vs,html:KL,li:QL,optgroup:nS,option:aS,p:JL,rp:ab,rt:ab,tbody:rS,td:ib,tfoot:sS,th:ib,thead:iS,tr:cS});function Vs(e,t,n){let a=E0(n,t,!0);return!a||a.type!=="comment"&&!(a.type==="text"&&P4(a.value.charAt(0)))}function KL(e,t,n){let a=E0(n,t);return!a||a.type!=="comment"}function YL(e,t,n){let a=E0(n,t);return!a||a.type!=="comment"}function JL(e,t,n){let a=E0(n,t);return a?a.type==="element"&&(a.tagName==="address"||a.tagName==="article"||a.tagName==="aside"||a.tagName==="blockquote"||a.tagName==="details"||a.tagName==="div"||a.tagName==="dl"||a.tagName==="fieldset"||a.tagName==="figcaption"||a.tagName==="figure"||a.tagName==="footer"||a.tagName==="form"||a.tagName==="h1"||a.tagName==="h2"||a.tagName==="h3"||a.tagName==="h4"||a.tagName==="h5"||a.tagName==="h6"||a.tagName==="header"||a.tagName==="hgroup"||a.tagName==="hr"||a.tagName==="main"||a.tagName==="menu"||a.tagName==="nav"||a.tagName==="ol"||a.tagName==="p"||a.tagName==="pre"||a.tagName==="section"||a.tagName==="table"||a.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"||n.tagName.includes("-")))}function QL(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&a.tagName==="li"}function eS(e,t,n){let a=E0(n,t);return!!(a&&a.type==="element"&&(a.tagName==="dt"||a.tagName==="dd"))}function tS(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&(a.tagName==="dt"||a.tagName==="dd")}function ab(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&(a.tagName==="rp"||a.tagName==="rt")}function nS(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&a.tagName==="optgroup"}function aS(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&(a.tagName==="option"||a.tagName==="optgroup")}function iS(e,t,n){let a=E0(n,t);return!!(a&&a.type==="element"&&(a.tagName==="tbody"||a.tagName==="tfoot"))}function rS(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&(a.tagName==="tbody"||a.tagName==="tfoot")}function sS(e,t,n){return!E0(n,t)}function cS(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&a.tagName==="tr"}function ib(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&(a.tagName==="td"||a.tagName==="th")}var rb=B8({body:pS,colgroup:uS,head:lS,html:oS,tbody:mS});function oS(e){let t=E0(e,-1);return!t||t.type!=="comment"}function lS(e){let t=new Set;for(let a of e.children)if(a.type==="element"&&(a.tagName==="base"||a.tagName==="title")){if(t.has(a.tagName))return!1;t.add(a.tagName)}let n=e.children[0];return!n||n.type==="element"}function pS(e){let t=E0(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&P4(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function uS(e,t,n){let a=Ts(n,t);if(n&&a&&a.type==="element"&&a.tagName==="colgroup"&&R6(a,n.children.indexOf(a),n))return!1;let i=E0(e,-1,!0);return!!(i&&i.type==="element"&&i.tagName==="col")}function mS(e,t,n){let a=Ts(n,t);if(n&&a&&a.type==="element"&&(a.tagName==="thead"||a.tagName==="tbody")&&R6(a,n.children.indexOf(a),n))return!1;let i=E0(e,-1);return!!(i&&i.type==="element"&&i.tagName==="tr")}var P8={name:[[" \n\f\r &/=>".split("")," \n\f\r \"&'/=>`".split("")],["\0 \n\f\r \"&'/<=>".split(""),"\0 \n\f\r \"&'/<=>`".split("")]],unquoted:[[" \n\f\r &>".split(""),"\0 \n\f\r \"&'<=>`".split("")],["\0 \n\f\r \"&'<=>`".split(""),"\0 \n\f\r \"&'<=>`".split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]},dS=new Set(["desc","foreignObject","title"]);function sb(e,t,n,a){let{schema:i}=a,r=i.space==="svg"?!1:a.settings.omitOptionalTags,s=i.space==="svg"?a.settings.closeEmptyElements:a.settings.voids.includes(e.tagName.toLowerCase()),c=[];i.space==="html"&&e.tagName==="svg"&&(a.schema=V8);let o=hS(a,e.properties);a.schema.space==="svg"&&dS.has(e.tagName)&&(a.schema=T8);let l=a.all(i.space==="html"&&e.tagName==="template"?e.content:e);if(a.schema=i,l&&(s=!1),o||!r||!rb(e,t,n)){if(c.push("<",e.tagName,o?" "+o:""),s&&(i.space==="svg"||a.settings.closeSelfClosing)){let p=o.charAt(o.length-1);(!a.settings.tightSelfClosing||p==="/"||p&&p!=='"'&&p!=="'")&&c.push(" "),c.push("/")}c.push(">")}return c.push(l),!s&&(!r||!R6(e,t,n))&&c.push(""),c.join("")}function hS(e,t){let n=[],a=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let r=gS(e,i,t[i]);r&&n.push(r)}}for(;++aKt(n,e.alternative)&&(o=e.alternative),c=o+u3(n,Object.assign({},e.settings.characterReferences,{subset:(o==="'"?P8.single:P8.double)[i][r],attribute:!0}))+o}return s+(c&&"="+c)}var bS=["<","&"];function R8(e,t,n,a){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?e.value:u3(e.value,Object.assign({},a.settings.characterReferences,{subset:bS}))}function cb(e,t,n,a){return a.settings.allowDangerousHtml?e.value:R8(e,t,n,a)}function ob(e,t,n,a){return a.all(e)}var lb=Bg("type",{invalid:fS,unknown:vS,handlers:{comment:Yg,doctype:Jg,element:sb,raw:cb,root:ob,text:R8}});function fS(e){throw new Error("Expected node, not `"+e+"`")}function vS(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var yS={},_S={},wS=[];function qs(e,t){let n=t||yS,a=n.quote||'"';if(a!=='"'&&a!=="'")throw new Error("Invalid quote `"+a+"`, expected `'` or `\"`");let i=a==='"'?"'":'"';return{one:xS,all:kS,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||Hg,characterReferences:n.characterReferences||_S,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?V8:T8,quote:a,alternative:i}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function xS(e,t,n){return lb(e,t,n,this)}function kS(e){let t=[],n=e&&e.children||wS,a=-1;for(;++ai);function n(i){if(i===e.length)return{line:t.length-1,character:t.at(-1).length};let r=i,s=0;for(let c of t){if(rn&&a.push({...e,content:e.content.slice(n,i),offset:e.offset+n}),n=i;return n>1);e[i]<=t?n=i+1:a=i}return n}function LS(e,t){let n=[...t instanceof Set?t:new Set(t)].sort((a,i)=>a-i);return n.length?e.map(a=>a.flatMap(i=>{let r=i.offset+i.content.length,s=$S(n,i.offset),c=s;for(;cD8(e.variants[p])),c=new Set(s.flatMap(p=>Object.keys(p))),o={},l=(p,u)=>{let m=u==="color"?"":u==="background-color"?"-bg":"-".concat(u);return n+t[p]+(u==="color"?"":m)};return s.forEach((p,u)=>{for(let m of c){let d=p[m]||"inherit";if(u===0&&a&&AS.includes(m))if(a==="light-dark()"&&s.length>1){let f=t.findIndex(b=>b==="light"),w=t.findIndex(b=>b==="dark");if(f===-1||w===-1)throw new t0('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let x=s[f][m]||"inherit",v=s[w][m]||"inherit";o[m]="light-dark(".concat(x,", ").concat(v,")"),i==="css-vars"&&(o[l(u,m)]=d)}else o[m]=d;else i==="css-vars"&&(o[l(u,m)]=d)}}),r.htmlStyle=o,r}function D8(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Q0.Italic&&(t["font-style"]="italic"),e.fontStyle&Q0.Bold&&(t["font-weight"]="bold");let n=[];e.fontStyle&Q0.Underline&&n.push("underline"),e.fontStyle&Q0.Strikethrough&&n.push("line-through"),n.length&&(t["text-decoration"]=n.join(" "))}return t}function Bs(e){return typeof e=="string"?e:Object.entries(e).map(([t,n])=>"".concat(t,":").concat(n)).join(";")}function ES(){let e=new WeakMap;function t(n){if(!e.has(n.meta)){let i=function(s){if(typeof s=="number"){if(s<0||s>n.source.length)throw new t0("Invalid decoration offset: ".concat(s,". Code length: ").concat(n.source.length));return{...a.indexToPos(s),offset:s}}else{let c=a.lines[s.line];if(c===void 0)throw new t0("Invalid decoration position ".concat(JSON.stringify(s),". Lines length: ").concat(a.lines.length));let o=s.character;if(o<0&&(o=c.length+o),o<0||o>c.length)throw new t0("Invalid decoration position ".concat(JSON.stringify(s),". Line ").concat(s.line," length: ").concat(c.length));return{...s,character:o,offset:a.posToIndex(s.line,o)}}},a=CS(n.source),r=(n.options.decorations||[]).map(s=>({...s,start:i(s.start),end:i(s.end)}));ZS(r),e.set(n.meta,{decorations:r,converter:a,source:n.source})}return e.get(n.meta)}return{name:"shiki:decorations",tokens(n){if(this.options.decorations?.length)return LS(n,t(this).decorations.flatMap(a=>[a.start.offset,a.end.offset]))},code(n){if(!this.options.decorations?.length)return;let a=t(this),i=[...n.children].filter(p=>p.type==="element"&&p.tagName==="span");if(i.length!==a.converter.lines.length)throw new t0("Number of lines in code element (".concat(i.length,") does not match the number of lines in the source (").concat(a.converter.lines.length,"). Failed to apply decorations."));function r(p,u,m,d){let f=i[p],w="",x=-1,v=-1;if(u===0&&(x=0),m===0&&(v=0),m===Number.POSITIVE_INFINITY&&(v=f.children.length),x===-1||v===-1)for(let _=0;_w);return p.tagName=u.tagName||"span",p.properties={...p.properties,...d,class:p.properties.class},u.properties?.class&&db(p,u.properties.class),p=f(p,m)||p,p}let o=[],l=a.decorations.sort((p,u)=>u.start.offset-p.start.offset||p.end.offset-u.end.offset);for(let p of l){let{start:u,end:m}=p;if(u.line===m.line)r(u.line,u.character,m.character,p);else if(u.lines(d,p));r(m.line,0,m.character,p)}}o.forEach(p=>p())}}}function ZS(e){for(let t=0;tn.end.offset)throw new t0("Invalid decoration range: ".concat(JSON.stringify(n.start)," - ").concat(JSON.stringify(n.end)));for(let a=t+1;aNumber.parseInt(a));return n.length!==3||n.some(a=>Number.isNaN(a))?void 0:{type:"rgb",rgb:n}}else if(t==="5"){let n=e.shift();if(n)return{type:"table",index:Number(n)}}}function NS(e){let t=[];for(;e.length>0;){let n=e.shift();if(!n)continue;let a=Number.parseInt(n);if(!Number.isNaN(a))if(a===0)t.push({type:"resetAll"});else if(a<=9)Is[a]&&t.push({type:"setDecoration",value:Is[a]});else if(a<=29){let i=Is[a-20];i&&(t.push({type:"resetDecoration",value:i}),i==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(a<=37)t.push({type:"setForegroundColor",value:{type:"named",name:R4[a-30]}});else if(a===38){let i=ub(e);i&&t.push({type:"setForegroundColor",value:i})}else if(a===39)t.push({type:"resetForegroundColor"});else if(a<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:R4[a-40]}});else if(a===48){let i=ub(e);i&&t.push({type:"setBackgroundColor",value:i})}else a===49?t.push({type:"resetBackgroundColor"}):a===53?t.push({type:"setDecoration",value:"overline"}):a===55?t.push({type:"resetDecoration",value:"overline"}):a>=90&&a<=97?t.push({type:"setForegroundColor",value:{type:"named",name:R4[a-90+8]}}):a>=100&&a<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:R4[a-100+8]}})}return t}function TS(){let e=null,t=null,n=new Set;return{parse(a){let i=[],r=0;do{let s=HS(a,r),c=s.sequence?a.substring(r,s.startPosition):a.substring(r);if(c.length>0&&i.push({value:c,foreground:e,background:t,decorations:new Set(n)}),s.sequence){let o=NS(s.sequence);for(let l of o)l.type==="resetAll"?(e=null,t=null,n.clear()):l.type==="resetForegroundColor"?e=null:l.type==="resetBackgroundColor"?t=null:l.type==="resetDecoration"&&n.delete(l.value);for(let l of o)l.type==="setForegroundColor"?e=l.value:l.type==="setBackgroundColor"?t=l.value:l.type==="setDecoration"&&n.add(l.value)}r=s.position}while(rMath.max(0,Math.min(o,255)).toString(16).padStart(2,"0")).join(""))}let a;function i(){if(a)return a;a=[];for(let l=0;l{let o="terminal.ansi".concat(c[0].toUpperCase()).concat(c.substring(1));return[c,e.colors?.[o]||PS[c]]}))),s=TS();return i.map(c=>s.parse(c[0]).map(o=>{let l,p;o.decorations.has("reverse")?(l=o.background?r.value(o.background):e.bg,p=o.foreground?r.value(o.foreground):e.fg):(l=o.foreground?r.value(o.foreground):e.fg,p=o.background?r.value(o.background):void 0),l=o3(l,a),p=o3(p,a),o.decorations.has("dim")&&(l=DS(l));let u=Q0.None;return o.decorations.has("bold")&&(u|=Q0.Bold),o.decorations.has("italic")&&(u|=Q0.Italic),o.decorations.has("underline")&&(u|=Q0.Underline),o.decorations.has("strikethrough")&&(u|=Q0.Strikethrough),{content:o.value,offset:c[1],color:l,bgColor:p,fontStyle:u}}))}function DS(e){let t=e.match(IS);if(t){let a=t[1];if(a.length===8){let i=Math.round(Number.parseInt(a.slice(6,8),16)/2).toString(16).padStart(2,"0");return"#".concat(a.slice(0,6)).concat(i)}else{if(a.length===6)return"#".concat(a,"80");if(a.length===4){let i=a[0],r=a[1],s=a[2],c=a[3];return"#".concat(i).concat(i).concat(r).concat(r).concat(s).concat(s).concat(Math.round(Number.parseInt("".concat(c).concat(c),16)/2).toString(16).padStart(2,"0"))}else if(a.length===3){let i=a[0],r=a[1],s=a[2];return"#".concat(i).concat(i).concat(r).concat(r).concat(s).concat(s,"80")}}}let n=e.match(BS);return n?"var(".concat(n[1],"-dim)"):e}function Ps(e,t,n={}){let a=e.resolveLangAlias(n.lang||"text"),{theme:i=e.getLoadedThemes()[0]}=n;if(!V6(a)&&!q6(i)&&a==="ansi"){let{theme:r}=e.setTheme(i);return RS(r,t,n)}return Ms(e,t,n)}function O8(e,t,n){let a,i,r,s,c,o;if("themes"in n){let{defaultColor:l="light",cssVariablePrefix:p="--shiki-",colorsRendering:u="css-vars"}=n,m=Object.entries(n.themes).filter(v=>v[1]).map(v=>({color:v[0],theme:v[1]})).sort((v,b)=>v.color===l?-1:b.color===l?1:0);if(m.length===0)throw new t0("`themes` option must not be empty");let d=F8(e,t,n,Ps);if(o=Xt(d),l&&l!=="light-dark()"&&!m.some(v=>v.color===l))throw new t0("`themes` option must contain the defaultColor key `".concat(l,"`"));let f=m.map(v=>e.getTheme(v.theme)),w=m.map(v=>v.color);r=d.map(v=>v.map(b=>SS(b,w,p,l,u))),o&&I6(r,o);let x=m.map(v=>T6(v.theme,n));i=mb(m,f,x,p,l,"fg",u),a=mb(m,f,x,p,l,"bg",u),s="shiki-themes ".concat(f.map(v=>v.name).join(" ")),c=l?void 0:[i,a].join(";")}else if("theme"in n){let l=T6(n.theme,n);r=Ps(e,t,n);let p=e.getTheme(n.theme);a=o3(p.bg,l),i=o3(p.fg,l),s=p.name,o=Xt(r)}else throw new t0("Invalid options, either `theme` or `themes` must be provided");return{tokens:r,fg:i,bg:a,themeName:s,rootStyle:c,grammarState:o}}function mb(e,t,n,a,i,r,s){return e.map((c,o)=>{let l=o3(t[o][r],n[o])||"inherit",p="".concat(a+c.color).concat(r==="bg"?"-bg":"",":").concat(l);if(o===0&&i){if(i==="light-dark()"&&e.length>1){let u=e.findIndex(d=>d.color==="light"),m=e.findIndex(d=>d.color==="dark");if(u===-1||m===-1)throw new t0('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return"light-dark(".concat(o3(t[u][r],n[u])||"inherit",", ").concat(o3(t[m][r],n[m])||"inherit",");").concat(p)}return l}return s==="css-vars"?p:null}).filter(c=>!!c).join(";")}var gb=/^\s+$/,GS=/^(\s*)(.*?)(\s*)$/;function W8(e,t,n,a={meta:{},options:n,codeToHast:(i,r)=>W8(e,i,r),codeToTokens:(i,r)=>O8(e,i,r)}){let i=t;for(let f of G8(n))i=f.preprocess?.call(a,i,n)||i;let{tokens:r,fg:s,bg:c,themeName:o,rootStyle:l,grammarState:p}=O8(e,i,n),{mergeWhitespaces:u=!0,mergeSameStyleTokens:m=!1}=n;u===!0?r=WS(r):u==="never"&&(r=US(r)),m&&(r=XS(r));let d={...a,get source(){return i}};for(let f of G8(n))r=f.tokens?.call(d,r)||r;return OS(r,{...n,fg:s,bg:c,themeName:o,rootStyle:n.rootStyle===!1?!1:n.rootStyle??l},d,p)}function OS(e,t,n,a=Xt(e)){let i=G8(t),r=[],s={type:"root",children:[]},{structure:c="classic",tabindex:o="0"}=t,l={class:"shiki ".concat(t.themeName||"")};t.rootStyle!==!1&&(t.rootStyle!=null?l.style=t.rootStyle:l.style="background-color:".concat(t.bg,";color:").concat(t.fg)),o!==!1&&o!=null&&(l.tabindex=o.toString());for(let[w,x]of Object.entries(t.meta||{}))w.startsWith("_")||(l[w]=x);let p={type:"element",tagName:"pre",properties:l,children:[],data:t.data},u={type:"element",tagName:"code",properties:{},children:r},m=[],d={...n,structure:c,addClassToHast:db,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return p},get code(){return u},get lines(){return m}};if(e.forEach((w,x)=>{x&&(c==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):c==="classic"&&r.push({type:"text",value:"\n"}));let v={type:"element",tagName:"span",properties:{class:"line"},children:[]},b=0;for(let _ of w){let z={type:"element",tagName:"span",properties:{..._.htmlAttrs},children:[{type:"text",value:_.content}]},$=Bs(_.htmlStyle||D8(_));$&&(z.properties.style=$);for(let C of i)z=C?.span?.call(d,z,x+1,b,v,_)||z;c==="inline"?s.children.push(z):c==="classic"&&v.children.push(z),b+=_.content.length}if(c==="classic"){for(let _ of i)v=_?.line?.call(d,v,x+1)||v;m.push(v),r.push(v)}else c==="inline"&&m.push(v)}),c==="classic"){for(let w of i)u=w?.code?.call(d,u)||u;p.children.push(u);for(let w of i)p=w?.pre?.call(d,p)||p;s.children.push(p)}else if(c==="inline"){let w=[],x={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let b of s.children)b.type==="element"&&b.tagName==="br"?(w.push(x),x={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(b.type==="element"||b.type==="text")&&x.children.push(b);w.push(x);let v={type:"element",tagName:"code",properties:{},children:w};for(let b of i)v=b?.code?.call(d,v)||v;s.children=[];for(let b=0;b0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let _=v.children[b];_.type==="element"&&s.children.push(..._.children)}}let f=s;for(let w of i)f=w?.root?.call(d,f)||f;return a&&I6(f,a),f}function WS(e){return e.map(t=>{let n=[],a="",i;return t.forEach((r,s)=>{let c=!(r.fontStyle&&(r.fontStyle&Q0.Underline||r.fontStyle&Q0.Strikethrough));c&&gb.test(r.content)&&t[s+1]?(i===void 0&&(i=r.offset),a+=r.content):a?(c?n.push({...r,offset:i,content:a+r.content}):n.push({content:a,offset:i},r),i=void 0,a=""):n.push(r)}),n})}function US(e){return e.map(t=>t.flatMap(n=>{if(gb.test(n.content))return n;let a=n.content.match(GS);if(!a)return n;let[,i,r,s]=a;if(!i&&!s)return n;let c=[{...n,offset:n.offset+i.length,content:r}];return i&&c.unshift({content:i,offset:n.offset}),s&&c.push({content:s,offset:n.offset+i.length+r.length}),c}))}function XS(e){return e.map(t=>{let n=[];for(let a of t){if(n.length===0){n.push({...a});continue}let i=n.at(-1),r=Bs(i.htmlStyle||D8(i)),s=Bs(a.htmlStyle||D8(a)),c=i.fontStyle&&(i.fontStyle&Q0.Underline||i.fontStyle&Q0.Strikethrough),o=a.fontStyle&&(a.fontStyle&Q0.Underline||a.fontStyle&Q0.Strikethrough);!c&&!o&&r===s?i.content+=a.content:n.push({...a})}return n})}var KS=qs;function YS(e,t,n){let a={meta:{},options:n,codeToHast:(r,s)=>W8(e,r,s),codeToTokens:(r,s)=>O8(e,r,s)},i=KS(W8(e,t,n,a));for(let r of G8(n))i=r.postprocess?.call(a,i,n)||i;return i}function bb(e){let t=As(e);return{getLastGrammarState:(...n)=>Fg(t,...n),codeToTokensBase:(n,a)=>Ps(t,n,a),codeToTokensWithThemes:(n,a)=>F8(t,n,a),codeToTokens:(n,a)=>O8(t,n,a),codeToHast:(n,a)=>W8(t,n,a),codeToHtml:(n,a)=>YS(t,n,a),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function fb(e={}){let{name:t="css-variables",variablePrefix:n="--shiki-",fontStyle:a=!0}=e,i=s=>e.variableDefaults?.[s]?"var(".concat(n).concat(s,", ").concat(e.variableDefaults[s],")"):"var(".concat(n).concat(s,")"),r={name:t,type:"dark",colors:{"editor.foreground":i("foreground"),"editor.background":i("background"),"terminal.ansiBlack":i("ansi-black"),"terminal.ansiRed":i("ansi-red"),"terminal.ansiGreen":i("ansi-green"),"terminal.ansiYellow":i("ansi-yellow"),"terminal.ansiBlue":i("ansi-blue"),"terminal.ansiMagenta":i("ansi-magenta"),"terminal.ansiCyan":i("ansi-cyan"),"terminal.ansiWhite":i("ansi-white"),"terminal.ansiBrightBlack":i("ansi-bright-black"),"terminal.ansiBrightRed":i("ansi-bright-red"),"terminal.ansiBrightGreen":i("ansi-bright-green"),"terminal.ansiBrightYellow":i("ansi-bright-yellow"),"terminal.ansiBrightBlue":i("ansi-bright-blue"),"terminal.ansiBrightMagenta":i("ansi-bright-magenta"),"terminal.ansiBrightCyan":i("ansi-bright-cyan"),"terminal.ansiBrightWhite":i("ansi-bright-white")},tokenColors:[{scope:["keyword.operator.accessor","meta.group.braces.round.function.arguments","meta.template.expression","markup.fenced_code meta.embedded.block"],settings:{foreground:i("foreground")}},{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:i("token-link")}},{scope:["string","markup.fenced_code","markup.inline"],settings:{foreground:i("token-string")}},{scope:["comment","string.quoted.docstring.multi"],settings:{foreground:i("token-comment")}},{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:i("token-constant")}},{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:i("token-keyword")}},{scope:"variable.parameter.function",settings:{foreground:i("token-parameter")}},{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:i("token-function")}},{scope:["entity.name.tag","string.quoted","string.regexp","string.interpolated","string.template","string.unquoted.plain.out.yaml","keyword.other.template"],settings:{foreground:i("token-string-expression")}},{scope:["punctuation.definition.arguments","punctuation.definition.dict","punctuation.separator","meta.function-call.arguments"],settings:{foreground:i("token-punctuation")}},{scope:["markup.underline.link","punctuation.definition.metadata.markdown"],settings:{foreground:i("token-link")}},{scope:["beginning.punctuation.definition.list.markdown"],settings:{foreground:i("token-string")}},{scope:["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","string.other.link.title.markdown","string.other.link.description.markdown"],settings:{foreground:i("token-keyword")}},{scope:["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],settings:{foreground:i("token-inserted")}},{scope:["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],settings:{foreground:i("token-deleted")}},{scope:["markup.changed","punctuation.definition.changed"],settings:{foreground:i("token-changed")}}]};return a||(r.tokenColors=r.tokenColors?.map(s=>(s.settings?.fontStyle&&delete s.settings.fontStyle,s))),r}function JS(e){return!e.sticky&&!e.rawOptions?.strategy}function vb(e,t){return{index:e,captureIndices:t.map(n=>n==null?{start:4294967295,end:4294967295,length:0}:{start:n[0],end:n[1],length:n[1]-n[0]})}}var yb=class{patterns;options;regexps;lastSearches;constructor(e,t={}){this.patterns=e,this.options=t;let{forgiving:n=!1,cache:a,regexConstructor:i}=t;if(!i)throw new Error("Option `regexConstructor` is not provided");this.regexps=e.map(r=>{if(typeof r!="string")return r;let s=a?.get(r);if(s){if(s instanceof RegExp)return s;if(n)return null;throw s}try{let c=i(r);return a?.set(r,c),c}catch(c){if(a?.set(r,c),n)return null;throw c}}),this.lastSearches=this.regexps.map(r=>r&&JS(r)?{strId:0,searchedFrom:0,matchIndex:-1,indices:null}:null)}findNextMatchSync(e,t,n){let a=typeof e=="string"?e:e.content,i=typeof e=="string"?0:e.id||0,r=-1,s=0,c=null;for(let o=0;o=t))u=p.matchIndex,m=p.indices;else{l.lastIndex=t;let d=l.exec(a);u=d?d.index:-1,m=d?d.indices:null,p&&(p.strId=i,p.searchedFrom=t,p.matchIndex=u,p.indices=m)}if(u===-1)continue;if(u===t)return vb(o,m);(r===-1||u]*>?\n | [gk]'[^']*'?\n | .\n )\n | ( (?:\n ? (?:\n [:=!>({]\n | <[=!]\n | <[^>]*>\n | '[^']*'\n | ~|?\n | #(?:[^)\\]|\\.?)*\n | [^:)]*[:)]\n )?\n | *[^)]*)?\n )?\n | (?:",")+\n | ","\n | .\n"],["\n \\\\ (?:\n ","\n | [gk]<[^>]*>?\n | [gk]'[^']*'?\n | .\n )\n | \\( (?:\n \\? (?:\n [:=!>({]\n | <[=!]\n | <[^>]*>\n | '[^']*'\n | ~\\|?\n | #(?:[^)\\\\]|\\\\.?)*\n | [^:)]*[:)]\n )?\n | \\*[^\\)]*\\)?\n )?\n | (?:",")+\n | ","\n | .\n"])),Bb,Ds.source,Ib).replace(/\s+/g,""),"gsu"),jb,Rs=new RegExp(H0(jb||(jb=a1(["\n \\ (?:\n ","\n | .\n )\n | [:(?:^?p{Alpha}+|^):]\n | ","\n | &&\n | .\n"],["\n \\\\ (?:\n ","\n | .\n )\n | \\[:(?:\\^?\\p{Alpha}+|\\^):\\]\n | ","\n | &&\n | .\n"])),Bb,Ib).replace(/\s+/g,""),"gsu");function Pb(e,t={}){let n={flags:"",...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!="string")throw new Error("String expected as pattern");let a=vE(n.flags),i=[a.extended],r={captureGroup:n.rules.captureGroup,getCurrentModX(){return i.at(-1)},numOpenGroups:0,popModX(){i.pop()},pushModX(u){i.push(u)},replaceCurrentModX(u){i[i.length-1]=u},singleline:n.rules.singleline},s=[],c;for(U8.lastIndex=0;c=U8.exec(e);){let u=eE(r,e,c[0],U8.lastIndex);u.tokens?s.push(...u.tokens):u.token&&s.push(u.token),u.lastIndex!==void 0&&(U8.lastIndex=u.lastIndex)}let o=[],l=0;s.filter(u=>u.type==="GroupOpen").forEach(u=>{u.kind==="capturing"?u.number=++l:u.raw==="("&&o.push(u)}),l||o.forEach((u,m)=>{u.kind="capturing",u.number=m+1});let p=l||o.length;return{tokens:s.map(u=>u.type==="EscapedNumber"?_E(u,p):u).flat(),flags:a}}var Hb,Nb;function eE(e,t,n,a){let[i,r]=n;if(n==="["||n==="[^"){let s=tE(t,n,a);return{tokens:s.tokens,lastIndex:s.lastIndex}}if(i==="\\"){if("AbBGyYzZ".includes(r))return{token:xb(n,n)};if(/^\\g[<']/.test(n)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(n))throw new Error('Invalid group name "'.concat(n,'"'));return{token:uE(n)}}if(/^\\k[<']/.test(n)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(n))throw new Error('Invalid group name "'.concat(n,'"'));return{token:Db(n)}}if(r==="K")return{token:Gb("keep",n)};if(r==="N"||r==="R")return{token:D4("newline",n,{negate:r==="N"})};if(r==="O")return{token:D4("any",n)};if(r==="X")return{token:D4("text_segment",n)};let s=Rb(n,{inCharClass:!1});return Array.isArray(s)?{tokens:s}:{token:s}}if(i==="("){if(r==="*")return{token:gE(n)};if(n==="(?{")throw new Error('Unsupported callout "'.concat(n,'"'));if(n.startsWith("(?#")){if(t[a]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:a+1}}if(/^\(\?[-imx]+[:)]$/.test(n))return{token:hE(n,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,n==="("&&!e.captureGroup||n==="(?:")return{token:Yt("group",n)};if(n==="(?>")return{token:Yt("atomic",n)};if(n==="(?="||n==="(?!"||n==="(?<="||n==="(?")||n.startsWith("(?'")&&n.endsWith("'"))return{token:Yt("capturing",n,{...n!=="("&&{name:n.slice(3,-1)}})};if(n.startsWith("(?~")){if(n==="(?~|")throw new Error('Unsupported absence function kind "'.concat(n,'"'));return{token:Yt("absence_repeater",n)}}throw n==="(?("?new Error('Unsupported conditional "'.concat(n,'"')):new Error('Invalid or unsupported group option "'.concat(n,'"'))}if(n===")"){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:oE(n)}}if(e.getCurrentModX()){if(n==="#"){let s=t.indexOf("\n",a);return{lastIndex:s===-1?t.length:s}}if(/^\s$/.test(n)){let s=/\s+/y;return s.lastIndex=a,{lastIndex:s.exec(t)?s.lastIndex:a}}}if(n===".")return{token:D4("dot",n)};if(n==="^"||n==="$"){let s=e.singleline?{"^":H0(Hb||(Hb=a1(["A"],["\\A"]))),$:H0(Nb||(Nb=a1(["Z"],["\\Z"])))}[n]:n;return{token:xb(s,n)}}return n==="|"?{token:aE(n)}:Ds.test(n)?{tokens:wE(n)}:{token:d3(t4(n),n)}}function tE(e,t,n){let a=[kb(t[1]==="^",t)],i=1,r;for(Rs.lastIndex=n;r=Rs.exec(e);){let s=r[0];if(s[0]==="["&&s[1]!==":")i++,a.push(kb(s[1]==="^",s));else if(s==="]"){if(a.at(-1).type==="CharacterClassOpen")a.push(d3(93,s));else if(i--,a.push(iE(s)),!i)break}else{let c=nE(s);Array.isArray(c)?a.push(...c):a.push(c)}}return{tokens:a,lastIndex:Rs.lastIndex||e.length}}function nE(e){if(e[0]==="\\")return Rb(e,{inCharClass:!0});if(e[0]==="["){let t=/\[:(?\^?)(?[a-z]+):\]/.exec(e);if(!t||!D6.has(t.groups.name))throw new Error('Invalid POSIX class "'.concat(e,'"'));return D4("posix",e,{value:t.groups.name,negate:!!t.groups.negate})}return e==="-"?rE(e):e==="&&"?sE(e):d3(t4(e),e)}var Tb,Vb;function Rb(e,{inCharClass:t}){let n=e[1];if(n==="c"||n==="C")return dE(e);if("dDhHsSwW".includes(n))return bE(e);if(e.startsWith(H0(Tb||(Tb=a1(["o{"],["\\o{"])))))throw new Error('Incomplete, invalid, or unsupported octal code point "'.concat(e,'"'));if(/^\\[pP]\{/.test(e)){if(e.length===3)throw new Error('Incomplete or invalid Unicode property "'.concat(e,'"'));return fE(e)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(e))try{let a=e.split(/\\x/).slice(1).map(s=>parseInt(s,16)),i=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(a)),r=new TextEncoder;return[...i].map(s=>{let c=[...r.encode(s)].map(o=>"\\x".concat(o.toString(16))).join("");return d3(t4(s),c)})}catch{throw new Error('Multibyte code "'.concat(e,'" incomplete or invalid in Oniguruma'))}if(n==="u"||n==="x")return d3(yE(e),e);if(zb.has(n))return d3(zb.get(n),e);if(/\d/.test(n))return cE(t,e);if(e==="\\")throw new Error(H0(Vb||(Vb=a1(['Incomplete escape ""'],['Incomplete escape "\\"']))));if(n==="M")throw new Error('Unsupported meta "'.concat(e,'"'));if([...e].length===2)return d3(e.codePointAt(1),e);throw new Error('Unexpected escape "'.concat(e,'"'))}function aE(e){return{type:"Alternator",raw:e}}function xb(e,t){return{type:"Assertion",kind:e,raw:t}}function Db(e){return{type:"Backreference",raw:e}}function d3(e,t){return{type:"Character",value:e,raw:t}}function iE(e){return{type:"CharacterClassClose",raw:e}}function rE(e){return{type:"CharacterClassHyphen",raw:e}}function sE(e){return{type:"CharacterClassIntersector",raw:e}}function kb(e,t){return{type:"CharacterClassOpen",negate:e,raw:t}}function D4(e,t,n={}){return{type:"CharacterSet",kind:e,...n,raw:t}}function Gb(e,t,n={}){return e==="keep"?{type:"Directive",kind:e,raw:t}:{type:"Directive",kind:e,flags:m3(n.flags),raw:t}}function cE(e,t){return{type:"EscapedNumber",inCharClass:e,raw:t}}function oE(e){return{type:"GroupClose",raw:e}}function Yt(e,t,n={}){return{type:"GroupOpen",kind:e,...n,raw:t}}function lE(e,t,n,a){return{type:"NamedCallout",kind:e,tag:t,arguments:n,raw:a}}function pE(e,t,n,a){return{type:"Quantifier",kind:e,min:t,max:n,raw:a}}function uE(e){return{type:"Subroutine",raw:e}}var mE=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),zb=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function dE(e){let t=e[1]==="c"?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw new Error('Unsupported control character "'.concat(e,'"'));return d3(t4(t.toUpperCase())-64,e)}function hE(e,t){let{on:n,off:a}=/^\(\?(?[imx]*)(?:-(?[-imx]*))?/.exec(e).groups;a??="";let i=(t.getCurrentModX()||n.includes("x"))&&!a.includes("x"),r=Ab(n),s=Ab(a),c={};if(r&&(c.enable=r),s&&(c.disable=s),e.endsWith(")"))return t.replaceCurrentModX(i),Gb("flags",e,{flags:c});if(e.endsWith(":"))return t.pushModX(i),t.numOpenGroups++,Yt("group",e,{...(r||s)&&{flags:c}});throw new Error('Unexpected flag modifier "'.concat(e,'"'))}function gE(e){let t=/\(\*(?[A-Za-z_]\w*)?(?:\[(?(?:[A-Za-z_]\w*)?)\])?(?:\{(?[^}]*)\})?\)/.exec(e);if(!t)throw new Error('Incomplete or invalid named callout "'.concat(e,'"'));let{name:n,tag:a,args:i}=t.groups;if(!n)throw new Error('Invalid named callout "'.concat(e,'"'));if(a==="")throw new Error('Named callout tag with empty value not allowed "'.concat(e,'"'));let r=i?i.split(",").filter(p=>p!=="").map(p=>/^[+-]?\d+$/.test(p)?+p:p):[],[s,c,o]=r,l=mE.has(n)?n.toLowerCase():"custom";switch(l){case"fail":case"mismatch":case"skip":if(r.length>0)throw new Error('Named callout arguments not allowed "'.concat(r,'"'));break;case"error":if(r.length>1)throw new Error('Named callout allows only one argument "'.concat(r,'"'));if(typeof s=="string")throw new Error('Named callout argument must be a number "'.concat(s,'"'));break;case"max":if(!r.length||r.length>2)throw new Error('Named callout must have one or two arguments "'.concat(r,'"'));if(typeof s=="string"&&!/^[A-Za-z_]\w*$/.test(s))throw new Error('Named callout argument one must be a tag or number "'.concat(s,'"'));if(r.length===2&&(typeof c=="number"||!/^[<>X]$/.test(c)))throw new Error("Named callout optional argument two must be '<', '>', or 'X' \"".concat(c,'"'));break;case"count":case"total_count":if(r.length>1)throw new Error('Named callout allows only one argument "'.concat(r,'"'));if(r.length===1&&(typeof s=="number"||!/^[<>X]$/.test(s)))throw new Error("Named callout optional argument must be '<', '>', or 'X' \"".concat(s,'"'));break;case"cmp":if(r.length!==3)throw new Error('Named callout must have three arguments "'.concat(r,'"'));if(typeof s=="string"&&!/^[A-Za-z_]\w*$/.test(s))throw new Error('Named callout argument one must be a tag or number "'.concat(s,'"'));if(typeof c=="number"||!/^(?:[<>!=]=|[<>])$/.test(c))throw new Error("Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' \"".concat(c,'"'));if(typeof o=="string"&&!/^[A-Za-z_]\w*$/.test(o))throw new Error('Named callout argument three must be a tag or number "'.concat(o,'"'));break;case"custom":throw new Error('Undefined callout name "'.concat(n,'"'));default:throw new Error('Unexpected named callout kind "'.concat(l,'"'))}return lE(l,a??null,i?.split(",")??null,e)}function Cb(e){let t=null,n,a;if(e[0]==="{"){let{minStr:i,maxStr:r}=/^\{(?\d*)(?:,(?\d*))?/.exec(e).groups,s=1e5;if(+i>s||r&&+r>s)throw new Error("Quantifier value unsupported in Oniguruma");if(n=+i,a=r===void 0?+i:r===""?1/0:+r,n>a&&(t="possessive",[n,a]=[a,n]),e.endsWith("?")){if(t==="possessive")throw new Error('Unsupported possessive interval quantifier chain with "?"');t="lazy"}else t||(t="greedy")}else n=e[0]==="+"?1:0,a=e[0]==="?"?1:1/0,t=e[1]==="+"?"possessive":e[1]==="?"?"lazy":"greedy";return pE(t,n,a,e)}function bE(e){let t=e[1].toLowerCase();return D4({d:"digit",h:"hex",s:"space",w:"word"}[t],e,{negate:e[1]!==t})}function fE(e){let{p:t,neg:n,value:a}=/^\\(?

[pP])\{(?\^?)(?[^}]+)/.exec(e).groups;return D4("property",e,{value:a,negate:t==="P"&&!n||t==="p"&&!!n})}function Ab(e){let t={};return e.includes("i")&&(t.ignoreCase=!0),e.includes("m")&&(t.dotAll=!0),e.includes("x")&&(t.extended=!0),Object.keys(t).length?t:null}function vE(e){let t={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let n=0;n\p{AHex}+)/u.exec(e).groups.hex:e.slice(2);return parseInt(t,16)}var qb;function _E(e,t){let{raw:n,inCharClass:a}=e,i=n.slice(1);if(!a&&(i!=="0"&&i.length===1||i[0]!=="0"&&+i<=t))return[Db(n)];let r=[],s=i.match(/^[0-7]+|\d/g);for(let c=0;c127)throw new Error(H0(qb||(qb=a1(['Octal encoded byte above 177 unsupported "','"'])),n))}else l=t4(o);r.push(d3(l,(c===0?"\\":"")+o))}return r}function wE(e){let t=[],n=new RegExp(Ds,"gy"),a;for(;a=n.exec(e);){let i=a[0];if(i[0]==="{"){let r=/^\{(?\d+),(?\d+)\}\??$/.exec(i);if(r){let{min:s,max:c}=r.groups;if(+s>+c&&i.endsWith("?")){n.lastIndex--,t.push(Cb(i.slice(0,-1)));continue}}}t.push(Cb(i))}return t}function X8(e,t){if(!Array.isArray(e.body))throw new Error("Expected node with body array");if(e.body.length!==1)return!1;let n=e.body[0];return!t||Object.keys(t).every(a=>t[a]===n[a])}function Ob(e){return xE.has(e.type)}var xE=new Set(["AbsenceFunction","Backreference","CapturingGroup","Character","CharacterClass","CharacterSet","Group","Quantifier","Subroutine"]);var Yb,Jb;function Y8(e,t={}){let n={flags:"",normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},a=Pb(e,{flags:n.flags,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline}}),i=(m,d)=>{let f=a.tokens[r.nextIndex];switch(r.parent=m,r.nextIndex++,f.type){case"Alternator":return h3();case"Assertion":return kE(f);case"Backreference":return zE(f,r);case"Character":return Jt(f.value,{useLastValid:!!d.isCheckingRangeEnd});case"CharacterClassHyphen":return CE(f,r,d);case"CharacterClassOpen":return AE(f,r,d);case"CharacterSet":return ME(f,r);case"Directive":return FE(f.kind,{flags:f.flags});case"GroupOpen":return $E(f,r,d);case"NamedCallout":return HE(f.kind,f.tag,f.arguments);case"Quantifier":return LE(f,r);case"Subroutine":return SE(f,r);default:throw new Error('Unexpected token type "'.concat(f.type,'"'))}},r={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:n.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:n.skipBackrefValidation,skipLookbehindValidation:n.skipLookbehindValidation,skipPropertyNameValidation:n.skipPropertyNameValidation,subroutines:[],tokens:a.tokens,unicodePropertyMap:n.unicodePropertyMap,walk:i},s=TE(jE(a.flags)),c=s.body[0];for(;r.nextIndexo.length)throw new Error("Subroutine uses a group number that's not defined");m&&(o[m-1].isSubroutined=!0)}else if(p.has(m)){if(p.get(m).length>1)throw new Error(H0(Yb||(Yb=a1(['Subroutine uses a duplicate group name "g<','>"'],['Subroutine uses a duplicate group name "\\g<','>"'])),m));p.get(m)[0].isSubroutined=!0}else throw new Error(H0(Jb||(Jb=a1(["Subroutine uses a group name that's not defined \"g<",'>"'],["Subroutine uses a group name that's not defined \"\\g<",'>"'])),m));return s}var Qb,ef;function kE({kind:e}){return J8(m3({"^":"line_start",$:"line_end","\\A":"string_start","\\b":"word_boundary","\\B":"word_boundary","\\G":"search_start","\\y":"text_segment_boundary","\\Y":"text_segment_boundary","\\z":"string_end","\\Z":"string_end_newline"}[e],'Unexpected assertion kind "'.concat(e,'"')),{negate:e===H0(Qb||(Qb=a1(["B"],["\\B"])))||e===H0(ef||(ef=a1(["Y"],["\\Y"])))})}function zE({raw:e},t){let n=/^\\k[<']/.test(e),a=n?e.slice(3,-1):e.slice(1),i=(r,s=!1)=>{let c=t.capturingGroups.length,o=!1;if(r>c)if(t.skipBackrefValidation)o=!0;else throw new Error('Not enough capturing groups defined to the left "'.concat(e,'"'));return t.hasNumberedRef=!0,K8(s?c+1-r:r,{orphan:o})};if(n){let r=/^(?-?)0*(?[1-9]\d*)$/.exec(a);if(r)return i(+r.groups.num,!!r.groups.sign);if(/[-+]/.test(a))throw new Error('Invalid backref name "'.concat(e,'"'));if(!t.namedGroupsByName.has(a))throw new Error('Group name not defined to the left "'.concat(e,'"'));return K8(a)}return i(+a)}function CE(e,t,n){let{tokens:a,walk:i}=t,r=t.parent,s=r.body.at(-1),c=a[t.nextIndex];if(!n.isCheckingRangeEnd&&s&&s.type!=="CharacterClass"&&s.type!=="CharacterClassRange"&&c&&c.type!=="CharacterClassOpen"&&c.type!=="CharacterClassClose"&&c.type!=="CharacterClassIntersector"){let o=i(r,{...n,isCheckingRangeEnd:!0});if(s.type==="Character"&&o.type==="Character")return r.body.pop(),ZE(s,o);throw new Error("Invalid character class range")}return Jt(t4("-"))}function AE({negate:e},t,n){let{tokens:a,walk:i}=t,r=[G6()],s=a[t.nextIndex],c=Xb(s);for(;c.type!=="CharacterClassClose";){if(c.type==="CharacterClassIntersector")r.push(G6()),t.nextIndex++;else{let l=r.at(-1);l.body.push(i(l,n))}c=Xb(a[t.nextIndex],s)}let o=G6({negate:e});return r.length===1?o.body=r[0].body:(o.kind="intersection",o.body=r.map(l=>l.body.length===1?l.body[0]:l)),t.nextIndex++,o}function ME({kind:e,negate:t,value:n},a){let{normalizeUnknownPropertyNames:i,skipPropertyNameValidation:r,unicodePropertyMap:s}=a;if(e==="property"){let c=Qt(n);if(D6.has(c)&&!s?.has(c))e="posix",n=c;else return G4(n,{negate:t,normalizeUnknownPropertyNames:i,skipPropertyNameValidation:r,unicodePropertyMap:s})}return e==="posix"?NE(n,{negate:t}):Q8(e,{negate:t})}function $E(e,t,n){let{tokens:a,capturingGroups:i,namedGroupsByName:r,skipLookbehindValidation:s,walk:c}=t,o=VE(e),l=o.type==="AbsenceFunction",p=Ub(o),u=p&&o.negate;if(o.type==="CapturingGroup"&&(i.push(o),o.name&&wb(r,o.name,[]).push(o)),l&&n.isInAbsenceFunction)throw new Error("Nested absence function not supported by Oniguruma");let m=Kb(a[t.nextIndex]);for(;m.type!=="GroupClose";){if(m.type==="Alternator")o.body.push(h3()),t.nextIndex++;else{let d=o.body.at(-1),f=c(d,{...n,isInAbsenceFunction:n.isInAbsenceFunction||l,isInLookbehind:n.isInLookbehind||p,isInNegLookbehind:n.isInNegLookbehind||u});if(d.body.push(f),(p||n.isInLookbehind)&&!s){let w="Lookbehind includes a pattern not allowed by Oniguruma";if(u||n.isInNegLookbehind){if(Wb(f)||f.type==="CapturingGroup")throw new Error(w)}else if(Wb(f)||Ub(f)&&f.negate)throw new Error(w)}}m=Kb(a[t.nextIndex])}return t.nextIndex++,o}function LE({kind:e,min:t,max:n},a){let i=a.parent,r=i.body.at(-1);if(!r||!Ob(r))throw new Error("Quantifier requires a repeatable token");let s=Os(e,t,n,r);return i.body.pop(),s}function SE({raw:e},t){let{capturingGroups:n,subroutines:a}=t,i=e.slice(3,-1),r=/^(?[-+]?)0*(?[1-9]\d*)$/.exec(i);if(r){let c=+r.groups.num,o=n.length;if(t.hasNumberedRef=!0,i={"":c,"+":o+c,"-":o+1-c}[r.groups.sign],i<1)throw new Error("Invalid subroutine number")}else i==="0"&&(i=0);let s=Ws(i);return a.push(s),s}function EE(e,t){if(e!=="repeater")throw new Error('Unexpected absence function kind "'.concat(e,'"'));return{type:"AbsenceFunction",kind:e,body:O6(t?.body)}}function h3(e){return{type:"Alternative",body:nf(e?.body)}}function J8(e,t){let n={type:"Assertion",kind:e};return(e==="word_boundary"||e==="text_segment_boundary")&&(n.negate=!!t?.negate),n}function K8(e,t){let n=!!t?.orphan;return{type:"Backreference",ref:e,...n&&{orphan:n}}}function Gs(e,t){let n={name:void 0,isSubroutined:!1,...t};if(n.name!==void 0&&!qE(n.name))throw new Error('Group name "'.concat(n.name,'" invalid in Oniguruma'));return{type:"CapturingGroup",number:e,...n.name&&{name:n.name},...n.isSubroutined&&{isSubroutined:n.isSubroutined},body:O6(t?.body)}}function Jt(e,t){let n={useLastValid:!1,...t};if(e>1114111){let a=e.toString(16);if(n.useLastValid)e=1114111;else throw e>1310719?new Error('Invalid code point out of range "\\x{'.concat(a,'}"')):new Error('Invalid code point out of range in JS "\\x{'.concat(a,'}"'))}return{type:"Character",value:e}}function G6(e){let t={kind:"union",negate:!1,...e};return{type:"CharacterClass",kind:t.kind,negate:t.negate,body:nf(e?.body)}}function ZE(e,t){if(t.valuen)throw new Error("Invalid reversed quantifier range");return{type:"Quantifier",kind:e,min:t,max:n,body:a}}function TE(e,t){return{type:"Regex",body:O6(t?.body),flags:e}}function Ws(e){return{type:"Subroutine",ref:e}}var tf;function G4(e,t){let n={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t},a=n.unicodePropertyMap?.get(Qt(e));if(!a){if(n.normalizeUnknownPropertyNames)a=IE(e);else if(n.unicodePropertyMap&&!n.skipPropertyNameValidation)throw new Error(H0(tf||(tf=a1(['Invalid Unicode property "p{','}"'],['Invalid Unicode property "\\p{','}"'])),e))}return{type:"CharacterSet",kind:"property",value:a??e,negate:n.negate}}function VE({flags:e,kind:t,name:n,negate:a,number:i}){switch(t){case"absence_repeater":return EE("repeater");case"atomic":return W2({atomic:!0});case"capturing":return Gs(i,{name:n});case"group":return W2({flags:e});case"lookahead":case"lookbehind":return n4({behind:t==="lookbehind",negate:a});default:throw new Error('Unexpected group kind "'.concat(t,'"'))}}function O6(e){if(e===void 0)e=[h3()];else if(!Array.isArray(e)||!e.length||!e.every(t=>t.type==="Alternative"))throw new Error("Invalid body; expected array of one or more Alternative nodes");return e}function nf(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(t=>!!t.type))throw new Error("Invalid body; expected array of nodes");return e}function Wb(e){return e.type==="LookaroundAssertion"&&e.kind==="lookahead"}function Ub(e){return e.type==="LookaroundAssertion"&&e.kind==="lookbehind"}function qE(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function IE(e){return e.trim().replace(/[- _]+/g,"_").replace(/[A-Z][a-z]+(?=[A-Z])/g,"$&_").replace(/[A-Za-z]+/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function Qt(e){return e.replace(/[- _]+/g,"").toLowerCase()}function Xb(e,t){let n=t;return m3(e,"Unclosed character class".concat(n?.type==="Character"&&n.value===93&&n.raw==="]"?' (started with "]")':""))}function Kb(e){return m3(e,"Unclosed group")}function O4(e,t,n=null){function a(r,s){for(let c=0;cA-Za-z-]|<[=!]|(DEFINE))"],["\\(\\?(?:[:=!>A-Za-z\\-]|<[=!]|\\(DEFINE\\))"])));function sf(e,t){for(let n=0;n=t&&e[n]++}function cf(e,t,n,a){return e.slice(0,t)+a+e.slice(t+n.length)}var H2=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"}),of;function W6(e,t,n,a){let i=new RegExp(String.raw(of||(of=a1(["","|(?<$skip>[^?|\\?.)"],["","|(?<$skip>\\[\\^?|\\\\?.)"])),t),"gsu"),r=[!1],s=0,c="";for(let o of e.matchAll(i)){let{0:l,groups:{$skip:p}}=o;if(!p&&(!a||a===H2.DEFAULT==!s)){n instanceof Function?c+=n(o,{context:s?H2.CHAR_CLASS:H2.DEFAULT,negated:r[r.length-1]}):c+=n;continue}l[0]==="["?(s++,r.push(l[1]==="^")):l==="]"&&s&&(s--,r.pop()),c+=l}return c}function Us(e,t,n,a){W6(e,t,n,a)}function BE(e,t,n=0,a){if(!new RegExp(t,"su").test(e))return null;let i=new RegExp("".concat(t,"|(?<$skip>\\\\?.)"),"gsu");i.lastIndex=n;let r=0,s;for(;s=i.exec(e);){let{0:c,groups:{$skip:o}}=s;if(!o&&(!a||a===H2.DEFAULT==!r))return s;c==="["?r++:c==="]"&&r&&r--,i.lastIndex==s.index&&i.lastIndex++}return null}function U6(e,t,n){return!!BE(e,t,0,n)}function lf(e,t){let n=/\\?./gsu;n.lastIndex=t;let a=e.length,i=0,r=1,s;for(;s=n.exec(e);){let[c]=s;if(c==="[")i++;else if(i)c==="]"&&i--;else if(c==="(")r++;else if(c===")"&&(r--,!r)){a=s.index;break}}return e.slice(t,a)}var uf,pf=new RegExp(String.raw(uf||(uf=a1(["(?",")|(?((?:?<[^>]+>)?)|\\?."],["(?",")|(?\\((?:\\?<[^>]+>)?)|\\\\?."])),rf),"gsu"),mf;function Ks(e,t){let n=t?.hiddenCaptures??[],a=t?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:a,hiddenCaptures:n};let i="(?>",r="(?:(?=(",s=[0],c=[],o=0,l=0,p=NaN,u;do{u=!1;let m=0,d=0,f=!1,w;for(pf.lastIndex=Number.isNaN(p)?0:p+r.length;w=pf.exec(e);){let{0:x,index:v,groups:{capturingStart:b,noncapturingStart:_}}=w;if(x==="[")m++;else if(m)x==="]"&&m--;else if(x===i&&!f)p=v,f=!0;else if(f&&_)d++;else if(b)f?d++:(o++,s.push(o+l));else if(x===")"&&f){if(!d){l++;let z=o+l;if(e="".concat(e.slice(0,p)).concat(r).concat(e.slice(p+i.length,v),"))<$$").concat(z,">)").concat(e.slice(v+1)),u=!0,c.push(z),sf(n,z),a.size){let $=new Map;a.forEach((C,j)=>{$.set(j>=z?j+1:j,C.map(T=>T>=z?T+1:T))}),a=$}break}d--}}}while(u);return n.push(...c),e=W6(e,String.raw(mf||(mf=a1(["\\(?[1-9]d*)|<$$(?d+)>"],["\\\\(?[1-9]\\d*)|<\\$\\$(?\\d+)>"]))),({0:m,groups:{backrefNum:d,wrappedBackrefNum:f}})=>{if(d){let w=+d;if(w>s.length-1)throw new Error('Backref "'.concat(m,'" greater than number of captures'));return"\\".concat(s[w])}return"\\".concat(f)},H2.DEFAULT),{pattern:e,captureTransfers:a,hiddenCaptures:n}}var df,gf=String.raw(df||(df=a1(["(?:[?*+]|{d+(?:,d*)?})"],["(?:[?*+]|\\{\\d+(?:,\\d*)?\\})"]))),hf,Xs=new RegExp(String.raw(hf||(hf=a1(["\n\\(?: d+\n | c[A-Za-z]\n | [gk]<[^>]+>\n | [pPu]{[^}]+}\n | u[A-Fa-fd]{4}\n | x[A-Fa-fd]{2}\n )\n| ((?: ? (?: [:=!>]\n | <(?:[=!]|[^>]+>)\n | [A-Za-z-]+:\n | (DEFINE)\n ))?\n| (?",")(?[?+]?)(?[?*+{]?)\n| \\?.\n"],["\n\\\\(?: \\d+\n | c[A-Za-z]\n | [gk]<[^>]+>\n | [pPu]\\{[^\\}]+\\}\n | u[A-Fa-f\\d]{4}\n | x[A-Fa-f\\d]{2}\n )\n| \\((?: \\? (?: [:=!>]\n | <(?:[=!]|[^>]+>)\n | [A-Za-z\\-]+:\n | \\(DEFINE\\)\n ))?\n| (?",")(?[?+]?)(?[?*+\\{]?)\n| \\\\?.\n"])),gf).replace(/\s+/g,""),"gsu");function Ys(e){if(!new RegExp("".concat(gf,"\\+")).test(e))return{pattern:e};let t=[],n=null,a=null,i="",r=0,s;for(Xs.lastIndex=0;s=Xs.exec(e);){let{0:c,index:o,groups:{qBase:l,qMod:p,invalidQ:u}}=s;if(c==="[")r||(a=o),r++;else if(c==="]")r?r--:a=null;else if(!r)if(p==="+"&&i&&!i.startsWith("(")){if(u)throw new Error('Invalid quantifier "'.concat(c,'"'));let m=-1;if(/^\{\d+\}$/.test(l))e=cf(e,o+l.length,p,"");else{if(i===")"||i==="]"){let d=i===")"?n:a;if(d===null)throw new Error('Invalid unmatched "'.concat(i,'"'));e="".concat(e.slice(0,d),"(?>").concat(e.slice(d,o)).concat(l,")").concat(e.slice(o+c.length))}else e="".concat(e.slice(0,o-i.length),"(?>").concat(i).concat(l,")").concat(e.slice(o+c.length));m+=4}Xs.lastIndex+=m}else c[0]==="("?t.push(o):c===")"&&(n=t.length?t.pop():null);i=c}return{pattern:e}}var le=String.raw,_f,PE=le(_f||(_f=a1(["\\g<(?[^>&]+)&R=(?[^>]+)>"],["\\\\g<(?[^>&]+)&R=(?[^>]+)>"]))),wf,Qs=le(wf||(wf=a1(["(?R=(?[^)]+))|",""],["\\(\\?R=(?[^\\)]+)\\)|",""])),PE),xf,ta=le(xf||(xf=a1(["(?<(?![=!])(?[^>]+)>"],["\\(\\?<(?![=!])(?[^>]+)>"]))),kf,Zf=le(kf||(kf=a1(["","|(?()(?!?)"],["","|(?\\()(?!\\?)"])),ta),zf,W4=new RegExp(le(zf||(zf=a1(["","|","|(?|\\?."],["","|","|\\(\\?|\\\\?."])),ta,Qs),"gsu"),Js="Cannot use multiple overlapping recursions",Cf,Af,Mf,$f,Lf;function Ff(e,t){let{hiddenCaptures:n,mode:a}={hiddenCaptures:[],mode:"plugin",...t},i=t?.captureTransfers??new Map;if(!new RegExp(Qs,"su").test(e))return{pattern:e,captureTransfers:i,hiddenCaptures:n};if(a==="plugin"&&U6(e,le(Cf||(Cf=a1(["(?(DEFINE)"],["\\(\\?\\(DEFINE\\)"]))),H2.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");let r=[],s=U6(e,le(Af||(Af=a1(["\\[1-9]"],["\\\\[1-9]"]))),H2.DEFAULT),c=new Map,o=[],l=!1,p=0,u=0,m;for(W4.lastIndex=0;m=W4.exec(e);){let{0:d,groups:{captureName:f,rDepth:w,gRNameOrNum:x,gRDepth:v}}=m;if(d==="[")p++;else if(p)d==="]"&&p--;else if(w){if(bf(w),l)throw new Error(Js);if(s)throw new Error("".concat(a==="external"?"Backrefs":"Numbered backrefs"," cannot be used with global recursion"));let b=e.slice(0,m.index),_=e.slice(W4.lastIndex);if(U6(_,Qs,H2.DEFAULT))throw new Error(Js);let z=+w-1;e=ff(b,_,z,!1,n,r,u),i=yf(i,b,z,r.length,0,u);break}else if(x){bf(v);let b=!1;for(let D of o)if(D.name===x||D.num===+x){if(b=!0,D.hasRecursedWithin)throw new Error(Js);break}if(!b)throw new Error(le($f||($f=a1(['Recursive g cannot be used outside the referenced group "','"'],['Recursive \\g cannot be used outside the referenced group "','"'])),a==="external"?x:le(Mf||(Mf=a1(["g<","&R=",">"],["\\g<","&R=",">"])),x,v)));let _=c.get(x),z=lf(e,_);if(s&&U6(z,le(Lf||(Lf=a1(["","|((?!?)"],["","|\\((?!\\?)"])),ta),H2.DEFAULT))throw new Error("".concat(a==="external"?"Backrefs":"Numbered backrefs"," cannot be used with recursion of capturing groups"));let $=e.slice(_,m.index),C=z.slice($.length+d.length),j=r.length,T=+v-1,H=ff($,C,T,!0,n,r,u);i=yf(i,$,T,r.length-j,j,u);let E=e.slice(0,_),R=e.slice(_+z.length);e="".concat(E).concat(H).concat(R),W4.lastIndex+=H.length-d.length-$.length-C.length,o.forEach(D=>D.hasRecursedWithin=!0),l=!0}else if(f)u++,c.set(String(u),W4.lastIndex),c.set(f,W4.lastIndex),o.push({num:u,name:f});else if(d[0]==="("){let b=d==="(";b&&(u++,c.set(String(u),W4.lastIndex)),o.push(b?{num:u}:{})}else d===")"&&o.pop()}return n.push(...r),{pattern:e,captureTransfers:i,hiddenCaptures:n}}function bf(e){let t="Max depth must be integer between 2 and 100; used ".concat(e);if(!/^[1-9]\d*$/.test(e))throw new Error(t);if(e=+e,e<2||e>100)throw new Error(t)}function ff(e,t,n,a,i,r,s){let c=new Set;a&&Us(e+t,ta,({groups:{captureName:l}})=>{c.add(l)},H2.DEFAULT);let o=[n,a?c:null,i,r,s];return"".concat(e).concat(vf("(?:".concat(e),"forward",...o),"(?:)").concat(vf("".concat(t,")"),"backward",...o)).concat(t)}var Sf,Ef;function vf(e,t,n,a,i,r,s){let o=p=>t==="forward"?p+2:n-p+2-1,l="";for(let p=0;p[^>]+)>"],["","|\\\\k<(?[^>]+)>"])),Zf),({0:m,groups:{captureName:d,unnamed:f,backref:w}})=>{if(w&&a&&!a.has(w))return m;let x="_$".concat(u);if(f||d){let v=s+r.length+1;return r.push(v),RE(i,v),f?m:"(?<".concat(d).concat(x,">")}return le(Ef||(Ef=a1(["k<","",">"],["\\k<","",">"])),w,x)},H2.DEFAULT)}return l}function RE(e,t){for(let n=0;n=t&&e[n]++}function yf(e,t,n,a,i,r){if(e.size&&a){let s=0;Us(t,Zf,()=>s++,H2.DEFAULT);let c=r-s+i,o=new Map;return e.forEach((l,p)=>{let u=(a-s*n)/n,m=s*n,d=p>c+s?p+a:p,f=[];for(let w of l)if(w<=c)f.push(w);else if(w>c+s+u)f.push(w+a);else if(w<=c+s)for(let x=0;x<=n;x++)f.push(w+s*x);else for(let x=0;x<=n;x++)f.push(w+m+u*x);o.set(d,f)}),o}return e}var B0=String.fromCodePoint,$1=String.raw,we={},aa=globalThis.RegExp;we.flagGroups=(()=>{try{new aa("(?i:)")}catch{return!1}return!0})();we.unicodeSets=(()=>{try{new aa("[[]]","v")}catch{return!1}return!0})();var qf;we.bugFlagVLiteralHyphenIsRange=we.unicodeSets?(()=>{try{new aa($1(qf||(qf=a1(["[d-a]"],["[\\d\\-a]"]))),"v")}catch{return!0}return!1})():!1;we.bugNestedClassIgnoresNegation=we.unicodeSets&&new aa("[[^a]]","v").test("a");function na(e,{enable:t,disable:n}){return{dotAll:!n?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!n?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function X6(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function ic(e,t){return jf[e]>=jf[t]}function DE(e,t){if(e==null)throw new Error(t??"Value expected");return e}var jf={ES2025:2025,ES2024:2024,ES2018:2018},GE={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function $v(e={}){if({}.toString.call(e)!=="[object Object]")throw new Error("Unexpected options");if(e.target!==void 0&&!GE[e.target])throw new Error('Unexpected target "'.concat(e.target,'"'));let t={accuracy:"default",avoidSubclass:!1,flags:"",global:!1,hasIndices:!1,lazyCompileLength:1/0,target:"auto",verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return t.target==="auto"&&(t.target=we.flagGroups?"ES2025":we.unicodeSets?"ES2024":"ES2018"),t}var OE="[ -\r ]",WE=new Set([B0(304),B0(305)]),If,g3=$1(If||(If=a1(["[p{L}p{M}p{N}p{Pc}]"],["[\\p{L}\\p{M}\\p{N}\\p{Pc}]"])));function Lv(e){if(WE.has(e))return[e];let t=new Set,n=e.toLowerCase(),a=n.toUpperCase(),i=KE.get(n),r=UE.get(n),s=XE.get(n);return[...a].length===1&&t.add(a),s&&t.add(s),i&&t.add(i),t.add(n),r&&t.add(r),[...t]}var sc=new Map("C Other\nCc Control cntrl\nCf Format\nCn Unassigned\nCo Private_Use\nCs Surrogate\nL Letter\nLC Cased_Letter\nLl Lowercase_Letter\nLm Modifier_Letter\nLo Other_Letter\nLt Titlecase_Letter\nLu Uppercase_Letter\nM Mark Combining_Mark\nMc Spacing_Mark\nMe Enclosing_Mark\nMn Nonspacing_Mark\nN Number\nNd Decimal_Number digit\nNl Letter_Number\nNo Other_Number\nP Punctuation punct\nPc Connector_Punctuation\nPd Dash_Punctuation\nPe Close_Punctuation\nPf Final_Punctuation\nPi Initial_Punctuation\nPo Other_Punctuation\nPs Open_Punctuation\nS Symbol\nSc Currency_Symbol\nSk Modifier_Symbol\nSm Math_Symbol\nSo Other_Symbol\nZ Separator\nZl Line_Separator\nZp Paragraph_Separator\nZs Space_Separator\nASCII\nASCII_Hex_Digit AHex\nAlphabetic Alpha\nAny\nAssigned\nBidi_Control Bidi_C\nBidi_Mirrored Bidi_M\nCase_Ignorable CI\nCased\nChanges_When_Casefolded CWCF\nChanges_When_Casemapped CWCM\nChanges_When_Lowercased CWL\nChanges_When_NFKC_Casefolded CWKCF\nChanges_When_Titlecased CWT\nChanges_When_Uppercased CWU\nDash\nDefault_Ignorable_Code_Point DI\nDeprecated Dep\nDiacritic Dia\nEmoji\nEmoji_Component EComp\nEmoji_Modifier EMod\nEmoji_Modifier_Base EBase\nEmoji_Presentation EPres\nExtended_Pictographic ExtPict\nExtender Ext\nGrapheme_Base Gr_Base\nGrapheme_Extend Gr_Ext\nHex_Digit Hex\nIDS_Binary_Operator IDSB\nIDS_Trinary_Operator IDST\nID_Continue IDC\nID_Start IDS\nIdeographic Ideo\nJoin_Control Join_C\nLogical_Order_Exception LOE\nLowercase Lower\nMath\nNoncharacter_Code_Point NChar\nPattern_Syntax Pat_Syn\nPattern_White_Space Pat_WS\nQuotation_Mark QMark\nRadical\nRegional_Indicator RI\nSentence_Terminal STerm\nSoft_Dotted SD\nTerminal_Punctuation Term\nUnified_Ideograph UIdeo\nUppercase Upper\nVariation_Selector VS\nWhite_Space space\nXID_Continue XIDC\nXID_Start XIDS".split(/\s/).map(e=>[Qt(e),e])),UE=new Map([["s",B0(383)],[B0(383),"s"]]),XE=new Map([[B0(223),B0(7838)],[B0(107),B0(8490)],[B0(229),B0(8491)],[B0(969),B0(8486)]]),KE=new Map([a4(453),a4(456),a4(459),a4(498),...ec(8072,8079),...ec(8088,8095),...ec(8104,8111),a4(8124),a4(8140),a4(8188)]),Bf,Pf,Rf,Df,Gf,Of,Wf,Uf,Xf,Kf,Yf,Jf,Qf,ev,YE=new Map([["alnum",$1(Bf||(Bf=a1(["[p{Alpha}p{Nd}]"],["[\\p{Alpha}\\p{Nd}]"])))],["alpha",$1(Pf||(Pf=a1(["p{Alpha}"],["\\p{Alpha}"])))],["ascii",$1(Rf||(Rf=a1(["p{ASCII}"],["\\p{ASCII}"])))],["blank",$1(Df||(Df=a1(["[p{Zs} ]"],["[\\p{Zs}\\t]"])))],["cntrl",$1(Gf||(Gf=a1(["p{Cc}"],["\\p{Cc}"])))],["digit",$1(Of||(Of=a1(["p{Nd}"],["\\p{Nd}"])))],["graph",$1(Wf||(Wf=a1(["[P{space}&&P{Cc}&&P{Cn}&&P{Cs}]"],["[\\P{space}&&\\P{Cc}&&\\P{Cn}&&\\P{Cs}]"])))],["lower",$1(Uf||(Uf=a1(["p{Lower}"],["\\p{Lower}"])))],["print",$1(Xf||(Xf=a1(["[[P{space}&&P{Cc}&&P{Cn}&&P{Cs}]p{Zs}]"],["[[\\P{space}&&\\P{Cc}&&\\P{Cn}&&\\P{Cs}]\\p{Zs}]"])))],["punct",$1(Kf||(Kf=a1(["[p{P}p{S}]"],["[\\p{P}\\p{S}]"])))],["space",$1(Yf||(Yf=a1(["p{space}"],["\\p{space}"])))],["upper",$1(Jf||(Jf=a1(["p{Upper}"],["\\p{Upper}"])))],["word",$1(Qf||(Qf=a1(["[p{Alpha}p{M}p{Nd}p{Pc}]"],["[\\p{Alpha}\\p{M}\\p{Nd}\\p{Pc}]"])))],["xdigit",$1(ev||(ev=a1(["p{AHex}"],["\\p{AHex}"])))]]);function JE(e,t){let n=[];for(let a=e;a<=t;a++)n.push(a);return n}function a4(e){let t=B0(e);return[t.toLowerCase(),t]}function ec(e,t){return JE(e,t).map(n=>a4(n))}var Sv=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function QE(e,t){let n={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...t};Ev(e);let a={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:ic(n.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};O4(e,eZ,a);let i={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},r={currentFlags:i,prevFlags:null,globalFlags:i,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:a.subroutineRefMap};O4(e,tZ,r);let s={groupsByName:r.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:r.reffedNodesByReferencer};return O4(e,nZ,s),e._originMap=r.groupOriginByCopy,e._strategy=a.strategy,e}var tv,nv,av,iv,rv,sv,cv,ov,lv,eZ={AbsenceFunction({node:e,parent:t,replaceWith:n}){let{body:a,kind:i}=e;if(i==="repeater"){let r=W2();r.body[0].body.push(n4({negate:!0,body:a}),G4("Any"));let s=W2();s.body[0].body.push(Os("greedy",0,1/0,r)),n(Z0(s,t),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:a}){let i=e.body.filter(r=>r.kind==="flags");for(let r=n+1;r\r\n|","|P{M}p{M}*)"],["(?>\\r\\n|","|\\P{M}\\p{M}*)"])),i?$1(sv||(sv=a1(["p{RGI_Emoji}"],["\\p{RGI_Emoji}"]))):m),{skipPropertyNameValidation:!0}),t))}else if(o==="hex")n(i4(G4("AHex",{negate:l}),t));else if(o==="newline")n(Z0(b3(l?"[^\n]":"(?>\r\n?|[\n\v\f\x85\u2028\u2029])"),t));else if(o==="posix")if(!i&&(p==="graph"||p==="print")){if(a==="strict")throw new Error('POSIX class "'.concat(p,'" requires min target ES2024 or non-strict accuracy'));let u={graph:"!-~",print:" -~"}[p];l&&(u="\0-".concat(B0(u.codePointAt(0)-1)).concat(B0(u.codePointAt(2)+1),"-\u{10FFFF}")),n(Z0(b3("[".concat(u,"]")),t))}else n(Z0(ac(b3(YE.get(p)),l),t));else if(o==="property")sc.has(Qt(p))||(e.key="sc");else if(o==="space")n(i4(G4("space",{negate:l}),t));else if(o==="word")n(Z0(ac(b3(g3),l),t));else throw new Error('Unexpected character set kind "'.concat(o,'"'))},Directive({node:e,parent:t,root:n,remove:a,replaceWith:i,removeAllPrevSiblings:r,removeAllNextSiblings:s}){let{kind:c,flags:o}=e;if(c==="flags")if(!o.enable&&!o.disable)a();else{let l=W2({flags:o});l.body[0].body=s(),i(Z0(l,t),{traverse:!0})}else if(c==="keep"){let l=n.body[0],u=n.body.length===1&&X8(l,{type:"Group"})&&l.body[0].body.length===1?l.body[0]:n;if(t.parent!==u||u.body.length>1)throw new Error($1(ov||(ov=a1(['Uses "K" in a way that\'s unsupported'],['Uses "\\K" in a way that\'s unsupported']))));let m=n4({behind:!0});m.body[0].body=r(),i(Z0(m,t))}else throw new Error('Unexpected directive kind "'.concat(c,'"'))},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(n=>delete e[n]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;let{enable:t,disable:n}=e.flags;t?.extended&&delete t.extended,n?.extended&&delete n.extended,t?.dotAll&&n?.dotAll&&delete t.dotAll,t?.ignoreCase&&n?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){let{kind:n}=e;n==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){let{kind:a}=e;if(a==="fail")n(Z0(n4({negate:!0}),t));else throw new Error('Unsupported named callout "(*'.concat(a.toUpperCase(),'"'))},Quantifier({node:e}){if(e.body.type==="Quantifier"){let t=W2();t.body[0].body.push(e.body),e.body=Z0(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){let n=[],a=!1,i=!1;for(let r of e.body)if(r.body.length===1&&r.body[0].kind==="search_start")r.body.pop();else{let s=Hv(r.body);s?(a=!0,Array.isArray(s)?n.push(...s):n.push(s)):i=!0}a&&!i&&n.forEach(r=>t.add(r))},exit(e,{accuracy:t,passedLookbehind:n,strategy:a}){if(t==="strict"&&n&&a)throw new Error($1(lv||(lv=a1(['Uses "G" in a way that requires non-strict accuracy'],['Uses "\\G" in a way that requires non-strict accuracy']))))}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!nc(n)&&(n=tc(n,t),e.ref=n)}},tZ={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){let{orphan:a,ref:i}=e;a||n.set(e,[...t.get(i).map(({node:r})=>r)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:a},{groupOriginByCopy:i,groupsByName:r,multiplexCapturesToLeftByRef:s,openRefs:c,reffedNodesByReferencer:o}){let l=i.get(e);if(l&&c.has(e.number)){let u=i4(Hf(e.number),t);o.set(u,c.get(e.number)),n(u);return}c.set(e.number,e),s.set(e.number,[]),e.name&&X6(s,e.name,[]);let p=s.get(e.name??e.number);for(let u=0;um.type==="Group"&&!!m.flags)),u=p?na(a.globalFlags,p):a.globalFlags;aZ(u,a.currentFlags)||(l=W2({flags:sZ(u)}),l.body[0].body.push(o))}n(Z0(l,t),{traverse:!c})}},nZ={Backreference({node:e,parent:t,replaceWith:n},a){if(e.orphan){a.highestOrphanBackref=Math.max(a.highestOrphanBackref,e.ref);return}let r=a.reffedNodesByReferencer.get(e).filter(s=>iZ(s,e));if(!r.length)n(Z0(n4({negate:!0}),t));else if(r.length>1){let s=W2({atomic:!0,body:r.reverse().map(c=>h3({body:[K8(c.number)]}))});n(Z0(s,t))}else e.ref=r[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){let n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let a=0;a{t.forEach(i=>{a.enable?.[i]&&(delete n.disable[i],n.enable[i]=!0),a.disable?.[i]&&(n.disable[i]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function sZ({dotAll:e,ignoreCase:t}){let n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function jv(e){if(!e)throw new Error("Node expected");let{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function Hv(e){let t=e.find(n=>n.kind==="search_start"||lZ(n,{negate:!1})||!cZ(n));if(!t)return null;if(t.kind==="search_start")return t;if(t.type==="LookaroundAssertion")return t.body[0].body[0];if(t.type==="CapturingGroup"||t.type==="Group"){let n=[];for(let a of t.body){let i=Hv(a.body);if(!i)return null;Array.isArray(i)?n.push(...i):n.push(i)}return n}return null}function Nv(e,t){let n=jv(e)??[];for(let a of n)if(a===t||Nv(a,t))return!0;return!1}function cZ({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function oZ(e){let t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function lZ(e,t){let n={negate:null,...t};return e.type==="LookaroundAssertion"&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&X8(e.body[0],{type:"Assertion",kind:"search_start"})}function nc(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function b3(e,t){let a=Y8(e,{...t,unicodePropertyMap:sc}).body;return a.length>1||a[0].body.length>1?W2({body:a}):a[0].body[0]}function ac(e,t){return e.negate=t,e}function i4(e,t){return e.parent=t,e}function Z0(e,t){return Ev(e),e.parent=t,e}function pZ(e,t){let n=$v(t),a=ic(n.target,"ES2024"),i=ic(n.target,"ES2025"),r=n.rules.recursionLimit;if(!Number.isInteger(r)||r<2||r>20)throw new Error("Invalid recursionLimit; use 2-20");let s=null,c=null;if(!i){let d=[e.flags.ignoreCase];O4(e,uZ,{getCurrentModI:()=>d.at(-1),popModI(){d.pop()},pushModI(f){d.push(f)},setHasCasedChar(){d.at(-1)?s=!0:c=!0}})}let o={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||s)&&!c)},l=e,p={accuracy:n.accuracy,appliedGlobalFlags:o,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:l,originMap:e._originMap,recursionLimit:r,useAppliedIgnoreCase:!!(!i&&s&&c),useFlagMods:i,useFlagV:a,verbose:n.verbose};function u(d){return p.lastNode=l,l=d,DE(mZ[d.type],'Unexpected node type "'.concat(d.type,'"'))(d,p,u)}let m={pattern:e.body.map(u).join("|"),flags:u(e.flags),options:{...e.options}};return a||(delete m.options.force.v,m.options.disable.v=!0,m.options.unicodeSetsPlugin=null),m._captureTransfers=new Map,m._hiddenCaptures=[],p.captureMap.forEach((d,f)=>{d.hidden&&m._hiddenCaptures.push(f),d.transferTo&&X6(m._captureTransfers,d.transferTo,[]).push(f)}),m}var uZ={"*":{enter({node:e},t){if(Tf(e)){let n=t.getCurrentModI();t.pushModI(e.flags?na({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){Tf(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){cc(B0(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),Tv(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&Sv.has(e.value)&&t.setHasCasedChar()}},pv,uv,mv,dv,hv,gv,bv,fv,vv,yv,mZ={Alternative({body:e},t,n){return e.map(n).join("")},Assertion({kind:e,negate:t}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return $1(t?pv||(pv=a1(["B"],["\\B"])):uv||(uv=a1(["\b"],["\\b"])));throw new Error('Unexpected assertion kind "'.concat(e,'"'))},Backreference({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,t,n){let{body:a,name:i,number:r}=e,s={ignoreCase:t.currentFlags.ignoreCase},c=t.originMap.get(e);return c&&(s.hidden=!0,r>c.number&&(s.transferTo=c.number)),t.captureMap.set(r,s),"(".concat(i?"?<".concat(i,">"):"").concat(a.map(n).join("|"),")")},Character({value:e},t){let n=B0(e),a=t5(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(a!==n)return a;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&cc(n)){let i=Lv(n);return t.inCharClass?i.join(""):i.length>1?"[".concat(i.join(""),"]"):i[0]}return n},CharacterClass(e,t,n){let{kind:a,negate:i,parent:r}=e,{body:s}=e;if(a==="intersection"&&!t.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");we.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&s.some(Vf)&&(s=[Jt(45),...s.filter(l=>!Vf(l))]);let c=()=>"[".concat(i?"^":"").concat(s.map(n).join(a==="intersection"?"&&":""),"]");if(!t.inCharClass){if((!t.useFlagV||we.bugNestedClassIgnoresNegation)&&!i){let p=s.filter(u=>u.type==="CharacterClass"&&u.kind==="union"&&u.negate);if(p.length){let u=W2(),m=u.body[0];return u.parent=r,m.parent=u,s=s.filter(d=>!p.includes(d)),e.body=s,s.length?(e.parent=m,m.body.push(e)):u.body.pop(),p.forEach(d=>{let f=h3({body:[d]});d.parent=f,f.parent=u,u.body.push(f)}),n(u)}}t.inCharClass=!0;let l=c();return t.inCharClass=!1,l}let o=s[0];if(a==="union"&&!i&&o&&((!t.useFlagV||!t.verbose)&&r.kind==="union"&&!(we.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&r.kind==="intersection"&&s.length===1&&o.type!=="CharacterClassRange"))return s.map(n).join("");if(!t.useFlagV&&r.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return c()},CharacterClassRange(e,t){let n=e.min.value,a=e.max.value,i={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},r=t5(n,i),s=t5(a,i),c=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){let o=Tv(e);fZ(o).forEach(p=>{c.add(Array.isArray(p)?"".concat(t5(p[0],i),"-").concat(t5(p[1],i)):t5(p,i))})}return"".concat(r,"-").concat(s).concat([...c].join(""))},CharacterSet({kind:e,negate:t,value:n,key:a},i){if(e==="dot")return i.currentFlags.dotAll?i.appliedGlobalFlags.dotAll||i.useFlagMods?".":"[^]":$1(mv||(mv=a1(["[^\n]"],["[^\\n]"])));if(e==="digit")return $1(t?dv||(dv=a1(["D"],["\\D"])):hv||(hv=a1(["d"],["\\d"])));if(e==="property"){if(i.useAppliedIgnoreCase&&i.currentFlags.ignoreCase&&Sv.has(n))throw new Error('Unicode property "'.concat(n,"\" can't be case-insensitive when other chars have specific case"));return"".concat($1(t?gv||(gv=a1(["P"],["\\P"])):bv||(bv=a1(["p"],["\\p"]))),"{").concat(a?"".concat(a,"="):"").concat(n,"}")}if(e==="word")return $1(t?fv||(fv=a1(["W"],["\\W"])):vv||(vv=a1(["w"],["\\w"])));throw new Error('Unexpected character set kind "'.concat(e,'"'))},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:t,flags:n,parent:a},i,r){let s=i.currentFlags;n&&(i.currentFlags=na(s,n));let c=t.map(r).join("|"),o=!i.verbose&&t.length===1&&a.type!=="Quantifier"&&!e&&(!i.useFlagMods||!n)?c:"(?".concat(vZ(e,n,i.useFlagMods)).concat(c,")");return i.currentFlags=s,o},LookaroundAssertion({body:e,kind:t,negate:n},a,i){let r="".concat(t==="lookahead"?"":"<").concat(n?"!":"=");return"(?".concat(r).concat(e.map(i).join("|"),")")},Quantifier(e,t,n){return n(e.body)+yZ(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");let a=n.recursionLimit;return t===0?"(?R=".concat(a,")"):$1(yv||(yv=a1(["g<","&R=",">"],["\\g<","&R=",">"])),t,a)}},dZ=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),hZ=new Set(["-","\\","]","^","["]),gZ=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),_v,wv,xv,kv,zv,Cv,Av,Mv,Nf=new Map([[9,$1(_v||(_v=a1([" "],["\\t"])))],[10,$1(wv||(wv=a1(["\n"],["\\n"])))],[11,$1(xv||(xv=a1(["\v"],["\\v"])))],[12,$1(kv||(kv=a1(["\f"],["\\f"])))],[13,$1(zv||(zv=a1(["\r"],["\\r"])))],[8232,$1(Cv||(Cv=a1(["\u2028"],["\\u2028"])))],[8233,$1(Av||(Av=a1(["\u2029"],["\\u2029"])))],[65279,$1(Mv||(Mv=a1(["\uFEFF"],["\\uFEFF"])))]]),bZ=/^\p{Cased}$/u;function cc(e){return bZ.test(e)}function Tv(e,t){let n=!!t?.firstOnly,a=e.min.value,i=e.max.value,r=[];if(a<65&&(i===65535||i>=131071)||a===65536&&i>=131071)return r;for(let s=a;s<=i;s++){let c=B0(s);if(!cc(c))continue;let o=Lv(c).filter(l=>{let p=l.codePointAt(0);return pi});if(o.length&&(r.push(...o),n))break}return r}function t5(e,{escDigit:t,inCharClass:n,useFlagV:a}){if(Nf.has(e))return Nf.get(e);if(e<32||e>126&&e<160||e>262143||t&&_Z(e))return e>255?"\\u{".concat(e.toString(16).toUpperCase(),"}"):"\\x".concat(e.toString(16).toUpperCase().padStart(2,"0"));let i=n?a?gZ:hZ:dZ,r=B0(e);return(i.has(r)?"\\":"")+r}function fZ(e){let t=e.map(i=>i.codePointAt(0)).sort((i,r)=>i-r),n=[],a=null;for(let i=0;i";let a="";if(t&&n){let{enable:i,disable:r}=t;a=(i?.ignoreCase?"i":"")+(i?.dotAll?"s":"")+(r?"-":"")+(r?.ignoreCase?"i":"")+(r?.dotAll?"s":"")}return"".concat(a,":")}function yZ({kind:e,max:t,min:n}){let a;return!n&&t===1?a="?":!n&&t===1/0?a="*":n===1&&t===1/0?a="+":n===t?a="{".concat(n,"}"):a="{".concat(n,",").concat(t===1/0?"":t,"}"),a+{greedy:"",lazy:"?",possessive:"+"}[e]}function Tf({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function _Z(e){return e>47&&e<58}function Vf({type:e,value:t}){return e==="Character"&&t===45}var wZ=class rc extends RegExp{#t=new Map;#e=null;#a;#n=null;#i=null;rawOptions={};get source(){return this.#a||"(?:)"}constructor(t,n,a){let i=!!a?.lazyCompile;if(t instanceof RegExp){if(a)throw new Error("Cannot provide options when copying a regexp");let r=t;super(r,n),this.#a=r.source,r instanceof rc&&(this.#t=r.#t,this.#n=r.#n,this.#i=r.#i,this.rawOptions=r.rawOptions)}else{let r={hiddenCaptures:[],strategy:null,transfers:[],...a};super(i?"":t,n),this.#a=t,this.#t=kZ(r.hiddenCaptures,r.transfers),this.#i=r.strategy,this.rawOptions=a??{}}i||(this.#e=this)}exec(t){if(!this.#e){let{lazyCompile:i,...r}=this.rawOptions;this.#e=new rc(this.#a,this.flags,r)}let n=this.global||this.sticky,a=this.lastIndex;if(this.#i==="clip_search"&&n&&a){this.lastIndex=0;let i=this.#r(t.slice(a));return i&&(xZ(i,a,t,this.hasIndices),this.lastIndex+=a),i}return this.#r(t)}#r(t){this.#e.lastIndex=this.lastIndex;let n=super.exec.call(this.#e,t);if(this.lastIndex=this.#e.lastIndex,!n||!this.#t.size)return n;let a=[...n];n.length=1;let i;this.hasIndices&&(i=[...n.indices],n.indices.length=1);let r=[0];for(let s=1;s{let c=r[s];c&&(r[s]=[c[0]+t,c[1]+t])})}}function kZ(e,t){let n=new Map;for(let a of e)n.set(a,{hidden:!0});for(let[a,i]of t)for(let r of i)X6(n,r,{}).transferTo=a;return n}function zZ(e){let t=/(?\((?:\?<(?![=!])(?[^>]+)>|(?!\?)))|\\?./gsu,n=new Map,a=0,i=0,r;for(;r=t.exec(e);){let{0:s,groups:{capture:c,name:o}}=r;s==="["?a++:a?s==="]"&&a--:c&&(i++,o&&n.set(i,o))}return n}function Vv(e,t){let n=CZ(e,t);return n.options?new wZ(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function CZ(e,t){let n=$v(t),a=Y8(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:sc}),i=QE(a,{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),r=pZ(i,n),s=Ff(r.pattern,{captureTransfers:r._captureTransfers,hiddenCaptures:r._hiddenCaptures,mode:"external"}),c=Ys(s.pattern),o=Ks(c.pattern,{captureTransfers:s.captureTransfers,hiddenCaptures:s.hiddenCaptures}),l={pattern:o.pattern,flags:"".concat(n.hasIndices?"d":"").concat(n.global?"g":"").concat(r.flags).concat(r.options.disable.v?"u":"v")};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{let p=o.hiddenCaptures.sort((f,w)=>f-w),u=Array.from(o.captureTransfers),m=i._strategy,d=l.pattern.length>=n.lazyCompileLength;(p.length||u.length||m||d)&&(l.options={...p.length&&{hiddenCaptures:p},...u.length&&{transfers:u},...m&&{strategy:m},...d&&{lazyCompile:d}})}return l}function ia(e,t){return Vv(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function oc(e={}){let t={target:"auto",cache:new Map,...e};return t.regexConstructor||=n=>ia(n,{target:t.target}),{createScanner(n){return new yb(n,t)},createString:_b}}K6();Y6();J6();var LZ=new Map(Object.entries({typescript:["ts","tsx","mts","cts"],javascript:["js","jsx","mjs","cjs"],shellscript:["sh","bash","zsh"],fish:["fish"],json:["json","jsonc","jsonl","ndjson","ipynb"],csv:["csv"],python:["py","pyw","pyi"],ruby:["rb","rake","gemspec"],go:["go"],rust:["rs"],java:["java"],c:["c","h"],cpp:["cc","cpp","cxx","hh","hpp","hxx"],csharp:["cs"],kotlin:["kt","kts"],swift:["swift"],php:["php"],yaml:["yaml","yml"],toml:["toml"],ini:["ini","conf","cfg","properties"],dotenv:["env"],log:["log"],diff:["diff","patch"],http:["http"],markdown:["md","markdown"],mdx:["mdx"],rst:["rst"],latex:["tex","sty","cls"],bibtex:["bib"],asciidoc:["adoc"],html:["html","htm","xhtml"],css:["css"],scss:["scss"],less:["less"],sql:["sql"],xml:["xml","xsd","xsl","xslt","plist","svg"],lua:["lua"],bat:["bat","cmd"],powershell:["ps1","psm1","psd1"],r:["r"],julia:["jl"],dart:["dart"],scala:["scala"],clojure:["clj","cljs","edn"],erlang:["erl","hrl"],elixir:["ex","exs"],haskell:["hs"],fsharp:["fs","fsi","fsx"],vb:["vb"],perl:["pl","pm"],verilog:["v"],"system-verilog":["sv","svh"],graphql:["graphql","gql"],proto:["proto"],hcl:["tf","tfvars","hcl"],nix:["nix"],vue:["vue"],svelte:["svelte"],make:["makefile","mk"],cmake:["cmake"],groovy:["gradle","groovy"]}).flatMap(([e,t])=>t.map(n=>[n,e]))),SZ=[...LZ.keys()];var Tq=X1(Iv(),1);var f3={card:"At",header:"Yt",heading:"It",language:"Rt",title:"Bt",actions:"Dt",status:"Gt",action:"ne",body:"Ht"};var n5={block:"le",body:"ki",line:"vi",path:"Lt",gap:"Ot",del:"yi",add:"ji",context:"Xi",expand:"Ti"};var jZ={};function pc(e,t){let n=t||jZ,a=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return Pv(e,a,i)}function Pv(e,t,n){if(HZ(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Bv(e.children,t,n)}return Array.isArray(e)?Bv(e,t,n):""}function Bv(e,t,n){let a=[],i=-1;for(;++ii?0:i+t:t=t>i?i:t,n=n>0?n:0,a.length<1e4)s=Array.from(a),s.unshift(t,n),e.splice(...s);else for(n&&e.splice(t,n);r0?(U0(e,e.length,0,t),e):t}var Dv={}.hasOwnProperty;function ra(e){let t={},n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"\uFFFD":String.fromCodePoint(n)}function p2(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var P0=l4(/[A-Za-z]/),M0=l4(/[\dA-Za-z]/),Gv=l4(/[#-'*+\--9=?A-Z^-~]/);function U4(e){return e!==null&&(e<32||e===127)}var Q6=l4(/\d/),Ov=l4(/[\dA-Fa-f]/),Wv=l4(/[!-/:-@[-`{-~]/);function t1(e){return e!==null&&e<-2}function j1(e){return e!==null&&(e<0||e===32)}function f1(e){return e===-2||e===-1||e===32}var v3=l4(/\p{P}|\p{S}/u),Te=l4(/\s/);function l4(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function ca(e){let t=[],n=-1,a=0,i=0;for(;++n55295&&r<57344){let c=e.charCodeAt(n+1);r<56320&&c>56319&&c<57344?(s=String.fromCharCode(r,c),i=1):s="\uFFFD"}else s=String.fromCharCode(r);s&&(t.push(e.slice(a,n),encodeURIComponent(s)),a=n+i+1,s=""),i&&(n+=i,i=0)}return t.join("")+e.slice(a)}function g1(e,t,n,a){let i=a?a-1:1/0,r=0;return s;function s(o){return f1(o)?(e.enter(n),c(o)):t(o)}function c(o){return f1(o)&&r++0&&f1(p)?(e.enter(a),o(p)):l(p)}function o(p){return f1(p)&&s=i?t(p):n(p)}}var Uv={tokenize:VZ};function VZ(e){let t=e.attempt(this.parser.constructs.contentInitial,a,i),n;return t;function a(c){if(c===null){e.consume(c);return}return e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),g1(e,t,"linePrefix")}function i(c){return e.enter("paragraph"),r(c)}function r(c){let o=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=o),n=o,s(c)}function s(c){if(c===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(c);return}return t1(c)?(e.consume(c),e.exit("chunkText"),r):(e.consume(c),s)}}var y3=class{constructor(){this.index=new Map,this.map=[]}add(t,n,a){Xv(this,t,n,a,!1)}addBefore(t,n,a){Xv(this,t,n,a,!0)}consume(t){if(this.map.sort(function(r,s){return r[0]-s[0]}),this.map.length===0)return;let n=this.map.length,a=[];for(;n>0;)n-=1,a.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];a.push(t.slice()),t.length=0;let i=a.pop();for(;i;){for(let r of i)t.push(r);i=a.pop()}this.map.length=0,this.index.clear()}};function Xv(e,t,n,a,i){if(n===0&&a.length===0)return;let r=e.index.get(t);if(r){r[1]+=n,i?(a.push(...r[2]),r[2]=a):r[2].push(...a);return}let s=[t,n,a];e.map.push(s),e.index.set(t,s)}var Yv={tokenize:qZ},Kv={tokenize:IZ};function qZ(e){let t=this,n=[],a=0,i,r,s;return c;function c(_){if(as))return;let j=t.events.length,T=j,H,E;for(;T--;)if(t.events[T][0]==="exit"&&t.events[T][1].type==="chunkFlow"){if(H){E=t.events[T][1].end;break}H=!0}for(v(a),C=j;C_;){let $=n[z];t.containerState=$[1],$[0].exit.call(t,e)}n.length=_}function b(){i.write([null]),r=void 0,i=void 0,t.containerState._closeFlow=void 0}}function IZ(e,t,n){return g1(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function _3(e){if(e===null||j1(e)||Te(e))return 1;if(v3(e))return 2}function p4(e,t,n){let a=[],i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1,s={...e[i][1].end},c={...e[n][1].start};Jv(s,-r),Jv(c,r);let o={type:r>1?"strongSequence":"emphasisSequence",start:s,end:{...e[i][1].end}},l={type:r>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:c},p={type:r>1?"strongText":"emphasisText",start:{...e[i][1].end},end:{...e[n][1].start}},u={type:r>1?"strong":"emphasis",start:{...o.start},end:{...l.end}};e[i][1].end={...o.start},e[n][1].start={...l.end},a=[],e[i][1].end.offset-e[i][1].start.offset&&(a=_2(a,[["enter",e[i][1],t],["exit",e[i][1],t]])),a=_2(a,[["enter",u,t],["enter",o,t],["exit",o,t],["enter",p,t]]),a=_2(a,p4(t.parser.constructs.insideSpan.null,e.slice(i+1,n),t)),a=_2(a,[["exit",p,t],["enter",l,t],["exit",l,t],["exit",u,t]]);let m=0;e[n][1].end.offset-e[n][1].start.offset&&(m=2,a=_2(a,[["enter",e[n][1],t],["exit",e[n][1],t]])),U0(e,i-1,n-i+3,a),n=i+a.length-m-2;break}}for(n=-1;++n0&&f1(C)?g1(e,b,"linePrefix",r+1)(C):b(C)}function b(C){return C===null||t1(C)?e.check(e7,w,z)(C):(e.enter("codeFlowValue"),_(C))}function _(C){return C===null||t1(C)?(e.exit("codeFlowValue"),b(C)):(e.consume(C),_)}function z(C){return e.exit("codeFenced"),t(C)}function $(C,j,T){let H=0;return E;function E(O){return C.enter("lineEnding"),C.consume(O),C.exit("lineEnding"),R}function R(O){return C.enter("codeFencedFence"),f1(O)?g1(C,D,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(O):D(O)}function D(O){return O===c?(C.enter("codeFencedFenceSequence"),B(O)):T(O)}function B(O){return O===c?(H++,C.consume(O),B):H>=s?(C.exit("codeFencedFenceSequence"),f1(O)?g1(C,Q,"whitespace")(O):Q(O)):T(O)}function Q(O){return O===null||t1(O)?(C.exit("codeFencedFence"),j(O)):T(O)}}}var t7={name:"codeIndented",tokenize:QZ},JZ={partial:!0,tokenize:eF};function QZ(e,t,n){return a;function a(c){return e.enter("codeIndented"),uc(e,i,n,"linePrefix",4,4)(c)}function i(c){return c===null?s(c):t1(c)?e.attempt(JZ,i,s)(c):(e.enter("codeFlowValue"),r(c))}function r(c){return c===null||t1(c)?(e.exit("codeFlowValue"),i(c)):(e.consume(c),r)}function s(c){return e.exit("codeIndented"),t(c)}}function eF(e,t,n){let a=this;return i;function i(s){return a.parser.lazy[a.now().line]?n(s):t1(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i):uc(e,t,r,"linePrefix",4,4)(s)}function r(s){return t1(s)?i(s):n(s)}}var dc={name:"codeText",previous:nF,resolve:tF,tokenize:aF};function tF(e){let t=e.length-4,n=3,a,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(a=n;++a=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-a+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-a+this.left.length).reverse())}splice(t,n,a){let i=n||0;this.setCursor(Math.trunc(t));let r=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return a&&n7(this.left,a),r.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),n7(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),n7(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(s):e.interrupt(a.parser.constructs.flow,n,t)(s)}}function ha(e,t,n,a,i,r,s,c,o){let l=o||Number.POSITIVE_INFINITY,p=0;return u;function u(v){return v===60?(e.enter(a),e.enter(i),e.enter(r),e.consume(v),e.exit(r),m):v===null||v===32||v===41||U4(v)?n(v):(e.enter(a),e.enter(s),e.enter(c),e.enter("chunkString",{contentType:"string"}),w(v))}function m(v){return v===62?(e.enter(r),e.consume(v),e.exit(r),e.exit(i),e.exit(a),t):(e.enter(c),e.enter("chunkString",{contentType:"string"}),d(v))}function d(v){return v===62?(e.exit("chunkString"),e.exit(c),m(v)):v===null||v===60||t1(v)?n(v):(e.consume(v),v===92?f:d)}function f(v){return v===60||v===62||v===92?(e.consume(v),d):d(v)}function w(v){return!p&&(v===null||v===41||j1(v))?(e.exit("chunkString"),e.exit(c),e.exit(s),e.exit(a),t(v)):p999||d===null||d===91||d===93&&!o||d===94&&!c&&"_hiddenFootnoteSupport"in s.parser.constructs?n(d):d===93?(e.exit(r),e.enter(i),e.consume(d),e.exit(i),e.exit(a),t):t1(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),p):(e.enter("chunkString",{contentType:"string"}),u(d))}function u(d){return d===null||d===91||d===93||t1(d)||c++>999?(e.exit("chunkString"),p(d)):(e.consume(d),o||(o=!f1(d)),d===92?m:u)}function m(d){return d===91||d===92||d===93?(e.consume(d),c++,u):u(d)}}function ba(e,t,n,a,i,r){let s;return c;function c(m){return m===34||m===39||m===40?(e.enter(a),e.enter(i),e.consume(m),e.exit(i),s=m===40?41:m,o):n(m)}function o(m){return m===s?(e.enter(i),e.consume(m),e.exit(i),e.exit(a),t):(e.enter(r),l(m))}function l(m){return m===s?(e.exit(r),o(s)):m===null?n(m):t1(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),g1(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),p(m))}function p(m){return m===s||m===null||t1(m)?(e.exit("chunkString"),l(m)):(e.consume(m),m===92?u:p)}function u(m){return m===s||m===92?(e.consume(m),p):p(m)}}function K4(e,t){let n;return a;function a(i){return t1(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,a):f1(i)?g1(e,a,n?"linePrefix":"lineSuffix")(i):t(i)}}var gc={name:"definition",tokenize:pF},lF={partial:!0,tokenize:uF};function pF(e,t,n){let a=this,i;return r;function r(d){return e.enter("definition"),s(d)}function s(d){return ga.call(a,e,c,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(d)}function c(d){return i=p2(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)),d===58?(e.enter("definitionMarker"),e.consume(d),e.exit("definitionMarker"),o):n(d)}function o(d){return j1(d)?K4(e,l)(d):l(d)}function l(d){return ha(e,p,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(d)}function p(d){return e.attempt(lF,u,u)(d)}function u(d){return f1(d)?g1(e,m,"whitespace")(d):m(d)}function m(d){return d===null||t1(d)?(e.exit("definition"),a.parser.defined.push(i),t(d)):n(d)}}function uF(e,t,n){return a;function a(c){return j1(c)?K4(e,i)(c):n(c)}function i(c){return ba(e,r,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(c)}function r(c){return f1(c)?g1(e,s,"whitespace")(c):s(c)}function s(c){return c===null||t1(c)?t(c):n(c)}}var bc={name:"hardBreakEscape",tokenize:mF};function mF(e,t,n){return a;function a(r){return e.enter("hardBreakEscape"),e.consume(r),i}function i(r){return t1(r)?(e.exit("hardBreakEscape"),t(r)):n(r)}}var fc={name:"headingAtx",resolve:dF,tokenize:hF};function dF(e,t){let n=e.length-2,a=3;if(e[a][1].type==="whitespace"&&(a+=2),n-2>a&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(a===n-1||n-4>a&&e[n-2][1].type==="whitespace")&&(n-=a+1===n?2:4),n>a){let i={type:"atxHeadingText",start:e[a][1].start,end:e[n][1].end},r={type:"chunkText",start:e[a][1].start,end:e[n][1].end,contentType:"text"};U0(e,a,n-a+1,[["enter",i,t],["enter",r,t],["exit",r,t],["exit",i,t]])}return e}function hF(e,t,n){let a=0;return i;function i(p){return e.enter("atxHeading"),r(p)}function r(p){return e.enter("atxHeadingSequence"),s(p)}function s(p){return p===35&&a++<6?(e.consume(p),s):p===null||j1(p)?(e.exit("atxHeadingSequence"),c(p)):n(p)}function c(p){return p===35?(e.enter("atxHeadingSequence"),o(p)):p===null||t1(p)?(e.exit("atxHeading"),t(p)):f1(p)?g1(e,c,"whitespace")(p):(e.enter("atxHeadingText"),l(p))}function o(p){return p===35?(e.consume(p),o):(e.exit("atxHeadingSequence"),c(p))}function l(p){return p===null||p===35||j1(p)?(e.exit("atxHeadingText"),c(p)):(e.consume(p),l)}}var Qv=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],vc=["pre","script","style","textarea"];var yc={concrete:!0,name:"htmlFlow",resolveTo:bF,tokenize:fF},gF={partial:!0,tokenize:vF};function bF(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function fF(e,t,n){let a=this,i,r,s,c,o;return l;function l(S){return p(S)}function p(S){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(S),u}function u(S){return S===33?(e.consume(S),m):S===47?(e.consume(S),r=!0,w):S===63?(e.consume(S),i=3,a.interrupt?t:A):P0(S)?(e.consume(S),s=String.fromCharCode(S),x):n(S)}function m(S){return S===45?(e.consume(S),i=2,d):S===91?(e.consume(S),i=5,c=0,f):P0(S)?(e.consume(S),i=4,a.interrupt?t:A):n(S)}function d(S){return S===45?(e.consume(S),a.interrupt?t:A):n(S)}function f(S){let R1="CDATA[";return S===R1.charCodeAt(c++)?(e.consume(S),c===R1.length?a.interrupt?t:D:f):n(S)}function w(S){return P0(S)?(e.consume(S),s=String.fromCharCode(S),x):n(S)}function x(S){if(S===null||S===47||S===62||j1(S)){let R1=S===47,h0=s.toLowerCase();return!R1&&!r&&vc.includes(h0)?(i=1,a.interrupt?t(S):D(S)):Qv.includes(s.toLowerCase())?(i=6,R1?(e.consume(S),v):a.interrupt?t(S):D(S)):(i=7,a.interrupt&&!a.parser.lazy[a.now().line]?n(S):r?b(S):_(S))}return S===45||M0(S)?(e.consume(S),s+=String.fromCharCode(S),x):n(S)}function v(S){return S===62?(e.consume(S),a.interrupt?t:D):n(S)}function b(S){return f1(S)?(e.consume(S),b):E(S)}function _(S){return S===47?(e.consume(S),E):S===58||S===95||P0(S)?(e.consume(S),z):f1(S)?(e.consume(S),_):E(S)}function z(S){return S===45||S===46||S===58||S===95||M0(S)?(e.consume(S),z):$(S)}function $(S){return S===61?(e.consume(S),C):f1(S)?(e.consume(S),$):_(S)}function C(S){return S===null||S===60||S===61||S===62||S===96?n(S):S===34||S===39?(e.consume(S),o=S,j):f1(S)?(e.consume(S),C):T(S)}function j(S){return S===o?(e.consume(S),o=null,H):S===null||t1(S)?n(S):(e.consume(S),j)}function T(S){return S===null||S===34||S===39||S===47||S===60||S===61||S===62||S===96||j1(S)?$(S):(e.consume(S),T)}function H(S){return S===47||S===62||f1(S)?_(S):n(S)}function E(S){return S===62?(e.consume(S),R):n(S)}function R(S){return S===null||t1(S)?D(S):f1(S)?(e.consume(S),R):n(S)}function D(S){return S===45&&i===2?(e.consume(S),U):S===60&&i===1?(e.consume(S),r1):S===62&&i===4?(e.consume(S),i1):S===63&&i===3?(e.consume(S),A):S===93&&i===5?(e.consume(S),A1):t1(S)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(gF,l1,B)(S)):S===null||t1(S)?(e.exit("htmlFlowData"),B(S)):(e.consume(S),D)}function B(S){return e.check(e7,Q,l1)(S)}function Q(S){return e.enter("lineEnding"),e.consume(S),e.exit("lineEnding"),O}function O(S){return S===null||t1(S)?B(S):(e.enter("htmlFlowData"),D(S))}function U(S){return S===45?(e.consume(S),A):D(S)}function r1(S){return S===47?(e.consume(S),s="",z1):D(S)}function z1(S){if(S===62){let R1=s.toLowerCase();return vc.includes(R1)?(e.consume(S),i1):D(S)}return P0(S)&&s.length<8?(e.consume(S),s+=String.fromCharCode(S),z1):D(S)}function A1(S){return S===93?(e.consume(S),A):D(S)}function A(S){return S===62?(e.consume(S),i1):S===45&&i===2?(e.consume(S),A):D(S)}function i1(S){return S===null||t1(S)?(e.exit("htmlFlowData"),l1(S)):(e.consume(S),i1)}function l1(S){return e.exit("htmlFlow"),t(S)}}function vF(e,t,n){return a;function a(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Ve,t,n)}}var _c={name:"htmlText",tokenize:yF};function yF(e,t,n){let a=this,i,r,s;return c;function c(A){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(A),o}function o(A){return A===33?(e.consume(A),l):A===47?(e.consume(A),$):A===63?(e.consume(A),_):P0(A)?(e.consume(A),T):n(A)}function l(A){return A===45?(e.consume(A),p):A===91?(e.consume(A),r=0,f):P0(A)?(e.consume(A),b):n(A)}function p(A){return A===45?(e.consume(A),d):n(A)}function u(A){return A===null?n(A):A===45?(e.consume(A),m):t1(A)?(s=u,r1(A)):(e.consume(A),u)}function m(A){return A===45?(e.consume(A),d):u(A)}function d(A){return A===62?U(A):A===45?m(A):u(A)}function f(A){let i1="CDATA[";return A===i1.charCodeAt(r++)?(e.consume(A),r===i1.length?w:f):n(A)}function w(A){return A===null?n(A):A===93?(e.consume(A),x):t1(A)?(s=w,r1(A)):(e.consume(A),w)}function x(A){return A===93?(e.consume(A),v):w(A)}function v(A){return A===62?U(A):A===93?(e.consume(A),v):w(A)}function b(A){return A===null||A===62?U(A):t1(A)?(s=b,r1(A)):(e.consume(A),b)}function _(A){return A===null?n(A):A===63?(e.consume(A),z):t1(A)?(s=_,r1(A)):(e.consume(A),_)}function z(A){return A===62?U(A):_(A)}function $(A){return P0(A)?(e.consume(A),C):n(A)}function C(A){return A===45||M0(A)?(e.consume(A),C):j(A)}function j(A){return t1(A)?(s=j,r1(A)):f1(A)?(e.consume(A),j):U(A)}function T(A){return A===45||M0(A)?(e.consume(A),T):A===47||A===62||j1(A)?H(A):n(A)}function H(A){return A===47?(e.consume(A),U):A===58||A===95||P0(A)?(e.consume(A),E):t1(A)?(s=H,r1(A)):f1(A)?(e.consume(A),H):U(A)}function E(A){return A===45||A===46||A===58||A===95||M0(A)?(e.consume(A),E):R(A)}function R(A){return A===61?(e.consume(A),D):t1(A)?(s=R,r1(A)):f1(A)?(e.consume(A),R):H(A)}function D(A){return A===null||A===60||A===61||A===62||A===96?n(A):A===34||A===39?(e.consume(A),i=A,B):t1(A)?(s=D,r1(A)):f1(A)?(e.consume(A),D):(e.consume(A),Q)}function B(A){return A===i?(e.consume(A),i=void 0,O):A===null?n(A):t1(A)?(s=B,r1(A)):(e.consume(A),B)}function Q(A){return A===null||A===34||A===39||A===60||A===61||A===96?n(A):A===47||A===62||j1(A)?H(A):(e.consume(A),Q)}function O(A){return A===47||A===62||j1(A)?H(A):n(A)}function U(A){return A===62?(e.consume(A),e.exit("htmlTextData"),e.exit("htmlText"),t):n(A)}function r1(A){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),z1}function z1(A){return f1(A)?g1(e,A1,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):A1(A)}function A1(A){return e.enter("htmlTextData"),s(A)}}var Y4={name:"labelEnd",resolveAll:kF,resolveTo:zF,tokenize:CF},_F={tokenize:AF},wF={tokenize:MF},xF={tokenize:$F};function kF(e){let t=-1,n=[];for(;++t0&&i[i.length-1]._balanced;)i.pop();r=i[i.length-1]}return c;function c(m){return r?r._inactive?u(m):(s=a.parser.defined.includes(p2(a.sliceSerialize({start:r.end,end:a.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(m),e.exit("labelMarker"),e.exit("labelEnd"),o):n(m)}function o(m){return m===40?e.attempt(_F,p,s?p:u)(m):m===91?e.attempt(wF,p,s?l:u)(m):s?p(m):u(m)}function l(m){return e.attempt(xF,p,u)(m)}function p(m){return i.pop(),t(m)}function u(m){return r._balanced=!0,n(m)}}function AF(e,t,n){return a;function a(u){return e.enter("resource"),e.enter("resourceMarker"),e.consume(u),e.exit("resourceMarker"),i}function i(u){return j1(u)?K4(e,r)(u):r(u)}function r(u){return u===41?p(u):ha(e,s,c,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(u)}function s(u){return j1(u)?K4(e,o)(u):p(u)}function c(u){return n(u)}function o(u){return u===34||u===39||u===40?ba(e,l,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(u):p(u)}function l(u){return j1(u)?K4(e,p)(u):p(u)}function p(u){return u===41?(e.enter("resourceMarker"),e.consume(u),e.exit("resourceMarker"),e.exit("resource"),t):n(u)}}function MF(e,t,n){let a=this;return i;function i(c){return ga.call(a,e,r,s,"reference","referenceMarker","referenceString")(c)}function r(c){return a.parser.defined.includes(p2(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)))?t(c):n(c)}function s(c){return n(c)}}function $F(e,t,n){return a;function a(r){return e.enter("reference"),e.enter("referenceMarker"),e.consume(r),e.exit("referenceMarker"),i}function i(r){return r===93?(e.enter("referenceMarker"),e.consume(r),e.exit("referenceMarker"),e.exit("reference"),t):n(r)}}var wc={name:"labelStartImage",resolveAll:Y4.resolveAll,tokenize:LF};function LF(e,t,n){let a=this,i;return r;function r(o){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(o),e.exit("labelImageMarker"),s}function s(o){return o===91?(e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),i=e.exit("labelImage"),c):n(o)}function c(o){return o===94&&"_hiddenFootnoteSupport"in a.parser.constructs?n(o):(a._labelStarts=a._labelStarts||[],a._labelStarts.push(i),t(o))}}var xc={name:"labelStartLink",resolveAll:Y4.resolveAll,tokenize:SF};function SF(e,t,n){let a=this,i;return r;function r(c){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(c),e.exit("labelMarker"),i=e.exit("labelLink"),s}function s(c){return c===94&&"_hiddenFootnoteSupport"in a.parser.constructs?n(c):(a._labelStarts=a._labelStarts||[],a._labelStarts.push(i),t(c))}}var a7={name:"lineEnding",tokenize:EF};function EF(e,t){return n;function n(a){return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),g1(e,t,"linePrefix")}}var J4={name:"thematicBreak",tokenize:ZF};function ZF(e,t,n){let a=0,i;return r;function r(l){return e.enter("thematicBreak"),s(l)}function s(l){return i=l,c(l)}function c(l){return l===i?(e.enter("thematicBreakSequence"),o(l)):a>=3&&(l===null||t1(l))?(e.exit("thematicBreak"),t(l)):n(l)}function o(l){return l===i?(e.consume(l),a++,o):(e.exit("thematicBreakSequence"),f1(l)?g1(e,c,"whitespace")(l):c(l))}}var u2={continuation:{tokenize:NF},exit:VF,name:"list",tokenize:HF},FF={partial:!0,tokenize:qF},jF={partial:!0,tokenize:TF};function HF(e,t,n){let a=this,i=a.events[a.events.length-1],r=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,s=0;return c;function c(d){let f=a.containerState.type||(d===42||d===43||d===45?"listUnordered":"listOrdered");if(f==="listUnordered"?!a.containerState.marker||d===a.containerState.marker:Q6(d)){if(a.containerState.type||(a.containerState.type=f,e.enter(f,{_container:!0})),f==="listUnordered")return e.enter("listItemPrefix"),d===42||d===45?e.check(J4,n,l)(d):l(d);if(!a.interrupt||d===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),o(d)}return n(d)}function o(d){return Q6(d)&&++s<10?(e.consume(d),o):(!a.interrupt||s<2)&&(a.containerState.marker?d===a.containerState.marker:d===41||d===46)?(e.exit("listItemValue"),l(d)):n(d)}function l(d){return e.enter("listItemMarker"),e.consume(d),e.exit("listItemMarker"),a.containerState.marker=a.containerState.marker||d,e.check(Ve,a.interrupt?n:p,e.attempt(FF,m,u))}function p(d){return a.containerState.initialBlankLine=!0,r++,m(d)}function u(d){return f1(d)?(e.enter("listItemPrefixWhitespace"),e.consume(d),e.exit("listItemPrefixWhitespace"),m):n(d)}function m(d){return a.containerState.size=r+a.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(d)}}function NF(e,t,n){let a=this;return a.containerState._closeFlow=void 0,e.check(Ve,i,r);function i(c){return a.containerState.furtherBlankLines=a.containerState.furtherBlankLines||a.containerState.initialBlankLine,g1(e,t,"listItemIndent",a.containerState.size+1)(c)}function r(c){return a.containerState.furtherBlankLines||!f1(c)?(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,s(c)):(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,e.attempt(jF,t,s)(c))}function s(c){return a.containerState._closeFlow=!0,a.interrupt=void 0,g1(e,e.attempt(u2,t,n),"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(c)}}function TF(e,t,n){let a=this;return g1(e,i,"listItemIndent",a.containerState.size+1);function i(r){let s=a.events[a.events.length-1];return s&&s[1].type==="listItemIndent"&&s[2].sliceSerialize(s[1],!0).length===a.containerState.size?t(r):n(r)}}function VF(e){e.exit(this.containerState.type)}function qF(e,t,n){let a=this;return g1(e,i,"listItemPrefixWhitespace",a.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(r){let s=a.events[a.events.length-1];return!f1(r)&&s&&s[1].type==="listItemPrefixWhitespace"?t(r):n(r)}}var fa={name:"setextUnderline",resolveTo:IF,tokenize:BF};function IF(e,t){let n=new y3,a=e.length,i,r,s;for(;a--;)if(e[a][0]==="enter"){if(e[a][1].type==="content"){i=a;break}e[a][1].type==="paragraph"&&(r=a)}else e[a][1].type==="content"&&n.add(a,1,[]),!s&&e[a][1].type==="definition"&&(s=a);let c={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type="setextHeadingText",s?(n.add(r,0,[["enter",c,t]]),n.add(s+1,0,[["exit",e[i][1],t]]),e[i][1].end={...e[s][1].end}):e[i][1]=c,n.add(e.length,0,[["exit",c,t]]),n.consume(e),e}function BF(e,t,n){let a=this,i;return r;function r(l){let p=a.events.length,u;for(;p--;)if(a.events[p][1].type!=="lineEnding"&&a.events[p][1].type!=="linePrefix"&&a.events[p][1].type!=="content"){u=a.events[p][1].type==="paragraph";break}return!a.parser.lazy[a.now().line]&&(a.interrupt||u)?(e.enter("setextHeadingLine"),i=l,s(l)):n(l)}function s(l){return e.enter("setextHeadingLineSequence"),c(l)}function c(l){return l===i?(e.consume(l),c):(e.exit("setextHeadingLineSequence"),f1(l)?g1(e,o,"lineSuffix")(l):o(l))}function o(l){return l===null||t1(l)?(e.exit("setextHeadingLine"),t(l)):n(l)}}var ey={tokenize:PF};function PF(e){let t=this,n=e.attempt(Ve,a,e.attempt(this.parser.constructs.flowInitial,i,g1(e,e.attempt(this.parser.constructs.flow,i,e.attempt(hc,i)),"linePrefix")));return n;function a(r){if(r===null){e.consume(r);return}return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var ty={resolveAll:ry()},ny=iy("string"),ay=iy("text");function iy(e){return{resolveAll:ry(e==="text"?RF:void 0),tokenize:t};function t(n){let a=this,i=this.parser.constructs[e],r=n.attempt(i,s,c);return s;function s(p){return l(p)?r(p):c(p)}function c(p){if(p===null){n.consume(p);return}return n.enter("data"),n.consume(p),o}function o(p){return l(p)?(n.exit("data"),r(p)):(n.consume(p),o)}function l(p){if(p===null)return!0;let u=i[p],m=-1;if(u)for(;++mYF,contentInitial:()=>GF,disable:()=>JF,document:()=>DF,flow:()=>WF,flowInitial:()=>OF,insideSpan:()=>KF,string:()=>UF,text:()=>XF});var DF={42:u2,43:u2,45:u2,48:u2,49:u2,50:u2,51:u2,52:u2,53:u2,54:u2,55:u2,56:u2,57:u2,62:oa},GF={91:gc},OF={[-2]:t7,[-1]:t7,32:t7},WF={35:fc,42:J4,45:[fa,J4],60:yc,61:fa,95:J4,96:ua,126:ua},UF={38:pa,92:la},XF={[-5]:a7,[-4]:a7,[-3]:a7,33:wc,38:pa,42:X4,60:[mc,_c],91:xc,92:[bc,la],93:Y4,95:X4,96:dc},KF={null:[X4,ty]},YF={null:[42,95]},JF={null:[]};function sy(e,t,n){let a={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},r=[],s=[],c=[],o=!0,l={attempt:H(j),check:H(T),consume:z,enter:$,exit:C,interrupt:H(T,{interrupt:!0})},p={code:null,containerState:{},defineSkip:v,events:[],now:x,parser:e,previous:null,sliceSerialize:f,sliceStream:w,write:d},u=t.tokenize.call(p,l),m;return t.resolveAll&&r.push(t),p;function d(B){return s=_2(s,B),b(),s[s.length-1]!==null?[]:(E(t,0),p.events=p4(r,p.events,p),p.events)}function f(B,Q){return ej(w(B),Q)}function w(B){return QF(s,B)}function x(){let{_bufferIndex:B,_index:Q,line:O,column:U,offset:r1}=a;return{_bufferIndex:B,_index:Q,line:O,column:U,offset:r1}}function v(B){i[B.line]=B.column,D()}function b(){for(;a._index-1){let c=s[0];typeof c=="string"?s[0]=c.slice(a):s.shift()}r>0&&s.push(e[i].slice(0,r))}return s}function ej(e,t){let n=-1,a=[],i;for(;++n0&&i(t.beforeEnter,{..._1,sliceSerialize:q[s0][2].sliceSerialize},q[s0][1]),my.call($2,q[s0][1].type)&&$2[q[s0][1].type].call({..._1,sliceSerialize:q[s0][2].sliceSerialize},q[s0][1]),q[s0][0]==="exit"&&t.afterExit.length>0&&i(t.afterExit,{..._1,sliceSerialize:q[s0][2].sliceSerialize},q[s0][1])}if(_1.tokenStack.length>0){let $2=_1.tokenStack[_1.tokenStack.length-1];($2[1]||uy).call(_1,void 0,$2[0])}for(e1.position={start:u4(q.length>0?q[0][1].start:{line:1,column:1,offset:0}),end:u4(q.length>0?q[q.length-2][1].end:{line:1,column:1,offset:0})},s0=-1;++s0":""))+")"})}return x;function x(){let v=!r||l(m,d,f[f.length-1]||void 0),b=gy;if(c&&v&&(b=hy(c(m,f,d)),b[0]===_a))return b;if("children"in m&&m.children){let _=m;if(_.children&&b[0]!==i7){let z=(i?-1:_.children.length)+p,$=[...f,_];for(;z>-1&&z<_.children.length;){let C=_.children[z],j=u(C,z,$)();if(j[0]===_a)return j;z=typeof j[1]=="number"?j[1]:z+p}}}if(o&&v){let _=hy(o(m,f,d));if(_[0]===i7)throw new Error("Unexpected value `"+_[0]+"` from `exit`, expected `CONTINUE`, `EXIT`, index, or nothing");if(_[0]===_a||typeof _[1]=="number")return _}return b}}}function hy(e){return Array.isArray(e)?e:typeof e=="number"?[by,e]:e==null?gy:[e]}function Sc(e,t,n){let i=r5((n||{}).ignore||[]),r=pj(t),s=-1;for(;++s0?{type:"text",value:C}:void 0),C===!1)d.lastIndex=z+1;else{if(w!==z&&_({type:"text",value:l.value.slice(w,z)}),Array.isArray(C))for(let j of C)_(j);else C&&_(C);w=z+b[0].length,x=!0}if(!d.global)break;b=d.exec(l.value)}return x?(w?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],a=n.indexOf(")"),i=Kt(e,"("),r=Kt(e,")");for(;a!==-1&&i>r;)e+=n.slice(0,a+1),n=n.slice(a+1),a=n.indexOf(")"),r++;return[e,n]}function fy(e,t){let n=e.input.charCodeAt(e.index-1);return(e.index===0||Te(n)||v3(n))&&(!t||n!==47)}Fj.peek=Zj;function zj(){this.buffer()}function Cj(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function Aj(){this.buffer()}function Mj(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function $j(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=p2(this.sliceSerialize(e)).toLowerCase(),n.label=t}function Lj(e){this.exit(e)}function Sj(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=p2(this.sliceSerialize(e)).toLowerCase(),n.label=t}function Ej(e){this.exit(e)}function Zj(){return"["}function Fj(e,t,n,a){let i=n.createTracker(a),r=i.move("[^"),s=n.enter("footnoteReference"),c=n.enter("reference");return r+=i.move(n.safe(n.associationId(e),{after:"]",before:r})),c(),s(),r+=i.move("]"),r}function Fc(){return{enter:{gfmFootnoteCallString:zj,gfmFootnoteCall:Cj,gfmFootnoteDefinitionLabelString:Aj,gfmFootnoteDefinition:Mj},exit:{gfmFootnoteCallString:$j,gfmFootnoteCall:Lj,gfmFootnoteDefinitionLabelString:Sj,gfmFootnoteDefinition:Ej}}}vy.attention=Tj;vy.peek=Vj;function jc(){return{canContainEols:["delete"],enter:{strikethrough:Hj},exit:{strikethrough:Nj}}}function Hj(e){this.enter({type:"delete",children:[],position:void 0},e)}function Nj(e){this.exit(e)}function vy(e,t,n,a){let i=n.createTracker(a),r=n.stack.includes("strikethrough")?"~":"~~",s=n.enter("strikethrough"),c=i.move(r);return c+=n.containerPhrasing(e,{...i.current(),before:c,after:"~"}),c+=i.move(r),s(),c}function Tj(){return{construct:"strikethrough",markers:["~"],sizes:[2,1]}}function Vj(){return"~"}function Nc(){return{enter:{table:Ij,tableData:yy,tableHeader:yy,tableRow:Pj},exit:{codeText:Rj,table:Bj,tableData:Hc,tableHeader:Hc,tableRow:Hc}}}function Ij(e){let t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function Bj(e){this.exit(e),this.data.inTable=void 0}function Pj(e){this.enter({type:"tableRow",children:[]},e)}function Hc(e){this.exit(e)}function yy(e){this.enter({type:"tableCell",children:[]},e)}function Rj(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,Dj));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function Dj(e,t){return t==="|"?t:e}function Tc(){return{exit:{taskListCheckValueChecked:_y,taskListCheckValueUnchecked:_y,paragraph:Oj}}}function _y(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function Oj(e){let t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){let n=this.stack[this.stack.length-1];n.type;let a=n.children[0];if(a&&a.type==="text"){let i=t.children,r=-1,s;for(;++r0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var iH={tokenize:uH,partial:!0};function Pc(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:oH,continuation:{tokenize:lH},exit:pH}},text:{91:{name:"gfmFootnoteCall",tokenize:cH},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:rH,resolveTo:sH}}}}function rH(e,t,n){let a=this,i=a.events.length,r=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),s;for(;i--;){let o=a.events[i][1];if(o.type==="labelImage"){s=o;break}if(o.type==="gfmFootnoteCall"||o.type==="labelLink"||o.type==="label"||o.type==="image"||o.type==="link")break}return c;function c(o){if(!s||!s._balanced)return n(o);let l=p2(a.sliceSerialize({start:s.end,end:a.now()}));return l.codePointAt(0)!==94||!r.includes(l.slice(1))?n(o):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(o),e.exit("gfmFootnoteCallLabelMarker"),t(o))}}function sH(e,t){let n=e.length,a;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){a=e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";let i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},r={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};r.end.column++,r.end.offset++,r.end._bufferIndex++;let s={type:"gfmFootnoteCallString",start:Object.assign({},r.end),end:Object.assign({},e[e.length-1][1].start)},c={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},o=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",r,t],["exit",r,t],["enter",s,t],["enter",c,t],["exit",c,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...o),e}function cH(e,t,n){let a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),r=0,s;return c;function c(u){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),o}function o(u){return u!==94?n(u):(e.enter("gfmFootnoteCallMarker"),e.consume(u),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(u){if(r>999||u===93&&!s||u===null||u===91||j1(u))return n(u);if(u===93){e.exit("chunkString");let m=e.exit("gfmFootnoteCallString");return i.includes(p2(a.sliceSerialize(m)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(u)}return j1(u)||(s=!0),r++,e.consume(u),u===92?p:l}function p(u){return u===91||u===92||u===93?(e.consume(u),r++,l):l(u)}}function oH(e,t,n){let a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),r,s=0,c;return o;function o(f){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),l}function l(f){return f===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",p):n(f)}function p(f){if(s>999||f===93&&!c||f===null||f===91||j1(f))return n(f);if(f===93){e.exit("chunkString");let w=e.exit("gfmFootnoteDefinitionLabelString");return r=p2(a.sliceSerialize(w)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),m}return j1(f)||(c=!0),s++,e.consume(f),f===92?u:p}function u(f){return f===91||f===92||f===93?(e.consume(f),s++,p):p(f)}function m(f){return f===58?(e.enter("definitionMarker"),e.consume(f),e.exit("definitionMarker"),i.includes(r)||i.push(r),g1(e,d,"gfmFootnoteDefinitionWhitespace")):n(f)}function d(f){return t(f)}}function lH(e,t,n){return e.check(Ve,t,e.attempt(iH,t,n))}function pH(e){e.exit("gfmFootnoteDefinition")}function uH(e,t,n){let a=this;return g1(e,i,"gfmFootnoteDefinitionIndent",5);function i(r){let s=a.events[a.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(r):n(r)}}function Rc(e){let n=(e||{}).singleTilde,a={name:"strikethrough",tokenize:r,resolveAll:i};return n==null&&(n=!0),{text:{126:a},insideSpan:{null:[a]},attentionMarkers:{null:[126]}};function i(s,c){let o=-1;for(;++o1?o(f):(s.consume(f),u++,d);if(u<2&&!n)return o(f);let x=s.exit("strikethroughSequenceTemporary"),v=_3(f);return x._open=!v||v===2&&!!w,x._close=!w||w===2&&!!v,c(f)}}}var xa=class{constructor(){this.map=[],this.index=new Map}add(t,n,a){mH(this,t,n,a)}consume(t){if(this.map.sort(function(r,s){return r[0]-s[0]}),this.map.length===0)return;let n=this.map.length,a=[];for(;n>0;)n-=1,a.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];a.push(t.slice()),t.length=0;let i=a.pop();for(;i;){for(let r of i)t.push(r);i=a.pop()}this.map.length=0,this.index.clear()}};function mH(e,t,n,a){if(n===0&&a.length===0)return;let i=e.index.get(t);if(i){i[1]+=n,i[2].push(...a);return}let r=[t,n,a];e.map.push(r),e.index.set(t,r)}function Ly(e,t){let n=!1,a=[];for(;t-1;){let{type:Q}=a.events[R][1];if(Q==="lineEnding"||Q==="linePrefix")R--;else break}let D=R>-1?a.events[R][1].type:null,B=D==="tableHead"||D==="tableRow"?C:o;return B===C&&a.parser.lazy[a.now().line]?n(E):B(E)}function o(E){return e.enter("tableHead"),e.enter("tableRow"),l(E)}function l(E){return E===124||(s=!0,r+=1),p(E)}function p(E){return E===null?n(E):t1(E)?r>1?(r=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(E),e.exit("lineEnding"),d):n(E):f1(E)?g1(e,p,"whitespace")(E):(r+=1,s&&(s=!1,i+=1),E===124?(e.enter("tableCellDivider"),e.consume(E),e.exit("tableCellDivider"),s=!0,p):(e.enter("data"),u(E)))}function u(E){return E===null||E===124||j1(E)?(e.exit("data"),p(E)):(e.consume(E),E===92?m:u)}function m(E){return E===92||E===124?(e.consume(E),u):u(E)}function d(E){return a.interrupt=!1,a.parser.lazy[a.now().line]?n(E):(e.enter("tableDelimiterRow"),s=!1,f1(E)?g1(e,f,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(E):f(E))}function f(E){return E===45||E===58?x(E):E===124?(s=!0,e.enter("tableCellDivider"),e.consume(E),e.exit("tableCellDivider"),w):$(E)}function w(E){return f1(E)?g1(e,x,"whitespace")(E):x(E)}function x(E){return E===58?(r+=1,s=!0,e.enter("tableDelimiterMarker"),e.consume(E),e.exit("tableDelimiterMarker"),v):E===45?(r+=1,v(E)):E===null||t1(E)?z(E):$(E)}function v(E){return E===45?(e.enter("tableDelimiterFiller"),b(E)):$(E)}function b(E){return E===45?(e.consume(E),b):E===58?(s=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(E),e.exit("tableDelimiterMarker"),_):(e.exit("tableDelimiterFiller"),_(E))}function _(E){return f1(E)?g1(e,z,"whitespace")(E):z(E)}function z(E){return E===124?f(E):E===null||t1(E)?!s||i!==r?$(E):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(E)):$(E)}function $(E){return n(E)}function C(E){return e.enter("tableRow"),j(E)}function j(E){return E===124?(e.enter("tableCellDivider"),e.consume(E),e.exit("tableCellDivider"),j):E===null||t1(E)?(e.exit("tableRow"),t(E)):f1(E)?g1(e,j,"whitespace")(E):(e.enter("data"),T(E))}function T(E){return E===null||E===124||j1(E)?(e.exit("data"),j(E)):(e.consume(E),E===92?H:T)}function H(E){return E===92||E===124?(e.consume(E),T):T(E)}}function hH(e,t){let n=-1,a=!0,i=0,r=[0,0,0,0],s=[0,0,0,0],c=!1,o=0,l,p,u,m=new xa;for(;++nn[2]+1){let f=n[2]+1,w=n[3]-n[2]-1;e.add(f,w,[])}}e.add(n[3]+1,0,[["exit",u,t]])}return i!==void 0&&(r.end=Object.assign({},s5(t.events,i)),e.add(i,0,[["exit",r,t]]),r=void 0),r}function Sy(e,t,n,a,i){let r=[],s=s5(t.events,n);i&&(i.end=Object.assign({},s),r.push(["exit",i,t])),a.end=Object.assign({},s),r.push(["exit",a,t]),e.add(n+1,0,r)}function s5(e,t){let n=e[t],a=n[0]==="enter"?"start":"end";return n[1][a]}var gH={name:"tasklistCheck",tokenize:bH};function Gc(){return{text:{91:gH}}}function bH(e,t,n){let a=this;return i;function i(o){return a.previous!==null||!a._gfmTasklistFirstContentOfListItem?n(o):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(o),e.exit("taskListCheckMarker"),r)}function r(o){return j1(o)?(e.enter("taskListCheckValueUnchecked"),e.consume(o),e.exit("taskListCheckValueUnchecked"),s):o===88||o===120?(e.enter("taskListCheckValueChecked"),e.consume(o),e.exit("taskListCheckValueChecked"),s):n(o)}function s(o){return o===93?(e.enter("taskListCheckMarker"),e.consume(o),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),c):n(o)}function c(o){return t1(o)?t(o):f1(o)?e.check({tokenize:fH},t,n)(o):n(o)}}function fH(e,t,n){return g1(e,a,"whitespace");function a(i){return i===null?n(i):t(i)}}function Oc(e){return ra([Ic(),Pc(),Rc(e),Dc(),Gc()])}var Zy={tokenize:vH,concrete:!0,name:"mathFlow"},Ey={tokenize:yH,partial:!0};function vH(e,t,n){let a=this,i=a.events[a.events.length-1],r=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,s=0;return c;function c(b){return e.enter("mathFlow"),e.enter("mathFlowFence"),e.enter("mathFlowFenceSequence"),o(b)}function o(b){return b===36?(e.consume(b),s++,o):s<2?n(b):(e.exit("mathFlowFenceSequence"),g1(e,l,"whitespace")(b))}function l(b){return b===null||t1(b)?u(b):(e.enter("mathFlowFenceMeta"),e.enter("chunkString",{contentType:"string"}),p(b))}function p(b){return b===null||t1(b)?(e.exit("chunkString"),e.exit("mathFlowFenceMeta"),u(b)):b===36?n(b):(e.consume(b),p)}function u(b){return e.exit("mathFlowFence"),a.interrupt?t(b):e.attempt(Ey,m,x)(b)}function m(b){return e.attempt({tokenize:v,partial:!0},x,d)(b)}function d(b){return(r?g1(e,f,"linePrefix",r+1):f)(b)}function f(b){return b===null?x(b):t1(b)?e.attempt(Ey,m,x)(b):(e.enter("mathFlowValue"),w(b))}function w(b){return b===null||t1(b)?(e.exit("mathFlowValue"),f(b)):(e.consume(b),w)}function x(b){return e.exit("mathFlow"),t(b)}function v(b,_,z){let $=0;return g1(b,C,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function C(H){return b.enter("mathFlowFence"),b.enter("mathFlowFenceSequence"),j(H)}function j(H){return H===36?($++,b.consume(H),j):$15?l="\u2026"+c.slice(i-15,i):l=c.slice(0,i);var p;r+15e.replace(kH,"-$1").toLowerCase(),CH={"&":"&",">":">","<":"<",'"':""","'":"'"},AH=/[&><"']/g,d2=e=>String(e).replace(AH,t=>CH[t]),Fa=e=>e.type==="ordgroup"||e.type==="color"?e.body.length===1?Fa(e.body[0]):e:e.type==="font"?Fa(e.body):e,MH=new Set(["mathord","textord","atom"]),C3=e=>MH.has(Fa(e).type),$H=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},co={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand ",cliProcessor:e=>e==="Infinity"?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function LH(e){if(typeof e!="string")return e.enum[0];switch(e){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}function SH(e){if(Object.prototype.hasOwnProperty.call(e,"default")&&e.default!==void 0)return e.default;var t=Array.isArray(e.type)?e.type[0]:e.type;return LH(t)}function EH(e,t,n,a){var i=Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0,r=Object.prototype.hasOwnProperty.call(a,"processor")?a.processor:void 0;e[t]=i!==void 0?r?r(i):i:SH(a)}var p7=class{constructor(t){t===void 0&&(t={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,t=t||{};for(var n of Object.keys(co)){var a=co[n];a&&EH(this,n,t,a)}}reportNonstrict(t,n,a){var i=this.strict;if(typeof i=="function"&&(i=i(t,n,a)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new K("LaTeX-incompatible input and strict mode is set to 'error': "+(n+" ["+t+"]"),a);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+t+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+n+" ["+t+"]"))}}useStrictBehavior(t,n,a){var i=this.strict;if(typeof i=="function")try{i=i(t,n,a)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+t+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+n+" ["+t+"]")),!1)}isTrusted(t){if("url"in t&&t.url&&!t.protocol){var n=$H(t.url);if(n==null)return!1;t.protocol=n}var a=typeof this.trust=="function"?this.trust(t):this.trust;return!!a}},Ie=class{constructor(t,n,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=n,this.cramped=a}sup(){return Be[ZH[this.id]]}sub(){return Be[FH[this.id]]}fracNum(){return Be[jH[this.id]]}fracDen(){return Be[HH[this.id]]}cramp(){return Be[NH[this.id]]}text(){return Be[TH[this.id]]}isTight(){return this.size>=2}},Lo=0,Ha=1,o5=2,z3=3,u7=4,pe=5,l5=6,k2=7,Be=[new Ie(Lo,0,!1),new Ie(Ha,0,!0),new Ie(o5,1,!1),new Ie(z3,1,!0),new Ie(u7,2,!1),new Ie(pe,2,!0),new Ie(l5,3,!1),new Ie(k2,3,!0)],ZH=[u7,pe,u7,pe,l5,k2,l5,k2],FH=[pe,pe,pe,pe,k2,k2,k2,k2],jH=[o5,z3,u7,pe,l5,k2,l5,k2],HH=[z3,z3,pe,pe,k2,k2,k2,k2],NH=[Ha,Ha,z3,z3,pe,pe,k2,k2],TH=[Lo,Ha,o5,z3,o5,z3,o5,z3],C1={DISPLAY:Be[Lo],TEXT:Be[o5],SCRIPT:Be[u7],SCRIPTSCRIPT:Be[l5]},oo=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function VH(e){for(var t=0;t=i[0]&&e<=i[1])return n.name}return null}var ja=[];oo.forEach(e=>e.blocks.forEach(t=>ja.push(...t)));function f_(e){for(var t=0;t=ja[t]&&e<=ja[t+1])return!0;return!1}var R0=e=>e+" "+e,c5=80,qH=function(t,n){return"M95,"+(622+t+n)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+t/2.075+" -"+t+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+t)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},IH=function(t,n){return"M263,"+(601+t+n)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+t/2.084+" -"+t+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+t)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},BH=function(t,n){return"M983 "+(10+t+n)+"\nl"+t/3.13+" -"+t+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+t)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},PH=function(t,n){return"M424,"+(2398+t+n)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+t/4.223+" -"+t+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+t)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+t)+" "+n+"\nh400000v"+(40+t)+"h-400000z"},RH=function(t,n){return"M473,"+(2713+t+n)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+t/5.298+" -"+t+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+t)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+t)+" "+n+"h400000v"+(40+t)+"H1017.7z"},DH=function(t){var n=t/2;return"M400000 "+t+" H0 L"+n+" 0 l65 45 L145 "+(t-80)+" H400000z"},GH=function(t,n,a){var i=a-54-n-t;return"M702 "+(t+n)+"H400000"+(40+t)+"\nH742v"+i+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+n+"H400000v"+(40+t)+"H742z"},OH=function(t,n,a){n=1e3*n;var i="";switch(t){case"sqrtMain":i=qH(n,c5);break;case"sqrtSize1":i=IH(n,c5);break;case"sqrtSize2":i=BH(n,c5);break;case"sqrtSize3":i=PH(n,c5);break;case"sqrtSize4":i=RH(n,c5);break;case"sqrtTall":i=GH(n,c5,a)}return i},WH=function(t,n){switch(t){case"\u239C":return R0("M291 0 H417 V"+n+" H291z");case"\u2223":return R0("M145 0 H188 V"+n+" H145z");case"\u2225":return R0("M145 0 H188 V"+n+" H145z")+R0("M367 0 H410 V"+n+" H367z");case"\u239F":return R0("M457 0 H583 V"+n+" H457z");case"\u23A2":return R0("M319 0 H403 V"+n+" H319z");case"\u23A5":return R0("M263 0 H347 V"+n+" H263z");case"\u23AA":return R0("M384 0 H504 V"+n+" H384z");case"\u23D0":return R0("M312 0 H355 V"+n+" H312z");case"\u2016":return R0("M257 0 H300 V"+n+" H257z")+R0("M478 0 H521 V"+n+" H478z");default:return""}},jy={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:R0("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:R0("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:R0("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:R0("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:R0("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:R0("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:R0("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:R0("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},UH=function(t,n){switch(t){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+n+" v1759 v84 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+n+" v1759 v84 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+n+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+n+" v1759 h84z";case"vert":return"M145 15 v585 v"+n+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-n+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+n+" v585 h43z";case"doublevert":return"M145 15 v585 v"+n+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-n+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+n+" v585 h43z\nM367 15 v585 v"+n+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-n+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+n+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+n+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+n+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+n+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+n+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+n+" v602 h84z\nM403 1759 V0 H319 V1759 v"+n+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+n+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+n+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(n+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(n+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(n+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(n+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}};function XH(e){return"toText"in e}var h4=class{constructor(t){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(t){return this.classes.includes(t)}toNode(){for(var t=document.createDocumentFragment(),n=0;n{if(XH(t))return t.toText();throw new Error("Expected MathDomNode with toText, got "+t.constructor.name)}).join("")}},lo={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},KH={ex:!0,em:!0,mu:!0},v_=function(t){return typeof t!="string"&&(t=t.unit),t in lo||t in KH||t==="ex"},_0=function(t,n){var a;if(t.unit in lo)a=lo[t.unit]/n.fontMetrics().ptPerEm/n.sizeMultiplier;else if(t.unit==="mu")a=n.fontMetrics().cssEmPerMu;else{var i;if(n.style.isTight()?i=n.havingStyle(n.style.text()):i=n,t.unit==="ex")a=i.fontMetrics().xHeight;else if(t.unit==="em")a=i.fontMetrics().quad;else throw new K("Invalid unit: '"+t.unit+"'");i!==n&&(a*=i.sizeMultiplier/n.sizeMultiplier)}return Math.min(t.number*a,n.maxSize)},n1=function(t){return+t.toFixed(4)+"em"},g4=function(t){return t.filter(n=>n).join(" ")},So=function(t){var n="";for(var a of Object.keys(t)){var i=t[a];i!==void 0&&(n+=zH(a)+":"+i+";")}return n},y_=function(t,n,a){if(this.classes=t||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=a||{},n){n.style.isTight()&&this.classes.push("mtight");var i=n.getColor();i&&(this.style.color=i)}},__=function(t){var n=document.createElement(t);n.className=g4(this.classes),Object.assign(n.style,this.style);for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);for(var i=0;i/=\x00-\x1f]/,w_=function(t){var n="<"+t;this.classes.length&&(n+=' class="'+d2(g4(this.classes))+'"');var a=So(this.style);a&&(n+=' style="'+d2(a)+'"');for(var i of Object.keys(this.attributes)){if(YH.test(i))throw new K("Invalid attribute name '"+i+"'");n+=" "+i+'="'+d2(this.attributes[i])+'"'}n+=">";for(var r=0;r",n},b4=class{constructor(t,n,a,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,y_.call(this,t,a,i),this.children=n||[]}setAttribute(t,n){this.attributes[t]=n}hasClass(t){return this.classes.includes(t)}toNode(){return __.call(this,"span")}toMarkup(){return w_.call(this,"span")}},p5=class{constructor(t,n,a,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,y_.call(this,n,i),this.children=a||[],this.setAttribute("href",t)}setAttribute(t,n){this.attributes[t]=n}hasClass(t){return this.classes.includes(t)}toNode(){return __.call(this,"a")}toMarkup(){return w_.call(this,"a")}},po=class{constructor(t,n,a){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=n,this.src=t,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=a}hasClass(t){return this.classes.includes(t)}toNode(){var t=document.createElement("img");return t.src=this.src,t.alt=this.alt,t.className="mord",Object.assign(t.style,this.style),t}toMarkup(){var t=''+d2(this.alt)+'0&&(n=document.createElement("span"),n.style.marginRight=n1(this.italic)),this.classes.length>0&&(n=n||document.createElement("span"),n.className=g4(this.classes)),Object.keys(this.style).length>0&&(n=n||document.createElement("span"),Object.assign(n.style,this.style)),n?(n.appendChild(t),n):t}toMarkup(){var t=!1,n="0&&(a+="margin-right:"+n1(this.italic)+";"),a+=So(this.style),a&&(t=!0,n+=' style="'+d2(a)+'"');var i=d2(this.text);return t?(n+=">",n+=i,n+="",n):i}},ke=class{constructor(t,n){this.children=void 0,this.attributes=void 0,this.children=t||[],this.attributes=n||{}}toNode(){var t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"svg");for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);for(var i=0;i':''}},m7=class{constructor(t){this.attributes=void 0,this.attributes=t||{}}toNode(){var t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"line");for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);return n}toMarkup(){var t=" but got "+String(e)+".")}var tN=e=>e instanceof b4||e instanceof p5||e instanceof h4,Pe={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},Uc={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Hy={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};function nN(e,t){Pe[e]=t}function Eo(e,t,n){if(!Pe[t])throw new Error("Font metrics not found for font: "+t+".");var a=e.charCodeAt(0),i=Pe[t][a];if(!i&&e[0]in Hy&&(a=Hy[e[0]].charCodeAt(0),i=Pe[t][a]),!i&&n==="text"&&f_(a)&&(i=Pe[t][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var Xc={};function aN(e){var t;if(e>=5?t=0:e>=3?t=1:t=2,!Xc[t]){var n=Xc[t]={cssEmPerMu:Uc.quad[t]/18};for(var a of Object.keys(Uc))n[a]=Uc[a][t]}return Xc[t]}var u0={math:{},text:{}};function h(e,t,n,a,i,r){u0[e][i]={font:t,group:n,replace:a},r&&a&&(u0[e][a]=u0[e][i])}var g="math",G="text",y="main",M="ams",m0="accent-token",m1="bin",C2="close",d5="inner",v1="mathord",T0="op-token",X2="open",f7="punct",L="rel",A3="spacing",F="textord";h(g,y,L,"\u2261","\\equiv",!0);h(g,y,L,"\u227A","\\prec",!0);h(g,y,L,"\u227B","\\succ",!0);h(g,y,L,"\u223C","\\sim",!0);h(g,y,L,"\u22A5","\\perp");h(g,y,L,"\u2AAF","\\preceq",!0);h(g,y,L,"\u2AB0","\\succeq",!0);h(g,y,L,"\u2243","\\simeq",!0);h(g,y,L,"\u2223","\\mid",!0);h(g,y,L,"\u226A","\\ll",!0);h(g,y,L,"\u226B","\\gg",!0);h(g,y,L,"\u224D","\\asymp",!0);h(g,y,L,"\u2225","\\parallel");h(g,y,L,"\u22C8","\\bowtie",!0);h(g,y,L,"\u2323","\\smile",!0);h(g,y,L,"\u2291","\\sqsubseteq",!0);h(g,y,L,"\u2292","\\sqsupseteq",!0);h(g,y,L,"\u2250","\\doteq",!0);h(g,y,L,"\u2322","\\frown",!0);h(g,y,L,"\u220B","\\ni",!0);h(g,y,L,"\u221D","\\propto",!0);h(g,y,L,"\u22A2","\\vdash",!0);h(g,y,L,"\u22A3","\\dashv",!0);h(g,y,L,"\u220B","\\owns");h(g,y,f7,".","\\ldotp");h(g,y,f7,"\u22C5","\\cdotp");h(g,y,f7,"\u22C5","\xB7");h(G,y,F,"\u22C5","\xB7");h(g,y,F,"#","\\#");h(G,y,F,"#","\\#");h(g,y,F,"&","\\&");h(G,y,F,"&","\\&");h(g,y,F,"\u2135","\\aleph",!0);h(g,y,F,"\u2200","\\forall",!0);h(g,y,F,"\u210F","\\hbar",!0);h(g,y,F,"\u2203","\\exists",!0);h(g,y,F,"\u2207","\\nabla",!0);h(g,y,F,"\u266D","\\flat",!0);h(g,y,F,"\u2113","\\ell",!0);h(g,y,F,"\u266E","\\natural",!0);h(g,y,F,"\u2663","\\clubsuit",!0);h(g,y,F,"\u2118","\\wp",!0);h(g,y,F,"\u266F","\\sharp",!0);h(g,y,F,"\u2662","\\diamondsuit",!0);h(g,y,F,"\u211C","\\Re",!0);h(g,y,F,"\u2661","\\heartsuit",!0);h(g,y,F,"\u2111","\\Im",!0);h(g,y,F,"\u2660","\\spadesuit",!0);h(g,y,F,"\xA7","\\S",!0);h(G,y,F,"\xA7","\\S");h(g,y,F,"\xB6","\\P",!0);h(G,y,F,"\xB6","\\P");h(g,y,F,"\u2020","\\dag");h(G,y,F,"\u2020","\\dag");h(G,y,F,"\u2020","\\textdagger");h(g,y,F,"\u2021","\\ddag");h(G,y,F,"\u2021","\\ddag");h(G,y,F,"\u2021","\\textdaggerdbl");h(g,y,C2,"\u23B1","\\rmoustache",!0);h(g,y,X2,"\u23B0","\\lmoustache",!0);h(g,y,C2,"\u27EF","\\rgroup",!0);h(g,y,X2,"\u27EE","\\lgroup",!0);h(g,y,m1,"\u2213","\\mp",!0);h(g,y,m1,"\u2296","\\ominus",!0);h(g,y,m1,"\u228E","\\uplus",!0);h(g,y,m1,"\u2293","\\sqcap",!0);h(g,y,m1,"\u2217","\\ast");h(g,y,m1,"\u2294","\\sqcup",!0);h(g,y,m1,"\u25EF","\\bigcirc",!0);h(g,y,m1,"\u2219","\\bullet",!0);h(g,y,m1,"\u2021","\\ddagger");h(g,y,m1,"\u2240","\\wr",!0);h(g,y,m1,"\u2A3F","\\amalg");h(g,y,m1,"&","\\And");h(g,y,L,"\u27F5","\\longleftarrow",!0);h(g,y,L,"\u21D0","\\Leftarrow",!0);h(g,y,L,"\u27F8","\\Longleftarrow",!0);h(g,y,L,"\u27F6","\\longrightarrow",!0);h(g,y,L,"\u21D2","\\Rightarrow",!0);h(g,y,L,"\u27F9","\\Longrightarrow",!0);h(g,y,L,"\u2194","\\leftrightarrow",!0);h(g,y,L,"\u27F7","\\longleftrightarrow",!0);h(g,y,L,"\u21D4","\\Leftrightarrow",!0);h(g,y,L,"\u27FA","\\Longleftrightarrow",!0);h(g,y,L,"\u21A6","\\mapsto",!0);h(g,y,L,"\u27FC","\\longmapsto",!0);h(g,y,L,"\u2197","\\nearrow",!0);h(g,y,L,"\u21A9","\\hookleftarrow",!0);h(g,y,L,"\u21AA","\\hookrightarrow",!0);h(g,y,L,"\u2198","\\searrow",!0);h(g,y,L,"\u21BC","\\leftharpoonup",!0);h(g,y,L,"\u21C0","\\rightharpoonup",!0);h(g,y,L,"\u2199","\\swarrow",!0);h(g,y,L,"\u21BD","\\leftharpoondown",!0);h(g,y,L,"\u21C1","\\rightharpoondown",!0);h(g,y,L,"\u2196","\\nwarrow",!0);h(g,y,L,"\u21CC","\\rightleftharpoons",!0);h(g,M,L,"\u226E","\\nless",!0);h(g,M,L,"\uE010","\\@nleqslant");h(g,M,L,"\uE011","\\@nleqq");h(g,M,L,"\u2A87","\\lneq",!0);h(g,M,L,"\u2268","\\lneqq",!0);h(g,M,L,"\uE00C","\\@lvertneqq");h(g,M,L,"\u22E6","\\lnsim",!0);h(g,M,L,"\u2A89","\\lnapprox",!0);h(g,M,L,"\u2280","\\nprec",!0);h(g,M,L,"\u22E0","\\npreceq",!0);h(g,M,L,"\u22E8","\\precnsim",!0);h(g,M,L,"\u2AB9","\\precnapprox",!0);h(g,M,L,"\u2241","\\nsim",!0);h(g,M,L,"\uE006","\\@nshortmid");h(g,M,L,"\u2224","\\nmid",!0);h(g,M,L,"\u22AC","\\nvdash",!0);h(g,M,L,"\u22AD","\\nvDash",!0);h(g,M,L,"\u22EA","\\ntriangleleft");h(g,M,L,"\u22EC","\\ntrianglelefteq",!0);h(g,M,L,"\u228A","\\subsetneq",!0);h(g,M,L,"\uE01A","\\@varsubsetneq");h(g,M,L,"\u2ACB","\\subsetneqq",!0);h(g,M,L,"\uE017","\\@varsubsetneqq");h(g,M,L,"\u226F","\\ngtr",!0);h(g,M,L,"\uE00F","\\@ngeqslant");h(g,M,L,"\uE00E","\\@ngeqq");h(g,M,L,"\u2A88","\\gneq",!0);h(g,M,L,"\u2269","\\gneqq",!0);h(g,M,L,"\uE00D","\\@gvertneqq");h(g,M,L,"\u22E7","\\gnsim",!0);h(g,M,L,"\u2A8A","\\gnapprox",!0);h(g,M,L,"\u2281","\\nsucc",!0);h(g,M,L,"\u22E1","\\nsucceq",!0);h(g,M,L,"\u22E9","\\succnsim",!0);h(g,M,L,"\u2ABA","\\succnapprox",!0);h(g,M,L,"\u2246","\\ncong",!0);h(g,M,L,"\uE007","\\@nshortparallel");h(g,M,L,"\u2226","\\nparallel",!0);h(g,M,L,"\u22AF","\\nVDash",!0);h(g,M,L,"\u22EB","\\ntriangleright");h(g,M,L,"\u22ED","\\ntrianglerighteq",!0);h(g,M,L,"\uE018","\\@nsupseteqq");h(g,M,L,"\u228B","\\supsetneq",!0);h(g,M,L,"\uE01B","\\@varsupsetneq");h(g,M,L,"\u2ACC","\\supsetneqq",!0);h(g,M,L,"\uE019","\\@varsupsetneqq");h(g,M,L,"\u22AE","\\nVdash",!0);h(g,M,L,"\u2AB5","\\precneqq",!0);h(g,M,L,"\u2AB6","\\succneqq",!0);h(g,M,L,"\uE016","\\@nsubseteqq");h(g,M,m1,"\u22B4","\\unlhd");h(g,M,m1,"\u22B5","\\unrhd");h(g,M,L,"\u219A","\\nleftarrow",!0);h(g,M,L,"\u219B","\\nrightarrow",!0);h(g,M,L,"\u21CD","\\nLeftarrow",!0);h(g,M,L,"\u21CF","\\nRightarrow",!0);h(g,M,L,"\u21AE","\\nleftrightarrow",!0);h(g,M,L,"\u21CE","\\nLeftrightarrow",!0);h(g,M,L,"\u25B3","\\vartriangle");h(g,M,F,"\u210F","\\hslash");h(g,M,F,"\u25BD","\\triangledown");h(g,M,F,"\u25CA","\\lozenge");h(g,M,F,"\u24C8","\\circledS");h(g,M,F,"\xAE","\\circledR");h(G,M,F,"\xAE","\\circledR");h(g,M,F,"\u2221","\\measuredangle",!0);h(g,M,F,"\u2204","\\nexists");h(g,M,F,"\u2127","\\mho");h(g,M,F,"\u2132","\\Finv",!0);h(g,M,F,"\u2141","\\Game",!0);h(g,M,F,"\u2035","\\backprime");h(g,M,F,"\u25B2","\\blacktriangle");h(g,M,F,"\u25BC","\\blacktriangledown");h(g,M,F,"\u25A0","\\blacksquare");h(g,M,F,"\u29EB","\\blacklozenge");h(g,M,F,"\u2605","\\bigstar");h(g,M,F,"\u2222","\\sphericalangle",!0);h(g,M,F,"\u2201","\\complement",!0);h(g,M,F,"\xF0","\\eth",!0);h(G,y,F,"\xF0","\xF0");h(g,M,F,"\u2571","\\diagup");h(g,M,F,"\u2572","\\diagdown");h(g,M,F,"\u25A1","\\square");h(g,M,F,"\u25A1","\\Box");h(g,M,F,"\u25CA","\\Diamond");h(g,M,F,"\xA5","\\yen",!0);h(G,M,F,"\xA5","\\yen",!0);h(g,M,F,"\u2713","\\checkmark",!0);h(G,M,F,"\u2713","\\checkmark");h(g,M,F,"\u2136","\\beth",!0);h(g,M,F,"\u2138","\\daleth",!0);h(g,M,F,"\u2137","\\gimel",!0);h(g,M,F,"\u03DD","\\digamma",!0);h(g,M,F,"\u03F0","\\varkappa");h(g,M,X2,"\u250C","\\@ulcorner",!0);h(g,M,C2,"\u2510","\\@urcorner",!0);h(g,M,X2,"\u2514","\\@llcorner",!0);h(g,M,C2,"\u2518","\\@lrcorner",!0);h(g,M,L,"\u2266","\\leqq",!0);h(g,M,L,"\u2A7D","\\leqslant",!0);h(g,M,L,"\u2A95","\\eqslantless",!0);h(g,M,L,"\u2272","\\lesssim",!0);h(g,M,L,"\u2A85","\\lessapprox",!0);h(g,M,L,"\u224A","\\approxeq",!0);h(g,M,m1,"\u22D6","\\lessdot");h(g,M,L,"\u22D8","\\lll",!0);h(g,M,L,"\u2276","\\lessgtr",!0);h(g,M,L,"\u22DA","\\lesseqgtr",!0);h(g,M,L,"\u2A8B","\\lesseqqgtr",!0);h(g,M,L,"\u2251","\\doteqdot");h(g,M,L,"\u2253","\\risingdotseq",!0);h(g,M,L,"\u2252","\\fallingdotseq",!0);h(g,M,L,"\u223D","\\backsim",!0);h(g,M,L,"\u22CD","\\backsimeq",!0);h(g,M,L,"\u2AC5","\\subseteqq",!0);h(g,M,L,"\u22D0","\\Subset",!0);h(g,M,L,"\u228F","\\sqsubset",!0);h(g,M,L,"\u227C","\\preccurlyeq",!0);h(g,M,L,"\u22DE","\\curlyeqprec",!0);h(g,M,L,"\u227E","\\precsim",!0);h(g,M,L,"\u2AB7","\\precapprox",!0);h(g,M,L,"\u22B2","\\vartriangleleft");h(g,M,L,"\u22B4","\\trianglelefteq");h(g,M,L,"\u22A8","\\vDash",!0);h(g,M,L,"\u22AA","\\Vvdash",!0);h(g,M,L,"\u2323","\\smallsmile");h(g,M,L,"\u2322","\\smallfrown");h(g,M,L,"\u224F","\\bumpeq",!0);h(g,M,L,"\u224E","\\Bumpeq",!0);h(g,M,L,"\u2267","\\geqq",!0);h(g,M,L,"\u2A7E","\\geqslant",!0);h(g,M,L,"\u2A96","\\eqslantgtr",!0);h(g,M,L,"\u2273","\\gtrsim",!0);h(g,M,L,"\u2A86","\\gtrapprox",!0);h(g,M,m1,"\u22D7","\\gtrdot");h(g,M,L,"\u22D9","\\ggg",!0);h(g,M,L,"\u2277","\\gtrless",!0);h(g,M,L,"\u22DB","\\gtreqless",!0);h(g,M,L,"\u2A8C","\\gtreqqless",!0);h(g,M,L,"\u2256","\\eqcirc",!0);h(g,M,L,"\u2257","\\circeq",!0);h(g,M,L,"\u225C","\\triangleq",!0);h(g,M,L,"\u223C","\\thicksim");h(g,M,L,"\u2248","\\thickapprox");h(g,M,L,"\u2AC6","\\supseteqq",!0);h(g,M,L,"\u22D1","\\Supset",!0);h(g,M,L,"\u2290","\\sqsupset",!0);h(g,M,L,"\u227D","\\succcurlyeq",!0);h(g,M,L,"\u22DF","\\curlyeqsucc",!0);h(g,M,L,"\u227F","\\succsim",!0);h(g,M,L,"\u2AB8","\\succapprox",!0);h(g,M,L,"\u22B3","\\vartriangleright");h(g,M,L,"\u22B5","\\trianglerighteq");h(g,M,L,"\u22A9","\\Vdash",!0);h(g,M,L,"\u2223","\\shortmid");h(g,M,L,"\u2225","\\shortparallel");h(g,M,L,"\u226C","\\between",!0);h(g,M,L,"\u22D4","\\pitchfork",!0);h(g,M,L,"\u221D","\\varpropto");h(g,M,L,"\u25C0","\\blacktriangleleft");h(g,M,L,"\u2234","\\therefore",!0);h(g,M,L,"\u220D","\\backepsilon");h(g,M,L,"\u25B6","\\blacktriangleright");h(g,M,L,"\u2235","\\because",!0);h(g,M,L,"\u22D8","\\llless");h(g,M,L,"\u22D9","\\gggtr");h(g,M,m1,"\u22B2","\\lhd");h(g,M,m1,"\u22B3","\\rhd");h(g,M,L,"\u2242","\\eqsim",!0);h(g,y,L,"\u22C8","\\Join");h(g,M,L,"\u2251","\\Doteq",!0);h(g,M,m1,"\u2214","\\dotplus",!0);h(g,M,m1,"\u2216","\\smallsetminus");h(g,M,m1,"\u22D2","\\Cap",!0);h(g,M,m1,"\u22D3","\\Cup",!0);h(g,M,m1,"\u2A5E","\\doublebarwedge",!0);h(g,M,m1,"\u229F","\\boxminus",!0);h(g,M,m1,"\u229E","\\boxplus",!0);h(g,M,m1,"\u22C7","\\divideontimes",!0);h(g,M,m1,"\u22C9","\\ltimes",!0);h(g,M,m1,"\u22CA","\\rtimes",!0);h(g,M,m1,"\u22CB","\\leftthreetimes",!0);h(g,M,m1,"\u22CC","\\rightthreetimes",!0);h(g,M,m1,"\u22CF","\\curlywedge",!0);h(g,M,m1,"\u22CE","\\curlyvee",!0);h(g,M,m1,"\u229D","\\circleddash",!0);h(g,M,m1,"\u229B","\\circledast",!0);h(g,M,m1,"\u22C5","\\centerdot");h(g,M,m1,"\u22BA","\\intercal",!0);h(g,M,m1,"\u22D2","\\doublecap");h(g,M,m1,"\u22D3","\\doublecup");h(g,M,m1,"\u22A0","\\boxtimes",!0);h(g,M,L,"\u21E2","\\dashrightarrow",!0);h(g,M,L,"\u21E0","\\dashleftarrow",!0);h(g,M,L,"\u21C7","\\leftleftarrows",!0);h(g,M,L,"\u21C6","\\leftrightarrows",!0);h(g,M,L,"\u21DA","\\Lleftarrow",!0);h(g,M,L,"\u219E","\\twoheadleftarrow",!0);h(g,M,L,"\u21A2","\\leftarrowtail",!0);h(g,M,L,"\u21AB","\\looparrowleft",!0);h(g,M,L,"\u21CB","\\leftrightharpoons",!0);h(g,M,L,"\u21B6","\\curvearrowleft",!0);h(g,M,L,"\u21BA","\\circlearrowleft",!0);h(g,M,L,"\u21B0","\\Lsh",!0);h(g,M,L,"\u21C8","\\upuparrows",!0);h(g,M,L,"\u21BF","\\upharpoonleft",!0);h(g,M,L,"\u21C3","\\downharpoonleft",!0);h(g,y,L,"\u22B6","\\origof",!0);h(g,y,L,"\u22B7","\\imageof",!0);h(g,M,L,"\u22B8","\\multimap",!0);h(g,M,L,"\u21AD","\\leftrightsquigarrow",!0);h(g,M,L,"\u21C9","\\rightrightarrows",!0);h(g,M,L,"\u21C4","\\rightleftarrows",!0);h(g,M,L,"\u21A0","\\twoheadrightarrow",!0);h(g,M,L,"\u21A3","\\rightarrowtail",!0);h(g,M,L,"\u21AC","\\looparrowright",!0);h(g,M,L,"\u21B7","\\curvearrowright",!0);h(g,M,L,"\u21BB","\\circlearrowright",!0);h(g,M,L,"\u21B1","\\Rsh",!0);h(g,M,L,"\u21CA","\\downdownarrows",!0);h(g,M,L,"\u21BE","\\upharpoonright",!0);h(g,M,L,"\u21C2","\\downharpoonright",!0);h(g,M,L,"\u21DD","\\rightsquigarrow",!0);h(g,M,L,"\u21DD","\\leadsto");h(g,M,L,"\u21DB","\\Rrightarrow",!0);h(g,M,L,"\u21BE","\\restriction");h(g,y,F,"\u2018","`");h(g,y,F,"$","\\$");h(G,y,F,"$","\\$");h(G,y,F,"$","\\textdollar");h(g,y,F,"%","\\%");h(G,y,F,"%","\\%");h(g,y,F,"_","\\_");h(G,y,F,"_","\\_");h(G,y,F,"_","\\textunderscore");h(g,y,F,"\u2220","\\angle",!0);h(g,y,F,"\u221E","\\infty",!0);h(g,y,F,"\u2032","\\prime");h(g,y,F,"\u25B3","\\triangle");h(g,y,F,"\u0393","\\Gamma",!0);h(g,y,F,"\u0394","\\Delta",!0);h(g,y,F,"\u0398","\\Theta",!0);h(g,y,F,"\u039B","\\Lambda",!0);h(g,y,F,"\u039E","\\Xi",!0);h(g,y,F,"\u03A0","\\Pi",!0);h(g,y,F,"\u03A3","\\Sigma",!0);h(g,y,F,"\u03A5","\\Upsilon",!0);h(g,y,F,"\u03A6","\\Phi",!0);h(g,y,F,"\u03A8","\\Psi",!0);h(g,y,F,"\u03A9","\\Omega",!0);h(g,y,F,"A","\u0391");h(g,y,F,"B","\u0392");h(g,y,F,"E","\u0395");h(g,y,F,"Z","\u0396");h(g,y,F,"H","\u0397");h(g,y,F,"I","\u0399");h(g,y,F,"K","\u039A");h(g,y,F,"M","\u039C");h(g,y,F,"N","\u039D");h(g,y,F,"O","\u039F");h(g,y,F,"P","\u03A1");h(g,y,F,"T","\u03A4");h(g,y,F,"X","\u03A7");h(g,y,F,"\xAC","\\neg",!0);h(g,y,F,"\xAC","\\lnot");h(g,y,F,"\u22A4","\\top");h(g,y,F,"\u22A5","\\bot");h(g,y,F,"\u2205","\\emptyset");h(g,M,F,"\u2205","\\varnothing");h(g,y,v1,"\u03B1","\\alpha",!0);h(g,y,v1,"\u03B2","\\beta",!0);h(g,y,v1,"\u03B3","\\gamma",!0);h(g,y,v1,"\u03B4","\\delta",!0);h(g,y,v1,"\u03F5","\\epsilon",!0);h(g,y,v1,"\u03B6","\\zeta",!0);h(g,y,v1,"\u03B7","\\eta",!0);h(g,y,v1,"\u03B8","\\theta",!0);h(g,y,v1,"\u03B9","\\iota",!0);h(g,y,v1,"\u03BA","\\kappa",!0);h(g,y,v1,"\u03BB","\\lambda",!0);h(g,y,v1,"\u03BC","\\mu",!0);h(g,y,v1,"\u03BD","\\nu",!0);h(g,y,v1,"\u03BE","\\xi",!0);h(g,y,v1,"\u03BF","\\omicron",!0);h(g,y,v1,"\u03C0","\\pi",!0);h(g,y,v1,"\u03C1","\\rho",!0);h(g,y,v1,"\u03C3","\\sigma",!0);h(g,y,v1,"\u03C4","\\tau",!0);h(g,y,v1,"\u03C5","\\upsilon",!0);h(g,y,v1,"\u03D5","\\phi",!0);h(g,y,v1,"\u03C7","\\chi",!0);h(g,y,v1,"\u03C8","\\psi",!0);h(g,y,v1,"\u03C9","\\omega",!0);h(g,y,v1,"\u03B5","\\varepsilon",!0);h(g,y,v1,"\u03D1","\\vartheta",!0);h(g,y,v1,"\u03D6","\\varpi",!0);h(g,y,v1,"\u03F1","\\varrho",!0);h(g,y,v1,"\u03C2","\\varsigma",!0);h(g,y,v1,"\u03C6","\\varphi",!0);h(g,y,m1,"\u2217","*",!0);h(g,y,m1,"+","+");h(g,y,m1,"\u2212","-",!0);h(g,y,m1,"\u22C5","\\cdot",!0);h(g,y,m1,"\u2218","\\circ",!0);h(g,y,m1,"\xF7","\\div",!0);h(g,y,m1,"\xB1","\\pm",!0);h(g,y,m1,"\xD7","\\times",!0);h(g,y,m1,"\u2229","\\cap",!0);h(g,y,m1,"\u222A","\\cup",!0);h(g,y,m1,"\u2216","\\setminus",!0);h(g,y,m1,"\u2227","\\land");h(g,y,m1,"\u2228","\\lor");h(g,y,m1,"\u2227","\\wedge",!0);h(g,y,m1,"\u2228","\\vee",!0);h(g,y,F,"\u221A","\\surd");h(g,y,X2,"\u27E8","\\langle",!0);h(g,y,X2,"\u2223","\\lvert");h(g,y,X2,"\u2225","\\lVert");h(g,y,C2,"?","?");h(g,y,C2,"!","!");h(g,y,C2,"\u27E9","\\rangle",!0);h(g,y,C2,"\u2223","\\rvert");h(g,y,C2,"\u2225","\\rVert");h(g,y,L,"=","=");h(g,y,L,":",":");h(g,y,L,"\u2248","\\approx",!0);h(g,y,L,"\u2245","\\cong",!0);h(g,y,L,"\u2265","\\ge");h(g,y,L,"\u2265","\\geq",!0);h(g,y,L,"\u2190","\\gets");h(g,y,L,">","\\gt",!0);h(g,y,L,"\u2208","\\in",!0);h(g,y,L,"\uE020","\\@not");h(g,y,L,"\u2282","\\subset",!0);h(g,y,L,"\u2283","\\supset",!0);h(g,y,L,"\u2286","\\subseteq",!0);h(g,y,L,"\u2287","\\supseteq",!0);h(g,M,L,"\u2288","\\nsubseteq",!0);h(g,M,L,"\u2289","\\nsupseteq",!0);h(g,y,L,"\u22A8","\\models");h(g,y,L,"\u2190","\\leftarrow",!0);h(g,y,L,"\u2264","\\le");h(g,y,L,"\u2264","\\leq",!0);h(g,y,L,"<","\\lt",!0);h(g,y,L,"\u2192","\\rightarrow",!0);h(g,y,L,"\u2192","\\to");h(g,M,L,"\u2271","\\ngeq",!0);h(g,M,L,"\u2270","\\nleq",!0);h(g,y,A3,"\xA0","\\ ");h(g,y,A3,"\xA0","\\space");h(g,y,A3,"\xA0","\\nobreakspace");h(G,y,A3,"\xA0","\\ ");h(G,y,A3,"\xA0"," ");h(G,y,A3,"\xA0","\\space");h(G,y,A3,"\xA0","\\nobreakspace");h(g,y,A3,"","\\nobreak");h(g,y,A3,"","\\allowbreak");h(g,y,f7,",",",");h(g,y,f7,";",";");h(g,M,m1,"\u22BC","\\barwedge",!0);h(g,M,m1,"\u22BB","\\veebar",!0);h(g,y,m1,"\u2299","\\odot",!0);h(g,y,m1,"\u2295","\\oplus",!0);h(g,y,m1,"\u2297","\\otimes",!0);h(g,y,F,"\u2202","\\partial",!0);h(g,y,m1,"\u2298","\\oslash",!0);h(g,M,m1,"\u229A","\\circledcirc",!0);h(g,M,m1,"\u22A1","\\boxdot",!0);h(g,y,m1,"\u25B3","\\bigtriangleup");h(g,y,m1,"\u25BD","\\bigtriangledown");h(g,y,m1,"\u2020","\\dagger");h(g,y,m1,"\u22C4","\\diamond");h(g,y,m1,"\u22C6","\\star");h(g,y,m1,"\u25C3","\\triangleleft");h(g,y,m1,"\u25B9","\\triangleright");h(g,y,X2,"{","\\{");h(G,y,F,"{","\\{");h(G,y,F,"{","\\textbraceleft");h(g,y,C2,"}","\\}");h(G,y,F,"}","\\}");h(G,y,F,"}","\\textbraceright");h(g,y,X2,"{","\\lbrace");h(g,y,C2,"}","\\rbrace");h(g,y,X2,"[","\\lbrack",!0);h(G,y,F,"[","\\lbrack",!0);h(g,y,C2,"]","\\rbrack",!0);h(G,y,F,"]","\\rbrack",!0);h(g,y,X2,"(","\\lparen",!0);h(g,y,C2,")","\\rparen",!0);h(G,y,F,"<","\\textless",!0);h(G,y,F,">","\\textgreater",!0);h(g,y,X2,"\u230A","\\lfloor",!0);h(g,y,C2,"\u230B","\\rfloor",!0);h(g,y,X2,"\u2308","\\lceil",!0);h(g,y,C2,"\u2309","\\rceil",!0);h(g,y,F,"\\","\\backslash");h(g,y,F,"\u2223","|");h(g,y,F,"\u2223","\\vert");h(G,y,F,"|","\\textbar",!0);h(g,y,F,"\u2225","\\|");h(g,y,F,"\u2225","\\Vert");h(G,y,F,"\u2225","\\textbardbl");h(G,y,F,"~","\\textasciitilde");h(G,y,F,"\\","\\textbackslash");h(G,y,F,"^","\\textasciicircum");h(g,y,L,"\u2191","\\uparrow",!0);h(g,y,L,"\u21D1","\\Uparrow",!0);h(g,y,L,"\u2193","\\downarrow",!0);h(g,y,L,"\u21D3","\\Downarrow",!0);h(g,y,L,"\u2195","\\updownarrow",!0);h(g,y,L,"\u21D5","\\Updownarrow",!0);h(g,y,T0,"\u2210","\\coprod");h(g,y,T0,"\u22C1","\\bigvee");h(g,y,T0,"\u22C0","\\bigwedge");h(g,y,T0,"\u2A04","\\biguplus");h(g,y,T0,"\u22C2","\\bigcap");h(g,y,T0,"\u22C3","\\bigcup");h(g,y,T0,"\u222B","\\int");h(g,y,T0,"\u222B","\\intop");h(g,y,T0,"\u222C","\\iint");h(g,y,T0,"\u222D","\\iiint");h(g,y,T0,"\u220F","\\prod");h(g,y,T0,"\u2211","\\sum");h(g,y,T0,"\u2A02","\\bigotimes");h(g,y,T0,"\u2A01","\\bigoplus");h(g,y,T0,"\u2A00","\\bigodot");h(g,y,T0,"\u222E","\\oint");h(g,y,T0,"\u222F","\\oiint");h(g,y,T0,"\u2230","\\oiiint");h(g,y,T0,"\u2A06","\\bigsqcup");h(g,y,T0,"\u222B","\\smallint");h(G,y,d5,"\u2026","\\textellipsis");h(g,y,d5,"\u2026","\\mathellipsis");h(G,y,d5,"\u2026","\\ldots",!0);h(g,y,d5,"\u2026","\\ldots",!0);h(g,y,d5,"\u22EF","\\@cdots",!0);h(g,y,d5,"\u22F1","\\ddots",!0);h(g,y,F,"\u22EE","\\varvdots");h(G,y,F,"\u22EE","\\varvdots");h(g,y,m0,"\u02CA","\\acute");h(g,y,m0,"\u02CB","\\grave");h(g,y,m0,"\xA8","\\ddot");h(g,y,m0,"~","\\tilde");h(g,y,m0,"\u02C9","\\bar");h(g,y,m0,"\u02D8","\\breve");h(g,y,m0,"\u02C7","\\check");h(g,y,m0,"^","\\hat");h(g,y,m0,"\u20D7","\\vec");h(g,y,m0,"\u02D9","\\dot");h(g,y,m0,"\u02DA","\\mathring");h(g,y,v1,"\uE131","\\@imath");h(g,y,v1,"\uE237","\\@jmath");h(g,y,F,"\u0131","\u0131");h(g,y,F,"\u0237","\u0237");h(G,y,F,"\u0131","\\i",!0);h(G,y,F,"\u0237","\\j",!0);h(G,y,F,"\xDF","\\ss",!0);h(G,y,F,"\xE6","\\ae",!0);h(G,y,F,"\u0153","\\oe",!0);h(G,y,F,"\xF8","\\o",!0);h(G,y,F,"\xC6","\\AE",!0);h(G,y,F,"\u0152","\\OE",!0);h(G,y,F,"\xD8","\\O",!0);h(G,y,m0,"\u02CA","\\'");h(G,y,m0,"\u02CB","\\`");h(G,y,m0,"\u02C6","\\^");h(G,y,m0,"\u02DC","\\~");h(G,y,m0,"\u02C9","\\=");h(G,y,m0,"\u02D8","\\u");h(G,y,m0,"\u02D9","\\.");h(G,y,m0,"\xB8","\\c");h(G,y,m0,"\u02DA","\\r");h(G,y,m0,"\u02C7","\\v");h(G,y,m0,"\xA8",'\\"');h(G,y,m0,"\u02DD","\\H");h(G,y,m0,"\u25EF","\\textcircled");var x_={"--":!0,"---":!0,"``":!0,"''":!0};h(G,y,F,"\u2013","--",!0);h(G,y,F,"\u2013","\\textendash");h(G,y,F,"\u2014","---",!0);h(G,y,F,"\u2014","\\textemdash");h(G,y,F,"\u2018","`",!0);h(G,y,F,"\u2018","\\textquoteleft");h(G,y,F,"\u2019","'",!0);h(G,y,F,"\u2019","\\textquoteright");h(G,y,F,"\u201C","``",!0);h(G,y,F,"\u201C","\\textquotedblleft");h(G,y,F,"\u201D","''",!0);h(G,y,F,"\u201D","\\textquotedblright");h(g,y,F,"\xB0","\\degree",!0);h(G,y,F,"\xB0","\\degree");h(G,y,F,"\xB0","\\textdegree",!0);h(g,y,F,"\xA3","\\pounds");h(g,y,F,"\xA3","\\mathsterling",!0);h(G,y,F,"\xA3","\\pounds");h(G,y,F,"\xA3","\\textsterling",!0);h(g,M,F,"\u2720","\\maltese");h(G,M,F,"\u2720","\\maltese");var Ny='0123456789/@."';for(za=0;za{var t=e.charCodeAt(0),n=e.charCodeAt(1),a=(t-55296)*1024+(n-56320)+65536;if(119808<=a&&a<120484){var i=Math.floor((a-119808)/26);return Dy[i]}else if(120782<=a&&a<=120831){var r=Math.floor((a-120782)/10);return rN[r]}else{if(a===120485||a===120486)return Dy[0];if(120486{if(g4(e.classes)!==g4(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize||e.italic!==0&&e.hasClass("mathnormal"))return!1;if(e.classes.length===1){var n=e.classes[0];if(n==="mbin"||n==="mord")return!1}for(var a of Object.keys(e.style))if(e.style[a]!==t.style[a])return!1;for(var i of Object.keys(t.style))if(e.style[i]!==t.style[i])return!1;return!0},k_=e=>{for(var t=0;tn&&(n=s.height),s.depth>a&&(a=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}t.height=n,t.depth=a,t.maxFontSize=i},W=function(t,n,a,i){var r=new b4(t,n,a,i);return Fo(r),r},f4=(e,t,n,a)=>new b4(e,t,n,a),u5=function(t,n,a){var i=W([t],[],n);return i.height=Math.max(a||n.fontMetrics().defaultRuleThickness,n.minRuleThickness),i.style.borderBottomWidth=n1(i.height),i.maxFontSize=1,i},lN=function(t,n,a,i){var r=new p5(t,n,a,i);return Fo(r),r},M3=function(t){var n=new h4(t);return Fo(n),n},m5=function(t,n){return t instanceof h4?W([],[t],n):t},pN=function(t){if(t.positionType==="individualShift"){for(var n=t.children,a=[n[0]],i=-n[0].shift-n[0].elem.depth,r=i,s=1;s{var n=W(["mspace"],[],t),a=_0(e,t);return n.style.marginRight=n1(a),n},$a=(e,t,n)=>{var a,i;switch(e){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=e}return t==="textbf"&&n==="textit"?i="BoldItalic":t==="textbf"?i="Bold":n==="textit"?i="Italic":i="Regular",a+"-"+i},fo={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},C_={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},A_=function(t,n){var a=C_[t],i=a[0],r=a[1],s=a[2],c=new Re(i),o=new ke([c],{width:n1(r),height:n1(s),style:"width:"+n1(r),viewBox:"0 0 "+1e3*r+" "+1e3*s,preserveAspectRatio:"xMinYMin"}),l=f4(["katex-overlay"],[o],n);return l.height=s,l.style.height=n1(s),l.style.width=n1(r),l},y0={number:3,unit:"mu"},et={number:4,unit:"mu"},k3={number:5,unit:"mu"},uN={mord:{mop:y0,mbin:et,mrel:k3,minner:y0},mop:{mord:y0,mop:y0,mrel:k3,minner:y0},mbin:{mord:et,mop:et,mopen:et,minner:et},mrel:{mord:k3,mop:k3,mopen:k3,minner:k3},mopen:{},mclose:{mop:y0,mbin:et,mrel:k3,minner:y0},mpunct:{mord:y0,mop:y0,mrel:k3,mopen:y0,mclose:y0,mpunct:y0,minner:y0},minner:{mord:y0,mop:y0,mbin:et,mrel:k3,mopen:y0,mpunct:y0,minner:y0}},mN={mord:{mop:y0},mop:{mord:y0,mop:y0},mbin:{},mrel:{},mopen:{},mclose:{mop:y0},mpunct:{},minner:{mop:y0}},M_={},d7={},h7={};function o1(e){for(var t=e.type,n=e.names,a=e.htmlBuilder,i=e.mathmlBuilder,r=0;r{var x=w.classes[0],v=f.classes[0];x==="mbin"&&hN.has(v)?w.classes[0]="mord":v==="mbin"&&dN.has(x)&&(f.classes[0]="mord")},{node:u},m,d),vo(r,(f,w)=>{var x,v,b=_o(w),_=_o(f),z=b&&_?f.hasClass("mtight")?(x=mN[b])==null?void 0:x[_]:(v=uN[b])==null?void 0:v[_]:null;if(z)return z_(z,l)},{node:u},m,d),r},vo=function(t,n,a,i,r){i&&t.push(i);for(var s=0;sm=>{t.splice(u+1,0,m),s++})(s)}i&&t.pop()},$_=function(t){return t instanceof h4||t instanceof p5||t instanceof b4&&t.hasClass("enclosing")?t:null},yo=function(t,n){var a=$_(t);if(a){var i=a.children;if(i.length){if(n==="right")return yo(i[i.length-1],"right");if(n==="left")return yo(i[0],"left")}}return t},_o=function(t,n){if(!t)return null;n&&(t=yo(t,n));var a=t.classes[0];return bN[a]||null},b7=function(t,n){var a=["nulldelimiter"].concat(t.baseSizingClasses());return W(n.concat(a))},W1=function(t,n,a){if(!t)return W();if(d7[t.type]){var i=d7[t.type](t,n);if(a&&n.size!==a.size){i=W(n.sizingClasses(a),[i],n);var r=n.sizeMultiplier/a.sizeMultiplier;i.height*=r,i.depth*=r}return i}else throw new K("Got group of unknown type: '"+t.type+"'")};function La(e,t){var n=W(["katex-base"],e,t),a=W(["katex-strut"]);return a.style.height=n1(n.height+n.depth),n.depth&&(a.style.verticalAlign=n1(-n.depth)),n.children.unshift(a),n}function wo(e,t){var n=null;e.length===1&&e[0].type==="tag"&&(n=e[0].tag,e=e[0].body);var a=D0(e,t,"root"),i;a.length===2&&a[1].hasClass("katex-tag")&&(i=a.pop());for(var r=[],s=[],c=0;c0&&(r.push(La(s,t)),s=[]),r.push(a[c]));s.length>0&&r.push(La(s,t));var l;n?(l=La(D0(n,t,!0),t),l.classes=["katex-tag"],r.push(l)):i&&r.push(i);var p=W(["katex-html"],r);if(p.setAttribute("aria-hidden","true"),l){var u=l.children[0];u.style.height=n1(p.height+p.depth),p.depth&&(u.style.verticalAlign=n1(-p.depth))}return p}function L_(e){return new h4(e)}var Y=class{constructor(t,n,a){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=t,this.attributes={},this.children=n||[],this.classes=a||[]}setAttribute(t,n){this.attributes[t]=n}getAttribute(t){return this.attributes[t]}toNode(){var t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var n of Object.entries(this.attributes)){var a=n[0],i=n[1];t.setAttribute(a,i)}this.classes.length>0&&(t.className=g4(this.classes));for(var r=0;r0&&(t+=' class ="'+d2(g4(this.classes))+'"'),t+=">";for(var r=0;r",t}toText(){return this.children.map(t=>t.toText()).join("")}},$0=class{constructor(t){this.text=void 0,this.text=t}toNode(){return document.createTextNode(this.text)}toMarkup(){return d2(this.toText())}toText(){return this.text}},Ta=class{constructor(t){this.width=void 0,this.character=void 0,this.width=t,t>=.05555&&t<=.05556?this.character="\u200A":t>=.1666&&t<=.1667?this.character="\u2009":t>=.2222&&t<=.2223?this.character="\u2005":t>=.2777&&t<=.2778?this.character="\u2005\u200A":t>=-.05556&&t<=-.05555?this.character="\u200A\u2063":t>=-.1667&&t<=-.1666?this.character="\u2009\u2063":t>=-.2223&&t<=-.2222?this.character="\u205F\u2063":t>=-.2778&&t<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var t=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return t.setAttribute("width",n1(this.width)),t}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},fN=new Set(["\\imath","\\jmath"]),vN=new Set(["mrow","mtable"]),ue=function(t,n,a){var i,r;return u0[n][t]&&u0[n][t].replace&&t.charCodeAt(0)!==55349&&!(Object.prototype.hasOwnProperty.call(x_,t)&&((a==null||(i=a.fontFamily)==null?void 0:i.slice(4,6))==="tt"||(a==null||(r=a.font)==null?void 0:r.slice(4,6))==="tt"))&&(t=u0[n][t].replace),new $0(t)},jo=function(t){return t.length===1?t[0]:new Y("mrow",t)},yN={mathit:"italic",boldsymbol:e=>e.type==="textord"?"bold":"bold-italic",mathbf:"bold",mathbb:"double-struck",mathsfit:"sans-serif-italic",mathfrak:"fraktur",mathscr:"script",mathcal:"script",mathsf:"sans-serif",mathtt:"monospace"},Ho=(e,t)=>{if(e.mode==="text"){if(t.fontFamily==="texttt")return"monospace";if(t.fontFamily==="textsf")return t.fontShape==="textit"&&t.fontWeight==="textbf"?"sans-serif-bold-italic":t.fontShape==="textit"?"sans-serif-italic":t.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(t.fontShape==="textit"&&t.fontWeight==="textbf")return"bold-italic";if(t.fontShape==="textit")return"italic";if(t.fontWeight==="textbf")return"bold"}var n=t.font;if(!n||n==="mathnormal")return null;var a=e.mode,i=yN[n];if(i)return typeof i=="function"?i(e):i;var r=e.text;if(fN.has(r))return null;if(u0[a][r]){var s=u0[a][r].replace;s&&(r=s)}var c=fo[n].fontName;return Eo(r,c,a)?fo[n].variant:null};function Jc(e){if(!e)return!1;if(e.type==="mi"&&e.children.length===1){var t=e.children[0];return t instanceof $0&&t.text==="."}else if(e.type==="mo"&&e.children.length===1&&e.getAttribute("separator")==="true"&&e.getAttribute("lspace")==="0em"&&e.getAttribute("rspace")==="0em"){var n=e.children[0];return n instanceof $0&&n.text===","}else return!1}var K2=function(t,n,a){if(t.length===1){var i=J1(t[0],n);return a&&i instanceof Y&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var r=[],s,c=0;c=1&&(s.type==="mn"||Jc(s))){var l=o.children[0];l instanceof Y&&l.type==="mn"&&(l.children=[...s.children,...l.children],r.pop())}else if(s.type==="mi"&&s.children.length===1){var p=s.children[0];if(p instanceof $0&&p.text==="\u0338"&&(o.type==="mo"||o.type==="mi"||o.type==="mn")){var u=o.children[0];u instanceof $0&&u.text.length>0&&(u.text=u.text.slice(0,1)+"\u0338"+u.text.slice(1),r.pop())}}}r.push(o),s=o}return r},v4=function(t,n,a){return jo(K2(t,n,a))},J1=function(t,n){if(!t)return new Y("mrow");if(h7[t.type])return h7[t.type](t,n);throw new K("Got group of unknown type: '"+t.type+"'")};function Gy(e,t,n,a,i){var r=K2(e,n),s;r.length===1&&r[0]instanceof Y&&vN.has(r[0].type)?s=r[0]:s=new Y("mrow",r);var c=new Y("annotation",[new $0(t)]);c.setAttribute("encoding","application/x-tex");var o=new Y("semantics",[s,c]),l=new Y("math",[o]);l.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&l.setAttribute("display","block");var p=i?"katex":"katex-mathml";return W([p],[l])}var _N=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Oy=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Wy=function(t,n){return n.size<2?t:_N[t-1][n.size-1]},Va=class e{constructor(t){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=t.style,this.color=t.color,this.size=t.size||e.BASESIZE,this.textSize=t.textSize||this.size,this.phantom=!!t.phantom,this.font=t.font||"",this.fontFamily=t.fontFamily||"",this.fontWeight=t.fontWeight||"",this.fontShape=t.fontShape||"",this.sizeMultiplier=Oy[this.size-1],this.maxSize=t.maxSize,this.minRuleThickness=t.minRuleThickness,this._fontMetrics=void 0}extend(t){var n={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(n,t),new e(n)}havingStyle(t){return this.style===t?this:this.extend({style:t,size:Wy(this.textSize,t)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(t){return this.size===t&&this.textSize===t?this:this.extend({style:this.style.text(),size:t,textSize:t,sizeMultiplier:Oy[t-1]})}havingBaseStyle(t){t=t||this.style.text();var n=Wy(e.BASESIZE,t);return this.size===n&&this.textSize===e.BASESIZE&&this.style===t?this:this.extend({style:t,size:n})}havingBaseSizing(){var t;switch(this.style.id){case 4:case 5:t=3;break;case 6:case 7:t=1;break;default:t=6}return this.extend({style:this.style.text(),size:t})}withColor(t){return this.extend({color:t})}withPhantom(){return this.extend({phantom:!0})}withFont(t){return this.extend({font:t})}withTextFontFamily(t){return this.extend({fontFamily:t,font:""})}withTextFontWeight(t){return this.extend({fontWeight:t,font:""})}withTextFontShape(t){return this.extend({fontShape:t,font:""})}sizingClasses(t){return t.size!==this.size?["katex-sizing","reset-size"+t.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==e.BASESIZE?["katex-sizing","reset-size"+this.size,"size"+e.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=aN(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};Va.BASESIZE=6;var S_=function(t){return new Va({style:t.displayMode?C1.DISPLAY:C1.TEXT,maxSize:t.maxSize,minRuleThickness:t.minRuleThickness})},E_=function(t,n){if(n.displayMode){var a=["katex-display"];n.leqno&&a.push("leqno"),n.fleqn&&a.push("fleqn"),t=W(a,[t])}return t},wN=function(t,n,a){var i=S_(a),r;if(a.output==="mathml")return Gy(t,n,i,a.displayMode,!0);if(a.output==="html"){var s=wo(t,i);r=W(["katex"],[s])}else{var c=Gy(t,n,i,a.displayMode,!1),o=wo(t,i);r=W(["katex"],[c,o])}return E_(r,a)},xN=function(t,n,a){var i=S_(a),r=wo(t,i),s=W(["katex"],[r]);return E_(s,a)},kN={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",underbracket:"\u23B5",overbracket:"\u23B4",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Ra=function(t){var n=new Y("mo",[new $0(kN[t.replace(/^\\/,"")])]);return n.setAttribute("stretchy","true"),n},zN={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},CN=new Set(["widehat","widecheck","widetilde","utilde"]),Da=function(t,n){function a(){var o=4e5,l=t.label.slice(1);if(CN.has(l)&&"base"in t){var p=t.base.type==="ordgroup"?t.base.body.length:1,u,m,d;if(p>5)l==="widehat"||l==="widecheck"?(u=420,o=2364,d=.42,m=l+"4"):(u=312,o=2340,d=.34,m="tilde4");else{var f=[1,1,2,2,3,3][p];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][f],u=[0,239,300,360,420][f],d=[0,.24,.3,.3,.36,.42][f],m=l+f):(o=[0,600,1033,2339,2340][f],u=[0,260,286,306,312][f],d=[0,.26,.286,.3,.306,.34][f],m="tilde"+f)}var w=new Re(m),x=new ke([w],{width:"100%",height:n1(d),viewBox:"0 0 "+o+" "+u,preserveAspectRatio:"none"});return{span:f4([],[x],n),minWidth:0,height:d}}else{var v=[],b=zN[l];if(!b)throw new Error('No SVG data for "'+l+'".');var _=b[0],z=b[1],$=b[2],C=$/1e3,j=_.length,T,H;if(j===1){if(b.length!==4)throw new Error('Expected 4-tuple for single-path SVG data "'+l+'".');T=["hide-tail"],H=[b[3]]}else if(j===2)T=["halfarrow-left","halfarrow-right"],H=["xMinYMin","xMaxYMin"];else if(j===3)T=["brace-left","brace-center","brace-right"],H=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error("Correct katexImagesData or update code here to support\n "+j+" children.");for(var E=0;E0&&(r.style.minWidth=n1(s)),r},AN=function(t,n,a,i,r){var s,c=t.height+t.depth+a+i;if(/fbox|color|angl/.test(n)){if(s=W(["katex-stretchy",n],[],r),n==="fbox"){var o=r.color&&r.getColor();o&&(s.style.borderColor=o)}}else{var l=[];/^[bx]cancel$/.test(n)&&l.push(new m7({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(n)&&l.push(new m7({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var p=new ke(l,{width:"100%",height:n1(c)});s=f4([],[p],r)}return s.height=c,s.style.height=n1(c),s},MN=["bin","close","inner","open","punct","rel"],$N=["accent-token","mathord","op-token","spacing","textord"],LN=new Set(MN),SN=new Set($N);function EN(e){return LN.has(e)}function N1(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function Ga(e){var t=Oa(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function Oa(e){return e.type==="atom"||SN.has(e.type)?e:null}function No(e,t,n){var a="";for(var i of e.body)if(i.type==="textord")a+=i.text;else if(n&&i.type==="spacing"&&i.text===" ")a+=" ";else throw new K(t,e);return a}var Z_=e=>{if(e instanceof z2)return e;if(tN(e)&&e.children.length===1)return Z_(e.children[0])},F_=(e,t)=>{var n,a,i;e&&e.type==="supsub"?(a=N1(e.base,"accent"),n=a.base,e.base=n,i=eN(W1(e,t)),e.base=a):(a=N1(e,"accent"),n=a.base);var r=W1(n,t.havingCrampedStyle()),s=a.isShifty&&C3(n),c=0;if(s){var o,l;c=(o=(l=Z_(r))==null?void 0:l.skew)!=null?o:0}var p=a.label==="\\c",u=p?r.height+r.depth:Math.min(r.height,t.fontMetrics().xHeight),m;if(a.isStretchy)m=Da(a,t),m=U1({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"elem",elem:m,wrapperClasses:["svg-align"],wrapperStyle:c>0?{width:"calc(100% - "+n1(2*c)+")",marginLeft:n1(2*c)}:void 0}]});else{var d,f;a.label==="\\vec"?(d=A_("vec",t),f=C_.vec[1]):(d=Pa({type:"textord",mode:a.mode,text:a.label},t),d=QH(d),d.italic=0,f=d.width,p&&(u+=d.depth)),m=W(["accent-body"],[d]);var w=a.label==="\\textcircled";w&&(m.classes.push("accent-full"),u=r.height);var x=c;w||(x-=f/2),m.style.left=n1(x),a.label==="\\textcircled"&&(m.style.top=".2em"),m=U1({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:-u},{type:"elem",elem:m}]})}var v=W(["mord","katex-accent"],[m],t);return i?(i.children[0]=v,i.height=Math.max(v.height,i.height),i.classes[0]="mord",i):v},ZN=(e,t)=>{var n=e.isStretchy?Ra(e.label):new Y("mo",[ue(e.label,e.mode)]),a=new Y("mover",[J1(e.base,t),n]);return a.setAttribute("accent","true"),a},FN=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(e=>"\\"+e).join("|"));o1({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],numArgs:1,handler:(e,t)=>{var n=g7(t[0]),a=!FN.test(e.funcName),i=!a||e.funcName==="\\widehat"||e.funcName==="\\widetilde"||e.funcName==="\\widecheck";return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:a,isShifty:i,base:n}},htmlBuilder:F_,mathmlBuilder:ZN});o1({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"],handler:(e,t)=>{var n=t[0],a=e.parser.mode;return a==="math"&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:e.funcName,isStretchy:!1,isShifty:!0,base:n}}});o1({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],numArgs:1,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0];return{type:"accentUnder",mode:n.mode,label:a,base:i}},htmlBuilder:(e,t)=>{var n=W1(e.base,t),a=Da(e,t),i=e.label==="\\utilde"?.12:0,r=U1({positionType:"top",positionData:n.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:n}]});return W(["mord","accentunder"],[r],t)},mathmlBuilder:(e,t)=>{var n=Ra(e.label),a=new Y("munder",[J1(e.base,t),n]);return a.setAttribute("accentunder","true"),a}});var Sa=e=>{var t=new Y("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};o1({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],numArgs:1,numOptionalArgs:1,handler(e,t,n){var a=e.parser,i=e.funcName;return{type:"xArrow",mode:a.mode,label:i,body:t[0],below:n[0]}},htmlBuilder(e,t){var n=t.style,a=t.havingStyle(n.sup()),i=m5(W1(e.body,a,t),t),r=e.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(r+"-arrow-pad");var s;e.below&&(a=t.havingStyle(n.sub()),s=m5(W1(e.below,a,t),t),s.classes.push(r+"-arrow-pad"));var c=Da(e,t),o=-t.fontMetrics().axisHeight+.5*c.height,l=-t.fontMetrics().axisHeight-.5*c.height-.111;(i.depth>.25||e.label==="\\xleftequilibrium")&&(l-=i.depth);var p;if(s){var u=-t.fontMetrics().axisHeight+s.height+.5*c.height+.111;p=U1({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:c,shift:o,wrapperClasses:["svg-align"]},{type:"elem",elem:s,shift:u}]})}else p=U1({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:c,shift:o,wrapperClasses:["svg-align"]}]});return W(["mrel","x-arrow"],[p],t)},mathmlBuilder(e,t){var n=Ra(e.label);n.setAttribute("minsize",e.label.charAt(0)==="x"?"1.75em":"3.0em");var a;if(e.body){var i=Sa(J1(e.body,t));if(e.below){var r=Sa(J1(e.below,t));a=new Y("munderover",[n,r,i])}else a=new Y("mover",[n,i])}else if(e.below){var s=Sa(J1(e.below,t));a=new Y("munder",[n,s])}else a=Sa(),a=new Y("mover",[n,a]);return a}});function jN(e,t){var n=D0(e.body,t,!0);return W([e.mclass],n,t)}function HN(e,t){var n,a=K2(e.body,t);return e.mclass==="minner"?n=new Y("mpadded",a):e.mclass==="mord"?e.isCharacterBox?(n=a[0],n.type="mi"):n=new Y("mi",a):(e.isCharacterBox?(n=a[0],n.type="mo"):n=new Y("mo",a),e.mclass==="mbin"?(n.attributes.lspace="0.22em",n.attributes.rspace="0.22em"):e.mclass==="mpunct"?(n.attributes.lspace="0em",n.attributes.rspace="0.17em"):(e.mclass==="mopen"||e.mclass==="mclose")&&(n.attributes.lspace="0em",n.attributes.rspace="0em")),n}o1({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],numArgs:1,primitive:!0,handler(e,t){var n=e.parser,a=e.funcName,i=t[0];return{type:"mclass",mode:n.mode,mclass:"m"+a.slice(5),body:N0(i),isCharacterBox:C3(i)}},htmlBuilder:jN,mathmlBuilder:HN});var Wa=e=>{var t=e.type==="ordgroup"&&e.body.length?e.body[0]:e;return t.type==="atom"&&(t.family==="bin"||t.family==="rel")?"m"+t.family:"mord"};o1({type:"mclass",names:["\\@binrel"],numArgs:2,handler(e,t){var n=e.parser;return{type:"mclass",mode:n.mode,mclass:Wa(t[0]),body:N0(t[1]),isCharacterBox:C3(t[1])}}});o1({type:"mclass",names:["\\stackrel","\\overset","\\underset"],numArgs:2,handler(e,t){var n=e.parser,a=e.funcName,i=t[1],r=t[0],s;a!=="\\stackrel"?s=Wa(i):s="mrel";var c={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:a!=="\\stackrel",body:N0(i)},o=a==="\\underset"?{type:"supsub",mode:r.mode,base:c,sub:r}:{type:"supsub",mode:r.mode,base:c,sup:r};return{type:"mclass",mode:n.mode,mclass:s,body:[o],isCharacterBox:C3(o)}}});o1({type:"pmb",names:["\\pmb"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser;return{type:"pmb",mode:n.mode,mclass:Wa(t[0]),body:N0(t[0])}},htmlBuilder(e,t){var n=D0(e.body,t,!0),a=W([e.mclass],n,t);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(e,t){var n=K2(e.body,t),a=new Y("mstyle",n);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var NN={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Uy=()=>({type:"styling",body:[],mode:"math",style:"display",resetFont:!0}),Xy=e=>e.type==="textord"&&e.text==="@",TN=(e,t)=>(e.type==="mathord"||e.type==="atom")&&e.text===t;function VN(e,t,n){var a=NN[e];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return n.callFunction(a,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":{var i=n.callFunction("\\\\cdleft",[t[0]],[]),r={type:"atom",text:a,mode:"math",family:"rel"},s=n.callFunction("\\Big",[r],[]),c=n.callFunction("\\\\cdright",[t[1]],[]),o={type:"ordgroup",mode:"math",body:[i,s,c]};return n.callFunction("\\\\cdparent",[o],[])}case"\\\\cdlongequal":return n.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var l={type:"textord",text:"\\Vert",mode:"math"};return n.callFunction("\\Big",[l],[])}default:return{type:"textord",text:" ",mode:"math"}}}function qN(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();var n=e.fetch().text;if(n==="&"||n==="\\\\")e.consume();else if(n==="\\end"){t[t.length-1].length===0&&t.pop();break}else throw new K("Expected \\\\ or \\cr or \\end",e.nextToken)}for(var a=[],i=[a],r=0;rAV".includes(l))for(var u=0;u<2;u++){for(var m=!0,d=o+1;dAV=|." after @',s[o]);var f=VN(l,p,e),w={type:"styling",body:[f],mode:"math",style:"display",resetFont:!0};a.push(w),c=Uy()}r%2===0?a.push(c):a.shift(),a=[],i.push(a)}e.gullet.endGroup(),e.gullet.endGroup();var x=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:x,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}o1({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],numArgs:1,handler(e,t){var n=e.parser,a=e.funcName;return{type:"cdlabel",mode:n.mode,side:a.slice(4),label:t[0]}},htmlBuilder(e,t){var n=t.havingStyle(t.style.sup()),a=m5(W1(e.label,n,t),t);return a.classes.push("cd-label-"+e.side),a.style.bottom=n1(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(e,t){var n=new Y("mrow",[J1(e.label,t)]);return n=new Y("mpadded",[n]),n.setAttribute("width","0"),e.side==="left"&&n.setAttribute("lspace","-1width"),n.setAttribute("voffset","0.7em"),n=new Y("mstyle",[n]),n.setAttribute("displaystyle","false"),n.setAttribute("scriptlevel","1"),n}});o1({type:"cdlabelparent",names:["\\\\cdparent"],numArgs:1,handler(e,t){var n=e.parser;return{type:"cdlabelparent",mode:n.mode,fragment:t[0]}},htmlBuilder(e,t){var n=m5(W1(e.fragment,t),t);return n.classes.push("cd-vert-arrow"),n},mathmlBuilder(e,t){return new Y("mrow",[J1(e.fragment,t)])}});o1({type:"textord",names:["\\@char"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser,a=N1(t[0],"ordgroup"),i=No(a,"\\@char has non-numeric argument"),r=parseInt(i),s;if(isNaN(r))throw new K("\\@char has non-numeric argument "+i);if(r<0||r>1114111)throw new K("\\@char with invalid code point "+i);return r<=65535?s=String.fromCharCode(r):(r-=65536,s=String.fromCharCode((r>>10)+55296,(r&1023)+56320)),{type:"textord",mode:n.mode,text:s}}});var IN=(e,t)=>{var n=D0(e.body,t.withColor(e.color),!1);return M3(n)},BN=(e,t)=>{var n=K2(e.body,t.withColor(e.color)),a=new Y("mstyle",n);return a.setAttribute("mathcolor",e.color),a};o1({type:"color",names:["\\textcolor"],numArgs:2,allowedInText:!0,argTypes:["color","original"],handler(e,t){var n=e.parser,a=N1(t[0],"color-token").color,i=t[1];return{type:"color",mode:n.mode,color:a,body:N0(i)}},htmlBuilder:IN,mathmlBuilder:BN});o1({type:"color",names:["\\color"],numArgs:1,allowedInText:!0,argTypes:["color"],handler(e,t){var n=e.parser,a=e.breakOnTokenText,i=N1(t[0],"color-token").color;n.gullet.macros.set("\\current@color",i);var r=n.parseExpression(!0,a);return{type:"color",mode:n.mode,color:i,body:r}}});o1({type:"cr",names:["\\\\"],numArgs:0,numOptionalArgs:0,allowedInText:!0,handler(e,t,n){var a=e.parser,i=a.gullet.future().text==="["?a.parseSizeGroup(!0):null,r=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:r,size:i&&N1(i,"size").value}},htmlBuilder(e,t){var n=W(["mspace"],[],t);return e.newLine&&(n.classes.push("katex-newline"),e.size&&(n.style.marginTop=n1(_0(e.size,t)))),n},mathmlBuilder(e,t){var n=new Y("mspace");return e.newLine&&(n.setAttribute("linebreak","newline"),e.size&&n.setAttribute("height",n1(_0(e.size,t)))),n}});var xo={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},j_=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new K("Expected a control sequence",e);return t},PN=e=>{var t=e.gullet.popToken();return t.text==="="&&(t=e.gullet.popToken(),t.text===" "&&(t=e.gullet.popToken())),t},H_=(e,t,n,a)=>{var i=e.gullet.macros.get(n.text);i==null&&(n.noexpand=!0,i={tokens:[n],numArgs:0,unexpandable:!e.gullet.isExpandable(n.text)}),e.gullet.macros.set(t,i,a)};o1({type:"internal",names:["\\global","\\long","\\\\globallong"],numArgs:0,allowedInText:!0,handler(e){var t=e.parser,n=e.funcName;t.consumeSpaces();var a=t.fetch();if(xo[a.text])return(n==="\\global"||n==="\\\\globallong")&&(a.text=xo[a.text]),N1(t.parseFunction(),"internal");throw new K("Invalid token after macro prefix",a)}});o1({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,a=t.gullet.popToken(),i=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new K("Expected a control sequence",a);for(var r=0,s,c=[[]];t.gullet.future().text!=="{";)if(a=t.gullet.popToken(),a.text==="#"){if(t.gullet.future().text==="{"){s=t.gullet.future(),c[r].push("{");break}if(a=t.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new K('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==r+1)throw new K('Argument number "'+a.text+'" out of order');r++,c.push([])}else{if(a.text==="EOF")throw new K("Expected a macro definition");c[r].push(a.text)}var o=t.gullet.consumeArg(),l=o.tokens;return s&&l.unshift(s),(n==="\\edef"||n==="\\xdef")&&(l=t.gullet.expandTokens(l),l.reverse()),t.gullet.macros.set(i,{tokens:l,numArgs:r,delimiters:c},n===xo[n]),{type:"internal",mode:t.mode}}});o1({type:"internal",names:["\\let","\\\\globallet"],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,a=j_(t.gullet.popToken());t.gullet.consumeSpaces();var i=PN(t);return H_(t,a,i,n==="\\\\globallet"),{type:"internal",mode:t.mode}}});o1({type:"internal",names:["\\futurelet","\\\\globalfuture"],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,a=j_(t.gullet.popToken()),i=t.gullet.popToken(),r=t.gullet.popToken();return H_(t,a,r,n==="\\\\globalfuture"),t.gullet.pushToken(r),t.gullet.pushToken(i),{type:"internal",mode:t.mode}}});var o7=function(t,n,a){var i=u0.math[t]&&u0.math[t].replace,r=Eo(i||t,n,a);if(!r)throw new Error("Unsupported symbol "+t+" and font size "+n+".");return r},To=function(t,n,a,i){var r=a.havingBaseStyle(n),s=W(i.concat(r.sizingClasses(a)),[t],a),c=r.sizeMultiplier/a.sizeMultiplier;return s.height*=c,s.depth*=c,s.maxFontSize=r.sizeMultiplier,s},N_=function(t,n,a){var i=n.havingBaseStyle(a),r=(1-n.sizeMultiplier/i.sizeMultiplier)*n.fontMetrics().axisHeight;t.classes.push("delimcenter"),t.style.top=n1(r),t.height-=r,t.depth+=r},RN=function(t,n,a,i,r,s){var c=x2(t,"Main-Regular",r,i),o=To(c,n,i,s);return a&&N_(o,i,n),o},DN=function(t,n,a,i){return x2(t,"Size"+n+"-Regular",a,i)},T_=function(t,n,a,i,r,s){var c=DN(t,n,r,i),o=To(W(["delimsizing","size"+n],[c],i),C1.TEXT,i,s);return a&&N_(o,i,C1.TEXT),o},Qc=function(t,n,a){var i;n==="Size1-Regular"?i="delim-size1":i="delim-size4";var r=W(["delimsizinginner",i],[W([],[x2(t,n,a)])]);return{type:"elem",elem:r}},eo=function(t,n,a){var i=Pe["Size4-Regular"][t.charCodeAt(0)]?Pe["Size4-Regular"][t.charCodeAt(0)][4]:Pe["Size1-Regular"][t.charCodeAt(0)][4],r=new Re("inner",WH(t,Math.round(1e3*n))),s=new ke([r],{width:n1(i),height:n1(n),style:"width:"+n1(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*n),preserveAspectRatio:"xMinYMin"}),c=f4([],[s],a);return c.height=n,c.style.height=n1(n),c.style.width=n1(i),{type:"elem",elem:c}},ko=.008,Ea={type:"kern",size:-1*ko},GN=new Set(["|","\\lvert","\\rvert","\\vert"]),ON=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),V_=function(t,n,a,i,r,s){var c,o,l,p,u="",m=0;c=l=p=t,o=null;var d="Size1-Regular";t==="\\uparrow"?l=p="\u23D0":t==="\\Uparrow"?l=p="\u2016":t==="\\downarrow"?c=l="\u23D0":t==="\\Downarrow"?c=l="\u2016":t==="\\updownarrow"?(c="\\uparrow",l="\u23D0",p="\\downarrow"):t==="\\Updownarrow"?(c="\\Uparrow",l="\u2016",p="\\Downarrow"):GN.has(t)?(l="\u2223",u="vert",m=333):ON.has(t)?(l="\u2225",u="doublevert",m=556):t==="["||t==="\\lbrack"?(c="\u23A1",l="\u23A2",p="\u23A3",d="Size4-Regular",u="lbrack",m=667):t==="]"||t==="\\rbrack"?(c="\u23A4",l="\u23A5",p="\u23A6",d="Size4-Regular",u="rbrack",m=667):t==="\\lfloor"||t==="\u230A"?(l=c="\u23A2",p="\u23A3",d="Size4-Regular",u="lfloor",m=667):t==="\\lceil"||t==="\u2308"?(c="\u23A1",l=p="\u23A2",d="Size4-Regular",u="lceil",m=667):t==="\\rfloor"||t==="\u230B"?(l=c="\u23A5",p="\u23A6",d="Size4-Regular",u="rfloor",m=667):t==="\\rceil"||t==="\u2309"?(c="\u23A4",l=p="\u23A5",d="Size4-Regular",u="rceil",m=667):t==="("||t==="\\lparen"?(c="\u239B",l="\u239C",p="\u239D",d="Size4-Regular",u="lparen",m=875):t===")"||t==="\\rparen"?(c="\u239E",l="\u239F",p="\u23A0",d="Size4-Regular",u="rparen",m=875):t==="\\{"||t==="\\lbrace"?(c="\u23A7",o="\u23A8",p="\u23A9",l="\u23AA",d="Size4-Regular"):t==="\\}"||t==="\\rbrace"?(c="\u23AB",o="\u23AC",p="\u23AD",l="\u23AA",d="Size4-Regular"):t==="\\lgroup"||t==="\u27EE"?(c="\u23A7",p="\u23A9",l="\u23AA",d="Size4-Regular"):t==="\\rgroup"||t==="\u27EF"?(c="\u23AB",p="\u23AD",l="\u23AA",d="Size4-Regular"):t==="\\lmoustache"||t==="\u23B0"?(c="\u23A7",p="\u23AD",l="\u23AA",d="Size4-Regular"):(t==="\\rmoustache"||t==="\u23B1")&&(c="\u23AB",p="\u23A9",l="\u23AA",d="Size4-Regular");var f=o7(c,d,r),w=f.height+f.depth,x=o7(l,d,r),v=x.height+x.depth,b=o7(p,d,r),_=b.height+b.depth,z=0,$=1;if(o!==null){var C=o7(o,d,r);z=C.height+C.depth,$=2}var j=w+_+z,T=Math.max(0,Math.ceil((n-j)/($*v))),H=j+T*$*v,E=i.fontMetrics().axisHeight;a&&(E*=i.sizeMultiplier);var R=H/2-E,D=[];if(u.length>0){var B=H-w-_,Q=Math.round(H*1e3),O=UH(u,Math.round(B*1e3)),U=new Re(u,O),r1=n1(m/1e3),z1=n1(Q/1e3),A1=new ke([U],{width:r1,height:z1,viewBox:"0 0 "+m+" "+Q}),A=f4([],[A1],i);A.height=Q/1e3,A.style.width=r1,A.style.height=z1,D.push({type:"elem",elem:A})}else{if(D.push(Qc(p,d,r)),D.push(Ea),o===null){var i1=H-w-_+2*ko;D.push(eo(l,i1,i))}else{var l1=(H-w-_-z)/2+2*ko;D.push(eo(l,l1,i)),D.push(Ea),D.push(Qc(o,d,r)),D.push(Ea),D.push(eo(l,l1,i))}D.push(Ea),D.push(Qc(c,d,r))}var S=i.havingBaseStyle(C1.TEXT),R1=U1({positionType:"bottom",positionData:R,children:D});return To(W(["delimsizing","mult"],[R1],S),C1.TEXT,i,s)},to=80,no=.08,ao=function(t,n,a,i,r){var s=OH(t,i,a),c=new Re(t,s),o=new ke([c],{width:"400em",height:n1(n),viewBox:"0 0 400000 "+a,preserveAspectRatio:"xMinYMin slice"});return f4(["hide-tail"],[o],r)},WN=function(t,n){var a=n.havingBaseSizing(),i=R_("\\surd",t*a.sizeMultiplier,P_,a),r=a.sizeMultiplier,s=Math.max(0,n.minRuleThickness-n.fontMetrics().sqrtRuleThickness),c,o,l,p,u;return i.type==="small"?(p=1e3+1e3*s+to,t<1?r=1:t<1.4&&(r=.7),o=(1+s+no)/r,l=(1+s)/r,c=ao("sqrtMain",o,p,s,n),c.style.minWidth="0.853em",u=.833/r):i.type==="large"?(p=(1e3+to)*l7[i.size],l=(l7[i.size]+s)/r,o=(l7[i.size]+s+no)/r,c=ao("sqrtSize"+i.size,o,p,s,n),c.style.minWidth="1.02em",u=1/r):(o=t+s+no,l=t+s,p=Math.floor(1e3*t+s)+to,c=ao("sqrtTall",o,p,s,n),c.style.minWidth="0.742em",u=1.056),c.height=l,c.style.height=n1(o),{span:c,advanceWidth:u,ruleWidth:(n.fontMetrics().sqrtRuleThickness+s)*r}},q_=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"]),UN=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"]),I_=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),l7=[0,1.2,1.8,2.4,3],B_=function(t,n,a,i,r){if(t==="<"||t==="\\lt"||t==="\u27E8"?t="\\langle":(t===">"||t==="\\gt"||t==="\u27E9")&&(t="\\rangle"),q_.has(t)||I_.has(t))return T_(t,n,!1,a,i,r);if(UN.has(t))return V_(t,l7[n],!1,a,i,r);throw new K("Illegal delimiter: '"+t+"'")},XN=[{type:"small",style:C1.SCRIPTSCRIPT},{type:"small",style:C1.SCRIPT},{type:"small",style:C1.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],KN=[{type:"small",style:C1.SCRIPTSCRIPT},{type:"small",style:C1.SCRIPT},{type:"small",style:C1.TEXT},{type:"stack"}],P_=[{type:"small",style:C1.SCRIPTSCRIPT},{type:"small",style:C1.SCRIPT},{type:"small",style:C1.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],YN=function(t){if(t.type==="small")return"Main-Regular";if(t.type==="large")return"Size"+t.size+"-Regular";if(t.type==="stack")return"Size4-Regular";var n=t.type;throw new Error("Add support for delim type '"+n+"' here.")},R_=function(t,n,a,i){for(var r=Math.min(2,3-i.style.size),s=r;sn)return c}return a[a.length-1]},zo=function(t,n,a,i,r,s){t==="<"||t==="\\lt"||t==="\u27E8"?t="\\langle":(t===">"||t==="\\gt"||t==="\u27E9")&&(t="\\rangle");var c;I_.has(t)?c=XN:q_.has(t)?c=P_:c=KN;var o=R_(t,n,c,i);return o.type==="small"?RN(t,o.style,a,i,r,s):o.type==="large"?T_(t,o.size,a,i,r,s):V_(t,n,a,i,r,s)},io=function(t,n,a,i,r,s){var c=i.fontMetrics().axisHeight*i.sizeMultiplier,o=901,l=5/i.fontMetrics().ptPerEm,p=Math.max(n-c,a+c),u=Math.max(p/500*o,2*p-l);return zo(t,u,!0,i,r,s)},Ky={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},JN=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function Yy(e){return"isMiddle"in e}function Ua(e,t){var n=Oa(e);if(n&&JN.has(n.text))return n;throw n?new K("Invalid delimiter '"+n.text+"' after '"+t.funcName+"'",e):new K("Invalid delimiter type '"+e.type+"'",e)}o1({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],numArgs:1,argTypes:["primitive"],handler:(e,t)=>{var n=Ua(g7(t[0]),e);return{type:"delimsizing",mode:e.parser.mode,size:Ky[e.funcName].size,mclass:Ky[e.funcName].mclass,delim:n.text}},htmlBuilder:(e,t)=>e.delim==="."?W([e.mclass]):B_(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];e.delim!=="."&&t.push(ue(e.delim,e.mode));var n=new Y("mo",t);e.mclass==="mopen"||e.mclass==="mclose"?n.setAttribute("fence","true"):n.setAttribute("fence","false"),n.setAttribute("stretchy","true");var a=n1(l7[e.size]);return n.setAttribute("minsize",a),n.setAttribute("maxsize",a),n}});function Jy(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}o1({type:"leftright-right",names:["\\right"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=e.parser.gullet.macros.get("\\current@color");if(n&&typeof n!="string")throw new K("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:Ua(t[0],e).text,color:n}}});o1({type:"leftright",names:["\\left"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=Ua(t[0],e),a=e.parser;++a.leftrightDepth;var i=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var r=N1(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:i,left:n.text,right:r.delim,rightColor:r.color}},htmlBuilder:(e,t)=>{Jy(e);for(var n=D0(e.body,t,!0,["mopen","mclose"]),a=0,i=0,r=!1,s=0;s{Jy(e);var n=K2(e.body,t);if(e.left!=="."){var a=new Y("mo",[ue(e.left,e.mode)]);a.setAttribute("fence","true"),n.unshift(a)}if(e.right!=="."){var i=new Y("mo",[ue(e.right,e.mode)]);i.setAttribute("fence","true"),e.rightColor&&i.setAttribute("mathcolor",e.rightColor),n.push(i)}return jo(n)}});o1({type:"middle",names:["\\middle"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=Ua(t[0],e);if(!e.parser.leftrightDepth)throw new K("\\middle without preceding \\left",n);return{type:"middle",mode:e.parser.mode,delim:n.text}},htmlBuilder:(e,t)=>{var n;return e.delim==="."?n=b7(t,[]):(n=B_(e.delim,1,t,e.mode,[]),n.isMiddle={delim:e.delim,options:t}),n},mathmlBuilder:(e,t)=>{var n=e.delim==="\\vert"||e.delim==="|"?ue("|","text"):ue(e.delim,e.mode),a=new Y("mo",[n]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var QN=(e,t)=>{var n=m5(W1(e.body,t),t),a=e.label.slice(1),i=t.sizeMultiplier,r,s,c=C3(e.body);if(a==="sout")r=W(["katex-stretchy","katex-sout"]),r.height=t.fontMetrics().defaultRuleThickness/i,s=-.5*t.fontMetrics().xHeight;else if(a==="phase"){var o=_0({number:.6,unit:"pt"},t),l=_0({number:.35,unit:"ex"},t),p=t.havingBaseSizing();i=i/p.sizeMultiplier;var u=n.height+n.depth+o+l;n.style.paddingLeft=n1(u/2+o);var m=Math.floor(1e3*u*i),d=DH(m),f=new ke([new Re("phase",d)],{width:"400em",height:n1(m/1e3),viewBox:"0 0 400000 "+m,preserveAspectRatio:"xMinYMin slice"});r=f4(["hide-tail"],[f],t),r.style.height=n1(u),s=n.depth+o+l}else{/cancel/.test(a)?c||n.classes.push("cancel-pad"):a==="angl"?n.classes.push("anglpad"):n.classes.push("boxpad");var w,x,v=0;/box/.test(a)?(v=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),w=t.fontMetrics().fboxsep+(a==="colorbox"?0:v),x=w):a==="angl"?(v=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),w=4*v,x=Math.max(0,.25-n.depth)):(w=c?.2:0,x=w),r=AN(n,a,w,x,t),/fbox|boxed|fcolorbox/.test(a)?(r.style.borderStyle="solid",r.style.borderWidth=n1(v)):a==="angl"&&v!==.049&&(r.style.borderTopWidth=n1(v),r.style.borderRightWidth=n1(v)),s=n.depth+x,e.backgroundColor&&(r.style.backgroundColor=e.backgroundColor,e.borderColor&&(r.style.borderColor=e.borderColor))}var b;if(e.backgroundColor)b=U1({positionType:"individualShift",children:[{type:"elem",elem:r,shift:s},{type:"elem",elem:n,shift:0}]});else{var _=/cancel|phase/.test(a)?["svg-align"]:[];b=U1({positionType:"individualShift",children:[{type:"elem",elem:n,shift:0},{type:"elem",elem:r,shift:s,wrapperClasses:_}]})}return/cancel/.test(a)&&(b.height=n.height,b.depth=n.depth),/cancel/.test(a)&&!c?W(["mord","cancel-lap"],[b],t):W(["mord"],[b],t)},eT=(e,t)=>{var n,a=new Y(e.label.includes("colorbox")?"mpadded":"menclose",[J1(e.body,t)]);switch(e.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(n=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*n+"pt"),a.setAttribute("height","+"+2*n+"pt"),a.setAttribute("lspace",n+"pt"),a.setAttribute("voffset",n+"pt"),e.label==="\\fcolorbox"){var i=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);a.setAttribute("style","border: "+n1(i)+" solid "+e.borderColor)}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return e.backgroundColor&&a.setAttribute("mathbackground",e.backgroundColor),a};o1({type:"enclose",names:["\\colorbox"],numArgs:2,allowedInText:!0,argTypes:["color","hbox"],handler(e,t,n){var a=e.parser,i=e.funcName,r=N1(t[0],"color-token").color,s=t[1];return{type:"enclose",mode:a.mode,label:i,backgroundColor:r,body:s}},htmlBuilder:QN,mathmlBuilder:eT});o1({type:"enclose",names:["\\fcolorbox"],numArgs:3,allowedInText:!0,argTypes:["color","color","hbox"],handler(e,t,n){var a=e.parser,i=e.funcName,r=N1(t[0],"color-token").color,s=N1(t[1],"color-token").color,c=t[2];return{type:"enclose",mode:a.mode,label:i,backgroundColor:s,borderColor:r,body:c}}});o1({type:"enclose",names:["\\fbox"],numArgs:1,argTypes:["hbox"],allowedInText:!0,handler(e,t){var n=e.parser;return{type:"enclose",mode:n.mode,label:"\\fbox",body:t[0]}}});o1({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],numArgs:1,handler(e,t){var n=e.parser,a=e.funcName,i=t[0];return{type:"enclose",mode:n.mode,label:a,body:i}}});o1({type:"enclose",names:["\\sout"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser,a=e.funcName;n.mode==="math"&&n.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=t[0];return{type:"enclose",mode:n.mode,label:a,body:i}}});o1({type:"enclose",names:["\\angl"],numArgs:1,argTypes:["hbox"],allowedInText:!1,handler(e,t){var n=e.parser;return{type:"enclose",mode:n.mode,label:"\\angl",body:t[0]}}});var D_={};function De(e){for(var t=e.type,n=e.names,a=e.props,i=e.handler,r=e.htmlBuilder,s=e.mathmlBuilder,c={type:t,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},o=0;o{var t=e.parser.settings;if(!t.displayMode)throw new K("{"+e.envName+"} can be used only in display mode.")},tT=new Set(["gather","gather*"]);function Vo(e){if(!e.includes("ed"))return!e.includes("*")}function y4(e,t,n){var a=t.hskipBeforeAndAfter,i=t.addJot,r=t.cols,s=t.arraystretch,c=t.colSeparationType,o=t.autoTag,l=t.singleRow,p=t.emptySingleRow,u=t.maxNumCols,m=t.leqno;if(e.gullet.beginGroup(),l||e.gullet.macros.set("\\cr","\\\\\\relax"),!s){var d=e.gullet.expandMacroAsText("\\arraystretch");if(d==null)s=1;else if(s=parseFloat(d),!s||s<0)throw new K("Invalid \\arraystretch: "+d)}e.gullet.beginGroup();var f=[],w=[f],x=[],v=[],b=o!=null?[]:void 0;function _(){o&&e.gullet.macros.set("\\@eqnsw","1",!0)}function z(){b&&(e.gullet.macros.get("\\df@tag")?(b.push(e.subparse([new U2("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):b.push(!!o&&e.gullet.macros.get("\\@eqnsw")==="1"))}for(_(),v.push(Qy(e));;){var $=e.parseExpression(!1,l?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup();var C={type:"ordgroup",mode:e.mode,body:$};n&&(C={type:"styling",mode:e.mode,style:n,resetFont:!0,body:[C]}),f.push(C);var j=e.fetch().text;if(j==="&"){if(u&&f.length===u){if(l||c)throw new K("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else if(j==="\\end"){z(),f.length===1&&C.type==="styling"&&C.body.length===1&&C.body[0].type==="ordgroup"&&C.body[0].body.length===0&&(w.length>1||!p)&&!Array.isArray(b?.[b.length-1])&&!(o&&b?.[b.length-1]===!0)&&w.pop(),v.length0&&(_+=.25),l.push({pos:_,isDashed:e1[_1]})}for(z(s[0]),a=0;a0&&(R+=b,je1))for(a=0;a=c)){var Z1=void 0;if(i>0||t.hskipBeforeAndAfter){var Q1,x0;Z1=(Q1=(x0=S)==null?void 0:x0.pregap)!=null?Q1:m,Z1!==0&&(O=W(["arraycolsep"],[]),O.style.width=n1(Z1),Q.push(O))}var k0=[];for(a=0;a0){for(var y1=u5("katex-hline",n,p),n0=u5("katex-hdashline",n,p),g2=[{type:"elem",elem:I,shift:0}];l.length>0;){var w5=l.pop(),ot=w5.pos-D;w5.isDashed?g2.push({type:"elem",elem:n0,shift:ot}):g2.push({type:"elem",elem:y1,shift:ot})}I=U1({positionType:"individualShift",children:g2})}if(r1.length===0)return W(["mord"],[I],n);var m9=U1({positionType:"individualShift",children:r1}),q=W(["katex-tag"],[m9],n);return M3([I,q])},nT={c:"center ",l:"left ",r:"right "},Oe=function(t,n){for(var a=[],i=new Y("mtd",[],["mtr-glue"]),r=new Y("mtd",[],["mml-eqn-num"]),s=0;s0){var f=t.cols,w="",x=!1,v=0,b=f.length;f[0].type==="separator"&&(m+="top ",v=1),f[f.length-1].type==="separator"&&(m+="bottom ",b-=1);for(var _=v;_0?"left ":"",m+=H[H.length-1].length>0?"right ":"";for(var E=1;E0&&u&&(f=1),a[m]={type:"align",align:d,pregap:f,postgap:0}}return r.colSeparationType=u?"align":"alignat",r};De({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){var n=Oa(t[0]),a=n?[t[0]]:N1(t[0],"ordgroup").body,i=a.map(function(s){var c=Ga(s),o=c.text;if("lcr".includes(o))return{type:"align",align:o};if(o==="|")return{type:"separator",separator:"|"};if(o===":")return{type:"separator",separator:":"};throw new K("Unknown column alignment: "+o,s)}),r={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return y4(e.parser,r,qo(e.envName))},htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],n="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:n}]};if(e.envName.charAt(e.envName.length-1)==="*"){var i=e.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),n=i.fetch().text,!"lcr".includes(n))throw new K("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),a.cols=[{type:"align",align:n}]}}var r=y4(e.parser,a,qo(e.envName)),s=Math.max(0,...r.body.map(c=>c.length));return r.cols=new Array(s).fill({type:"align",align:n}),t?{type:"leftright",mode:e.mode,body:[r],left:t[0],right:t[1],rightColor:void 0}:r},htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){var t={arraystretch:.5},n=y4(e.parser,t,"script");return n.colSeparationType="small",n},htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){var n=Oa(t[0]),a=n?[t[0]]:N1(t[0],"ordgroup").body,i=a.map(function(c){var o=Ga(c),l=o.text;if("lc".includes(l))return{type:"align",align:l};throw new K("Unknown column alignment: "+l,c)});if(i.length>1)throw new K("{subarray} can contain only one column");var r={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=y4(e.parser,r,"script");if(s.body.length>0&&s.body[0].length>1)throw new K("{subarray} can contain only one column");return s},htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){var t={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},n=y4(e.parser,t,qo(e.envName));return{type:"leftright",mode:e.mode,body:[n],left:e.envName.includes("r")?".":"\\{",right:e.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:O_,htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){tT.has(e.envName)&&Xa(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Vo(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return y4(e.parser,t,"display")},htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:O_,htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){Xa(e);var t={autoTag:Vo(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return y4(e.parser,t,"display")},htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["CD"],props:{numArgs:0},handler(e){return Xa(e),qN(e.parser)},htmlBuilder:Ge,mathmlBuilder:Oe});k("\\nonumber","\\gdef\\@eqnsw{0}");k("\\notag","\\nonumber");o1({type:"text",names:["\\hline","\\hdashline"],numArgs:0,allowedInText:!0,allowedInMath:!0,handler(e,t){throw new K(e.funcName+" valid only within array environment")}});var e_=D_;o1({type:"environment",names:["\\begin","\\end"],numArgs:1,argTypes:["text"],handler(e,t){var n=e.parser,a=e.funcName,i=t[0];if(i.type!=="ordgroup")throw new K("Invalid environment name",i);var r=No(i,"Environment name should contain only text characters and spaces",!0);if(a==="\\begin"){if(!Object.prototype.hasOwnProperty.call(e_,r))throw new K("No such environment: "+r,i);var s=e_[r],c=n.parseArguments("\\begin{"+r+"}",s),o=c.args,l=c.optArgs,p={mode:n.mode,envName:r,parser:n},u=s.handler(p,o,l);n.expect("\\end",!1);var m=n.nextToken,d=N1(n.parseFunction(),"environment");if(d.name!==r)throw new K("Mismatch: \\begin{"+r+"} matched by \\end{"+d.name+"}",m);return u}return{type:"environment",mode:n.mode,name:r,nameGroup:i}}});var aT=(e,t)=>{var n=e.font,a=t.withFont(n);return W1(e.body,a)},iT=(e,t)=>{var n=e.font,a=t.withFont(n);return J1(e.body,a)},t_={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak"};o1({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],numArgs:1,allowedInArgument:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=g7(t[0]),r=a in t_?t_[a]:a;return{type:"font",mode:n.mode,font:r.slice(1),body:i}},htmlBuilder:aT,mathmlBuilder:iT});o1({type:"mclass",names:["\\boldsymbol","\\bm"],numArgs:1,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"mclass",mode:n.mode,mclass:Wa(a),body:[{type:"font",mode:n.mode,font:"boldsymbol",body:a}],isCharacterBox:C3(a)}}});o1({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],numArgs:0,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=e.breakOnTokenText,r=n.mode,s=n.parseExpression(!0,i);return{type:"font",mode:r,font:"math"+a.slice(1),body:{type:"ordgroup",mode:n.mode,body:s}}}});var rT=(e,t)=>{var n=t.style,a=n.fracNum(),i=n.fracDen(),r;r=t.havingStyle(a);var s=W1(e.numer,r,t);if(e.continued){var c=8.5/t.fontMetrics().ptPerEm,o=3.5/t.fontMetrics().ptPerEm;s.height=s.height0?f=3*m:f=7*m,w=t.fontMetrics().denom1):(u>0?(d=t.fontMetrics().num2,f=m):(d=t.fontMetrics().num3,f=3*m),w=t.fontMetrics().denom2);var x;if(p){var b=t.fontMetrics().axisHeight;d-s.depth-(b+.5*u){var n=new Y("mfrac",[J1(e.numer,t),J1(e.denom,t)]);if(!e.hasBarLine)n.setAttribute("linethickness","0px");else if(e.barSize){var a=_0(e.barSize,t);n.setAttribute("linethickness",n1(a))}if(e.leftDelim!=null||e.rightDelim!=null){var i=[];if(e.leftDelim!=null){var r=new Y("mo",[new $0(e.leftDelim.replace("\\",""))]);r.setAttribute("fence","true"),i.push(r)}if(i.push(n),e.rightDelim!=null){var s=new Y("mo",[new $0(e.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return jo(i)}return n},W_=(e,t)=>{if(!t)return e;var n={type:"styling",mode:e.mode,style:t,body:[e]};return n};o1({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],numArgs:2,allowedInArgument:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0],r=t[1],s,c=null,o=null;switch(a){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,c="(",o=")";break;case"\\\\bracefrac":s=!1,c="\\{",o="\\}";break;case"\\\\brackfrac":s=!1,c="[",o="]";break;default:throw new Error("Unrecognized genfrac command")}var l=a==="\\cfrac",p=null;return l||a.startsWith("\\d")?p="display":a.startsWith("\\t")&&(p="text"),W_({type:"genfrac",mode:n.mode,numer:i,denom:r,continued:l,hasBarLine:s,leftDelim:c,rightDelim:o,barSize:null},p)},htmlBuilder:rT,mathmlBuilder:sT});o1({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],numArgs:0,infix:!0,handler(e){var t=e.parser,n=e.funcName,a=e.token,i;switch(n){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:t.mode,replaceWith:i,token:a}}});var n_=["display","text","script","scriptscript"],a_=function(t){var n=null;return t.length>0&&(n=t,n=n==="."?null:n),n};o1({type:"genfrac",names:["\\genfrac"],numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"],handler(e,t){var n=e.parser,a=t[4],i=t[5],r=g7(t[0]),s=r.type==="atom"&&r.family==="open"?a_(r.text):null,c=g7(t[1]),o=c.type==="atom"&&c.family==="close"?a_(c.text):null,l=N1(t[2],"size"),p,u=null;l.isBlank?p=!0:(u=l.value,p=u.number>0);var m=null,d=t[3];if(d.type==="ordgroup"){if(d.body.length>0){var f=N1(d.body[0],"textord");m=n_[Number(f.text)]}}else d=N1(d,"textord"),m=n_[Number(d.text)];return W_({type:"genfrac",mode:n.mode,numer:a,denom:i,continued:!1,hasBarLine:p,barSize:u,leftDelim:s,rightDelim:o},m)}});o1({type:"infix",names:["\\above"],numArgs:1,argTypes:["size"],infix:!0,handler(e,t){var n=e.parser;e.funcName;var a=e.token;return{type:"infix",mode:n.mode,replaceWith:"\\\\abovefrac",size:N1(t[0],"size").value,token:a}}});o1({type:"genfrac",names:["\\\\abovefrac"],numArgs:3,argTypes:["math","size","math"],handler:(e,t)=>{var n=e.parser;e.funcName;var a=t[0],i=N1(t[1],"infix").size;if(!i)throw new Error("\\\\abovefrac expected size, but got "+String(i));var r=t[2],s=i.number>0;return{type:"genfrac",mode:n.mode,numer:a,denom:r,continued:!1,hasBarLine:s,barSize:i,leftDelim:null,rightDelim:null}}});var U_=(e,t)=>{var n=t.style,a,i;e.type==="supsub"?(a=e.sup?W1(e.sup,t.havingStyle(n.sup()),t):W1(e.sub,t.havingStyle(n.sub()),t),i=N1(e.base,"horizBrace")):i=N1(e,"horizBrace");var r=W1(i.base,t.havingBaseStyle(C1.DISPLAY)),s=Da(i,t),c;if(i.isOver?c=U1({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:.1},{type:"elem",elem:s,wrapperClasses:["svg-align"]}]}):c=U1({positionType:"bottom",positionData:r.depth+.1+s.height,children:[{type:"elem",elem:s,wrapperClasses:["svg-align"]},{type:"kern",size:.1},{type:"elem",elem:r}]}),a){var o=W(["minner",i.isOver?"mover":"munder"],[c],t);i.isOver?c=U1({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.2},{type:"elem",elem:a}]}):c=U1({positionType:"bottom",positionData:o.depth+.2+a.height+a.depth,children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:o}]})}return W(["minner",i.isOver?"mover":"munder"],[c],t)},cT=(e,t)=>{var n=Ra(e.label);return new Y(e.isOver?"mover":"munder",[J1(e.base,t),n])};o1({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],numArgs:1,handler(e,t){var n=e.parser,a=e.funcName;return{type:"horizBrace",mode:n.mode,label:a,isOver:a.includes("\\over"),base:t[0]}},htmlBuilder:U_,mathmlBuilder:cT});o1({type:"href",names:["\\href"],numArgs:2,argTypes:["url","original"],allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=t[1],i=N1(t[0],"url").url;return n.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:n.mode,href:i,body:N0(a)}:n.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{var n=D0(e.body,t,!1);return lN(e.href,[],n,t)},mathmlBuilder:(e,t)=>{var n=v4(e.body,t);return n instanceof Y||(n=new Y("mrow",[n])),n.setAttribute("href",e.href),n}});o1({type:"href",names:["\\url"],numArgs:1,argTypes:["url"],allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=N1(t[0],"url").url;if(!n.settings.isTrusted({command:"\\url",url:a}))return n.formatUnsupportedCmd("\\url");for(var i=[],r=0;r{var n=e.parser,a=e.funcName;e.token;var i=N1(t[0],"raw").string,r=t[1];n.settings.strict&&n.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var s,c={};switch(a){case"\\htmlClass":c.class=i,s={command:"\\htmlClass",class:i};break;case"\\htmlId":c.id=i,s={command:"\\htmlId",id:i};break;case"\\htmlStyle":c.style=i,s={command:"\\htmlStyle",style:i};break;case"\\htmlData":{for(var o="{,}",l=[],p="",u=0;u{var n=D0(e.body,t,!1),a=["enclosing"];e.attributes.class&&a.push(...e.attributes.class.trim().split(/\s+/));var i=W(a,n,t);for(var r of Object.entries(e.attributes)){var s=r[0],c=r[1];s!=="class"&&i.setAttribute(s,c)}return i},mathmlBuilder:(e,t)=>v4(e.body,t)});o1({type:"htmlmathml",names:["\\html@mathml"],numArgs:2,allowedInArgument:!0,allowedInText:!0,handler:(e,t)=>{var n=e.parser;return{type:"htmlmathml",mode:n.mode,html:N0(t[0]),mathml:N0(t[1])}},htmlBuilder:(e,t)=>{var n=D0(e.html,t,!1);return M3(n)},mathmlBuilder:(e,t)=>v4(e.mathml,t)});var ro=function(t){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(t))return{number:+t,unit:"bp"};var n=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t);if(!n)throw new K("Invalid size: '"+t+"' in \\includegraphics");var a={number:+(n[1]+n[2]),unit:n[3]};if(!v_(a))throw new K("Invalid unit: '"+a.unit+"' in \\includegraphics.");return a};o1({type:"includegraphics",names:["\\includegraphics"],numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1,handler:(e,t,n)=>{var a=e.parser,i={number:0,unit:"em"},r={number:.9,unit:"em"},s={number:0,unit:"em"},c="";if(n[0])for(var o=N1(n[0],"raw").string,l=o.split(","),p=0;p{var n=_0(e.height,t),a=0;e.totalheight.number>0&&(a=_0(e.totalheight,t)-n);var i=0;e.width.number>0&&(i=_0(e.width,t));var r={height:n1(n+a)};i>0&&(r.width=n1(i)),a>0&&(r.verticalAlign=n1(-a));var s=new po(e.src,e.alt,r);return s.height=n,s.depth=a,s},mathmlBuilder:(e,t)=>{var n=new Y("mglyph",[]);n.setAttribute("alt",e.alt);var a=_0(e.height,t),i=0;if(e.totalheight.number>0&&(i=_0(e.totalheight,t)-a,n.setAttribute("valign",n1(-i))),n.setAttribute("height",n1(a+i)),e.width.number>0){var r=_0(e.width,t);n.setAttribute("width",n1(r))}return n.setAttribute("src",e.src),n}});o1({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0,handler(e,t){var n=e.parser,a=e.funcName,i=N1(t[0],"size");if(n.settings.strict){var r=a[1]==="m",s=i.value.unit==="mu";r?(s||n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, "+("not "+i.value.unit+" units")),n.mode!=="math"&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):s&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:n.mode,dimension:i.value}},htmlBuilder(e,t){return z_(e.dimension,t)},mathmlBuilder(e,t){var n=_0(e.dimension,t);return new Ta(n)}});o1({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0];return{type:"lap",mode:n.mode,alignment:a.slice(5),body:i}},htmlBuilder:(e,t)=>{var n;e.alignment==="clap"?(n=W([],[W1(e.body,t)]),n=W(["katex-inner"],[n],t)):n=W(["katex-inner"],[W1(e.body,t)]);var a=W(["katex-fix"],[]),i=W([e.alignment],[n,a],t),r=W(["katex-strut"]);return r.style.height=n1(i.height+i.depth),i.depth&&(r.style.verticalAlign=n1(-i.depth)),i.children.unshift(r),i=W(["katex-thinbox"],[i],t),W(["mord","katex-vbox"],[i],t)},mathmlBuilder:(e,t)=>{var n=new Y("mpadded",[J1(e.body,t)]);if(e.alignment!=="rlap"){var a=e.alignment==="llap"?"-1":"-0.5";n.setAttribute("lspace",a+"width")}return n.setAttribute("width","0px"),n}});o1({type:"styling",names:["\\(","$"],numArgs:0,allowedInText:!0,allowedInMath:!1,handler(e,t){var n=e.funcName,a=e.parser,i=a.mode;a.switchMode("math");var r=n==="\\("?"\\)":"$",s=a.parseExpression(!1,r);return a.expect(r),a.switchMode(i),{type:"styling",mode:a.mode,style:"text",resetFont:!0,body:s}}});o1({type:"text",names:["\\)","\\]"],numArgs:0,allowedInText:!0,allowedInMath:!1,handler(e,t){throw new K("Mismatched "+e.funcName)}});var i_=(e,t)=>{switch(t.style.size){case C1.DISPLAY.size:return e.display;case C1.TEXT.size:return e.text;case C1.SCRIPT.size:return e.script;case C1.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};o1({type:"mathchoice",names:["\\mathchoice"],numArgs:4,primitive:!0,handler:(e,t)=>{var n=e.parser;return{type:"mathchoice",mode:n.mode,display:N0(t[0]),text:N0(t[1]),script:N0(t[2]),scriptscript:N0(t[3])}},htmlBuilder:(e,t)=>{var n=i_(e,t),a=D0(n,t,!1);return M3(a)},mathmlBuilder:(e,t)=>{var n=i_(e,t);return v4(n,t)}});var X_=(e,t,n,a,i,r,s)=>{e=W([],[e]);var c=n&&C3(n),o,l;if(t){var p=W1(t,a.havingStyle(i.sup()),a);l={elem:p,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-p.depth)}}if(n){var u=W1(n,a.havingStyle(i.sub()),a);o={elem:u,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-u.height)}}var m;if(l&&o){var d=a.fontMetrics().bigOpSpacing5+o.elem.height+o.elem.depth+o.kern+e.depth+s;m=U1({positionType:"bottom",positionData:d,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:n1(-r)},{type:"kern",size:o.kern},{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:n1(r)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else if(o){var f=e.height-s;m=U1({positionType:"top",positionData:f,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:n1(-r)},{type:"kern",size:o.kern},{type:"elem",elem:e}]})}else if(l){var w=e.depth+s;m=U1({positionType:"bottom",positionData:w,children:[{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:n1(r)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else return e;var x=[m];if(o&&r!==0&&!c){var v=W(["mspace"],[],a);v.style.marginRight=n1(r),x.unshift(v)}return W(["mop","op-limits"],x,a)},K_=new Set(["\\smallint"]),Y_=(e,t)=>{var n,a,i=!1,r;e.type==="supsub"?(n=e.sup,a=e.sub,r=N1(e.base,"op"),i=!0):r=N1(e,"op");var s=t.style,c=!1;s.size===C1.DISPLAY.size&&r.symbol&&!K_.has(r.name)&&(c=!0);var o,l;if(r.symbol){var p=c?"Size2-Regular":"Size1-Regular",u="";if((r.name==="\\oiint"||r.name==="\\oiiint")&&(u=r.name.slice(1),r.name=u==="oiint"?"\\iint":"\\iiint"),o=x2(r.name,p,"math",t,["mop","op-symbol",c?"large-op":"small-op"]),l=o.italic,u.length>0){var m=A_(u+"Size"+(c?"2":"1"),t);o=U1({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:m,shift:c?.08:0}]}),r.name="\\"+u,o.classes.unshift("mop"),o.italic=l}}else if(r.body){var d=D0(r.body,t,!0);d.length===1&&d[0]instanceof z2?(o=d[0],o.classes[0]="mop"):o=W(["mop"],d,t)}else{for(var f=[],w=1;w{var n;if(e.symbol)n=new Y("mo",[ue(e.name,e.mode)]),K_.has(e.name)&&n.setAttribute("largeop","false");else if(e.body)n=new Y("mo",K2(e.body,t));else{n=new Y("mi",[new $0(e.name.slice(1))]);var a=new Y("mo",[ue("\u2061","text")]);e.parentIsSupSub?n=new Y("mrow",[n,a]):n=L_([n,a])}return n},lT={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};o1({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],numArgs:0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=a;return i.length===1&&(i=lT[i]),{type:"op",mode:n.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Y_,mathmlBuilder:oT});o1({type:"op",names:["\\mathop"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"op",mode:n.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:N0(a)}}});var pT={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};o1({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],numArgs:0,handler(e){var t=e.parser,n=e.funcName;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:n}}});o1({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],numArgs:0,handler(e){var t=e.parser,n=e.funcName;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:n}}});o1({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],numArgs:0,allowedInArgument:!0,handler(e){var t=e.parser,n=e.funcName,a=n;return a.length===1&&(a=pT[a]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}}});var J_=(e,t)=>{var n,a,i=!1,r;e.type==="supsub"?(n=e.sup,a=e.sub,r=N1(e.base,"operatorname"),i=!0):r=N1(e,"operatorname");var s;if(r.body.length>0){for(var c=r.body.map(u=>{var m="text"in u?u.text:void 0;return typeof m=="string"?{type:"textord",mode:u.mode,text:m}:u}),o=D0(c,t.withFont("mathrm"),!0),l=0;l{for(var n=K2(e.body,t.withFont("mathrm")),a=!0,i=0;ip.toText()).join("");n=[new $0(c)]}var o=new Y("mi",n);o.setAttribute("mathvariant","normal");var l=new Y("mo",[ue("\u2061","text")]);return e.parentIsSupSub?new Y("mrow",[o,l]):L_([o,l])};o1({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],numArgs:1,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0];return{type:"operatorname",mode:n.mode,body:N0(i),alwaysHandleSupSub:a==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:J_,mathmlBuilder:uT});k("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");nt({type:"ordgroup",htmlBuilder(e,t){return e.semisimple?M3(D0(e.body,t,!1)):W(["mord"],D0(e.body,t,!0),t)},mathmlBuilder(e,t){return v4(e.body,t,!0)}});o1({type:"overline",names:["\\overline"],numArgs:1,handler(e,t){var n=e.parser,a=t[0];return{type:"overline",mode:n.mode,body:a}},htmlBuilder(e,t){var n=W1(e.body,t.havingCrampedStyle()),a=u5("overline-line",t),i=t.fontMetrics().defaultRuleThickness,r=U1({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:a},{type:"kern",size:i}]});return W(["mord","katex-overline"],[r],t)},mathmlBuilder(e,t){var n=new Y("mo",[new $0("\u203E")]);n.setAttribute("stretchy","true");var a=new Y("mover",[J1(e.body,t),n]);return a.setAttribute("accent","true"),a}});o1({type:"phantom",names:["\\phantom"],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"phantom",mode:n.mode,body:N0(a)}},htmlBuilder:(e,t)=>{var n=D0(e.body,t.withPhantom(),!1);return M3(n)},mathmlBuilder:(e,t)=>{var n=K2(e.body,t);return new Y("mphantom",n)}});k("\\hphantom","\\smash{\\phantom{#1}}");o1({type:"vphantom",names:["\\vphantom"],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"vphantom",mode:n.mode,body:a}},htmlBuilder:(e,t)=>{var n=W(["katex-inner"],[W1(e.body,t.withPhantom())]),a=W(["katex-fix"],[]);return W(["mord","rlap"],[n,a],t)},mathmlBuilder:(e,t)=>{var n=K2(N0(e.body),t),a=new Y("mphantom",n),i=new Y("mpadded",[a]);return i.setAttribute("width","0px"),i}});o1({type:"raisebox",names:["\\raisebox"],numArgs:2,argTypes:["size","hbox"],allowedInText:!0,handler(e,t){var n=e.parser,a=N1(t[0],"size").value,i=t[1];return{type:"raisebox",mode:n.mode,dy:a,body:i}},htmlBuilder(e,t){var n=W1(e.body,t),a=_0(e.dy,t);return U1({positionType:"shift",positionData:-a,children:[{type:"elem",elem:n}]})},mathmlBuilder(e,t){var n=new Y("mpadded",[J1(e.body,t)]),a=e.dy.number+e.dy.unit;return n.setAttribute("voffset",a),n}});var Q_=(e,t)=>{var n=e.parser;return{type:"reflectbox",mode:n.mode,body:t[0]}};o1({type:"reflectbox",names:["\\reflectbox"],numArgs:1,argTypes:["hbox"],allowedInText:!0,handler:Q_,htmlBuilder(e,t){return W(["mord","reflectbox"],[W1(e.body,t)],t)},mathmlBuilder(e,t){return J1(e.body,t)}});o1({type:"reflectbox",names:["\\mathreflectbox"],numArgs:1,argTypes:["math"],handler:Q_});o1({type:"internal",names:["\\relax"],numArgs:0,allowedInText:!0,allowedInArgument:!0,handler(e){var t=e.parser;return{type:"internal",mode:t.mode}}});o1({type:"rule",names:["\\rule"],numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"],handler(e,t,n){var a=e.parser,i=n[0],r=N1(t[0],"size"),s=N1(t[1],"size");return{type:"rule",mode:a.mode,shift:i&&N1(i,"size").value,width:r.value,height:s.value}},htmlBuilder(e,t){var n=W(["mord","katex-rule"],[],t),a=_0(e.width,t),i=_0(e.height,t),r=e.shift?_0(e.shift,t):0;return n.style.borderRightWidth=n1(a),n.style.borderTopWidth=n1(i),n.style.bottom=n1(r),n.width=a,n.height=i+r,n.depth=-r,n.maxFontSize=i*1.125*t.sizeMultiplier,n},mathmlBuilder(e,t){var n=_0(e.width,t),a=_0(e.height,t),i=e.shift?_0(e.shift,t):0,r=t.color&&t.getColor()||"black",s=new Y("mspace");s.setAttribute("mathbackground",r),s.setAttribute("width",n1(n)),s.setAttribute("height",n1(a));var c=new Y("mpadded",[s]);return i>=0?c.setAttribute("height",n1(i)):(c.setAttribute("height",n1(i)),c.setAttribute("depth",n1(-i))),c.setAttribute("voffset",n1(i)),c}});function ew(e,t,n){for(var a=D0(e,t,!1),i=t.sizeMultiplier/n.sizeMultiplier,r=0;r{var n=t.havingSize(e.size);return ew(e.body,n,t)};o1({type:"sizing",names:r_,numArgs:0,allowedInText:!0,handler:(e,t)=>{var n=e.breakOnTokenText,a=e.funcName,i=e.parser,r=i.parseExpression(!1,n);return{type:"sizing",mode:i.mode,size:r_.indexOf(a)+1,body:r}},htmlBuilder:mT,mathmlBuilder:(e,t)=>{var n=t.havingSize(e.size),a=K2(e.body,n),i=new Y("mstyle",a);return i.setAttribute("mathsize",n1(n.sizeMultiplier)),i}});o1({type:"smash",names:["\\smash"],numArgs:1,numOptionalArgs:1,allowedInText:!0,handler:(e,t,n)=>{var a=e.parser,i=!1,r=!1,s=n[0]&&N1(n[0],"ordgroup");if(s)for(var c,o=0;o{var n=W([],[W1(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return n;if(e.smashHeight&&(n.height=0),e.smashDepth&&(n.depth=0),e.smashHeight&&e.smashDepth)return W(["mord","katex-smash"],[n],t);if(n.children)for(var a=0;a{var n=new Y("mpadded",[J1(e.body,t)]);return e.smashHeight&&n.setAttribute("height","0px"),e.smashDepth&&n.setAttribute("depth","0px"),n}});o1({type:"sqrt",names:["\\sqrt"],numArgs:1,numOptionalArgs:1,handler(e,t,n){var a=e.parser,i=n[0],r=t[0];return{type:"sqrt",mode:a.mode,body:r,index:i}},htmlBuilder(e,t){var n=W1(e.body,t.havingCrampedStyle());n.height===0&&(n.height=t.fontMetrics().xHeight),n=m5(n,t);var a=t.fontMetrics(),i=a.defaultRuleThickness,r=i;t.style.idn.height+n.depth+s&&(s=(s+m-n.height-n.depth)/2);var d=l.height-n.height-s-p;n.style.paddingLeft=n1(u);var f=U1({positionType:"firstBaseline",children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:-(n.height+d)},{type:"elem",elem:l},{type:"kern",size:p}]});if(e.index){var w=t.havingStyle(C1.SCRIPTSCRIPT),x=W1(e.index,w,t),v=.6*(f.height-f.depth),b=U1({positionType:"shift",positionData:-v,children:[{type:"elem",elem:x}]}),_=W(["katex-root"],[b]);return W(["mord","sqrt"],[_,f],t)}else return W(["mord","sqrt"],[f],t)},mathmlBuilder(e,t){var n=e.body,a=e.index;return a?new Y("mroot",[J1(n,t),J1(a,t)]):new Y("msqrt",[J1(n,t)])}});var Co={display:C1.DISPLAY,text:C1.TEXT,script:C1.SCRIPT,scriptscript:C1.SCRIPTSCRIPT};function dT(e){return e in Co}o1({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],numArgs:0,allowedInText:!0,primitive:!0,handler(e,t){var n=e.breakOnTokenText,a=e.funcName,i=e.parser,r=i.parseExpression(!0,n),s=a.slice(1,a.length-5);if(!dT(s))throw new Error("Unknown style: "+s);return{type:"styling",mode:i.mode,style:s,body:r}},htmlBuilder(e,t){var n=Co[e.style],a=t.havingStyle(n);return e.resetFont&&(a=a.withFont("")),ew(e.body,a,t)},mathmlBuilder(e,t){var n=Co[e.style],a=t.havingStyle(n);e.resetFont&&(a=a.withFont(""));var i=K2(e.body,a),r=new Y("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},c=s[e.style];return r.setAttribute("scriptlevel",c[0]),r.setAttribute("displaystyle",c[1]),r}});var hT=function(t,n){var a=t.base;if(a)if(a.type==="op"){var i=a.limits&&(n.style.size===C1.DISPLAY.size||a.alwaysHandleSupSub);return i?Y_:null}else if(a.type==="operatorname"){var r=a.alwaysHandleSupSub&&(n.style.size===C1.DISPLAY.size||a.limits);return r?J_:null}else{if(a.type==="accent")return C3(a.base)?F_:null;if(a.type==="horizBrace"){var s=!t.sub;return s===a.isOver?U_:null}else return null}else return null};nt({type:"supsub",htmlBuilder(e,t){var n=hT(e,t);if(n)return n(e,t);var a=e.base,i=e.sup,r=e.sub,s=W1(a,t),c,o,l=t.fontMetrics(),p=0,u=0,m=a&&C3(a);if(i){var d=t.havingStyle(t.style.sup());c=W1(i,d,t),m||(p=s.height-d.fontMetrics().supDrop*d.sizeMultiplier/t.sizeMultiplier)}if(r){var f=t.havingStyle(t.style.sub());o=W1(r,f,t),m||(u=s.depth+f.fontMetrics().subDrop*f.sizeMultiplier/t.sizeMultiplier)}var w;t.style===C1.DISPLAY?w=l.sup1:t.style.cramped?w=l.sup3:w=l.sup2;var x=t.sizeMultiplier,v=n1(.5/l.ptPerEm/x),b=null;if(o){var _=e.base&&e.base.type==="op"&&e.base.name&&(e.base.name==="\\oiint"||e.base.name==="\\oiiint");if(s instanceof z2||_){var z;b=n1(-((z=s.italic)!=null?z:0))}}var $;if(c&&o){p=Math.max(p,w,c.depth+.25*l.xHeight),u=Math.max(u,l.sub2);var C=l.defaultRuleThickness,j=4*C;if(p-c.depth-(o.height-u)0&&(p+=T,u-=T)}var H=[{type:"elem",elem:o,shift:u,marginRight:v,marginLeft:b},{type:"elem",elem:c,shift:-p,marginRight:v}];$=U1({positionType:"individualShift",children:H})}else if(o){u=Math.max(u,l.sub1,o.height-.8*l.xHeight);var E=[{type:"elem",elem:o,marginLeft:b,marginRight:v}];$=U1({positionType:"shift",positionData:u,children:E})}else if(c)p=Math.max(p,w,c.depth+.25*l.xHeight),$=U1({positionType:"shift",positionData:-p,children:[{type:"elem",elem:c,marginRight:v}]});else throw new Error("supsub must have either sup or sub.");var R=_o(s,"right")||"mord";return W([R],[s,W(["msupsub"],[$])],t)},mathmlBuilder(e,t){var n=!1,a,i;e.base&&e.base.type==="horizBrace"&&(i=!!e.sup,i===e.base.isOver&&(n=!0,a=e.base.isOver)),e.base&&(e.base.type==="op"||e.base.type==="operatorname")&&(e.base.parentIsSupSub=!0);var r=[J1(e.base,t)];e.sub&&r.push(J1(e.sub,t)),e.sup&&r.push(J1(e.sup,t));var s;if(n)s=a?"mover":"munder";else if(e.sub)if(e.sup){var l=e.base;l&&l.type==="op"&&l.limits&&t.style===C1.DISPLAY||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(t.style===C1.DISPLAY||l.limits)?s="munderover":s="msubsup"}else{var o=e.base;o&&o.type==="op"&&o.limits&&(t.style===C1.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||t.style===C1.DISPLAY)?s="munder":s="msub"}else{var c=e.base;c&&c.type==="op"&&c.limits&&(t.style===C1.DISPLAY||c.alwaysHandleSupSub)||c&&c.type==="operatorname"&&c.alwaysHandleSupSub&&(c.limits||t.style===C1.DISPLAY)?s="mover":s="msup"}return new Y(s,r)}});nt({type:"atom",htmlBuilder(e,t){return Zo(e.text,e.mode,t,["m"+e.family])},mathmlBuilder(e,t){var n=new Y("mo",[ue(e.text,e.mode)]);if(e.family==="bin"){var a=Ho(e,t);a==="bold-italic"&&n.setAttribute("mathvariant",a)}else e.family==="punct"?n.setAttribute("separator","true"):(e.family==="open"||e.family==="close")&&n.setAttribute("stretchy","false");return n}});var tw={mi:"italic",mn:"normal",mtext:"normal"};nt({type:"mathord",htmlBuilder(e,t){return Pa(e,t)},mathmlBuilder(e,t){var n=new Y("mi",[ue(e.text,e.mode,t)]),a=Ho(e,t)||"italic";return a!==tw[n.type]&&n.setAttribute("mathvariant",a),n}});nt({type:"textord",htmlBuilder(e,t){return Pa(e,t)},mathmlBuilder(e,t){var n=ue(e.text,e.mode,t),a=Ho(e,t)||"normal",i;return e.mode==="text"?i=new Y("mtext",[n]):/[0-9]/.test(e.text)?i=new Y("mn",[n]):e.text==="\\prime"?i=new Y("mo",[n]):i=new Y("mi",[n]),a!==tw[i.type]&&i.setAttribute("mathvariant",a),i}});var s_=new Map([["\\nobreak","nobreak"],["\\allowbreak","allowbreak"]]),c_=new Map([[" ",{}],["\\ ",{}],["~",{className:"nobreak"}],["\\space",{}],["\\nobreakspace",{className:"nobreak"}]]);nt({type:"spacing",htmlBuilder(e,t){var n=c_.get(e.text),a=s_.get(e.text);if(n){var i=n.className||"";if(e.mode==="text"){var r=Pa(e,t);return r.classes.push(i),r}else return W(["mspace",i],[Zo(e.text,e.mode,t)],t)}else{if(a)return W(["mspace",a],[],t);throw new K('Unknown type of space "'+e.text+'"')}},mathmlBuilder(e,t){var n;if(c_.has(e.text))n=new Y("mtext",[new $0("\xA0")]);else{if(s_.has(e.text))return new Y("mspace");throw new K('Unknown type of space "'+e.text+'"')}return n}});var o_=()=>{var e=new Y("mtd",[]);return e.setAttribute("width","50%"),e};nt({type:"tag",mathmlBuilder(e,t){var n=new Y("mtable",[new Y("mtr",[o_(),new Y("mtd",[v4(e.body,t)]),o_(),new Y("mtd",[v4(e.tag,t)])])]);return n.setAttribute("width","100%"),n}});var l_={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},p_={"\\textbf":"textbf","\\textmd":"textmd"},gT={"\\textit":"textit","\\textup":"textup"},u_=(e,t)=>{var n=e.font;if(n){if(l_[n])return t.withTextFontFamily(l_[n]);if(p_[n])return t.withTextFontWeight(p_[n]);if(n==="\\emph")return t.fontShape==="textit"?t.withTextFontShape("textup"):t.withTextFontShape("textit")}else return t;return t.withTextFontShape(gT[n])};o1({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0,handler(e,t){var n=e.parser,a=e.funcName,i=t[0];return{type:"text",mode:n.mode,body:N0(i),font:a}},htmlBuilder(e,t){var n=u_(e,t),a=D0(e.body,n,!0);return W(["mord","text"],a,n)},mathmlBuilder(e,t){var n=u_(e,t);return v4(e.body,n)}});o1({type:"underline",names:["\\underline"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser;return{type:"underline",mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=W1(e.body,t),a=u5("underline-line",t),i=t.fontMetrics().defaultRuleThickness,r=U1({positionType:"top",positionData:n.height,children:[{type:"kern",size:i},{type:"elem",elem:a},{type:"kern",size:3*i},{type:"elem",elem:n}]});return W(["mord","katex-underline"],[r],t)},mathmlBuilder(e,t){var n=new Y("mo",[new $0("\u203E")]);n.setAttribute("stretchy","true");var a=new Y("munder",[J1(e.body,t),n]);return a.setAttribute("accentunder","true"),a}});o1({type:"vcenter",names:["\\vcenter"],numArgs:1,argTypes:["original"],allowedInText:!1,handler(e,t){var n=e.parser;return{type:"vcenter",mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=W1(e.body,t),a=t.fontMetrics().axisHeight,i=.5*(n.height-a-(n.depth+a));return U1({positionType:"shift",positionData:i,children:[{type:"elem",elem:n}]})},mathmlBuilder(e,t){var n=new Y("mpadded",[J1(e.body,t)],["vcenter"]);return new Y("mrow",[n])}});o1({type:"verb",names:["\\verb"],numArgs:0,allowedInText:!0,handler(e,t,n){throw new K("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){for(var n=m_(e),a=[],i=t.havingStyle(t.style.text()),r=0;re.body.replace(/ /g,e.star?"\u2423":"\xA0"),d4=M_,nw="[ \r\n ]",bT="\\\\[a-zA-Z@]+",fT="\\\\[^\uD800-\uDFFF]",vT="("+bT+")"+nw+"*",yT="\\\\(\n|[ \r ]+\n?)[ \r ]*",Ao="[\u0300-\u036F]",_T=new RegExp(Ao+"+$"),wT="("+nw+"+)|"+(yT+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(Ao+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Ao+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+vT)+("|"+fT+")"),qa=class{constructor(t,n){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=t,this.settings=n,this.tokenRegex=new RegExp(wT,"g"),this.catcodes={"%":14,"~":13}}setCatcode(t,n){this.catcodes[t]=n}lex(){var t=this.input,n=this.tokenRegex.lastIndex;if(n===t.length)return new U2("EOF",new N2(this,n,n));var a=this.tokenRegex.exec(t);if(a===null||a.index!==n)throw new K("Unexpected character: '"+t[n]+"'",new U2(t[n],new N2(this,n,n+1)));var i=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[i]===14){var r=t.indexOf("\n",this.tokenRegex.lastIndex);return r===-1?(this.tokenRegex.lastIndex=t.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=r+1,this.lex()}return new U2(i,new N2(this,n,this.tokenRegex.lastIndex))}},Mo=class{constructor(t,n){t===void 0&&(t={}),n===void 0&&(n={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=n,this.builtins=t,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new K("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var t=this.undefStack.pop();for(var n of Object.keys(t))t[n]===void 0?delete this.current[n]:this.current[n]=t[n]}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(t){return Object.prototype.hasOwnProperty.call(this.current,t)||Object.prototype.hasOwnProperty.call(this.builtins,t)}get(t){return Object.prototype.hasOwnProperty.call(this.current,t)?this.current[t]:Object.prototype.hasOwnProperty.call(this.builtins,t)?this.builtins[t]:void 0}set(t,n,a){if(a===void 0&&(a=!1),a){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][t]=n)}else{var r=this.undefStack[this.undefStack.length-1];r&&!Object.prototype.hasOwnProperty.call(r,t)&&(r[t]=Object.prototype.hasOwnProperty.call(this.current,t)?this.current[t]:void 0)}n==null?delete this.current[t]:this.current[t]=n}},xT=G_;k("\\noexpand",function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}});k("\\expandafter",function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}});k("\\@firstoftwo",function(e){var t=e.consumeArgs(2);return{tokens:t[0],numArgs:0}});k("\\@secondoftwo",function(e){var t=e.consumeArgs(2);return{tokens:t[1],numArgs:0}});k("\\@ifnextchar",function(e){var t=e.consumeArgs(3);e.consumeSpaces();var n=e.future();return t[0].length===1&&t[0][0].text===n.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}});k("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");k("\\TextOrMath",function(e){var t=e.consumeArgs(2);return e.mode==="text"?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var d_={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};k("\\char",function(e){var t=e.popToken(),n,a=0;if(t.text==="'")n=8,t=e.popToken();else if(t.text==='"')n=16,t=e.popToken();else if(t.text==="`")if(t=e.popToken(),t.text[0]==="\\")a=t.text.charCodeAt(1);else{if(t.text==="EOF")throw new K("\\char` missing argument");a=t.text.charCodeAt(0)}else n=10;if(n){if(a=d_[t.text],a==null||a>=n)throw new K("Invalid base-"+n+" digit "+t.text);for(var i;(i=d_[e.future().text])!=null&&i{var i=e.consumeArg().tokens;if(i.length!==1)throw new K("\\newcommand's first argument must be a macro name");var r=i[0].text,s=e.isDefined(r);if(s&&!t)throw new K("\\newcommand{"+r+"} attempting to redefine "+(r+"; use \\renewcommand"));if(!s&&!n)throw new K("\\renewcommand{"+r+"} when command "+r+" does not yet exist; use \\newcommand");var c=0;if(i=e.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var o="",l=e.expandNextToken();l.text!=="]"&&l.text!=="EOF";)o+=l.text,l=e.expandNextToken();if(!o.match(/^\s*[0-9]+\s*$/))throw new K("Invalid number of arguments: "+o);c=parseInt(o),i=e.consumeArg().tokens}return s&&a||e.macros.set(r,{tokens:i,numArgs:c}),""};k("\\newcommand",e=>Io(e,!1,!0,!1));k("\\renewcommand",e=>Io(e,!0,!1,!1));k("\\providecommand",e=>Io(e,!0,!0,!0));k("\\message",e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(n=>n.text).join("")),""});k("\\errmessage",e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(n=>n.text).join("")),""});k("\\show",e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),d4[n],u0.math[n],u0.text[n]),""});k("\\bgroup","{");k("\\egroup","}");k("~","\\nobreakspace");k("\\lq","`");k("\\rq","'");k("\\aa","\\r a");k("\\AA","\\r A");k("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");k("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");k("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");k("\u212C","\\mathscr{B}");k("\u2130","\\mathscr{E}");k("\u2131","\\mathscr{F}");k("\u210B","\\mathscr{H}");k("\u2110","\\mathscr{I}");k("\u2112","\\mathscr{L}");k("\u2133","\\mathscr{M}");k("\u211B","\\mathscr{R}");k("\u212D","\\mathfrak{C}");k("\u210C","\\mathfrak{H}");k("\u2128","\\mathfrak{Z}");k("\\Bbbk","\\Bbb{k}");k("\\llap","\\mathllap{\\textrm{#1}}");k("\\rlap","\\mathrlap{\\textrm{#1}}");k("\\clap","\\mathclap{\\textrm{#1}}");k("\\mathstrut","\\vphantom{(}");k("\\underbar","\\underline{\\text{#1}}");k("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');k("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");k("\\ne","\\neq");k("\u2260","\\neq");k("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");k("\u2209","\\notin");k("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");k("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");k("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");k("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");k("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");k("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");k("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");k("\u27C2","\\perp");k("\u203C","\\mathclose{!\\mkern-0.8mu!}");k("\u220C","\\notni");k("\u231C","\\ulcorner");k("\u231D","\\urcorner");k("\u231E","\\llcorner");k("\u231F","\\lrcorner");k("\xA9","\\copyright");k("\xAE","\\textregistered");k("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');k("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');k("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');k("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');k("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");k("\u22EE","\\vdots");k("\\varGamma","\\mathit{\\Gamma}");k("\\varDelta","\\mathit{\\Delta}");k("\\varTheta","\\mathit{\\Theta}");k("\\varLambda","\\mathit{\\Lambda}");k("\\varXi","\\mathit{\\Xi}");k("\\varPi","\\mathit{\\Pi}");k("\\varSigma","\\mathit{\\Sigma}");k("\\varUpsilon","\\mathit{\\Upsilon}");k("\\varPhi","\\mathit{\\Phi}");k("\\varPsi","\\mathit{\\Psi}");k("\\varOmega","\\mathit{\\Omega}");k("\\substack","\\begin{subarray}{c}#1\\end{subarray}");k("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");k("\\boxed","\\fbox{$\\displaystyle{#1}$}");k("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");k("\\implies","\\DOTSB\\;\\Longrightarrow\\;");k("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");k("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");k("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var h_={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},kT=new Set(["bin","rel"]);k("\\dots",function(e){var t="\\dotso",n=e.expandAfterFuture().text;return n in h_?t=h_[n]:(n.slice(0,4)==="\\not"||n in u0.math&&kT.has(u0.math[n].group))&&(t="\\dotsb"),t});var Bo={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};k("\\dotso",function(e){var t=e.future().text;return t in Bo?"\\ldots\\,":"\\ldots"});k("\\dotsc",function(e){var t=e.future().text;return t in Bo&&t!==","?"\\ldots\\,":"\\ldots"});k("\\cdots",function(e){var t=e.future().text;return t in Bo?"\\@cdots\\,":"\\@cdots"});k("\\dotsb","\\cdots");k("\\dotsm","\\cdots");k("\\dotsi","\\!\\cdots");k("\\dotsx","\\ldots\\,");k("\\DOTSI","\\relax");k("\\DOTSB","\\relax");k("\\DOTSX","\\relax");k("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");k("\\,","\\tmspace+{3mu}{.1667em}");k("\\thinspace","\\,");k("\\>","\\mskip{4mu}");k("\\:","\\tmspace+{4mu}{.2222em}");k("\\medspace","\\:");k("\\;","\\tmspace+{5mu}{.2777em}");k("\\thickspace","\\;");k("\\!","\\tmspace-{3mu}{.1667em}");k("\\negthinspace","\\!");k("\\negmedspace","\\tmspace-{4mu}{.2222em}");k("\\negthickspace","\\tmspace-{5mu}{.277em}");k("\\enspace","\\kern.5em ");k("\\enskip","\\hskip.5em\\relax");k("\\quad","\\hskip1em\\relax");k("\\qquad","\\hskip2em\\relax");k("\\tag","\\@ifstar\\tag@literal\\tag@paren");k("\\tag@paren","\\tag@literal{({#1})}");k("\\tag@literal",e=>{if(e.macros.get("\\df@tag"))throw new K("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});k("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");k("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");k("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");k("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");k("\\newline","\\\\\\relax");k("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var aw=n1(Pe["Main-Regular"][84][1]-.7*Pe["Main-Regular"][65][1]);k("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+aw+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");k("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+aw+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");k("\\hspace","\\@ifstar\\@hspacer\\@hspace");k("\\@hspace","\\hskip #1\\relax");k("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");k("\\ordinarycolon",":");k("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");k("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');k("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');k("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');k("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');k("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');k("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');k("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');k("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');k("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');k("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');k("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');k("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');k("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');k("\u2237","\\dblcolon");k("\u2239","\\eqcolon");k("\u2254","\\coloneqq");k("\u2255","\\eqqcolon");k("\u2A74","\\Coloneqq");k("\\ratio","\\vcentcolon");k("\\coloncolon","\\dblcolon");k("\\colonequals","\\coloneqq");k("\\coloncolonequals","\\Coloneqq");k("\\equalscolon","\\eqqcolon");k("\\equalscoloncolon","\\Eqqcolon");k("\\colonminus","\\coloneq");k("\\coloncolonminus","\\Coloneq");k("\\minuscolon","\\eqcolon");k("\\minuscoloncolon","\\Eqcolon");k("\\coloncolonapprox","\\Colonapprox");k("\\coloncolonsim","\\Colonsim");k("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");k("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");k("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");k("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");k("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");k("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");k("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");k("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");k("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");k("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");k("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");k("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");k("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");k("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");k("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");k("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");k("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");k("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");k("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");k("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");k("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");k("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");k("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");k("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");k("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");k("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");k("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");k("\\imath","\\html@mathml{\\@imath}{\u0131}");k("\\jmath","\\html@mathml{\\@jmath}{\u0237}");k("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");k("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");k("\u27E6","\\llbracket");k("\u27E7","\\rrbracket");k("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");k("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");k("\u21A4","\\mapsfrom");k("\\mapsfrom","\\html@mathml{\\mathrel{\\mathreflectbox{\\mapsto}}}{\\mathrel{\\char`\u21A4}}");k("\u2983","\\lBrace");k("\u2984","\\rBrace");k("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");k("\u29B5","\\minuso");k("\\darr","\\downarrow");k("\\dArr","\\Downarrow");k("\\Darr","\\Downarrow");k("\\lang","\\langle");k("\\rang","\\rangle");k("\\uarr","\\uparrow");k("\\uArr","\\Uparrow");k("\\Uarr","\\Uparrow");k("\\N","\\mathbb{N}");k("\\R","\\mathbb{R}");k("\\Z","\\mathbb{Z}");k("\\alef","\\aleph");k("\\alefsym","\\aleph");k("\\Alpha","\\mathrm{A}");k("\\Beta","\\mathrm{B}");k("\\bull","\\bullet");k("\\Chi","\\mathrm{X}");k("\\clubs","\\clubsuit");k("\\cnums","\\mathbb{C}");k("\\Complex","\\mathbb{C}");k("\\Dagger","\\ddagger");k("\\diamonds","\\diamondsuit");k("\\empty","\\emptyset");k("\\Epsilon","\\mathrm{E}");k("\\Eta","\\mathrm{H}");k("\\exist","\\exists");k("\\harr","\\leftrightarrow");k("\\hArr","\\Leftrightarrow");k("\\Harr","\\Leftrightarrow");k("\\hearts","\\heartsuit");k("\\image","\\Im");k("\\infin","\\infty");k("\\Iota","\\mathrm{I}");k("\\isin","\\in");k("\\Kappa","\\mathrm{K}");k("\\larr","\\leftarrow");k("\\lArr","\\Leftarrow");k("\\Larr","\\Leftarrow");k("\\lrarr","\\leftrightarrow");k("\\lrArr","\\Leftrightarrow");k("\\Lrarr","\\Leftrightarrow");k("\\Mu","\\mathrm{M}");k("\\natnums","\\mathbb{N}");k("\\Nu","\\mathrm{N}");k("\\Omicron","\\mathrm{O}");k("\\plusmn","\\pm");k("\\rarr","\\rightarrow");k("\\rArr","\\Rightarrow");k("\\Rarr","\\Rightarrow");k("\\real","\\Re");k("\\reals","\\mathbb{R}");k("\\Reals","\\mathbb{R}");k("\\Rho","\\mathrm{P}");k("\\sdot","\\cdot");k("\\sect","\\S");k("\\spades","\\spadesuit");k("\\sub","\\subset");k("\\sube","\\subseteq");k("\\supe","\\supseteq");k("\\Tau","\\mathrm{T}");k("\\thetasym","\\vartheta");k("\\weierp","\\wp");k("\\Zeta","\\mathrm{Z}");k("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");k("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");k("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");k("\\bra","\\mathinner{\\langle{#1}|}");k("\\ket","\\mathinner{|{#1}\\rangle}");k("\\braket","\\mathinner{\\langle{#1}\\rangle}");k("\\Bra","\\left\\langle#1\\right|");k("\\Ket","\\left|#1\\right\\rangle");var iw=e=>t=>{var n=t.consumeArg().tokens,a=t.consumeArg().tokens,i=t.consumeArg().tokens,r=t.consumeArg().tokens,s=t.macros.get("|"),c=t.macros.get("\\|");t.macros.beginGroup();var o=u=>m=>{e&&(m.macros.set("|",s),i.length&&m.macros.set("\\|",c));var d=u;if(!u&&i.length){var f=m.future();f.text==="|"&&(m.popToken(),d=!0)}return{tokens:d?i:a,numArgs:0}};t.macros.set("|",o(!1)),i.length&&t.macros.set("\\|",o(!0));var l=t.consumeArg().tokens,p=t.expandTokens([...r,...l,...n]);return t.macros.endGroup(),{tokens:p.reverse(),numArgs:0}};k("\\bra@ket",iw(!1));k("\\bra@set",iw(!0));k("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");k("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");k("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");k("\\angln","{\\angl n}");k("\\blue","\\textcolor{##6495ed}{#1}");k("\\orange","\\textcolor{##ffa500}{#1}");k("\\pink","\\textcolor{##ff00af}{#1}");k("\\red","\\textcolor{##df0030}{#1}");k("\\green","\\textcolor{##28ae7b}{#1}");k("\\gray","\\textcolor{gray}{#1}");k("\\purple","\\textcolor{##9d38bd}{#1}");k("\\blueA","\\textcolor{##ccfaff}{#1}");k("\\blueB","\\textcolor{##80f6ff}{#1}");k("\\blueC","\\textcolor{##63d9ea}{#1}");k("\\blueD","\\textcolor{##11accd}{#1}");k("\\blueE","\\textcolor{##0c7f99}{#1}");k("\\tealA","\\textcolor{##94fff5}{#1}");k("\\tealB","\\textcolor{##26edd5}{#1}");k("\\tealC","\\textcolor{##01d1c1}{#1}");k("\\tealD","\\textcolor{##01a995}{#1}");k("\\tealE","\\textcolor{##208170}{#1}");k("\\greenA","\\textcolor{##b6ffb0}{#1}");k("\\greenB","\\textcolor{##8af281}{#1}");k("\\greenC","\\textcolor{##74cf70}{#1}");k("\\greenD","\\textcolor{##1fab54}{#1}");k("\\greenE","\\textcolor{##0d923f}{#1}");k("\\goldA","\\textcolor{##ffd0a9}{#1}");k("\\goldB","\\textcolor{##ffbb71}{#1}");k("\\goldC","\\textcolor{##ff9c39}{#1}");k("\\goldD","\\textcolor{##e07d10}{#1}");k("\\goldE","\\textcolor{##a75a05}{#1}");k("\\redA","\\textcolor{##fca9a9}{#1}");k("\\redB","\\textcolor{##ff8482}{#1}");k("\\redC","\\textcolor{##f9685d}{#1}");k("\\redD","\\textcolor{##e84d39}{#1}");k("\\redE","\\textcolor{##bc2612}{#1}");k("\\maroonA","\\textcolor{##ffbde0}{#1}");k("\\maroonB","\\textcolor{##ff92c6}{#1}");k("\\maroonC","\\textcolor{##ed5fa6}{#1}");k("\\maroonD","\\textcolor{##ca337c}{#1}");k("\\maroonE","\\textcolor{##9e034e}{#1}");k("\\purpleA","\\textcolor{##ddd7ff}{#1}");k("\\purpleB","\\textcolor{##c6b9fc}{#1}");k("\\purpleC","\\textcolor{##aa87ff}{#1}");k("\\purpleD","\\textcolor{##7854ab}{#1}");k("\\purpleE","\\textcolor{##543b78}{#1}");k("\\mintA","\\textcolor{##f5f9e8}{#1}");k("\\mintB","\\textcolor{##edf2df}{#1}");k("\\mintC","\\textcolor{##e0e5cc}{#1}");k("\\grayA","\\textcolor{##f6f7f7}{#1}");k("\\grayB","\\textcolor{##f0f1f2}{#1}");k("\\grayC","\\textcolor{##e3e5e6}{#1}");k("\\grayD","\\textcolor{##d6d8da}{#1}");k("\\grayE","\\textcolor{##babec2}{#1}");k("\\grayF","\\textcolor{##888d93}{#1}");k("\\grayG","\\textcolor{##626569}{#1}");k("\\grayH","\\textcolor{##3b3e40}{#1}");k("\\grayI","\\textcolor{##21242c}{#1}");k("\\kaBlue","\\textcolor{##314453}{#1}");k("\\kaGreen","\\textcolor{##71B307}{#1}");var rw={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},$o=class{constructor(t,n,a){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=n,this.expansionCount=0,this.feed(t),this.macros=new Mo(xT,n.macros),this.mode=a,this.stack=[]}feed(t){this.lexer=new qa(t,this.settings)}switchMode(t){this.mode=t}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(t){this.stack.push(t)}pushTokens(t){this.stack.push(...t)}scanArgument(t){var n,a,i;if(t){if(this.consumeSpaces(),this.future().text!=="[")return null;n=this.popToken();var r=this.consumeArg(["]"]);i=r.tokens,a=r.end}else{var s=this.consumeArg();i=s.tokens,n=s.start,a=s.end}return this.pushToken(new U2("EOF",a.loc)),this.pushTokens(i),new U2("",N2.range(n,a))}consumeSpaces(){for(;;){var t=this.future();if(t.text===" ")this.stack.pop();else break}}consumeArg(t){var n=[],a=t&&t.length>0;a||this.consumeSpaces();var i=this.future(),r,s=0,c=0;do{if(r=this.popToken(),n.push(r),r.text==="{")++s;else if(r.text==="}"){if(--s,s===-1)throw new K("Extra }",r)}else if(r.text==="EOF")throw new K("Unexpected end of input in a macro argument, expected '"+(t&&a?t[c]:"}")+"'",r);if(t&&a)if((s===0||s===1&&t[c]==="{")&&r.text===t[c]){if(++c,c===t.length){n.splice(-c,c);break}}else c=0}while(s!==0||a);return i.text==="{"&&n[n.length-1].text==="}"&&(n.pop(),n.shift()),n.reverse(),{tokens:n,start:i,end:r}}consumeArgs(t,n){if(n){if(n.length!==t+1)throw new K("The length of delimiters doesn't match the number of args!");for(var a=n[0],i=0;ithis.settings.maxExpand)throw new K("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(t){var n=this.popToken(),a=n.text,i=n.noexpand?null:this._getExpansion(a);if(i==null||t&&i.unexpandable){if(t&&i==null&&a[0]==="\\"&&!this.isDefined(a))throw new K("Undefined control sequence: "+a);return this.pushToken(n),!1}this.countExpansion(1);var r=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){r=r.slice();for(var c=r.length-1;c>=0;--c){var o=r[c];if(o.text==="#"){if(c===0)throw new K("Incomplete placeholder at end of macro body",o);if(o=r[--c],o.text==="#")r.splice(c+1,1);else if(/^[1-9]$/.test(o.text))r.splice(c,2,...s[+o.text-1]);else throw new K("Not a valid argument number",o)}}}return this.pushTokens(r),r.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var t=this.stack.pop();return t.treatAsRelax&&(t.text="\\relax"),t}}expandMacro(t){return this.macros.has(t)?this.expandTokens([new U2(t)]):void 0}expandTokens(t){var n=[],a=this.stack.length;for(this.pushTokens(t);this.stack.length>a;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),n.push(i)}return this.countExpansion(n.length),n}expandMacroAsText(t){var n=this.expandMacro(t);return n&&n.map(a=>a.text).join("")}_getExpansion(t){var n=this.macros.get(t);if(n==null)return n;if(t.length===1){var a=this.lexer.catcodes[t];if(a!=null&&a!==13)return}var i=typeof n=="function"?n(this):n;if(typeof i=="string"){var r=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(r+1));)++r;for(var c=new qa(i,this.settings),o=[],l=c.lex();l.text!=="EOF";)o.push(l),l=c.lex();o.reverse();var p={tokens:o,numArgs:r};return p}return i}isDefined(t){return this.macros.has(t)||Object.prototype.hasOwnProperty.call(d4,t)||Object.prototype.hasOwnProperty.call(u0.math,t)||Object.prototype.hasOwnProperty.call(u0.text,t)||Object.prototype.hasOwnProperty.call(rw,t)}isExpandable(t){var n=this.macros.get(t);return n!=null?typeof n=="string"||typeof n=="function"||!n.unexpandable:Object.prototype.hasOwnProperty.call(d4,t)&&!d4[t].primitive}},g_=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Za=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),so={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},b_={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},Ia=class e{constructor(t,n){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new $o(t,n,this.mode),this.settings=n,this.leftrightDepth=0,this.nextToken=null}expect(t,n){if(n===void 0&&(n=!0),this.fetch().text!==t)throw new K("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());n&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(t){this.mode=t,this.gullet.switchMode(t)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var t=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),t}finally{this.gullet.endGroups()}}subparse(t){var n=this.nextToken;this.consume(),this.gullet.pushToken(new U2("}")),this.gullet.pushTokens(t);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=n,a}parseExpression(t,n){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(e.endOfExpression.has(i.text)||n&&i.text===n||t&&d4[i.text]&&d4[i.text].infix)break;var r=this.parseAtom(n);if(r){if(r.type==="internal")continue}else break;a.push(r)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(t){for(var n=-1,a,i=0;i=128)this.settings.strict&&(f_(n.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+n[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+n[0]+'"'+(" ("+n.charCodeAt(0)+")"),t)),s={type:"textord",mode:"text",loc:N2.range(t),text:n};else return null;if(this.consume(),r)for(var p=0;p(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("path",{d:"M7.99986 14.0887C11.3626 14.0887 14.0886 11.3627 14.0886 7.99998C14.0886 4.63727 11.3626 1.91125 7.99986 1.91125C4.63715 1.91125 1.91113 4.63727 1.91113 7.99998C1.91113 11.3627 4.63715 14.0887 7.99986 14.0887Z",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M2.34619 8H13.6538",stroke:"currentColor",strokeLinecap:"square"}),(0,Z.jsx)("path",{d:"M7.99976 14.0889C9.23509 14.0889 10.1743 11.3629 10.1743 8.00006C10.1743 4.63739 9.23509 1.91138 7.99976 1.91138",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M7.99973 14.0889C6.76445 14.0889 5.8252 11.3629 5.8252 8.00006C5.8252 4.63739 6.76445 1.91138 7.99973 1.91138",stroke:"currentColor"})]}),qq=({size:e=14,className:t,strokeWidth:n})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("path",{d:"M4.67398 4.25061L1.36094 7.86484C1.29085 7.9413 1.29085 8.05866 1.36094 8.13513L4.67398 11.7494",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M11.3262 4.25061L14.6392 7.86484C14.7093 7.9413 14.7093 8.05866 14.6392 8.13513L11.3262 11.7494",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M9.56222 3.62573L6.43774 12.3743",stroke:"currentColor"})]});var Iq=({size:e=16,className:t,strokeWidth:n})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("path",{d:"M1.50439 3.11059C1.50439 2.55831 1.95211 2.1106 2.50439 2.1106H5.43389C5.67773 2.1106 5.91318 2.19969 6.09593 2.36113L7.71649 3.79265C7.89924 3.95409 8.1347 4.04319 8.3785 4.04319H13.4958C14.0481 4.04319 14.4958 4.4909 14.4958 5.04319V12.8894C14.4958 13.4417 14.0481 13.8894 13.4958 13.8894H2.50439C1.95211 13.8894 1.50439 13.4417 1.50439 12.8894V4.04319V3.11059Z",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M3.63501 7.66614H12.3647",stroke:"currentColor"})]});var Bq=1.3;var Pq=({size:e=16,className:t,strokeWidth:n})=>(0,Z.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,Z.jsx)("path",{d:"M2.25 8.5L5.49732 11.7473C5.90519 12.1552 6.57263 12.1344 6.95426 11.7018L13.75 4",stroke:"currentColor"})}),Rq=e=>(0,Z.jsx)(Pq,{...e,strokeWidth:1});var Dq=({size:e=14,className:t,strokeWidth:n})=>(0,Z.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,Z.jsx)("path",{d:"M4 6L7.29289 9.29289C7.68342 9.68342 8.31658 9.68342 8.70711 9.29289L12 6",stroke:"currentColor"})}),Gq=e=>(0,Z.jsx)(Dq,{...e,strokeWidth:1});var Oq=({size:e=14,className:t,strokeWidth:n})=>(0,Z.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,Z.jsx)("path",{d:"M12 10L8.70711 6.70711C8.31658 6.31658 7.68342 6.31658 7.29289 6.70711L4 10",stroke:"currentColor"})}),Wq=e=>(0,Z.jsx)(Oq,{...e,strokeWidth:1});var Uq=({size:e=16,className:t,strokeWidth:n})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("path",{d:"M2.5 2.5L13.5 13.5",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M13.5 2.5L2.5 13.5",stroke:"currentColor"})]}),Xq=e=>(0,Z.jsx)(Uq,{...e,strokeWidth:1});var Kq=({size:e=16,className:t,strokeWidth:n})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("rect",{x:"1.52075",y:"4.07373",width:"10.3932",height:"10.3932",rx:"2",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M11.9792 1.53296C13.36 1.53296 14.4792 2.65225 14.4792 4.03296V9.42847C14.4792 10.3756 13.9521 11.1987 13.1755 11.6228V10.3298C13.3652 10.0787 13.4792 9.7674 13.4792 9.42847V4.03296C13.4792 3.20453 12.8077 2.53296 11.9792 2.53296H6.58374C6.27966 2.53301 5.99684 2.6235 5.7605 2.77905H4.42358C4.85652 2.03463 5.66056 1.53304 6.58374 1.53296H11.9792Z",fill:"currentColor"})]}),Yq=e=>(0,Z.jsx)(Kq,{...e,strokeWidth:1});var Jq=({size:e=16,className:t,strokeWidth:n})=>(0,Z.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,Z.jsx)("path",{d:"M12.596 12.596C11.687 13.5049 10.5288 14.1239 9.26798 14.3747C8.00716 14.6255 6.70028 14.4968 5.51261 14.0048C4.32494 13.5129 3.30981 12.6798 2.59557 11.611C1.88134 10.5421 1.50008 9.2855 1.5 7.99998C1.50008 6.71446 1.88134 5.45783 2.59557 4.38898C3.30981 3.32013 4.32494 2.48707 5.51261 1.99513C6.70028 1.50319 8.00716 1.37447 9.26798 1.62524C10.5288 1.87602 11.687 2.49502 12.596 3.40398",stroke:"currentColor"})}),Qq=e=>(0,Z.jsx)(Jq,{...e,strokeWidth:1});var eI=({size:e=16,className:t})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,Z.jsx)("path",{d:"M2 15H1V1H2V15Z",fill:"currentColor"}),(0,Z.jsx)("path",{d:"M12.3535 7.64645C12.5487 7.84171 12.5487 8.15829 12.3535 8.35355L9.85352 10.8535L9.14648 10.1465L10.793 8.5H3.5V7.5H10.793L9.14648 5.85352L9.85352 5.14648L12.3535 7.64645Z",fill:"currentColor"}),(0,Z.jsx)("path",{d:"M15 15H14V1H15V15Z",fill:"currentColor"})]}),tI=e=>(0,Z.jsx)(eI,{...e});var nI=({size:e=16,className:t})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,Z.jsx)("path",{d:"M10.9999 8C10.9999 6.89543 10.1046 6 9 6H4.5V5H9C10.6568 5 11.9999 6.34315 11.9999 8C11.9999 9.65685 10.6568 11 9 11H6.20703L6.85351 11.6465L6.14648 12.3535L4.64652 10.8536C4.45126 10.6583 4.45126 10.3417 4.64652 10.1464L6.14648 8.64648L6.85351 9.35352L6.20703 10H9C10.1046 10 10.9999 9.10457 10.9999 8Z",fill:"currentColor"}),(0,Z.jsx)("path",{d:"M2 15H1V1H2V15Z",fill:"currentColor"}),(0,Z.jsx)("path",{d:"M15 15H14V1H15V15Z",fill:"currentColor"})]}),aI=e=>(0,Z.jsx)(nI,{...e});var r9=(0,P.createContext)(void 0);function wk({children:e,className:t}){let n=(0,P.useContext)(r9)===!0&&typeof e=="string";return(0,Z.jsx)("span",{className:C0(Q3.text,t),"data-shimmer-text":n?e:void 0,children:n?null:e})}var xk=(0,P.memo)(function({children:t,active:n=!1,className:a,contentClassName:i}){if((0,P.useContext)(r9)!==void 0)return(0,Z.jsx)(wk,{className:a,children:t});let r=typeof t=="string"?(0,Z.jsx)(wk,{children:t}):t;return(0,Z.jsxs)("span",{className:C0(Q3.root,a),"data-shimmer":n||void 0,children:[(0,Z.jsx)(r9.Provider,{value:!1,children:(0,Z.jsx)("span",{className:C0(Q3.content,i),children:r})}),n&&(0,Z.jsx)("span",{className:Q3.decoration,"aria-hidden":"true",inert:"",children:(0,Z.jsx)("span",{className:Q3.sweep,children:(0,Z.jsx)(r9.Provider,{value:!0,children:(0,Z.jsx)("span",{className:C0(Q3.content,Q3.highlight,i),children:r})})})})]})}),e41=(0,P.memo)(function({icon:t,title:n,open:a,expandable:i,onToggle:r,running:s=!1,expandOnRowClick:c=!1,previewChevron:o=i,keepContentWhenOpen:l=!1,collapsedContent:p,headerAccessory:u,children:m,className:d,rowClassName:f,contentClassName:w,contentLayoutClassName:x,leadingClassName:v,chevronClassName:b,titleClassName:_}){let z=i&&c,$=H=>{H.stopPropagation(),r()},C=H=>{!z||H.key!=="Enter"&&H.key!==" "||(H.preventDefault(),r())},j=o?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("span",{className:c3.iconIdle,children:t}),(0,Z.jsx)(Gq,{className:C0(b,c3.chevronHover)})]}):t,T=a?(0,Z.jsx)(Wq,{className:b}):j;return(0,Z.jsxs)("div",{className:C0(c3.root,d),"data-open":a||void 0,children:[(0,Z.jsxs)("div",{className:c3.header,"data-disclosure-header":!0,"data-has-accessory":!!u||void 0,children:[(0,Z.jsxs)("div",{className:C0(c3.row,f),"data-disclosure-row":!0,"data-expandable":z||void 0,role:z?"button":void 0,tabIndex:z?0:void 0,"aria-expanded":z?a:void 0,onClick:z?r:void 0,onKeyDown:z?C:void 0,children:[i&&!z?(0,Z.jsx)("button",{type:"button",className:C0(c3.leading,v),"aria-label":n,"aria-expanded":a,onClick:$,children:T}):(0,Z.jsx)("span",{className:C0(c3.leading,v),children:T}),(0,Z.jsxs)(xk,{active:s,className:w,contentClassName:x,children:[(0,Z.jsx)(xk,{className:C0(c3.title,_),children:n}),(l||!a)&&p]})]}),u]}),a&&m]})}),t41=(0,P.forwardRef)(function({variant:t="ghost",size:n="md",icon:a,className:i,children:r,...s},c){return(0,Z.jsxs)("button",{ref:c,type:"button",className:C0($6.button,$6[t],$6[n],i),...s,children:[a!=null&&(0,Z.jsx)("span",{className:$6.icon,children:a}),r]})});var n41=(0,P.forwardRef)(function({icon:t,className:n,...a},i){return(0,Z.jsxs)("span",{className:C0(w8.wrap,n),children:[t!=null&&(0,Z.jsx)("span",{className:w8.icon,children:t}),(0,Z.jsx)("input",{ref:i,className:w8.input,...a})]})});function kk(e){let t=document.documentElement,n=Number.parseFloat(getComputedStyle(t).getPropertyValue("--dsh-frame-top-clearance"));return Number.isNaN(n)?e:Math.max(e,(t.hasAttribute("data-fullscreen")?0:n)+20)}function iI(e){let t=(0,P.useRef)(null),n=(0,P.useRef)(e);n.current=e;let a=(0,P.useCallback)(()=>{t.current!==null&&(clearTimeout(t.current),t.current=null)},[]),i=(0,P.useCallback)(()=>{a(),t.current=setTimeout(()=>{t.current=null,n.current()},200)},[a]);return(0,P.useEffect)(()=>a,[a]),{arm:i,cancel:a}}function rI({keys:e,variant:t="plain",className:n}){return(0,Z.jsx)("span",{className:C0(Ot.keys,t==="tooltip"&&Ot.tooltip,t==="tooltip"&&e.includes("+")&&Ot.joined,n),children:e.map((a,i)=>(0,Z.jsx)("kbd",{className:a==="+"?Ot.separator:Ot.key,children:a},i))})}var a41=(0,P.forwardRef)(function({compact:t=!1,className:n,style:a,children:i,...r},s){let c=(0,P.useId)(),o=(0,P.useRef)(null);(0,P.useLayoutEffect)(()=>{document.body.appendChild(o.current)},[]);let l={"--dsh-menu-anchor":"--dsh-menu-".concat(c.replaceAll(":",""))};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{...r,ref:s,"data-menu-material":"translucent",className:C0(Wt.surface,t&&Wt.compact,n),style:{...a,...l},children:[(0,Z.jsx)("div",{"aria-hidden":"true",className:Wt.material}),i]}),(0,A7.createPortal)((0,Z.jsx)("div",{ref:o,"aria-hidden":"true","data-menu-backing":"",className:C0(Wt.backing,t&&Wt.compact),style:{...l,visibility:a?.visibility}}),document.body)]})});function sI(e,t,n,a){(0,P.useEffect)(()=>{if(!t)return;let i=r=>{r.target instanceof Node&&e.current?.contains(r.target)!==!0&&a?.current?.contains(r.target)!==!0&&n(!1)};return document.addEventListener("pointerdown",i),()=>{document.removeEventListener("pointerdown",i)}},[e,t,n,a])}async function Ik(e){if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{return!1}let t=typeof document.execCommand=="function"?document.execCommand.bind(document):void 0;if(t===void 0)return!1;let n=document.createElement("textarea");n.value=e,n.setAttribute("readonly",""),n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.select();try{return t("copy")}catch{return!1}finally{n.remove()}}var cI=(0,P.createContext)(null);var zk=100,Ck=420,Ak=24,oI=300,rt=8,T2=8;function lI({anchor:e,content:t,openDelayMs:n=500,disabled:a=!1,grouped:i=!1,copyText:r,copyLabel:s,copiedLabel:c,variant:o="compact",widthAnchorRef:l,inline:p=!1}){let u=(0,P.useRef)(null),m=(0,P.useRef)(null),d=(0,P.useRef)(null),f=(0,P.useRef)(null),w=(0,P.useRef)(null),x=(0,P.useRef)(0),v=(0,P.useRef)(!1),b=(0,P.useRef)(!0),[_,z]=(0,P.useState)("closed"),$=_!=="closed",C=_==="closing",[j,T]=(0,P.useState)(null),H=j!==null,[E,R]=(0,P.useState)(!1),D=(0,P.useContext)(cI),B=i?D:null,[Q]=(0,P.useState)(()=>Symbol("hover-card")),O=(0,P.useCallback)(()=>{f.current!==null&&(clearTimeout(f.current),f.current=null),w.current=null,R(!1)},[]),U=(0,P.useCallback)(()=>{x.current+=1,O(),z(p1=>o==="preview"&&p1!=="closed"?"closing":"closed")},[O,o]),{arm:r1,cancel:z1}=iI(U),A1=(0,P.useCallback)(()=>{d.current!==null&&(clearTimeout(d.current),d.current=null)},[]),A=(0,P.useCallback)(()=>{A1(),z1(),x.current+=1,O(),z("closed")},[A1,z1,O]),i1=$&&H;(0,P.useLayoutEffect)(()=>{if(!(!i1||B===null))return B.shown(Q,A,m.current),()=>{B.release(Q)}},[B,Q,i1,A]),(0,P.useEffect)(()=>{if(!C)return;let p1=setTimeout(()=>{z("closed")},zk);return()=>{clearTimeout(p1)}},[C]),(0,P.useEffect)(()=>{a&&(A1(),z1(),U())},[a,z1,U]),(0,P.useEffect)(()=>(b.current=!0,()=>{b.current=!1,x.current+=1,A1(),f.current!==null&&(clearTimeout(f.current),f.current=null)}),[]),(0,P.useEffect)(()=>{if(!$||o!=="preview"&&!p)return;let p1=V1=>{V1.key==="Escape"&&(p&&V1.stopPropagation(),A1(),z1(),U())};return window.addEventListener("keydown",p1,p),()=>{window.removeEventListener("keydown",p1,p)}},[$,o,p,z1,U]),(0,P.useLayoutEffect)(()=>{if(!$){T(null);return}let p1=()=>{let S1=u.current;if(S1===null)return;let Z1=S1.getBoundingClientRect(),Q1=m.current?.offsetHeight??0;if(o==="preview"){let k0=l?.current?.getBoundingClientRect()??Z1,t2=Math.max(0,Math.min(k0.width-Ak*2,window.innerWidth-T2*2)),h2=kk(T2),V0=Math.max(h2,Z1.bottom+rt),J2=Math.max(0,Z1.top-rt-h2),A2=Math.max(0,window.innerHeight-V0-T2),F0=J2>=Math.min(Ck,A2),V2=Math.min(Ck,F0?J2:A2);T({left:Math.max(T2,Math.min(k0.left+Ak,window.innerWidth-t2-T2)),top:F0?Math.max(h2,Z1.top-Math.min(Q1,V2)-rt):V0,width:t2,maxHeight:V2});return}if(p){let k0=Math.max(Q1,m.current?.scrollHeight??0),t2=Math.max(0,Math.min(oI,window.innerWidth-T2*2)),h2=kk(T2),V0=Math.max(h2,Z1.bottom+rt),J2=Math.max(0,Z1.top-rt-h2),A2=Math.max(0,window.innerHeight-V0-T2),F0=k0>A2&&J2>A2,V2=F0?J2:A2;T({left:Math.max(T2,Math.min(Z1.left,window.innerWidth-t2-T2)),top:F0?Z1.top-rt-Math.min(k0,V2):V0,width:t2,maxHeight:V2});return}let x0=Z1.top+Q1>window.innerHeight-T2?window.innerHeight-Q1-T2:Z1.top;T({left:Z1.right+rt,top:x0})};p1();let V1=(o==="preview"||p)&&typeof ResizeObserver<"u"?new ResizeObserver(p1):null;for(let S1 of[m.current,u.current,l?.current])S1!=null&&V1?.observe(S1);return window.addEventListener("scroll",p1,!0),window.addEventListener("resize",p1),()=>{V1?.disconnect(),window.removeEventListener("scroll",p1,!0),window.removeEventListener("resize",p1)}},[$,o,l,H,p]),(0,P.useLayoutEffect)(()=>{if(!$||j===null||o==="preview"||p)return;let p1=m.current?.offsetHeight??0;j.top+p1>window.innerHeight-T2&&T({left:j.left,top:window.innerHeight-p1-T2})},[$,j,o,p]);let l1=async p1=>{if(E||v.current)return;v.current=!0;let V1=x.current,S1=await Ik(p1);v.current=!1;let Z1=m.current;if(!S1||!b.current||V1!==x.current||Z1===null)return;let Q1=Z1.offsetHeight;w.current=Q1>0?Q1:null,R(!0),f.current=setTimeout(O,1e3)},S=r!==void 0,R1=p1=>{m.current?.contains(p1.target)||(A1(),z1(),U())},h0=$&&j!==null&&(0,Z.jsx)("div",{ref:m,className:C0(He.card,o==="preview"&&He.preview,p&&He.media,S&&He.copyable,E&&He.feedback),"data-closing":C||void 0,style:{...j,minHeight:E&&w.current!==null?w.current:void 0,"--dsh-hover-preview-fade":"".concat(zk,"ms")},role:S?"button":void 0,tabIndex:S?0:void 0,"aria-label":S?"".concat(s,": ").concat(r):void 0,onClick:S?p1=>{let V1=window.getSelection();if(V1!==null&&!V1.isCollapsed){for(let S1=0;S1{p1.key!=="Enter"&&p1.key!==" "||(p1.preventDefault(),l1(r))}:void 0,children:E?(0,Z.jsx)("span",{className:He.copied,"aria-hidden":"true",children:c}):t});return(0,Z.jsxs)("span",{ref:u,className:C0(He.root,p&&He.inline),onFocus:p?p1=>{!a&&p1.target.matches(":focus-visible")&&(z1(),z("open"))}:void 0,onBlur:p?p1=>{p1.currentTarget.contains(p1.relatedTarget)||(A1(),z1(),U())}:void 0,onPointerEnter:p1=>{if(!(a||p&&p1.pointerType==="touch")){if(z1(),$){z("open");return}A1(),B?.isWarm()?z("open"):d.current=setTimeout(()=>{z("open")},n)}},onPointerLeave:()=>{A1(),$&&r1()},onPointerDownCapture:R1,onClickCapture:R1,children:[e,$&&S&&(0,Z.jsx)("span",{className:He.status,role:"status",children:E?c:""}),h0!==!1&&(0,A7.createPortal)(h0,document.body)]})}var i41=Object.freeze({angular:'',c:'',clojure:'',cmake:'',cpp:'',csharp:'',css:'CSS',dart:'',docker:'',elixir:'',env:'.ENV',erlang:'',flutter:'',git:'',go:'',graphql:'',haskell:'',ini:'INI',java:'',javascript:'',json:'',kotlin:'',lua:'',makefile:'',node:'',"objective-c":'OC',perl:'',php:'',powershell:'',protobuf:'',python:'',r:'',react:'',ruby:'',rust:'',scala:'',shell:'',solidity:'',sql:'',svelte:'',swift:'',toml:'',typescript:'',vue:'',wasm:'',xml:'',yaml:'\n\n\n\n\n',zig:''});var pI=new Set(["angular","c","clojure","cmake","cpp","csharp","css","dart","docker","elixir","env","erlang","flutter","git","go","graphql","haskell","ini","java","javascript","json","kotlin","lua","makefile","node","objective-c","perl","php","powershell","protobuf","python","r","react","ruby","rust","scala","shell","solidity","sql","svelte","swift","toml","typescript","vue","wasm","xml","yaml","zig"]),uI={".bash_profile":"shell",".bashrc":"shell",".env":"env",".gitattributes":"git",".gitconfig":"git",".gitignore":"git",".gitmodules":"git",".mailmap":"git",".profile":"shell",".zprofile":"shell",".zshrc":"shell",bsdmakefile:"makefile","cmakelists.txt":"cmake",commit_editmsg:"git","compose.yaml":"docker","compose.yml":"docker","docker-compose.yaml":"docker","docker-compose.yml":"docker",dockerfile:"docker",gemfile:"ruby",gnumakefile:"makefile",guardfile:"ruby",makefile:"makefile","npm-shrinkwrap.json":"node","package-lock.json":"node","package.json":"node",podfile:"ruby",rakefile:"ruby"},mI=[["dockerfile.","docker"],[".env.","env"]],dI=[[".component.ts","angular"],[".component.html","angular"],[".directive.ts","angular"],[".service.ts","angular"],[".module.ts","angular"],[".pipe.ts","angular"],[".guard.ts","angular"],[".interceptor.ts","angular"],[".dockerfile","docker"]],hI={bash:"shell",c:"c","c++":"cpp",cc:"cpp",cfg:"ini",cjs:"javascript",clj:"clojure",cljc:"clojure",cljs:"clojure",cmake:"cmake",cpp:"cpp",cs:"csharp",csh:"shell",css:"css",csx:"csharp",cts:"typescript",cxx:"cpp",dart:"dart",dtd:"xml",edn:"clojure",env:"env",erl:"erlang",es6:"javascript",escript:"erlang",ex:"elixir",exs:"elixir",fish:"shell",gemspec:"ruby",go:"go",gql:"graphql",graphql:"graphql",h:"c","h++":"cpp",hh:"cpp",hpp:"cpp",hrl:"erlang",hs:"haskell",hxx:"cpp",ini:"ini",ipp:"cpp",java:"java",js:"javascript",json:"json",json5:"json",jsonc:"json",jsx:"react",ksh:"shell",kt:"kotlin",kts:"kotlin",lhs:"haskell",lua:"lua",m:"objective-c",mak:"makefile",mjs:"javascript",mk:"makefile",mm:"objective-c",mts:"typescript",node:"node",pch:"objective-c",php:"php",php3:"php",php4:"php",php5:"php",phps:"php",phtml:"php",pl:"perl",plist:"xml",pm:"perl",pod:"perl",proto:"protobuf",ps1:"powershell",psd1:"powershell",psm1:"powershell",py:"python",pyi:"python",pyw:"python",pyx:"python",r:"r",rake:"ruby",rb:"ruby",rmd:"r",rs:"rust",sc:"scala",scala:"scala",sh:"shell",sol:"solidity",sql:"sql",svelte:"svelte",swift:"swift",t:"perl",tcsh:"shell",toml:"toml",tpp:"cpp",ts:"typescript",tsx:"react",vue:"vue",wasm:"wasm",wast:"wasm",wat:"wasm",xml:"xml",xsd:"xml",xsl:"xml",xslt:"xml",yaml:"yaml",yml:"yaml",zig:"zig",zsh:"shell"},gI=new Set(["ts","tsx","js","jsx","mjs","cjs","cts","mts","css","scss","sass","less","html","htm","vue","svelte","astro","json","jsonc","json5","yaml","yml","toml","xml","ini","env","sh","bash","zsh","fish","ps1","bat","cmd","py","pyi","rb","rs","go","java","kt","kts","c","cc","cpp","cxx","h","hh","hpp","cs","php","swift","sql","proto","graphql","gql","lua","r","pl","scala","clj","cljs","ex","exs","erl","hs","dart"]);function bI(e){return e.slice(Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"))+1)}function fI(e){return pI.has(e)}function vI(e){return gI.has(e.toLowerCase())}function yI(e,t,n){let a=uI[e];if(a!==void 0)return a;for(let[i,r]of mI)if(e.startsWith(i))return r;for(let[i,r]of dI)if(e.endsWith(i))return r;return t==="dart"&&n!==void 0&&Object.entries(n.files).find(([i])=>bI(i).toLowerCase()==="pubspec.yaml")?.[1]?.includes("flutter:")===!0?"flutter":hI[t]??null}var _I={scss:"code",sass:"code",less:"code",vue:"code",svelte:"code",astro:"code",bat:"code",cmd:"code",csv:"excel",tsv:"excel",html:"html",htm:"html",png:"image",jpg:"image",jpeg:"image",gif:"image",svg:"image",webp:"image",avif:"image",bmp:"image",ico:"image",tif:"image",tiff:"image",heic:"image",heif:"image",md:"markdown",mdx:"markdown",markdown:"markdown",pdf:"pdf",ppt:"ppt",pptx:"ppt",key:"ppt",mp4:"video",mov:"video",m4v:"video",webm:"video",mkv:"video",avi:"video",mpg:"video",mpeg:"video",doc:"word",docx:"word",rtf:"word",odt:"word",pages:"word",xls:"excel",xlsx:"excel",xlsm:"excel",xlsb:"excel",xlt:"excel",xltx:"excel",xltm:"excel",ods:"excel",ots:"excel",fods:"excel",numbers:"excel"},wI={changelog:"markdown",contributing:"markdown",readme:"markdown"};function Bk(e){return e.slice(Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"))+1)}function Pk(e){let t=Bk(e),n=t.lastIndexOf(".");return n<0?"":t.slice(n+1)}function Rk(e,t){let n=Bk(e).toLowerCase(),a=Pk(n).toLowerCase();return yI(n,a,t)??wI[n]??_I[a]??"other"}var xI={"github.com":x8,"github.io":x8,"raw.githubusercontent.com":x8,"gitlab.com":Sh,"npmjs.com":Nh,"pypi.org":Th,"stackoverflow.com":Rh,"developer.mozilla.org":jh,"wikipedia.org":Uh,"news.ycombinator.com":Xh,"youtube.com":ds,"youtu.be":ds,"x.com":ms,"twitter.com":ms,"bilibili.com":Ch,"zhihu.com":Kh,"juejin.cn":Fh,"csdn.net":Ah,"google.com":Eh,"baidu.com":zh,"duckduckgo.com":Mh,"tiktok.com":Gh,"netflix.com":Hh,"spotify.com":Ph,"facebook.com":Lh,"instagram.com":Zh,"reddit.com":Ih,"telegram.org":ps,"t.me":ps,"weixin.qq.com":Wh,"qq.com":Vh,"whatsapp.com":us,"wa.me":us,"weibo.com":Bh,"taobao.com":Dh,"aliexpress.com":xh,"ebay.com":$h,"quora.com":qh,"v2ex.com":Oh,"apple.com":kh};function kI(e){let t;try{let i=new URL(e);if(i.protocol!=="http:"&&i.protocol!=="https:")return;t=i.hostname.toLowerCase()}catch{return}let n,a=0;for(let[i,r]of Object.entries(xI))(t===i||t.endsWith(".".concat(i)))&&i.length>a&&(n=r,a=i.length);return n}function zI({href:e,size:t,className:n}){let a=e===void 0?void 0:kI(e);if(a!==void 0)return(0,Z.jsx)("svg",{width:t,height:t,className:n,viewBox:"-2 -2 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:(0,Z.jsx)("path",{d:a.path,fill:"currentColor"})})}function al(e){let t=Rk(e),n=Pk(e);if(fI(t))return vI(n)?"code":"other";if(n==="")return"other";switch(t){case"code":case"html":return"code";case"image":return"image";case"excel":case"pdf":case"ppt":case"word":return"document";case"markdown":case"other":case"video":return"other";default:return Dk(t)}}var CI=({size:e,className:t,strokeWidth:n})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("path",{d:"M12.4326 2.38086H3.56763C2.46306 2.38086 1.56763 3.27629 1.56763 4.38086V11.6192C1.56763 12.7237 2.46306 13.6192 3.56763 13.6192H12.4326C13.5372 13.6192 14.4326 12.7237 14.4326 11.6192V4.38086C14.4326 3.27629 13.5372 2.38086 12.4326 2.38086Z",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M10.536 7.03286C11.1948 7.03286 11.7288 6.49884 11.7288 5.8401C11.7288 5.18136 11.1948 4.64734 10.536 4.64734C9.87728 4.64734 9.34326 5.18136 9.34326 5.8401C9.34326 6.49884 9.87728 7.03286 10.536 7.03286Z",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M1.5979 9.28409L4.17738 7.37514C4.57462 7.08117 5.12701 7.12145 5.47741 7.46992L8.3322 10.309C8.6572 10.6323 9.1605 10.6931 9.5532 10.4566L10.8859 9.65399C11.2531 9.43289 11.7205 9.47039 12.0477 9.74729L14.2823 11.6379",stroke:"currentColor"})]}),AI=({size:e,className:t,strokeWidth:n})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("path",{d:"M3.51919 14.5069H12.4807C13.0679 14.5069 13.5438 14.031 13.5438 13.4438V5.97499C13.5438 5.68818 13.428 5.41352 13.2226 5.21341L9.71251 1.79459C9.51402 1.60124 9.24781 1.49304 8.97075 1.49304H3.51919C2.93204 1.49304 2.45605 1.96902 2.45605 2.55618V13.4438C2.45605 14.031 2.93203 14.5069 3.51919 14.5069Z",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M8.90454 1.6095V4.87091C8.90454 5.45806 9.38051 5.93405 9.96768 5.93405H13.4953",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M4.31152 8.7561H7.83046",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M4.31152 11.3651H9.36598",stroke:"currentColor"})]}),MI=({size:e,className:t,strokeWidth:n})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("path",{d:"M3.75275 14.271H12.2473C12.7749 14.271 13.2027 13.8433 13.2027 13.3156V5.91732C13.2027 5.65958 13.0985 5.41276 12.9139 5.23293L9.59477 2.00011C9.4164 1.82636 9.17717 1.72913 8.9282 1.72913H3.75275C3.22511 1.72913 2.79736 2.15686 2.79736 2.68451V13.3156C2.79736 13.8433 3.22511 14.271 3.75275 14.271Z",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M8.84888 1.83838V4.94133C8.84888 5.46896 9.2766 5.89671 9.80426 5.89671H13.157",stroke:"currentColor"})]});function Dk(e){throw new Error("unreachable link icon kind: ".concat(String(e)))}function $I({kind:e,href:t,size:n=14,className:a,strokeWidth:i}){switch(e){case"url":return zI({href:t,size:n,className:a})??(0,Z.jsx)(Vq,{size:n,className:a,strokeWidth:i});case"folder":return(0,Z.jsx)(Iq,{size:n,className:a,strokeWidth:i});case"code":return(0,Z.jsx)(qq,{size:n,className:a,strokeWidth:i});case"image":return(0,Z.jsx)(CI,{size:n,className:a,strokeWidth:i});case"document":return(0,Z.jsx)(AI,{size:n,className:a,strokeWidth:i});case"other":return(0,Z.jsx)(MI,{size:n,className:a,strokeWidth:i});default:return Dk(e)}}function ll(e){return(0,Z.jsx)($I,{...e,strokeWidth:Bq})}var Mk={pointer:"pointer",keyboard:"keyboard"},LI="data-input-modality",SI=new Set(["Tab","Home","End","PageUp","PageDown"]),il=!1,C7=!1,st;function nl(){document.documentElement.setAttribute(LI,C7?Mk.pointer:Mk.keyboard)}function EI(){return il}typeof window<"u"&&(window.addEventListener("pointerdown",()=>{il=!0,C7=!0,st=void 0,nl()},!0),window.addEventListener("keydown",e=>{if(il=!1,e.isComposing){st=void 0;return}st=e.composedPath()[0],!(!SI.has(e.key)&&!e.key.startsWith("Arrow"))&&(C7=!1,nl())},!0),window.addEventListener("focusin",e=>{st===void 0||e.composedPath()[0]===st||(st=void 0,C7&&(C7=!1,nl()))},!0),window.addEventListener("blur",()=>{st=void 0}));var $k=(0,P.createContext)(null);function Lk({label:e,shortcutKeys:t,side:n="right",align:a="center",delayMs:i=0,focusDelayMs:r=0,gap:s=8,disabled:c=!1,portal:o=!1,maxWidth:l,openOnClick:p=!1,children:u}){let m=(0,P.useId)(),[d,f]=(0,P.useState)(!1),w=(0,P.useRef)(null),x=u.ref,v=(0,P.useCallback)(i1=>{w.current=i1,typeof x=="function"?x(i1):x!=null&&(x.current=i1)},[x]),[b,_]=(0,P.useState)(null),z=(0,P.useRef)(null),$=b===null?null:typeof e=="function"?e():e,C=b===null?0:n==="right"?b.top+(b.bottom-b.top)/2:n==="top"?b.top-s:b.bottom+s,j=(0,P.useRef)(null),T=(0,P.useRef)({hover:!1,focus:!1}),H=(0,P.useContext)($k),[E,R]=(0,P.useState)(!1),D=(0,P.useCallback)(i1=>{H?.(i1)},[H]),B=b!==null&&!c;(0,P.useEffect)(()=>{let i1=z.current;if(b===null||!B||E||i1===null)return;let l1=12,S,R1=n,h0=()=>{if(S===void 0)return;let{inlineSize:V1,blockSize:S1}=S,Z1=n==="right"?0:a==="end"?V1:V1/2,Q1=Math.max(l1,Math.min(b.x-Z1,window.innerWidth-l1-V1)),x0=b.bottom+s+S1<=window.innerHeight-l1,k0=b.top-s-S1>=l1;R1==="bottom"&&!x0&&k0?R1="top":R1==="top"&&!k0&&x0&&(R1="bottom"),i1.style.left="".concat(Q1+Z1,"px"),i1.style.top="".concat(R1==="right"?(b.top+b.bottom)/2:R1==="top"?b.top-s:b.bottom+s,"px"),i1.dataset.side=R1,i1.style.visibility="visible"},p1=new ResizeObserver(V1=>{S=V1[0]?.borderBoxSize[0],h0()});return p1.observe(i1,{box:"border-box"}),window.addEventListener("resize",h0),()=>{p1.disconnect(),window.removeEventListener("resize",h0)}},[a,s,b,n,E,B]),(0,P.useEffect)(()=>(D(B),()=>{D(!1)}),[D,B]);let Q=(0,P.useCallback)(()=>{j.current!==null&&(clearTimeout(j.current),j.current=null)},[]);(0,P.useEffect)(()=>(d&&(c||!p)&&f(!1),c&&(Q(),T.current={hover:!1,focus:!1},_(null)),Q),[Q,c,p,d]);let O=()=>{if(c)return;let i1=w.current;if(i1===null)return;let l1=i1.getBoundingClientRect();_({x:n==="right"?l1.right+10:a==="end"?l1.right:l1.left+l1.width/2,top:l1.top,bottom:l1.bottom}),D(!0)},U=i1=>{if(Q(),i1<=0){O();return}j.current=setTimeout(()=>{j.current=null,O()},i1)},r1=(0,P.useCallback)(()=>{f(!1),_(null),D(!1)},[D]),z1=()=>{Q(),!T.current.hover&&!T.current.focus&&!d&&r1()},A1=(0,P.useCallback)(()=>{Q(),T.current={hover:!1,focus:!1},r1()},[Q,r1]);sI(w,p&&B,A1,z),(0,P.useEffect)(()=>{if(!p||!B)return;let i1=l1=>{l1.key!=="Escape"&&l1.key!=="Tab"||(l1.key==="Escape"&&(l1.preventDefault(),l1.stopPropagation()),A1())};return document.addEventListener("keydown",i1,!0),()=>{document.removeEventListener("keydown",i1,!0)}},[A1,p,B]);let A=B&&!E&&(0,Z.jsxs)("span",{ref:z,id:p?m:void 0,className:hs.bubble,"data-side":n,"data-portal":o||void 0,"data-pinned":d||void 0,"data-align":a,"data-has-shortcut":t?.length?!0:void 0,style:{left:b.x,top:C,visibility:"hidden",...l===void 0?{}:{maxWidth:l}},role:"tooltip","aria-label":t?.length?[$,t.join(" ")].filter(Boolean).join(" "):void 0,children:[$&&(0,Z.jsx)("span",{className:hs.label,children:$}),t!==void 0&&t.length>0&&(0,Z.jsx)(rI,{keys:t,variant:"tooltip"})]});return(0,Z.jsxs)($k.Provider,{value:R,children:[(0,P.cloneElement)(u,{ref:v,"aria-describedby":p&&B?[u.props["aria-describedby"],m].filter(Boolean).join(" "):u.props["aria-describedby"],onMouseEnter:i1=>{u.props.onMouseEnter?.(i1),T.current.hover=!0,U(i)},onMouseLeave:i1=>{u.props.onMouseLeave?.(i1),T.current.hover=!1,Q(),d||r1()},onClick:i1=>{u.props.onClick?.(i1),T.current.focus=!1,Q(),p&&!c&&!d?(f(!0),O()):r1()},onFocus:i1=>{u.props.onFocus?.(i1),!EI()&&(T.current.focus=!0,U(r))},onBlur:i1=>{u.props.onBlur?.(i1),T.current.focus=!1,z1()}}),o?A!==!1&&(0,A7.createPortal)(A,document.body):A]})}var ZI=[r4,s4,c4],FI=new Map([["python",()=>Promise.resolve().then(()=>(Ya(),ow))],["ruby",()=>Promise.resolve().then(()=>(Jo(),Mw))],["go",()=>Promise.resolve().then(()=>(Lw(),$w))],["rust",()=>Promise.resolve().then(()=>(Ew(),Sw))],["java",()=>Promise.resolve().then(()=>(Oo(),dw))],["c",()=>Promise.resolve().then(()=>(_7(),ww))],["cpp",()=>Promise.resolve().then(()=>(w7(),zw))],["csharp",()=>Promise.resolve().then(()=>(Fw(),Zw))],["kotlin",()=>Promise.resolve().then(()=>(Hw(),jw))],["swift",()=>Promise.resolve().then(()=>(Tw(),Nw))],["php",()=>Promise.resolve().then(()=>(qw(),Vw))],["yaml",()=>Promise.resolve().then(()=>(t9(),Aw))],["toml",()=>Promise.resolve().then(()=>(Bw(),Iw))],["ini",()=>Promise.resolve().then(()=>(Rw(),Pw))],["markdown",()=>Promise.resolve().then(()=>(n9(),Dw))],["mdx",()=>Promise.resolve().then(()=>(Ow(),Gw))],["html",()=>Promise.resolve().then(()=>(_4(),pw))],["css",()=>Promise.resolve().then(()=>(We(),lw))],["scss",()=>Promise.resolve().then(()=>(Uw(),Ww))],["less",()=>Promise.resolve().then(()=>(Kw(),Xw))],["sql",()=>Promise.resolve().then(()=>(b5(),gw))],["xml",()=>Promise.resolve().then(()=>(g5(),hw))],["lua",()=>Promise.resolve().then(()=>(Ko(),Cw))],["bat",()=>Promise.resolve().then(()=>(Jw(),Yw))],["powershell",()=>Promise.resolve().then(()=>(ex(),Qw))],["fish",()=>Promise.resolve().then(()=>(nx(),tx))],["dotenv",()=>Promise.resolve().then(()=>(ix(),ax))],["log",()=>Promise.resolve().then(()=>(sx(),rx))],["csv",()=>Promise.resolve().then(()=>(ox(),cx))],["diff",()=>Promise.resolve().then(()=>(px(),lx))],["http",()=>Promise.resolve().then(()=>(mx(),ux))],["rst",()=>Promise.resolve().then(()=>(gx(),hx))],["latex",()=>Promise.resolve().then(()=>(_x(),yx))],["bibtex",()=>Promise.resolve().then(()=>(xx(),wx))],["asciidoc",()=>Promise.resolve().then(()=>(zx(),kx))],["r",()=>Promise.resolve().then(()=>(i9(),bx))],["julia",()=>Promise.resolve().then(()=>(Ax(),Cx))],["dart",()=>Promise.resolve().then(()=>($x(),Mx))],["scala",()=>Promise.resolve().then(()=>(Sx(),Lx))],["clojure",()=>Promise.resolve().then(()=>(Zx(),Ex))],["erlang",()=>Promise.resolve().then(()=>(jx(),Fx))],["elixir",()=>Promise.resolve().then(()=>(Nx(),Hx))],["haskell",()=>Promise.resolve().then(()=>(Vx(),Tx))],["fsharp",()=>Promise.resolve().then(()=>(Ix(),qx))],["vb",()=>Promise.resolve().then(()=>(Px(),Bx))],["perl",()=>Promise.resolve().then(()=>(Dx(),Rx))],["verilog",()=>Promise.resolve().then(()=>(Ox(),Gx))],["system-verilog",()=>Promise.resolve().then(()=>(Ux(),Wx))],["graphql",()=>Promise.resolve().then(()=>(Ja(),_w))],["proto",()=>Promise.resolve().then(()=>(Kx(),Xx))],["hcl",()=>Promise.resolve().then(()=>(Jx(),Yx))],["nix",()=>Promise.resolve().then(()=>(nk(),tk))],["vue",()=>Promise.resolve().then(()=>(mk(),uk))],["svelte",()=>Promise.resolve().then(()=>(bk(),gk))],["make",()=>Promise.resolve().then(()=>(vk(),fk))],["cmake",()=>Promise.resolve().then(()=>(tl(),dx))],["groovy",()=>Promise.resolve().then(()=>(_k(),yk))]]),jI=new Map([["typescript","typescript"],["ts","typescript"],["tsx","typescript"],["javascript","typescript"],["js","typescript"],["jsx","typescript"],["shellscript","shellscript"],["bash","shellscript"],["sh","shellscript"],["shell","shellscript"],["zsh","shellscript"],["json","json"],["jsonc","json"],["py","python"],["python","python"],["rb","ruby"],["ruby","ruby"],["go","go"],["rs","rust"],["rust","rust"],["java","java"],["c","c"],["cpp","cpp"],["cs","csharp"],["csharp","csharp"],["kotlin","kotlin"],["swift","swift"],["php","php"],["yaml","yaml"],["yml","yaml"],["toml","toml"],["ini","ini"],["md","markdown"],["markdown","markdown"],["mdx","mdx"],["html","html"],["css","css"],["scss","scss"],["less","less"],["sql","sql"],["xml","xml"],["lua","lua"],["bat","bat"],["batch","bat"],["powershell","powershell"],["ps1","powershell"],["ps","powershell"],["fish","fish"],["properties","ini"],["dotenv","dotenv"],["env","dotenv"],["log","log"],["csv","csv"],["diff","diff"],["patch","diff"],["http","http"],["rst","rst"],["latex","latex"],["tex","latex"],["bibtex","bibtex"],["bib","bibtex"],["asciidoc","asciidoc"],["adoc","asciidoc"],["r","r"],["julia","julia"],["jl","julia"],["dart","dart"],["scala","scala"],["clojure","clojure"],["clj","clojure"],["erlang","erlang"],["erl","erlang"],["elixir","elixir"],["ex","elixir"],["exs","elixir"],["haskell","haskell"],["hs","haskell"],["fsharp","fsharp"],["fs","fsharp"],["fsi","fsharp"],["fsx","fsharp"],["vb","vb"],["vbnet","vb"],["perl","perl"],["pl","perl"],["pm","perl"],["verilog","verilog"],["v","verilog"],["system-verilog","system-verilog"],["systemverilog","system-verilog"],["sv","system-verilog"],["svh","system-verilog"],["graphql","graphql"],["gql","graphql"],["proto","proto"],["protobuf","proto"],["hcl","hcl"],["tf","hcl"],["tfvars","hcl"],["nix","nix"],["vue","vue"],["svelte","svelte"],["make","make"],["makefile","make"],["mk","make"],["cmake","cmake"],["groovy","groovy"],["gradle","groovy"]]);function pl(e){return e===void 0?void 0:jI.get(e.toLowerCase())}function Gk(e){return pl(e)!==void 0}var HI=fb({name:"css-variables",variablePrefix:"--shiki-",fontStyle:!0}),NI=oc({forgiving:!0,regexConstructor:e=>ia(e,{lazyCompileLength:Number.POSITIVE_INFINITY})}),Ok=1e3,Sk,TI=[{lang:"typescript",code:"const answer: number = 42"},{lang:"shellscript",code:"printf '%s\\n' \"$HOME\""},{lang:"json",code:'{"ready":true}'}];function VI(){let e=bb({themes:[HI],langs:ZI,engine:NI});for(let t of TI)e.codeToTokens(t.code,{lang:t.lang,theme:"css-variables",tokenizeTimeLimit:0});return e}function f5(){return Sk??=VI(),Sk}var Ek=new Set,rl=new Set,Wk=0;function qI(e){return rl.add(e),()=>{rl.delete(e)}}function Zk(){return Wk}function Uk(e){let t=FI.get(e);return t===void 0||f5().getLoadedLanguages().includes(e)?!0:(Ek.has(e)||(Ek.add(e),t().then(n=>{f5().loadLanguageSync(n.default),Wk+=1;for(let a of rl)a()})),!1)}setTimeout(()=>{f5()},0).unref?.();function II(e,t){let n=pl(t);if(n!==void 0&&Uk(n))return f5().codeToHtml(e,{lang:n,theme:"css-variables",tokenizeMaxLineLength:Ok})}var BI=[[4,"underline"],[8,"line-through"]];function PI(e){let t={color:e.color},n=e.fontStyle??0;(n&1)!==0&&(t.fontStyle="italic"),(n&2)!==0&&(t.fontWeight="bold");let a=BI.filter(([i])=>(n&i)!==0);return a.length>0&&(t.textDecoration=a.map(([,i])=>i).join(" ")),t}function Fk(e){let t=[],n="";for(let[a,i]of e.entries()){if(/^\s+$/.test(i.content)&&a+1=0){let s=i[r-1]==="\r"?r-1:r,c=this.tokenize(n,i.slice(0,s));for(let o of c)this.spans.push(Fk(o));this.state=f5().getLastGrammarState(c),this.prefix=e.slice(0,this.prefix.length+r+1)}return this.lastFrame={generation:this.generation,appended:this.spans.slice(a),tail:this.tokenize(n,i.slice(r+1)).map(Fk)},this.lastFrame}update(e,t){if(e===this.lastCode&&t===this.lastLang&&this.lastResult!==void 0)return this.lastResult;let n=this.updateFrame(e,t);if(n!==void 0)return this.lastResult=[...this.spans,...n.tail],this.lastResult}};function DI({lang:e,title:t,status:n,labels:a,copyLabel:i,copiedLabel:r,copied:s,wrapped:c,onCopy:o,onWrap:l}){let p=c?a.unwrapLabel:a.wrapLabel,u=s?r:i;return(0,Z.jsxs)("div",{className:f3.header,"data-code-block-banner":!0,children:[(0,Z.jsxs)("div",{className:f3.heading,children:[(0,Z.jsx)("span",{className:f3.language,children:Gk(e)?e:a.codeLabel}),t!==void 0&&(0,Z.jsx)("span",{className:f3.title,title:t,children:t})]}),(0,Z.jsxs)("div",{className:f3.actions,children:[n!==void 0&&(0,Z.jsx)("span",{className:f3.status,children:n}),l!==void 0&&(0,Z.jsx)(Lk,{label:p,side:"top",portal:!0,children:(0,Z.jsx)("button",{type:"button",className:f3.action,"aria-label":a.wrapLabel,"aria-pressed":c,onClick:l,children:c?(0,Z.jsx)(tI,{size:14}):(0,Z.jsx)(aI,{size:14})})}),o!==void 0&&(0,Z.jsx)(Lk,{label:u,side:"top",portal:!0,children:(0,Z.jsx)("button",{type:"button",className:f3.action,"aria-label":u,onClick:o,children:s?(0,Z.jsx)(Rq,{size:14}):(0,Z.jsx)(Yq,{size:14})})})]})]})}var GI=()=>{},OI=class{observer;activators=new Map;observe(e,t){return typeof IntersectionObserver>"u"?(t(),GI):(this.observer??=new IntersectionObserver(n=>{for(let a of n){if(!a.isIntersecting)continue;let i=this.activators.get(a.target);i!==void 0&&(this.activators.delete(a.target),this.observer?.unobserve(a.target),i())}this.releaseEmptyObserver()}),this.activators.set(e,t),this.observer.observe(e),()=>{this.activators.delete(e),this.observer?.unobserve(e),this.releaseEmptyObserver()})}releaseEmptyObserver(){this.activators.size>0||(this.observer?.disconnect(),this.observer=void 0)}},WI=new OI;function UI(e,t){let n=Gk(t),[a,i]=(0,P.useState)(!1),r=(0,P.useCallback)(()=>{i(!0)},[]);return(0,P.useEffect)(()=>{if(a||!n)return;let s=e.current;if(s!==null)return WI.observe(s,r)},[r,a,n,e]),a&&n}var r41={path:n5.path,del:n5.del,add:n5.add,context:n5.context,gap:n5.gap};var XI=2;function jk(e,t,n){let a=e.position?.start.offset;return a===void 0?-(n+1):t+a}function KI(e,t){for(let n=t;n=e.length||(e[a+1]==="\n"&&(a+=1),t=n,n=a+1)}return t}function Nk(e){return e.endsWith("\r\n")?"\r\n":e.endsWith("\r")?"\r":"\n"}function Tk(e,t,n){let a=0;for(;a<=e.length;){let i=a;for(;i=n&&/^[ \t]*$/.test(r.slice(c)))return!0;if(i===e.length)return!1;a=e[i]==="\r"&&e[i+1]==="\n"?i+2:i+1}return!1}function YI(e,t,n){let a=e.line,i=e.column,r=n;for(let s of t){if(s==="\n"){r||(a+=1),i=1,r=!1;continue}if(s==="\r"){a+=1,i=1,r=!0;continue}i+=1,r=!1}return{line:a,column:i,offset:e.offset+t.length}}var JI=class{parse;prevText="";tailStart=0;frozen=[];generation=0;cached=null;openFence=null;constructor(e){this.parse=e}fenceValue(e,t){let n=this.parse("".concat(e.syntheticPrefix).concat(t));if(n.children.length!==1)return;let a=n.children[0];return a.type==="code"?a.value:void 0}openFenceState(e,t,n,a){let i=n.length-1,r=n[i];if(r?.node.type!=="code")return null;let s=r.node,c=s.position?.start.offset,o=s.position?.end;if(c===void 0||o?.offset===void 0||t+o.offset!==e.length)return null;let l=e.slice(t),p=l.lastIndexOf("\n",c-1),u=l.lastIndexOf("\r",c-1),m=Math.max(p,u)+1,d=KI(l,c);if(d===void 0||d===l.length&&l.endsWith("\r"))return null;let f=l.slice(m,d).replace(/[\r\n]+$/,""),w=/^( {0,3})(`{3,}|~{3,})/.exec(f);if(w===null)return null;let x=w[1],v=w[2];if(m+x.length!==c)return null;let b=v[0],_=t+d,z=e.slice(_);if(Tk(z,b,v.length))return null;let $="".concat(x).concat(v,"\n"),C=Hk(z),j=C===0?"":this.fenceValue({syntheticPrefix:$},z.slice(0,C));if(j===void 0)return null;let T=_+C,H=z.slice(0,C),E=C===0?"":"".concat(j).concat(Nk(H)),R=this.fenceValue({syntheticPrefix:$},e.slice(T));return R===void 0||"".concat(E).concat(R)!==s.value?null:{marker:b,markerLength:v.length,syntheticPrefix:$,codeIndex:i,frozen:a,tail:n,pendingStart:T,valuePrefix:E,end:{line:o.line,column:o.column,offset:o.offset},endedWithCarriageReturn:e.endsWith("\r")}}updateOpenFence(e,t,n){let a=t.slice(e.pendingStart);if(Tk(a,e.marker,e.markerLength))return;let i=this.fenceValue(e,a);if(i===void 0)return;let r=Hk(a),s=r===0?"":this.fenceValue(e,a.slice(0,r));if(s===void 0)return;let c=e.tail[e.codeIndex].node,o=YI(e.end,t.slice(n.length),e.endedWithCarriageReturn),l={...c,value:"".concat(e.valuePrefix).concat(i),position:{start:c.position.start,end:o}},p=e.tail.map((m,d)=>d===e.codeIndex?{...m,node:l}:m),u={frozen:e.frozen,tail:p,generation:this.generation};return this.openFence={...e,tail:p,pendingStart:e.pendingStart+r,valuePrefix:r===0?e.valuePrefix:"".concat(e.valuePrefix).concat(s).concat(Nk(a.slice(0,r))),end:o,endedWithCarriageReturn:t.endsWith("\r")},u}update(e){if(this.cached!==null&&e===this.prevText)return this.cached;e.startsWith(this.prevText)||(this.prevText="",this.tailStart=0,this.frozen=[],this.openFence=null,this.generation+=1);let t=this.prevText;if(t!==""&&this.openFence!==null){let s=this.updateOpenFence(this.openFence,e,t);if(s!==void 0)return this.prevText=e,this.cached=s,s;this.openFence=null}this.prevText=e;let n=this.tailStart,a=this.parse(e.slice(n)).children,i=Math.max(0,a.length-XI);if(i>0){let s=a[i-1]?.position?.end.offset;if(s===void 0)i=0;else{for(let c of a.slice(0,i))this.frozen.push({node:c,key:jk(c,n,this.frozen.length)});this.tailStart=n+s}}let r=a.slice(i).map((s,c)=>({node:s,key:jk(s,n,c)}));return this.cached={frozen:[...this.frozen],tail:r,generation:this.generation},this.openFence=this.openFenceState(e,n,r,this.cached.frozen),this.cached}};function Xk(e,t){let n=a=>{if(a.type==="paragraph"&&a.children.length===1){let[i]=a.children;if(i.type==="text"&&i.position!==void 0&&t.slice(i.position.start.offset,i.position.end.offset)===i.value){let r=/^!\[([^\]\n]*)\]\(((?:\/(?!\/)|\.{1,2}\/|[a-z]:[\\/])[^\n<>()[\]"']+\.[a-z\d]+)\)$/iu.exec(i.value);r!==null&&r[2].includes(" ")&&Rk(r[2])==="image"&&(a.children=[{type:"image",alt:r[1],url:r[2],position:i.position}])}}else if("children"in a)for(let i of a.children)n(i)};return n(e),e}var QI=new RegExp(["\\p{Script_Extensions=Han}","\\p{Script_Extensions=Hiragana}","\\p{Script_Extensions=Katakana}","\\p{Script_Extensions=Hangul}","\\p{Script_Extensions=Bopomofo}"].join("|"),"u");function eB(e){return e!==null&&e>=0&&QI.test(String.fromCodePoint(e))}var tB=function(e,t,n){let a=this.parser.constructs.attentionMarkers.null;if(a===void 0)throw new Error("micromark CommonMark attention markers are unavailable");let i=a,r=this.previous,s=_3(r),c=H1.eof;return o;function o(p){return p!==H1.asterisk?n(p):(c=p,e.enter("attentionSequence"),l(p))}function l(p){if(p===c)return e.consume(p),l;let u=e.exit("attentionSequence"),m=_3(p),d=!m||m===r7.characterGroupPunctuation&&!!s||i.includes(p),f=!s||s===r7.characterGroupPunctuation&&!!m||i.includes(r),w=u.end.offset-u.start.offset>=2&&v3(r)&&eB(p),x=f||w;return u._open=d,u._close=x,t(p)}},nB={name:"cjkFriendlyAttention",resolveAll:X4.resolveAll,tokenize:tB},aB={text:{[H1.asterisk]:nB}};function Kk(){return aB}var iB=function(e){if(e!==H1.backslash)return!0;let t=this.events.at(-1);return t===void 0?!1:t[1].type===w2.characterEscape},rB=function(e,t,n){return a;function a(d){return d!==H1.backslash?n(d):(e.enter("mathText"),e.enter("mathTextSequence"),e.consume(d),i)}function i(d){return d!==H1.leftParenthesis?n(d):(e.consume(d),e.exit("mathTextSequence"),r)}function r(d){return d===H1.eof?n(d):d===H1.backslash?e.attempt({partial:!0,tokenize:u},p,s)(d):t1(d)?(e.enter(w2.lineEnding),e.consume(d),e.exit(w2.lineEnding),r):c(d)}function s(d){return e.check({partial:!0,tokenize:m},n,c)(d)}function c(d){return e.enter("mathTextData"),e.consume(d),d===H1.backslash?o:l}function o(d){return d===H1.backslash?(e.consume(d),l):l(d)}function l(d){return d===H1.eof||d===H1.backslash||t1(d)?(e.exit("mathTextData"),r(d)):(e.consume(d),l)}function p(d){return e.exit("mathText"),t(d)}function u(d,f,w){return x;function x(b){return b!==H1.backslash?w(b):(d.enter("mathTextSequence"),d.consume(b),v)}function v(b){return b!==H1.rightParenthesis?w(b):(d.consume(b),d.exit("mathTextSequence"),f)}}function m(d,f,w){return x;function x(b){return b!==H1.backslash?w(b):(d.enter(w2.chunkString),d.consume(b),v)}function v(b){return b!==H1.leftParenthesis?w(b):(d.consume(b),d.exit(w2.chunkString),f)}}};function Yk(e,t,n,a){let i=function(r,s,c){let o=this,l=!1,p=o.events.at(-1),u=p?.[1].type===w2.linePrefix?p[2].sliceSerialize(p[1],!0).length:0;return m;function m(H){return H!==e?c(H):(r.enter("mathFlow"),r.enter("mathFlowFence"),r.enter("mathFlowFenceSequence"),r.consume(H),d)}function d(H){return H!==t?c(H):(r.consume(H),r.exit("mathFlowFenceSequence"),r.exit("mathFlowFence"),e===H1.dollarSign?f:w)}function f(H){return H===H1.dollarSign?c(H):w(H)}function w(H){return H===H1.eof?c(H):H===e&&(e!==H1.dollarSign||!l)?r.attempt({partial:!0,tokenize:j},C,x)(H):t1(H)?a?r.attempt(cB,v,c)(H):c(H):b(H)}function x(H){return e===H1.backslash?r.check({partial:!0,tokenize:T},c,_)(H):_(H)}function v(H){return r.attempt({partial:!0,tokenize:j},C,u?g1(r,w,w2.linePrefix,u+1):w)(H)}function b(H){return r.enter("mathFlowValue"),l=H===H1.backslash,r.consume(H),$}function _(H){return r.enter("mathFlowValue"),l=!1,r.consume(H),z}function z(H){return H===e?(r.consume(H),$):$(H)}function $(H){return H===H1.eof||H===e||t1(H)?(r.exit("mathFlowValue"),w(H)):(l=H===H1.backslash?!l:!1,r.consume(H),$)}function C(H){return r.exit("mathFlow"),s(H)}function j(H,E,R){return g1(H,D,w2.linePrefix,r7.tabSize);function D(O){return O!==e?R(O):(H.enter("mathFlowFence"),H.enter("mathFlowFenceSequence"),H.consume(O),B)}function B(O){return O!==n?R(O):(H.consume(O),H.exit("mathFlowFenceSequence"),g1(H,Q,w2.whitespace))}function Q(O){return O!==H1.eof&&!t1(O)?R(O):(H.exit("mathFlowFence"),E(O))}}function T(H,E,R){return D;function D(Q){return Q!==e?R(Q):(H.enter(w2.chunkString),H.consume(Q),B)}function B(Q){return Q!==t?R(Q):(H.consume(Q),H.exit(w2.chunkString),E)}}};return{concrete:!0,name:e===H1.dollarSign?"sameLineDollarMathFlow":"backslashMathFlow",tokenize:i}}var sB=function(e,t,n){let a=this;return i;function i(s){return s===H1.eof?t(s):t1(s)?(e.enter(w2.lineEnding),e.consume(s),e.exit(w2.lineEnding),r):n(s)}function r(s){return a.parser.lazy[a.now().line]?n(s):t(s)}},cB={partial:!0,tokenize:sB},oB={name:"backslashMathText",previous:iB,tokenize:rB},lB=Yk(H1.backslash,H1.leftSquareBracket,H1.rightSquareBracket,!0),pB=Yk(H1.dollarSign,H1.dollarSign,H1.dollarSign,!1),uB={flow:{[H1.backslash]:lB,[H1.dollarSign]:pB},text:{[H1.backslash]:oB}};function mB(){return uB}function dB(e){return Xk(va(e,{extensions:[Oc(),Kk()],mdastExtensions:[wa()]}),e)}function hB(e){return Xk(va(e,{extensions:[Oc(),Kk(),mB(),Wc()],mdastExtensions:[wa(),Vc()]}),e)}var gB={className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:0},bB=32;function Vk(e,t){return(0,Z.jsxs)(P.Fragment,{children:[t>0&&"\n",(0,Z.jsx)("span",{className:"line",children:e.map((n,a)=>(0,Z.jsx)("span",{style:n.style,children:n.text},a))})]},t)}function fB({code:e,lang:t,streaming:n,className:a,contentRef:i,lineNumbers:r=!1,showHeader:s=!0,copyLabel:c,copiedLabel:o,toolbarLabels:l,wrap:p}){let u=e.endsWith("\n")?e.slice(0,-1):e,m=r?u.split("\n"):void 0,d=(0,P.useRef)(null),f=UI(d,t),w=(0,P.useSyncExternalStore)(qI,Zk,Zk),x=(0,P.useRef)(null),v=(0,P.useRef)(null),b=(0,P.useRef)(!1),_=(0,P.useMemo)(()=>{if(!f){x.current=null,v.current=null,b.current=!1;return}if(n!==!0){let i1=v.current;if(i1!==null&&i1.code===u&&i1.lang===t)return b.current=!0,i1.body;x.current=null,v.current=null,b.current=!0;return}b.current&&(x.current=null,v.current=null,b.current=!1),x.current??=new RI;let D=x.current.updateFrame(u,t);if(D===void 0){v.current=null;return}let B=v.current;if(B?.frame===D&&B.code===u&&B.lang===t)return B.body;let Q=B?.generation===D.generation,O=Q?[...B.groups]:[],U=Q?[...B.pending]:[],r1=Q?B.nextLine:0;for(let i1 of D.appended){if(U.push(Vk(i1,r1)),r1+=1,U.length!==bB)continue;let l1=r1-U.length;O.push((0,Z.jsx)(P.Fragment,{children:U},l1)),U=[]}let z1=D.tail.map((i1,l1)=>Vk(i1,r1+l1)),A1=(0,Z.jsx)(P.Fragment,{children:[...U,...z1]},r1-U.length),A=(0,Z.jsx)("pre",{...gB,children:(0,Z.jsxs)("code",{children:[O,A1]})});return v.current={code:u,lang:t,generation:D.generation,frame:D,groups:O,pending:U,nextLine:r1,body:A},A},[n,f,u,t,w]),z=(0,P.useMemo)(()=>f&&n!==!0&&_===void 0?II(u,t):void 0,[n,f,_,u,t,w]),[$,C]=(0,P.useState)(!1),[j,T]=(0,P.useState)(!0),H=p??j,E=(0,P.useCallback)(()=>{$||Ik(d.current?.querySelector("pre")?.textContent??u).then(D=>{D&&(C(!0),window.setTimeout(()=>{C(!1)},1e3))})},[$,u]),R=_!==void 0?_:z===void 0?(0,Z.jsx)("pre",{className:xe.plain,children:(0,Z.jsx)("code",{children:m===void 0?u:m.map((D,B)=>(0,Z.jsxs)(P.Fragment,{children:[B>0&&"\n",(0,Z.jsx)("span",{className:"line",children:D})]},B))})}):(0,Z.jsx)("div",{dangerouslySetInnerHTML:{__html:z}});return(0,Z.jsxs)("div",{ref:d,className:C0(xe.block,"md-code-block",r&&xe.numbered,l!==void 0&&xe.card,a),"data-line-numbers":r||void 0,"data-code-wrap":l===void 0?void 0:H,style:m===void 0?void 0:{"--dsl-code-block-line-number-width":"".concat(Math.max(2,String(m.length).length),"ch")},children:[s&&(0,Z.jsx)("div",{className:xe.bannerWrap,children:l!==void 0?(0,Z.jsx)(DI,{lang:t,labels:l,copyLabel:c,copiedLabel:o,copied:$,wrapped:H,onCopy:E,onWrap:p===void 0?()=>{T(D=>!D)}:void 0}):(0,Z.jsxs)("div",{className:xe.banner,"data-code-block-banner":!0,children:[(0,Z.jsx)("div",{className:xe.infostring,children:t??""}),(0,Z.jsx)("div",{className:xe.action,children:(0,Z.jsx)("button",{type:"button",className:xe.copyButton,onClick:E,children:$?o:c})})]})}),(0,Z.jsx)("div",{ref:i,className:xe.content,"data-code-block-content":!0,children:R})]})}function Jk(e){let t=e.indexOf("#"),n=t<0?e:e.slice(0,t);if(n.includes("?"))return;let a;try{a=decodeURIComponent(n)}catch{return}if(a.length===0||/[\u0000-\u001f\u007f]/.test(a)||/^[\\/]{2}/.test(a)||/^[a-z][a-z\d+.-]*:/i.test(a)&&!/^[a-z]:[\\/]/i.test(a))return;if(t<0)return{path:a};let i=e.slice(t+1),r=/^L([1-9]\d*)(?:-L([1-9]\d*))?$/.exec(i);if(r===null)return;let s=Number(r[1]),c=r[2]===void 0?s:Number(r[2]);if(!(!Number.isSafeInteger(s)||!Number.isSafeInteger(c)||cs.toUpperCase());t[i]=n.slice(a+1).trim()}return t}function Qk(e,t){if(e.nodeType===Node.TEXT_NODE)return e.textContent;if(e.nodeType!==Node.ELEMENT_NODE)return null;let n=e,a={key:t};for(let r of n.attributes)r.name==="class"?a.className=r.value:r.name==="style"?a.style=vB(r.value):a[r.name]=r.value;let i=[...n.childNodes].map(Qk);return i.length===0?(0,P.createElement)(n.localName,a):(0,P.createElement)(n.localName,a,...i)}function sl(e,t){let n;try{n=Do.renderToString(e,{displayMode:t,throwOnError:!0})}catch(a){try{n=Do.renderToString(e,{displayMode:t,strict:"ignore",throwOnError:!1})}catch{return(0,Z.jsx)("span",{className:"katex-error",style:{color:"#cc0000"},title:String(a),children:e})}}return[...new DOMParser().parseFromString(n,"text/html").body.childNodes].map(Qk)}var yB=(0,P.createContext)({});function ul(){return(0,P.useContext)(yB)}function _B({src:e,alt:t,labels:n,onClose:a}){let i=(0,P.useRef)(null),r=(0,P.useRef)(null);return(0,P.useEffect)(()=>{r.current=document.activeElement instanceof HTMLElement?document.activeElement:null,i.current?.focus();let s=c=>{c.key==="Escape"&&(c.stopPropagation(),a()),c.key==="Tab"&&(c.preventDefault(),i.current?.focus())};return window.addEventListener("keydown",s,!0),()=>{window.removeEventListener("keydown",s,!0),r.current?.focus()}},[a]),(0,A7.createPortal)((0,Z.jsx)("div",{className:h5.backdrop,role:"dialog","aria-modal":"true","aria-label":n.dialog,children:(0,Z.jsxs)("div",{className:h5.stage,children:[(0,Z.jsx)("div",{className:h5.mask,"aria-hidden":"true",onMouseDown:a}),(0,Z.jsx)("img",{className:h5.image,src:e,alt:t}),(0,Z.jsx)("button",{ref:i,type:"button",className:h5.close,"aria-label":n.close,onClick:a,children:(0,Z.jsx)(Xq,{size:16})})]})}),document.body)}function wB({src:e,alt:t,loadingLabel:n,failedLabel:a}){return(0,Z.jsx)(xB,{src:e,alt:t,loadingLabel:n,failedLabel:a},e)}function xB({src:e,alt:t,loadingLabel:n,failedLabel:a}){let[i,r]=(0,P.useState)("loading");return(0,Z.jsxs)("span",{className:Ka.frame,children:[i!=="failed"&&(0,Z.jsx)("img",{src:e,alt:t,loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",className:Ka.image,"data-ready":i==="ready"||void 0,onLoad:()=>{r("ready")},onError:()=>{r("failed")}}),i!=="ready"&&(0,Z.jsxs)("span",{className:Ka.status,role:"status",children:[i==="loading"&&(0,Z.jsx)(Qq,{size:16}),(0,Z.jsx)("span",{children:i==="loading"?n:a})]})]})}function ez(e){try{switch(new URL(e).protocol){case"http:":case"https:":case"mailto:":return e;default:return""}}catch{return""}}function kB(e){try{let t=new URL(e).protocol;return t==="http:"||t==="https:"?e:void 0}catch{return}}function zB(e){try{let t=new URL(e).protocol;return t==="http:"||t==="https:"||t==="blob:"||t==="data:"||e.startsWith("dsh-app://app/api/file?")?e:void 0}catch{return}}function CB(e,t){let n=kB(ez(ca(e)));if(n!==void 0)return n;let a=t?.resolve(e);return a===void 0?void 0:zB(a)}function cl(){return{definitions:new Map,footnotes:new Map}}function s9(e,t){for(let n of e){if(n.type==="definition"){let a=n.identifier.toUpperCase();t.definitions.has(a)||t.definitions.set(a,n)}else if(n.type==="footnoteDefinition"){let a=n.identifier.toUpperCase();t.footnotes.has(a)||t.footnotes.set(a,n)}"children"in n&&s9(n.children,t)}}function ol(e,t){return e.map(n=>dl(n.node,n.key,t)).filter(n=>n!==null)}function ml(e,t){let n=[];for(let a of e)(t||n.length>0)&&n.push("\n"),n.push(a);return t&&e.length>0&&n.push("\n"),n}function tz(e,t){let n=[];for(let[a,i]of e.entries())if(i.type==="paragraph")n.push({paragraph:ze(i.children,t)});else{let r=dl(i,a,t);r!==null&&n.push({element:r})}return n}function ze(e,t){return e.map((n,a)=>dl(n,a,t))}function dl(e,t,n){switch(e.type){case"text":return e.value;case"paragraph":return(0,Z.jsx)("p",{children:ze(e.children,n)},t);case"heading":return(0,P.createElement)("h".concat(e.depth),{key:t},...ze(e.children,n));case"blockquote":return(0,Z.jsx)("blockquote",{children:ml(ze(e.children,{...n,inBlockquote:!0}).filter(a=>a!==null),!0)},t);case"thematicBreak":return(0,Z.jsx)("hr",{},t);case"break":return(0,Z.jsxs)(P.Fragment,{children:[(0,Z.jsx)("br",{}),"\n"]},t);case"strong":return(0,Z.jsx)("strong",{children:ze(e.children,n)},t);case"emphasis":return(0,Z.jsx)("em",{children:ze(e.children,n)},t);case"delete":return(0,Z.jsx)("del",{children:ze(e.children,n)},t);case"inlineCode":{let a=e.value.replace(/\r?\n|\r/g," "),i=ZB(a);if(i!==void 0)return(0,Z.jsx)("code",{children:rz(i,[a],"link")},t);let r=n.inLink===!0?void 0:n.fileMentions?.resolve(a);return r!==void 0?(0,Z.jsx)("code",{children:(0,Z.jsxs)("button",{type:"button",className:o2.fileMention,title:r.title,"aria-label":r.label,onClick:r.open,children:[(0,Z.jsx)(ll,{kind:al(a),className:o2.linkIcon}),a]})},t):(0,Z.jsx)("code",{children:a},t)}case"html":return e.value;case"code":return AB(e,t,n);case"math":return(0,Z.jsx)(P.Fragment,{children:sl(e.value,!0)},t);case"inlineMath":return(0,Z.jsx)(P.Fragment,{children:sl(e.value,!1)},t);case"list":return $B(e,t,n);case"listItem":return az(e,nz(e),t,n);case"table":return LB(e,t,n);case"link":return sz(e.url,ze(e.children,{...n,inLink:!0}),t,!iz(e.children),n.streaming);case"linkReference":return HB(e,t,n);case"image":return cz(e.url,e.alt??"",t,n);case"imageReference":return NB(e,t,n);case"footnoteReference":return TB(e,t,n);case"definition":case"footnoteDefinition":return null;default:return null}}function AB(e,t,n){let a=e.lang??void 0;if(e.value==="")return(0,Z.jsx)("pre",{children:(0,Z.jsx)("code",{className:a===void 0?void 0:"language-".concat(a)})},t);let i=a===void 0?void 0:/^[\w-]+/.exec(a)?.[0];return!n.streaming&&i==="math"?(0,Z.jsx)(P.Fragment,{children:sl("".concat(e.value,"\n"),!0)},t):(0,Z.jsx)(fB,{code:"".concat(e.value,"\n"),lang:i,streaming:n.streaming,copyLabel:n.labels.code.copyLabel,copiedLabel:n.labels.code.copiedLabel,toolbarLabels:n.labels.code.toolbarLabels},t)}function MB(e){return(e.spread??!1)||e.children.some(nz)}function nz(e){return e.spread??e.children.length>1}function $B(e,t,n){let a=MB(e),i={};return typeof e.start=="number"&&e.start!==1&&(i.start=e.start),e.children.some(r=>typeof r.checked=="boolean")&&(i.className="contains-task-list"),(0,P.createElement)(e.ordered===!0?"ol":"ul",{key:t,...i},...e.children.map((r,s)=>az(r,a,s,n)))}function az(e,t,n,a){let i=tz(e.children,a),r=typeof e.checked=="boolean";if(r){let o=(0,Z.jsx)("input",{type:"checkbox",checked:e.checked===!0,disabled:!0},"task-checkbox"),l=i[0];l!==void 0&&"paragraph"in l?l.paragraph=l.paragraph.length>0?[o," ",...l.paragraph]:[o]:i.unshift({paragraph:[o]})}let s=[];for(let[o,l]of i.entries()){let p="paragraph"in l;(t||o!==0||!p)&&s.push("\n"),p?t?s.push((0,Z.jsx)("p",{children:l.paragraph},"p-".concat(o))):s.push((0,Z.jsx)(P.Fragment,{children:l.paragraph},"p-".concat(o))):s.push(l.element)}let c=i[i.length-1];return c!==void 0&&(t||!("paragraph"in c))&&s.push("\n"),(0,Z.jsx)("li",{className:r?"task-list-item":void 0,children:s},n)}function LB(e,t,n){let a=e.align??null,[i,...r]=e.children,s=(a===null?i?.children.length??0:a.length)>=4&&n.inBlockquote!==!0;return(0,Z.jsx)("div",{className:C0(o2.tableScroll,s?"md-table-wide":o2.tableFill),tabIndex:s?0:void 0,children:(0,Z.jsxs)("table",{children:[i!==void 0&&(0,Z.jsx)("thead",{children:qk(i,"th",a,0,n)}),r.length>0&&(0,Z.jsx)("tbody",{children:r.map((c,o)=>qk(c,"td",a,o+1,n))})]})},t)}function qk(e,t,n,a,i){let r=n===null?e.children.length:n.length,s=[];for(let c=0;c0&&e.every(t=>t.type==="image"||t.type==="imageReference")}function rz(e,t,n,a=!0){let i=ez(e);return i===""?(0,Z.jsx)(P.Fragment,{children:t},n):(0,Z.jsx)(SB,{href:i,glyph:a,children:t},n)}function SB({href:e,glyph:t,children:n}){let{openExternalLink:a}=ul(),i=["http:","https:"].includes(new URL(e).protocol),r=i?a:void 0;return(0,Z.jsxs)("a",{href:e,...i?{target:"_blank",rel:"noopener noreferrer"}:{},onClick:r===void 0?void 0:s=>{s.button!==0||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),r(e))},children:[t&&(0,Z.jsx)(ll,{kind:"url",href:e,className:o2.linkIcon}),n]})}function sz(e,t,n,a=!0,i=!1){let r=i?void 0:Jk(e);return r!==void 0?(0,Z.jsx)(EB,{file:r,glyph:a,children:t},n):rz(ca(e),t,n,a)}function EB({file:e,glyph:t,children:n}){let{openFile:a,fileImages:i}=ul();if(a===void 0)return(0,Z.jsx)(Z.Fragment,{children:n});let r=t&&al(e.path)==="image"?i:void 0,s=r?.resolve(e.path),c=(0,Z.jsxs)("button",{type:"button",className:C0(o2.fileMention,o2.fileLink),title:s===void 0?e.path:void 0,onClick:()=>{a(e.path,e.line===void 0?void 0:{line:e.line})},children:[t&&(0,Z.jsx)(ll,{kind:al(e.path),className:o2.linkIcon}),n]});return s===void 0||r===void 0?c:(0,Z.jsx)(lI,{inline:!0,anchor:c,content:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(wB,{src:s,alt:e.path,loadingLabel:r.labels.loading,failedLabel:r.labels.failed}),(0,Z.jsx)("span",{className:o2.previewName,children:e.path.split(/[\\/]/u).pop()})]})})}function ZB(e){if(e.trim()===e)try{let t=new URL(e).protocol;return t==="http:"||t==="https:"?e:void 0}catch{return}}function cz(e,t,n,a){return(0,Z.jsx)(FB,{destination:e,alt:t,pathImages:a.pathImages,streaming:a.streaming,inLink:a.inLink===!0},"".concat(n,":").concat(e))}function FB({destination:e,alt:t,pathImages:n,streaming:a,inLink:i}){let{fileImages:r}=ul(),s=a?void 0:Jk(e),c=(s===void 0?void 0:r?.resolve(s.path))??CB(e,n);return c===void 0?(0,Z.jsx)("span",{className:o2.imageAlt,children:t}):(0,Z.jsx)(jB,{src:c,alt:t,destination:e,preview:i?void 0:r},c)}function jB({src:e,alt:t,destination:n,preview:a}){let[i,r]=(0,P.useState)(!1),[s,c]=(0,P.useState)(!1),o=(0,P.useCallback)(()=>{c(!1)},[]);if(i)return(0,Z.jsxs)("span",{className:o2.imageAlt,children:[a===void 0?"":"".concat(a.labels.failed," \xB7 "),t||n]});let l=(0,Z.jsx)("img",{className:o2.image,src:e,alt:t,onError:()=>{r(!0)},loading:"lazy",decoding:"async",referrerPolicy:"no-referrer"});return a===void 0?l:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("button",{type:"button",className:o2.imageButton,title:a.labels.open,"aria-label":t?"".concat(a.labels.open,": ").concat(t):a.labels.open,onClick:()=>{c(!0)},children:l}),s&&(0,Z.jsx)(_B,{src:e,alt:t,labels:a.labels,onClose:o})]})}function oz(e){return e.referenceType==="collapsed"?"][]":e.referenceType==="full"?"][".concat(e.label??e.identifier,"]"):"]"}function HB(e,t,n){let a=n.targets.definitions.get(e.identifier.toUpperCase());if(a===void 0)return(0,Z.jsxs)(P.Fragment,{children:["[",ze(e.children,n),oz(e)]},t);let i=ze(e.children,{...n,inLink:!0});return sz(a.url,i,t,!iz(e.children),n.streaming)}function NB(e,t,n){let a=n.targets.definitions.get(e.identifier.toUpperCase());return a===void 0?"![".concat(e.alt??"").concat(oz(e)):cz(a.url,e.alt??"",t,n)}function TB(e,t,n){let a=e.identifier.toUpperCase(),i=n.footnoteCounts.get(a);return i===void 0&&n.footnoteOrder.push(a),n.footnoteCounts.set(a,(i??0)+1),(0,Z.jsx)("sup",{children:String(n.footnoteOrder.indexOf(a)+1)},t)}function lz(e){let t=[];for(let n of e.footnoteOrder){let a=e.targets.footnotes.get(n);if(a===void 0)continue;let i=e.footnoteCounts.get(n)??0,r=[];for(let l=1;l<=i;l++)r.length>0&&r.push(" "),r.push("\u21A9"),l>1&&r.push((0,Z.jsx)("sup",{children:String(l)},"re-".concat(l)));let s=tz(a.children,e),c=s[s.length-1],o=s.map((l,p)=>"paragraph"in l?(0,Z.jsxs)("p",{children:[l.paragraph,l===c&&(0,Z.jsxs)(Z.Fragment,{children:[" ",r]})]},"p-".concat(p)):l.element);(c===void 0||!("paragraph"in c))&&o.push(...r),t.push((0,Z.jsx)("li",{id:"user-content-fn-".concat(ca(n.toLowerCase())),children:ml(o,!0)},n))}return t.length===0?null:(0,Z.jsxs)("section",{"data-footnotes":!0,className:"footnotes",children:[(0,Z.jsx)("h2",{id:"footnote-label",className:"sr-only",children:e.labels.footnotes}),(0,Z.jsx)("ol",{children:t})]},"footnotes")}function VB(e,t,n,a){let i=hB(e),r=cl();s9(i.children,r);let s={streaming:!1,labels:t,fileMentions:n,pathImages:a,targets:r,footnoteOrder:[],footnoteCounts:new Map},c=ml(ol(i.children.map((l,p)=>({node:l,key:l.position?.start.offset??-(p+1)})),s),!1),o=lz(s);return o===null?c:[...c,"\n",o]}var qB=class{labels;parser=new JI(dB);generation=-1;frozenCount=0;frozenElements=[];frozenTargets=cl();frozenFootnoteOrder=[];frozenFootnoteCounts=new Map;lastText=null;lastRendered=[];constructor(e){this.labels=e}render(e){if(e===this.lastText)return this.lastRendered;let{frozen:t,tail:n,generation:a}=this.parser.update(e);a!==this.generation&&(this.generation=a,this.frozenCount=0,this.frozenElements=[],this.frozenTargets=cl(),this.frozenFootnoteOrder=[],this.frozenFootnoteCounts=new Map);let i=t.slice(this.frozenCount);s9(i.map(l=>l.node),this.frozenTargets);let r={definitions:new Map(this.frozenTargets.definitions),footnotes:new Map(this.frozenTargets.footnotes)};if(s9(n.map(l=>l.node),r),i.length>0){let l={streaming:!0,labels:this.labels,fileMentions:void 0,pathImages:void 0,targets:r,footnoteOrder:this.frozenFootnoteOrder,footnoteCounts:this.frozenFootnoteCounts},p=[...this.frozenElements];for(let u of ol(i,l))p.length>0&&p.push("\n"),p.push(u);this.frozenElements=p,this.frozenCount=t.length}let s={streaming:!0,labels:this.labels,fileMentions:void 0,pathImages:void 0,targets:r,footnoteOrder:[...this.frozenFootnoteOrder],footnoteCounts:new Map(this.frozenFootnoteCounts)},c=[...this.frozenElements];for(let l of ol(n,s))c.length>0&&c.push("\n"),c.push(l);let o=lz(s);return o!==null&&c.push("\n",o),this.lastText=e,this.lastRendered=c,this.lastRendered}},pz=(0,P.memo)(function({text:t,streaming:n=!1,labels:a,fileMentions:i,pathImages:r,variant:s="body"}){let c=(0,P.useRef)(null),o=(0,P.useRef)(a),l=(0,P.useMemo)(()=>n?((c.current===null||o.current!==a)&&(c.current=new qB(a),o.current=a),c.current.render(t)):(c.current=null,VB(t,a,i,r)),[t,n,a,i,r]);return(0,Z.jsx)("div",{className:C0(o2.markdown,s==="compact"&&o2.compact),"data-markdown-variant":s==="compact"?s:void 0,children:l})});var c9=X1(l0(),1);var M7=X1(l0(),1);function Ce(e,t){let n=Math.sqrt(e),a=t/(2*n),i=c=>{if(a>=1)return 1-(1+n*c)*Math.exp(-n*c);let o=n*Math.sqrt(1-a*a);return 1-Math.exp(-a*n*c)*(Math.cos(o*c)+a*n/o*Math.sin(o*c))},r=.05;for(;r<2&&Math.abs(1-i(r))>.001;)r+=.01;let s=Array.from({length:25},(c,o)=>(o===24?1:i(r*o/24)).toFixed(4));return{duration:Math.round(r*1e3),easing:"linear(".concat(s.join(","),")"),stiffness:e,damping:t}}var b1=Ce(400,31.2),q1=Ce(900,48),u41=Ce(484,35.2),uz=Ce(320,20),G1=Ce(500,22),m41=Ce(784,48.2),d41=Ce(289,29.2),h41={lead:Ce(900,51),trail:Ce(400,34)},w0=(e,...t)=>t.map(n=>"".concat(n," ").concat(e.duration,"ms ").concat(e.easing)).join(",");var w41=typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("-webkit-text-security","disc");var x41='\n.bt-secret-head{align-items:center;gap:10px}\n.bt-secret-who{position:relative;flex:none;display:inline-flex}\n.bt-secret-lock{position:absolute;right:-5px;bottom:-4px;width:16px;height:16px;border-radius:50%;background:var(--bt-main);color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px var(--bt-bubble)}\n.bt-secret-lock svg{width:11px;height:11px}\n.bt-secret-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:16px;padding:1px 6px;border-radius:5px;background:var(--bt-hover);color:var(--bt-ink)}\n.bt-secret-body{display:flex;flex-direction:column;gap:8px}\n.bt-secret-field{align-items:center;min-height:36px}\n.bt-secret-input{flex:1;width:100%;min-width:0;margin:0;padding:0;border:0;outline:none;background:transparent;color:var(--bt-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:20px;letter-spacing:.04em}\n.bt-secret-input[data-masked]{-webkit-text-security:disc}\n.bt-secret-input::placeholder{color:var(--bt-ink-3);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;letter-spacing:0}\n.bt-secret-scope{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;align-self:flex-start;padding:2px;border-radius:999px;background:var(--bt-hover)}\n.bt-secret-glide{position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:999px;background:var(--bt-main);box-shadow:0 1px 3px rgba(20,20,20,.08),inset 0 0 0 .5px color-mix(in srgb,var(--bt-ink) 6%,transparent);transition:'.concat(w0(b1,"transform"),'}\n.bt-secret-glide[data-at="1"]{transform:translateX(100%)}\n.bt-secret-seg{position:relative;z-index:1;height:28px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--bt-ink-2);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer;transition:color .16s ease}\n.bt-secret-seg[aria-checked=true]{color:var(--bt-ink);font-weight:500}\n.bt-secret-seg:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px}\n/* A key card asks the user to act, so the process group carrying it stays open in every\n work-details mode (same override as .bt-group-replies in styles.js). */\n[data-step-process]:has(.bt-secret)>div:first-child{display:none!important}\n[data-step-process]:has(.bt-secret)>[data-step-process-body]{display:block!important;content-visibility:visible!important;max-height:none!important;overflow:visible!important;mask-image:none!important;scrollbar-gutter:auto!important}\n.bt-secret-ok{display:flex;align-items:center;gap:4px;margin-top:6px;animation:bt-secret-in .22s cubic-bezier(.22,1,.36,1)}\n.bt-secret-ok svg{width:13px;height:13px;color:#16a34a}\n@keyframes bt-secret-in{from{opacity:0;transform:translateY(-2px)}}\n.bt-secret-saved{display:flex;align-items:center;gap:6px;font-size:13px;line-height:18px;color:var(--bt-ink-2)}\n.bt-secret-note{font-size:12px;line-height:17px;color:var(--bt-ink-3)}\n.bt-secret-note code,.bt-secret-about code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px}\n.bt-secret-warn{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;font-size:12px;line-height:16px;color:#b25e09;background:color-mix(in srgb,#f59e0b 12%,transparent)}\n.bt-secret-error{font-size:12px;line-height:16px;color:#e02135}\n.bt-secret .bt-q-btn:disabled{opacity:.5;cursor:default}\n.bt-secret-done .bt-q-head{align-items:center}\n.bt-secret-done .bt-q-title{font-size:13px;line-height:18px;color:var(--bt-ink-2);font-weight:500}\n.bt-secret-scope-tag{font-weight:400;color:var(--bt-ink-3)}\n.bt-secret-check{color:var(--bt-green,#22a06b);animation:bt-secret-pop ').concat(G1.duration,"ms ").concat(G1.easing," backwards}\n.bt-secret-done{animation:bt-secret-settle .32s cubic-bezier(.22,1,.36,1) backwards}\n@keyframes bt-secret-pop{from{opacity:0;transform:scale(.4)}}\n@keyframes bt-secret-settle{from{opacity:.4;transform:scale(.985)}}\n.bt-secret-event{display:inline-flex;align-items:center;gap:5px}\n.bt-secret-dock{flex-direction:column;align-items:center}\n.bt-secret-dock .bt-q{max-width:min(550px,calc(100% - 32px))}\n.bt-secret-about{margin:0 0 12px;padding:0 4px;font-size:12px;line-height:17px;color:var(--bt-ink-2)}\n.bt-secret-title{display:flex;align-items:center;gap:6px;min-width:0;color:var(--bt-ink)}\n.bt-secret-title svg{flex:none;color:var(--bt-ink-2)}\n.bt-secret-purpose{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bt-ink-2)}\n.bt-secret-faces{display:inline-flex}\n.bt-secret-faces>*+*{margin-left:-6px}\n.bt-secret-edit{display:flex;flex-direction:column;gap:14px;padding:4px 12px 14px;animation:bt-q-in ").concat(b1.duration,"ms ").concat(b1.easing," backwards,bt-veil-in .2s ease-out backwards}\n.bt-secret-edit-block{display:flex;flex-direction:column;gap:8px}\n.bt-secret-edit-label{font-size:12px;line-height:16px;font-weight:600;color:var(--bt-ink-2)}\n.bt-secret-radios{display:flex;gap:16px;font-size:13px}\n.bt-secret-radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer}\n.bt-secret-bots{display:flex;flex-wrap:wrap;gap:6px}\n.bt-secret-bot{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 5px;border-radius:999px;border:.5px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink-2);font:inherit;font-size:12px;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}\n.bt-secret-bot[aria-pressed=true]{background:var(--bt-active);color:var(--bt-ink);border-color:var(--bt-line-2)}\n.bt-secret-bot svg{width:13px;height:13px}\n.bt-secret-inline{display:flex;gap:8px;align-items:center}\n.bt-secret-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}\n.bt-secret-row-actions .bt-set-hint{flex:1}\n.bt-secret-danger{color:#e02135;display:inline-flex;align-items:center;gap:4px}\n.bt-secret-danger svg{width:13px;height:13px}\n.bt-secret-add .bt-input{height:34px}\n@media (prefers-reduced-motion:reduce){.bt-secret-glide{transition:none}.bt-secret-check,.bt-secret-done,.bt-secret-ok,.bt-secret-edit{animation:none}}\n");var d0=X1(l0(),1);var mz=(e,t)=>w4("flybot/".concat(e),t),BB,PB=()=>BB??=class extends d0.Component{constructor(t){super(t),this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(t){console.error("flybot: ".concat(this.props.id," failed"),t)}render(){return this.state.failed?this.props.fallback:this.props.children}};function RB(e){let t=S9(),[,n]=(0,d0.useState)(0);return(0,d0.useEffect)(()=>t.subscribe(()=>n(t.version())),[t]),t.entries("flybot.approvals").find(a=>a.inline===!0&&a.policy===e)}function dz({held:e,actions:t}){let n=RB(e?.by),[a,i]=(0,d0.useState)(!1),[r,s]=(0,d0.useState)(""),c=F5(e?.status);if((0,d0.useEffect)(()=>{if(c)return Z5("held-reply:".concat(e.id),[e.id]),()=>Z5("held-reply:".concat(e.id),[])},[e?.id,c]),!e?.id)return null;let o=async p=>{i(!0),s("");try{await mz("decide",{id:e.id,decision:p})}catch(u){s(u?.message??String(u))}finally{i(!1)}};if(!c){let p=e.status==="failed";return(0,d0.createElement)("div",{className:"bt-held-note","data-state":e.status,title:p&&e.error?e.error:void 0},(0,d0.createElement)("span",null,e.status==="approved"?N("Sent to {to}",{to:e.toName}):e.status==="auto"?N("Auto-sent to {to}",{to:e.toName}):p?N("Not sent: delivery failed"):N("Not sent")),p&&U9(e)?(0,d0.createElement)("button",{type:"button",className:"bt-held-retry",disabled:a,onClick:()=>o("retry")},N("Retry")):null,r?(0,d0.createElement)("span",{className:"bt-flybot-approval-error",role:"alert"},r):null)}let l=(0,d0.createElement)("div",{className:"bt-held-card",role:"region","aria-label":N("Waiting for your approval")},(0,d0.createElement)("div",{className:"bt-held-head"},N("Waiting for your approval")),(0,d0.createElement)("div",{className:"bt-flybot-approval-origin"},N("{from} \u2192 {to}",{from:e.from??N("A Bot"),to:e.toName})),(0,d0.createElement)("div",{className:"bt-flybot-approval-actions"},(0,d0.createElement)("button",{type:"button",disabled:a,onClick:()=>o("reject")},N("Reject")),(0,d0.createElement)("button",{type:"button",className:"bt-flybot-approve",disabled:a,onClick:()=>o("approve")},N("Approve"))),r?(0,d0.createElement)("div",{className:"bt-flybot-approval-error",role:"alert"},r):null);return(0,d0.createElement)("div",{className:"bt-held-actions","data-flybot":"held-reply-actions"},n?(0,d0.createElement)(PB(),{id:n.id,fallback:l},(0,d0.createElement)(n.component,{held:e,decide:o,call:mz,actions:t})):l)}function gz(e,t){let n=e.length?e:[t];return n.find(a=>hz(a)!=="")?.step!==t.step?"":n.filter(a=>!GB(a)).map(hz).filter(Boolean).join("\n\n")}var DB=e=>e.blocks.filter(t=>t.kind==="text"&&t.text.trim()!==""),GB=e=>e.status==="running"&&DB(e).length===0&&e.blocks.some(t=>t.kind==="reasoning"),hz=e=>e.blocks.filter(t=>t.kind==="reasoning").map(t=>t.text).join("\n").trim();var OB=()=>({code:{copyLabel:N("Copy"),copiedLabel:N("Copied")},footnotes:N("Footnotes")});function yz({texts:e,roster:t,selfId:n,actions:a,streaming:i,sessionId:r,msgKey:s,useUi:c,lead:o,mentions:l}){let p=m=>{let d=kp(m);d!==null&&(m.preventDefault(),m.stopPropagation(),a.openSession(d))},u=c?c(m=>s?m.reactions?.[s]??null:null):null;return(0,c1.createElement)("div",{className:"bt-astack","data-lead":o?"":void 0,onClickCapture:p},e.map((m,d)=>{let f=s&&typeof a.toggleReaction=="function"?"".concat(s,":").concat(d):void 0,w=f?u?.[d]??[]:[],x=d===e.length-1,v=i&&x;return(0,c1.createElement)("div",{key:d,className:"bt-msg"},(0,c1.createElement)("div",{className:"bt-msg-line"},o&&x?o:null,(0,c1.createElement)("div",{className:"bt-bubble"},(0,c1.createElement)(pz,{text:xp(m,t.bots,n),streaming:v,labels:OB(),variant:"compact",fileMentions:l})),v?null:(0,c1.createElement)(XB,{text:m,name:t.byId[n]?.name??N("Bot"),sessionId:r,react:f?b=>a.toggleReaction(s,d,b):void 0,actions:a})),w.length?(0,c1.createElement)("div",{className:"bt-reacts"},w.map(b=>(0,c1.createElement)("button",{key:b,type:"button",className:"bt-react","aria-label":N("Remove reaction {emoji}",{emoji:b}),onClick:()=>a.toggleReaction(s,d,b)},b))):null)}))}var WB=["\u{1F44D}","\u2764\uFE0F","\u{1F602}","\u{1F62E}","\u{1F622}","\u{1F64F}"];function UB(e,t,n){(0,c1.useEffect)(()=>{if(!e)return;let a=r=>{n.some(s=>s.current?.contains(r.target))||t()},i=r=>{r.key==="Escape"&&(r.stopPropagation(),t())};return window.addEventListener("mousedown",a),window.addEventListener("keydown",i,!0),()=>{window.removeEventListener("mousedown",a),window.removeEventListener("keydown",i,!0)}},[e])}function XB({text:e,name:t,sessionId:n,react:a,actions:i}){let[r,s]=(0,c1.useState)(null),[c,o]=(0,c1.useState)(null),[l,p]=(0,c1.useState)(!1),u=(0,c1.useRef)(null),m=(0,c1.useRef)(null),d=()=>s(null);UB(r!==null,d,[u,m]);let f=(b,_)=>{if(r===b){d();return}let z=_.currentTarget.getBoundingClientRect(),$=z.bottom+220{navigator.clipboard?.writeText(e).then(()=>{p(!0),setTimeout(()=>p(!1),1e3)})},x=()=>{let b=URL.createObjectURL(new Blob([e],{type:"text/markdown"}));Object.assign(document.createElement("a"),{href:b,download:"".concat(t,"-message.md")}).click(),setTimeout(()=>URL.revokeObjectURL(b),1e3)},v=(b,_,z)=>(0,c1.createElement)("button",{key:b,type:"button",role:"menuitem",onClick:()=>{d(),z()}},(0,c1.createElement)(_),b);return(0,c1.createElement)("div",{ref:u,className:"bt-tools","data-open":r!==null||void 0},a?(0,c1.createElement)("button",{type:"button",className:"bt-tool","aria-label":N("Add reaction"),title:N("Add reaction"),"aria-expanded":r==="react",onClick:b=>f("react",b)},(0,c1.createElement)(Bp)):null,n?(0,c1.createElement)("button",{type:"button",className:"bt-tool","aria-label":N("Reply"),title:N("Reply"),onClick:()=>i.quote(n,e)},(0,c1.createElement)(Pp)):null,(0,c1.createElement)("button",{type:"button",className:"bt-tool","aria-label":N("More message actions"),title:N("More"),"aria-haspopup":"menu","aria-expanded":r==="more",onClick:b=>f("more",b)},l?(0,c1.createElement)(N5):(0,c1.createElement)(Rp)),r==="react"?(0,hl.createPortal)((0,c1.createElement)("div",{ref:m,className:"bt-react-strip",role:"menu","aria-label":N("Reactions"),style:c},WB.map(b=>(0,c1.createElement)("button",{key:b,type:"button",role:"menuitem","aria-label":b,onClick:()=>{d(),a(b)}},b))),document.body):null,r==="more"?(0,hl.createPortal)((0,c1.createElement)("div",{ref:m,className:"bt-menu",role:"menu","aria-label":N("Message actions"),style:c},v(N("Copy"),Xp,w),v(N("Download"),Dp,x)),document.body):null)}var bz=160,fz="\u2026",KB=[/^\s{0,3}(?:`{3,}|~{3,})/,/^\s{0,3}([-*_])(?:\s*\1){2,}\s*$/],YB=e=>KB.some(t=>t.test(e)),JB=e=>typeof Intl<"u"&&typeof Intl.Segmenter=="function"?[...new Intl.Segmenter().segment(e)].map(t=>t.segment):[...e],QB=e=>{if(e.length<=bz)return e;let t="";for(let n of JB(e)){if(t.length+n.length>bz-fz.length)break;t+=n}return t+fz},eP=e=>e.length===1?N("{n} line of reasoning",{n:e.length}):N("{n} lines of reasoning",{n:e.length}),tP=e=>{let t=e.split("\n").map(a=>a.replace(/\s+/g," ").trim()).filter(a=>a!==""),n=t.find(a=>!YB(a));return n===void 0?eP(t):QB(n)};function nP({text:e}){if(typeof e!="string"||e.trim()==="")return null;let t=tP(e);return(0,c1.createElement)("details",{className:"bt-think"},(0,c1.createElement)("summary",null,(0,c1.createElement)("span",{className:"bt-think-caret","aria-hidden":!0},"\u203A"),N("Thought it through"),t?(0,c1.createElement)("span",{className:"bt-think-peek"},t):null),(0,c1.createElement)("div",{className:"bt-think-text"},e))}function aP({node:e,openFile:t,fileMentions:n,useTurnData:a}){let i=a?.("turn-tail"),r=e.location,s=r?.kind==="turn"||r?.kind==="step"?r.turn:void 0,c=e.data.finalNode?.seq;return(0,c1.useMemo)(()=>{if(!(typeof n!="function"||s?.status!=="closed"||c===void 0))return i?.closing?.finalNode.seq===c?n({turn:s,seq:c,openFile:t}):void 0},[n,t,c,i,s])}function iP(e,t){let n=t?.("turn-tail"),a=e.data.finalNode?.seq;return!n?.closing||a===void 0?!0:n.closing.finalNode?.seq===a}function rP(e,t){if(!(e?.remote===void 0||t.length===0)&&!t.every(n=>/^Not sent:/.test(n.trim())))return(0,c1.createElement)("span",{className:"bt-lead",title:e.name,"data-flybot":"friend-lead"},(0,c1.createElement)(n2,{bot:e,size:22}))}function _z({node:e,groupPart:t,sessionId:n,openFile:a,fileMentions:i,useTurnData:r,useRoster:s,useUi:c,useTurnSteps:o,useTurnContext:l,actions:p}){let u=s(R=>R),m=e.data,d=o(String(m.turn)),f=l(String(m.turn)),w=aP({node:e,openFile:a,fileMentions:i,useTurnData:r}),x=t==="reasoning"?void 0:Sp(u.byId[n],n,m.turn),v=iP(e,r),b=!!u.roomsById[n]||Ap(u,n,m.turn),_=Cp(u,n,m.turn),z=u.feishuTurns?.[n]?.[m.turn],$=t==="reasoning"?[]:m.blocks.filter(R=>R.kind==="text"&&R.text.trim()!=="").map((R,D)=>D===0?D9(R.text):R.text).filter(R=>R.trim()!==""),C=m.status==="running";if(uP(p,n,"text:".concat(e.key??m.seq),!b&&C&&$.length>0?{text:!0}:null),b)return null;let j=t==="response"?"":gz(d,m),T=$p(m,t)?Lp(f,d,m):[];if($.length===0&&!j&&T.length===0)return null;let H=u.byId[n]?.id??n,E=$.length?_?(0,c1.createElement)(gl,{name:_,texts:$,roster:u,selfId:H,actions:p,sessionId:n,msgKey:"".concat(n,":").concat(m.turn,":").concat(e.key??m.seq??""),useUi:c}):(0,c1.createElement)(yz,{texts:$,roster:u,selfId:H,actions:p,streaming:C,sessionId:n,msgKey:"".concat(n,":").concat(m.turn,":").concat(e.key??m.seq??""),useUi:c,mentions:w,lead:rP(u.byId[n],$)}):null;return(0,c1.createElement)(z?"div":c1.Fragment,z?{id:"feishu-message-".concat(z.messageId??m.turn),"data-feishu-root":z.rootId??""}:null,z?.rootId?(0,c1.createElement)("button",{type:"button",className:"bt-soft bt-soft-sm",title:z.rootId,onClick:()=>document.getElementById("feishu-message-".concat(z.rootId))?.scrollIntoView?.({block:"center"})},N("Reply in thread")):null,z?.attachments?.length?(0,c1.createElement)(oP,{files:z.attachments,appId:z.appId,plugin:"feishu",botId:H}):null,T.map(R=>{let D=R.source,B=u.byId[D.senderSessionId]??{id:D.senderSessionId,name:D.senderName??N("a Bot"),color:"gray"};return(0,c1.createElement)(cP,{key:R.seq,prefix:D.role==="stopped"?N("Stopped by"):D.role==="reply"?N("Reply from"):N("Message from"),bots:[B],onOpen:()=>{B.id&&p.openExchange(H,B.id)},whole:!0})}),j?(0,c1.createElement)(nP,{text:j}):null,x&&E?(0,c1.createElement)(sP,{held:x,roster:u,sessionId:n,actions:p,closing:v},E):E)}function sP({held:e,roster:t,sessionId:n,actions:a,closing:i,children:r}){let s=t.byId[n],c=(t.bots??[]).find(l=>l.remote?.handle===e.to),o=I2(e.toOwner)||(c?M9(c):mt({handle:e.to}))||e.to||N("a friend");return(0,c1.createElement)("div",{className:"bt-held-reply","data-state":e.status,"data-held":F5(e.status)?"":void 0},r,i?(0,c1.createElement)(dz,{held:{...e,toName:o,from:s?.name},actions:a}):null)}function gl({name:e,texts:t,roster:n,selfId:a,actions:i,sessionId:r,msgKey:s,useUi:c}){let o=(0,c1.createElement)("span",{className:"bt-lead",title:e},(0,c1.createElement)(J7,{name:e}));return(0,c1.createElement)("div",{className:"bt-group-msg bt-person-msg","data-person":e},(0,c1.createElement)("span",{className:"bt-group-name"},e),(0,c1.createElement)(yz,{texts:t,roster:n,selfId:a,actions:i,sessionId:r,msgKey:s,useUi:c,lead:o}))}function cP({prefix:e,bots:t,joiner:n=N("and"),onOpen:a,whole:i=!1}){if(i&&t.length===1)return(0,c1.createElement)("div",{className:"bt-event"},(0,c1.createElement)("button",{type:"button",className:"bt-event-whole",title:t[0].name,onClick:()=>a?.(t[0])},(0,c1.createElement)("span",null,e),(0,c1.createElement)(n2,{bot:t[0],size:16}),(0,c1.createElement)("span",{className:"bt-event-name"},t[0].name)));let r=[];return r.push((0,c1.createElement)("span",{key:"p"},e)),t.forEach((s,c)=>{c>0&&r.push((0,c1.createElement)("span",{key:"j".concat(c)},n)),r.push((0,c1.createElement)("button",{key:s.id??c,type:"button",onClick:()=>a?.(s)},(0,c1.createElement)(n2,{bot:s,size:16}),s.name))}),(0,c1.createElement)("div",{className:"bt-event"},r)}function oP({files:e,plugin:t,botId:n,appId:a}){let[i,r]=(0,c1.useState)(""),[s,c]=(0,c1.useState)(""),o=async l=>{r(l.id),c("");try{let p=t==="feishu"?await w4("feishu",{operation:"attachment",appId:a,attachmentId:l.id}):await w4("flybot/".concat(t,"/attachment"),{id:l.id,botId:n}),u=p?.value??p,m=Uint8Array.from(atob(u.content_base64),w=>w.charCodeAt(0)),d=URL.createObjectURL(new Blob([m],{type:"application/octet-stream"}));Object.assign(document.createElement("a"),{href:d,download:u.name??l.name}).click(),setTimeout(()=>URL.revokeObjectURL(d),1e4)}catch(p){c(String(p?.message??p))}finally{r("")}};return(0,c1.createElement)("div",{className:"bt-file-chips"},e.map(l=>(0,c1.createElement)("button",{key:l.id,type:"button",className:"bt-file-chip",disabled:i===l.id,title:"Download ".concat(l.name," (untrusted file from a remote Bot)"),onClick:()=>o(l)},"\u{1F4CE} ".concat(l.name," \xB7 ").concat(Q7(l.size)))),s?(0,c1.createElement)("span",{className:"bt-file-error",role:"alert"},s):null)}var ft1=1800*1e3;function L7({children:e}){return(0,c1.createElement)("span",{className:"bt-shimmer"},e)}var lP=[[/web_?search|search_?web/i,"Searching online"],[/fetch|browse|browser|web/i,"Reading a page"],[/shell|bash|pwsh|powershell|exec|command|terminal/i,"Running shell commands"],[/^(read|view|cat)\b|read_/i,"Opening a file"],[/grep|glob|list_dir|^ls$|find|search/i,"Looking through files"],[/write|edit|patch|apply|replace/i,"Writing changes"],[/image|photo|draw/i,"Working on an image"]],vz={create_group:"Creating a group",update_group:"Updating the group",delete_group:"Deleting the group",post_to_group:"Posting in the group"};function pP(e,t,n,a){switch(e){case"ask_user":return null;case"request_secret":return null;case"list_secrets":return{label:N("Checking the keys"),state:"searching"};case"ask_user_question":return{label:N("Waiting for your answer"),state:"alert"};case"group_relay":return{relay:!0,state:"orbit"};case"message_bot":{let r=n(t("to"));return{label:r?N("Asking {name}",{name:r.name}):N("Asking another Bot"),state:"sending"}}case"stop_bot":{let r=n(t("bot"));return{label:r?N("Stopping {name}",{name:r.name}):N("Stopping another Bot"),state:"sending"}}case"create_bot":return{label:N("Creating {name}",{name:t("name")??N("a Bot")}),state:"sending"};case"update_bot":{let r=n(t("name"))??n(t("bot"))??(t("bot")?void 0:a);return{label:N("Updating {name}",{name:r?.name??N("a Bot")}),state:"sending"}}case"list_bots":return{label:N("Checking the team"),state:"searching"};case"read_group_chat":return{label:N("Reading {name}",{name:t("group")??N("a group chat")}),state:"searching"};case"read_own_chat":return{label:N("Looking back through the chat"),state:"searching"};case"remember":return{label:N("Saving to memory"),state:"working"};case"forget":return{label:N("Updating memory"),state:"working"};case"recall":return{label:N("Checking memory"),state:"searching"};default:if(vz[e])return{label:N(vz[e]),state:"sending"};let i=lP.find(([r])=>r.test(e))?.[1];return{label:i?N(i):null,state:W9(e)}}}function $7(e){return e?pP(e,()=>{},()=>{})?.label??N("Using {tool}",{tool:e}):N("Thinking about it")}function v5(e,t){return t?N("{action}: {detail}",{action:$7(e),detail:t}):"".concat($7(e),"\u2026")}function uP(e,t,n,a){let i=a?JSON.stringify(a):"";(0,c1.useEffect)(()=>{if(i)return e.noteLive(t,n,JSON.parse(i)),()=>e.noteLive(t,n,null)},[t,n,i])}var y5=X1(l0(),1),bP=X1(J3(),1);function bl(e){let t=Math.floor(e/6e4);if(t<60)return"".concat(Math.max(1,t),"m");let n=Math.floor(t/60);return t%60===0?"".concat(n,"h"):"".concat(n,"h ").concat(t%60,"m")}var fl='\n.bt-mw-dock-stack{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:var(--dsh-chat-content-width,min(960px,100%));margin:0 auto 6px;pointer-events:none}\n.bt-mw-row{pointer-events:auto;display:flex;align-items:center;gap:10px;min-width:0;max-width:calc(100% + 6px);height:32px;margin-inline-start:-6px;padding:0 12px 0 6px;border:0;border-radius:16px;background:none;color:var(--bt-ink-2);font:inherit;font-size:14px;cursor:pointer;animation:bt-mw-in .32s cubic-bezier(.23,1,.32,1) backwards;transition:background-color .16s ease-out}\n.bt-mw-row:hover{background:var(--bt-hover)}\n.bt-mw-row>.bt-mark{flex:none}\n.bt-mw-row-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-mw-row-time{flex:none;font-size:12px;color:var(--bt-ink-3);white-space:nowrap}\n.bt-mw-work{display:flex;align-items:center;justify-content:space-between;gap:8px}\n.bt-mw-stop{flex:none;height:22px;padding:0 10px;border:1px solid var(--bt-line,rgba(0,0,0,.12));border-radius:11px;background:none;color:var(--bt-ink-2);font:inherit;font-size:12px;cursor:pointer}\n.bt-mw-stop:hover{background:var(--bt-hover)}\n.bt-mw-stop:disabled{opacity:.5;cursor:default}\n.bt-mw-line{gap:8px}\n.bt-mw-stack{display:inline-flex;align-items:center;flex:none;line-height:0}\n.bt-mw-stack>*+*{margin-left:-4px}\n.bt-mw-face{position:relative;display:inline-flex;flex:none;border-radius:50%}\n.bt-mw-stack .bt-mw-face{box-shadow:0 0 0 1.5px var(--bt-main,#fff)}\n.bt-mw-face[data-ask]::after{content:"";position:absolute;right:-2px;bottom:-2px;width:7px;height:7px;border-radius:50%;background:#e3a008;box-shadow:0 0 0 1.5px var(--bt-main,#fff)}\n.bt-mw-ask{color:#b7791f;flex:none;white-space:nowrap}\nbody[data-ds-dark-theme] .bt-mw-ask{color:#f0b84a}\n.bt-mw-member{padding:0 6px 8px 42px;display:flex;flex-direction:column;gap:6px}\n.bt-mw-state{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-top:-4px}\n.bt-mw-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:var(--bt-hover);font-size:12px;line-height:17px;color:var(--bt-ink-2)}\n.bt-mw-tool{font-weight:600;color:var(--bt-ink)}\n.bt-mw-text{color:var(--bt-ink);overflow-wrap:anywhere}\n.bt-mw-reason{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}\n.bt-mw-code{display:block;font:11px/16px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--bt-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-mw-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:4px}\n.bt-mw-actions>button{height:28px;padding:0 12px;font-size:12px}\n.bt-mw-actions>button:disabled{opacity:.5;cursor:default}\n@keyframes bt-mw-in{from{opacity:0;transform:translateY(4px)}}\n@media (prefers-reduced-motion:reduce){.bt-mw-row{animation:none}}\n';var wz=(e,t)=>typeof t=="number"&&e-t>=6e4?" \xB7 ".concat(bl(e-t)):"",xz=(e,t)=>t?.remote||e.tool==="feishu_tool"?[]:[["always-bot","Always allow for this Bot"],...e.roomId?[["always-room","Always allow for this group"]]:[]];function o9({approval:e,bot:t,actions:n,standing:a=!0}){let[i,r]=(0,r0.useState)(!1),s=c=>{r(!0),Promise.resolve(n.answerApproval(e.id,c)).catch(o=>n.reportError(o,"approval")).finally(()=>r(!1))};return(0,r0.createElement)("div",{className:"bt-mw-card",role:"group","aria-label":N("{name} is waiting for your approval",{name:t.name})},(0,r0.createElement)("div",{className:"bt-mw-tool"},e.tool),e.detail?.text?(0,r0.createElement)("div",{className:"bt-mw-text"},e.detail.text):null,e.reason?(0,r0.createElement)("div",{className:"bt-mw-reason"},e.reason):null,e.detail?.code?(0,r0.createElement)("code",{className:"bt-mw-code",title:e.detail.code},e.detail.code):null,e.answerable?(0,r0.createElement)("div",{className:"bt-mw-actions"},(0,r0.createElement)("button",{type:"button",className:"bt-q-btn",disabled:i,onClick:()=>s("reject")},N("Reject")),(0,r0.createElement)("button",{type:"button",className:"bt-q-submit",disabled:i,onClick:()=>s("allow")},N("Allow once")),...(a?xz(e,t):[]).map(([c,o])=>(0,r0.createElement)("button",{key:c,type:"button",className:"bt-q-btn","data-choice":c,disabled:i,onClick:()=>s(c)},N(o)))):(0,r0.createElement)("div",{className:"bt-mw-actions"},(0,r0.createElement)("button",{type:"button",className:"bt-q-btn",onClick:()=>n.openSession(t.id)},N("Open {name}'s chat",{name:t.name}))))}function kz({entry:e,bot:t,room:n,actions:a,now:i}){let[r,s]=(0,r0.useState)(!1);if(e.state==="ask")return(0,r0.createElement)("div",{className:"bt-mw-member"},(0,r0.createElement)("div",{className:"bt-mw-state bt-mw-ask"},"".concat(N("Waiting for your approval")).concat(wz(i,e.approvals[0].at))),e.approvals.map(o=>(0,r0.createElement)(o9,{key:o.id,approval:o,bot:t,actions:a})));if(e.state!=="work")return null;let c=()=>{s(!0),Promise.resolve(a.stopMemberWork(n.id,t.id)).catch(o=>a.reportError(o,"stop")).finally(()=>s(!1))};return(0,r0.createElement)("div",{className:"bt-mw-member"},(0,r0.createElement)("div",{className:"bt-mw-state bt-mw-work"},(0,r0.createElement)("span",null,(0,r0.createElement)(L7,null,v5(e.doing.tool,e.doing.step)),wz(i,e.doing.since)),e.here&&e.doing.handed!==!0?(0,r0.createElement)("button",{type:"button",className:"bt-mw-stop",disabled:r,onClick:c},N("Stop")):null))}var E1=X1(l0(),1),vP=X1(J3(),1);var yP=()=>window.SpeechRecognition??window.webkitSpeechRecognition;function _P(e){let[t,n]=(0,E1.useState)(!1),[a,i]=(0,E1.useState)(""),r=(0,E1.useRef)(null),s=(0,E1.useRef)(e);return s.current=e,(0,E1.useEffect)(()=>()=>r.current?.abort(),[]),(0,E1.useEffect)(()=>{if(!a)return;let l=setTimeout(()=>i(""),2600);return()=>clearTimeout(l)},[a]),{listening:t,note:a,start:({continuous:l=!0,onEnd:p}={})=>{let u=yP();if(!u)return i(N("Dictation is not available in this browser")),!1;let m=new u;m.lang=navigator.language||"zh-CN",m.interimResults=!0,m.continuous=l,m.onresult=d=>{let f="";for(let w=d.resultIndex;w{d.error==="aborted"||d.error==="no-speech"||i(d.error==="not-allowed"||d.error==="service-not-allowed"?N("Microphone access is blocked"):N("Couldn't hear that"))},m.onend=()=>{n(!1),r.current=null,p?.()},r.current=m;try{return m.start(),n(!0),!0}catch{return i(N("Couldn't start dictation")),!1}},stop:()=>r.current?.stop()}}function vl({chat:e,mentions:t=[],initialText:n="",attachments:a=[],initialImages:i=[],allowImages:r=!1,onImages:s,onDraft:c,onError:o}){let[l,p]=(0,E1.useState)(n),[u,m]=(0,E1.useState)(!1),d=(0,E1.useRef)(!1),[f,w]=(0,E1.useState)([]),[x,v]=(0,E1.useState)(i),b=(0,E1.useRef)(!0),_=(0,E1.useRef)(!1),[z,$]=(0,E1.useState)(!1);(0,E1.useEffect)(()=>()=>{b.current=!1},[]);let C=async U=>{if(_.current)return;_.current=!0,$(!0);let r1=[...U.target.files],z1=U.target.ownerDocument.defaultView;U.target.value="";try{if(r1.length+x.length>4||r1.some(A=>A.size>256*1024)||r1.reduce((A,i1)=>A+i1.size,x.reduce((A,i1)=>A+i1.bytes,0))>512*1024)throw new Error("Choose up to four files, at most 256 KiB each and 512 KiB total");let A1=await Promise.all(r1.map(A=>new Promise((i1,l1)=>{let S=new z1.FileReader;S.onerror=()=>l1(new Error("Image could not be read")),S.onload=()=>i1({name:A.name,mediaType:A.type,bytes:A.size,data:String(S.result).split(",")[1]}),S.readAsDataURL(A)})));if(b.current){let A=[...x,...A1];v(A),s?.(A),T("")}}catch(A1){b.current&&T(A1.message)}finally{_.current=!1,b.current&&$(!1)}},[j,T]=(0,E1.useState)(""),H=(0,E1.useRef)(null),E=(0,E1.useRef)(l);E.current=l;let R=U=>{p(U),c?.(U)},D=_P((U,r1)=>{r1&&R(E.current+U)}),B=l.match(/(?:^|\s)@([^\s@]*)$/)?.[1],Q=B===void 0?[]:t.filter(U=>U.name.toLowerCase().includes(B.toLowerCase())).slice(0,8),O=async U=>{if(U.preventDefault(),!(d.current||_.current||!l.trim()&&!x.length)){d.current=!0,m(!0),T("");try{await e.send(l,x.length?{images:x.filter(r1=>["image/png","image/jpeg","image/webp","image/gif"].includes(r1.mediaType)),files:x.filter(r1=>!["image/png","image/jpeg","image/webp","image/gif"].includes(r1.mediaType))}:f.length?{attachmentIds:f}:void 0),R(""),w([]),v([]),s?.([])}catch(r1){T(r1.message),o?.(r1)}finally{d.current=!1,m(!1)}}};return(0,E1.createElement)("form",{className:"bt-scoped-composer",onSubmit:O,"data-composer-card":""},(0,E1.createElement)("textarea",{ref:H,name:"text","aria-label":N("Message"),value:l,disabled:u,onInput:U=>R(U.target.value),onKeyDown:U=>{U.key==="Enter"&&!U.shiftKey&&!U.nativeEvent.isComposing&&O(U)}}),r?(0,E1.createElement)("label",null,(0,E1.createElement)(Gp),"Add files",(0,E1.createElement)("input",{type:"file",multiple:!0,disabled:z||u,onChange:C})):null,x.map((U,r1)=>(0,E1.createElement)("div",{key:r1},U.name,(0,E1.createElement)("button",{type:"button",onClick:()=>{let z1=x.filter((A1,A)=>A!==r1);v(z1),s?.(z1)}},"Remove"))),a.length?(0,E1.createElement)("fieldset",null,(0,E1.createElement)("legend",null,"Include registered documents"),a.map(U=>(0,E1.createElement)("label",{key:U.id},(0,E1.createElement)("input",{type:"checkbox",checked:f.includes(U.id),onChange:r1=>w(z1=>r1.target.checked?[...z1,U.id]:z1.filter(A1=>A1!==U.id))}),U.name))):null,Q.length?(0,E1.createElement)("div",{role:"listbox","aria-label":N("Bots")},Q.map(U=>(0,E1.createElement)("button",{key:U.id,type:"button",role:"option",onClick:()=>{R(l.slice(0,l.length-B.length)+U.name+" "),H.current?.focus()}},U.name))):null,(0,E1.createElement)("button",{type:"button","aria-label":D.listening?N("Stop dictation"):N("Dictate"),onClick:()=>D.listening?D.stop():D.start()},(0,E1.createElement)(Ip)),(0,E1.createElement)("button",{type:"submit",disabled:u||z||!l.trim()&&!x.length},N("Send")),j?(0,E1.createElement)("p",{role:"alert"},j):null,D.note?(0,E1.createElement)("p",{role:"status"},D.note):null)}var w1=X1(l0(),1),Tz=X1(Cz(),1);var u1=X1(l0(),1),MP=X1(J3(),1);var _5=X1(l0(),1);var l9=X1(l0(),1);var d51=7*864e5;var zP=e=>(0,_5.createElement)("path",{d:e}),S3=(...e)=>function(){return(0,_5.createElement)("svg",{width:14,height:14,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.map(zP))},ct="M10 3.25a6.75 6.75 0 1 1 0 13.5 6.75 6.75 0 0 1 0-13.5z",h51=S3("M3.5 11.5l1.9-6.1A1.5 1.5 0 0 1 6.83 4.35h6.34a1.5 1.5 0 0 1 1.43 1.05l1.9 6.1","M3.5 11.5v3.25a1.5 1.5 0 0 0 1.5 1.5h10a1.5 1.5 0 0 0 1.5-1.5V11.5","M3.5 11.5h3.75l1 1.75h3.5l1-1.75h3.75"),g51=S3(ct,"M10 6.75v3.75","M10 13.25h.01"),b51=S3(ct,"M10 6.5V10l2.25 1.5"),f51=S3(ct,"M8.1 8a2 2 0 1 1 2.65 1.9c-.45.18-.75.6-.75 1.1v.25","M10 13.5h.01"),v51=S3(ct,"M7 10.25l2 2 4-4.25"),y51=S3(ct,"M7.75 7.75l4.5 4.5M12.25 7.75l-4.5 4.5"),_51=S3(ct,"M8.5 7.25v5.5l4.25-2.75z"),w51=S3("M4.5 10.5l3.5 3.5 7.5-8"),x51=S3(ct,"M5.25 14.75l9.5-9.5");var p9=X1(l0(),1);var CP=X1(l0(),1);var S7=X1(l0(),1),AP=X1(J3(),1);var _l='\n.bt-side-top .bt-brand{cursor:default;padding-left:6px}\n.bt-side-top .bt-brand:hover{background:none}\n.bt-brand .bt-mark{flex:none}\n.bt-pin{flex:none;display:inline-flex;color:var(--bt-ink-3)}\n.bt-rail .bt-row{position:relative}\n.bt-rail .bt-pin{position:absolute;top:3px;left:calc(50% + 12px)}\n.bt-side .bt-read-only{margin:4px 8px 6px;padding:8px 10px;border-radius:10px;background:var(--bt-hover);font-size:12px;line-height:1.45;text-align:left}\n[class*="_footArea"]:has(.bt-foot-account){display:flex!important;flex-direction:row!important;align-items:center;gap:6px}\n[class*="_footArea"]:has(.bt-foot-account)>[class*="_footerActions"],[class*="_footArea"]:has(.bt-foot-account)>[class*="_footerActions"]>div{display:contents!important}\n.bt-foot-account{order:-1;flex:none;display:inline-flex}\n[class*="_footArea"]:has(.bt-foot-account) .bt-connect-foot{order:0;flex:1 1 auto;min-width:0;width:auto}\n[class*="_footArea"]:has(.bt-foot-account)>[class*="_settingsArea"]{order:1;flex:none}\n[class*="_footArea"]:has(.bt-foot-account)>[class*="_settingsArea"] button[class*="_trigger"] [class*="_label"]{display:none!important}\n\n/* The update cloud springs in when a newer DS Bot shows up; its arrow drops in a\n loop while the install runs. */\n.bt-round.bt-update{position:relative;color:var(--bt-accent,#4D6BFE);animation:bt-update-in '.concat(b1.duration,"ms ").concat(b1.easing,'}\n.bt-round.bt-update svg{width:17px;height:17px}\n.bt-round.bt-update[data-phase=installed]{color:var(--bt-ink-2)}\n@keyframes bt-update-in{from{opacity:0;transform:scale(.6);filter:blur(4px)}}\n.bt-update[data-phase=installing] .bt-cloud-arrow{animation:bt-cloud-drop 1.1s cubic-bezier(.45,0,.55,1) infinite}\n@keyframes bt-cloud-drop{0%{transform:translateY(-3px);opacity:0}35%{opacity:1}70%{transform:translateY(1px);opacity:1}100%{transform:translateY(2px);opacity:0}}\n.bt-update-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:#E5484D;box-shadow:0 0 0 1.5px var(--bt-sidebar)}\n.bt-update-pop{position:fixed;z-index:130;width:280px;padding:14px 14px 12px;border-radius:14px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);color:var(--bt-ink);box-sizing:border-box;transform-origin:top left;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;animation:bt-update-pop ').concat(b1.duration,"ms ").concat(b1.easing,'}\n@keyframes bt-update-pop{from{opacity:0;transform:scale(.96);filter:blur(4px)}}\n.bt-update-title{font-size:14px;line-height:20px;font-weight:600}\n.bt-update-text{margin-top:2px;font-size:12.5px;line-height:18px;color:var(--bt-ink-2)}\n.bt-update-error{margin-top:8px;font-size:12px;line-height:17px;color:#c21d2e;overflow-wrap:anywhere;max-height:90px;overflow:auto}\n.bt-update-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}\n.bt-update-notes{margin-right:auto;font-size:12.5px;color:var(--bt-ink-2);text-decoration:none}\n.bt-update-notes:hover{color:var(--bt-ink);text-decoration:underline}\n.bt-update-go{height:30px;padding:0 14px;border:0;border-radius:999px;background:var(--bt-accent,#4D6BFE);color:var(--bt-accent-ink,#fff);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .12s ease,transform .12s ease}\n.bt-update-go:hover:not(:disabled){opacity:.9}\n.bt-update-go:active:not(:disabled){transform:scale(.96)}\n.bt-update-go:disabled{opacity:.6;cursor:default}\n.bt-update-dsh:not(:first-child){margin-top:12px;padding-top:12px;border-top:.5px solid var(--bt-line-2)}\n@media (prefers-reduced-motion:reduce){.bt-round.bt-update,.bt-update-pop,.bt-update .bt-cloud-arrow{animation:none}}\n\n/* The DSH Agent row and its expanding Session list. The black whale is the\n harness\'s own mark, so the row reads as "plain dsh" next to the Bot marks. */\n.bt-agent-ava{flex:none;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bt-hover);color:var(--bt-ink)}\n.bt-agent-ava.bt-run{animation:bt-agent-pulse 1.4s ease-in-out infinite}\n@keyframes bt-agent-pulse{0%,100%{opacity:1}50%{opacity:.55}}\n.bt-agent-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows ').concat(b1.duration,"ms ").concat(b1.easing,"}\n.bt-agent-sub[data-open]{grid-template-rows:1fr}\n.bt-agent-sub-in{overflow:hidden;min-height:0;margin-left:44px}\n.bt-agent-sub-row{display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px 5px 8px;border:0;border-radius:8px;background:none;color:var(--bt-ink-2);font:inherit;font-size:13px;line-height:20px;text-align:left;cursor:pointer}\n.bt-agent-sub-row:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-agent-sub-row[aria-current=page]{background:var(--bt-hover);color:var(--bt-ink);font-weight:500}\n.bt-agent-sub-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-agent-sub-time{flex:none;font-size:11px;color:var(--bt-ink-3)}\n.bt-agent-new{color:var(--bt-ink-3)}\n.bt-agent-new svg{width:14px;height:14px;flex:none}\n.bt-agent-edit{padding:3px 10px 3px 4px}\n.bt-agent-edit input{width:100%;border:0;border-radius:6px;background:var(--bt-hover);color:var(--bt-ink);font:inherit;font-size:13px;line-height:20px;padding:2px 8px;outline:none;box-shadow:inset 0 0 0 .5px var(--bt-line-2)}\n.bt-agent-sub[data-open] .bt-agent-sub-row{animation:bt-agent-row-in .24s ease both;animation-delay:calc(var(--i, 0)*30ms)}\n@keyframes bt-agent-row-in{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}\n@media (prefers-reduced-motion:reduce){.bt-agent-sub{transition:none}.bt-agent-sub .bt-agent-sub-row{animation:none}}\n\n.bt-row-wrap{position:relative;display:flex;align-items:center;width:100%;min-width:0}\n.bt-row-wrap>.bt-row{flex:1 1 auto;min-width:0;width:100%}\n.bt-tree-item>.bt-row-wrap{flex:1 1 auto;width:auto;min-width:0}\n/* Gear sits over the row so hover/selected fill the same full-width band as a plain row (#384). */\n.bt-row-settings{position:absolute;right:6px;top:50%;transform:translateY(-50%);z-index:1;flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-3);cursor:pointer;opacity:0;pointer-events:none;transition:background-color .12s ease,color .12s ease,opacity .12s ease}\n.bt-row-wrap:hover>.bt-row,.bt-row-wrap:focus-within>.bt-row{padding-right:36px}\n.bt-row-wrap:hover .bt-row-settings,.bt-row-wrap:focus-within .bt-row-settings{opacity:1;pointer-events:auto;color:var(--bt-ink-2);background:var(--bt-hover)}\n.bt-row-settings:hover{opacity:1;color:var(--bt-ink-2);background:var(--bt-hover)}\n.bt-row-settings svg{width:15px;height:15px}\n");function Mz(e,t,n,a){(0,u1.useEffect)(()=>{t&&n&&a.clearUnread(e)},[t,n])}var u9=()=>(0,u1.createElement)("span",{className:"bt-pin","aria-hidden":!0},(0,u1.createElement)(Up)),$z=(e,t)=>e?e(n=>(n.approvals??[]).some(t)):!1,Lz=(e,t)=>e?e(n=>t(n.rooms??{}).join(",")):"",Sz=e=>e===""?[]:e.split(",").map(t=>{let[n,a]=t.split("|");return{id:n,tool:a||void 0}}),Ez=(e,t,n)=>(0,u1.createElement)(L7,null,"".concat(e," \xB7 ").concat($7(t),"\u2026").concat(n>0?" +".concat(n):""));function Zz({bot:e,roster:t,actions:n,useSessions:a,useSessionStatus:i,useSessionRetainInfo:r,useActivity:s,useWork:c,wide:o,marked:l,asRow:p=!1}){let u=e.id,m=gt(e),d=a(l1=>U7(X7(l1,m,t.exchangeTurns[m],Ep(e,m),K7(t)),t)),f=i(l1=>l1.get(m)?.running===!0),w=r(m,l1=>(l1?.retainedBy?.mainView??0)>0),x=i(l1=>l1.get(m)?.completionUnread===!0||l1.get(m)?.pendingInteraction!==void 0)||l&&!w;Mz(u,w,l,n);let v=O9(t,u),b=t.mainBotId===u&&!p,z=$z(c,l1=>l1.botId===u)||(e.pendingCount??0)>0,$=t.questions?.[m]!==void 0||z,C=s(l1=>l1[u]),j=Sz(Lz(c,l1=>Object.entries(l1).flatMap(([S,R1])=>R1.filter(h0=>h0.botId===u).map(h0=>"".concat(S,"|").concat(h0.tool??""))))),T=!f&&j.length>0,H=Tp(f||T,C,$),E=T?jp(j,t.roomsById):[],R=E.length>0?Ez(t.roomsById[E[0].id]?.name??N("a group chat"),E[0].tool,E.length-1):null;if(!Yl(e)&&!w&&!v)return null;let D=l1=>{l1.preventDefault(),n.openMenu({kind:"bot",id:u,x:l1.clientX,y:l1.clientY})},B=e.pinned===!0&&!b,Q=!!e.remote,O=Q?ut(e):e.name,U=R||d||(Q?e.remote?.gone?N("no longer shared"):N("Friend's Bot"):""),r1=[O,v?N("Main Bot"):"",B?N("Pinned"):"",f||T?N("Working"):"",z?N("Waiting for your approval"):$?N("Waiting for your answer"):"",x?N("Unread activity"):""].filter(Boolean).join(", ");if(b&&o)return(0,u1.createElement)("div",{className:"bt-tile-wrap"},(0,u1.createElement)("button",{type:"button",className:"bt-tile","aria-label":r1,"aria-current":w?"page":void 0,"data-bot-id":u,title:d||e.name,onClick:()=>n.openSession(u),onContextMenu:D},(0,u1.createElement)(bt,{bot:e,size:60,state:H,main:!0}),(0,u1.createElement)("span",{className:"bt-tile-name"},O),x&&!z&&!w?(0,u1.createElement)("span",{className:"bt-unread bt-tile-unread","aria-hidden":!0}):null,e.role?(0,u1.createElement)("span",{className:"bt-chip"},e.role):null));let z1=o&&z&&!w?(0,u1.createElement)("span",{className:"bt-unread bt-unread-wait","aria-hidden":!0}):o&&x&&!w?(0,u1.createElement)("span",{className:"bt-unread","aria-hidden":!0}):null,A1=(0,u1.createElement)("button",{type:"button",className:"bt-row","aria-label":r1,"aria-current":w?"page":void 0,"data-bot-id":u,title:Q?O:Fp(O,Zp(e,t)?.name,o),onClick:()=>n.openSession(u),onContextMenu:D},(0,u1.createElement)(bt,{bot:e,size:36,state:H,main:v}),B&&!o?(0,u1.createElement)(u9):null,o?(0,u1.createElement)("span",{className:"bt-row-body"},(0,u1.createElement)("span",{className:"bt-row-name"},(0,u1.createElement)("span",{className:"bt-row-title"},O),e.remote?(0,u1.createElement)($P,{remote:e.remote}):null,B?(0,u1.createElement)(u9):null),U?(0,u1.createElement)("span",{className:"bt-row-preview"},U):null):null,z1),A=e.remote?N("Bot settings"):N("Edit Bot"),i1=o?(0,u1.createElement)("button",{type:"button",className:"bt-row-settings","aria-label":A,title:A,onFocus:l1=>Az(l1.currentTarget),onClick:l1=>{l1.stopPropagation(),Az(l1.currentTarget),n.openSettings("bots",u)}},(0,u1.createElement)(Wp)):null;return i1?(0,u1.createElement)("div",{className:"bt-row-wrap","data-bot-id":u},A1,i1):A1}function Az(e){let t=()=>{for(let a=e?.parentElement;a;a=a.parentElement)a.scrollLeft>0&&(a.scrollLeft=0);let n=typeof document>"u"?null:document.scrollingElement;n&&n.scrollLeft>0&&(n.scrollLeft=0)};t(),typeof requestAnimationFrame=="function"&&requestAnimationFrame(()=>requestAnimationFrame(t))}function $P({remote:e}){return(0,u1.createElement)("span",{className:"bt-row-remote",title:e.gone?"".concat(e.handle," \xB7 ").concat(N("no longer shared")):e.handle,"aria-label":N("Friend's Bot")},(0,u1.createElement)("svg",{width:11,height:11,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0},(0,u1.createElement)("circle",{cx:12,cy:12,r:9}),(0,u1.createElement)("path",{d:"M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18"})))}function LP(){return(0,u1.createElement)("span",{className:"bt-row-remote bt-row-face",title:N("Face-to-face"),"aria-label":N("Face-to-face")},(0,u1.createElement)("svg",{width:11,height:11,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0},(0,u1.createElement)("circle",{cx:9,cy:8,r:3}),(0,u1.createElement)("circle",{cx:16,cy:9,r:2.5}),(0,u1.createElement)("path",{d:"M4 18a5 5 0 0 1 10 0M14 18a4 4 0 0 1 6 0"})))}function SP({room:e,roster:t,actions:n,useSessions:a,useSessionStatus:i,useSessionRetainInfo:r,useWork:s,wide:c,marked:o}){let l=e.id,p=a(R=>U7(X7(R,l,[],[],K7(t)),t)),u=U7(W7(e.preview),t)||p,m=r(l,R=>(R?.retainedBy?.mainView??0)>0),d=i(R=>R.get(l)?.completionUnread===!0)||o&&!m;Mz(l,m,o,n);let f=$z(s,R=>R.roomId===l),w=t.questions?.[l]!==void 0,x=Sz(Lz(s,R=>(R[l]??[]).map(D=>"".concat(D.botId,"|").concat(D.tool??"")))),v=t.byId[x[0]?.id],b=v?Ez(v.name,x[0].tool,x.length-1):null;if(e.hidden&&!m)return null;let _=e.pinned===!0,z=L9(e),$=e.sharedFrom?$9(e.sharedFrom.inviterName):"",C=$&&$!==z?"".concat(z," \xB7 ").concat($):z,j=f||(e.pendingCount??0)>0,T=w||j,H=e.origin==="face-to-face",E=[C,H?N("Face-to-face"):"",_?N("Pinned"):"",x.length>0?N("Working"):"",j?N("Waiting for your approval"):T?N("Waiting for your answer"):""].filter(Boolean).join(", ");return(0,u1.createElement)("button",{type:"button",className:"bt-row","aria-label":E,"aria-current":m?"page":void 0,title:C,"data-room-id":l,onClick:()=>n.openSession(l),onContextMenu:R=>{R.preventDefault(),n.openMenu({kind:"room",id:l,x:R.clientX,y:R.clientY})}},(0,u1.createElement)(E5,{room:e,roster:t,size:36}),_&&!c?(0,u1.createElement)(u9):null,c?(0,u1.createElement)("span",{className:"bt-row-body"},(0,u1.createElement)("span",{className:"bt-row-name"},(0,u1.createElement)("span",{className:H?"bt-row-title bt-row-title-face":"bt-row-title"},H?G9(z):z),H?(0,u1.createElement)(LP):e.sharedFrom?(0,u1.createElement)("span",{className:"bt-tag",title:$},N("Shared")):null,_?(0,u1.createElement)(u9):null),b?(0,u1.createElement)("span",{className:"bt-row-preview"},b):u?(0,u1.createElement)("span",{className:"bt-row-preview"},u):null):null,c&&T&&!m?(0,u1.createElement)("span",{className:"bt-unread bt-unread-wait","aria-hidden":!0}):c&&d&&!m?(0,u1.createElement)("span",{className:"bt-unread","aria-hidden":!0}):null)}var w61=Ce(1e3,63);var wl=class extends u1.Component{constructor(t){super(t),this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(t){console.error("flybot: nodeActions failed",t)}render(){return this.state.failed?null:(0,u1.createElement)(this.props.component,{bot:this.props.bot})}};function Fz({node:e,rowProps:t,markedUnread:n,collapsed:a,toggle:i,actions:r}){let{bot:s,depth:c,children:o}=e,l=a[s.id]===!0;return(0,u1.createElement)(u1.Fragment,null,(0,u1.createElement)("div",{className:"bt-tree-item","data-depth":c,style:{paddingLeft:"".concat(c*16,"px")}},o.length?(0,u1.createElement)("button",{type:"button",className:"bt-tree-toggle","aria-expanded":!l,"aria-label":"".concat(l?N("Expand"):N("Collapse")," ").concat(s.name),onClick:()=>i(s.id)},(0,u1.createElement)("span",{className:"bt-tree-chev","aria-hidden":!0},"\u25BE")):(0,u1.createElement)("span",{className:"bt-tree-toggle bt-tree-leaf","aria-hidden":!0}),(0,u1.createElement)(Zz,{...t,bot:s,asRow:!0,marked:n[s.id]===!0}),typeof r=="function"?(0,u1.createElement)(wl,{component:r,bot:s}):null),l?null:o.map(p=>(0,u1.createElement)(Fz,{key:p.bot.id,node:p,rowProps:t,markedUnread:n,collapsed:a,toggle:i,actions:r})))}function jz({roster:e,selectedId:t,openSession:n,openDetails:a}){let[i,r]=(0,u1.useState)({}),s=m=>r(d=>({...d,[m]:!d[m]})),c=e.mainBotId,o=e.bots.some(m=>m.parentId)?E9(e.bots,c,m=>e.byId[m]?.parentId):[],l={ids:[],byId:{}},p=new Map,u={roster:e,wide:!0,marked:!1,useSessions:m=>m(l),useSessionStatus:m=>m(p),useSessionRetainInfo:(m,d)=>d({retainedBy:{mainView:m===(e.byId[t]?gt(e.byId[t]):t)?1:0}}),useActivity:m=>m({}),actions:{openSession:m=>{(e.byId[m]||e.roomsById[m])&&n(m)},openMenu:({id:m})=>{(e.byId[m]||e.roomsById[m])&&a?.(m)},openSettings:(m,d)=>{(e.byId[d]||e.roomsById[d])&&a?.(d)}}};return(0,u1.createElement)("div",{className:"bt-list",role:"region","aria-label":N("Bot list")},o.length?o.map(m=>(0,u1.createElement)(Fz,{key:m.bot.id,node:m,rowProps:u,markedUnread:{},collapsed:i,toggle:s})):e.bots.map(m=>(0,u1.createElement)(Zz,{...u,key:m.id,bot:m,asRow:!0})),e.rooms.map(m=>(0,u1.createElement)(SP,{...u,key:m.id,room:m})))}var Hz="\nbody{--bt-ink:#141414;--bt-ink-2:rgba(20,20,20,.6);--bt-ink-3:rgba(20,20,20,.36);--bt-bubble:#eeeeee;--bt-sidebar:#f7f7f7;--bt-main:#fcfcfc;--bt-line:rgba(20,20,20,.08);--bt-line-2:rgba(20,20,20,.15);--bt-line-weak:rgba(20,20,20,.1);--bt-hover:rgba(119,119,119,.09);--bt-active:rgba(119,119,119,.17);--bt-card:#ffffff;--bt-accent:#4d6bfe;--bt-green:#00c972;--bt-star:#ff9800;--bt-user:#070707;--bt-user-ink:#fcfcfc;--bt-tag-bg:rgba(20,20,20,.06);--bt-tag-ink:rgba(20,20,20,.56)}\nbody[data-ds-dark-theme]{--bt-ink:#f2f2f2;--bt-ink-2:rgba(242,242,242,.6);--bt-ink-3:rgba(242,242,242,.36);--bt-bubble:#262626;--bt-sidebar:#1b1b1b;--bt-main:#141414;--bt-line:rgba(255,255,255,.08);--bt-line-2:rgba(255,255,255,.15);--bt-line-weak:rgba(255,255,255,.1);--bt-hover:rgba(160,160,160,.12);--bt-active:rgba(160,160,160,.2);--bt-card:#1f1f1f;--bt-user:#f2f2f2;--bt-user-ink:#141414;--bt-tag-bg:rgba(255,255,255,.09);--bt-tag-ink:rgba(242,242,242,.62)}\n".concat(Object.entries(Ke).map(([e,[t]])=>"body{--bt-ink-".concat(e,":").concat(t,"}")).join(""),"\n").concat(Object.entries(Ke).map(([e,[,t]])=>"body[data-ds-dark-theme]{--bt-ink-".concat(e,":").concat(t,"}")).join(""),'\n.bt-mark{display:inline-block;flex:none;position:relative;line-height:0}\n.bt-mark svg{width:100%;height:100%;overflow:visible}\n.bt-mark-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;box-shadow:inset 0 0 0 1px var(--bt-line)}\n.bt-mark-emoji{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;user-select:none}\n.bt-mark .bt-b,.bt-mark .bt-eye,.bt-mark .bt-eyes,.bt-mark .bt-gaze{transform-box:fill-box}\n.bt-mark .bt-b{transform-origin:50% 100%}\n.bt-mark .bt-eye,.bt-mark .bt-eyes{transform-origin:center}\n/* Motion levels (Settings \u2192 Bots \u2192 Animation) set body[data-bt-motion]: quiet moves a\n mark only for its state; normal, the default, adds petting, pokes and eyes that follow\n the pointer; lively adds blinks and fidgets at rest and a question riding on the head. */\nbody[data-bt-motion=lively] .bt-mark[data-live]:is([data-state=idle],[data-state=alert]) .bt-eye{animation:bt-blink-idle 5s linear infinite;animation-delay:var(--bt-delay,0s)}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle]:is([data-fidget=hop],[data-fidget=sway],[data-fidget=stretch]) :is(.bt-b,.bt-mark-img){animation:var(--bt-fidget) 9s ease-in-out var(--bt-fidget-delay,0s) infinite}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=hop]{--bt-fidget:bt-fidget-hop}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=sway]{--bt-fidget:bt-fidget-sway}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=stretch]{--bt-fidget:bt-fidget-stretch}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=look] .bt-eyes{animation:bt-fidget-look 9s ease-in-out var(--bt-fidget-delay,0s) infinite}\n@keyframes bt-fidget-hop{0%,8%,100%{transform:none}3%{transform:translateY(-10%) scale(.97,1.04)}5.5%{transform:translateY(0) scale(1.05,.95)}}\n@keyframes bt-fidget-sway{0%,10%,100%{transform:none}2.5%{transform:rotate(-8deg)}5%{transform:rotate(7deg)}7.5%{transform:rotate(-3deg)}}\n@keyframes bt-fidget-stretch{0%,9%,100%{transform:none}4%{transform:scale(.94,1.08)}7%{transform:scale(1.03,.97)}}\n@keyframes bt-fidget-look{0%,22%,100%{transform:none}3%,9%{transform:translateX(-14%)}12%,19%{transform:translateX(14%)}}\nbody[data-bt-motion=lively] .bt-badge-alert{right:auto;bottom:auto;left:50%;top:calc(var(--bt-size,36px) * -.14);translate:-50% 0;animation:bt-q-ride 1.3s cubic-bezier(.3,.7,.4,1) infinite}\nbody[data-bt-motion=lively] :is(.bt-row,.bt-tile)>.bt-mark:hover .bt-badge-alert{animation:none}\n.bt-tree-item{position:relative;display:flex;align-items:center;min-width:0}\n.bt-tree-item>.bt-row{flex:1 1 auto;min-width:0}\n.bt-tree-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-3);font-size:16px;line-height:1;cursor:pointer}\n.bt-tree-toggle:not(.bt-tree-leaf):hover{background:var(--bt-hover)}\n.bt-tree-toggle:focus-visible{outline:2px solid var(--bt-accent);outline-offset:1px}\n.bt-tree-chev{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:16px;line-height:1;transition:transform .12s ease}\n.bt-tree-toggle[aria-expanded=false] .bt-tree-chev{transform:rotate(-90deg)}\n.bt-tree-leaf{cursor:default}\n@keyframes bt-q-ride{0%,55%,100%{transform:translateY(0)}20%{transform:translateY(calc(var(--bt-size,36px) * -.14))}40%{transform:translateY(0)}}\n/* Petting: with the pointer on a sidebar avatar or just around it (a ring a fifth of its\n size wide), a resting mark leans into the pointer and keeps nuzzling it, its eyes\n closed in a happy arc, and springs back when the pointer leaves. */\n:is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster)::before{content:\'\';position:absolute;inset:-20%;border-radius:50%}\n.bt-mark[data-live] .bt-b,.bt-mark[data-live] .bt-mark-img{transition:rotate .5s cubic-bezier(.34,1.56,.64,1),translate .5s cubic-bezier(.34,1.56,.64,1),scale .3s ease-out}\n.bt-mark[data-live] .bt-eye{transition:scale .14s ease-in}\n.bt-mark[data-live] .bt-eye-happy{transition:opacity .12s ease-out}\nbody:not([data-bt-motion=quiet]) :is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster):hover .bt-mark[data-live]:is([data-state=idle],[data-state=alert]):not(.bt-mark-poke) :is(.bt-b,.bt-mark-img){rotate:8deg;translate:5% -1%;animation:bt-nuzzle .78s ease-in-out .32s infinite}\nbody:not([data-bt-motion=quiet]) :is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster):hover .bt-mark[data-live]:is([data-state=idle],[data-state=alert]) .bt-eye{scale:1 0;animation:none}\nbody:not([data-bt-motion=quiet]) :is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster):hover .bt-mark[data-live]:is([data-state=idle],[data-state=alert]) .bt-eye-happy{opacity:1;transition-delay:.1s}\n@keyframes bt-nuzzle{50%{rotate:14deg;translate:8% -3%;scale:1.03 .97}}\n.bt-mark[data-gaze] .bt-b{translate:calc(var(--bt-gx,0) * 5%) calc(var(--bt-gy,0) * 4%);transition:translate .18s ease-out}\n.bt-mark[data-gaze] .bt-gaze{transform:translate(calc(var(--bt-gx,0) * 12%),calc(var(--bt-gy,0) * 11%));transition:transform .18s ease-out}\nbody[data-bt-motion=quiet] .bt-mark[data-gaze] .bt-b{translate:none}\nbody[data-bt-motion=quiet] .bt-mark[data-gaze] .bt-gaze{transform:none}\n.bt-mark[data-state=thinking] .bt-b{animation:bt-ponder 2.2s ease-in-out infinite}\n.bt-mark[data-state=thinking] .bt-eyes{animation:bt-squint 2.2s ease-in-out infinite}\n.bt-mark[data-state=searching] .bt-b{animation:bt-seek 1s ease-in-out infinite}\n.bt-mark[data-state=searching] .bt-eyes{animation:bt-scan 1.6s ease-in-out infinite}\n.bt-mark[data-state=working] .bt-b{animation:bt-bob 1.6s ease-in-out infinite}\n.bt-mark[data-state=working]:is([data-shape=star],[data-shape=hex],[data-shape=plus],[data-shape=gem],[data-shape=magnet],[data-shape=ring]) .bt-b{animation:bt-wiggle 1.4s ease-in-out infinite;transform-origin:50% 50%}\n.bt-mark[data-state=working]:is([data-shape=gumdrop],[data-shape=peanut],[data-shape=cushion],[data-shape=squircle],[data-shape=moon],[data-shape=wave]) .bt-b{animation:bt-squash 1.2s ease-in-out infinite}\n.bt-mark[data-state=working] .bt-eye{animation:bt-blink 2.4s ease-in-out infinite}\n.bt-mark[data-state=sending] .bt-b{animation:bt-dash 1.1s cubic-bezier(.4,0,.2,1) infinite}\n.bt-mark[data-state=orbit] .bt-b{animation:bt-sway 2.6s ease-in-out infinite;transform-origin:50% 50%}\n.bt-mark[data-state=orbit] .bt-eyes{animation:bt-roll 2.6s linear infinite}\n/* A question for you hops twice when it arrives and the badge keeps it in view after;\n a lively mark keeps hopping. */\n.bt-mark[data-state=alert] .bt-b{animation:bt-hop 1.3s cubic-bezier(.3,.7,.4,1) 2}\n.bt-mark[data-shape=image]:not([data-state=idle]) .bt-mark-img{animation:bt-bob 1.6s ease-in-out infinite}\n.bt-mark[data-shape=image][data-state=alert] .bt-mark-img{animation:bt-hop 1.3s cubic-bezier(.3,.7,.4,1) 2}\nbody[data-bt-motion=lively] .bt-mark[data-state=alert] :is(.bt-b,.bt-mark-img){animation-iteration-count:infinite}\n.bt-mark[data-state=done] .bt-b{animation:bt-done 1.8s linear 1}\n.bt-mark[data-shape=image][data-state=done] .bt-mark-img{animation:bt-done 1.8s linear 1;transform-origin:50% 100%}\n@keyframes bt-done{0%{transform:none;animation-timing-function:cubic-bezier(.4,0,.2,1)}13.3%{transform:scale(1.12,.88);animation-timing-function:cubic-bezier(.4,0,.2,1)}25.6%{transform:scale(.93,1.09);animation-timing-function:cubic-bezier(.4,0,.2,1)}37.8%{transform:scale(1.04,.97);animation-timing-function:cubic-bezier(.4,0,.2,1)}51.1%,100%{transform:none}}\n.bt-mark-poke .bt-b{animation:bt-poke .8s cubic-bezier(.3,.7,.4,1) 1!important;transform-origin:50% 60%!important}\n.bt-mark-poke .bt-mark-img{animation:bt-poke-img .6s ease-out 1!important}\n.bt-mark[data-poke]{cursor:pointer}\nbody[data-bt-motion=quiet] .bt-mark-poke :is(.bt-b,.bt-mark-img){animation:none!important}\nbody[data-bt-motion=quiet] .bt-mark[data-poke]{cursor:default}\n@keyframes bt-bob{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-4%) rotate(-5deg)}65%{transform:translateY(0) rotate(4deg)}}\n@keyframes bt-wiggle{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(-12deg) scale(1.04)}75%{transform:rotate(12deg) scale(1.04)}}\n@keyframes bt-squash{0%,100%{transform:scale(1,1)}30%{transform:scale(1.08,.9)}55%{transform:translateY(-4%) scale(.94,1.08)}80%{transform:scale(1.02,.98)}}\n@keyframes bt-ponder{0%,100%{transform:translateY(0) rotate(4deg)}50%{transform:translateY(-3%) rotate(7deg)}}\n@keyframes bt-squint{0%,100%{transform:translate(0,-4%) scaleY(.7)}50%{transform:translate(5%,-5%) scaleY(.78)}}\n@keyframes bt-seek{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5%) rotate(-1deg)}}\n@keyframes bt-scan{0%,100%{transform:translateX(-12%)}50%{transform:translateX(12%)}}\n@keyframes bt-dash{0%,100%{transform:translateX(0) rotate(0)}35%{transform:translateX(9%) rotate(7deg)}55%{transform:translateX(-2%) rotate(-3deg)}}\n@keyframes bt-sway{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}\n@keyframes bt-roll{0%,100%{transform:translate(12%,0)}25%{transform:translate(0,9%)}50%{transform:translate(-12%,0)}75%{transform:translate(0,-9%)}}\n@keyframes bt-hop{0%,55%,100%{transform:translateY(0) scale(1,1)}20%{transform:translateY(-14%) scale(.96,1.05)}40%{transform:translateY(0) scale(1.06,.94)}}\n@keyframes bt-poke{0%{transform:none}55%{transform:translateY(-16%) rotate(360deg)}78%{transform:translateY(0) scale(1.08,.92) rotate(360deg)}100%{transform:rotate(360deg)}}\n@keyframes bt-poke-img{0%,100%{transform:scale(1)}40%{transform:scale(1.14) rotate(-6deg)}}\n/* Idle clip: two .26s blinks (lid to 3%, then a 6% overshoot) at 1.48s and 3.46s. */\n@keyframes bt-blink-idle{0%,29.6%,35%,69.2%,74.6%,100%{transform:scaleY(1)}32.2%,71.8%{transform:scaleY(.03)}33.8%,73.4%{transform:scaleY(1.06)}}\n@keyframes bt-blink{0%,42%,50%,100%{transform:scaleY(1)}46%{transform:scaleY(.03)}48%{transform:scaleY(1.06)}}\n@media (prefers-reduced-motion:reduce){.bt-mark *{animation:none!important;transition:none!important}}\n.bt-badge{position:absolute;right:0;bottom:0;width:12px;height:12px;border-radius:50%;corner-shape:round;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px var(--bt-sidebar)}\n.bt-badge-admin{background:color-mix(in srgb,var(--bt-star) 82%,var(--bt-sidebar))}\n.bt-badge-admin svg{width:7px;height:7px}\n.bt-badge-main{right:calc(var(--bt-size,36px) * -.07);bottom:calc(var(--bt-size,36px) * -.07);width:clamp(14px,calc(var(--bt-size,36px) * .36),22px);height:clamp(14px,calc(var(--bt-size,36px) * .36),22px);border-radius:0;box-shadow:none}\n.bt-badge-main svg{width:100%;height:100%;overflow:visible}\n.bt-badge-main path{fill:var(--bt-star);stroke:var(--bt-sidebar);stroke-width:2.6;stroke-linejoin:round;paint-order:stroke}\n.bt-badge-alert{background:color-mix(in srgb,var(--bt-accent) 78%,var(--bt-sidebar));color:var(--bt-accent-ink,#fff);font-size:8.5px;line-height:12px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-badge-working{background:color-mix(in srgb,var(--bt-green) 82%,var(--bt-sidebar));width:8px;height:8px;right:1px;bottom:1px}\n.bt-cluster{position:relative;display:inline-block;flex:none;line-height:0}\n.bt-cluster>*{position:absolute}\n.bt-cluster-more,.bt-cluster-you{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bt-active);color:var(--bt-ink-3);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}\n.bt-cluster-you{background:color-mix(in srgb,var(--bt-ink) 12%,transparent)}\n.bt-stack{display:inline-flex;align-items:center;flex:none;line-height:0}\n.bt-stack>*+*{margin-left:calc(var(--bt-stack-size) * -.3)}\n.bt-stack-more{font-size:11px;line-height:16px;color:var(--bt-ink-3);margin-left:3px!important}\n\n.bt-side{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;gap:2px;padding:0 12px 8px 0;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-side-top{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:6px 5px 0 0}\n.bt-brand{display:inline-flex;align-items:center;gap:6px;margin-right:auto;padding:4px 8px 4px 4px;border:0;border-radius:8px;background:none;cursor:pointer;font-family:inherit;font-size:15px;line-height:20px;font-weight:600;letter-spacing:-.01em;color:var(--bt-ink);white-space:nowrap}\n.bt-brand-mark{display:inline-flex;line-height:0}\n.bt-flybot-mark{display:block;flex:none}\n.bt-flybot-mark .bt-flybot-wing{fill:#8FB2FF}\n.bt-flybot-mark .bt-flybot-body{fill:#3B5BFD}\n.bt-flybot-mark .bt-flybot-eye{fill:#fff}\n[data-ds-dark-theme] .bt-flybot-mark .bt-flybot-wing{fill:#A9C2FF}\n[data-ds-dark-theme] .bt-flybot-mark .bt-flybot-body{fill:#6E87FF}\n[data-ds-dark-theme] .bt-flybot-mark .bt-flybot-eye{fill:#0F1530}\n.bt-round{width:36px;height:36px;border-radius:50%;border:1px solid var(--bt-line);background:var(--bt-main);color:var(--bt-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color .12s ease,transform .12s ease}\n.bt-round:hover{background:var(--bt-hover)}\n.bt-round:active{transform:scale(.94)}\n.bt-list{display:flex;flex-direction:column;gap:3px;overflow-y:auto;min-height:0;flex:1 1 auto}\n.bt-tile-wrap{display:flex;justify-content:center;padding:20px 0 15px}\n.bt-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;width:95px;padding:6px 8px 4px;border-radius:12px;border:0;background:transparent;color:var(--bt-ink);cursor:pointer;font-family:inherit;transition:background-color .12s ease}\n.bt-tile:hover{background:var(--bt-hover)}\n.bt-tile[aria-current=page]{background:var(--bt-active)}\n.bt-tile-unread{position:absolute;top:8px;right:12px}\n.bt-tile-name{font-size:13px;line-height:18px;font-weight:400;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-chip{font-size:11px;line-height:16px;padding:1px 4px;border-radius:4px;background:var(--bt-hover);border:1px solid var(--bt-line);color:var(--bt-ink-2);white-space:nowrap;max-width:84px;overflow:hidden;text-overflow:ellipsis}\n.bt-row{display:flex;align-items:center;gap:8px;min-height:54px;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--bt-ink);text-align:left;cursor:pointer;width:100%;box-sizing:border-box;font-family:inherit;transition:background-color .12s ease}\n.bt-row:hover{background:var(--bt-hover)}\n.bt-row[aria-current=page]{background:var(--bt-active)}\n.bt-row-body{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}\n.bt-row-name{display:flex;align-items:center;gap:6px;min-width:0;font-size:14px;line-height:20px;font-weight:400}\n.bt-row-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-row-title.bt-row-title-face{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}\n.bt-row-remote{flex:none;display:inline-flex;align-items:center;color:var(--bt-ink-2)}\n.bt-tag{flex:none;max-width:96px;font-size:12px;line-height:16px;font-weight:400;padding:1px 6px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-row-preview{font-size:13px;line-height:18px;color:var(--bt-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-unread{width:8px;height:8px;border-radius:50%;background:#1084fe;flex:none;margin-right:2px;animation:bt-fade .13s cubic-bezier(.22,1,.36,1)}\n.bt-unread-wait{background:var(--bt-star)}\n.bt-shared-from,.bt-shared-wait{display:flex;flex-direction:column;gap:6px;padding:8px 0}\n.bt-shared-wait .bt-set-row{min-width:0}\n.bt-shared-wait .bt-set-copy{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}\n.bt-rail{align-items:center;padding:0 0 8px}\n.bt-rail .bt-row{justify-content:center;padding:6px 0;min-height:44px}\n.bt-side-foot{display:flex;padding-top:8px}\n.bt-connect{flex:1;height:36px;border-radius:999px;border:1px solid var(--bt-line);background:var(--bt-main);color:var(--bt-ink);font-family:inherit;font-size:14px;line-height:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color .12s ease}\n.bt-connect:hover{background:var(--bt-hover)}\n.bt-connect svg{flex:none;width:15px;height:15px}\n.bt-connect-wrap{position:relative;display:flex;flex:1 1 auto;min-width:0}ms ').concat(b1.easing,"}\n@keyframes bt-tip-in{from{opacity:0;transform:scale(.96);filter:blur(4px)}}\n@media (prefers-reduced-motion:reduce){}\n\n.bt-head{position:relative;display:flex;justify-content:center;align-items:center;height:40px;flex:none;pointer-events:none}\n.bt-pill{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;height:40px;padding:7.5px 13.5px 7.5px 7.5px;border-radius:999px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 2px 8px -1px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);color:var(--bt-ink);font-family:inherit;font-size:14px;line-height:20px;cursor:pointer;max-width:70%;box-sizing:border-box;transition:background-color .12s ease,transform ").concat(q1.duration,"ms ").concat(q1.easing,"}\n.bt-pill:hover{background:color-mix(in srgb,var(--bt-main),#777 9%)}\n.bt-pill:active{transform:scale(.965)}\n.bt-pill-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}\n.bt-pill:has(.bt-pill-name-face){height:auto;min-height:40px;align-items:flex-start}\n.bt-pill-name.bt-pill-name-face{min-width:0;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}\n.bt-pill-mem{flex:none;display:inline-flex;width:0;margin-left:-8px;overflow:hidden;transition:").concat(w0(b1,"width","margin-left"),"}\n.bt-pill[data-memory=updated] .bt-pill-mem{width:var(--bt-mem-w);margin-left:0;transition:").concat(w0(uz,"width","margin-left"),"}\n.bt-pill-mem-in{flex:none;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--bt-ink-2);font-size:13px;font-weight:500;opacity:0;filter:blur(6px);transform:translateX(-8px);transition:opacity .14s ease,filter .18s ease,").concat(w0(b1,"transform"),'}\n.bt-pill-mem-in::before{content:"";flex:none;width:1px;height:14px;margin-right:4px;background:var(--bt-line-2)}\n.bt-pill[data-memory=updated] .bt-pill-mem-in{opacity:1;filter:none;transform:none;transition-delay:70ms}\n.bt-pill-mem-ico{flex:none;display:inline-flex;width:16px;height:16px;color:var(--bt-accent)}\n.bt-pill-mem-ico svg{width:16px;height:16px}\n.bt-pill[data-memory=updated] .bt-pill-mem-ico{animation:bt-mem-pop ').concat(G1.duration,"ms ").concat(G1.easing," 90ms both}\n@keyframes bt-mem-pop{from{transform:scale(.4) rotate(-14deg)}to{transform:none}}\n.bt-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n@media (prefers-reduced-motion:reduce){.bt-pill-mem,.bt-pill-mem-in{transition:none!important}.bt-pill-mem-in{filter:none;transform:none}.bt-pill[data-memory=updated] .bt-pill-mem-ico{animation:none}}\n.bt-swap{color:var(--bt-ink-3);font-size:12px}\n.bt-pill-go{flex:none;display:inline-flex;align-items:center;justify-content:flex-end;width:0;margin-left:-8px;overflow:hidden;opacity:0;filter:blur(6px);transform:translateX(-6px);color:var(--bt-ink-2);transition:width ").concat(b1.duration,"ms ").concat(b1.easing,",margin-left ").concat(b1.duration,"ms ").concat(b1.easing,",transform ").concat(b1.duration,"ms ").concat(b1.easing,",opacity .18s ease,filter .18s ease}\n.bt-pill-go svg{flex:none;transition:transform ").concat(b1.duration,"ms ").concat(b1.easing,'}\n.bt-pill:hover .bt-pill-go,.bt-pill:focus-visible .bt-pill-go,.bt-pill[aria-expanded=true] .bt-pill-go{width:18px;margin-left:0;opacity:1;filter:none;transform:none}\n.bt-pill[aria-expanded=true] .bt-pill-go svg{transform:rotate(180deg)}\n.bt-pill[data-memory=updated]:is(:hover,:focus-visible,[aria-expanded=true]) .bt-pill-go{width:0;margin-left:-8px;opacity:0;filter:blur(6px);transform:translateX(-6px)}\n@media (prefers-reduced-motion:reduce){.bt-pill,.bt-pill-go,.bt-pill-go svg{transition:none!important}.bt-pill-go{filter:none}.bt-pill:active{transform:none}}\n\n.bt-astack{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0}\n.bt-bubble{max-width:min(80%,560px,calc(100% - 82px));background:var(--bt-bubble);color:var(--bt-ink);border-radius:18px;padding:7px 12px;font-size:var(--dsh-content-font-size,14px);line-height:calc(var(--dsh-content-font-size,14px) + 8px);box-sizing:border-box;overflow-wrap:anywhere}\n.bt-event.bt-not-sent{gap:6px;color:var(--bt-ink-3)}\n.bt-msg:not(:first-child)>.bt-msg-line>.bt-bubble{border-start-start-radius:6px}\n.bt-msg:not(:last-child)>.bt-msg-line>.bt-bubble{border-end-start-radius:6px}\n.bt-bubble [class*="_markdown"]>*+*{margin-top:10px}\n.bt-bubble [class*="_markdown"]{color:inherit!important;font-size:inherit!important;line-height:inherit!important}\n.bt-bubble p{margin:0}\n.bt-bubble p + p{margin-top:6px}\n.bt-bubble ul,.bt-bubble ol{margin:4px 0;padding-left:20px}\n.bt-bubble a[href^="').concat(k4,'"]{text-decoration:none;font-weight:400;cursor:pointer;white-space:nowrap}\n.bt-bubble a[href^="').concat(k4,'"]::before{content:"";display:inline-block;width:16px;height:16px;margin-right:3px;vertical-align:-3px;background:currentColor;-webkit-mask:').concat(R9," center/contain no-repeat;mask:").concat(R9," center/contain no-repeat}\n.bt-group-msg{display:flex;flex-direction:column;gap:4px;margin:16px 0 0}\n.bt-group-msg:first-child{margin-top:0}\n.bt-lead{flex:none;display:flex;margin-bottom:1px}\nbutton.bt-lead{border:0;background:none;padding:0;cursor:pointer}\n/* Rows without the avatar start where the bubble beside it starts: 22px avatar + 8px gap. */\n.bt-astack[data-lead]>.bt-msg:not(:last-child)>.bt-msg-line,.bt-astack[data-lead] .bt-reacts{margin-left:30px}\n.bt-group-name{font-size:12px;line-height:16px;font-weight:500;margin-left:42px}\n.bt-x{border:0;background:none;color:var(--bt-ink-2);cursor:pointer;width:24px;height:24px;border-radius:6px;font-size:16px;line-height:24px;padding:0;transition:background-color .12s ease,color .12s ease,").concat(w0(q1,"scale"),'}\n.bt-x:hover{background:var(--bt-hover);color:var(--bt-ink)}\n\n.bt-q{margin:0 auto 8px;width:100%;max-width:var(--dsh-chat-content-width,748px);display:flex;flex-direction:column;gap:12px;--bt-q-edge:color-mix(in srgb,var(--bt-ink) 10%,transparent);--bt-q-rule:color-mix(in srgb,var(--bt-ink) 8%,transparent);--bt-q-rule-2:color-mix(in srgb,var(--bt-ink) 5%,transparent);background:var(--bt-card);box-shadow:0 1px 3px rgba(20,20,20,.04),inset 0 0 0 1px var(--bt-q-edge);border-radius:16px;padding:14px 16px;box-sizing:border-box;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;animation:bt-q-in ').concat(b1.duration,"ms ").concat(b1.easing," backwards,bt-veil-in .2s ease-out backwards}\nbody[data-ds-dark-theme] .bt-q{--bt-q-edge:rgba(255,255,255,.16);--bt-q-rule:rgba(255,255,255,.12);--bt-q-rule-2:rgba(255,255,255,.08)}\n@keyframes bt-q-in{from{transform:translateY(10px) scale(.97)}}\n.bt-q-settled{animation:none}\n.bt-q-head{display:flex;align-items:flex-start;gap:8px;min-width:0}\n.bt-q-text{flex:1 1 0;min-width:0;display:flex;flex-direction:column}\n.bt-q-title{margin:0;font-size:15px;line-height:22px;font-weight:600;overflow-wrap:anywhere}\n.bt-q-detail{font-size:13px;line-height:18px;color:var(--bt-ink-2)}\n.bt-q-x{flex:none;width:20px;height:20px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease,").concat(w0(q1,"scale"),'}\n.bt-q-x svg{width:14px;height:14px}\n.bt-q-x:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-q-x:focus-visible,.bt-q-opt:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px}\n.bt-q-list{display:flex;flex-direction:column;gap:1px;min-width:0;box-sizing:border-box;margin:0 -8px}\n.bt-q-opt{position:relative;display:flex;align-items:flex-start;gap:16px;width:100%;min-width:0;box-sizing:border-box;margin:0;border:0;border-radius:12px;background:transparent;padding:10px 8px;font:inherit;color:var(--bt-ink);text-align:start;cursor:pointer;transition:background-color .12s ease}\n.bt-q:not(.bt-q-raised)>.bt-q-head:has(+.bt-q-list){padding-bottom:12px;border-bottom:1px solid var(--bt-q-rule)}\n.bt-q:not(.bt-q-raised)>.bt-q-head+.bt-q-list{margin-top:-6px}\n.bt-q-opt+.bt-q-opt::before{content:"";position:absolute;left:calc(var(--bt-key,24px) + 24px);right:8px;top:-1px;height:1px;background:var(--bt-q-rule-2);transition:opacity .12s ease;pointer-events:none}\nbutton.bt-q-opt:hover::before,button.bt-q-opt:hover+.bt-q-opt::before,.bt-q-opt[aria-pressed=true]::before,.bt-q-opt[aria-pressed=true]+.bt-q-opt::before{opacity:0}\n.bt-q-raised .bt-q-opt::before{display:none}\nbutton.bt-q-opt:hover{background:var(--bt-hover)}\nbutton.bt-q-opt:active{background:var(--bt-active)}\n.bt-q-opt[aria-pressed=true]{background:var(--bt-active)}\n.bt-q:not(.bt-q-raised) :is(button.bt-q-opt:hover,.bt-q-opt[aria-pressed=true]) .bt-key{background:var(--bt-card);color:var(--bt-ink)}\n.bt-key{flex:none;box-sizing:border-box;width:var(--bt-key,24px);height:var(--bt-key,24px);border-radius:8px;background:var(--bt-hover);color:var(--bt-ink-2);font-size:12px;line-height:var(--bt-key,24px);font-weight:500;text-align:center;font-variant-numeric:tabular-nums;transition:background-color .12s ease,color .12s ease}\n.bt-q-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px;padding-top:2px}\n/* With a description the key spans the two text lines less 2px above and below. */\n.bt-q-opt:has(.bt-q-desc){--bt-key:34px}\n.bt-q-opt:has(.bt-q-desc) .bt-key{margin-top:2px;border-radius:10px;font-size:13px}\n.bt-q-opt:has(.bt-q-desc) .bt-q-body{padding-top:0}\n.bt-q-label{font-size:14px;line-height:20px;font-weight:500;white-space:normal;overflow-wrap:anywhere}\n.bt-q-desc{font-size:12px;line-height:17px;color:var(--bt-ink-2);overflow-wrap:anywhere}\n.bt-q-check{flex:none;display:inline-flex;align-items:center;color:var(--bt-ink-2);animation:bt-check-pop ').concat(G1.duration,"ms ").concat(G1.easing," backwards}\n.bt-q-settled .bt-q-check{animation:none}\n.bt-q-check svg{width:16px;height:16px}\n.bt-q-settled .bt-key{opacity:.4}\n.bt-q-settled .bt-q-label{color:color-mix(in srgb,var(--bt-ink) 45%,transparent)}\n.bt-q-dismissed .bt-q-title{color:var(--bt-ink-2)}\n.bt-q.bt-q-settled{gap:6px;padding:12px 16px}\n.bt-q-settled .bt-q-title{font-size:14px;line-height:20px;font-weight:500}\n.bt-q.bt-q-settled>.bt-q-head:has(+.bt-q-list){padding-bottom:0;border-bottom:0}\n.bt-q.bt-q-settled>.bt-q-head+.bt-q-list{margin-top:0}\n.bt-q-settled .bt-q-opt{padding:4px 8px}\n.bt-q-badge{flex:none;height:20px;padding:0 7px;border-radius:999px;border:1px dotted var(--bt-line-2);color:var(--bt-ink-2);font-size:12px;line-height:18px;box-sizing:border-box}\n.bt-q-custom{display:flex;align-items:flex-start;gap:8px;width:100%;min-width:0}\n.bt-q-field{flex:1 1 0;min-width:0;display:flex;box-sizing:border-box;min-height:32px;padding:5px 11px;border-radius:8px;border:.5px solid var(--bt-line-2);background:none;cursor:text;transition:border-color .12s ease}\n.bt-q-field:focus-within{border-color:color-mix(in srgb,var(--bt-ink) 30%,transparent)}\n.bt-q-input{flex:1;width:100%;min-width:0;max-height:120px;margin:0;padding:0;border:0;outline:none;background:transparent;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;resize:none;overflow-y:hidden;white-space:pre-wrap;overflow-wrap:anywhere}\n.bt-q-input:not(:placeholder-shown){field-sizing:content}\n.bt-q-input::placeholder{color:var(--bt-ink-3)}\n.bt-q-submit,.bt-q-btn{flex:none;height:36px;padding:0 14px;border:0;border-radius:999px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .12s ease,background-color .12s ease,").concat(w0(q1,"scale"),"}\n.bt-q-submit{background:var(--bt-accent);color:var(--bt-accent-ink,#fff);animation:bt-q-submit-in ").concat(q1.duration,"ms ").concat(q1.easing," backwards,bt-veil-in .16s ease-out backwards}\n@keyframes bt-q-submit-in{from{transform:translateX(8px) scale(.9)}}\n.bt-q-submit:hover:not(:disabled){opacity:.86}\n.bt-q-submit:disabled{opacity:.4;cursor:default}\n.bt-q-btn{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-q-btn:hover{background:var(--bt-active)}\n.bt-q-foot{display:flex;justify-content:flex-end;gap:8px}\n.bt-q-raised{width:calc(var(--dsh-chat-content-width,748px) - 32px);max-width:calc(100% - 32px);gap:0;padding:0;box-shadow:0 2px 8px rgba(20,20,20,.035),inset 0 0 0 .5px color-mix(in srgb,var(--bt-ink) 5%,transparent)}\n.bt-q-raised .bt-q-head{padding:14px 16px 4px 20px}\n.bt-q-raised .bt-q-head:last-child{padding-bottom:16px}\n.bt-q-raised .bt-q-list{gap:1px;margin:0;padding:8px}\n.bt-q-raised .bt-q-opt{gap:4px;padding:7px;border-radius:16px;color:var(--bt-ink-2)}\n.bt-q-raised button.bt-q-opt:hover{color:var(--bt-ink)}\n.bt-q-raised .bt-q-opt[aria-pressed=true]{background:transparent;color:var(--bt-ink)}\n.bt-q-raised .bt-q-opt[aria-pressed=true]:hover{background:var(--bt-hover)}\n.bt-q-raised .bt-q-opt[aria-pressed=true] .bt-key,.bt-q-ownrow:focus-within .bt-key,.bt-q-ownrow[data-filled] .bt-key{background:var(--bt-user);color:var(--bt-user-ink)}\n.bt-q-raised .bt-q-body{padding:2px 6px 0}\n.bt-q-raised .bt-q-desc{color:color-mix(in srgb,var(--bt-ink) 61%,transparent)}\n.bt-q-ownrow{cursor:text}\n.bt-q-ownrow .bt-q-input{color:var(--bt-ink)}\n.bt-q-raised .bt-q-foot{padding:0 8px 8px}\n@media (prefers-reduced-motion:reduce){.bt-q{animation:bt-fade .12s ease-out backwards}.bt-q-settled{animation:none}.bt-q-submit{animation:none}}\n\n.bt-newchat{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;animation:bt-veil-in .18s ease-out}\n.bt-pane[data-menu]{background:transparent}.bt-pane[data-menu] .bt-newchat{flex:none;align-self:flex-start;width:min(280px,calc(100% - 16px));max-height:calc(100% - 16px);margin:8px;overflow:auto;background:var(--bt-card);border:1px solid var(--bt-line-2);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.14),0 2px 6px rgba(0,0,0,.06)}.bt-newchat[data-menu] .bt-drop{position:relative;top:0;left:0;width:auto;max-height:none;margin:0;box-shadow:none;border:0;max-width:none}\n.bt-to{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:48px;padding:6px 12px;border-bottom:1px solid var(--bt-line);font-size:14px;box-sizing:border-box}\n.bt-to-label{color:var(--bt-ink-2)}\n.bt-to input{flex:1;min-width:120px;border:0;outline:none;background:none;color:var(--bt-ink);font-size:14px;height:26px}\n.bt-token{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 6px 0 4px;border-radius:999px;background:var(--bt-hover);font-size:13px;animation:bt-check-pop ").concat(G1.duration,"ms ").concat(G1.easing,"}\n.bt-token button{border:0;background:none;color:var(--bt-ink-2);cursor:pointer;padding:0 2px}\n.bt-admin-star{flex:none;display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:50%;corner-shape:round;background:color-mix(in srgb,var(--bt-star) 82%,var(--bt-sidebar));vertical-align:-1px}\n.bt-to-star{display:inline-flex;margin-right:-2px;animation:bt-check-pop ").concat(G1.duration,"ms ").concat(G1.easing,"}\n.bt-to .bt-to-create{flex:none;height:28px;padding:0 12px;font-size:13px;animation:bt-q-submit-in ").concat(q1.duration,"ms ").concat(q1.easing,",bt-veil-in .16s ease-out}\n.bt-drop{position:absolute;top:48px;left:32px;width:min(550px,calc(100% - 64px));display:flex;flex-direction:column;padding:6px;max-height:min(420px,60vh);overflow-y:auto;background:var(--bt-card);border:1px solid var(--bt-line-2);border-radius:12px;box-shadow:0 6px 20px -4px rgba(0,0,0,.12);box-sizing:border-box;z-index:1;transform-origin:24px 0;animation:bt-pop-drop ").concat(q1.duration,"ms ").concat(q1.easing,",bt-veil-in .14s ease-out}\n.bt-option{display:flex;align-items:center;gap:10px;border:0;background:none;border-radius:8px;padding:7px 8px;min-height:36px;box-sizing:border-box;font-size:13px;line-height:18px;color:var(--bt-ink);cursor:pointer;text-align:left;width:100%}\n.bt-option[aria-selected=true]{background:var(--bt-active)}\n.bt-drop-list>.bt-option:not([aria-selected=true]):hover{background:var(--bt-hover)}\n.bt-option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-option-hint{font-size:11px;color:var(--bt-ink-2);flex:0 1 auto;min-width:0;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;animation:bt-veil-in .16s ease-out}\n.bt-option-copy{flex:1;min-width:0;display:flex;flex-direction:column}\n.bt-option-sub{font-size:11px;line-height:15px;color:var(--bt-ink-2);white-space:normal;overflow-wrap:anywhere}\n.bt-option-icon{width:22px;height:22px;border-radius:50%;background:var(--bt-hover);color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;flex:none}\n.bt-hint{padding:14px;text-align:center;font-size:13px;color:var(--bt-ink-2)}\n.bt-nc-spacer{flex:1}\n.bt-nc-compose{padding:0 16px 14px;display:flex;justify-content:center}\n.bt-nc-card{display:flex;align-items:flex-end;gap:6px;width:100%;max-width:var(--dsh-chat-content-width,748px);min-height:44px;padding:4px 6px;border-radius:22px;border:1px solid var(--bt-line-2);background:var(--bt-main);box-shadow:0 2px 8px -2px rgba(0,0,0,.06);box-sizing:border-box}\n.bt-nc-plus{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink-2);background:var(--bt-hover);flex:none}\n.bt-nc-card textarea{flex:1;resize:none;border:0;outline:none;background:none;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;padding:7px 4px;min-height:34px;max-height:140px;box-sizing:border-box}\n.bt-nc-send{width:34px;height:34px;border-radius:50%;border:0;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}\n.bt-nc-send:disabled{opacity:.3;cursor:default}\n.bt-create{flex:1;display:flex;flex-direction:column;min-width:0}\n.bt-create-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:6px 12px;border-bottom:1px solid var(--bt-line);box-sizing:border-box}\n.bt-create-gap{width:28px}\n.bt-create-title{font-size:14px;line-height:20px;font-weight:500}\n.bt-create-body{flex:1;overflow-y:auto;padding:28px 16px 32px;display:flex;justify-content:center}\n.bt-create-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:18px;animation:bt-q-in ").concat(b1.duration,"ms ").concat(b1.easing," both,bt-veil-in .22s ease-out both}\n.bt-create-preview{display:flex;flex-direction:column;align-items:center;gap:10px}\n.bt-create-pop{display:inline-flex;animation:bt-create-pop ").concat(G1.duration,"ms ").concat(G1.easing,' both}\n@keyframes bt-create-pop{from{transform:scale(.72);opacity:.4}}\n.bt-create-name{font-size:17px;line-height:24px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-create-step{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-bottom:-10px}\n.bt-create-looks{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card)}\n.bt-create-lookbar{justify-content:center}\n.bt-create-foot{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}\n.bt-create-go{height:36px;padding:0 20px}\n@media (prefers-reduced-motion:reduce){.bt-create-card,.bt-create-pop{animation:none}}\n.bt-send{height:40px;min-width:40px;border-radius:999px;border:0;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);font-size:14px;padding:0 14px;cursor:pointer}\n.bt-send:disabled{opacity:.35;cursor:default}\n.bt-error{padding:0 14px 10px;color:#e02135;font-size:12px}\n.bt-fix-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}\n.bt-fix-btn{font:inherit;font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer}\n.bt-fix .bt-note{margin-top:6px}\n.bt-fix-link{margin-top:6px;color:inherit;user-select:all}\n\n.bt-pane{position:fixed;top:var(--dsh-frame-chrome-top,0px);right:0;bottom:0;z-index:45;pointer-events:auto;background:var(--bt-main);color:var(--bt-ink);display:flex;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-dialog{flex:1;display:flex;flex-direction:column;min-width:0}\n.bt-dialog .bt-head{height:62px}\n.bt-dialog-log{flex:1;overflow-y:auto;padding:8px 16px 20px;width:100%;max-width:var(--dsh-chat-content-width,748px);margin:0 auto;box-sizing:border-box}\n.bt-dialog-foot{display:flex;justify-content:center;padding:10px 10px 16px}\n.bt-exchange{animation:bt-sheet-in ').concat(b1.duration,"ms ").concat(b1.easing,' both,bt-veil-in .24s ease-out both}\n.bt-exchange[data-leaving]{animation:bt-sheet-out .22s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}\n@keyframes bt-sheet-in{from{transform:translateY(24px)}}\n@keyframes bt-sheet-out{to{opacity:0;transform:translateY(16px);filter:blur(4px)}}\n.bt-exchange .bt-dialog{position:relative}\n.bt-exchange .bt-dialog-log{max-width:none;margin:0;padding:39px max(16px,calc((100% - 960px)/2)) 76px;scrollbar-width:thin}\n.bt-exchange .bt-tools{display:none}\n.bt-exchange .bt-dialog-foot{position:absolute;left:0;right:0;bottom:0;height:76px;box-sizing:border-box;align-items:flex-end;padding:0 0 28px;background:var(--bt-main);z-index:3;animation:bt-foot-in .3s cubic-bezier(.22,1,.36,1) .3s both}\n.bt-exchange .bt-dialog-foot::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:40px;background:linear-gradient(to top,var(--bt-main),transparent);pointer-events:none}\n.bt-exchange[data-leaving] .bt-dialog-foot{animation:bt-foot-out .22s cubic-bezier(.4,0,1,1) forwards}\n@keyframes bt-foot-in{from{opacity:0;transform:translateY(6px)}}\n@keyframes bt-foot-out{to{opacity:0;transform:translateY(6px)}}\n@media (prefers-reduced-motion:reduce){.bt-exchange,.bt-exchange .bt-dialog-foot{animation-duration:.01s}}\n.bt-soft{height:36px;border-radius:999px;border:0;background:var(--bt-hover);color:var(--bt-ink);padding:0 16px;font-size:14px;cursor:pointer}\n.bt-soft:hover{background:var(--bt-active)}\n.bt-time{display:block;text-align:center;font-size:12px;line-height:16px;color:var(--bt-ink-2);padding:6px 0}\n\n.bt-panel{position:fixed;top:var(--dsh-frame-chrome-top,0px);right:0;bottom:0;width:var(--bt-panel-w,320px);pointer-events:auto;z-index:40;background:var(--bt-main);border-left:.5px solid var(--bt-line-2);display:flex;flex-direction:column;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;box-sizing:border-box;animation:bt-pane-in .3s cubic-bezier(.2,0,0,1);transition:width ').concat(b1.duration,"ms ").concat(b1.easing,';container:bt-panel/inline-size}\n.bt-panel[data-leaving]{transform:translateX(100%);transition:transform .3s cubic-bezier(.2,0,0,1);pointer-events:none}\n.bt-panel[data-instant]{transition:none}\n@keyframes bt-pane-in{from{transform:translateX(100%)}}\n[class*="_centerCol"]{transition:margin-right ').concat(b1.duration,"ms ").concat(b1.easing,";position:relative;z-index:0;isolation:isolate}\n.bt-panel-grip{position:absolute;left:-5px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:3;touch-action:none}\n.bt-panel-grip:hover,.bt-panel[data-dragging] .bt-panel-grip{background:linear-gradient(to right,transparent 4px,var(--bt-line-2) 4px,var(--bt-line-2) 6px,transparent 6px)}\n.bt-drag-shield{position:fixed;inset:0;z-index:45;cursor:col-resize}\n.bt-panel-view{flex:1;min-height:0;display:flex;flex-direction:column}\n.bt-drawer-top{display:flex;justify-content:flex-end;gap:8px;padding:12px 17px 6px 12px}\n.bt-drawer-id{display:flex;flex-direction:column;align-items:center;padding:14px 16px 0}\n.bt-drawer-id>.bt-mark,.bt-drawer-id>.bt-cluster{margin-bottom:16px}\n.bt-drawer-name{font-size:17px;line-height:24px;font-weight:500;border:0;background:none;color:inherit;cursor:text;padding:0 6px;border-radius:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-drawer-name-face{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;text-overflow:ellipsis;line-clamp:3;cursor:default}\n.bt-drawer-name-face:hover{background:none}\n.bt-drawer-name:hover{background:var(--bt-hover)}\n.bt-drawer-name-input{font-size:17px;line-height:24px;text-align:center;border:.5px solid var(--bt-line-2);border-radius:6px;padding:0 6px;background:var(--bt-main);color:var(--bt-ink);outline:none;font-weight:500}\n.bt-drawer-role{font-size:12px;line-height:16px;color:var(--bt-ink-3);margin-top:6px;text-align:center}\n.bt-tabs{position:relative;display:flex;justify-content:center;gap:2px;margin:16px 16px 0}\n.bt-tab{position:relative;z-index:1;border:0;background:none;border-radius:9999px;padding:4px 8px;font-size:13px;line-height:20px;color:var(--bt-ink-2);cursor:pointer;white-space:nowrap}\n.bt-tab:hover{color:var(--bt-ink)}\n.bt-tab[aria-selected=true]{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-tabs>.bt-thumb{top:0;bottom:0;border-radius:9999px;background:var(--bt-hover)}\n.bt-tabs[data-glide] .bt-tab[aria-selected=true]{background:transparent}\n.bt-drawer-body{flex:1;overflow-y:auto;padding:20px 16px 16px;font-size:13px;line-height:18px;display:flex;flex-direction:column;gap:16px}\n.bt-empty{text-align:center;color:var(--bt-ink-3);font-size:13px;line-height:18px;padding:8px 12px}\n.bt-section-title{font-size:12px;color:var(--bt-ink-2);margin-bottom:6px}\n.bt-muted{color:var(--bt-ink-2)}\n.bt-swatches{display:flex;flex-wrap:wrap;gap:6px}\n.bt-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px var(--bt-line-2)}\n.bt-swatch[aria-pressed=true]{border-color:var(--bt-ink)}\n.bt-textarea{width:100%;box-sizing:border-box;min-height:120px;border:1px solid var(--bt-line);border-radius:8px;padding:8px;background:var(--bt-card);color:var(--bt-ink);font:inherit;resize:vertical}\n.bt-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}\n.bt-kv{display:flex;justify-content:space-between;gap:8px;font-size:12px;line-height:20px;color:var(--bt-ink-2)}\n.bt-kv span:last-child{color:var(--bt-ink);font-variant-numeric:tabular-nums}\n.bt-danger{color:#e02135}\n\n/* Bot settings: fields, the avatar editor popover, and the details-pane sub-view. */\n.bt-field{display:flex;flex-direction:column;gap:6px}\n.bt-field-label{font-size:13px;line-height:18px;font-weight:500}\n.bt-input{width:100%;box-sizing:border-box;height:36px;border:1px solid var(--bt-line);border-radius:8px;padding:0 10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:13px;outline:none}\n.bt-input:focus{border-color:var(--bt-line-2)}\n.bt-input-area{height:auto;min-height:96px;padding:8px 10px;line-height:18px;resize:vertical}\n.bt-note{font-size:12px;line-height:16px;color:var(--bt-ink-3)}\n.bt-soft-sm{height:28px;padding:0 12px;font-size:12px}\n.bt-set-avatar{display:flex;justify-content:center;padding:4px 0}\n.bt-avatar-anchor{position:relative}\n.bt-avatar-trigger{position:relative;width:64px;height:64px;border:0;border-radius:50%;background:none;cursor:pointer;padding:0}\n.bt-avatar-pencil{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:var(--bt-main);border:1px solid var(--bt-line-2);color:var(--bt-ink-2);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.12)}\n.bt-avedit{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:300px;background:var(--bt-main);border:1px solid var(--bt-line);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:10px;z-index:130;display:flex;flex-direction:column;gap:10px;color:var(--bt-ink);transform-origin:top center;animation:bt-pop-drop ").concat(q1.duration,"ms ").concat(q1.easing,",bt-veil-in .16s ease-out}\n.bt-bs .bt-avedit{transform-origin:32px 0}\n.bt-avedit-top{display:flex;align-items:center;justify-content:space-between}\n.bt-avedit-tabs{position:relative;display:flex;gap:2px;background:var(--bt-hover);border-radius:999px;padding:2px}\n.bt-avedit-tab{position:relative;z-index:1;border:0;background:none;border-radius:999px;padding:3px 10px;font-size:12px;line-height:16px;color:var(--bt-ink-2);cursor:pointer}\n.bt-avedit-tab[aria-selected=true]{background:var(--bt-main);color:var(--bt-ink)}\n.bt-avedit-tabs>.bt-thumb{top:2px;bottom:2px;border-radius:999px;background:var(--bt-main);box-shadow:0 1px 2px rgba(0,0,0,.06)}\n.bt-avedit-tabs[data-glide] .bt-avedit-tab[aria-selected=true]{background:transparent}\n.bt-avedit-reset{color:var(--bt-ink-3)}\n.bt-avedit-reset:hover{color:var(--bt-ink)}\n.bt-shapes{display:flex;flex-direction:column;gap:2px}\n.bt-shape-row{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}\n.bt-shape{position:relative;aspect-ratio:1;border:0;border-radius:8px;background:none;color:var(--bt-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}\n.bt-shape:hover{background:var(--bt-hover)}\n.bt-shape .bt-ring{position:absolute;left:50%;top:50%;width:36px;height:36px;translate:-50% -50%;overflow:visible;opacity:0;scale:.82;pointer-events:none;transition:opacity .14s ease,").concat(w0(G1,"scale"),"}\n.bt-shape[aria-pressed=true] .bt-ring{opacity:1;scale:1}\n.bt-colors{display:flex;justify-content:space-between}\n.bt-color{width:22px;height:22px;border-radius:50%;border:2px solid transparent;padding:2px;background:none;cursor:pointer;box-sizing:border-box;transition:border-color .14s ease,").concat(w0(q1,"scale"),"}\n.bt-color[aria-pressed=true] span{animation:bt-check-pop ").concat(G1.duration,"ms ").concat(G1.easing,'}\n.bt-color span{display:block;width:100%;height:100%;border-radius:50%}\n.bt-color[aria-pressed=true]{border-color:var(--bt-ink)}\n.bt-dropzone{border:1.5px dashed var(--bt-line-2);border-radius:10px;padding:18px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--bt-ink-2);font-size:12px;line-height:16px;text-align:center}\n.bt-dropzone[data-over]{border-color:var(--bt-accent);color:var(--bt-ink)}\n.bt-dropzone img{width:64px;height:64px;border-radius:50%;object-fit:cover}\n.bt-set-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}\n.bt-about{white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}\n.bt-about[data-open]{display:block;-webkit-line-clamp:unset}\n.bt-more{border:0;background:none;color:var(--bt-ink-3);font-size:12px;line-height:16px;cursor:pointer;padding:2px 0}\n.bt-more:hover{color:var(--bt-ink)}\n.bt-subhead{display:flex;align-items:center;gap:4px;padding:10px 12px 4px}\n.bt-subhead-title{flex:1;font-size:15px;line-height:24px;font-weight:600;padding-left:4px}\n.bt-icon-btn{width:28px;height:28px;border-radius:50%;border:0;background:none;color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}\n.bt-icon-btn:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-set-body{gap:20px}\n.bt-drawer-model{display:flex;flex-direction:column}\n.bt-drawer-model .bt-note{margin-top:6px}\n.bt-drawer-permission{display:flex;flex-direction:column}\n.bt-seg button.bt-perm-danger,.bt-seg button.bt-perm-danger[aria-pressed=true]{color:#e02135}\n\n/* Settings dialog: a 198px page list beside the page. */\n/* #1347: dialogs, sheets and scrims sit in a tier of their own, well clear of everything the\n chat surface may do. They used to share 60/61 with the context menu, the reaction strip and the\n remote-Bot sheet, so any body-level popover opened after them tied on z-index and won on DOM\n order \u2014 and a chat element with a stray z-index could reach the same number. The tier is now\n explicit: chat surface at most 50, dialogs 120/121, popovers 130, palette 140, toast 1000. The\n chat column is additionally capped at z-index 0 inside its own stacking context (see the\n center-column rule below), so nothing in the thread can outrank these whatever it does. */\n.bt-settings-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:120;isolation:isolate;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-scrim{position:absolute;inset:0;background:rgba(0,0,0,.32);animation:bt-fade .22s ease-out}\nbody[data-ds-dark-theme] .bt-scrim{background:rgba(0,0,0,.5)}\n/* #1347: a modal is a modal. A 0.32 scrim leaves the thread legible behind it, and the owner read that\n as the chat painting through the dialog ("assistant text readable across columns", a pill visible at\n full opacity behind the Inbox). The scrim now separates the two surfaces outright: the thread is\n dimmed to a backdrop, not left readable beside the thing being decided. It is still one layer and\n still dismisses on a click, so nothing else about it changes. */\nbody:not([data-ds-dark-theme]) .bt-scrim{background:rgba(12,12,14,.62)}\nbody[data-ds-dark-theme] .bt-scrim{background:rgba(0,0,0,.7)}\n.bt-settings{--bt-set-w:min(800px,calc(100vw - 48px));--bt-set-h:min(620px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))));position:relative;width:var(--bt-set-w);height:var(--bt-set-h);background:var(--bt-main);border-radius:16px;border:.5px solid var(--bt-line-2);box-shadow:0 24px 80px rgba(0,0,0,.24);display:flex;overflow:hidden;color:var(--bt-ink);transition:').concat(w0(b1,"width","height"),";animation:bt-dialog-rise ").concat(b1.duration,"ms ").concat(b1.easing,",bt-veil-in .2s ease-out}\n.bt-settings[data-wide]{--bt-set-w:min(1100px,calc(100vw - 48px));--bt-set-h:min(780px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))))}\n:is(.bt-settings-layer,.bt-mem-layer)[data-leaving]{pointer-events:none}\n:is(.bt-settings-layer,.bt-mem-layer)[data-leaving] .bt-scrim{opacity:0;transition:opacity .16s ease-in}\n:is(.bt-settings-layer,.bt-mem-layer)[data-leaving]>[role=dialog]{animation:bt-dialog-sink .16s cubic-bezier(.4,0,1,1) forwards}\n@keyframes bt-dialog-rise{from{transform:translateY(12px) scale(.96)}}\n@keyframes bt-dialog-sink{to{opacity:0;transform:translateY(6px) scale(.975);filter:blur(3px)}}\n@media (prefers-reduced-motion:reduce){.bt-settings{transition:none}.bt-settings,.bt-scrim,.bt-settings-page>*{animation:bt-fade .12s ease-out!important}}\n.bt-settings-nav{position:relative;width:198px;flex:none;padding:16px 8px;border-right:.5px solid var(--bt-line);display:flex;flex-direction:column;gap:2px;background:var(--bt-sidebar);box-sizing:border-box}\n.bt-settings-item{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:8px;background:none;color:var(--bt-ink-2);font:inherit;font-size:13px;line-height:20px;cursor:pointer;text-align:left;transition:background-color .12s ease,color .12s ease}\n.bt-settings-item:hover{color:var(--bt-ink);background:var(--bt-hover)}\n.bt-settings-item[aria-current=page]{background:var(--bt-active);color:var(--bt-ink)}\n.bt-settings-nav>.bt-thumb{left:8px;right:8px;border-radius:8px;background:var(--bt-active)}\n.bt-settings-nav[data-glide] .bt-settings-item[aria-current=page]{background:transparent}\n.bt-settings-shell{margin-top:auto}\n.bt-settings-out{margin-left:auto;opacity:.6;font-size:12px}\n/* Usage while another page is open: out of the flow at Usage's own width, so it keeps\n its layout, and not rendered. */\n.bt-settings-usage[data-off]{position:absolute;top:0;left:198px;width:calc(min(1100px,calc(100vw - 48px)) - 198px);height:100%;box-sizing:border-box;content-visibility:hidden;pointer-events:none}\n/* The page column takes the dialog's final size at once, so while the dialog resizes\n only its edge moves and the page does not lay out again every frame. */\n.bt-settings-main{flex:none;display:flex;flex-direction:column;min-width:0;width:calc(var(--bt-set-w) - 198px);height:var(--bt-set-h)}\n.bt-settings-head{display:flex;align-items:center;gap:6px;padding:16px 56px 4px 20px}\n.bt-settings-head h2{margin:0;font-size:15px;line-height:24px;font-weight:600;animation:bt-veil-in .2s ease-out}\n.bt-settings-head>.bt-icon-btn{animation:bt-back-in ").concat(q1.duration,"ms ").concat(q1.easing,",bt-veil-in .16s ease-out}\n@keyframes bt-back-in{from{translate:6px 0;scale:.8}}\n.bt-settings-scroll{flex:1;overflow-y:auto;padding:12px 20px 24px;display:flex;flex-direction:column;gap:20px;scrollbar-width:thin}\n.bt-settings-page>:not(.bt-us){animation:bt-page-up ").concat(b1.duration,"ms ").concat(b1.easing,' backwards,bt-veil-in .22s ease-out backwards}\n.bt-settings-page[data-move=in]>:not(.bt-us){animation-name:bt-page-in,bt-veil-in}\n.bt-settings-page[data-move=out]>:not(.bt-us){animation-name:bt-page-out,bt-veil-in}\n.bt-settings-page>:nth-child(2){animation-delay:30ms}\n.bt-settings-page>:nth-child(3){animation-delay:60ms}\n.bt-settings-page>:nth-child(4){animation-delay:90ms}\n.bt-settings-page>:nth-child(n+5){animation-delay:120ms}\n@keyframes bt-page-up{from{transform:translateY(10px)}}\n@keyframes bt-page-in{from{transform:translateX(18px)}}\n@keyframes bt-page-out{from{transform:translateX(-18px)}}\n.bt-settings-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:0;background:var(--bt-hover);color:var(--bt-ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}\n.bt-settings-close:hover{background:var(--bt-active);color:var(--bt-ink)}\n.bt-settings-form{display:flex;flex-direction:column;gap:16px}\n.bt-set-section h3{font-size:13px;line-height:18px;font-weight:600;margin:0 0 8px;padding:0 4px}\n.bt-set-card{border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card);display:flex;flex-direction:column}\n.bt-set-card>*+*{border-top:.5px solid var(--bt-line)}\n.bt-set-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;background:none;color:var(--bt-ink);font:inherit;font-size:13px;line-height:18px;text-align:left;width:100%;box-sizing:border-box;border-radius:0}\nbutton.bt-set-row{cursor:pointer}\nbutton.bt-set-row:hover{background:var(--bt-hover)}\n.bt-set-card>.bt-set-row+.bt-set-row{border-top:.5px solid var(--bt-line)}\n.bt-set-row:first-child{border-top-left-radius:12px;border-top-right-radius:12px}\n.bt-set-row:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}\n/* #892: a plugin\'s rows in the Members card (Invite by link) sit on the card\'s own padding, like a row. */\n.bt-flybot-room-members{padding:10px 12px}\n.bt-set-copy{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}\n/* #1347: a row\'s copy never breaks its own label. The label used to be a bare inline span inside a\n column that flexed down to 36px, so "Name" came out as "Nam" + "e"; a single-word label is now one\n line, and the hint below it is what wraps when the column is short. */\n.bt-set-copy>.bt-bs-label,.bt-set-copy>.bt-set-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-set-hint{font-size:12px;line-height:16px;color:color-mix(in srgb,var(--bt-ink-2) 50%,var(--bt-ink-3))}\n.bt-set-control{flex:none;display:flex;align-items:center;gap:6px}\n.bt-set-value{font-size:13px;color:var(--bt-ink-2);text-align:right}\n.bt-set-bot{flex:1;display:flex;align-items:center;gap:8px;min-width:0}\n.bt-set-paste{flex-direction:column;align-items:stretch;gap:8px}\n.bt-chevron{color:var(--bt-ink-3);display:inline-flex;flex:none}\n/* Settings \u2192 Workflows (#1364): factory and your own pipelines, then the flowchart. */\n.bt-wf-page{display:flex;flex-direction:column;gap:16px}\n.bt-wf-hint{margin:0;font-size:12px;line-height:1.5;color:var(--bt-ink-2)}\n.bt-wf-status{margin:0;font-size:13px;color:var(--bt-ink-2)}\n.bt-wf-lists{display:flex;flex-direction:column;gap:16px}\n.bt-wf-editor{display:flex;flex-direction:column;gap:8px}\n.bt-wf-title{margin:0;font-size:15px;font-weight:600}\n.bt-wf-actions{display:flex;gap:8px;flex-wrap:wrap}\n.bt-wf-actions button,.bt-wf-page>.bt-error button{height:32px;padding:0 12px;border-radius:16px;border:1px solid var(--bt-line);background:var(--bt-card);color:inherit;font:inherit;font-size:12.5px;cursor:pointer}\n.bt-wf-page>.bt-error{display:flex;align-items:center;justify-content:space-between;gap:12px}\n.bt-wf-canvas{position:relative;min-height:440px;overflow:auto;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-main);padding:12px 8px 20px}\n.bt-wf-stage{position:relative;width:100%}\n.bt-wf-fit{position:relative;width:0;margin:0 auto;transform-origin:50% 0}\n.bt-wf-fit .bt-wf-plane{margin-top:0}\n.bt-wf-palette{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center}\n.bt-wf-palette button{height:28px;padding:0 10px;border-radius:14px;border:1px solid var(--bt-line);background:var(--bt-card);color:inherit;font:inherit;font-size:12px;cursor:pointer}\n.bt-wf-prompts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:12px 4px 0}\n.bt-wf-prompt{display:flex;flex-direction:column;gap:4px;font-size:12px;min-width:0}\n.bt-wf-prompt textarea{width:100%;box-sizing:border-box;border-radius:8px;border:1px solid var(--bt-line);background:var(--bt-card);color:inherit;font:inherit;font-size:12px;padding:6px 8px;resize:vertical}\n.bt-wf-plane{position:relative;width:0;margin:16px auto 0}\n.bt-wf-wires{position:absolute;left:calc(-1 * var(--bt-wf-wire-span,480px));top:0;width:calc(2 * var(--bt-wf-wire-span,480px));overflow:visible;pointer-events:none}\n.bt-wf-wires path{fill:none;stroke:var(--bt-ink-3);stroke-width:1.6}\n.bt-wf-wires marker path{fill:var(--bt-ink-3);stroke:none}\n.bt-wf-node{position:absolute;width:168px;box-sizing:border-box;border:1px solid var(--bt-line);background:var(--bt-card);border-radius:12px;padding:8px 9px;display:flex;align-items:center;gap:8px}\n@keyframes bt-wf-node-live{0%,100%{border-color:var(--bt-accent);box-shadow:0 0 0 2px rgba(77,107,254,.18),0 0 0 0 rgba(77,107,254,.2)}50%{border-color:rgba(77,107,254,.85);box-shadow:0 0 0 3px rgba(77,107,254,.35),0 0 14px 2px rgba(77,107,254,.22)}}\n.bt-wf-node.running{border-color:var(--bt-accent);animation:bt-wf-node-live 1.5s ease-in-out infinite}\n@media (prefers-reduced-motion:reduce){.bt-wf-node.running{animation:none;box-shadow:0 0 0 3px rgba(77,107,254,.2)}}\n.bt-wf-node.done{border-color:rgba(22,163,74,.35)}\n.bt-wf-node.failed{border-color:#e5484d}\n.bt-wf-node.queued{opacity:.78}\n.bt-wf-av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:650;flex:none;font-size:12px}\n.bt-wf-copy{min-width:0;flex:1;display:flex;flex-direction:column}\n.bt-wf-name{font-weight:600;font-size:12.5px}\n.bt-wf-role{font-size:11px;color:var(--bt-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-wf-chip{position:absolute;top:-9px;right:8px;font-size:10.5px;padding:1px 7px;border-radius:10px;background:var(--bt-active);color:var(--bt-ink-2);white-space:nowrap;pointer-events:none}\n.bt-wf-node.editing .bt-wf-chip{right:18px}\n.bt-wf-chip.running{background:rgba(77,107,254,.12);color:var(--bt-accent)}\n.bt-wf-chip.done{background:rgba(22,163,74,.12);color:#16a34a}\n.bt-wf-chip.failed{background:rgba(229,72,77,.12);color:#e5484d}\n.bt-wf-chip.idle{color:var(--bt-ink-3)}\n.bt-wf-port{position:absolute;left:50%;bottom:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;border:2px solid var(--bt-accent);background:var(--bt-card);padding:0;cursor:crosshair}\n.bt-wf-remove{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;border:1px solid var(--bt-line);background:var(--bt-card);cursor:pointer;line-height:16px;padding:0}\n.bt-wf-par{position:absolute;border:1px dashed var(--bt-ink-3);border-radius:14px;pointer-events:none}\n.bt-wf-plabel{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:10.5px;color:var(--bt-ink-2);background:var(--bt-card);padding:0 6px;white-space:nowrap}\n\n/* Settings \u2192 Connectors. */\n.bt-connector{display:flex;flex-direction:column;gap:10px;padding:12px}\n.bt-connector-head{display:flex;align-items:center;gap:12px;min-width:0}\n.bt-connector-mark{flex:none;width:36px;height:36px;border-radius:10px;background:var(--bt-card);border:.5px solid var(--bt-line);display:flex;align-items:center;justify-content:center;color:var(--bt-ink)}\n.bt-connector-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}\n.bt-connector-name{font-size:14px;line-height:20px;font-weight:500}\n.bt-connector-status{font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-connector[data-state=ready] .bt-connector-status{color:var(--bt-ink-2)}\n.bt-connector[data-state=error] .bt-connector-status{color:#e02135;white-space:normal}\n.bt-connector-actions{flex:none;display:flex;gap:6px}\n.bt-connector-form{display:flex;flex-direction:column;gap:8px;padding-left:48px;animation:bt-q-in ').concat(b1.duration,"ms ").concat(b1.easing,",bt-veil-in .2s ease-out}\n.bt-feishu-setup{container-type:inline-size;min-width:0;width:100%;max-width:960px;box-sizing:border-box;padding:20px;border:1px solid var(--bt-line);border-radius:14px;background:var(--bt-card);color:var(--bt-ink);font:13px/1.6 ui-sans-serif,system-ui,sans-serif;overflow-wrap:anywhere;animation:bt-veil-in .16s ease-out}\n.bt-feishu-setup *{box-sizing:border-box}\n.bt-feishu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--bt-line)}\n.bt-feishu-header h3{padding:0;margin:0 0 4px;font-size:17px;line-height:24px;font-weight:650;letter-spacing:-.02em}\n.bt-feishu-header>.bt-input{width:220px;max-width:45%;flex:none}\n.bt-feishu-setup .bt-set-hint{margin:0;font-size:12px;line-height:1.7;color:var(--bt-ink-2)}\n.bt-feishu-body{display:flex;flex-direction:column;gap:22px;padding-top:18px}\n.bt-feishu-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}\n.bt-feishu-modes button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:11px 14px;border:1px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color .12s,border-color .12s}\n.bt-feishu-modes button:hover{background:var(--bt-hover)}\n.bt-feishu-modes button[aria-pressed=true]{border-color:var(--bt-accent);background:color-mix(in srgb,var(--bt-accent) 6%,var(--bt-card));box-shadow:0 0 0 1px var(--bt-accent)}\n.bt-feishu-modes strong{font-size:13px;font-weight:600}.bt-feishu-modes small{color:var(--bt-ink-2);font-size:11px}\n.bt-feishu-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:start}\n.bt-feishu-progress{min-width:0}.bt-feishu-progress ol{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}\n.bt-feishu-progress li{min-width:0}.bt-feishu-progress button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-2);font:inherit;font-size:12px;line-height:19px;text-align:left;cursor:pointer}\n.bt-feishu-progress button:hover:not(:disabled){background:var(--bt-hover)}\n.bt-feishu-progress button[aria-current=step]{background:color-mix(in srgb,var(--bt-accent) 7%,var(--bt-card));color:var(--bt-accent);font-weight:600}\n.bt-feishu-progress button:disabled{opacity:.48;cursor:default}\n.bt-feishu-step-number{display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border:1px solid var(--bt-line-2);border-radius:50%;font-size:11px;font-variant-numeric:tabular-nums}\n.bt-feishu-progress [aria-current=step] .bt-feishu-step-number{background:var(--bt-accent);border-color:var(--bt-accent);color:white}\n.bt-feishu-progress [data-done=true] .bt-feishu-step-number{border-color:transparent;background:var(--bt-hover);color:var(--bt-ink-2)}\n.bt-feishu-step{min-width:0}.bt-feishu-step-heading{margin-bottom:16px}.bt-feishu-eyebrow{display:block;margin-bottom:4px;color:var(--bt-ink-2);font-size:11px}\n.bt-feishu-step h4{margin:0;font-size:16px;line-height:24px;font-weight:650;letter-spacing:-.02em}\n.bt-feishu-step-content>div{display:flex;flex-direction:column;align-items:stretch;gap:14px}\n.bt-feishu-external{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;align-self:flex-start;border:1px solid var(--bt-line-2);border-radius:8px;padding:7px 11px;color:var(--bt-ink);font-size:12px;font-weight:500;text-decoration:none}\n.bt-feishu-external:hover{background:var(--bt-hover)}.bt-feishu-external span{color:var(--bt-ink-2)}\n.bt-feishu-permissions{display:flex;flex-direction:column;gap:10px;padding-top:5px}.bt-feishu-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.bt-feishu-section-head strong{font-size:13px;font-weight:600}\n.bt-feishu-optional{color:var(--bt-ink-2);font-size:11px}.bt-feishu-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}\n.bt-feishu-permission{display:flex;align-items:center;gap:9px;min-width:0;min-height:42px;margin:0;padding:9px 11px;border:1px solid var(--bt-line);border-radius:9px;background:var(--bt-card);font-size:12px;line-height:20px;cursor:pointer;transition:background-color .12s,border-color .12s}\n.bt-feishu-permission:hover{border-color:var(--bt-line-2);background:var(--bt-hover)}\n.bt-feishu-permission[data-checked=true]{border-color:color-mix(in srgb,var(--bt-accent) 55%,var(--bt-line));background:color-mix(in srgb,var(--bt-accent) 5%,var(--bt-card))}\n.bt-feishu-setup input[type=checkbox]{appearance:auto;flex:none;width:15px;height:15px;min-height:0;margin:0;padding:0;border-radius:4px;accent-color:var(--bt-accent);cursor:pointer}\n.bt-feishu-permission-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}\n.bt-feishu-setup .bt-feishu-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:6px;flex:none;width:auto;min-height:34px;height:auto;margin:0;padding:6px 12px;border:1px solid var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:12px;font-weight:500;cursor:pointer;box-shadow:none}\n.bt-feishu-setup .bt-feishu-button:hover:not(:disabled){background:var(--bt-hover)}.bt-feishu-setup .bt-feishu-button:disabled{opacity:.4;cursor:default}\n.bt-feishu-setup .bt-feishu-primary{background:var(--bt-accent);border-color:var(--bt-accent);color:#fff;padding-inline:18px}\n.bt-feishu-setup .bt-feishu-primary:hover:not(:disabled){background:color-mix(in srgb,var(--bt-accent) 88%,#000)}\n.bt-feishu-setup .bt-feishu-quiet{border-color:transparent;background:transparent;color:var(--bt-ink-2)}\n.bt-feishu-setup :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--bt-accent);outline-offset:3px}\n.bt-feishu-setup details{min-width:0}.bt-feishu-setup summary{cursor:pointer;font-size:12px;font-weight:500;line-height:20px;padding:8px 0;color:var(--bt-ink-2)}\n.bt-feishu-json{border:0}.bt-feishu-setup .bt-feishu-json summary{padding:2px 0;color:var(--bt-accent);font-weight:400}\n.bt-feishu-setup .bt-feishu-json textarea{width:100%;height:180px;min-height:120px;max-height:320px;margin-top:10px;padding:12px;border:1px solid var(--bt-line);border-radius:8px;background:var(--bt-sidebar);color:var(--bt-ink-2);font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical;white-space:pre;overflow:auto;overflow-wrap:normal}\n.bt-feishu-field,.bt-feishu-setup .bt-q-field{display:flex;flex-direction:column;flex:initial;gap:6px;min-width:0;min-height:0;margin:0;padding:0;border:0;cursor:default;color:var(--bt-ink-2);font-size:12px}\n.bt-feishu-setup .bt-input{min-width:0;height:38px;padding:0 11px;font-size:13px;border-color:var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink)}\n.bt-feishu-field+.bt-feishu-field{margin-top:2px}.bt-feishu-setup .bt-input:disabled{opacity:.65;background:var(--bt-sidebar)}\n.bt-feishu-check{display:flex;align-items:flex-start;gap:9px;font-size:12px}.bt-feishu-check input{margin-top:3px!important}\n.bt-feishu-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--bt-line)}\n.bt-feishu-footer>div{display:flex;align-items:center;gap:6px}.bt-feishu-result,.bt-feishu-error{margin:14px 0 0;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.6;background:var(--bt-sidebar);color:var(--bt-ink-2)}\n.bt-feishu-result[data-success=true]{color:var(--bt-ink);border:1px solid var(--bt-line)}.bt-feishu-error{color:#d33e4e;background:color-mix(in srgb,#e5484d 7%,var(--bt-card))}\n.bt-feishu-management{border-top:1px solid var(--bt-line);padding-top:8px}.bt-feishu-management>details+details{border-top:1px solid var(--bt-line)}\n.bt-feishu-management>details>summary{padding:12px 0;color:var(--bt-ink)}.bt-feishu-management>details[open]{display:flex;flex-direction:column;gap:10px;padding-bottom:14px}\n.bt-feishu-management>details>fieldset{min-width:0;margin:4px 0;padding:12px;border:1px solid var(--bt-line);border-radius:10px}.bt-feishu-management legend{font-size:12px;font-weight:600;padding-inline:4px}\n.bt-feishu-management fieldset>.bt-q-field+.bt-q-field{margin-top:10px}.bt-feishu-setup code,.bt-feishu-setup pre{white-space:pre-wrap;overflow-wrap:anywhere}.bt-feishu-setup ul{padding-left:18px;margin:4px 0}\n.bt-feishu-webhook{margin-top:18px;padding-top:10px;border-top:1px solid var(--bt-line)}.bt-feishu-webhook[open]{display:flex;flex-direction:column;gap:12px}.bt-feishu-webhook>summary{color:var(--bt-ink-2)}\n@container (max-width:640px){.bt-feishu-layout{display:flex;flex-direction:column;gap:18px}.bt-feishu-progress{width:100%}.bt-feishu-progress ol{flex-direction:row;gap:5px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.bt-feishu-progress li{flex:1}.bt-feishu-progress button{justify-content:center;padding:5px;gap:7px}.bt-feishu-step-label{display:none}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{display:block;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-feishu-progress li:has([aria-current=step]){flex:4}.bt-feishu-step{width:100%}.bt-feishu-header{flex-direction:column;gap:10px}.bt-feishu-header>.bt-input{max-width:100%;width:100%}}\n@container (max-width:340px){.bt-feishu-modes{gap:8px}.bt-feishu-modes button{padding:9px 10px}.bt-feishu-modes small{font-size:10px}.bt-feishu-permission{padding:8px}.bt-feishu-footer>div{gap:2px}.bt-feishu-footer .bt-feishu-button{padding-inline:9px}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{max-width:90px}}\n.bt-connector-form-row{display:flex;align-items:center;gap:6px}\n.bt-connector-apps{display:flex;flex-direction:column;gap:8px}\n.bt-connector-link{flex:1;font-size:12px;color:var(--bt-ink-2)}\n.bt-connector-uses{padding-left:48px;font-size:12px;line-height:16px;color:var(--bt-ink-3)}\n.bt-connector-bots{display:flex;flex-direction:column;gap:2px;padding-left:48px;animation:bt-q-in ").concat(b1.duration,"ms ").concat(b1.easing,',bt-veil-in .2s ease-out}\n.bt-connector-others{padding-left:20px}\n.bt-connector-error{padding-left:48px;font-size:12px;line-height:16px;color:#e02135}\n.bt-connector-app-list{list-style:none;margin:0;padding:0 0 0 48px;display:flex;flex-direction:column;gap:2px}\n.bt-connector-app{display:flex;gap:8px;font-size:12px;line-height:16px;color:var(--bt-ink-2)}\n.bt-connector-app-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-app-status{color:var(--bt-ink-3)}\n[data-status=sign-in]>.bt-app-status{color:#c46a00}\n\n/* Shell chrome reshaped for the team view. Selectors use stable data attributes where the\n shell offers them and CSS-module name suffixes elsewhere. */\n[class*="_logoRow"],[class*="_newSession"],nav[class*="_panelList"]{display:none!important}\n[class*="_footArea"]{display:flex!important;flex-direction:row-reverse;align-items:center;gap:9px;padding:8px 6px 6px!important}\n[class*="_footArea"]>[class*="_footerActions"]{flex:1 1 auto;min-width:0}\n[class*="_footArea"]>[class*="_settingsArea"]{flex:none;width:auto!important}\n[class*="_footArea"] button[aria-label="Settings"]{width:auto!important;padding:0!important;background:none!important;border-radius:50%!important;height:auto!important}\n[class*="_widthHandle"]{display:none!important}\n\n.bt-voice-pane{flex-direction:column;align-items:center;justify-content:center;animation:bt-fade .2s ease-out}\n.bt-voice-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;max-width:560px;text-align:center}\n.bt-voice-orb{position:relative;width:200px;height:200px;display:grid;place-items:center;margin-bottom:8px}\n.bt-voice-ring{position:absolute;inset:34px;border-radius:50%;background:var(--bt-hover);transform:scale(calc(1 + var(--bt-level,0) * .55));transition:transform .08s linear}\n.bt-voice-ring-2{inset:14px;background:none;box-shadow:inset 0 0 0 1px var(--bt-line-2);transform:scale(calc(.94 + var(--bt-level,0) * .3));opacity:.8}\n.bt-voice-stage[data-phase=thinking] .bt-voice-ring{animation:bt-voice-breathe 1.6s ease-in-out infinite}\n.bt-voice-stage[data-phase=speaking] .bt-voice-ring{animation:bt-voice-speak .9s ease-in-out infinite}\n@keyframes bt-voice-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}\n@keyframes bt-voice-speak{0%,100%{transform:scale(1.04)}30%{transform:scale(1.2)}60%{transform:scale(1.1)}}\n.bt-voice-orb>.bt-mark{position:relative}\n.bt-voice-name{font-size:16px;line-height:22px;font-weight:500}\n.bt-voice-status{font-size:13px;line-height:18px;color:var(--bt-ink-2);min-height:18px}\n.bt-voice-caption{min-height:44px;font-size:15px;line-height:22px;color:var(--bt-ink);animation:bt-blur-in .25s ease-out;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}\n.bt-voice-note{font-size:12px;color:#e02135}\n.bt-voice-setup{height:32px;padding:0 14px;border-radius:16px;border:0;background:var(--bt-hover);color:var(--bt-ink);font:inherit;font-size:13px;cursor:pointer;transition:background-color .15s ease}\n.bt-voice-setup:hover{background:var(--bt-active)}\n.bt-voice-bar{display:flex;gap:16px;padding:0 0 32px}\n.bt-voice-btn{position:relative;width:52px;height:52px;border-radius:50%;border:0;background:var(--bt-hover);color:var(--bt-ink);display:grid;place-items:center;cursor:pointer;transition:background-color .15s ease,transform .12s ease}\n.bt-voice-btn:hover{background:var(--bt-active)}\n.bt-voice-btn:active{transform:scale(.94)}\n.bt-voice-btn[aria-pressed=true]{background:var(--bt-user);color:var(--bt-user-ink)}\n.bt-voice-slash{position:absolute;width:24px;height:2px;border-radius:1px;background:currentColor;transform:rotate(-45deg)}\n.bt-voice-end{background:#ff3e51;color:#fff}\n.bt-voice-end:hover{background:#e02135}\n@keyframes bt-fade{from{opacity:0}to{opacity:1}}\n@keyframes bt-blur-in{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}\n@media (prefers-reduced-motion:reduce){.bt-voice-pane,.bt-voice-caption,.bt-voice-ring{animation:none!important}}\n.bt-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:min(80%,560px,calc(100% - 82px))}\n/* The bubble\'s row: reactions hang below it, so the hover toolbar (and a group\n sender\'s avatar) line up with the bubble alone. */\n.bt-msg-line{position:relative;display:flex;align-items:flex-end;gap:8px;max-width:100%}\n.bt-msg-line>.bt-bubble{max-width:none;min-width:0}\n/* The same bubble width as beside an avatar column: 80% of (100% - 30px), plus the 30px. */\n.bt-astack[data-lead]>.bt-msg{max-width:min(calc(80% + 6px),590px,calc(100% - 52px))}\n.bt-tools{position:absolute;top:50%;left:100%;margin-left:6px;transform:translateY(-50%);display:flex;gap:2px;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s}\n.bt-tools::after{content:"";position:absolute;top:-8px;bottom:-8px;right:100%;width:128px;z-index:-1}\n.bt-msg:hover>.bt-msg-line>.bt-tools,.bt-msg:focus-within>.bt-msg-line>.bt-tools,.bt-tools[data-open]{opacity:1;visibility:visible}\n.bt-tool{width:24px;height:24px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease}\n.bt-tool:hover,.bt-tool[aria-expanded=true]{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-tool:active{background:var(--bt-active)}\n.bt-tool:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px}\n.bt-react-strip{position:fixed;z-index:130;pointer-events:auto;display:flex;gap:2px;padding:4px;border-radius:999px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.06);transform:translate(-50%,-100%);transform-origin:bottom center;animation:bt-pop-lift ').concat(q1.duration,"ms ").concat(q1.easing,",bt-veil-in .14s ease-out}\n.bt-react-strip button{width:32px;height:32px;border:0;border-radius:50%;background:none;font-size:18px;line-height:1;cursor:pointer;transition:background-color .12s ease,").concat(w0(G1,"transform"),";animation:bt-check-pop ").concat(G1.duration,"ms ").concat(G1.easing," backwards}\n.bt-react-strip button:nth-child(2){animation-delay:20ms}\n.bt-react-strip button:nth-child(3){animation-delay:40ms}\n.bt-react-strip button:nth-child(4){animation-delay:60ms}\n.bt-react-strip button:nth-child(n+5){animation-delay:80ms}\n.bt-react-strip button:hover{background:var(--bt-hover);transform:scale(1.15)}\n.bt-react-strip button:active{transform:scale(.92)}\n.bt-reacts{display:flex;gap:4px;margin-top:4px}\n.bt-react{height:22px;min-width:30px;padding:0 6px;border-radius:999px;border:.5px solid var(--bt-line-2);background:var(--bt-main);font-size:13px;line-height:20px;cursor:pointer;animation:bt-react-pop ").concat(G1.duration,"ms ").concat(G1.easing,";transition:background-color .12s ease,").concat(w0(q1,"scale"),'}\n.bt-react:hover{background:var(--bt-hover)}\n.bt-react:active{scale:.92}\n@keyframes bt-react-pop{from{transform:scale(.6);opacity:0}}\n.bt-bubble a[href^="').concat(k4,'"] svg{display:none}\n.bt-you{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bt-ink) 5%,var(--bt-sidebar));color:var(--bt-ink-2);box-shadow:inset 0 0 0 1px var(--bt-line);transition:background-color .12s ease}\nbutton:hover .bt-you{background:color-mix(in srgb,var(--bt-ink) 9%,var(--bt-sidebar))}\n.bt-you-wrap{display:inline-flex;padding:0}\n.bt-connect-foot{width:100%;height:36px}\n\n.bt-menu{position:fixed;pointer-events:auto;z-index:130;min-width:200px;padding:6px;border-radius:12px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1),0 0 0 1px rgba(228,228,228,.04);display:flex;flex-direction:column;gap:2px;transform-origin:var(--bt-origin,top left);animation:bt-pop-drop ').concat(q1.duration,"ms ").concat(q1.easing,',bt-veil-in .14s ease-out;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;box-sizing:border-box}\n.bt-menu button{display:flex;align-items:center;gap:4px;width:100%;min-height:30px;text-align:left;border:0;background:none;border-radius:6px;padding:6px 8px;font:inherit;font-size:13px;line-height:18px;color:var(--bt-ink);cursor:pointer;box-sizing:border-box}\n.bt-menu button:hover{background:var(--bt-hover)}\n.bt-menu button svg{flex:none;width:16px;height:16px;margin:0 1px}\n.bt-menu .bt-danger{color:#c21d2e}\n.bt-menu-sep{height:.5px;flex:none;background:var(--bt-line-2);margin:4px 8px}\n.bt-menu-up{--bt-origin:bottom left;animation-name:bt-pop-lift,bt-veil-in}\n.bt-menu[data-leaving]{pointer-events:none;animation:bt-pop-out .12s cubic-bezier(.4,0,1,1) forwards}\n.bt-menu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-menu-hint{flex:none;color:var(--bt-ink-3);font-size:12px;font-variant-numeric:tabular-nums}\n.bt-palette-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:140;isolation:isolate;pointer-events:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.46);animation:bt-fade .22s ease-out}\n.bt-palette{position:absolute;top:50%;left:50%;width:min(560px,92vw);transform:translate(-50%,-50%);display:flex;flex-direction:column;border-radius:12px;background:var(--bt-main);border:1px solid var(--bt-line-2);box-shadow:0 24px 48px -12px rgba(0,0,0,.25);overflow:hidden;color:var(--bt-ink);animation:bt-palette-in ').concat(b1.duration,"ms ").concat(b1.easing,",bt-veil-in .2s ease-out}\n.bt-palette-layer[data-leaving]{pointer-events:none}\n.bt-palette-layer[data-leaving] .bt-backdrop{opacity:0;transition:opacity .16s ease-in}\n.bt-palette-layer[data-leaving] .bt-palette{animation:bt-dialog-sink .16s cubic-bezier(.4,0,1,1) forwards}\n@keyframes bt-palette-in{from{translate:0 -10px;scale:.96}}\n.bt-palette-head{display:flex;align-items:center;gap:4px;padding:14px 10px 14px 14px;border-bottom:.5px solid var(--bt-line-2)}\n.bt-palette-glyph{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;color:var(--bt-ink-3);margin-right:4px}\n.bt-palette-head input{flex:1;min-width:0;border:0;outline:none;background:none;color:var(--bt-ink);font:inherit;font-size:15px;line-height:22px;padding:0}\n.bt-palette-head input::placeholder{color:var(--bt-ink-3)}\n.bt-palette-clear{width:18px;height:18px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}\n.bt-palette-clear:hover{color:var(--bt-ink)}\n.bt-palette-clear svg{width:12px;height:12px}\n.bt-palette-list{position:relative;height:402px;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px;box-sizing:border-box}\n.bt-palette-list>.bt-thumb,.bt-drop-list>.bt-thumb{left:0;right:0;border-radius:8px;background:var(--bt-active)}\n.bt-palette-list>.bt-thumb{left:8px;right:8px}\n:is(.bt-palette-list,.bt-drop-list)[data-glide] [aria-selected=true]{background:transparent}\n:is(.bt-palette-row,.bt-palette-section,.bt-drop-list>.bt-option){position:relative;z-index:1}\n.bt-palette-section{padding:8px 8px 4px;font-size:12px;line-height:16px;color:var(--bt-ink-3);flex:none}\n.bt-palette-section:first-of-type{padding-top:0}\n.bt-palette-row{flex:none;display:flex;align-items:center;gap:8px;height:49px;padding:6px 10px 6px 8px;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;width:100%}\n.bt-palette-row[aria-selected=true]{background:var(--bt-active)}\n.bt-palette-lead{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}\n.bt-palette-cmd{width:24px;height:24px;border-radius:50%;background:var(--bt-hover);display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink-2)}\n.bt-palette-cmd svg{width:14px;height:14px}\n.bt-palette-agent{width:24px;height:24px;border-radius:50%;background:var(--bt-hover);display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink)}\n.bt-palette-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}\n.bt-palette-title{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-palette-sub{font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-palette-badge{flex:none;font-size:11px;line-height:16px;padding:0 6px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink)}\n.bt-palette-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:0 16px;text-align:center;animation:bt-veil-in .22s ease-out}\n.bt-palette-empty-icon{color:var(--bt-line-2)}\n.bt-palette-empty-icon svg{width:32px;height:32px}\n.bt-palette-empty-label{font-size:14px;font-weight:500;color:var(--bt-ink-2)}\n.bt-palette-empty-hint{font-size:13px;line-height:16px;color:var(--bt-ink-3)}\n@media (prefers-reduced-motion:reduce){.bt-palette{animation:bt-fade .1s ease-out}}\n.bt-account-menu{min-width:224px;width:max-content;max-width:calc(100vw - 16px)}\n.bt-flybot-account-header:not(:empty){padding:6px 0 2px;margin-bottom:4px;border-bottom:.5px solid var(--bt-line-2)}\n.bt-account{flex:none;width:36px;height:36px;border:0;padding:0;background:none;border-radius:50%;cursor:pointer;display:inline-flex}\n.bt-account:hover .bt-you,.bt-account[aria-expanded=true] .bt-you{background:color-mix(in srgb,var(--bt-ink) 9%,var(--bt-sidebar))}\n/* Popover keyframes move translate and scale, which compose with a transform the popover\n already has. */\n@keyframes bt-pop-drop{from{translate:0 -4px;scale:.96}}\n@keyframes bt-pop-lift{from{translate:0 4px;scale:.96}}\n@keyframes bt-pop-out{to{opacity:0;scale:.97;filter:blur(2px)}}\n@keyframes bt-veil-in{from{opacity:0;filter:blur(6px)}}\n@keyframes bt-check-pop{from{opacity:0;scale:.4}}\n@media (prefers-reduced-motion:reduce){.bt-menu,.bt-avedit,.bt-react-strip{animation:bt-fade .1s ease-out}.bt-react-strip button,.bt-q-check,.bt-color[aria-pressed=true] span{animation:none}}\n.bt-brand:hover{background:var(--bt-hover)}\n.bt-drop-list{position:relative;display:flex;flex-direction:column;gap:2px}\n.bt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}\n.bt-pick{display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 2px 6px;border-radius:10px;border:1px solid transparent;background:none;color:var(--bt-ink);cursor:pointer;font:inherit;font-size:11px;line-height:14px;min-width:0}\n.bt-pick:hover{background:var(--bt-hover)}\n.bt-pick[aria-pressed=true]{border-color:var(--bt-line-2);background:var(--bt-hover)}\n.bt-pick>span:last-child:not(.bt-mark){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-pick:hover .bt-mark[data-state=idle] .bt-eye{animation:bt-blink .5s linear 1}\n.bt-select{width:100%;height:34px;box-sizing:border-box;border-radius:8px;border:1px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink);padding:0 8px;font:inherit;font-size:13px}\n.bt-note{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-top:6px}\n.bt-swatch-sep{width:1px;height:22px;background:var(--bt-line-2);margin:0 2px}\n.bt-swatch-custom{position:relative;overflow:hidden;background:conic-gradient(#ff3e51,#ffaf38,#00c972,#1cc3b0,#2a92fe,#a97efe,#ff5eb1,#ff3e51);box-sizing:border-box}\n.bt-swatch-custom[data-on=true]{border-color:var(--bt-ink)}\n.bt-swatch-custom input{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);opacity:0;cursor:pointer;border:0;padding:0}\n.bt-swatch-default{background:linear-gradient(135deg,var(--bt-card) 0 46%,var(--bt-line-2) 46% 54%,var(--bt-card) 54%);box-shadow:inset 0 0 0 1px var(--bt-line-2)}\n.bt-states{display:flex;flex-wrap:wrap;gap:4px}\n.bt-state{border:1px solid var(--bt-line);background:none;border-radius:999px;font:inherit;font-size:11px;line-height:16px;padding:2px 8px;color:var(--bt-ink-2);cursor:pointer}\n.bt-state:hover{color:var(--bt-ink)}\n.bt-state[aria-pressed=true]{background:var(--bt-active);border-color:var(--bt-line-2);color:var(--bt-ink)}\n.bt-theme-chip{position:relative;width:46px;height:30px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--bt-line-2);background:linear-gradient(90deg,var(--ls) 0 36%,var(--lb) 36%);overflow:hidden}\n.bt-theme-chip i{position:absolute;right:7px;bottom:7px;width:10px;height:10px;border-radius:50%;background:var(--la)}\nbody[data-ds-dark-theme] .bt-theme-chip{background:linear-gradient(90deg,var(--ds) 0 36%,var(--db) 36%)}\nbody[data-ds-dark-theme] .bt-theme-chip i{background:var(--da)}\n.bt-tabs{flex-wrap:wrap}\n.bt-soft:disabled{opacity:.4;cursor:default}\n.bt-group-role{margin-left:6px;font-size:11px;line-height:14px;padding:1px 5px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink);vertical-align:1px}\n.bt-members{display:flex;flex-direction:column;gap:1px}\n.bt-member{display:flex;align-items:center;gap:4px;min-height:40px;padding:0 4px 0 6px;border-radius:8px;animation:bt-rise .18s ease-out}\n.bt-member:hover{background:var(--bt-hover)}\n.bt-member-name{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;padding:6px 0;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;cursor:pointer;text-align:left}\n.bt-member-name>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-chip-admin{background:var(--bt-tag-bg);color:var(--bt-tag-ink);border-color:transparent}\n.bt-mini{flex:none;border:0;background:none;border-radius:6px;padding:2px 6px;font:inherit;font-size:12px;line-height:18px;color:var(--bt-ink-2);cursor:pointer}\n.bt-mini:hover{background:var(--bt-active);color:var(--bt-ink)}\n.bt-member .bt-mini,.bt-member .bt-x{opacity:0;transition:opacity .15s ease}\n.bt-member:hover .bt-mini,.bt-member:hover .bt-x,.bt-member .bt-mini:focus-visible,.bt-member .bt-x:focus-visible{opacity:1}\n.bt-add{color:var(--bt-ink-2);margin-top:2px}\n.bt-add:hover,.bt-addlist .bt-option:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-addlist{display:flex;flex-direction:column;margin-top:4px;padding:4px;border:1px solid var(--bt-line);border-radius:10px;background:var(--bt-card);animation:bt-rise .16s ease-out}\n.bt-seg{position:relative;display:flex;gap:2px;padding:2px;border-radius:10px;background:var(--bt-hover)}\n.bt-motion-seg{width:216px}\n.bt-seg button{position:relative;z-index:1;flex:1;height:30px;border:0;border-radius:8px;background:none;font:inherit;font-size:13px;color:var(--bt-ink-2);cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,").concat(w0(q1,"scale"),'}\n.bt-seg button[aria-pressed=true]{background:var(--bt-card);color:var(--bt-ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}\n.bt-seg button:disabled{opacity:.4;cursor:default}\n.bt-seg button:active:not(:disabled){scale:.96}\n.bt-seg>.bt-thumb{top:2px;bottom:2px;border-radius:8px;background:var(--bt-card);box-shadow:0 1px 3px rgba(0,0,0,.08)}\n.bt-seg[data-glide] button[aria-pressed=true]{background:transparent;box-shadow:none}\n@keyframes bt-rise{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}\n@media (prefers-reduced-motion:reduce){.bt-member,.bt-addlist{animation:none}}\n\n/* Memory dialog: a summary of every entry, the entries behind the menu, "Ask or update" below. */\n.bt-mem-row{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 8px 0 10px;border:.5px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:13px;cursor:pointer;box-sizing:border-box;transition:background-color .12s ease}\n.bt-mem-row:hover{background:var(--bt-hover)}\n.bt-mem-row>svg{flex:none;color:var(--bt-ink-2)}\n.bt-mem-row-copy{flex:1;text-align:left}\n.bt-mem-row-go{display:inline-flex;align-items:center;gap:2px;color:var(--bt-ink-3);font-size:12px}\n.bt-mem-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:121;isolation:isolate;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-mem-scrim{animation:bt-fade .2s ease-out}\n.bt-mem{position:relative;width:min(680px,calc(100vw - 48px));height:min(760px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))));background:var(--bt-main);border-radius:20px;border:.5px solid var(--bt-line-2);box-shadow:0 24px 80px rgba(0,0,0,.24);display:flex;flex-direction:column;overflow:hidden;color:var(--bt-ink);animation:bt-dialog-rise ').concat(b1.duration,"ms ").concat(b1.easing,",bt-veil-in .2s ease-out}\n.bt-mem-head{position:relative;display:flex;align-items:center;gap:8px;height:60px;flex:none;padding:0 14px 0 24px;border-bottom:.5px solid var(--bt-line);box-sizing:border-box}\n.bt-mem-head .bt-icon-btn{width:32px;height:32px;flex:none}\n.bt-mem-head [aria-haspopup] svg{width:18px;height:18px;stroke-width:2.6}\n.bt-mem-head>.bt-icon-btn:first-child{margin-left:-10px}\n.bt-mem-head h2{margin:0;font-size:17px;line-height:24px;font-weight:600;white-space:nowrap}\n.bt-mem-status{font-size:13px;line-height:18px;color:var(--bt-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-variant-numeric:tabular-nums}\n.bt-mem-head-gap{flex:1}\n.bt-mem-menu{position:absolute;top:52px;right:50px;min-width:220px;--bt-origin:top right}\n.bt-mem-menu button:disabled{opacity:.4;cursor:default;background:none}\n.bt-mem-body{flex:1;overflow-y:auto;padding:22px 28px 24px;scrollbar-width:thin;display:flex;flex-direction:column;gap:12px}\n.bt-mem-summary{transition:opacity .3s ease}\n.bt-mem-summary[data-stale]{opacity:.55}\n.bt-mem-summary h3{margin:20px 0 6px;font-size:17px;line-height:26px;font-weight:600}\n.bt-mem-summary h3:first-child{margin-top:0}\n.bt-mem-summary p{margin:0;font-size:15px;line-height:26px}\n.bt-mem-summary>*{animation:bt-mem-line .45s cubic-bezier(.16,1,.3,1) both}\n.bt-mem-summary>:nth-child(2){animation-delay:.03s}\n.bt-mem-summary>:nth-child(3){animation-delay:.06s}\n.bt-mem-summary>:nth-child(4){animation-delay:.09s}\n.bt-mem-summary>:nth-child(5){animation-delay:.12s}\n.bt-mem-summary>:nth-child(6){animation-delay:.15s}\n.bt-mem-summary>:nth-child(n+7){animation-delay:.18s}\n@keyframes bt-mem-line{from{opacity:0;transform:translateY(4px)}}\n.bt-mem-skel{display:flex;flex-direction:column;gap:24px}\n.bt-mem-skel-block{display:flex;flex-direction:column;gap:10px}\n.bt-mem-skel-block span{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bt-hover) 25%,var(--bt-active) 50%,var(--bt-hover) 75%);background-size:200% 100%;animation:bt-mem-skel 1.4s ease-in-out infinite}\n.bt-mem-skel-block .bt-mem-skel-head{width:30%;height:16px;margin-bottom:2px}\n@keyframes bt-mem-skel{from{background-position:150% 0}to{background-position:-50% 0}}\n.bt-mem-skel-label{font-size:13px;line-height:18px;color:var(--bt-ink-3)}\n.bt-mem-empty{margin:auto;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:24px 0;animation:bt-mem-line .45s cubic-bezier(.16,1,.3,1) both}\n.bt-mem-empty-mark{width:48px;height:48px;border-radius:50%;background:var(--bt-hover);display:flex;align-items:center;justify-content:center;color:var(--bt-ink-2);margin-bottom:4px}\n.bt-mem-empty-mark svg{width:22px;height:22px}\n.bt-mem-empty-title{font-size:15px;line-height:22px;font-weight:600}\n.bt-mem-empty-text{font-size:13px;line-height:20px;color:var(--bt-ink-2)}\n.bt-mem-failed{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--bt-hover);font-size:13px;line-height:18px;color:var(--bt-ink-2)}\n.bt-mem-failed>span{flex:1;min-width:0;overflow-wrap:anywhere}\n.bt-mem-entries{display:flex;flex-direction:column;gap:28px;animation:bt-page-in ").concat(b1.duration,"ms ").concat(b1.easing,",bt-veil-in .22s ease-out}\n.bt-mem-section-head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}\n.bt-mem-section-head h3{margin:0;font-size:15px;line-height:22px;font-weight:600}\n.bt-mem-section-head span{font-size:12px;line-height:16px;color:var(--bt-ink-3)}\n.bt-mem-section-head .bt-mem-size{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}\n.bt-mem-topic{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin:14px 0 2px 4px;font-weight:500}\n.bt-mem-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}\n.bt-mem-entry{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:.5px solid var(--bt-line);transition:opacity .2s ease}\n.bt-mem-entry[data-busy]{opacity:.4}\n.bt-mem-entry-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}\n.bt-mem-entry-text{font-size:14px;line-height:20px;overflow-wrap:anywhere}\n.bt-mem-entry-meta{font-size:12px;line-height:16px;color:var(--bt-ink-3);font-variant-numeric:tabular-nums}\n.bt-mem-remove{flex:none;height:28px;min-width:28px;border-radius:999px;border:0;background:none;color:var(--bt-ink-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0 6px;font:inherit;font-size:12px;opacity:0;transition:opacity .12s ease,background-color .12s ease,color .12s ease}\n.bt-mem-entry:hover .bt-mem-remove,.bt-mem-remove:focus-visible,.bt-mem-remove[data-confirm]{opacity:1}\n.bt-mem-remove:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-mem-remove[data-confirm]{background:rgba(224,33,53,.1);color:#e02135;padding:0 10px}\n@media (hover:none){.bt-mem-remove{opacity:1}}\n.bt-mem-none{font-size:13px;line-height:18px;color:var(--bt-ink-3);padding:8px 4px}\n.bt-mem-foot{flex:none;padding:8px 20px 20px;display:flex;flex-direction:column;gap:10px}\n.bt-mem-reply{border-radius:16px;background:var(--bt-hover);padding:8px 8px 12px 16px;display:flex;flex-direction:column;gap:6px;max-height:36vh;overflow-y:auto;scrollbar-width:thin;transform-origin:50% 100%;animation:bt-pop-lift ").concat(b1.duration,"ms ").concat(b1.easing,",bt-veil-in .2s ease-out}\n.bt-mem-reply-head{display:flex;align-items:center;gap:8px;min-height:24px}\n.bt-mem-reply-asked{flex:1;min-width:0;font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-mem-reply .bt-icon-btn{width:24px;height:24px;flex:none}\n.bt-mem-reply-text{font-size:14px;line-height:21px;padding-right:8px;overflow-wrap:anywhere}\n.bt-mem-changes{list-style:none;margin:2px 0 0;padding:0 8px 0 0;display:flex;flex-direction:column;gap:4px}\n.bt-mem-changes li{display:flex;align-items:flex-start;gap:6px;font-size:13px;line-height:18px;color:var(--bt-ink-2);overflow-wrap:anywhere}\n.bt-mem-changes li svg{flex:none;margin-top:1px;color:#e02135;animation:bt-check-pop ").concat(G1.duration,"ms ").concat(G1.easing," .12s backwards}\n.bt-mem-changes li[data-ok] svg{color:var(--bt-green)}\n.bt-mem-ask{display:flex;align-items:center;gap:8px;height:52px;padding:0 8px 0 22px;border-radius:999px;border:.5px solid var(--bt-line-2);background:var(--bt-card);box-shadow:0 4px 16px rgba(0,0,0,.06);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}\n.bt-mem-ask:focus-within{border-color:var(--bt-ink-3);box-shadow:0 4px 20px rgba(0,0,0,.1)}\n.bt-mem-input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--bt-ink);font:inherit;font-size:15px;line-height:22px;padding:0}\n.bt-mem-input::placeholder{color:var(--bt-ink-3)}\n.bt-mem-send{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:var(--bt-ink);color:var(--bt-main);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:opacity .15s ease,").concat(w0(q1,"scale"),"}\n.bt-mem-send:disabled{opacity:.22;cursor:default}\n.bt-mem-send:not(:disabled):active{scale:.92}\n.bt-mem-send>*{animation:bt-check-pop ").concat(G1.duration,"ms ").concat(G1.easing,"}\n.bt-mem-spin{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;box-sizing:border-box;animation:bt-mem-spin .7s linear infinite}\n@keyframes bt-mem-spin{to{transform:rotate(360deg)}}\n@media (max-width:640px){.bt-mem{width:100vw;height:100%;border-radius:0;border:0}.bt-mem-body{padding:18px 18px 20px}.bt-mem-foot{padding:8px 12px 12px}}\n@media (prefers-reduced-motion:reduce){.bt-mem,.bt-mem-scrim,.bt-mem-summary>*,.bt-mem-empty,.bt-mem-reply,.bt-mem-skel-block span,.bt-mem-entries,.bt-mem-send>*,.bt-mem-changes li svg{animation:none}}\n\n.bt-thumb{position:absolute;left:0;top:0;z-index:0;pointer-events:none;transition:opacity .14s ease}\n.bt-thumb[data-hidden]{opacity:0}\n[data-morph]{overflow:hidden!important}\n.bt-veil{animation:bt-veil-in .22s ease-out}\n.bt-with-icon{display:inline-flex;align-items:center;gap:4px}\n.bt-with-icon svg{width:14px;height:14px}\n.bt-tag-admin{display:inline-flex;align-items:center;gap:4px}\n.bt-create-inline{padding:18px 16px;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card)}\n.bt-create-inline .bt-create-card{max-width:none}\n.bt-panel-view>[data-move=in]{animation:bt-page-in ").concat(b1.duration,"ms ").concat(b1.easing," backwards,bt-veil-in .2s ease-out backwards}\n.bt-panel-view>[data-move=out]{animation:bt-page-out ").concat(b1.duration,"ms ").concat(b1.easing," backwards,bt-veil-in .2s ease-out backwards}\n.bt-panel-view>:is([data-move=in],[data-move=out]):nth-child(2){animation-delay:25ms}\n.bt-panel-view>:is([data-move=in],[data-move=out]):nth-child(n+3){animation-delay:50ms}\n.bt-panel-view>.bt-drawer-body[data-move=tab]{animation:bt-veil-in .2s ease-out}\n.bt-drawer-name-input{animation:bt-veil-in .16s ease-out}\n.bt-pop-in{display:inline-flex;animation:bt-check-pop ").concat(G1.duration,"ms ").concat(G1.easing,"}\n:is(.bt-soft,.bt-send,.bt-icon-btn,.bt-settings-close,.bt-mini,.bt-tab,.bt-nc-send,.bt-avedit-tab,.bt-shape,.bt-pick,.bt-swatch,.bt-palette-clear){transition:background-color .12s ease,color .12s ease,border-color .12s ease,opacity .12s ease,").concat(w0(q1,"scale"),"}\n:is(.bt-icon-btn,.bt-settings-close,.bt-nc-send,.bt-shape,.bt-swatch,.bt-color,.bt-x,.bt-q-x,.bt-palette-clear):active:not(:disabled){scale:.9}\n:is(.bt-soft,.bt-send,.bt-mini,.bt-tab,.bt-avedit-tab,.bt-pick,.bt-q-submit,.bt-q-btn):active:not(:disabled){scale:.96}\n@media (prefers-reduced-motion:reduce){.bt-thumb{transition:none}.bt-panel-view>[data-move],.bt-drawer-name-input,.bt-veil,.bt-pop-in,.bt-token,.bt-drop,.bt-newchat,.bt-option-hint,.bt-connector-form,.bt-settings-head>*{animation:none}}\n"),Nz='\n.bt-think{font-size:13px;line-height:18px;color:var(--bt-ink-2);margin:2px 0 4px;max-width:min(560px,78%)}\n.bt-think summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;white-space:nowrap}\n.bt-think summary::-webkit-details-marker{display:none}\n.bt-think-caret{display:inline-block;transition:transform .15s;font-size:14px;line-height:1}\n.bt-think[open] .bt-think-caret{transform:rotate(90deg)}\n.bt-think-peek{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bt-ink-3)}\n/* Opened, the body prints that same first line again, so the preview steps aside (#1636). */\n.bt-think[open] .bt-think-peek{display:none}\n.bt-person-mark{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bt-ink-5,rgba(20,20,20,.08));color:var(--bt-ink-3,rgba(20,20,20,.45))}\n.bt-person-initial{color:#fff;font-weight:600;line-height:1;user-select:none}\n.bt-person-msg .bt-group-name{color:var(--bt-ink-2,rgba(20,20,20,.7))}\n/* A person\'s typed line keeps its line breaks, as on the sender\'s side (#455): Markdown would join them. */\n.bt-person-msg .bt-bubble :is(p,li){white-space:pre-line}\n.bt-remote-handle{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-weight:400;color:var(--bt-ink-3,rgba(20,20,20,.36))}\n.bt-think-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px;padding-left:10px;border-left:2px solid var(--bt-line-2)}\n.bt-event{display:flex;justify-content:center;align-items:center;gap:2px;min-height:24px;margin:2px 0;font-size:12px;line-height:16px;color:var(--bt-ink-2);flex-wrap:wrap}\n.bt-event>span{padding:0 2px}\n.bt-event button{border:0;background:none;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:4px;cursor:pointer;height:24px;padding:4px 6px 4px 4px;border-radius:999px;box-sizing:border-box;transition:background-color .12s ease}\n.bt-event button:hover{background:var(--bt-hover)}\n.bt-event button:active{background:var(--bt-active)}\n.bt-event button.bt-event-whole{min-width:0;max-width:100%;padding:4px 6px 4px 8px}\n.bt-event-whole>*{flex:none}\n.bt-event-whole>span:first-child{margin-right:2px}\n/* One button cannot wrap like separate parts, so a long name is cut to fit the chat. */\n.bt-event-whole>.bt-event-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-time-sep{display:flex;justify-content:center;align-items:center;height:28px;margin:14px 0 8px;font-size:12px;line-height:16px;color:var(--bt-ink-2);white-space:nowrap}\n[class*="_scroll"]>[class*="_column"]::before{content:var(--bt-first-sep,none);display:block;flex:none;height:28px;margin:17px 0 12px;font-size:12px;line-height:28px;text-align:center;color:var(--bt-ink-2);white-space:nowrap}\n.bt-group-replies{display:contents}\n/* A Bot chat is flat in every work-details mode, without changing the user\'s mode\n (it is a DSH-wide setting): step groups lose their header and stay open, and what a\n mode folds away in a finished turn stays shown. TurnProcessCell also opens that\n fold; these rules cover the first frame before it does. */\n[data-step-process]>div:first-child{display:none!important}\n[data-step-process]>[data-step-process-body]{display:block!important;content-visibility:visible!important;max-height:none!important;overflow:visible!important;mask-image:none!important;scrollbar-gutter:auto!important}\n:is([data-step-process],[data-turn-process-hidden])[hidden]{content-visibility:visible!important}\n[class*="_flowItem"]:has(> [data-slot="conversation.chat.node"]:empty){display:none!important}\n/* FlyBot\'s pill rides the shell\'s own Session header utilities, beside the seats\n the native header renders (actions: the subagent catalog; lineage; corner).\n It is a compact control in that row now, not a floating replacement for the\n whole header, so the header keeps its own layout, border and drag row. */\n[class*="_header"] .bt-head{display:flex;align-items:center;height:auto;flex:none;width:auto;pointer-events:auto}\n[class*="_header"] .bt-head .bt-pill{height:30px;padding:3px 10px 3px 4px;gap:6px;font-size:13px;line-height:18px;max-width:min(320px,32vw)}\n[class*="_header"] .bt-head .bt-pill:has(.bt-pill-name-face){height:auto;min-height:30px;align-items:flex-start}\n/* The session breadcrumb is a 244px nowrap line (#1102). Two lines keep\n "Face-to-face \xB7 SelfA1025, SelfB1025 \xB7 739184" inside that box. */\n[class*="_header"] [class*="switcherTitle"]{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis}\n[class*="_header"] [class*="switcherTrigger"]{height:auto;align-items:flex-start}\n[class*="_header"] .bt-head .bt-mark{width:22px!important;height:22px!important;--bt-size:22px}\n/* #1347: "Standard mode" beside the title reads as a control \u2014 a filled chip with an icon \u2014 but the\n shell draws it as a span with no click handler (dsh-client-ui-agent-preset, AgentPresetLabel):\n clicking it does nothing, and the only thing behind it is a hover title. In a Bot chat the mode is\n fixed for the whole Session anyway, so the chip becomes what it is: a status word on the title\'s\n line. No fill, no radius, muted ink, and the description stays on hover. */\n[data-slot="conversation.session.header.actions"] [class*="_label"]{background:none;border-radius:0;color:var(--bt-ink-3);cursor:help;pointer-events:auto}\n[data-slot="conversation.session.header.actions"] [class*="_label"] svg{opacity:.7}\n[class*="_body"]:has(> [class*="_scrollBody"]){--dsh-chat-content-width:min(960px,100%)}\n/* DSH\'s turn tail keeps what plugins put in it (delivered files, the Bot\'s separators),\n without its copy and branch row; a tail with nothing in it takes no room. */\n[data-turn-tail]>:not([data-slot="conversation.chat.turnTail"]):not(.bt-typing){display:none!important}\n[class*="_flowItem"][data-chat-flow-kind="turn-tail"]:not(:has([data-slot="conversation.chat.turnTail"]:not(:empty))):not(:has([data-turn-tail]>.bt-typing)){display:none!important}\n/* #1347: the thread must never paint above a dialog, a sheet or a scrim.\n The chat column had no stacking context of its own (position:static, z-index:auto), so nothing\n inside it was boxed in: anything the browser promoted to its own composited layer \u2014 an entrance\n animation (bt-row-in animates a transform), a filter, a will-change, a scroll container\'s sticky\n descendant \u2014 was ordered against the ROOT stacking context instead of against the column. A\n dialog\'s layer is a z-index box at the root, so a promoted bubble could sort above it, which is\n exactly what the owner\'s screenshots show: a right-aligned pill at full opacity across the Tasks\n dialog and over the Inbox scrim, while the same pill sat under it in a plain DOM walk. Giving the\n column its own stacking context (isolation:isolate) paints every descendant inside it, and its\n z-index:0 keeps all of that below .bt-pane (45), .bt-panel (40) and the dialog layers at 120/121\n whatever any single bubble does. contain:paint is deliberately NOT used: it would clip the\n popovers the thread legitimately renders (reaction strip, message menu), which portal to body\n for exactly that reason. */\n/* Every team Session belongs to a Bot or a group, so a blank one is an empty chat, not\n the shell\'s new-session hero: no headline, no workspace or mode picker, and the\n composer stays docked at the bottom. */\n[data-content-phase=hero] [class*="_scrollBody"]{justify-content:flex-end!important}\nbody[data-bt-remote-chat=empty][data-content-phase=hero] [class*="_scrollBody"]::before{content:var(--bt-remote-empty);display:block;text-align:center;color:var(--bt-ink-3);font-size:13px;line-height:18px;padding:16px 12px 8px;max-width:var(--dsh-chat-content-width,min(960px,100%));margin:0 auto;white-space:pre-wrap}\n[data-content-phase=hero] [class*="_composerHero"]{align-self:stretch!important;width:auto!important;padding-bottom:0!important}\n[data-content-phase=hero] [class*="_composerHero"]>[class$="_root"],[data-content-phase=hero] [class*="_heroWorkspaceRow"]{display:none!important}\n[data-content-phase=hero] [class*="_composerHero"] [class*="_input"]{min-height:0!important}\n/* The right sides give back the scrollbar gutter so both edges sit 16px from the column. */\n[class*="_scroll"]:has(> [class*="_column"]){padding:60px 11px 16px 16px!important}\n/* The shell\'s running status only hosts the activity row (.bt-typing). */\n[data-chat-running]{display:block!important;width:100%;min-height:0!important;margin:0!important;padding:0!important}\n[data-chat-running]>span:not([role=status]){display:none!important}\n[data-chat-running]:has(> .bt-typing){margin-top:var(--dsh-chat-flow-gap,12px)!important}\n.bt-busy-ack{display:flex;align-items:flex-end;gap:8px;width:100%;margin-top:var(--dsh-chat-flow-gap,12px);margin-bottom:4px}\n.bt-busy-ack .bt-astack{align-items:flex-start}\n.bt-busy-ack .bt-bubble{opacity:.92}\n.bt-busy-dots{display:inline-flex;align-items:center;gap:4px;height:22px}\n.bt-busy-dots>span{width:5px;height:5px;border-radius:50%;background:var(--bt-ink-3);animation:bt-busy-blink 1.2s ease-in-out infinite}\n.bt-busy-dots>span:nth-child(2){animation-delay:.2s}.bt-busy-dots>span:nth-child(3){animation-delay:.4s}\n@keyframes bt-busy-blink{0%,80%,100%{opacity:.25}40%{opacity:1}}\n@media (prefers-reduced-motion:reduce){.bt-busy-dots>span{animation:none;opacity:.6}}\n.bt-typing{display:flex;align-items:center;gap:12px;height:36px;min-width:0;padding-inline-start:8px;transform-origin:0 50%;animation:bt-typing-in '.concat(q1.duration,"ms ").concat(q1.easing," backwards}\n.bt-typing[data-exiting]{animation:bt-typing-out .14s cubic-bezier(.22,1,.36,1) forwards}\n.bt-typing[data-carry],.bt-typing[data-carry]>.bt-typing-text{animation:none}\n/* Between a friend's chat turns the row sits in the last turn's tail (#443), at the transcript's foot. */\n[data-turn-tail]>.bt-typing{margin-top:var(--dsh-chat-flow-gap,12px)}\n.bt-typing>.bt-mark,.bt-typing>.bt-cluster{flex-shrink:0}\n.bt-typing>.bt-mark{cursor:pointer;transition:filter .16s ease-out}\n.bt-typing>.bt-mark:hover{filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}\n.bt-typing>.bt-mark .bt-eyes{transition:scale .28s cubic-bezier(.4,.06,.18,1)}\n.bt-typing>.bt-mark:hover .bt-eyes{scale:1.18}\n.bt-typing-text{display:flex;align-items:center;flex:1 1 auto;min-width:0;animation:bt-typing-label .22s ease-out .2s backwards}\n.bt-typing-label{display:inline-flex;align-items:center;gap:6px;min-width:0;animation:bt-typing-label .22s ease-out backwards}\n.bt-typing-label>.bt-shimmer{font-size:14px;line-height:22px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-typing-time{flex-shrink:0;font-size:12px;line-height:22px;color:var(--bt-ink-3);white-space:nowrap}\n@keyframes bt-typing-in{from{opacity:0;transform:scale(.9)}}\n@keyframes bt-typing-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92);filter:blur(3px)}}\n@keyframes bt-typing-label{from{opacity:0;filter:blur(5px);transform:translateY(3px)}}\n/* Shimmer: a stepped sweep clipped to the text. */\n.bt-shimmer{color:transparent;background:linear-gradient(90deg,var(--bt-shimmer-base) 0%,var(--bt-shimmer-base) 25%,var(--bt-ink) 60%,var(--bt-shimmer-base) 75%,var(--bt-shimmer-base) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:bt-shimmer 2.2s steps(60) infinite;--bt-shimmer-base:color-mix(in srgb,var(--bt-ink) 40%,transparent)}\n@keyframes bt-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}\n/* New rows slide up; a reply that replaces the activity row grows out of its corner. */\n[data-bt-enter=\"new\"]{animation:bt-row-in ").concat(b1.duration,"ms ").concat(b1.easing,'}\n[data-bt-enter="after-collapse"]{transform-origin:0 100%;animation:bt-row-after .24s cubic-bezier(.23,1,.32,1) .38s backwards}\n@keyframes bt-row-in{from{transform:translateY(12px)}to{transform:none}}\n@keyframes bt-row-after{0%{opacity:0;transform:translateY(12px) scale(.94)}55%{opacity:1}100%{opacity:1;transform:none}}\n@media (prefers-reduced-motion:reduce){\n.bt-typing,.bt-typing[data-exiting]{animation-name:bt-fade-in;animation-duration:.12s;transform:none}\n.bt-typing[data-exiting]{animation-name:bt-fade-out}\n.bt-typing-text,.bt-typing-label{animation-name:bt-fade-in;animation-delay:0s}\n.bt-shimmer{animation:none;background:none;color:var(--bt-ink-2)}\n[data-bt-enter="new"]{animation:none}\n[data-bt-enter="after-collapse"]{animation:bt-fade-in .12s ease-out}\n}\n@keyframes bt-fade-in{from{opacity:0}to{opacity:1}}\n@keyframes bt-fade-out{from{opacity:1}to{opacity:0}}\n[data-composer-card]{display:flex!important;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0!important;min-height:44px;border-radius:22px!important;padding:7.5px!important;box-sizing:border-box;background:var(--bt-main)!important;border:.5px solid var(--bt-line-2)!important;box-shadow:0 2px 8px -1px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.03),0 0 0 1px rgba(228,228,228,.04)!important;transition:border-color .15s ease,background-color .15s ease,').concat(w0(b1,"border-radius"),'!important}\n[data-composer-card]:hover{border-color:color-mix(in srgb,var(--bt-ink) 30%,transparent)!important}\n[data-composer-card]:focus-within{border-color:color-mix(in srgb,var(--bt-ink) 55%,transparent)!important}\n[data-composer-card]:has(> [data-slot="conversation.input.attachments"] *),[data-composer-card]:has([data-composer-input] br + *),[data-composer-card]:has([data-composer-input] > :nth-child(2)){border-radius:18px!important}\n[class*="_root"]:has(> [data-composer-card]){padding:0 11px 13px 16px!important}\n[class*="_root"]:has(> [data-composer-card])>[data-composer-card]{max-width:min(992px,100%)!important}\n[data-composer-card]>[class*="_row"]{display:contents!important}\n[data-composer-card] [class*="_tools"]{order:1;flex:none;align-self:flex-end;margin:0}\n[data-composer-card]>[data-input-scroll]{order:2;flex:1 1 0;min-width:0;padding:0 8px!important;margin:0!important}\n[data-composer-card] [class*="_trailing"]{order:3;flex:none;align-self:flex-end;margin:0}\n[data-composer-card]>[data-slot="conversation.input.attachments"]{order:0;flex-basis:100%}\n[data-composer-card] [data-composer-input]{min-height:24px;padding:2px 0!important}\n[data-composer-card] [data-composer-placeholder]{left:0!important;top:2px!important}\n[data-composer-placeholder]{font-size:0!important;line-height:0!important}\n/* A friend\'s Bot chat: no local run stats (they are relay turns, always 0; #419). */\nbody[data-bt-friend-chat] [data-composer-stats]{display:none!important}\n[data-composer-placeholder]::after{content:var(--bt-placeholder,"Message");display:block;font-size:14px;line-height:24px;color:color-mix(in srgb,var(--bt-ink) 36%,transparent)}\n/* The team\'s "+" (ComposerPlus) takes the seat of the shell\'s command-menu button. */\n[data-composer-card] button[class*="_add"]{display:none!important}\n.bt-plus{flex:none;width:28px;height:28px;padding:0;border:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bt-ink) 5%,transparent);box-shadow:inset 0 0 0 .5px var(--bt-line);color:var(--bt-ink-2);cursor:pointer;transition:background-color .15s ease,color .15s ease,').concat(w0(q1,"scale"),"}\n.bt-plus:hover,.bt-plus[aria-expanded=true]{background:color-mix(in srgb,var(--bt-ink) 10%,transparent);color:var(--bt-ink)}\n.bt-plus:active{scale:.9}\n.bt-plus svg{width:14px;height:14px;transition:").concat(w0(G1,"rotate"),'}\n.bt-plus[aria-expanded=true] svg{rotate:45deg}\n.bt-plus-menu{min-width:180px}\n[data-composer-card] [class*="_tools"]{gap:0!important}\n[data-composer-card] [class*="_modes"]:empty{display:none!important}\n[data-composer-card] [class*="_activity"]:not(:has([data-slot] > *)){display:none!important}\n[data-composer-card] [class*="_trailing"]{gap:8px}\n[data-composer-card] [class*="_standardControls"]{display:flex;align-items:center;gap:8px}\n[data-composer-card] button[class*="_primary"]{width:28px!important;height:28px!important;background:var(--bt-accent)!important;color:var(--bt-accent-ink,#fff)!important;border-radius:50%!important;transition:opacity .15s ease,').concat(w0(q1,"scale"),";animation:bt-icon-swap ").concat(G1.duration,"ms ").concat(G1.easing,'}\n[data-composer-card] button[class*="_primary"]:hover:not(:disabled){opacity:.9}\n[data-composer-card] button[class*="_primary"]:active:not(:disabled){scale:.9}\n@keyframes bt-icon-swap{from{opacity:0;transform:scale(.5) rotate(-30deg)}}\n[data-composer-card] button[class*="_primary"] svg{width:14px;height:14px}\n[data-composer-card] button[class*="_primary"]:disabled{display:none!important}\n[data-composer-dock]{display:none!important}\n.bt-mic,.bt-voice{flex:none;width:28px;height:28px;border-radius:50%;border:0;padding:0;display:inline-grid;place-items:center;cursor:pointer;transition:background-color .15s ease,color .15s ease,').concat(w0(q1,"scale"),"}\n.bt-mic{background:color-mix(in srgb,var(--bt-ink) 5%,transparent);box-shadow:inset 0 0 0 .5px var(--bt-line);color:var(--bt-ink-2)}\n.bt-mic:hover{background:color-mix(in srgb,var(--bt-ink) 10%,transparent);color:var(--bt-ink)}\n.bt-mic[aria-pressed=true]{background:#ff3e51;color:#fff;animation:bt-mic-pulse 1.4s ease-in-out infinite}\n@keyframes bt-mic-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,62,81,.35)}50%{box-shadow:0 0 0 5px rgba(255,62,81,0)}}\n.bt-voice{display:none;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);animation:bt-icon-swap ").concat(G1.duration,"ms ").concat(G1.easing,'}\n.bt-voice:hover{opacity:.9}\n.bt-mic:active,.bt-voice:active{scale:.9}\n[data-composer-card]:has(button[class*="_primary"]:disabled) .bt-voice{display:inline-grid}\nbody[data-bt-room] .bt-voice{display:none!important}\nbody[data-bt-room] [data-composer-card] [class*="_activity"]{display:none!important}\nbody[data-bt-room] [data-composer-card]:has(button[class*="_primary"]:disabled) .bt-mic:not([aria-pressed=true]){background:var(--bt-accent);color:var(--bt-accent-ink,#fff)}\nbody[data-bt-workflow] [data-composer-card]{display:none!important}\n.bt-mic-note{position:absolute;right:12px;bottom:calc(100% + 8px);padding:5px 10px;border-radius:8px;background:var(--bt-user);color:var(--bt-user-ink);font-size:12px;line-height:16px;white-space:nowrap;pointer-events:none;animation:bt-rise .16s ease-out}\n[data-chain-overlay-fallback="conversation.composer"]:has(~ .bt-q){display:block!important;order:2}\n.bt-q{order:1}\ndiv:has(> nav [class*="_marks"]){display:none!important}\n/* Every user-side bubble (sent, steering mid-turn, not yet admitted, question replies)\n takes its surface and its text from the one --bt-user pair: a skin that repaints\n the host\'s bubble surface alone would otherwise leave the text unreadable. */\n[class*="_userRow"] [class*="_bubble"],[data-chat-flow-kind=question-reply] [class*="_bubble"],[data-chat-flow-kind=command-input] [class*="_bubble"]{background:var(--bt-user)!important;color:var(--bt-user-ink)!important;border-radius:18px!important;padding:7px 12px!important;font-size:var(--dsh-content-font-size,14px)!important;line-height:calc(var(--dsh-content-font-size,14px) + 8px)!important}\n[class*="_userRow"] [class*="_bubble"] [class*="_markdown"],[class*="_userRow"] [class*="_bubble"] a{color:inherit}\n/* Sent messages get the hover toolbar below; steering and unsent bubbles keep none. */\n[class*="_userRow"] [class*="_actions"]{display:none!important}\n[data-chat-flow-kind=user] [class*="_userRow"]{flex-direction:row-reverse;align-items:center;justify-content:flex-start}\n[data-chat-flow-kind=user] [class*="_actions"]{display:flex!important;height:24px!important;gap:2px!important;opacity:0!important;visibility:hidden;transition:opacity .12s ease,visibility .12s!important;flex:none}\n[data-chat-flow-kind=user] [class*="_userRow"]:hover [class*="_actions"],[data-chat-flow-kind=user] [class*="_userRow"]:focus-within [class*="_actions"]{opacity:1!important;visibility:visible}\n[data-chat-flow-kind=user] [class*="_actions"] [class*="_timeStart"]{display:none}\n[data-chat-flow-kind=user] [class*="_actions"] button{width:24px;height:24px;border-radius:6px;color:var(--bt-ink-2)}\n[data-chat-flow-kind=user] [class*="_actions"] button:hover{background:var(--bt-hover);color:var(--bt-ink)}\n[data-chat-flow-kind=user] [class*="_actions"] svg{width:15px;height:15px}\n.bt-q-inline{display:flex;margin:4px 0 6px}\n[data-chat-flow-kind=assistant-step]+[data-step-process]:has(.bt-q-inline){margin-top:0!important}\n[data-chat-flow-kind=question-reply]:has(.bt-q-inline),[data-chat-group-key]:has([data-chat-flow-kind=question-reply] .bt-q-inline),[data-chat-group-key]:has(.bt-q-gone){margin-top:0!important}\n.bt-q-inline .bt-q{margin:0;max-width:min(550px,86%);order:0}\n.bt-q-dock{width:100%;display:flex;justify-content:center}\n.bt-q-dock .bt-q{margin:0 auto 8px}\n[class*="_toBottomSlot"]{justify-content:center!important;padding-right:0!important}\n[data-conversation-scroll] [class*="_toBottomSlot"]{bottom:calc(var(--dsh-composer-height,152px) + 8px)!important}\n[class*="_toBottomSlot"]>button{width:36px!important;height:36px!important;margin-top:-36px!important;background:var(--bt-main)!important;color:var(--bt-ink)!important;box-shadow:0 0 0 .5px var(--bt-line-2),0 2px 8px -2px rgba(0,0,0,.12)!important;animation:bt-tobottom-in ').concat(q1.duration,"ms ").concat(q1.easing,",bt-veil-in .16s ease-out;transition:background-color .12s ease,").concat(w0(q1,"scale"),"}\n[class*=\"_toBottomSlot\"]>button:active{scale:.9}\n[class*=\"_toBottomSlot\"]>button:hover{background:color-mix(in srgb,var(--bt-ink) 4%,var(--bt-main))!important}\n[class*=\"_toBottomSlot\"]>button svg{display:none}\n[class*=\"_toBottomSlot\"]>button::before{content:\"\";width:20px;height:20px;background:currentColor;-webkit-mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4v12M5 11l5 5 5-5'/%3E%3C/svg%3E\") center/contain no-repeat;mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4v12M5 11l5 5 5-5'/%3E%3C/svg%3E\") center/contain no-repeat}\n@keyframes bt-tobottom-in{from{translate:0 8px;scale:.8}}\n[data-bt-news] [class*=\"_toBottomSlot\"]>button{visibility:hidden!important;pointer-events:none!important}\n.bt-news{position:fixed;z-index:30;transform:translateX(-50%);display:inline-flex;align-items:center;overflow:hidden;border-radius:999px;background:#0c64c1;color:#fcfcfc;box-shadow:inset 0 0 0 1px rgba(20,20,20,.05),0 1px 3px 0 rgba(0,0,0,.12);font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",system-ui,sans-serif;animation:bt-news-in ").concat(q1.duration,"ms ").concat(q1.easing,',bt-veil-in .16s ease-out}\n@keyframes bt-news-in{from{translate:0 8px;scale:.9}}\n.bt-news[data-direction=up]{animation-name:bt-news-in-up,bt-veil-in}\n@keyframes bt-news-in-up{from{translate:0 -8px;scale:.9}}\n.bt-news-jump{display:inline-flex;align-items:center;gap:2px;margin:0;padding:4px 26px 4px 4px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-size:13px;line-height:18px;white-space:nowrap;cursor:pointer;outline:none}\n.bt-news-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}\n.bt-news-ico svg{width:16px;height:16px}\n.bt-news-x{position:absolute;right:4px;top:50%;z-index:1;transform:translateY(-50%);width:20px;height:20px;padding:0;border:0;border-radius:999px;background:transparent;color:inherit;opacity:.75;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}\n.bt-news-x svg{width:12px;height:12px}\n.bt-news-x:hover{opacity:1;background:rgba(20,20,20,.5)}\n@media (prefers-reduced-motion:reduce){.bt-news,[class*="_toBottomSlot"]>button{animation:none}}\n.bt-new-sep{display:flex;align-items:center;gap:8px;margin:14px 0 8px;padding:2px 0;font-size:11px;line-height:14px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:#0c64c1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-new-sep::before,.bt-new-sep::after{content:"";flex:1;height:1px;background:color-mix(in srgb,#0c64c1 20%,transparent)}\n.bt-open-new{display:flex;flex-direction:column}\n.bt-open-new .bt-new-sep{margin:18px 0 0}\n.bt-open-new .bt-time-sep{height:16px;margin:32px 0 2px}\n.bt-earlier{display:flex;flex-direction:column;gap:6px}\n.bt-earlier-top{display:flex;justify-content:center;align-items:center;height:34px;flex:none}\n.bt-earlier-top .bt-soft{height:28px;font-size:12px;padding:0 12px}\n.bt-urow{display:flex;justify-content:flex-end}\n.bt-urow>.bt-lead{align-self:flex-end;margin-left:6px}\n.bt-ububble{max-width:min(560px,78%);background:var(--bt-user);color:var(--bt-user-ink);border-radius:18px;padding:7px 12px;font-size:14px;line-height:20px;box-sizing:border-box;overflow-wrap:anywhere}\n.bt-ububble [class*="_markdown"],.bt-ububble a{color:inherit!important}\n.bt-ububble p{margin:0;line-height:22px}\n.bt-uimages{display:block;font-size:12px;opacity:.7}\n.bt-earlier .bt-event{margin:4px 0}\n.bt-part-line{display:flex;align-items:center;gap:10px;margin:10px 0 6px;font-size:11px;line-height:14px;color:var(--bt-ink-3)}\n.bt-part-line::before,.bt-part-line::after{content:"";flex:1;height:1px;background:var(--bt-line)}\n');function EP({source:e,roster:t,openBot:n,onQuote:a}){let i=(0,w1.useSyncExternalStore)(e.subscribe,e.getSnapshot),[r,s]=(0,w1.useState)(""),c=e.chat(),o=u=>Promise.resolve().then(u).catch(m=>{throw s(m.message),m}),l={reactions:{}},p=(u,m,d=!1)=>{let f=t.bots.find(w=>w.id===u.botId||w.role===u.speaker);return(0,w1.createElement)("article",{key:m,"data-native-message":u.kind??"assistant",...u.feishu?.messageId?{id:"feishu-message-".concat(u.feishu.messageId)}:{}},u.feishu?.rootId?(0,w1.createElement)("button",{type:"button",onClick:()=>document.getElementById("feishu-message-".concat(u.feishu.rootId))?.scrollIntoView?.({block:"center"})},"\u21AA Reply in thread"):null,(0,w1.createElement)("header",null,f?(0,w1.createElement)(n2,{bot:f,size:28}):(0,w1.createElement)(J7,{name:u.speaker}),u.speaker??(u.kind==="human"?"You":"Bot")),u.kind==="human"?(0,w1.createElement)(gl,{name:u.speaker??"You",texts:[String(u.text??"")],roster:t,selfId:f?.id,useUi:w=>w(l),actions:{quote:(w,x)=>a?.(x),openSession:w=>{t.byId[w]&&n?.(w)}}}):(0,w1.createElement)(_z,{node:{key:m,data:{turn:0,step:0,status:d?"running":"done",blocks:[{kind:"text",text:String(u.text??"")}]}},sessionId:f?.id,useRoster:w=>w(t),useUi:w=>w(l),useTurnSteps:()=>[],useTurnContext:()=>[],actions:{noteLive(){},quote:(w,x)=>{a?.(x)},openSession:w=>{t.bots.some(x=>x.id===w)&&n?.(w)}}}),(0,w1.createElement)(VP,{files:u.attachments??(u.attachmentIds??[]).map(w=>i.attachments?.find(x=>x.id===w)).filter(Boolean),read:w=>c.readAttachment(w)}))};return(0,w1.createElement)("div",{className:"bt-native-conversation",role:"log"},i.messages.map((u,m)=>p(u,u.id??m)),(i.tools??[]).map(u=>(0,w1.createElement)("details",{key:"process:".concat(u.id),"data-native-process":""},(0,w1.createElement)("summary",null,"".concat(v5(u.tool)," \xB7 ").concat(u.status)),u.text?p({text:u.text,speaker:"Tool output"},"result:".concat(u.id)):null)),(i.groupWork??[]).map(u=>(0,w1.createElement)("section",{key:u.botId},(0,w1.createElement)("header",null,u.name??"Bot"),(0,w1.createElement)(kz,{entry:{state:"work",doing:u,here:u.canStop},bot:t.byId[u.botId]??{id:u.botId},room:{id:i.binding?.personalId},now:Date.now(),actions:{stopMemberWork:(m,d)=>c.stopMember(d),reportError:m=>s(m.message)}}))),i.question?(0,w1.createElement)(K9,{sessionId:i.binding?.personalId,question:i.question,inline:!0,actions:{answerQuestion:(u,m,d)=>o(()=>c.answerQuestion(m,d)),dismissQuestion:()=>{o(()=>c.dismissQuestion(i.question.id)).catch(()=>{})}}}):null,(i.approvals??[]).map(u=>(0,w1.createElement)(o9,{key:u.id,approval:u,standing:!1,bot:t.byId[i.binding?.personalId]??{id:i.binding?.personalId,name:"Bot"},actions:{answerApproval:(m,d)=>c.answerApproval(m,d),reportError:m=>s(m.message)}})),i.binding?.personalId&&!i.binding.personalPart&&!i.groupWork?(0,w1.createElement)("div",{className:"bt-scoped-controls"},(0,w1.createElement)("button",{type:"button",onClick:()=>{o(()=>i.busy?c.stop():c.send("Continue.")).catch(()=>{})}},i.busy?"Stop reply":"Continue")):null,r?(0,w1.createElement)("p",{role:"alert"},r):null,i.live?.tool?(0,w1.createElement)("p",{role:"status","data-native-tool":""},v5(i.live.tool)):null,(i.sessions??[]).filter(u=>u.live?.tool).map(u=>(0,w1.createElement)("p",{key:"tool:".concat(u.role),role:"status","data-native-tool":""},"".concat(u.role,": ").concat(v5(u.live.tool)))),i.live?.text?p({...i.live,speaker:i.live.speaker??"Bot"},"live",!0):null,(i.sessions??[]).filter(u=>u.live?.text).map(u=>p({...u.live,speaker:u.role},"live:".concat(u.role),!0)))}function E7(e,t,n){let a=(0,Tz.createRoot)(e),i=s=>a.render(n(s));i(t);let r=()=>a.unmount();return r.update=i,r}function ZP(e,t){return E7(e,t,({source:n,bots:a=[],openBot:i,onQuote:r})=>{let s=a.map(({id:o,name:l,role:p})=>({id:o,name:l,role:p})),c={roomsById:{},exchangeTurns:{},remoteTypedTurns:{},bots:s,byId:Object.fromEntries(s.map(o=>[o.id,o]))};return(0,w1.createElement)(EP,{source:n,roster:c,openBot:i,onQuote:r})})}var FP=Hz+Nz+_l+fl;function jP(e,t){return E7(e,t,({bots:n=[],rooms:a=[],mainBotIds:i=[],selectedId:r,openSession:s,openDetails:c})=>{n=n.map(l=>({...l,sessionId:l.sessionId??l.id}));let o={bots:n,rooms:a,mainBotIds:i,mainBotId:i[0],byId:Object.fromEntries(n.map(l=>[l.id,l])),roomsById:Object.fromEntries(a.map(l=>[l.id,l])),exchangeTurns:{},remoteTypedTurns:{},questions:{}};return(0,w1.createElement)(jz,{roster:o,selectedId:r,openSession:s,openDetails:c})})}function HP(e,t){return E7(e,t,n=>(0,w1.createElement)(vl,n))}function NP({worker:e,answer:t}){let[n,a]=(0,w1.useState)(""),i=e.pending;return i.kind!=="permission"?(0,w1.createElement)(vl,{chat:{send:r=>t({text:r})},onError:r=>a(r.message)}):(0,w1.createElement)("div",null,(0,w1.createElement)(o9,{approval:{id:i.id,tool:i.request?.name??"Runtime action",reason:i.request?.description??"",answerable:!0},bot:{id:e.id,name:e.role},standing:!1,actions:{answerApproval:(r,s)=>t({requestId:r,allow:s==="allow"}),reportError:r=>a(r.message)}}),n?(0,w1.createElement)("p",{role:"alert"},n):null)}function TP(e,t){return E7(e,t,n=>(0,w1.createElement)(NP,n))}function VP({files:e,read:t}){let[n,a]=(0,w1.useState)({}),[i,r]=(0,w1.useState)(""),s=(0,w1.useRef)(!0);(0,w1.useEffect)(()=>()=>{s.current=!1},[]);let c=async o=>{try{let l=await t(o);s.current&&a(p=>({...p,[o.id]:l}))}catch(l){s.current&&r(l.message)}};return(0,w1.createElement)("div",{className:"bt-scoped-attachments"},e.map(o=>{let l=n[o.id],p=l?.kind==="image"&&["image/png","image/jpeg","image/webp","image/gif"].includes(l.mediaType),u=l?.data?"data:".concat(p?l.mediaType:"application/octet-stream",";base64,").concat(l.data):null;return(0,w1.createElement)("div",{key:o.id},(0,w1.createElement)("button",{type:"button",onClick:()=>{c(o)}},"".concat(o.name??"Attachment").concat(Number.isFinite(o.bytes)?" \xB7 "+Q7(o.bytes):"")),p&&u?(0,w1.createElement)("img",{src:u,alt:o.name??"Attachment",width:240}):null,u?(0,w1.createElement)("a",{href:u,download:l.name??o.name},"Download"):null,typeof l?.text=="string"?(0,w1.createElement)("pre",null,l.text):null)}),i?(0,w1.createElement)("p",{role:"alert"},i):null)}function qP(e,t){let n=Il(t.language??navigator.language),a=E7(e,t,r=>(0,w1.createElement)(Gl,r)),i=()=>{a(),n()};return i.update=a.update,i}return Rz(IP);})(); /*! Bundled license information: react/cjs/react.production.min.js: diff --git a/core/workbench.js b/core/workbench.js index b7a1b4d9d..ce52f14f1 100644 --- a/core/workbench.js +++ b/core/workbench.js @@ -213,7 +213,10 @@ async readAttachment(file) { if (disposed || !selected || captured !== generation) throw new Error("Conversation handle is retired"); let value; - if (selected.personalId) value = await api.call("personal-space", { operation: "attachment-read", id: selected.personalId, ...selected.personalPart ? { partId: selected.personalPart } : {}, seq: file.seq, attachmentId: file.id }); + if (selected.personalId && file.feishuAppId) { + const result = await api.call("feishu", { operation: "attachment", appId: file.feishuAppId, attachmentId: file.id }); + value = { ...file, data: result.content_base64 }; + } else if (selected.personalId) value = await api.call("personal-space", { operation: "attachment-read", id: selected.personalId, ...selected.personalPart ? { partId: selected.personalPart } : {}, seq: file.seq, attachmentId: file.id }); else if (selected.roomId) value = await api.call("project-room-attachment", { projectId: selected.projectId, roomId: selected.roomId, attachmentId: file.id }); else throw new Error("Attachment is unavailable in this conversation"); if (disposed || captured !== generation) throw new Error("Conversation handle is retired"); @@ -276,6 +279,7 @@ else await conversationSource.open(binding); return conversationSource.getSnapshot(); } + const feishuActions = { feishu: (payload) => api.call("feishu", payload), connectorConnect: (_id, body) => api.call("feishu", { operation: "webhook", ...body.credentials }) }; const drafts = /* @__PURE__ */ new Map(), expanded = /* @__PURE__ */ new Map(); let runtimeTerminal, terminalTimer, terminalPolling = false, rooms, roomView, pools; async function closeTerminal() { @@ -422,6 +426,11 @@ const revoke = api.call("auth-revoke"); api.setToken(""); void closeTerminal(); + if (win.location.hash === "#/connections" || new URLSearchParams(win.location.search).has("feishu-app") && !win.location.hash) { + selected = ""; + tab = "connections"; + taskId = ""; + } personal = personalMemory = null; drafts.clear(); notice = ""; @@ -476,6 +485,12 @@ const state = await api.call("workbench-state", {}, controller.signal); if (current !== epoch || disposed) return; bootstrap = state; + if (section === "connections") { + personal = await api.call("personal-space", { operation: "list" }, controller.signal); + if (current !== epoch || disposed) return; + render(); + return; + } if (section === "personal") { const roster = await api.call("personal-space", { operation: "list" }, controller.signal); if (current !== epoch || disposed) return; @@ -944,17 +959,27 @@ ${result.text}`; for (const room of rooms?.rooms ?? []) roomNav.append(button(room.name, () => route(selected, "rooms", room.id))); sidebar.append(roomNav); } + sidebar.append(button("Connections", () => { + win.location.hash = "/connections"; + })); sidebar.append(button("All Projects", () => { win.location.hash = ""; }), button("Sign out", () => { void signOut(); })); - if (tab === "personal") { + if (tab === "connections") { + main.append(el("h1", "Connections")); + const node = el("div", null, "native-feishu-setup"); + main.append(node); + nativeIslands.register(node, nativeKey("feishu"), conversationSource, (target, options) => win.FlyBotNativeConversation.mountNativeFeishu(target, options), { actions: feishuActions, roster: { ...personal, self: bootstrap.self }, onClose: () => { + win.location.hash = "/personal"; + } }); + } else if (tab === "personal") { const chatList = el("div", null, "native-personal-list"); sidebar.append(chatList); mountPersonalList(chatList); main.append(el("h1", "Personal space"), el("p", "Your original Chief, Bots and internal group conversations. Project agents remain separate.")); - for (const bot of personal?.bots ?? []) { + for (const bot of (personal?.bots ?? []).filter((bot2) => !bot2.remote)) { const card = box(`${personal.mainBotIds.includes(bot.id) ? "Chief · " : ""}${bot.name}`, button("Open conversation", () => { win.location.hash = `/personal/${encodeURIComponent(bot.id)}`; })); diff --git a/docker/compose.local.yaml b/docker/compose.local.yaml new file mode 100644 index 000000000..c94ad8195 --- /dev/null +++ b/docker/compose.local.yaml @@ -0,0 +1,22 @@ +# Local deployment: publish the console while the Harness keeps its loopback-only bind. +services: + flybot: + network_mode: !reset null + # Publishing TCP does not grant browser API trust. Admit only the address people use. + command: ["--trusted-host", "${FLYBOT_TRUSTED_HOST:?Set FLYBOT_TRUSTED_HOST to the Web host:port}"] + ports: + - "0.0.0.0:${FLYBOT_PUBLIC_PORT:-3080}:8080" + - "0.0.0.0:${FLYBOT_FEISHU_PUBLIC_PORT:-3082}:3082" + environment: + FLYBOT_PORT: "3080" + FLYBOT_FEISHU_EVENTS_PORT: "3082" + relay: + image: flybot:${FLYBOT_TAG:-local} + restart: unless-stopped + network_mode: service:flybot + depends_on: + - flybot + entrypoint: + - node + - -e + - "const net=require('node:net');net.createServer(client=>{const upstream=net.connect(3080,'127.0.0.1');client.pipe(upstream).pipe(client);client.on('error',()=>upstream.destroy());upstream.on('error',()=>client.destroy());client.on('close',()=>upstream.destroy());upstream.on('close',()=>client.destroy())}).listen(8080,'0.0.0.0')" diff --git a/docker/profile.mjs b/docker/profile.mjs index bdeff3cb6..6630f5568 100644 --- a/docker/profile.mjs +++ b/docker/profile.mjs @@ -17,6 +17,19 @@ export function imagePackages(packagesDir) { .sort((a, b) => a.name.localeCompare(b.name)) } +/** + * The runtime dependencies an image package declares but does not carry in its own + * node_modules, as `name -> dependency`. A `link:` in the profile installs none of a linked + * package's dependencies, so the image has to; the build fails on any entry here. + * @param packages - from imagePackages(). + */ +export function missingDependencies(packages) { + return packages.flatMap(({ name, dir }) => { + const declared = Object.keys(JSON.parse(readFileSync(join(dir, 'package.json'), 'utf8')).dependencies ?? {}) + return declared.filter((dep) => !existsSync(join(dir, 'node_modules', dep, 'package.json'))).map((dep) => `${name} -> ${dep}`) + }) +} + /** * The profile manifest with every image package linked and listed as a bundle. Other * dependencies and bundles are kept as they are; a FlyBot package that is already a bundle diff --git a/docs/docker.md b/docs/docker.md index ff4cce256..20375fc96 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -10,6 +10,7 @@ You build the image yourself. FlyBot does not publish an image. - **One data volume**, `/data`: the DSH home (Bots, Sessions, settings, credentials), the Bots' working folder `/data/workspace` and the pnpm store. - **A normal user**, not root (uid 1000). +- **The core's runtime libraries.** The profile links the FlyBot packages, and a link installs none of a package's own dependencies, so the image carries them: the Feishu long-connection SDK and the Claude and Codex executor SDKs, at the versions in `core/package-lock.json`. The build stops if one is missing. - **No keys in the image.** You give the DeepSeek key at run time. - **The port on `127.0.0.1` only.** The container shares the host's network (`network_mode: host`) and the web server binds that loopback itself, because DSH 0.2.1 refuses a wildcard host. For access from another machine use your own HTTPS reverse proxy or an SSH tunnel. Never publish the port on a public address: whoever reaches it with the sign-in link controls your Bots, and they can run commands. - **A health check**: `docker compose ps` shows `healthy` once the web server answers. @@ -51,6 +52,14 @@ ssh -N -L 3080:127.0.0.1:3080 you@your-server Then open the link from the logs on your own machine. A reverse proxy (Caddy, nginx) on the server works too; give it HTTPS, forward to `127.0.0.1:3080`, and start DSH with that name trusted, for example by adding to `compose.yaml` under `flybot`: `command: ["--trusted-host", "flybot.example.com"]`. +**Local network deployment.** The optional `docker/compose.local.yaml` override publishes the console on all host interfaces through a TCP relay. Set `FLYBOT_TRUSTED_HOST` to the exact hostname or IP and public port used in the browser; replace the example address with this machine's local address: + +```sh +FLYBOT_TRUSTED_HOST=192.168.1.10:3080 docker compose -f compose.yaml -f docker/compose.local.yaml up -d --build +``` + +Keep the same Compose project name when updating an existing deployment so it reuses the data volume. `FLYBOT_PUBLIC_PORT` changes the console's published port; `FLYBOT_FEISHU_PUBLIC_PORT` changes the separate Feishu event port (default 3082). Publishing a port alone does not authorize browser API requests: without the trusted host, the sign-in page can open while `/api/bot` and WebSocket requests return HTTP 403. The override requires an explicit trusted host to prevent that incomplete setup. Verify a signed-in API request from the actual browser address, in addition to container health. Cookie authentication and rejection of other hosts and cross-origin requests remain enabled. + **More people on one machine.** One project name, port and volume each: ```sh diff --git a/docs/docker.zh.md b/docs/docker.zh.md index bbb122652..4d0cf2a70 100644 --- a/docs/docker.zh.md +++ b/docs/docker.zh.md @@ -10,6 +10,7 @@ - **一个数据卷** `/data`:DSH 目录(Bot、会话、设置、凭据)、Bot 的工作目录 `/data/workspace` 和 pnpm 缓存。 - **普通用户运行**,不是 root(uid 1000)。 +- **核心的运行时依赖。** profile 以链接方式引用 FlyBot 的包,链接不会安装包自己的依赖,所以由镜像自带:飞书长连接 SDK,以及 Claude、Codex 执行器的 SDK,版本以 `core/package-lock.json` 为准。缺任何一个,构建都会失败。 - **镜像里没有密钥。** DeepSeek Key 在运行时提供。 - **端口只绑定 `127.0.0.1`。** 容器使用宿主机的网络(`network_mode: host`),Web 服务自己绑定这个回环地址,因为 DSH 0.2.1 拒绝通配地址。从别的机器访问请用你自己的 HTTPS 反向代理或 SSH 隧道。不要把端口暴露到公网:拿到登录链接的人就能控制你的 Bot,而 Bot 能执行命令。 - **健康检查**:Web 服务能响应后,`docker compose ps` 显示 `healthy`。 @@ -51,6 +52,14 @@ ssh -N -L 3080:127.0.0.1:3080 you@your-server 然后在自己的电脑上打开日志里的链接。也可以在服务器上用反向代理(Caddy、nginx):配置 HTTPS,转发到 `127.0.0.1:3080`,并让 DSH 信任这个域名,例如在 `compose.yaml` 的 `flybot` 下加上 `command: ["--trusted-host", "flybot.example.com"]`。 +**局域网本地部署。** 可选的 `docker/compose.local.yaml` 通过 TCP 转发器把控制台端口发布到宿主机全部网卡。必须将 `FLYBOT_TRUSTED_HOST` 设置为浏览器实际使用的主机名或 IP 加对外端口;把示例地址换成这台机器的局域网地址: + +```sh +FLYBOT_TRUSTED_HOST=192.168.1.10:3080 docker compose -f compose.yaml -f docker/compose.local.yaml up -d --build +``` + +更新现有部署时沿用原 Compose 项目名,才能复用已有数据卷。`FLYBOT_PUBLIC_PORT` 可修改控制台对外端口;`FLYBOT_FEISHU_PUBLIC_PORT` 可修改独立的飞书事件端口(默认 3082)。发布端口不会自动允许浏览器 API 请求:缺少可信地址时,登录页面可以打开,`/api/bot` 和 WebSocket 请求却会返回 HTTP 403。此覆盖配置要求显式填写可信地址,避免启动出这样的不完整部署。验收时除了容器健康状态,还要从实际访问地址验证登录后的 API 请求。Cookie 认证及对其他主机、跨来源请求的拒绝仍然生效。 + **一台机器上多人使用。** 每人一个项目名、端口和数据卷: ```sh diff --git a/docs/feishu.md b/docs/feishu.md new file mode 100644 index 000000000..59bcb421b --- /dev/null +++ b/docs/feishu.md @@ -0,0 +1,43 @@ +# Feishu + +Open **Connect apps → Feishu → Connect** in the native client, or **Connections** in the shared workbench. Connect is the single entry for starting or resuming setup. Both surfaces use the same component and existing Feishu channel. Custom bot webhooks remain available for sending to a group. + +Only mainland Feishu at `open.feishu.cn` is supported. Lark, encrypted HTTP events, message edits and recalls are unsupported. An application must have the Bot capability and be published to the intended enterprise members. + +## Setup + +The default long connection has six steps: create an internal app, enter credentials and test, subscribe to message events and card callbacks, publish a version, choose the local handling Bot, and try it in Feishu. The HTTP flow starts with a seventh step to prepare a public HTTPS event address. Resume an unfinished setup from the same connection. Switching receiving methods retains the application, sender list, identity links, Bot selection and conversation handles; switching to the long connection deletes the Verification Token. + +App IDs must be `cli_` followed by 16 hexadecimal characters. Credentials are encrypted in the host's dedicated Feishu vault and never returned through the connection view or injected into Bot shell environments. Blank saved credential fields retain their values. + +Import the guide's permission JSON through the Feishu developer console's **Permission management → Batch import/export**. It includes the base message, reaction, resource, group and contact scopes plus the selected tool extensions. Set the contact data scope too. After changing permissions, events or callbacks, publish another version and wait for enterprise review where required. + +The guide refreshes connection status every three seconds. Wait for **Connected** before saving **Use long connection to receive events** in Feishu. Subscribe to `im.message.receive_v1`. Separately select the matching receiving method under **Callback configuration** and subscribe to `card.action.trigger`. A connection test reads the Bot information; a not-yet-published Bot may be unavailable. Neither a successful connection test nor permission check proves that callbacks are configured. Test an actual card submit button. + +For HTTP, forward only the dedicated event listener (container port 3082 by default) through an HTTPS proxy. Its only accepted route is `POST /api/feishu/events/`. The listener exposes no console, authentication or Harness API. Set the Verification Token and leave Encrypt Key empty. `FLYBOT_FEISHU_EVENTS_PORT` selects the internal listener port. Configure a separate public FlyBot console URL for attachment fallback links; never use the event listener's URL as the console URL. + +## Conversations and access + +The existing remote conversation stores each group or private chat's history. A separately selected local Bot handles allowed requests; the remote Bot record is never the reasoning Bot. Group mentions and private messages initiate processing. Other group messages are retained as context without starting the Bot; application-originated messages do not initiate work by default. An explicit setting permits allowed robots to mention this robot, capped at eight consecutive requests per chat until a human speaks. Thread IDs remain attached to requests and replies return to the same thread. Per-chat Bot overrides use the connection's `configure` operation with `chatId` and `botId`. + +Sender allow-lists control who may request work. They do not grant a platform identity or approval authority. An authenticated existing platform member may associate their own Feishu account; the Owner may associate another existing member. Links are scoped to the Feishu application and use `open_id`, never display names. No external members or new login accounts are created. A card click from an unlinked account is refused; a meeting cannot borrow a default host. Association is an explicit administrative mapping, not a login credential. + +Rich incoming posts become Markdown. Replies use Feishu rich posts with plain-text fallback on a 30 KB limit or explicit API refusal. Images in Markdown remain links, HTML cannot create platform mentions, relative links keep only their text, and Mermaid stays code. Incoming attachments are bounded at 20 MB and admitted to the native attachment store. A single failed attachment does not discard the message's text or other files. The `feishu_file` tool sends a Session-owned image up to 10 MB or file up to 30 MB. A larger attachment fails with a size error, and an upload Feishu refuses fails with its details in the connection diagnostics; FlyBot sends no console links into Feishu. Attachment and formatting diagnostics stay in connection details. + +Accepted messages get the `Get` reaction. The application removes its own reaction only after the response is delivered. Failed sends remain in delivery records with explicit retry. Reaction failures have independent backoff; failed additions stop after five attempts and removal retries remain recoverable. Persistent inbox IDs suppress replay, including after restart, before opening a Bot request. Reply outbox records retain a stable Feishu send UUID. + +## Cards and tools + +`feishu_card` creates a persistent card, or updates the calling Bot's existing card by `cardId`. Blocks support text, fields, lists, progress, tables, charts, collapsible pages, inputs and applet descriptions. Inputs and submit buttons are placed in the final form. Card callbacks bind application, original message, chat, version, action and actual linked clicker. They persist the submission and deliver it to the card's original Bot. They never approve tools. Rejected cards fall back to text directing people to the console. Applets only display their description and console instruction. + +`feishu_apps` lists the calling Bot's applications and grants. `feishu_tool` exposes named, fixed-host operations for calendars, documents/wiki, Bitable, spreadsheets, video meetings and tasks. It accepts product-specific IDs, query and body objects, never a caller-supplied URL, host, token or HTTP method. The operation list is in `core/src/host/feishu-tools.js`. + +Grant each product separately for each Bot and application: **Disabled** (default), **Read only**, **Read/write, ask before writes**, or **Read/write**. Ask mode uses the existing native approval pipeline before any API write and rechecks grants afterwards. A generic standing approval cannot override ask mode. Deleting the application removes its grants, identities, cards, file mappings, inbox and outbox records. + +Calendar operations cover public search/subscription, application-owned shared calendars, events, attendees, ACL members and free/busy. `calendar_share_group` tracks group-derived ACL additions and follows new group members on later messages, at most once per ten minutes, without downgrading existing higher permissions. Stop-sharing removes only tracked unchanged grants. Sharing an existing group's calendar to new members is part of the approved group share; revoking the Bot's calendar grant stops that synchronization. `calendar_share_link` and `calendar_share_card` derive Feishu's calendar link from an existing event. Personal-user OAuth and meeting-room reservation are not provided. + +Document creation can share the new document with the actual linked requester. Meetings always use the actual requester's linked `open_id`; user-provided `owner_id` is overwritten. An authenticated native requester or a requester linked in another Feishu company resolves through the existing platform member to the target app's account. Missing or ambiguous target accounts refuse the meeting; the Bot's owner is never a fallback. Feishu still enforces its application scopes and access to each document, wiki, table and calendar. + +## Local Docker + +Use `docker compose -f compose.yaml -f docker/compose.local.yaml up -d --build`. The override publishes the local console on `0.0.0.0:3080` through a container-side TCP relay, retaining DSH's required loopback bind. It also publishes the event-only listener on `0.0.0.0:3082`. Existing named data volumes are retained; never use `down -v`. Override `FLYBOT_PUBLIC_PORT` and `FLYBOT_FEISHU_PUBLIC_PORT` when those host ports are occupied. Public internet use still requires HTTPS and an explicitly trusted console hostname. diff --git a/docs/openapi/flybot.openapi.json b/docs/openapi/flybot.openapi.json index 418d32f05..ae464f50b 100644 --- a/docs/openapi/flybot.openapi.json +++ b/docs/openapi/flybot.openapi.json @@ -20049,6 +20049,187 @@ "value" ] }, + "FeishuPayload": { + "type": "object", + "properties": { + "operation": { + "type": "string", + "enum": [ + "list", + "save", + "identity", + "attachment", + "test", + "scopes", + "allow", + "configure", + "grant", + "retry", + "card-action", + "delete" + ] + }, + "appId": { + "type": "string", + "pattern": "^cli_[0-9a-fA-F]{16}$" + }, + "appSecret": { + "type": "string", + "maxLength": 8192, + "writeOnly": true, + "x-sensitive": true + }, + "verificationToken": { + "type": "string", + "maxLength": 8192, + "writeOnly": true, + "x-sensitive": true + }, + "mode": { + "type": "string", + "enum": [ + "socket", + "http", + "disabled", + "read", + "ask", + "write" + ] + }, + "publicUrl": { + "type": "string", + "maxLength": 2048 + }, + "name": { + "type": "string", + "maxLength": 120 + }, + "step": { + "type": "integer", + "minimum": 0, + "maximum": 6 + }, + "botId": { + "anyOf": [ + { + "type": "string", + "minLength": 1, + "maxLength": 200, + "description": "Opaque server-issued ID; never infer authority from it." + }, + { + "type": "null" + } + ] + }, + "chatId": { + "type": "string", + "minLength": 1, + "maxLength": 200, + "description": "Opaque server-issued ID; never infer authority from it." + }, + "openId": { + "type": "string", + "minLength": 1, + "maxLength": 200, + "description": "Opaque server-issued ID; never infer authority from it." + }, + "memberId": { + "type": "string", + "minLength": 1, + "maxLength": 200, + "description": "Opaque server-issued ID; never infer authority from it." + }, + "enabled": { + "type": "boolean" + }, + "allowBots": { + "type": "boolean" + }, + "product": { + "type": "string", + "enum": [ + "calendar", + "docs", + "bitable", + "sheets", + "meeting", + "task" + ] + }, + "outboxId": { + "type": "string", + "minLength": 1, + "maxLength": 200, + "description": "Opaque server-issued ID; never infer authority from it." + }, + "eventId": { + "type": "string", + "minLength": 1, + "maxLength": 200, + "description": "Opaque server-issued ID; never infer authority from it." + }, + "cardId": { + "type": "string", + "minLength": 1, + "maxLength": 200, + "description": "Opaque server-issued ID; never infer authority from it." + }, + "action": { + "type": "string", + "minLength": 1, + "maxLength": 200, + "description": "Opaque server-issued ID; never infer authority from it." + }, + "fields": { + "$ref": "#/components/schemas/JsonValue" + }, + "attachmentId": { + "type": "string", + "minLength": 1, + "maxLength": 200, + "description": "Opaque server-issued ID; never infer authority from it." + } + }, + "additionalProperties": false + }, + "FeishuRequest": { + "type": "object", + "properties": { + "endpoint": { + "const": "feishu", + "type": "string" + }, + "payload": { + "$ref": "#/components/schemas/FeishuPayload" + } + }, + "additionalProperties": false, + "required": [ + "endpoint", + "payload" + ] + }, + "FeishuResult": { + "$ref": "#/components/schemas/JsonValue" + }, + "FeishuSuccess": { + "type": "object", + "properties": { + "ok": { + "const": true, + "type": "boolean" + }, + "value": { + "$ref": "#/components/schemas/FeishuResult" + } + }, + "additionalProperties": false, + "required": [ + "ok", + "value" + ] + }, "AuthModePayload": { "type": "object", "properties": {}, @@ -32591,6 +32772,9 @@ }, "BotRequest": { "oneOf": [ + { + "$ref": "#/components/schemas/FeishuRequest" + }, { "$ref": "#/components/schemas/AuthModeRequest" }, @@ -39526,6 +39710,94 @@ "sha256": "18fe61057fb920664fc5077d81eee0957f7eaf64821dd10d2d2a3cd463f5fdea" } }, + { + "operationId": "feishu", + "transport": { + "method": "POST", + "path": "/api/bot", + "endpoint": "feishu" + }, + "requestSchema": { + "$ref": "#/components/schemas/FeishuRequest" + }, + "resultSchema": { + "$ref": "#/components/schemas/FeishuResult" + }, + "successSchema": { + "$ref": "#/components/schemas/FeishuSuccess" + }, + "errorSchema": { + "$ref": "#/components/schemas/DomainError" + }, + "security": [ + { + "memberSession": [] + } + ], + "permission": "human-self", + "humanRoles": [ + "owner", + "maintainer", + "member" + ], + "condition": "human-only-and-own-personal-agent-or-session", + "personalAgent": { + "safe": false, + "watch": false, + "checks": [ + "unexpired-unrevoked-token", + "enabled-current-owner-principal", + "active-agent", + "explicit-token-project-scope", + "active-agent-project-participation", + "current-owner-project-rights", + "all-operation-specific-domain-preconditions" + ] + }, + "effective": "intersection-of-current-human-rights-token-scope-participation-delegation-and-domain-fences; never-role-name", + "preconditions": [ + { + "code": "human-session", + "enforcedBy": "server", + "clientCheckIsAuthority": false + }, + { + "code": "connection-owner-for-management-and-attachments", + "enforcedBy": "server", + "clientCheckIsAuthority": false + }, + { + "code": "self-identity-link-or-platform-owner-link-to-existing-member", + "enforcedBy": "server", + "clientCheckIsAuthority": false + }, + { + "code": "actual-linked-card-clicker", + "enforcedBy": "server", + "clientCheckIsAuthority": false + } + ], + "stateChanges": { + "effects": [ + "operation-specific-feishu-configuration-or-identity-grant-or-retry-or-card-submission" + ], + "effectsAreConditional": true, + "transitions": [], + "noTaskCreated": false, + "acknowledgementIsCompletion": false + }, + "idempotency": { + "mechanism": "operation-specific; card-actions-deduplicated; no-unified-command-receipt", + "retry": "only-if-domain-contract-explicitly-permits; native-alias-has-no-unified-receipt", + "unifiedCommandReceipt": false + }, + "invokesModel": false, + "notes": "operation defaults to list. Human-only existing Feishu connection guide; per-app ownership, allow-list, identity and Bot grants remain separate. Credentials are accepted only on save, encrypted on the host, and never returned. Generic cards never approve native tool requests.", + "implementation": { + "path": "core/src/host/feishu-service.js", + "sha256": "68050e9afca2706ddb4895926ac45ed915c5a91b4b23978b260ec240b86cc757" + } + }, { "operationId": "auth-mode", "transport": { @@ -39724,7 +39996,7 @@ "notes": "Anonymous, invalid or revoked credentials return ok=true,value=null. A Bot must verify non-null agentId and personalAgentCredentialId; HTTP200/ok alone is not successful login.", "implementation": { "path": "core/src/host/channel.js", - "sha256": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097" + "sha256": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb" } }, { @@ -39801,7 +40073,7 @@ "notes": "All current authorization, Project/Task bindings and domain fences are rechecked server-side.", "implementation": { "path": "core/src/host/channel.js", - "sha256": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097" + "sha256": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb" } }, { @@ -39874,7 +40146,7 @@ "notes": "Anonymous bootstrap is blocked by the public gateway; use the private operator CLI. Platform identity deployments may disable native invitation.", "implementation": { "path": "core/src/host/channel.js", - "sha256": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097" + "sha256": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb" } }, { @@ -39948,7 +40220,7 @@ "notes": "All current authorization, Project/Task bindings and domain fences are rechecked server-side.", "implementation": { "path": "core/src/host/channel.js", - "sha256": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097" + "sha256": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb" } }, { @@ -45305,7 +45577,7 @@ "notes": "All current authorization, Project/Task bindings and domain fences are rechecked server-side.", "implementation": { "path": "core/src/host/channel.js", - "sha256": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097" + "sha256": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb" } }, { @@ -45382,7 +45654,7 @@ "notes": "All current authorization, Project/Task bindings and domain fences are rechecked server-side.", "implementation": { "path": "core/src/host/channel.js", - "sha256": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097" + "sha256": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb" } }, { @@ -45471,7 +45743,7 @@ "notes": "Read native history to observe the response; send acknowledgement is not completion.", "implementation": { "path": "core/src/host/channel.js", - "sha256": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097" + "sha256": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb" } }, { @@ -45550,7 +45822,7 @@ "notes": "All current authorization, Project/Task bindings and domain fences are rechecked server-side.", "implementation": { "path": "core/src/host/channel.js", - "sha256": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097" + "sha256": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb" } }, { @@ -45629,7 +45901,7 @@ "notes": "All current authorization, Project/Task bindings and domain fences are rechecked server-side.", "implementation": { "path": "core/src/host/channel.js", - "sha256": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097" + "sha256": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb" } }, { @@ -45708,7 +45980,7 @@ "notes": "All current authorization, Project/Task bindings and domain fences are rechecked server-side.", "implementation": { "path": "core/src/host/channel.js", - "sha256": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097" + "sha256": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb" } }, { @@ -45787,7 +46059,7 @@ "notes": "All current authorization, Project/Task bindings and domain fences are rechecked server-side.", "implementation": { "path": "core/src/host/channel.js", - "sha256": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097" + "sha256": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb" } }, { @@ -45866,7 +46138,7 @@ "notes": "All current authorization, Project/Task bindings and domain fences are rechecked server-side.", "implementation": { "path": "core/src/host/channel.js", - "sha256": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097" + "sha256": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb" } }, { @@ -45943,7 +46215,7 @@ "notes": "Own personal Bot memory only; never exposes another Bot/team private memory.", "implementation": { "path": "core/src/host/channel.js", - "sha256": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097" + "sha256": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb" } }, { @@ -46025,7 +46297,7 @@ "notes": "No host path, arbitrary URL or arbitrary attachment ID.", "implementation": { "path": "core/src/host/channel.js", - "sha256": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097" + "sha256": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb" } }, { @@ -50074,6 +50346,7 @@ ], "x-flybot-inventory": { "endpoints": [ + "feishu", "personal-agent-token-create", "personal-agent-token-list", "personal-agent-token-revoke", @@ -50337,32 +50610,39 @@ "project-close-prepare", "project-close-confirm" ], - "nativeEndpointCount": 104, + "nativeEndpointCount": 105, "versionedQueryCount": 31, "versionedCommandCount": 36, - "dispatchVariantCount": 190, + "dispatchVariantCount": 191, "sources": { "core/src/host/agents.js": "79908a1904312d18b8ddac4bde534210eb1bc5f8e92136bbf35a3591042e9692", - "core/src/host/approvals.js": "0892ca1bad7c996854d91f56c57068e407b508ba8d42c34868a4eae221e30e2a", - "core/src/host/authz.js": "72e2313920028e7621de80201779c69d6406ab4e31e8a8ea73d2c81e4f67f86b", + "core/src/host/approvals.js": "3c52f6d35d259584a4c639f3598dd5c0181d8f24efdd594b79e768498fc0ce2b", + "core/src/host/authz.js": "6cb91f8969b42f7e382428301db59ad962a27bb3237f2dd96a7f90deb66bba33", "core/src/host/automation-default.js": "10eb9aa220983ad9f561f04d5bd88b5316f8d2a336ede511312445a0460e610b", "core/src/host/browser.js": "5aaccf09cd9b1e65432c7d75fa0ee3cbf823b2b765ebf32f11f1df6c073d2d78", "core/src/host/busy-ack.js": "19c5fd411e4a7b0b41e696cc8b602e9da27be6d70668ca9824861d16db3c2d27", "core/src/host/capabilities.js": "c1a0a3746573fba088163f668eb6c09c76856f0ee33d1554c916dc47d0b9d90d", - "core/src/host/channel.js": "ddf3655183525311abbb65c50c3c7a800f6de7d5f73535094d2c7c7fef6f7097", + "core/src/host/channel.js": "0d9a4eeecb928e1c203f94455270b2a0b6c6cda220155f4fdd98ef73a613aebb", "core/src/host/chat-index.js": "cda0d84b97dd53132bcc74c5ba9d849a52c8a14bfecbce599dd0788a8306a1fb", "core/src/host/connector-access.js": "43962b756d9e632ccd76c80a4557d232943b774585ccc05c8ac9c005fa0d284c", - "core/src/host/connectors.js": "2f05ffdfeac09227dff31e874de296899e2d8f0878865651fddc8bed90d65dbd", - "core/src/host/constants.js": "fdbedc1ca50f67f1b44ab5e553d8d25759e96c059202e32153372ebbf20893d3", + "core/src/host/connectors.js": "bf3e2f5de127095ed509ed5b07f156ea715e3a6c3a3a9bfb47f8b9a25fa6270a", + "core/src/host/constants.js": "4f93f8ed3fc815aed32e85c24ed0aeeabaeb27b22260455447c0be2036890420", "core/src/host/decisions.js": "f1a6a3c2c52ebb71caae466765770e4077a3f38b43dde6aab112ce41a60ed359", - "core/src/host/delivery.js": "219d3715466350402991bf608f30c112790f19716d39a922d3ac44bf28ec8b20", + "core/src/host/delivery.js": "aa2d0482a0eaf0566140dc0260895aebbd152de0f9490f5c05b3fdf0d4cee0cb", "core/src/host/diagnostics.js": "c1f20736776929b3ec1756ef83e11621a42da624993b4557cc8b24610af47aa0", "core/src/host/dsh-update.js": "e04b66ad04feee3dea3e609e8128ae0aea751cdfc2d064155205259090fc16f7", "core/src/host/experience.js": "a92fe9dfb32ab47b61e9854f9b59cfa1c43d66464debdb3e019884b5c2c26745", "core/src/host/face-lead.js": "4f31d13ce86b76ca3d69471c937a6eea6c62054e0eb9f4f86dce0c6f18c46495", "core/src/host/face-mentions.js": "3e1441c1909910b10c3752a664733454fdaf8c1a0ac00ce11424ce139a66228e", + "core/src/host/feishu-api.js": "68012b0572a656518660c708f8dea4984073a5b9055b38c0877f375e4769759b", + "core/src/host/feishu-calendar.js": "ee08388acff8b63f31f2bf74d372857e1dc5ff595b3a3ce36b0f5d870d30e3f8", + "core/src/host/feishu-format.js": "798bd881d6237bbdc23360d34c426f4cb971e6bfa73e7f07a431ebc3ed20ab30", + "core/src/host/feishu-http.js": "522097ad7958cad0037f80fdf807e9ff8bed770d3979a59a890a4ddbb41f8419", "core/src/host/feishu-inbound.js": "fae668fdffd65351f40556b3046293fdf4455a0c4c8c2021be1ddc3175527ef5", - "core/src/host/feishu-sdk.js": "9864e69cae2a6b3b3bd59ef3fea8c992175c4433bd61f1df918b58af30fbfea8", + "core/src/host/feishu-sdk.js": "181d8cad997b905ade93caadf0d95b81d94cbda44fe52181d83cd37874f38b6a", + "core/src/host/feishu-service.js": "68050e9afca2706ddb4895926ac45ed915c5a91b4b23978b260ec240b86cc757", + "core/src/host/feishu-tools.js": "39ec31a3d0095c900f13d431124597d435c9e2db09baddf0abbd0a20b9ee64a7", + "core/src/host/feishu-vault.js": "3fd1830b4fd7d91df5a3a4b55ce9b66fdfb3ba2ddc761a8cba123022dd95ecbc", "core/src/host/flybot-feed.js": "42ea1503cb28e376a4de91bd634af29826588c42b8fb61dfb6b04c1b2e41b6ba", "core/src/host/folders.js": "ec80523d0baf133658069ec1a9f45d3af3d0c7082a5c906308b3854093e103e3", "core/src/host/groups.js": "d7f0175c8ad67522aca392d7e47f9d2773c02f525bd6f33d564cbec784217bbf", @@ -50473,15 +50753,15 @@ "core/src/host/project-warnings.js": "2f10a1b462ad8bcef2f57fea8d8a908cf99eebcfce6f5eb6a64994262daa669a", "core/src/host/prompt.js": "919e8c5b28c27af6b9570a7be22609230ea4395d3fd4b7215083f9bc25978d72", "core/src/host/reach.js": "0b8f2868b36d99ccf896605685a82bcb20f670e092feec24560ff19a2a20824e", - "core/src/host/remote-chat.js": "7b83196031e922af5b44419dde60a66e414a8326bbeb641c69593667442fa81d", - "core/src/host/resume.js": "edd0c1d797b6cb22116e7aa29af0aa22c84b08e2b74b6308131ab8582db36631", + "core/src/host/remote-chat.js": "6a0e6130da94420516dfe02bbde466f8cce90291972d8782a3a088b1faac228e", + "core/src/host/resume.js": "895bf740031cd31c0c674d6ec93a94f41e99fc672481a70a993d3ca5c8aa4e97", "core/src/host/room-context.js": "6f63aa06ce07f352b43a6f5552a7aff35531484a52acf3f5c35344a08f546be1", "core/src/host/room-membership.js": "5600c76d407543496bc070d41d268524ad0f5579299aa53cb671238b9f29f357", "core/src/host/room-participant-external.js": "7524106b32f8fa59922b62798f37a1b2807643e3b52c2d75dd5f4b0b00e23b9c", "core/src/host/room-participant.js": "38aaf8a02d1c0faf861aef10d3658e73589b4d2a93024e3bf07ef2a10c459622", "core/src/host/roster.js": "9b4bf26bf6de08d0d8483d1ed3f387f6e2bdac0365d3ce015d5a46725fa6cbab", "core/src/host/schedules.js": "dec7085301cf6f8bd23c53eb52cdc6e6c643850d2ac66688ea88457d0a37c9ae", - "core/src/host/secrets.js": "5787cd55f8b7f589605955e234a326a5addd64dc74320b6ca00029291405e524", + "core/src/host/secrets.js": "caea9c0429996fa90dd2969c571f7b5b13417608606c261fab7211da7915e196", "core/src/host/steering-interrupt.js": "f9bcf7df56303c217abedc96f98a98d4e2e668bb17d9510ada7debd3a8ed207d", "core/src/host/steward.js": "9a49eb851bf12df9f35fbf4870ca8d2355dbd5338c7e40d8b57bb9bd44d58e88", "core/src/host/store.js": "59bba0c850e301b57011704ba3915cc3aea9a2c54b85c37fd51040b6e0a77971", @@ -50490,14 +50770,14 @@ "core/src/host/text.js": "709b3882356fc10d367533634e021b979a18db0e8127ac6cac59efe8e7e06c18", "core/src/host/time-context.js": "b77c7b4d5d3ea5f11600f7658fb269ad573b5735cfc919587d2e1b1b15f12a93", "core/src/host/tool-schema.js": "8cd805a047016116a64b9dec481347e0aa63f4826f4e5e005a58ce9f94506f11", - "core/src/host/tools.js": "432a23262f9b702acf0d5628c0e7287f58d3eb7f04287d0b11df6695101640e5", + "core/src/host/tools.js": "4f6f21c198cd58dcb9e58af2972ba9740ffd887c69d5b339026b73af310a60ab", "core/src/host/turn-origin.js": "6a4e852efc1a0774ac6b8848385c9bcd30b8cc4ed78f936b19b4632cf9c4894c", - "core/src/host/turns.js": "726d2ccf6d38ae409560742608d2aea55d4bb1ea0bef74f073396a74da687d18", + "core/src/host/turns.js": "a3dc262ed04882681f6c16714b9bee6bdeadf04964e980f619a944c3fd7707e4", "core/src/host/update.js": "8b049ec4e2d5d07d747312e3ff8c1560d7e3681e5b41dd867cd0961c5675a2be", "core/src/host/usage.js": "fff9a097cc3ac4b2fe4fd2cebdd1a3b24fbf82b63535d8cf274b0025e0d2b0f3", "core/src/host/work-dispatch.js": "bef48285a381a6bbc7e1c162656316c4769cca76fd44da0e4fcfed54fe38d641", - "core/src/host/workbench-gateway.js": "522e09b699f71999fde6ad6d6be6df2b776f1ae6d68118fc87976703a8ba555c", - "core/src/host/workbench-personal.js": "4282e3983f8f5cba0e61f288bddcba7f8e44eab92fbffbc604acac55defdc301", + "core/src/host/workbench-gateway.js": "e042136a60097f5bb382a899ff97d9b0121bc1a08e1441fec5f357909af7966f", + "core/src/host/workbench-personal.js": "1e8a7cd431ffa0e1926a343e6983dd350e4e6265915007742d49f7a3c50938f1", "core/src/host/workbench-state.js": "b95b83fe47a6a155e16fba92284f9df2929ebd95bec635804f186c47b9eb8391", "core/src/host/workflow-facts.js": "f2ff8392df1d0f927dd3bc2fb6ed1fde0bb31b5a8d590725963134b73f09fe76", "core/src/host/workflow-store.js": "917662ab929311d4fbe7937aec42589478a03f4baed3cb010255d8a05ecb1261", diff --git a/docs/subsystems/backend-service.md b/docs/subsystems/backend-service.md index ed4bd4555..17ff66dfb 100644 --- a/docs/subsystems/backend-service.md +++ b/docs/subsystems/backend-service.md @@ -93,6 +93,14 @@ production rollout, remote HTTPS deployment or browser/desktop acceptance. ## Public machine contract (#2300) +The Feishu connection endpoint adds one human-only native dispatch to the same +gateway: 105 native endpoints and 187 dispatch variants, with 29 v1 queries and +34 v1 commands. Its source-matched contract accepts write-only setup credentials +and keeps connection ownership, sender allow-lists, identity associations and Bot +capability grants distinct. Safe and watch agent credentials cannot call it. +Feishu server callbacks use the separate event-only listener described in +[the Feishu guide](../feishu.md), not this authenticated management endpoint. + #2308 extends that contract to28queries/33commands and184dispatch variants, with signed receiver-side Webhook schemas. The production-entry test now drives real native DSH Sessions and a separate authenticated external receiver from Chief diff --git a/docs/subsystems/core-client.md b/docs/subsystems/core-client.md index f22859869..7c6f97c91 100644 --- a/docs/subsystems/core-client.md +++ b/docs/subsystems/core-client.md @@ -471,3 +471,9 @@ Changed scope/source retires them; pending lazy mounts cannot attach after retir Ordinary form nodes remain freshly constructed so handler closures reference the correct controls. This retains real component state rather than reconstructing a textarea and restoring only its value after every poll. + +## Feishu setup and connection details + +The connector row has one **Connect** action to open or resume setup. The guide uses its own compact checkbox grid and labelled fields rather than question-card field containers. Receiving-mode choices show their selected state, step navigation marks the current step, and the footer distinguishes the primary next action. Permission JSON stays behind an optional preview with a directly available copy action. The same scoped styles adapt to the container width in both the native settings panel and shared workbench. + +`feishu-setup.js` renders the existing Feishu channel's six-step long-connection guide or seven-step HTTP guide. It resumes the saved step, polls connection state every three seconds, preserves the application when switching receiving methods, and offers the base/selected-extension permission JSON. `feishu-copy.js` extends the existing i18n dictionary. Saved secrets are never rendered. Connection details contain sender allow-lists, existing-member identity links, actual scope checks, per-Bot/product grants, diagnostics, delivery retries, persistent cards and attachment downloads. Card buttons submit through the scoped `feishu` API and never approve a native tool. The original custom webhook form remains available. Native remote message file chips download through the same app-scoped service. diff --git a/docs/subsystems/core-host.md b/docs/subsystems/core-host.md index cca9ef62f..eb605197c 100644 --- a/docs/subsystems/core-host.md +++ b/docs/subsystems/core-host.md @@ -1028,3 +1028,17 @@ and actual login stay in the authorized resource terminal, not a new credential #2483: a refused durable read does not represent a fresh empty home. Store preserves current object identities while remaining read-only, and exposes readable/writable storage status. Successful verified reload retains existing reconciliation semantics. #2518 installs projectWarnings after Effects and reuses the original scheduler, Inbox and context exchange. No second timer/dispatcher. See [warning contract](project-warnings.md). + +## Guided Feishu applications + +`feishu-service.js` extends the existing Feishu channel, with dedicated `feishu-api.js`, `feishu-vault.js`, `feishu-format.js`, `feishu-http.js`, `feishu-tools.js` and `feishu-calendar.js`. The existing remote-chat history remains authoritative for each external chat; `delivery.js`, `turns.js` and `resume.js` carry a Feishu request's persistent app/event/chat/thread identifiers to the selected local Bot and route its completed reply through a durable outbox. Remote records do not reason. Persist an inbox entry before acknowledging Feishu; native Session source IDs and stable outbox send UUIDs suppress duplicate input and output on recovery. + +`feishu` channel operations authenticate the existing platform member. The app owner (or instance Owner) configures an app and its per-Bot/product grants. Members can link only themselves; the Owner can link another existing member. A sender allow-list grants neither identity nor approval. Card callbacks bind the original app/message/chat/version/action and actual linked clicker; they persist actions independently of native approvals. Ask-mode tool writes enter the existing DSH pre-execution approval seam and recheck grants before dispatch. Standing approvals cannot bypass this per-app ask setting. App deletion removes grants and dependent records. + +Credentials are AES-256-GCM records in `feishu-credentials.json` with a mode-0600 host key. They never enter state projections or Bot schemas/environments; the legacy `FEISHU_APP_SECRET` and `FEISHU_WEBHOOK` records are also withheld by `canUse`. The fixed API origin is `https://open.feishu.cn`; tool operations are allow-listed by method and product. HTTP mode uses a separate event-only listener, normally port 3082, which validates the per-app Verification Token and refuses encrypted or wrong-mode events. It exposes no console routes. A long-connection dial that cannot import `@larksuiteoapi/node-sdk` is diagnosed as a missing install (`FeishuSdkMissing` in `feishu-sdk.js`), not as a network or credential failure: the import is lazy, so such a host starts healthy and only the dial fails. + +Native attachment references, not arbitrary host paths, carry inbound files to the Bot. Input is limited to 20 MB, output images to 10 MB and files to 30 MB. Explicit rich-post refusal or 30 KB overflow falls back to text. Technical diagnostics remain in the app details; `Get` reactions track individual accepted requests and are removed only after successful delivery. Calendar group shares persist their own ACL provenance and follow membership with bounded cadence without downgrading higher grants. See [Feishu](../feishu.md) for setup and operation boundaries. + +Feishu requests are admitted one at a time per local Bot, so a native turn cannot collapse two accepted external requests into one reply. Earlier context-only group lines are bounded and fenced in that request. Per-chat/default-handler changes invalidate old reply routing and request cancellation only for a matching active Feishu turn, preserving unrelated Bot work. Native echo-turn metadata retains thread references and downloadable files without introducing another conversation record. + +Restart pickup and provider/tool-call retries retain the Feishu target; input deduplication exempts these explicit continuations. Pickup refuses deleted apps and cancelled/reassigned handlers. Authenticated native human messages retain their member ID separately from Bot relay identity, including restart notes. Meeting ownership and document sharing resolve the actual requester's association in the target app, even across companies. Missing or ambiguous associations refuse a meeting instead of borrowing the Bot owner. diff --git a/docs/subsystems/install.md b/docs/subsystems/install.md index fcff6d6f9..4cd02698d 100644 --- a/docs/subsystems/install.md +++ b/docs/subsystems/install.md @@ -94,3 +94,7 @@ members. The private upstream file must never be committed or placed in browser See [Project workbench](project-workbench.md) for the security/deployment boundary. #2185 retains the same restricted gateway and private upstream-cookie deployment. Optional --event-poll-ms and --event-max-streams configure its authenticated SSE transport; no token appears in an event URL. Shutdown aborts open streams. This adds no autonomous task/Chief inspection registration. Simplified standalone backend packaging remains #2189. + +## Local Feishu port publication + +`docker/compose.local.yaml` overrides host networking with ordinary Docker port publication and a TCP relay sharing the FlyBot container network. DSH still binds its own loopback port 3080; the relay accepts container port 8080 and publishes the local console on all host interfaces. The separate event-only listener uses port 3082. Neither relay stores credentials nor exposes another process API. The existing named data volume is retained on rebuild/restart. See [Feishu](../feishu.md#local-docker) for invocation and host-port overrides. diff --git a/docs/subsystems/project-workbench.md b/docs/subsystems/project-workbench.md index 5f43ca148..4b2124d40 100644 --- a/docs/subsystems/project-workbench.md +++ b/docs/subsystems/project-workbench.md @@ -525,3 +525,11 @@ Cancelled/failed pool Attempts mark their canonical Run failed too; unknown phys #2483 keeps GET /health as gateway liveness and adds GET /ready for current backend transport/state-write readiness. It reuses private auth-mode, returns only status/writable, uses503 for degraded/unavailable state, and never exposes upstream credentials, paths or diagnostics. It does not test model/provider readiness or rescan all storage. #2518 the original scheduler pass reconciles the shared warning service; it adds no clock or workflow and cannot release an unknown execution. See [warnings](project-warnings.md). + +## Existing Feishu channel in the shared entry + +The Connections route (`#/connections`) mounts the same native `FeishuSetup` component used by the original connector row through `mountNativeFeishu`; no second integration or conversation model exists. It obtains selectable Bots from the actor-scoped `personal-space` projection and calls only the authenticated `feishu` endpoint. The restricted gateway admits this endpoint while the service enforces app-owner configuration, self/Owner identity association and app-scoped attachment reads. It does not expose the global connector/Secrets endpoints. The native island retains its root across polling so credential drafts and focus are preserved. Public app/file query links select this route after the existing login. + +This standalone guide installs the existing translation dictionary for the browser's language (or an explicit mount language), disposing the adapter with its native root. Chinese and English copy stay shared with the original connector guide; the original Harness locale service and language switch remain authoritative in the native client. + +Owner-scoped Feishu remote conversations also appear in personal history through their existing native Sessions. The shared projection suppresses relay/echo duplicates, retains the external person's display name and thread references, and uses the authenticated Feishu attachment endpoint for native references beyond the normal small Project download limit. Other remote integrations remain outside this personal projection. diff --git a/docs/third-party-bot-integration.md b/docs/third-party-bot-integration.md index c5140b081..64f254244 100644 --- a/docs/third-party-bot-integration.md +++ b/docs/third-party-bot-integration.md @@ -4,8 +4,8 @@ 本规范描述当前交付分支的**实际公开网关**,供 grok-bot、dots 等个人代理的客户端实现使用。 OpenAPI 3.1 JSON 可直接下载解析;不需要启动 Swagger,也没有新增 `/openapi.json` HTTP 路由。 -它覆盖104个原生分派入口(其中包含 `project-development`)、31个 v1 查询、36个 v1 命令, -并展开个人会话和旧工作流的子操作,共190种请求分支。入口数量和操作名称由源码校验。 +它覆盖105个原生分派入口(其中包含 `project-development`)、31个 v1 查询、36个 v1 命令, +并展开个人会话和旧工作流的子操作,共191种请求分支。入口数量和操作名称由源码校验。`feishu` 入口仅供已登录的人管理接入和关联身份,不接受个人代理 Token;Bot 调用飞书能力须走平台的逐应用授权工具。 这份规范不等于部署证明,也不表示已实现特定厂商的回调或登录适配器。 #2308 增加[统一私人消息箱与通知协议](agent-inbox.md):原生/外部代理共用领取、续租、结果提交及恢复, diff --git a/patches/ds-bot/0001-core-fixes.patch b/patches/ds-bot/0001-core-fixes.patch index a99a467ff..7c9dcccaf 100644 --- a/patches/ds-bot/0001-core-fixes.patch +++ b/patches/ds-bot/0001-core-fixes.patch @@ -229,7 +229,7 @@ diff --git a/src/client/browser-pane.js b/src/client/browser-pane.js diff --git a/src/client/connectors.js b/src/client/connectors.js --- a/src/client/connectors.js +++ b/src/client/connectors.js -@@ -1,41 +1,217 @@ +@@ -1,41 +1,219 @@ -import { createElement as h, useRef, useState } from 'react' +import { createElement as h, useCallback, useEffect, useRef, useState } from 'react' import { useMorph } from './motion.js' @@ -238,6 +238,7 @@ diff --git a/src/client/connectors.js b/src/client/connectors.js +import { SwitchRow } from './bot-settings.js' +import { ConnectorBots, usageText } from './connector-bots.js' import { t } from './i18n.js' ++import { FeishuSetup } from './feishu-setup.js' const TOKEN_URL = 'https://github.com/settings/personal-access-tokens/new' +const COMPOSIO_KEY_URL = 'https://platform.composio.dev/' @@ -285,6 +286,7 @@ diff --git a/src/client/connectors.js b/src/client/connectors.js } -function ConnectorRow({ connector, actions }) { +- const [form, setForm] = useState(false) +// One credential of the form (#1266): the definition says which fields a mode needs and whether a +// field is masked. A masked one is the same field the Secrets page uses, so it never comes back. +function CredentialField({ credential, value, onChange, onEnter, autoFocus }) { @@ -385,7 +387,7 @@ diff --git a/src/client/connectors.js b/src/client/connectors.js +} + +function ConnectorRow({ connector, roster, actions }) { - const [form, setForm] = useState(false) ++ const [form, setForm] = useState(() => !!(connector.id === 'feishu' && actions.feishu && typeof window !== 'undefined' && window.location && new URLSearchParams(window.location.search).has('feishu-app'))) + const [bots, setBots] = useState(false) const [token, setToken] = useState('') + const [apps, setApps] = useState(() => connector.apps ?? []) @@ -405,6 +407,7 @@ diff --git a/src/client/connectors.js b/src/client/connectors.js + // behaviour) or a self-built app (the long connection in, answers out). The form is the mode's + // credential list, rendered field by field. + const channel = connector.kind === 'channel' ++ const guided = channel && actions.feishu + const modes = connector.modes ?? [] + const [mode, setMode] = useState(() => connector.mode ?? modes[0]?.id) + const [values, setValues] = useState({}) @@ -454,26 +457,30 @@ diff --git a/src/client/connectors.js b/src/client/connectors.js return h('div', { ref: row, className: 'bt-connector', 'data-state': connector.state }, h('div', { className: 'bt-connector-head' }, h('span', { className: 'bt-connector-mark' }, Mark ? h(Mark) : null), -@@ -44,15 +44,44 @@ function ConnectorRow({ connector, actions }) { +@@ -44,15 +44,46 @@ function ConnectorRow({ connector, actions }) { h('span', { className: 'bt-connector-status' }, statusText(connector))), h('span', { className: 'bt-connector-actions' }, connector.state === 'error' ? h('button', { type: 'button', className: 'bt-soft bt-soft-sm', disabled: busy, onClick: () => void run(actions.connectorRetry(connector.id)) }, t('Try again')) : null, + on && gateway && !picking ? h('button', { type: 'button', className: 'bt-soft bt-soft-sm', disabled: busy, onClick: () => { setApps(connector.apps ?? []); setPicking(true) } }, t('Choose apps')) : null, + on && perBot ? h('button', { type: 'button', className: 'bt-soft bt-soft-sm', 'aria-expanded': bots, onClick: () => setBots(value => !value) }, bots ? t('Done') : t('Choose Bots')) : null, ++ guided ? h('button', { type: 'button', className: 'bt-soft bt-soft-sm', 'aria-expanded': form, onClick: () => setForm(value => !value) }, t('Connect')) : null, on ? h('button', { type: 'button', className: 'bt-soft bt-soft-sm', disabled: busy, onClick: () => void run(actions.connectorDisconnect(connector.id)) }, t('Disconnect')) - : form ? null : h('button', { type: 'button', className: 'bt-soft bt-soft-sm', onClick: () => setForm(true) }, t('Connect')))), +- : form ? null : h('button', { type: 'button', className: 'bt-soft bt-soft-sm', onClick: () => setForm(true) }, t('Connect')))), +- !on && form ? h('div', { className: 'bt-connector-form' }, +- h('label', { className: 'bt-q-field bt-secret-field' }, h(MaskedInput, { value: token, onChange: setToken, onEnter: connect, label: t('GitHub token'), autoFocus: true })), ++ : form || guided ? null : h('button', { type: 'button', className: 'bt-soft bt-soft-sm', onClick: () => setForm(true) }, t('Connect')))), + on && gateway && !picking ? h(AppStatusList, { apps: connector.apps ?? [], statuses }) : null, + on && perBot ? h('span', { className: 'bt-connector-uses' }, usageText(roster, connector.id)) : null, + on && bots ? h(ConnectorBots, { connector, roster, actions, run, SwitchRow }) : null, -+ on && channel && connector.mode === 'app' ? h(AllowedSenders, { connector, actions, run, busy }) : null, ++ on && channel && !connector.managed && connector.mode === 'app' ? h(AllowedSenders, { connector, actions, run, busy }) : null, + on && canPost ? h('div', { className: 'bt-connector-form' }, + h('label', { className: 'bt-q-field' }, h('input', { className: 'bt-input', type: 'text', value: message, 'aria-label': t('Message to send to Feishu'), placeholder: t('Type a message for the Feishu group'), onChange: event => setMessage(event.target.value) })), + h('div', { className: 'bt-connector-form-row' }, + h('span', { className: 'bt-connector-link' }), + h('button', { type: 'button', className: 'bt-soft bt-soft-sm', disabled: busy || message.trim() === '' || actions.connectorSend === undefined, onClick: () => void run(actions.connectorSend(connector.id, message), () => setMessage('')) }, t('Send')))) : null, - !on && form ? h('div', { className: 'bt-connector-form' }, -- h('label', { className: 'bt-q-field bt-secret-field' }, h(MaskedInput, { value: token, onChange: setToken, onEnter: connect, label: t('GitHub token'), autoFocus: true })), ++ channel && form && actions.feishu ? h(FeishuSetup, { actions, roster, onClose: () => setForm(false) }) : null, ++ !on && form && (!channel || !actions.feishu) ? h('div', { className: 'bt-connector-form' }, + channel ? h('div', { className: 'bt-states', role: 'group', 'aria-label': t('How to connect') }, modes.map(entry => + h('button', { + key: entry.id, type: 'button', className: 'bt-state', 'aria-pressed': entry.id === chosen?.id, @@ -578,10 +585,16 @@ diff --git a/src/client/feedback.js b/src/client/feedback.js diff --git a/src/client/i18n.js b/src/client/i18n.js --- a/src/client/i18n.js +++ b/src/client/i18n.js -@@ -5,6 +5,61 @@ +@@ -2,9 +2,67 @@ + // Copy is looked up at render time and every slot outlet re-renders on a language + // switch, so nothing caches a translated string. + ++import { FEISHU_ZH } from './feishu-copy.js' ++ export const NAMESPACE = 'ds-bot' const ZH = { ++ ...FEISHU_ZH, + + // Workflows settings (#1364). The page lists factory pipelines and your own graphs. + Workflows: '工作流', @@ -1594,6 +1607,22 @@ diff --git a/src/client/i18n.js b/src/client/i18n.js } Object.assign(ZH, HOST_ZH) +@@ -927,6 +927,15 @@ export function installLocale(locale) { + } + } + ++// Standalone workbench islands use the same copy without a Harness locale service. ++export function installBrowserLocale(tag) { ++ const active = typeof tag === 'string' ? tag : 'en' ++ return installLocale({ ++ getLocale: () => ({ active }), register: () => () => {}, ++ bind: () => (key, params) => fill(active.startsWith('zh') ? ZH[key] ?? key : key, params), ++ }) ++} ++ + export function t(key, params) { + return bound ? bound(key, params) : fill(key, params) + } diff --git a/src/client/member-status.js b/src/client/member-status.js --- a/src/client/member-status.js +++ b/src/client/member-status.js @@ -1752,7 +1781,7 @@ diff --git a/src/client/member-status.js b/src/client/member-status.js -function ApprovalCard({ approval, bot, actions }) { +// "Always allow" is the owner's standing grant (#540): only on their own Bot's card, +// and the group option only when the request comes from a group. -+export const alwaysChoices = (approval, bot) => (bot?.remote ? [] : [ ++export const alwaysChoices = (approval, bot) => (bot?.remote || approval.tool === 'feishu_tool' ? [] : [ + ['always-bot', 'Always allow for this Bot'], + ...(approval.roomId ? [['always-room', 'Always allow for this group']] : []), +]) @@ -3039,11 +3068,11 @@ diff --git a/src/host/approvals.js b/src/host/approvals.js + } + const step = ephemeralToolVerdict(bot, String(request.toolName ?? ''), request.reason) + if (step !== undefined) return step -+ if (standingCovers(sessionId, botId, owner?.roomId, approvalKind(String(request.toolName ?? ''), request.reason))) return 'allowed-once' ++ if (request.toolName !== 'feishu_tool' && standingCovers(sessionId, botId, owner?.roomId, approvalKind(String(request.toolName ?? ''), request.reason))) return 'allowed-once' const id = randomUUID() const entry = { id, -@@ -47,14 +47,82 @@ export function install(rt) { +@@ -47,14 +47,83 @@ export function install(rt) { }) }, { prepend: true }) @@ -3082,6 +3111,7 @@ diff --git a/src/host/approvals.js b/src/host/approvals.js + + async function grantStanding(entry, scope) { + await rt.load() ++ if (entry.tool === 'feishu_tool') throw Object.assign(new Error('Change the per-app Feishu grant to allow writes without asking'), { code: 'bot/forbidden' }) + const bot = rt.botOf(entry.botId) + const target = scope === 'room' ? rt.roomOf(entry.roomId) : bot + if (bot === undefined || bot.remote !== undefined) throw Object.assign(new Error('Only your own Bot can be given a standing approval'), { code: 'bot/forbidden' }) @@ -3095,7 +3125,7 @@ diff --git a/src/host/approvals.js b/src/host/approvals.js + } + // Other cards the new grant already covers stop waiting too. + for (const other of pending.values()) { -+ if (other.id !== entry.id && other.answer !== undefined && standingCovers(other.sessionId, other.botId, other.roomId, approvalKindOf(other))) other.answer('allowed-once') ++ if (other.tool !== 'feishu_tool' && other.id !== entry.id && other.answer !== undefined && standingCovers(other.sessionId, other.botId, other.roomId, approvalKindOf(other))) other.answer('allowed-once') + } + } + const approvalKindOf = entry => approvalKind(entry.tool, entry.reason) @@ -3289,7 +3319,7 @@ diff --git a/src/host/connectors.js b/src/host/connectors.js let response try { response = await request(`${api.replace(/\/$/, '')}/user`, { -@@ -38,132 +38,985 @@ export async function signIn(token, { api = DEFAULTS.api, fetch: request = fetch +@@ -38,132 +38,992 @@ export async function signIn(token, { api = DEFAULTS.api, fetch: request = fetch return { login: user.login } } @@ -3799,7 +3829,7 @@ diff --git a/src/host/connectors.js b/src/host/connectors.js + if (typeof seam?.onSend !== 'function') return + if (feishuWire.seam === seam) return + feishuWire.off?.() -+ feishuWire = { seam, off: seam.onSend(FEISHU, feishuReply({ secretValue: name => rt.secretValue(name), appOf })) } ++ feishuWire = { seam, off: seam.onSend(FEISHU, message => rt.feishu ? rt.feishu.reply(message) : feishuReply({ secretValue: name => rt.secretValue(name), appOf })(message)) } + } + + const feishuInbound = createInbound({ @@ -3880,6 +3910,11 @@ diff --git a/src/host/connectors.js b/src/host/connectors.js + async function reconcileChannel(c, force, token) { + const { def } = c + const record = saved(c) ?? {} ++ if (record.managed === true) { ++ await feishuInbound.stop() ++ c.status = { state: 'ready' } ++ return ++ } + const mode = record.mode === 'app' ? 'app' : record.mode === 'webhook' ? 'webhook' : undefined + const app = mode === 'app' ? appOf() : undefined + const key = mode === 'app' ? `app\n${app?.appId ?? ''}\n${app?.appSecret ?? ''}` : mode === 'webhook' ? `webhook\n${token ?? ''}` : undefined @@ -4039,6 +4074,7 @@ diff --git a/src/host/connectors.js b/src/host/connectors.js + // here carries a secret: the App ID is not one, and the webhook never comes back. + ...(c.def.id === FEISHU ? { + mode: saved(c)?.mode ?? null, ++ ...(saved(c)?.managed === true ? { managed: true } : {}), + modes: c.def.modes, + allowed: (saved(c)?.allowed ?? []).map(entry => ({ openId: entry.openId, name: entry.name ?? entry.openId })), + inbound: { ...feishuInbound.view(), app: appOf() === undefined ? 'missing' : 'set' }, @@ -4085,7 +4121,7 @@ diff --git a/src/host/connectors.js b/src/host/connectors.js + c.saving += 1 + try { + await rt.secretEndpoint('secret-set', { name: FEISHU_SECRET, value: webhook, purpose: c.def.purpose }) -+ state.connectors = { ...state.connectors, [FEISHU]: { ...previous, mode: 'webhook', connectedAt: Date.now() } } ++ state.connectors = { ...state.connectors, [FEISHU]: { ...previous, mode: 'webhook', managed: false, connectedAt: Date.now() } } + await rt.save() + } finally { + c.saving -= 1 @@ -4175,8 +4211,8 @@ diff --git a/src/host/connectors.js b/src/host/connectors.js + } + await retire(c, { gone: previous?.session, kept: record.session, keys: [oldToken, token] }) + await sync(c) - return connectorsView() - }, ++ return connectorsView() ++ }, + // Changes which apps a connected gateway offers, without asking for the key again. + async 'connector-apps'(body) { + const c = known(body.id) @@ -4195,8 +4231,10 @@ diff --git a/src/host/connectors.js b/src/host/connectors.js + } + await retire(c, { gone: previous?.session, kept: record.session, keys: [token] }) + await sync(c) -+ return connectorsView() -+ }, + return connectorsView() + }, +- async 'connector-disconnect'(body) { +- known(body.id) + // Searches Composio's app list: with the saved key, or before connecting with the key being pasted + // (sent only to Composio, never saved by this call). + async 'connector-app-search'(body) { @@ -4218,7 +4256,10 @@ diff --git a/src/host/connectors.js b/src/host/connectors.js + const c = known(body.id) + if (c.def.id !== COMPOSIO) throw new Error('This connector has no apps to pick') + if (c.insecure) throw new Error(INSECURE(c.def.name)) -+ await rt.loadSecrets() + await rt.loadSecrets() +- if (rt.secretValue(GITHUB_SECRET) !== undefined) await rt.secretEndpoint('secret-delete', { name: GITHUB_SECRET }) +- if (state.connectors?.[GITHUB] !== undefined) { +- delete state.connectors[GITHUB] + const token = rt.secretValue(c.def.secret) + const record = saved(c) + if (token === undefined || record?.session?.id === undefined) throw new Error('Connect Composio first') @@ -4234,14 +4275,11 @@ diff --git a/src/host/connectors.js b/src/host/connectors.js + async 'connector-block'(body) { + return allowedOp(body, false) + }, - async 'connector-disconnect'(body) { -- known(body.id) ++ async 'connector-disconnect'(body, actor) { + const c = known(body.id) - await rt.loadSecrets() -- if (rt.secretValue(GITHUB_SECRET) !== undefined) await rt.secretEndpoint('secret-delete', { name: GITHUB_SECRET }) -- if (state.connectors?.[GITHUB] !== undefined) { -- delete state.connectors[GITHUB] ++ await rt.loadSecrets() + if (c.def.kind === 'channel') { ++ for (const app of Object.values(state.feishu?.apps ?? {})) await rt.feishu?.endpoint({ operation: 'delete', appId: app.id }, actor) + // Disconnect closes both (#1266): the socket goes down, the webhook and the app secret are + // deleted (each only if it is there — deleting a key that is not saved is an error), and the + // record goes with them, so the row is `off` and no turn can start. @@ -4305,8 +4343,9 @@ diff --git a/src/host/connectors.js b/src/host/connectors.js }, } - const connectorEndpoint = (endpoint, body) => endpoints[endpoint](body ?? {}) - +- const connectorEndpoint = (endpoint, body) => endpoints[endpoint](body ?? {}) ++ const connectorEndpoint = (endpoint, body, actor) => endpoints[endpoint](body ?? {}, actor) ++ + // An older version kept the session's address in state.json. Only the id stays; the address is + // asked for again at mount time (composioSessionFind). + const scrubAddresses = async () => { @@ -4316,7 +4355,7 @@ diff --git a/src/host/connectors.js b/src/host/connectors.js + state.connectors[COMPOSIO] = { ...state.connectors[COMPOSIO], session: kept(session) } + await rt.save() + } -+ + ctx.effect(() => { stopped = false - void rt.loadSecrets().then(() => sync()) @@ -4337,7 +4376,7 @@ diff --git a/src/host/connectors.js b/src/host/connectors.js }, 'ds-bot: connectors') - Object.assign(rt, { connectorsView, connectorEndpoint, secretsChanged: () => { void sync() } }) -+ Object.assign(rt, { connectorsView, connectorEndpoint, secretsChanged: () => { void syncAll() } }) ++ Object.assign(rt, { replyLegacyFeishu: feishuReply({ secretValue: name => rt.secretValue(name), appOf }), stopLegacyFeishu: () => feishuInbound.stop(), connectorsView, connectorEndpoint, secretsChanged: () => { void syncAll() } }) } diff --git a/src/host/diagnostics.js b/src/host/diagnostics.js --- a/src/host/diagnostics.js @@ -5196,6 +5235,14 @@ diff --git a/src/host/resume.js b/src/host/resume.js // Long enough for DSH to finish opening its workspaces after a start. const RESUME_DELAY_MS = 3000 +@@ -25,6 +25,7 @@ export const resumeText = record => [ + // The trigger fields a resumed turn needs to answer the same sender. + const triggerOf = info => ({ + role: info.role, ++ ...(info.feishu ? { feishu: info.feishu } : {}), + ...(info.exchangeId ? { exchangeId: info.exchangeId } : {}), + ...(info.senderSessionId ? { senderSessionId: info.senderSessionId } : {}), + ...(info.roomId ? { roomId: info.roomId } : {}), @@ -51,7 +51,7 @@ export function install(rt) { // What the last run left; read before this run notes anything. let interrupted = readNotes(file) @@ -5261,7 +5308,7 @@ diff --git a/src/host/resume.js b/src/host/resume.js try { return await deliver(noted) } catch (error) { -@@ -137,10 +137,13 @@ export function install(rt) { +@@ -137,10 +137,15 @@ export function install(rt) { case 'turn/start': { const owner = rt.groupOwners.get(id) const botId = owner?.botId ?? rt.chatOwners.get(id) @@ -5273,6 +5320,8 @@ diff --git a/src/host/resume.js b/src/host/resume.js + // Whose request the turn answers, so a resumed turn keeps its connector tools only when it was the owner's. + const note = originNote(id) + update(id, record => (record === undefined || record.origin === note.origin ? record : (({ origin: _, ...rest }) => ({ ...rest, ...note }))(record))) ++ const requester = rt.live.get(id)?.requesterMemberId ++ if (requester) update(id, record => record && record.requesterMemberId !== requester ? { ...record, requesterMemberId: requester } : record) if (event.data?.source?.kind !== SOURCE_KIND) break // turns.js, installed earlier, has already claimed the turn's trigger. const info = rt.live.get(id)?.info @@ -5298,7 +5347,7 @@ diff --git a/src/host/resume.js b/src/host/resume.js const text = resumeText(record) if (record.roomId !== undefined) { const room = rt.roomOf(record.roomId) -@@ -173,17 +173,17 @@ export function install(rt) { +@@ -173,17 +173,23 @@ export function install(rt) { // A turn already picked up once and cut off again stays stopped: a restart loop // must not run it forever. if (record.resumed) return @@ -5308,6 +5357,12 @@ diff --git a/src/host/resume.js b/src/host/resume.js } if (record.resumed) return const trigger = record.trigger ++ if (trigger?.role === 'feishu' && trigger.feishu) { ++ const meta = trigger.feishu, pending = rt.state.feishu?.events?.[meta.eventId] ++ if (!rt.state.feishu?.apps?.[meta.appId] || pending?.botId !== bot.id || ['sent', 'cancelled'].includes(pending.status)) return ++ await rt.deliver({ toId: bot.id, role: 'feishu', feishu: meta, exchangeId: trigger.exchangeId ?? meta.eventId, resumed: true, origin: record.origin ?? OTHER, text }) ++ return ++ } if ((trigger?.role === 'request' || trigger?.role === 'stopped') && trigger.senderSessionId && trigger.audience !== 'user' && rt.botOf(trigger.senderSessionId)) { // The sender still waits for this turn's answer, so it goes on under the same exchange. - await rt.deliver({ fromId: trigger.senderSessionId, toId: bot.id, role: trigger.role, hop: trigger.hop ?? 0, ...(trigger.exchangeId ? { exchangeId: trigger.exchangeId } : {}), ...(trigger.senderRoomId ? { fromRoomId: trigger.senderRoomId } : {}), resumed: true, text }) @@ -5315,7 +5370,7 @@ diff --git a/src/host/resume.js b/src/host/resume.js return } - await rt.deliver({ toId: bot.id, role: 'resume', resumed: true, text }) -+ await rt.deliver({ toId: bot.id, role: 'resume', resumed: true, origin: record.origin ?? OTHER, text }) ++ await rt.deliver({ toId: bot.id, role: 'resume', resumed: true, origin: record.origin ?? OTHER, text, ...(record.requesterMemberId ? { requesterMemberId: record.requesterMemberId } : {}) }) } // A hard stop keeps the inbox, which the Session runs once it wakes; only what DSH @@ -6305,7 +6360,7 @@ diff --git a/src/host/turns.js b/src/host/turns.js if (post === undefined || text === '') return const labels = (Array.isArray(source?.references) ? source.references : []) .map(reference => reference?.label).filter(label => typeof label === 'string' && label !== '') -@@ -48,12 +48,20 @@ const RETRY_TEXT = 'Your last reply wrote a tool call as plain text ( +@@ -48,12 +48,22 @@ const RETRY_TEXT = 'Your last reply wrote a tool call as plain text ( export function install(rt) { const { ctx, state } = rt @@ -6324,10 +6379,12 @@ diff --git a/src/host/turns.js b/src/host/turns.js const keeps = info !== undefined && (info.role === 'room' || expectsReply(info)) return rt.deliver({ + origin, ++ ...(rt.live.get(id)?.requesterMemberId ? { requesterMemberId: rt.live.get(id).requesterMemberId } : {}), ++ ...(keeps && info.feishu ? { feishu: info.feishu } : {}), ...(keeps && info.senderSessionId ? { fromId: info.senderSessionId } : {}), toId: rt.selfOf(id), sessionId: id, -@@ -70,13 +70,60 @@ export function install(rt) { +@@ -70,13 +70,62 @@ export function install(rt) { }) } @@ -6363,6 +6420,8 @@ diff --git a/src/host/turns.js b/src/host/turns.js + const keeps = info !== undefined && (info.role === 'room' || expectsReply(info)) + return rt.deliver({ + origin, ++ ...(rt.live.get(id)?.requesterMemberId ? { requesterMemberId: rt.live.get(id).requesterMemberId } : {}), ++ ...(keeps && info.feishu ? { feishu: info.feishu } : {}), + ...(keeps && info.senderSessionId ? { fromId: info.senderSessionId } : {}), + toId: rt.selfOf(id), + sessionId: id, @@ -6404,10 +6463,12 @@ diff --git a/src/host/turns.js b/src/host/turns.js } } -@@ -162,17 +162,31 @@ export function install(rt) { +@@ -161,18 +161,39 @@ export function install(rt) { + const answersUser = info => info.role === 'request' && info.audience === 'user' // Roles whose turn owes the sender a reply: a 'stopped' notice asks the Bot to // acknowledge, exactly like a request. - const expectsReply = info => info.role === 'request' || info.role === 'stopped' +- const expectsReply = info => info.role === 'request' || info.role === 'stopped' ++ const expectsReply = info => info.role === 'request' || info.role === 'stopped' || info.role === 'feishu' + // A friend's Bot asking (FlyBot remote, Bot Social): the turn stays in the Bot's own + // chat, where the user sees it, and its answer goes back to the friend's Bot. + const fromRemote = info => info.role === 'request' && typeof info.remote?.handle === 'string' @@ -6426,6 +6487,13 @@ diff --git a/src/host/turns.js b/src/host/turns.js const claimTrigger = (sessionId, entry, info) => { + if (info.form === 'remote-chat' && typeof info.typedBy === 'string' && info.typedBy && entry.turn !== undefined) markTypedTurn(sessionId, entry.turn, info.typedBy) entry.info = info ++ if (info.requesterMemberId) entry.requesterMemberId = info.requesterMemberId ++ if (info.form === 'remote-chat' && info.feishu && entry.turn !== undefined) { ++ const turns = (state.feishuTurns ??= {})[sessionId] ??= {} ++ turns[entry.turn] = { ...info.feishu, attachments: info.attachments ?? [] } ++ for (const key of Object.keys(turns).slice(0, -400)) delete turns[key] ++ void rt.save().catch(() => {}) ++ } + rt.noteTaskDriveTrigger?.(sessionId, info) // A turn that was stopped for a part switch brings its joined requests along. if (Array.isArray(info.joined) && info.joined.length > 0) { @@ -6565,10 +6633,11 @@ diff --git a/src/host/turns.js b/src/host/turns.js break case 'turn/start': setActivity(id, 'thinking') -@@ -288,11 +288,17 @@ export function install(rt) { +@@ -288,11 +288,18 @@ export function install(rt) { entry.since = event.time ?? Date.now() entry.texts = [] entry.info = undefined ++ entry.requesterMemberId = undefined + // The turn's tool-call count for the inbox (#471), one per tool/call event, the same + // events the activity feed folds. A program's sub-calls are not tool/call events. + entry.toolCalls = 0 @@ -6598,6 +6667,14 @@ diff --git a/src/host/turns.js b/src/host/turns.js // A message that shares a step with a bare handoff package is what the turn // answers, so the turn is not a hidden acknowledgement. const bare = info => info?.handoff === true && info.resume !== true +@@ -307,6 +307,7 @@ export function install(rt) { + // Bot relay that lands inside it may claim: the first message of a turn + // still claims it as today, a later one only joins it. + const opened = entry.opened === true ++ if (!opened && source?.kind === 'user' && source.authorKind === 'human' && typeof source.authorId === 'string') entry.requesterMemberId = source.authorId + if (entry.turn !== undefined && !bare(source) + && (source?.kind === 'user' || source?.kind === REPLY_KIND || source?.kind === 'schedule' || source?.kind === SOURCE_KIND)) { + entry.opened = true @@ -331,15 +331,27 @@ export function install(rt) { hop: source.hop ?? 0, ...(source.late ? { late: true } : {}), @@ -6727,10 +6804,14 @@ diff --git a/src/host/turns.js b/src/host/turns.js const replyText = () => { const reply = (wroteCall ? texts.map(stripWrittenCalls) : texts).join('\n\n').trim() return wroteCall && reply === '' ? 'Tried to run a tool but wrote the call as text, so it did not run.' : reply -@@ -419,6 +419,24 @@ export function install(rt) { +@@ -419,6 +419,28 @@ export function install(rt) { // Whoever the turn answers gets the same three-way rule: a failure notice, // the turn's text (or a stopped-before-answer line), or nothing. const answer = (source, reply) => { ++ if (source.feishu) { ++ void rt.feishu?.complete(source.feishu, reply, failure ?? (reason?.kind === 'aborted' ? true : undefined)).catch(error => rt.warn('ds-bot: Feishu reply failed: %s', error.code ?? 'error')) ++ return ++ } + if (fromRemote(source)) { + // A hard failure owes the sender a sentence (#1068). Without it their DM stays on + // "Weighing the options…" until the wait expires, and a missing credential never expires @@ -6785,7 +6866,13 @@ diff --git a/src/host/turns.js b/src/host/turns.js } else { answer(info, replyText()) } -@@ -488,13 +488,32 @@ export function install(rt) { +@@ -484,17 +484,37 @@ export function install(rt) { + toId: rt.selfOf(id), + sessionId: id, + text: request.text, +- role: 'request', ++ role: request.info.feishu ? 'feishu' : 'request', ++ ...(request.info.feishu ? { feishu: request.info.feishu, untrusted: true } : {}), hop: request.info.hop ?? 0, exchangeId: request.info.exchangeId, ...(request.info.senderRoomId ? { fromRoomId: request.info.senderRoomId } : {}), @@ -9785,7 +9872,7 @@ diff --git a/test/install.test.js b/test/install.test.js 'on agent/status', 'on llm/stream', 'on llm/stream', -@@ -91,12 +91,24 @@ test('apply registers listeners, tools, and effects in a fixed order', (t) => { +@@ -91,12 +91,30 @@ test('apply registers listeners, tools, and effects in a fixed order', (t) => { 'on llm/stream', 'effect ds-bot: load secrets', 'effect ds-bot: connectors', @@ -9798,6 +9885,12 @@ diff --git a/test/install.test.js b/test/install.test.js + 'tool bot_schedules', + 'tool project_digest', + 'effect ds-bot: automation tasks default', ++ 'on tools/pre-execute', ++ 'tool feishu_apps', ++ 'tool feishu_tool', ++ 'tool feishu_card', ++ 'tool feishu_file', ++ 'effect ds-bot: Feishu apps', 'effect ds-bot: usage ledger', 'on llm/stream', 'effect ds-bot: update check', diff --git a/patches/ds-bot/0002-flybot-api-host.patch b/patches/ds-bot/0002-flybot-api-host.patch index d0732f054..e55e34a3d 100644 --- a/patches/ds-bot/0002-flybot-api-host.patch +++ b/patches/ds-bot/0002-flybot-api-host.patch @@ -57,10 +57,11 @@ diff --git a/index.js b/index.js import * as chatIndex from './src/host/chat-index.js' import * as groups from './src/host/groups.js' import * as approvals from './src/host/approvals.js' -@@ -24,11 +24,19 @@ import * as images from './src/host/images.js' +@@ -24,11 +24,20 @@ import * as images from './src/host/images.js' import * as browser from './src/host/browser.js' import * as secrets from './src/host/secrets.js' import * as connectors from './src/host/connectors.js' ++import * as feishuService from './src/host/feishu-service.js' +import * as connectorAccess from './src/host/connector-access.js' import * as capabilities from './src/host/capabilities.js' import * as schedules from './src/host/schedules.js' @@ -82,7 +83,7 @@ diff --git a/index.js b/index.js // install. Listeners run and tools are listed in registration order, so this order holds: // usage meters model requests after every listener that rewrites them. -const MODULES = [diagnostics, store, models, permissions, turns, delivery, roster, folders, agents, prompt, timeContext, tools, chatIndex, groups, approvals, resume, memory, parts, images, secrets, connectors, capabilities, schedules, browser, usage, update, dshUpdate, channel] -+const MODULES = [diagnostics, store, projectEffects, projectWarnings, projectCompatibility, projectTaskLifecycle, projectInputs, harness, memberAuth, platformIdentity, projectAccess, projectDevelopment, projectExecutionBoundary, projectResources, projectHarness, projectRuntimeSetup, projectDelivery, projectDelegations, projectAgents, projectCredentials, projectGithubRead, projectPools, projectScheduledTasks, projectSources, projectChiefControl, projectScheduler, workbenchState, authz, personalAgentAuth, models, permissions, turns, busyAck, steeringInterrupt, delivery, roster, folders, agents, prompt, timeContext, tools, decisions, projectState, meetings, chatIndex, groups, roomMembership, reach, tasks, projectBoard, taskDrive, approvals, resume, memory, parts, images, secrets, connectors, connectorAccess, capabilities, schedules, projectAssistant, projectChief, projectTeam, automationDefault, browser, usage, update, dshUpdate, hooks, remoteChat, workflowStore, channel] ++const MODULES = [diagnostics, store, projectEffects, projectWarnings, projectCompatibility, projectTaskLifecycle, projectInputs, harness, memberAuth, platformIdentity, projectAccess, projectDevelopment, projectExecutionBoundary, projectResources, projectHarness, projectRuntimeSetup, projectDelivery, projectDelegations, projectAgents, projectCredentials, projectGithubRead, projectPools, projectScheduledTasks, projectSources, projectChiefControl, projectScheduler, workbenchState, authz, personalAgentAuth, models, permissions, turns, busyAck, steeringInterrupt, delivery, roster, folders, agents, prompt, timeContext, tools, decisions, projectState, meetings, chatIndex, groups, roomMembership, reach, tasks, projectBoard, taskDrive, approvals, resume, memory, parts, images, secrets, connectors, connectorAccess, capabilities, schedules, projectAssistant, projectChief, projectTeam, automationDefault, feishuService, browser, usage, update, dshUpdate, hooks, remoteChat, workflowStore, channel] export function apply(ctx, config = {}) { - createRuntime(ctx, config) @@ -132,10 +133,11 @@ diff --git a/src/host/constants.js b/src/host/constants.js export const TEAM_TOOLS = [ - 'list_bots', 'message_bot', 'stop_bot', 'create_bot', 'update_bot', 'list_models', - 'create_group', 'update_group', 'delete_group', 'post_to_group', 'ask_user', +- 'request_secret', 'list_secrets', 'group_relay', 'read_own_chat', + 'list_bots', 'message_bot', 'stop_bot', 'create_bot', 'update_bot', 'archive_bot', 'list_models', + 'bot_schedules', 'project_state', 'project_digest', 'meeting', + 'create_group', 'update_group', 'delete_group', 'post_to_group', 'ask_user', 'track_tasks', - 'request_secret', 'list_secrets', 'group_relay', 'read_own_chat', ++ 'request_secret', 'list_secrets', 'feishu_apps', 'feishu_tool', 'feishu_card', 'feishu_file', 'group_relay', 'read_own_chat', 'read_group_chat', 'remember', 'forget', 'recall', 'read_browser', 'list_capabilities', 'save_capability', 'delete_capability', 'attach_capability', 'detach_capability', @@ -1312,7 +1314,7 @@ diff --git a/src/host/store.js b/src/host/store.js diff --git a/src/host/tools.js b/src/host/tools.js --- a/src/host/tools.js +++ b/src/host/tools.js -@@ -1,9 +1,47 @@ +@@ -1,9 +1,48 @@ // Team tools: the roster, bot-to-bot messages, group chat settings and posts, and the // question card. Group rounds and reading chats are in groups.js. import { randomUUID } from 'node:crypto' @@ -1343,6 +1345,7 @@ diff --git a/src/host/tools.js b/src/host/tools.js + 'ask_user', 'save_capability', 'delete_capability', 'attach_capability', 'detach_capability', + 'track_tasks', 'group_relay', + 'request_secret', 'list_secrets', ++ 'feishu_apps', 'feishu_tool', 'feishu_card', 'feishu_file', + 'send_message', 'schedule_create', 'schedule_update', 'schedule_delete', + 'message_friend_bot', 'get_friend_file', 'list_friend_bots', + 'define_workflow', 'run_workflow', diff --git a/patches/ds-bot/0003-flybot-api-client.patch b/patches/ds-bot/0003-flybot-api-client.patch index 86005ebe1..70c20f8cf 100644 --- a/patches/ds-bot/0003-flybot-api-client.patch +++ b/patches/ds-bot/0003-flybot-api-client.patch @@ -585,7 +585,7 @@ diff --git a/src/client/cells.js b/src/client/cells.js h('div', { className: 'bt-think-text' }, text)) } -@@ -119,14 +119,34 @@ function useFileMentions({ node, openFile, fileMentions, useTurnData }) { +@@ -119,14 +119,35 @@ function useFileMentions({ node, openFile, fileMentions, useTurnData }) { }, [fileMentions, openFile, seq, tail, turn]) } @@ -617,20 +617,25 @@ diff --git a/src/client/cells.js b/src/client/cells.js const hidden = Boolean(roster.roomsById[sessionId]) || isHiddenTurn(roster, sessionId, data.turn) - const texts = groupPart === 'reasoning' ? [] : data.blocks.filter(block => block.kind === 'text' && block.text.trim() !== '').map(block => block.text) + const person = typedBy(roster, sessionId, data.turn) ++ const feishu = roster.feishuTurns?.[sessionId]?.[data.turn] + const texts = groupPart === 'reasoning' ? [] : data.blocks.filter(block => block.kind === 'text' && block.text.trim() !== '').map((block, index) => index === 0 ? stripTrace(block.text) : block.text).filter(text => text.trim() !== '') const running = data.status === 'running' // A streaming reply stands in for the activity row. useLiveNote(actions, sessionId, `text:${node.key ?? data.seq}`, !hidden && running && texts.length > 0 ? { text: true } : null) -@@ -138,6 +138,9 @@ export function AssistantCell({ node, groupPart, sessionId, openFile, fileMentio +@@ -138,7 +138,12 @@ export function AssistantCell({ node, groupPart, sessionId, openFile, fileMentio const relays = relayPart(data, groupPart) ? relaysBefore(contexts, steps, data) : [] if (texts.length === 0 && !reasoning && relays.length === 0) return null const selfId = roster.byId[sessionId]?.id ?? sessionId +- return h(Fragment, null, + const bubbles = texts.length ? (person + ? h(PersonMessage, { name: person, texts, roster, selfId, actions, sessionId, msgKey: `${sessionId}:${data.turn}:${node.key ?? data.seq ?? ''}`, useUi }) + : h(Bubbles, { texts, roster, selfId, actions, streaming: running, sessionId, msgKey: `${sessionId}:${data.turn}:${node.key ?? data.seq ?? ''}`, useUi, mentions, lead: friendLead(roster.byId[sessionId], texts) })) : null - return h(Fragment, null, ++ return h(feishu ? 'div' : Fragment, feishu ? { id: `feishu-message-${feishu.messageId ?? data.turn}`, 'data-feishu-root': feishu.rootId ?? '' } : null, ++ feishu?.rootId ? h('button', { type: 'button', className: 'bt-soft bt-soft-sm', title: feishu.rootId, onClick: () => document.getElementById(`feishu-message-${feishu.rootId}`)?.scrollIntoView?.({ block: 'center' }) }, t('Reply in thread')) : null, ++ feishu?.attachments?.length ? h(RemoteFiles, { files: feishu.attachments, appId: feishu.appId, plugin: 'feishu', botId: selfId }) : null, relays.map(relay => { const source = relay.source + const sender = roster.byId[source.senderSessionId] ?? { id: source.senderSessionId, name: source.senderName ?? t('a Bot'), color: 'gray' } @@ -151,7 +151,31 @@ export function AssistantCell({ node, groupPart, sessionId, openFile, fileMentio }) }), @@ -791,7 +796,7 @@ diff --git a/src/client/cells.js b/src/client/cells.js + h('span', { className: 'bt-group-name', title: handle }, person, + carrier ? h('span', { className: 'bt-remote-handle' }, t('via {name}', { name: carrier })) : null), + h(Bubbles, { texts: [stripTrace(text)], roster, selfId: bot.id, actions, sessionId, msgKey, useUi, lead: h('span', { className: 'bt-lead', title: person }, h(PersonMark, { name: person })) }), -+ files.length ? h(RemoteFiles, { files, plugin: member?.plugin ?? 'social', botId: roster.byId[sessionId]?.id ?? sessionId }) : null) ++ files.length ? h(RemoteFiles, { files, appId: source.feishu?.appId, plugin: source.feishu ? 'feishu' : member?.plugin ?? 'social', botId: roster.byId[sessionId]?.id ?? sessionId }) : null) + } + const mark = h(BotMark, { bot, size: 22 }) + const lead = chatId @@ -804,7 +809,7 @@ diff --git a/src/client/cells.js b/src/client/cells.js + : h('span', { className: 'bt-group-name', style: { color: inkText(colorOf(bot)) } }, name, + h('span', { className: 'bt-remote-handle', title: source.remote.home ?? handle, 'aria-label': t('Friend\'s Bot') }, h(GlobeMark), handle)), + h(Bubbles, { texts: [stripTrace(text)], roster, selfId: bot.id, actions, sessionId, msgKey, useUi, lead }), -+ files.length ? h(RemoteFiles, { files, plugin: member?.plugin ?? 'social', botId: roster.byId[sessionId]?.id ?? sessionId }) : null) ++ files.length ? h(RemoteFiles, { files, appId: source.feishu?.appId, plugin: source.feishu ? 'feishu' : member?.plugin ?? 'social', botId: roster.byId[sessionId]?.id ?? sessionId }) : null) +} + +// A sender's first line in a Bot's own chat (#420): one quiet line says who is talking to the Bot @@ -823,14 +828,14 @@ diff --git a/src/client/cells.js b/src/client/cells.js + +// A remote member's files as chips; a click fetches the file (the plugin checks its +// hash) and saves it. Nothing is opened or run. -+function RemoteFiles({ files, plugin, botId }) { ++function RemoteFiles({ files, plugin, botId, appId }) { + const [busy, setBusy] = useState('') + const [error, setError] = useState('') + const download = async (file) => { + setBusy(file.id) + setError('') + try { -+ const got = await call(`flybot/${plugin}/attachment`, { id: file.id, botId }) ++ const got = plugin === 'feishu' ? await call('feishu', { operation: 'attachment', appId, attachmentId: file.id }) : await call(`flybot/${plugin}/attachment`, { id: file.id, botId }) + const value = got?.value ?? got + const bytes = Uint8Array.from(atob(value.content_base64), c => c.charCodeAt(0)) + const url = URL.createObjectURL(new Blob([bytes], { type: 'application/octet-stream' })) @@ -909,7 +914,7 @@ diff --git a/src/client/cells.js b/src/client/cells.js + 'list_bots', 'message_bot', 'stop_bot', 'create_bot', 'update_bot', 'archive_bot', 'list_models', + 'bot_schedules', + 'create_group', 'update_group', 'delete_group', 'post_to_group', 'ask_user', 'track_tasks', -+ 'request_secret', 'list_secrets', 'group_relay', 'read_own_chat', ++ 'request_secret', 'list_secrets', 'feishu_apps', 'feishu_tool', 'feishu_card', 'feishu_file', 'group_relay', 'read_own_chat', + 'read_group_chat', 'remember', 'forget', 'recall', 'read_browser', + 'list_capabilities', 'save_capability', 'delete_capability', + 'attach_capability', 'detach_capability', @@ -1452,7 +1457,7 @@ diff --git a/src/client/index.js b/src/client/index.js // `details` is the panel's subject (a Session id); `view` picks details or the // subject Bot's browser inside it. - const ui = createSource({ details: null, view: 'details', renaming: false, tab: null, newChat: null, exchange: null, menu: null, voice: null, palette: null, quote: null, settings: null, memory: null, toast: null, signIn: null, renameAgent: null, unread: savedUnread, reactions: savedReactions, visits: {} }) -+ const ui = createSource({ details: null, view: 'details', renaming: false, tab: null, newChat: null, exchange: null, menu: null, voice: null, palette: null, quote: null, settings: null, remoteBotSettings: null, memory: null, toast: null, signIn: null, renameAgent: null, unread: savedUnread, reactions: savedReactions, visits: {} }) ++ const ui = createSource({ details: null, view: 'details', renaming: false, tab: null, newChat: null, exchange: null, menu: null, voice: null, palette: null, quote: null, settings: new URLSearchParams((window.location?.search ?? '')).has('feishu-app') ? { page: 'connectors', id: null } : null, remoteBotSettings: null, memory: null, toast: null, signIn: null, renameAgent: null, unread: savedUnread, reactions: savedReactions, visits: {} }) // Bot mode paints the whole team surface; Agent mode withdraws every slot and // style so the shell's own interface returns. `plain` stays false until a Bot-mode // view hosts a plain session, which drops only the conversation replacements. @@ -1628,7 +1633,7 @@ diff --git a/src/client/index.js b/src/client/index.js stopMemberWork: (roomId, botId) => after(call('stop-member-work', { roomId, botId })), // Values go out in these requests and never come back in a response. secretSet: payload => after(call('secret-set', payload)), -@@ -539,15 +539,33 @@ export function apply(ctx) { +@@ -539,15 +539,34 @@ export function apply(ctx) { secretCancel: requestId => after(call('secret-cancel', { requestId })), secretUpdate: (name, scope) => after(call('secret-update', { name, scope })), secretDelete: name => after(call('secret-delete', { name })), @@ -1646,6 +1651,7 @@ diff --git a/src/client/index.js b/src/client/index.js connectorDisconnect: id => after(call('connector-disconnect', { id })), connectorRetry: id => after(call('connector-retry', { id })), + connectorSend: (id, text) => after(call('connector-send', { id, text })), ++ feishu: payload => call('feishu', payload), saveCapability: capability => after(call('capability-save', capability)), deleteCapability: name => after(call('capability-delete', { name })), approveCapability: name => after(call('capability-approve', { name })), @@ -3050,9 +3056,66 @@ diff --git a/src/client/styles.js b/src/client/styles.js /* Settings → Connectors. */ .bt-connector{display:flex;flex-direction:column;gap:10px;padding:12px} -@@ -490,8 +490,17 @@ button.bt-set-row:hover{background:var(--bt-hover)} +@@ -489,9 +489,74 @@ button.bt-set-row:hover{background:var(--bt-hover)} + .bt-connector[data-state=error] .bt-connector-status{color:#e02135;white-space:normal} .bt-connector-actions{flex:none;display:flex;gap:6px} .bt-connector-form{display:flex;flex-direction:column;gap:8px;padding-left:48px;animation:bt-q-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},bt-veil-in .2s ease-out} ++.bt-feishu-setup{container-type:inline-size;min-width:0;width:100%;max-width:960px;box-sizing:border-box;padding:20px;border:1px solid var(--bt-line);border-radius:14px;background:var(--bt-card);color:var(--bt-ink);font:13px/1.6 ui-sans-serif,system-ui,sans-serif;overflow-wrap:anywhere;animation:bt-veil-in .16s ease-out} ++.bt-feishu-setup *{box-sizing:border-box} ++.bt-feishu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--bt-line)} ++.bt-feishu-header h3{padding:0;margin:0 0 4px;font-size:17px;line-height:24px;font-weight:650;letter-spacing:-.02em} ++.bt-feishu-header>.bt-input{width:220px;max-width:45%;flex:none} ++.bt-feishu-setup .bt-set-hint{margin:0;font-size:12px;line-height:1.7;color:var(--bt-ink-2)} ++.bt-feishu-body{display:flex;flex-direction:column;gap:22px;padding-top:18px} ++.bt-feishu-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px} ++.bt-feishu-modes button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:11px 14px;border:1px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color .12s,border-color .12s} ++.bt-feishu-modes button:hover{background:var(--bt-hover)} ++.bt-feishu-modes button[aria-pressed=true]{border-color:var(--bt-accent);background:color-mix(in srgb,var(--bt-accent) 6%,var(--bt-card));box-shadow:0 0 0 1px var(--bt-accent)} ++.bt-feishu-modes strong{font-size:13px;font-weight:600}.bt-feishu-modes small{color:var(--bt-ink-2);font-size:11px} ++.bt-feishu-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:start} ++.bt-feishu-progress{min-width:0}.bt-feishu-progress ol{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0} ++.bt-feishu-progress li{min-width:0}.bt-feishu-progress button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-2);font:inherit;font-size:12px;line-height:19px;text-align:left;cursor:pointer} ++.bt-feishu-progress button:hover:not(:disabled){background:var(--bt-hover)} ++.bt-feishu-progress button[aria-current=step]{background:color-mix(in srgb,var(--bt-accent) 7%,var(--bt-card));color:var(--bt-accent);font-weight:600} ++.bt-feishu-progress button:disabled{opacity:.48;cursor:default} ++.bt-feishu-step-number{display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border:1px solid var(--bt-line-2);border-radius:50%;font-size:11px;font-variant-numeric:tabular-nums} ++.bt-feishu-progress [aria-current=step] .bt-feishu-step-number{background:var(--bt-accent);border-color:var(--bt-accent);color:white} ++.bt-feishu-progress [data-done=true] .bt-feishu-step-number{border-color:transparent;background:var(--bt-hover);color:var(--bt-ink-2)} ++.bt-feishu-step{min-width:0}.bt-feishu-step-heading{margin-bottom:16px}.bt-feishu-eyebrow{display:block;margin-bottom:4px;color:var(--bt-ink-2);font-size:11px} ++.bt-feishu-step h4{margin:0;font-size:16px;line-height:24px;font-weight:650;letter-spacing:-.02em} ++.bt-feishu-step-content>div{display:flex;flex-direction:column;align-items:stretch;gap:14px} ++.bt-feishu-external{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;align-self:flex-start;border:1px solid var(--bt-line-2);border-radius:8px;padding:7px 11px;color:var(--bt-ink);font-size:12px;font-weight:500;text-decoration:none} ++.bt-feishu-external:hover{background:var(--bt-hover)}.bt-feishu-external span{color:var(--bt-ink-2)} ++.bt-feishu-permissions{display:flex;flex-direction:column;gap:10px;padding-top:5px}.bt-feishu-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.bt-feishu-section-head strong{font-size:13px;font-weight:600} ++.bt-feishu-optional{color:var(--bt-ink-2);font-size:11px}.bt-feishu-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px} ++.bt-feishu-permission{display:flex;align-items:center;gap:9px;min-width:0;min-height:42px;margin:0;padding:9px 11px;border:1px solid var(--bt-line);border-radius:9px;background:var(--bt-card);font-size:12px;line-height:20px;cursor:pointer;transition:background-color .12s,border-color .12s} ++.bt-feishu-permission:hover{border-color:var(--bt-line-2);background:var(--bt-hover)} ++.bt-feishu-permission[data-checked=true]{border-color:color-mix(in srgb,var(--bt-accent) 55%,var(--bt-line));background:color-mix(in srgb,var(--bt-accent) 5%,var(--bt-card))} ++.bt-feishu-setup input[type=checkbox]{appearance:auto;flex:none;width:15px;height:15px;min-height:0;margin:0;padding:0;border-radius:4px;accent-color:var(--bt-accent);cursor:pointer} ++.bt-feishu-permission-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px} ++.bt-feishu-setup .bt-feishu-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:6px;flex:none;width:auto;min-height:34px;height:auto;margin:0;padding:6px 12px;border:1px solid var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:12px;font-weight:500;cursor:pointer;box-shadow:none} ++.bt-feishu-setup .bt-feishu-button:hover:not(:disabled){background:var(--bt-hover)}.bt-feishu-setup .bt-feishu-button:disabled{opacity:.4;cursor:default} ++.bt-feishu-setup .bt-feishu-primary{background:var(--bt-accent);border-color:var(--bt-accent);color:#fff;padding-inline:18px} ++.bt-feishu-setup .bt-feishu-primary:hover:not(:disabled){background:color-mix(in srgb,var(--bt-accent) 88%,#000)} ++.bt-feishu-setup .bt-feishu-quiet{border-color:transparent;background:transparent;color:var(--bt-ink-2)} ++.bt-feishu-setup :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--bt-accent);outline-offset:3px} ++.bt-feishu-setup details{min-width:0}.bt-feishu-setup summary{cursor:pointer;font-size:12px;font-weight:500;line-height:20px;padding:8px 0;color:var(--bt-ink-2)} ++.bt-feishu-json{border:0}.bt-feishu-setup .bt-feishu-json summary{padding:2px 0;color:var(--bt-accent);font-weight:400} ++.bt-feishu-setup .bt-feishu-json textarea{width:100%;height:180px;min-height:120px;max-height:320px;margin-top:10px;padding:12px;border:1px solid var(--bt-line);border-radius:8px;background:var(--bt-sidebar);color:var(--bt-ink-2);font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical;white-space:pre;overflow:auto;overflow-wrap:normal} ++.bt-feishu-field,.bt-feishu-setup .bt-q-field{display:flex;flex-direction:column;flex:initial;gap:6px;min-width:0;min-height:0;margin:0;padding:0;border:0;cursor:default;color:var(--bt-ink-2);font-size:12px} ++.bt-feishu-setup .bt-input{min-width:0;height:38px;padding:0 11px;font-size:13px;border-color:var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink)} ++.bt-feishu-field+.bt-feishu-field{margin-top:2px}.bt-feishu-setup .bt-input:disabled{opacity:.65;background:var(--bt-sidebar)} ++.bt-feishu-check{display:flex;align-items:flex-start;gap:9px;font-size:12px}.bt-feishu-check input{margin-top:3px!important} ++.bt-feishu-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--bt-line)} ++.bt-feishu-footer>div{display:flex;align-items:center;gap:6px}.bt-feishu-result,.bt-feishu-error{margin:14px 0 0;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.6;background:var(--bt-sidebar);color:var(--bt-ink-2)} ++.bt-feishu-result[data-success=true]{color:var(--bt-ink);border:1px solid var(--bt-line)}.bt-feishu-error{color:#d33e4e;background:color-mix(in srgb,#e5484d 7%,var(--bt-card))} ++.bt-feishu-management{border-top:1px solid var(--bt-line);padding-top:8px}.bt-feishu-management>details+details{border-top:1px solid var(--bt-line)} ++.bt-feishu-management>details>summary{padding:12px 0;color:var(--bt-ink)}.bt-feishu-management>details[open]{display:flex;flex-direction:column;gap:10px;padding-bottom:14px} ++.bt-feishu-management>details>fieldset{min-width:0;margin:4px 0;padding:12px;border:1px solid var(--bt-line);border-radius:10px}.bt-feishu-management legend{font-size:12px;font-weight:600;padding-inline:4px} ++.bt-feishu-management fieldset>.bt-q-field+.bt-q-field{margin-top:10px}.bt-feishu-setup code,.bt-feishu-setup pre{white-space:pre-wrap;overflow-wrap:anywhere}.bt-feishu-setup ul{padding-left:18px;margin:4px 0} ++.bt-feishu-webhook{margin-top:18px;padding-top:10px;border-top:1px solid var(--bt-line)}.bt-feishu-webhook[open]{display:flex;flex-direction:column;gap:12px}.bt-feishu-webhook>summary{color:var(--bt-ink-2)} ++@container (max-width:640px){.bt-feishu-layout{display:flex;flex-direction:column;gap:18px}.bt-feishu-progress{width:100%}.bt-feishu-progress ol{flex-direction:row;gap:5px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.bt-feishu-progress li{flex:1}.bt-feishu-progress button{justify-content:center;padding:5px;gap:7px}.bt-feishu-step-label{display:none}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{display:block;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-feishu-progress li:has([aria-current=step]){flex:4}.bt-feishu-step{width:100%}.bt-feishu-header{flex-direction:column;gap:10px}.bt-feishu-header>.bt-input{max-width:100%;width:100%}} ++@container (max-width:340px){.bt-feishu-modes{gap:8px}.bt-feishu-modes button{padding:9px 10px}.bt-feishu-modes small{font-size:10px}.bt-feishu-permission{padding:8px}.bt-feishu-footer>div{gap:2px}.bt-feishu-footer .bt-feishu-button{padding-inline:9px}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{max-width:90px}} .bt-connector-form-row{display:flex;align-items:center;gap:6px} +.bt-connector-apps{display:flex;flex-direction:column;gap:8px} .bt-connector-link{flex:1;font-size:12px;color:var(--bt-ink-2)} diff --git a/patches/ds-bot/0005-social-seams.patch b/patches/ds-bot/0005-social-seams.patch index 32c9e79aa..46c51e4f8 100644 --- a/patches/ds-bot/0005-social-seams.patch +++ b/patches/ds-bot/0005-social-seams.patch @@ -289,7 +289,7 @@ diff --git a/src/host/channel.js b/src/host/channel.js const invalid = message => Object.assign(new Error(message), { code: 'bot/invalid' }) // Programming and file system errors are DS Bot's own faults, logged with their stack; -@@ -18,35 +18,161 @@ export function errorCode(error) { +@@ -18,35 +18,162 @@ export function errorCode(error) { export function install(rt) { const { ctx, state } = rt @@ -452,6 +452,7 @@ diff --git a/src/host/channel.js b/src/host/channel.js exchangeTurns: state.exchangeTurns, + // Per Session: turn → the person's name, for friends' lines Bot Social attests they typed themselves. + remoteTypedTurns: state.remoteTypedTurns ?? {}, ++ feishuTurns: state.feishuTurns ?? {}, + // Per friend chat: when my message left, while its reply has not come back (#443). + remoteAwaiting: state.remoteAwaiting ?? {}, questions: state.questions, @@ -532,7 +533,7 @@ diff --git a/src/host/channel.js b/src/host/channel.js function setPrefs(body) { if (body.theme !== undefined) { -@@ -97,28 +97,204 @@ export function install(rt) { +@@ -97,28 +97,210 @@ export function install(rt) { else if (body.motion === 'quiet' || body.motion === 'lively') state.prefs.motion = body.motion else throw invalid('Motion must be quiet, normal or lively') } @@ -583,6 +584,8 @@ diff --git a/src/host/channel.js b/src/host/channel.js + const gate = rt.authorize(actor, endpoint, body) + if (!gate.ok) return fail(gate.message, gate.code) switch (endpoint) { ++ case 'feishu': ++ return ok(await rt.feishu.endpoint(body, actor)) + case 'auth-mode': + case 'workbench-state': + case 'project-resources': @@ -708,7 +711,11 @@ diff --git a/src/host/channel.js b/src/host/channel.js + const hidden = new Set(state.exchangeTurns[sessionId] ?? []) + const messages = page.records.flatMap(({ event }) => { + if (hidden.has(event.data?.turn)) return [] -+ const attachments = personalMessageAttachments(event) ++ const source = event.data?.source ++ const feishu = source?.form === 'remote-chat' ? source.feishu : undefined ++ const attachments = personalMessageAttachments(event).map(file => feishu ? { ...file, feishuAppId: feishu.appId } : file) ++ if (feishu) return [{ attachments, seq: event.seq, id: `${sessionId}:${event.seq}`, botId: null, kind: source.typedBy ? 'human' : 'assistant', speaker: source.typedBy ?? source.senderName, text: source.text, feishu }] ++ if (event.type === 'assistant/message' && state.feishuTurns?.[sessionId]?.[event.data?.turn]) return [] + const entry = rt.historyEntry(event, Boolean(rt.roomOf(sessionId))) ?? (event.type === 'assistant/message' && attachments.length ? { answer: true, text: '' } : undefined) + return entry && (entry.text || attachments.length) ? [{ attachments, seq: event.seq, id: `${sessionId}:${event.seq}`, botId: entry.answer ? rt.botOf(sessionId)?.id : null, kind: entry.answer ? 'assistant' : 'human', speaker: entry.answer ? rt.botOf(sessionId)?.name ?? 'Bot' : currentActor.displayName ?? 'You', text: entry.text }] : [] + }) @@ -879,7 +886,7 @@ diff --git a/src/host/channel.js b/src/host/channel.js if (state.questions[body.sessionId] !== undefined) { delete state.questions[body.sessionId] await rt.save() -@@ -231,8 +231,14 @@ export function install(rt) { +@@ -231,21 +231,40 @@ export function install(rt) { await rt.load() return ok(await rt.secretEndpoint(endpoint, body)) case 'connector-connect': @@ -892,9 +899,11 @@ diff --git a/src/host/channel.js b/src/host/channel.js case 'connector-retry': + case 'connector-send': await rt.load() - return ok(await rt.connectorEndpoint(endpoint, body)) +- return ok(await rt.connectorEndpoint(endpoint, body)) ++ return ok(await rt.connectorEndpoint(endpoint, body, actor)) case 'capability-save': -@@ -241,11 +241,24 @@ export function install(rt) { + case 'capability-delete': + case 'capability-approve': case 'bot-capability': await rt.load() return ok(await rt.capabilityEndpoint(endpoint, body)) @@ -1398,7 +1407,7 @@ diff --git a/src/host/delivery.js b/src/host/delivery.js - async function deliver({ fromId, toId, sessionId, text, role, hop = 0, replyTo, roomId, audience, note, exchangeId = randomUUID(), steer = false, deferred = false, resumed = false, retried = false, resent = false, askedBy, fromRoomId }) { + // from; the reply goes back to that Session (turns.js). `answeredIn`: the group where the user + // answered the Bot's question card about work handed over from there (tools.js, #550). -+ async function deliver({ fromId, toId, sessionId, text, role, hop = 0, replyTo, roomId, audience, note, exchangeId = randomUUID(), steer = false, deferred = false, resumed = false, retried = false, rateLimited = false, resent = false, askedBy, fromRoomId, answeredIn, fromName: givenName, untrusted = false, remote, attachments, origin: givenOrigin, taskDrive = false, projectDelegation }) { ++ async function deliver({ fromId, toId, sessionId, text, role, hop = 0, replyTo, roomId, audience, note, exchangeId = randomUUID(), steer = false, deferred = false, resumed = false, retried = false, rateLimited = false, resent = false, askedBy, fromRoomId, answeredIn, fromName: givenName, untrusted = false, remote, attachments, origin: givenOrigin, taskDrive = false, projectDelegation, feishu, requesterMemberId }) { const from = rt.botOf(fromId) const to = rt.botOf(toId) if (to === undefined) throw new Error(`Unknown Bot ${toId}`) @@ -1419,16 +1428,18 @@ diff --git a/src/host/delivery.js b/src/host/delivery.js // Session events reject `undefined` members, so optional fields are omitted instead. const source = { kind: SOURCE_KIND, -@@ -53,6 +53,8 @@ export function install(rt) { +@@ -53,6 +53,10 @@ export function install(rt) { exchangeId, senderName: fromName, hop, + // Whose request this is, for the connector tools (turn-origin.js): read by the receiving turn. + origin, ++ ...(feishu ? { feishu } : {}), ++ ...(requesterMemberId ? { requesterMemberId } : {}), ...(fromId ? { senderSessionId: fromId } : {}), ...(replyTo ? { replyTo } : {}), ...(roomId ? { roomId } : {}), -@@ -60,20 +60,30 @@ export function install(rt) { +@@ -60,20 +60,31 @@ export function install(rt) { ...(deferred ? { deferred: true } : {}), ...(resumed ? { resumed: true } : {}), ...(retried ? { retried: true } : {}), @@ -1442,7 +1453,7 @@ diff --git a/src/host/delivery.js b/src/host/delivery.js + // `firstContact`: this sender's first line in the Bot's own chat; the chat names who is talking (#420). + ...(remote?.handle ? { remote: { handle: String(remote.handle), ...(remote.home ? { home: String(remote.home) } : {}), ...(remote.typedBy ? { typedBy: cleanName(remote.typedBy) } : {}), ...(firstContact ? { firstContact: true } : {}) } } : {}), + // A remote member's files, as references the chat shows as chips (fetched on demand). -+ ...(remote?.handle && Array.isArray(attachments) && attachments.length ? { attachments: attachments.map(file => ({ id: String(file.id ?? ''), name: String(file.name), size: Number(file.size), mime: String(file.mime ?? '') })) } : {}), ++ ...((remote?.handle || feishu) && Array.isArray(attachments) && attachments.length ? { attachments: attachments.map(file => ({ id: String(file.attachmentId ?? file.id ?? ''), name: String(file.name), size: Number(file.bytes ?? file.size), mime: String(file.mediaType ?? file.mime ?? '') })) } : {}), } - if (EXCHANGE_ROLES.has(role) && !deferred && !resumed && !retried && !resent) { - state.exchanges.push({ id: exchangeId, from: fromId, to: toId, text, role, time: Date.now(), ...(replyTo ? { replyTo } : {}), ...(audience === 'user' ? { audience } : {}) }) @@ -1457,10 +1468,11 @@ diff --git a/src/host/delivery.js b/src/host/delivery.js + if (projectDelegation && !rt.projectAgents?.isDelegationActive(projectDelegation.agentId, projectDelegation.delegationId)) throw new Error('Project delegation was revoked before delivery') // A steered message cuts into a running turn at its next step; a follow-up // queues for the next turn (see turns.js for how each is routed). ++ if (feishu && !deferred && !resumed && !retried && !rateLimited && !resent && agent.session?.surface?.nodes?.some(seq => (agent.session.eventAt(seq)?.data?.source ?? agent.session.eventAt(seq)?.data?.message?.source)?.exchangeId === exchangeId)) return exchangeId + const body = fromId ? stripSessionChips(text) : text const message = createUserMessage({ - content: [{ type: 'text', text: `${headerFor(role, fromName, room?.name, audience, note, deferred, { resumed, retried })}\n${text}` }], -+ content: [{ type: 'text', text: `${headerFor(role, fromName, room?.name, audience, note, deferred, { resumed, retried, rateLimited, answeredIn })}\n${untrusted ? fenceUntrusted(fromName, body) : body}` }], ++ content: [{ type: 'text', text: `${headerFor(role, fromName, room?.name, audience, note, deferred, { resumed, retried, rateLimited, answeredIn })}\n${untrusted ? fenceUntrusted(fromName, body) : body}` }, ...(feishu ? (attachments ?? []).map(file => ({ type: file.mediaType ? 'image' : 'file', attachment: file })) : [])], source, }) if (steer) agent.steer(message) diff --git a/patches/ds-bot/0008-client-bundle.patch b/patches/ds-bot/0008-client-bundle.patch index ad1a8393a..bc673831f 100644 --- a/patches/ds-bot/0008-client-bundle.patch +++ b/patches/ds-bot/0008-client-bundle.patch @@ -3,10 +3,130 @@ FlyBot patch 0008-client-bundle on Fei2411/DeepSeek-Bot@2b10c70 (ds-bot/). Gener diff --git a/client.js b/client.js --- a/client.js +++ b/client.js -@@ -42,6 +42,57 @@ module.exports = __toCommonJS(index_exports); +@@ -39,9 +39,177 @@ __export(index_exports, { + }); + module.exports = __toCommonJS(index_exports); + ++// src/client/feishu-copy.js ++var FEISHU_ZH = { ++ "Optional tools": "按需选择", ++ "Select the tools you need. The permission JSON updates automatically.": "勾选需要的工具,权限 JSON 会自动更新。", ++ "Clipboard is unavailable. Copy the selected JSON below.": "无法访问剪贴板,请手动复制已选中的权限 JSON。", ++ "Base permissions are always included.": "已包含全部基础权限", ++ "View permission JSON": "查看权限 JSON", ++ "Open Feishu Open Platform": "打开飞书开放平台", ++ "Long connection": "长连接", ++ "Event address": "事件地址", ++ "Recommended · no public address": "推荐 · 无需公网地址", ++ "Requires a public HTTPS address": "需要公网 HTTPS 地址", ++ "Connection steps": "接入步骤", ++ "Step {current} of {total}": "第 {current} 步,共 {total} 步", ++ "Previous step": "上一步", ++ "Check App ID and App Secret. A nonexistent App ID may be reported as an internal error.": "App ID 或 App Secret 不正确,请在应用的“凭证与基础信息”页面重新复制。App ID 不存在时,飞书可能只返回“内部错误”。", ++ "FlyBot cannot reach open.feishu.cn. Check the server network or proxy.": "FlyBot 服务器连不上 open.feishu.cn,请检查服务器的网络或代理设置。", ++ "Credentials accepted, but Bot information is unavailable. Enable the Bot capability and publish a version. You can continue now and test again after publishing.": "凭据正确,但还读不到机器人:应用还没有开启机器人能力,或开启后还没有发布版本。可以先继续下一步,发布版本后再测试。", ++ "Apply for the missing app permission, publish a new version, wait for approval, then check permissions again.": "请在飞书开放平台申请缺少的应用权限并发布新版本;需要管理员审批时等待通过,再重新检测。", ++ "The application has reached its long-connection limit (up to 50 connections).": "应用的长连接数已达上限(最多 50 个连接)。", ++ "Could not connect to open.feishu.cn; check the server network, proxy and application credentials.": "连不上 open.feishu.cn,请检查服务器网络、代理和应用凭据。", ++ "The Feishu long-connection SDK is not installed on the FlyBot server. Reinstall FlyBot, or rebuild the image if it runs in Docker.": "FlyBot 服务器上没有安装飞书长连接 SDK。请重新安装 FlyBot;用 Docker 运行时请重新构建镜像。", ++ "Operation failed; check network, permissions and published app version": "操作失败,请检查网络、应用权限及已发布的应用版本。", ++ "Conversation handlers": "会话处理的 Bot", ++ "Conversation handler": "处理的 Bot", ++ "Follow the default Bot": "跟随默认 Bot", ++ "Reply in thread": "回复消息串", ++ "Connection name": "接入名称", ++ "App has read-only permission": "只开通了只读", ++ "Also process other robots that mention this robot (up to 8 consecutive requests)": "其他机器人 @ 这个机器人时,也交给 Bot 处理(连续最多 8 次)", ++ "Files": "文件", ++ "Setup guide": "设置引导", ++ "Connect Feishu": "接入飞书", ++ "New connection": "新建接入", ++ "Prepare a public event address": "准备公网事件地址", ++ "Create an app on Feishu Open Platform": "在飞书开放平台创建应用", ++ "Enter credentials and test connection": "填写凭据并测试连接", ++ "Subscribe to message events and card callbacks": "订阅消息事件与卡片回调", ++ "Publish an app version": "发布应用版本", ++ "Choose the Bot represented by the robot": "选择机器人代表的 Bot", ++ "Try it in Feishu": "在飞书中试一试", ++ "Long connection (recommended, no public address)": "长连接(推荐,不需要公网地址)", ++ "Event address (HTTP, needs a public address)": "事件地址(HTTP,需要公网地址)", ++ "Create an internal app, add the Bot capability, and apply for the permissions below. Do not configure events yet.": "创建企业自建应用,在“添加应用能力”中添加机器人,按下方列表申请权限并设置通讯录权限范围。先不要配置事件订阅。", ++ "Only Feishu (open.feishu.cn) is supported; Lark is not supported.": "只支持飞书(open.feishu.cn),不支持 Lark 国际版。", ++ "Copy permission JSON": "复制权限 JSON", ++ "Copied": "已复制", ++ "Extended permissions (Feishu tools)": "扩展权限(飞书工具)", ++ "Calendar": "日历", ++ "Documents and wiki": "文档与知识库", ++ "Bitable": "多维表格", ++ "Spreadsheets": "电子表格", ++ "Video meetings": "视频会议", ++ "Tasks": "任务", ++ "Import this JSON in Permission management → Batch import/export. Set the contact data scope to people who will use the robot.": "在“权限管理 → 批量导入/导出”中粘贴 JSON 并申请开通;在“数据权限”中把通讯录权限范围设为会使用机器人的成员。", ++ "Public HTTPS event origin": "公网 HTTPS 事件地址前缀", ++ "Forward only the event port to a public HTTPS address. Do not expose the FlyBot console. Leave Encrypt Key empty.": "准备公网可以访问的 HTTPS 地址,只转发事件端口,不开放控制台。Encrypt Key 保持为空:FlyBot 不接收加密推送的事件。", ++ "Credentials are encrypted on the platform and cannot be viewed after saving. Bots never receive them.": "FlyBot 加密保存凭据,保存后不能再查看。凭据只留在平台,不交给 Bot。", ++ "Leave saved credentials blank to keep them. Switching receiving methods reuses the same Feishu application and conversations.": "已有凭据留空即沿用;切换接收方式沿用原来的飞书应用和会话,不需要重新创建。", ++ "Switching to a long connection deletes the saved Verification Token.": "改用长连接后,原来保存的 Verification Token 会被删除。", ++ "Save and test connection": "保存并测试连接", ++ "Connection to Feishu": "与飞书的连接", ++ "Refreshes every 3 seconds": "每 3 秒刷新", ++ "Connected": "已连接", ++ "Connecting…": "正在连接…", ++ "Connection failed": "连接失败", ++ "Wait until connected: Feishu only allows saving the long connection subscription after FlyBot connects. Check credentials and network if it keeps waiting.": "还没有连上:飞书只有在 FlyBot 连上之后,才允许把订阅方式保存为长连接。如果一直停在这里,检查 App ID、App Secret,以及服务器能否访问 open.feishu.cn。", ++ "Now set Events and callbacks → Event configuration → Use long connection to receive events, then save.": "现在到“事件与回调 → 事件配置”,把订阅方式设为“使用长连接接收事件”并保存。", ++ "Add Receive message v2.0 (im.message.receive_v1).": "添加事件“接收消息 v2.0”(im.message.receive_v1)。", ++ "In Callback configuration, use the long connection and add Card action trigger (card.action.trigger).": "在“回调配置”中选择“使用长连接接收回调”并保存,添加“卡片回传交互”(card.action.trigger)。", ++ "In both Event configuration and Callback configuration, select Send to developer server, use the same address below, and save.": "在“事件配置”和“回调配置”中分别选择“将事件/回调发送至开发者服务器”,填写下方同一个请求地址并保存。", ++ "Address verified": "请求地址已通过验证", ++ "Waiting for address verification": "等待飞书验证请求地址;失败时检查 Verification Token,并返回上一步修改。", ++ "Received an event": "已收到飞书事件", ++ "No event received yet": "尚未收到飞书事件", ++ "Without card.action.trigger, cards can display but buttons and forms do not respond. Neither test connection nor connected status checks callback subscriptions.": "没有订阅 card.action.trigger 时,卡片能显示,但按钮和表单没有反应。测试连接、基础权限检测和“已连接”都不检测回调订阅。", ++ "Connect each Feishu app to only one FlyBot instance; multiple instances split incoming messages.": "同一个飞书应用只接到一个 FlyBot:同时接到多个实例时,消息会被随机分走。", ++ "Create and publish a version in Version management and release. Include the required members or departments. Wait for enterprise approval if required.": "在“版本管理与发布”中创建版本,在可用范围中选择能使用机器人的成员或部门,申请线上发布;需要审核时等待企业管理员通过。", ++ "Permissions, Bot capability, events and callbacks take effect after publishing. Publish again after any change.": "权限、机器人能力、消息事件和卡片回调订阅在发布后才生效;之后修改也要重新发布版本。", ++ "Test connection": "测试连接", ++ "One Feishu application represents one Bot. Group mentions and private messages go to the selected local Bot.": "一个飞书应用就是一个机器人。群里 @ 它的消息和发给它的私聊消息交给选中的本地 Bot 处理,回复以机器人的身份发出。", ++ "Choose a Bot": "选择 Bot", ++ "Add the application under Group settings → Group robots. Mention it in the group, or send a private message.": "在“群设置 → 群机器人”中添加这个应用,在群里 @ 机器人,或直接私聊它。", ++ "Ask the Bot to send a card with a submit button. Click it and confirm Submitted. Ordinary chat success does not verify card callbacks.": "请机器人发送一张带提交按钮的卡片,实际点击并确认出现“已提交”提示;普通聊天成功不能代替卡片交互验证。", ++ "Each group or private chat keeps one FlyBot conversation; thread replies return to the original thread. Message edits and recalls are not synchronized.": "一个群聊或私聊对应一个 FlyBot 会话;消息串中的回复发回原消息串。不同步消息的编辑和撤回。", ++ "Who may send messages": "谁可以发消息", ++ "Allow an open_id": "允许发消息的 open_id", ++ "Allowed senders can send messages; this does not grant platform identity or approval authority.": "白名单只表示允许发消息,不等于平台用户或审批权限。", ++ "Identity linking": "身份关联", ++ "Feishu open_id": "飞书 open_id", ++ "Platform member": "平台成员", ++ "Link identity": "关联身份", ++ "Link to an existing signed-in platform member. No external members or new login accounts are created. Unlinked card submissions and meeting bookings are refused.": "关联到已有平台成员,不创建外部成员或新登录账号。未关联的卡片提交和视频会议预约会被拒绝。", ++ "Feishu tools": "飞书工具", ++ "Disabled": "禁用", ++ "Read only": "只读", ++ "Read/write, ask before writes": "读写,写入需询问", ++ "Read/write": "读写", ++ "Permissions of the Feishu application": "飞书应用的权限", ++ "Check permissions again": "重新检测", ++ "App permission not granted": "飞书应用未开通", ++ "Diagnostics": "诊断记录", ++ "Delivery records": "投递记录", ++ "Cards": "卡片", ++ "Delete connection": "删除接入", ++ "Later": "稍后继续", ++ "Next": "下一步", ++ "Back": "上一步", ++ "Finish": "完成", ++ "Save": "保存", ++ "App ID must be cli_ followed by 16 hexadecimal characters": "App ID 必须是 cli_ 加 16 位十六进制字符。", ++ "Enter the App Secret": "请填写 App Secret。", ++ "Enter the Verification Token": "请填写 Verification Token。", ++ "Prepare a public HTTPS event address": "请先准备公网可以访问的 HTTPS 事件地址。" ++}; ++ // src/client/i18n.js var NAMESPACE = "ds-bot"; var ZH = { ++ ...FEISHU_ZH, + // Workflows settings (#1364). The page lists factory pipelines and your own graphs. + Workflows: "工作流", + "A workflow is a group of your Bots. Drag the flowchart to change who hands work to whom.": "工作流是一组你的 Bot。拖动流程图,改谁把工作交给谁。", @@ -1022,6 +1142,22 @@ diff --git a/client.js b/client.js var service = null; var bound = null; function installLocale(locale) { +@@ -971,6 +971,15 @@ function installLocale(locale) { + if (typeof off === "function") off(); + }; + } ++function installBrowserLocale(tag) { ++ const active = typeof tag === "string" ? tag : "en"; ++ return installLocale({ ++ getLocale: () => ({ active }), ++ register: () => () => { ++ }, ++ bind: () => (key, params) => fill(active.startsWith("zh") ? ZH[key] ?? key : key, params) ++ }); ++} + function t(key, params) { + return bound ? bound(key, params) : fill(key, params); + } @@ -1005,15 +1005,23 @@ function noteClientError(where, error) { } const message = String(error?.message ?? error ?? "error").slice(0, 300); @@ -1611,12 +1747,12 @@ diff --git a/client.js b/client.js } -var eyeMarkup = ([cx, cy, w, h34, tilt]) => ``; -var happyEyeMarkup = ([cx, cy, w, h34, tilt]) => ``; -+var eyeMarkup = ([cx, cy, w, h50, tilt]) => ``; -+var happyEyeMarkup = ([cx, cy, w, h50, tilt]) => ``; ++var eyeMarkup = ([cx, cy, w, h51, tilt]) => ``; ++var happyEyeMarkup = ([cx, cy, w, h51, tilt]) => ``; var maskBox = (size) => `maskUnits="userSpaceOnUse" x="${-size}" y="${-size}" width="${size * 3}" height="${size * 3}"`; var holes = (def, eyes) => `${eyes}`; var MASK_ID = "%MASK%"; -@@ -1242,192 +1242,46 @@ function maskOf(shape) { +@@ -1242,227 +1242,143 @@ function maskOf(shape) { } var DEFAULT_MASK = maskOf(FALLBACK_SHAPE); @@ -1639,14 +1775,48 @@ diff --git a/client.js b/client.js - for (const listener of [...listeners2]) listener(); - } - }; --} ++// src/client/cluster-order.js ++function clusterOrder(people2) { ++ const list = Array.isArray(people2) ? people2 : []; ++ const remote = (bot) => Boolean(bot?.remote); ++ if (!list.some(remote)) return list; ++ const locals = list.filter((bot) => !remote(bot)); ++ const remotes = list.filter(remote); ++ if (list.length <= 4) return [...remotes, ...locals]; ++ return [...locals, ...remotes]; + } -var EMPTY_ROSTER = { revision: -1, mainBotId: null, mainBotIds: [], bots: [], rooms: [], agents: [], exchangeTurns: {}, questions: {}, secrets: [], capabilities: [], capabilityStatuses: {}, secretRequests: {}, models: [], defaultModel: null, modelsKey: null, prefs: {}, byId: {}, roomsById: {}, agentsById: {}, agentOf: {}, ready: false }; -var isMainOf = (roster, id) => id !== void 0 && (roster.mainBotIds ?? []).includes(id); -function indexRoster(value) { - const byId = {}; - for (const bot of value.bots) { - for (const id of [...bot.parts ?? [], bot.sessionId ?? bot.id, bot.id]) byId[id] = bot; -- } ++ ++// src/shared/mentions.js ++var ALL_WORDS = ["all", "everyone", "所有人", "全体"]; ++var NAME_GOES_ON = /^(?:[a-z0-9_\-/\\]|\.[a-z0-9_-])/i; ++var ADDRESS_BEFORE = /[a-z0-9_./]/i; ++var LITERAL = /```[\s\S]*?(?:```|$)|`[^`\n]*`|\[[^\]\n]*\]\([^)\s]*(?:\s+(?:"[^"\n]*"|'[^'\n]*'))?\)/g; ++var fitsAt = (text2, at, word) => text2.slice(at, at + word.length).toLowerCase() === word.toLowerCase() && !NAME_GOES_ON.test(text2.slice(at + word.length)); ++var overlaps = (spans, start, end) => spans.some((span) => start < span.end && span.start < end); ++function nameProblem(name) { ++ const text2 = String(name ?? "").trim(); ++ if (text2 === "") return "A Bot needs a name"; ++ if (/[@`\r\n]/.test(text2)) return "A Bot name cannot contain @, ` or a line break"; ++ if (ALL_WORDS.includes(text2.toLowerCase())) return `"${text2}" calls everyone in a group, so it cannot be a Bot name`; ++ return void 0; ++} ++function referenceSpans(text2, labels = []) { ++ const spans = []; ++ for (const label of [...labels].sort((a, b) => b.length - a.length)) { ++ const mention = `@${label}`; ++ for (let at = text2.indexOf(mention); at !== -1; at = text2.indexOf(mention, at + 1)) { ++ const end = at + mention.length; ++ if (at > 0 && ADDRESS_BEFORE.test(text2[at - 1]) || NAME_GOES_ON.test(text2.slice(end)) || overlaps(spans, at, end)) continue; ++ spans.push({ start: at, end, label }); ++ break; ++ } + } - const roomsById = {}; - for (const room2 of value.rooms) roomsById[room2.id] = room2; - const agentsById = {}; @@ -1654,24 +1824,87 @@ diff --git a/client.js b/client.js - for (const agent of value.agents ?? []) { - agentsById[agent.id] = agent; - for (const sessionId of agent.sessions ?? []) agentOf[sessionId] = agent.id; -- } ++ return spans.sort((a, b) => a.start - b.start); ++} ++function mentionSpans(text2, bots, { references = [] } = {}) { ++ const value = String(text2 ?? ""); ++ const skip = [ ++ ...[...value.matchAll(LITERAL)].map((match) => ({ start: match.index, end: match.index + match[0].length })), ++ ...referenceSpans(value, references) ++ ]; ++ const byLength = bots.filter((bot) => bot?.name).sort((a, b) => b.name.length - a.name.length); ++ const spans = []; ++ for (let at = value.indexOf("@"); at !== -1; at = value.indexOf("@", at + 1)) { ++ if (at > 0 && ADDRESS_BEFORE.test(value[at - 1]) || overlaps(skip, at, at + 1)) continue; ++ const bot = byLength.find((candidate) => fitsAt(value, at + 1, candidate.name)); ++ const all = bot ? void 0 : ALL_WORDS.find((word) => fitsAt(value, at + 1, word)); ++ if (!bot && !all) continue; ++ const end = at + 1 + (bot ? bot.name.length : all.length); ++ spans.push(bot ? { start: at, end, bot } : { start: at, end, all: true }); ++ at = end - 1; + } - return { ...value, agents: value.agents ?? [], byId, roomsById, agentsById, agentOf, ready: true }; --} ++ return spans; + } -function isAgentSession(roster, cache, sessionId) { - if (sessionId === void 0 || sessionId === null || sessionId === "") return false; - if (roster.ready) return roster.agentOf[sessionId] !== void 0; - return cache.has(sessionId); --} ++function unmatchedMentions(text2, bots, { references = [] } = {}) { ++ const value = String(text2 ?? ""); ++ const skip = [ ++ ...[...value.matchAll(LITERAL)].map((match) => ({ start: match.index, end: match.index + match[0].length })), ++ ...referenceSpans(value, references) ++ ]; ++ const byLength = bots.filter((bot) => bot?.name).sort((a, b) => b.name.length - a.name.length); ++ const missing = []; ++ for (let at = value.indexOf("@"); at !== -1; at = value.indexOf("@", at + 1)) { ++ if (at > 0 && ADDRESS_BEFORE.test(value[at - 1]) || overlaps(skip, at, at + 1)) continue; ++ const bot = byLength.find((candidate) => fitsAt(value, at + 1, candidate.name)); ++ const all = bot ? void 0 : ALL_WORDS.find((word2) => fitsAt(value, at + 1, word2)); ++ if (bot || all) { ++ at += 1 + (bot ? bot.name.length : all.length) - 1; ++ continue; ++ } ++ const word = /^[^\s@,,。.!?!?::;;、()()"'“”]{1,40}/.exec(value.slice(at + 1))?.[0]; ++ if (word) missing.push(`@${word}`); ++ } ++ return missing; + } -function countCards(state, sessionId, callIds, delta) { - const own = { ...state[sessionId] }; - for (const callId of callIds) { - const count = (own[callId] ?? 0) + delta; - if (count > 0) own[callId] = count; - else delete own[callId]; -- } ++ ++// src/shared/preview.js ++var FENCE_TAG = /<\s*\/?\s*untrusted-(?:message|file)\b[^<>]*>/gi; ++var FENCE_ATTR = /\bfrom\s*=\s*(?:"[^"]*"|'[^']*')\s*>/gi; ++var FENCE_TAIL = /<[^<>]*\buntrusted-(?:message|file)\b[^<>]*$/i; ++var FENCE_BARE = /(?:\/\s*)?untrusted-(?:message|file)\b\s*>?/gi; ++function stripFence(text2) { ++ let out = String(text2 ?? ""); ++ for (let previous; previous !== out; ) { ++ previous = out; ++ out = out.replace(FENCE_TAG, "").replace(FENCE_ATTR, ""); + } - return { ...state, [sessionId]: own }; --} -- ++ return out.replace(FENCE_TAIL, "").replace(FENCE_BARE, ""); ++} ++function visibleText(text2) { ++ let out = String(text2 ?? ""); ++ for (let previous; previous !== out; ) { ++ previous = out; ++ const open = out.indexOf(""); ++ const inner = close > open ? out.slice(out.indexOf(">", open) + 1, close) : out; ++ out = stripFence(inner); ++ } ++ return stripFence(out).replace(/\s+/g, " ").trim(); + } + -// src/client/themes.js -var THEME_KEYS = ["bg", "sidebar", "bubble", "card", "text", "user", "userText", "accent"]; -var THEMES = { @@ -1694,7 +1927,18 @@ diff --git a/client.js b/client.js - label: "Moonlight", - light: { bg: "#f7f9fc", sidebar: "#eef2f8", bubble: "#e5ebf5", card: "#ffffff", text: "#121826", user: "#1e3a8a", userText: "#ffffff", accent: "#1e86ff" }, - dark: { bg: "#0b1020", sidebar: "#10172a", bubble: "#1a2340", card: "#141c33", text: "#e8edf7", user: "#3b6fd8", userText: "#ffffff", accent: "#4f9dff" } -- } ++// src/client/text.js ++var MENTION_ORIGIN = "https://bots.local/"; ++function linkMentions(text2, bots, selfId) { ++ if (!text2 || !text2.includes("@")) return text2; ++ const ordered = [...bots ?? []].sort((a, b) => Number(Boolean(a?.remote)) - Number(Boolean(b?.remote))); ++ let out = ""; ++ let cursor = 0; ++ for (const span of mentionSpans(text2, ordered)) { ++ if (!span.bot || span.bot.id === selfId) continue; ++ out += `${text2.slice(cursor, span.start)}[${text2.slice(span.start + 1, span.end).replace(/[[\]\\]/g, "\\$&")}](${MENTION_ORIGIN}${span.bot.id})`; ++ cursor = span.end; + } -}; -var rgba = (hex, alpha) => `rgba(${[1, 3, 5].map((index) => parseInt(hex.slice(index, index + 2), 16)).join(",")},${alpha})`; -function themeVars(mode, dark, accent = mode.accent) { @@ -1760,16 +2004,7 @@ diff --git a/client.js b/client.js - else delete SHAPES[id]; - refresh(); - }; -+// src/client/cluster-order.js -+function clusterOrder(people2) { -+ const list = Array.isArray(people2) ? people2 : []; -+ const remote = (bot) => Boolean(bot?.remote); -+ if (!list.some(remote)) return list; -+ const locals = list.filter((bot) => !remote(bot)); -+ const remotes = list.filter(remote); -+ if (list.length <= 4) return [...remotes, ...locals]; -+ return [...locals, ...remotes]; - } +-} -function registerTheme(id, theme) { - if (typeof id !== "string" || !/^[a-z][\w-]{0,31}$/.test(id)) throw new Error("Theme ids are lowercase words"); - for (const mode of ["light", "dark"]) { @@ -1785,120 +2020,65 @@ diff --git a/client.js b/client.js - }; -} -var allThemes = () => ({ ...THEMES, ...customThemes }); - - // src/shared/mentions.js - var ALL_WORDS = ["all", "everyone", "所有人", "全体"]; - var NAME_GOES_ON = /^(?:[a-z0-9_\-/\\]|\.[a-z0-9_-])/i; - var ADDRESS_BEFORE = /[a-z0-9_./]/i; - var LITERAL = /```[\s\S]*?(?:```|$)|`[^`\n]*`|\[[^\]\n]*\]\([^)\s]*(?:\s+(?:"[^"\n]*"|'[^'\n]*'))?\)/g; +- +-// src/shared/mentions.js +-var ALL_WORDS = ["all", "everyone", "所有人", "全体"]; +-var NAME_GOES_ON = /^(?:[a-z0-9_\-/\\]|\.[a-z0-9_-])/i; +-var ADDRESS_BEFORE = /[a-z0-9_./]/i; +-var LITERAL = /```[\s\S]*?(?:```|$)|`[^`\n]*`|\[[^\]\n]*\]\([^)\s]*(?:\s+(?:"[^"\n]*"|'[^'\n]*'))?\)/g; -var fitsAt = (text, at, word) => text.slice(at, at + word.length).toLowerCase() === word.toLowerCase() && !NAME_GOES_ON.test(text.slice(at + word.length)); -+var fitsAt = (text2, at, word) => text2.slice(at, at + word.length).toLowerCase() === word.toLowerCase() && !NAME_GOES_ON.test(text2.slice(at + word.length)); - var overlaps = (spans, start, end) => spans.some((span) => start < span.end && span.start < end); - function nameProblem(name) { +-var overlaps = (spans, start, end) => spans.some((span) => start < span.end && span.start < end); +-function nameProblem(name) { - const text = String(name ?? "").trim(); - if (text === "") return "A Bot needs a name"; - if (/[@`\r\n]/.test(text)) return "A Bot name cannot contain @, ` or a line break"; - if (ALL_WORDS.includes(text.toLowerCase())) return `"${text}" calls everyone in a group, so it cannot be a Bot name`; -+ const text2 = String(name ?? "").trim(); -+ if (text2 === "") return "A Bot needs a name"; -+ if (/[@`\r\n]/.test(text2)) return "A Bot name cannot contain @, ` or a line break"; -+ if (ALL_WORDS.includes(text2.toLowerCase())) return `"${text2}" calls everyone in a group, so it cannot be a Bot name`; - return void 0; - } +- return void 0; +-} -function referenceSpans(text, labels = []) { -+function referenceSpans(text2, labels = []) { - const spans = []; - for (const label of [...labels].sort((a, b) => b.length - a.length)) { - const mention = `@${label}`; +- const spans = []; +- for (const label of [...labels].sort((a, b) => b.length - a.length)) { +- const mention = `@${label}`; - for (let at = text.indexOf(mention); at !== -1; at = text.indexOf(mention, at + 1)) { -+ for (let at = text2.indexOf(mention); at !== -1; at = text2.indexOf(mention, at + 1)) { - const end = at + mention.length; +- const end = at + mention.length; - if (at > 0 && ADDRESS_BEFORE.test(text[at - 1]) || NAME_GOES_ON.test(text.slice(end)) || overlaps(spans, at, end)) continue; -+ if (at > 0 && ADDRESS_BEFORE.test(text2[at - 1]) || NAME_GOES_ON.test(text2.slice(end)) || overlaps(spans, at, end)) continue; - spans.push({ start: at, end, label }); - break; - } - } - return spans.sort((a, b) => a.start - b.start); - } +- spans.push({ start: at, end, label }); +- break; +- } +- } +- return spans.sort((a, b) => a.start - b.start); +-} -function mentionSpans(text, bots, { references = [] } = {}) { - const value = String(text ?? ""); -+function mentionSpans(text2, bots, { references = [] } = {}) { -+ const value = String(text2 ?? ""); - const skip = [ - ...[...value.matchAll(LITERAL)].map((match) => ({ start: match.index, end: match.index + match[0].length })), - ...referenceSpans(value, references) -@@ -1445,24 +1445,86 @@ function mentionSpans(text, bots, { references = [] } = {}) { - } - return spans; - } +- const skip = [ +- ...[...value.matchAll(LITERAL)].map((match) => ({ start: match.index, end: match.index + match[0].length })), +- ...referenceSpans(value, references) +- ]; +- const byLength = bots.filter((bot) => bot?.name).sort((a, b) => b.name.length - a.name.length); +- const spans = []; +- for (let at = value.indexOf("@"); at !== -1; at = value.indexOf("@", at + 1)) { +- if (at > 0 && ADDRESS_BEFORE.test(value[at - 1]) || overlaps(skip, at, at + 1)) continue; +- const bot = byLength.find((candidate) => fitsAt(value, at + 1, candidate.name)); +- const all = bot ? void 0 : ALL_WORDS.find((word) => fitsAt(value, at + 1, word)); +- if (!bot && !all) continue; +- const end = at + 1 + (bot ? bot.name.length : all.length); +- spans.push(bot ? { start: at, end, bot } : { start: at, end, all: true }); +- at = end - 1; +- } +- return spans; +-} - -// src/client/text.js -var MENTION_ORIGIN = "https://bots.local/"; -function linkMentions(text, bots, selfId) { - if (!text || !text.includes("@")) return text; -+function unmatchedMentions(text2, bots, { references = [] } = {}) { -+ const value = String(text2 ?? ""); -+ const skip = [ -+ ...[...value.matchAll(LITERAL)].map((match) => ({ start: match.index, end: match.index + match[0].length })), -+ ...referenceSpans(value, references) -+ ]; -+ const byLength = bots.filter((bot) => bot?.name).sort((a, b) => b.name.length - a.name.length); -+ const missing = []; -+ for (let at = value.indexOf("@"); at !== -1; at = value.indexOf("@", at + 1)) { -+ if (at > 0 && ADDRESS_BEFORE.test(value[at - 1]) || overlaps(skip, at, at + 1)) continue; -+ const bot = byLength.find((candidate) => fitsAt(value, at + 1, candidate.name)); -+ const all = bot ? void 0 : ALL_WORDS.find((word2) => fitsAt(value, at + 1, word2)); -+ if (bot || all) { -+ at += 1 + (bot ? bot.name.length : all.length) - 1; -+ continue; -+ } -+ const word = /^[^\s@,,。.!?!?::;;、()()"'“”]{1,40}/.exec(value.slice(at + 1))?.[0]; -+ if (word) missing.push(`@${word}`); -+ } -+ return missing; -+} -+ -+// src/shared/preview.js -+var FENCE_TAG = /<\s*\/?\s*untrusted-(?:message|file)\b[^<>]*>/gi; -+var FENCE_ATTR = /\bfrom\s*=\s*(?:"[^"]*"|'[^']*')\s*>/gi; -+var FENCE_TAIL = /<[^<>]*\buntrusted-(?:message|file)\b[^<>]*$/i; -+var FENCE_BARE = /(?:\/\s*)?untrusted-(?:message|file)\b\s*>?/gi; -+function stripFence(text2) { -+ let out = String(text2 ?? ""); -+ for (let previous; previous !== out; ) { -+ previous = out; -+ out = out.replace(FENCE_TAG, "").replace(FENCE_ATTR, ""); -+ } -+ return out.replace(FENCE_TAIL, "").replace(FENCE_BARE, ""); -+} -+function visibleText(text2) { -+ let out = String(text2 ?? ""); -+ for (let previous; previous !== out; ) { -+ previous = out; -+ const open = out.indexOf(""); -+ const inner = close > open ? out.slice(out.indexOf(">", open) + 1, close) : out; -+ out = stripFence(inner); -+ } -+ return stripFence(out).replace(/\s+/g, " ").trim(); -+} -+ -+// src/client/text.js -+var MENTION_ORIGIN = "https://bots.local/"; -+function linkMentions(text2, bots, selfId) { -+ if (!text2 || !text2.includes("@")) return text2; -+ const ordered = [...bots ?? []].sort((a, b) => Number(Boolean(a?.remote)) - Number(Boolean(b?.remote))); - let out = ""; - let cursor = 0; +- let out = ""; +- let cursor = 0; - for (const span of mentionSpans(text, bots)) { -+ for (const span of mentionSpans(text2, ordered)) { - if (!span.bot || span.bot.id === selfId) continue; +- if (!span.bot || span.bot.id === selfId) continue; - out += `${text.slice(cursor, span.start)}[${text.slice(span.start + 1, span.end).replace(/[[\]\\]/g, "\\$&")}](${MENTION_ORIGIN}${span.bot.id})`; -+ out += `${text2.slice(cursor, span.start)}[${text2.slice(span.start + 1, span.end).replace(/[[\]\\]/g, "\\$&")}](${MENTION_ORIGIN}${span.bot.id})`; - cursor = span.end; - } +- cursor = span.end; +- } - return cursor === 0 ? text : out + text.slice(cursor); + return cursor === 0 ? text2 : out + text2.slice(cursor); } @@ -2124,7 +2304,7 @@ diff --git a/client.js b/client.js var formatTokens = (count) => count >= 1e6 ? `${(count / 1e6).toFixed(1)}M` : count >= 1e3 ? `${(count / 1e3).toFixed(1)}K` : String(count); function usageOf(list, ids) { let input = 0; -@@ -1624,968 +1624,2050 @@ function usageOf(list, ids) { +@@ -1624,827 +1624,1965 @@ function usageOf(list, ids) { const hit = input > 0 ? Math.round(cacheRead / input * 100) : 0; return t("{tokens} tok · Cache hit {hit}%", { tokens: formatTokens(input + output), hit }); } @@ -2387,9 +2567,6 @@ diff --git a/client.js b/client.js - const animation = node.animate([{ height: `${from}px` }, { height: `${to}px` }], { duration: SPRING_SHAPE.duration, easing: SPRING_SHAPE.easing, id: "bt-morph" }); - animation.onfinish = () => { - delete node.dataset.morph; -- }; -- animation.oncancel = () => { -- if (!node.getAnimations().some((other) => other.id === "bt-morph" && other !== animation)) delete node.dataset.morph; +function isAgentSession(roster, cache, sessionId) { + if (sessionId === void 0 || sessionId === null || sessionId === "") return false; + if (roster.ready) return roster.agentOf[sessionId] !== void 0; @@ -2424,11 +2601,13 @@ diff --git a/client.js b/client.js + node.style.setProperty("--bt-gx", clamp((point.x - box.left - box.width / 2) / 160).toFixed(2)); + node.style.setProperty("--bt-gy", clamp((point.y - box.top - box.height / 2) / 160).toFixed(2)); }; -- }); +- animation.oncancel = () => { +- if (!node.getAnimations().some((other) => other.id === "bt-morph" && other !== animation)) delete node.dataset.morph; + const onMove = (event) => { + point = { x: event.clientX, y: event.clientY }; + if (!frame) frame = requestAnimationFrame(place); -+ }; + }; +- }); + const onLeave = () => { + point = null; + ref.current?.style.setProperty("--bt-gx", "0"); @@ -2734,6 +2913,42 @@ diff --git a/client.js b/client.js -.bt-stack{display:inline-flex;align-items:center;flex:none;line-height:0} -.bt-stack>*+*{margin-left:calc(var(--bt-stack-size) * -.3)} -.bt-stack-more{font-size:11px;line-height:16px;color:var(--bt-ink-3);margin-left:3px!important} +- +-.bt-side{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;gap:2px;padding:0 12px 8px 0;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif} +-.bt-side-top{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:6px 5px 0 0} +-.bt-brand{display:inline-flex;align-items:center;gap:6px;margin-right:auto;padding:4px 8px 4px 4px;border:0;border-radius:8px;background:none;cursor:pointer;font-family:inherit;font-size:15px;line-height:20px;font-weight:600;letter-spacing:-.01em;color:var(--bt-ink);white-space:nowrap} +-.bt-brand-whale{display:inline-flex;color:var(--bt-accent)} +-.bt-round{width:36px;height:36px;border-radius:50%;border:1px solid var(--bt-line);background:var(--bt-main);color:var(--bt-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color .12s ease,transform .12s ease} +-.bt-round:hover{background:var(--bt-hover)} +-.bt-round:active{transform:scale(.94)} +-.bt-list{display:flex;flex-direction:column;gap:3px;overflow-y:auto;min-height:0;flex:1 1 auto} +-.bt-tile-wrap{display:flex;justify-content:center;padding:20px 0 15px} +-.bt-tile{display:flex;flex-direction:column;align-items:center;gap:4px;width:95px;padding:6px 8px 4px;border-radius:12px;border:0;background:transparent;color:var(--bt-ink);cursor:pointer;font-family:inherit;transition:background-color .12s ease} +-.bt-tile:hover{background:var(--bt-hover)} +-.bt-tile[aria-current=page]{background:var(--bt-active)} +-.bt-tile-name{font-size:13px;line-height:18px;font-weight:400;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} +-.bt-chip{font-size:11px;line-height:16px;padding:1px 4px;border-radius:4px;background:var(--bt-hover);border:1px solid var(--bt-line);color:var(--bt-ink-2);white-space:nowrap;max-width:84px;overflow:hidden;text-overflow:ellipsis} +-.bt-row{display:flex;align-items:center;gap:8px;min-height:54px;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--bt-ink);text-align:left;cursor:pointer;width:100%;box-sizing:border-box;font-family:inherit;transition:background-color .12s ease} +-.bt-row:hover{background:var(--bt-hover)} +-.bt-row[aria-current=page]{background:var(--bt-active)} +-.bt-row-body{display:flex;flex-direction:column;min-width:0;flex:1 1 auto} +-.bt-row-name{display:flex;align-items:center;gap:6px;min-width:0;font-size:14px;line-height:20px;font-weight:400} +-.bt-row-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} +-.bt-tag{flex:none;max-width:96px;font-size:12px;line-height:16px;font-weight:400;padding:1px 6px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis} +-.bt-row-preview{font-size:13px;line-height:18px;color:var(--bt-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis} +-.bt-unread{width:8px;height:8px;border-radius:50%;background:#1084fe;flex:none;margin-right:2px;animation:bt-fade .13s cubic-bezier(.22,1,.36,1)} +-.bt-unread-wait{background:var(--bt-star)} +-.bt-rail{align-items:center;padding:0 0 8px} +-.bt-rail .bt-row{justify-content:center;padding:6px 0;min-height:44px} +-.bt-side-foot{display:flex;padding-top:8px} +-.bt-connect{flex:1;height:36px;border-radius:999px;border:1px solid var(--bt-line);background:var(--bt-main);color:var(--bt-ink);font-family:inherit;font-size:14px;line-height:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color .12s ease} +-.bt-connect:hover{background:var(--bt-hover)} +-.bt-connect svg{flex:none;width:15px;height:15px} +-.bt-connect-wrap{position:relative;display:flex;flex:1 1 auto;min-width:0} +-.bt-connect-warn{flex:none;width:16px;height:16px;border-radius:50%;background:#E5484D;color:#fff;font-size:11px;line-height:16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center} +-.bt-connect-tip{position:fixed;box-sizing:border-box;width:max-content;max-width:260px;padding:8px 12px;border-radius:10px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 8px 24px -4px rgba(0,0,0,.14);color:var(--bt-ink);font-size:12px;line-height:17px;white-space:normal;text-align:center;z-index:70;transform-origin:bottom left;animation:bt-tip-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing}} +-@keyframes bt-tip-in{from{opacity:0;transform:scale(.96);filter:blur(4px)}} +-@media (prefers-reduced-motion:reduce){.bt-connect-tip{animation:none}} +// src/client/room-invite-preview.js +var INVITE_PREVIEW_NAME_MAX = 60; +function stripInviteMarkers(text2) { @@ -2774,29 +2989,29 @@ diff --git a/client.js b/client.js + const total = Math.max(1, Math.ceil(left / 1e3)); + return `${Math.floor(total / 60)}:${String(total % 60).padStart(2, "0")} left to join`; +} -+function RoomInvitePreview({ h: h50, preview, kind = "face-link-preview", busy = false, joinLabel = "Join", clearLabel = "Clear", showClear = true, onJoin, onClear, now } = {}) { -+ if (!preview || typeof h50 !== "function") return null; ++function RoomInvitePreview({ h: h51, preview, kind = "face-link-preview", busy = false, joinLabel = "Join", clearLabel = "Clear", showClear = true, onJoin, onClear, now } = {}) { ++ if (!preview || typeof h51 !== "function") return null; + const at = `${kind}`; + const child = (name) => `${at}-${name}`; + const countdown = now === void 0 ? inviteCountdown(preview.expiresAt, preview.clockOffsetMs) : inviteCountdownAt(preview.expiresAt, preview.clockOffsetMs, now); -+ return h50( ++ return h51( + "div", + { className: "fs-preview", "data-flybot": at, role: "status" }, -+ h50("div", { className: "fs-preview-name", "data-flybot": child("name") }, preview.name || "Face-to-face room"), -+ preview.lead ? h50("div", { className: "fs-preview-meta", "data-flybot": child("lead") }, `Lead: ${preview.lead}`) : null, -+ preview.people ? h50("div", { className: "fs-preview-meta", "data-flybot": child("members") }, preview.people) : null, -+ preview.expiresAt ? h50("div", { className: "fs-preview-meta", "data-flybot": child("expiry") }, countdown) : null, -+ onJoin || onClear ? h50( ++ h51("div", { className: "fs-preview-name", "data-flybot": child("name") }, preview.name || "Face-to-face room"), ++ preview.lead ? h51("div", { className: "fs-preview-meta", "data-flybot": child("lead") }, `Lead: ${preview.lead}`) : null, ++ preview.people ? h51("div", { className: "fs-preview-meta", "data-flybot": child("members") }, preview.people) : null, ++ preview.expiresAt ? h51("div", { className: "fs-preview-meta", "data-flybot": child("expiry") }, countdown) : null, ++ onJoin || onClear ? h51( + "div", + { className: "fs-preview-foot", "data-flybot": child("foot") }, -+ showClear && onClear ? h50("button", { ++ showClear && onClear ? h51("button", { + type: "button", + className: "fs-btn fs-btn-sm", + "data-flybot": child("clear"), + disabled: !!busy, + onClick: onClear + }, clearLabel) : null, -+ onJoin ? h50("button", { ++ onJoin ? h51("button", { + type: "button", + className: "fs-btn fs-btn-sm fs-btn-primary", + "data-flybot": child("join"), @@ -2815,41 +3030,29 @@ diff --git a/client.js b/client.js + return `${Math.floor(total / 60)}:${String(total % 60).padStart(2, "0")} left to join`; +} --.bt-side{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;gap:2px;padding:0 12px 8px 0;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif} --.bt-side-top{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:6px 5px 0 0} --.bt-brand{display:inline-flex;align-items:center;gap:6px;margin-right:auto;padding:4px 8px 4px 4px;border:0;border-radius:8px;background:none;cursor:pointer;font-family:inherit;font-size:15px;line-height:20px;font-weight:600;letter-spacing:-.01em;color:var(--bt-ink);white-space:nowrap} --.bt-brand-whale{display:inline-flex;color:var(--bt-accent)} --.bt-round{width:36px;height:36px;border-radius:50%;border:1px solid var(--bt-line);background:var(--bt-main);color:var(--bt-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color .12s ease,transform .12s ease} --.bt-round:hover{background:var(--bt-hover)} --.bt-round:active{transform:scale(.94)} --.bt-list{display:flex;flex-direction:column;gap:3px;overflow-y:auto;min-height:0;flex:1 1 auto} --.bt-tile-wrap{display:flex;justify-content:center;padding:20px 0 15px} --.bt-tile{display:flex;flex-direction:column;align-items:center;gap:4px;width:95px;padding:6px 8px 4px;border-radius:12px;border:0;background:transparent;color:var(--bt-ink);cursor:pointer;font-family:inherit;transition:background-color .12s ease} --.bt-tile:hover{background:var(--bt-hover)} --.bt-tile[aria-current=page]{background:var(--bt-active)} --.bt-tile-name{font-size:13px;line-height:18px;font-weight:400;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} --.bt-chip{font-size:11px;line-height:16px;padding:1px 4px;border-radius:4px;background:var(--bt-hover);border:1px solid var(--bt-line);color:var(--bt-ink-2);white-space:nowrap;max-width:84px;overflow:hidden;text-overflow:ellipsis} --.bt-row{display:flex;align-items:center;gap:8px;min-height:54px;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--bt-ink);text-align:left;cursor:pointer;width:100%;box-sizing:border-box;font-family:inherit;transition:background-color .12s ease} --.bt-row:hover{background:var(--bt-hover)} --.bt-row[aria-current=page]{background:var(--bt-active)} --.bt-row-body{display:flex;flex-direction:column;min-width:0;flex:1 1 auto} --.bt-row-name{display:flex;align-items:center;gap:6px;min-width:0;font-size:14px;line-height:20px;font-weight:400} --.bt-row-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} --.bt-tag{flex:none;max-width:96px;font-size:12px;line-height:16px;font-weight:400;padding:1px 6px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis} --.bt-row-preview{font-size:13px;line-height:18px;color:var(--bt-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis} --.bt-unread{width:8px;height:8px;border-radius:50%;background:#1084fe;flex:none;margin-right:2px;animation:bt-fade .13s cubic-bezier(.22,1,.36,1)} --.bt-unread-wait{background:var(--bt-star)} --.bt-rail{align-items:center;padding:0 0 8px} --.bt-rail .bt-row{justify-content:center;padding:6px 0;min-height:44px} --.bt-side-foot{display:flex;padding-top:8px} --.bt-connect{flex:1;height:36px;border-radius:999px;border:1px solid var(--bt-line);background:var(--bt-main);color:var(--bt-ink);font-family:inherit;font-size:14px;line-height:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color .12s ease} --.bt-connect:hover{background:var(--bt-hover)} --.bt-connect svg{flex:none;width:15px;height:15px} --.bt-connect-wrap{position:relative;display:flex;flex:1 1 auto;min-width:0} --.bt-connect-warn{flex:none;width:16px;height:16px;border-radius:50%;background:#E5484D;color:#fff;font-size:11px;line-height:16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center} --.bt-connect-tip{position:fixed;box-sizing:border-box;width:max-content;max-width:260px;padding:8px 12px;border-radius:10px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 8px 24px -4px rgba(0,0,0,.14);color:var(--bt-ink);font-size:12px;line-height:17px;white-space:normal;text-align:center;z-index:70;transform-origin:bottom left;animation:bt-tip-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing}} --@keyframes bt-tip-in{from{opacity:0;transform:scale(.96);filter:blur(4px)}} --@media (prefers-reduced-motion:reduce){.bt-connect-tip{animation:none}} +-.bt-head{position:relative;display:flex;justify-content:center;align-items:center;height:40px;flex:none;pointer-events:none} +-.bt-pill{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;height:40px;padding:7.5px 13.5px 7.5px 7.5px;border-radius:999px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 2px 8px -1px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);color:var(--bt-ink);font-family:inherit;font-size:14px;line-height:20px;cursor:pointer;max-width:70%;box-sizing:border-box;transition:background-color .12s ease,transform ${SPRING_TAP.duration}ms ${SPRING_TAP.easing}} +-.bt-pill:hover{background:color-mix(in srgb,var(--bt-main),#777 9%)} +-.bt-pill:active{transform:scale(.965)} +-.bt-pill-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500} +-.bt-pill-mem{flex:none;display:inline-flex;width:0;margin-left:-8px;overflow:hidden;transition:${spring(SPRING_SHAPE, "width", "margin-left")}} +-.bt-pill[data-memory=updated] .bt-pill-mem{width:var(--bt-mem-w);margin-left:0;transition:${spring(SPRING_STRETCH, "width", "margin-left")}} +-.bt-pill-mem-in{flex:none;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--bt-ink-2);font-size:13px;font-weight:500;opacity:0;filter:blur(6px);transform:translateX(-8px);transition:opacity .14s ease,filter .18s ease,${spring(SPRING_SHAPE, "transform")}} +-.bt-pill-mem-in::before{content:"";flex:none;width:1px;height:14px;margin-right:4px;background:var(--bt-line-2)} +-.bt-pill[data-memory=updated] .bt-pill-mem-in{opacity:1;filter:none;transform:none;transition-delay:70ms} +-.bt-pill-mem-ico{flex:none;display:inline-flex;width:16px;height:16px;color:var(--bt-accent)} +-.bt-pill-mem-ico svg{width:16px;height:16px} +-.bt-pill[data-memory=updated] .bt-pill-mem-ico{animation:bt-mem-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing} 90ms both} +-@keyframes bt-mem-pop{from{transform:scale(.4) rotate(-14deg)}to{transform:none}} +-.bt-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0} +-@media (prefers-reduced-motion:reduce){.bt-pill-mem,.bt-pill-mem-in{transition:none!important}.bt-pill-mem-in{filter:none;transform:none}.bt-pill[data-memory=updated] .bt-pill-mem-ico{animation:none}} +-.bt-swap{color:var(--bt-ink-3);font-size:12px} +-.bt-pill-go{flex:none;display:inline-flex;align-items:center;justify-content:flex-end;width:0;margin-left:-8px;overflow:hidden;opacity:0;filter:blur(6px);transform:translateX(-6px);color:var(--bt-ink-2);transition:width ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},margin-left ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},transform ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},opacity .18s ease,filter .18s ease} +-.bt-pill-go svg{flex:none;transition:transform ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing}} +-.bt-pill:hover .bt-pill-go,.bt-pill:focus-visible .bt-pill-go,.bt-pill[aria-expanded=true] .bt-pill-go{width:18px;margin-left:0;opacity:1;filter:none;transform:none} +-.bt-pill[aria-expanded=true] .bt-pill-go svg{transform:rotate(180deg)} +-.bt-pill[data-memory=updated]:is(:hover,:focus-visible,[aria-expanded=true]) .bt-pill-go{width:0;margin-left:-8px;opacity:0;filter:blur(6px);transform:translateX(-6px)} +-@media (prefers-reduced-motion:reduce){.bt-pill,.bt-pill-go,.bt-pill-go svg{transition:none!important}.bt-pill-go{filter:none}.bt-pill:active{transform:none}} +// src/client/approval-claims.js +var claims = /* @__PURE__ */ new Map(); +var claimListeners = /* @__PURE__ */ new Set(); @@ -2876,35 +3079,6 @@ diff --git a/client.js b/client.js + }; +} --.bt-head{position:relative;display:flex;justify-content:center;align-items:center;height:40px;flex:none;pointer-events:none} --.bt-pill{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;height:40px;padding:7.5px 13.5px 7.5px 7.5px;border-radius:999px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 2px 8px -1px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);color:var(--bt-ink);font-family:inherit;font-size:14px;line-height:20px;cursor:pointer;max-width:70%;box-sizing:border-box;transition:background-color .12s ease,transform ${SPRING_TAP.duration}ms ${SPRING_TAP.easing}} --.bt-pill:hover{background:color-mix(in srgb,var(--bt-main),#777 9%)} --.bt-pill:active{transform:scale(.965)} --.bt-pill-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500} --.bt-pill-mem{flex:none;display:inline-flex;width:0;margin-left:-8px;overflow:hidden;transition:${spring(SPRING_SHAPE, "width", "margin-left")}} --.bt-pill[data-memory=updated] .bt-pill-mem{width:var(--bt-mem-w);margin-left:0;transition:${spring(SPRING_STRETCH, "width", "margin-left")}} --.bt-pill-mem-in{flex:none;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--bt-ink-2);font-size:13px;font-weight:500;opacity:0;filter:blur(6px);transform:translateX(-8px);transition:opacity .14s ease,filter .18s ease,${spring(SPRING_SHAPE, "transform")}} --.bt-pill-mem-in::before{content:"";flex:none;width:1px;height:14px;margin-right:4px;background:var(--bt-line-2)} --.bt-pill[data-memory=updated] .bt-pill-mem-in{opacity:1;filter:none;transform:none;transition-delay:70ms} --.bt-pill-mem-ico{flex:none;display:inline-flex;width:16px;height:16px;color:var(--bt-accent)} --.bt-pill-mem-ico svg{width:16px;height:16px} --.bt-pill[data-memory=updated] .bt-pill-mem-ico{animation:bt-mem-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing} 90ms both} --@keyframes bt-mem-pop{from{transform:scale(.4) rotate(-14deg)}to{transform:none}} --.bt-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0} --@media (prefers-reduced-motion:reduce){.bt-pill-mem,.bt-pill-mem-in{transition:none!important}.bt-pill-mem-in{filter:none;transform:none}.bt-pill[data-memory=updated] .bt-pill-mem-ico{animation:none}} --.bt-swap{color:var(--bt-ink-3);font-size:12px} --.bt-pill-go{flex:none;display:inline-flex;align-items:center;justify-content:flex-end;width:0;margin-left:-8px;overflow:hidden;opacity:0;filter:blur(6px);transform:translateX(-6px);color:var(--bt-ink-2);transition:width ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},margin-left ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},transform ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},opacity .18s ease,filter .18s ease} --.bt-pill-go svg{flex:none;transition:transform ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing}} --.bt-pill:hover .bt-pill-go,.bt-pill:focus-visible .bt-pill-go,.bt-pill[aria-expanded=true] .bt-pill-go{width:18px;margin-left:0;opacity:1;filter:none;transform:none} --.bt-pill[aria-expanded=true] .bt-pill-go svg{transform:rotate(180deg)} --.bt-pill[data-memory=updated]:is(:hover,:focus-visible,[aria-expanded=true]) .bt-pill-go{width:0;margin-left:-8px;opacity:0;filter:blur(6px);transform:translateX(-6px)} --@media (prefers-reduced-motion:reduce){.bt-pill,.bt-pill-go,.bt-pill-go svg{transition:none!important}.bt-pill-go{filter:none}.bt-pill:active{transform:none}} -+// src/shared/approval-waiting.js -+var WAITING_STATUSES = Object.freeze(["pending", "pending_approval"]); -+function isApprovalWaiting(status) { -+ return WAITING_STATUSES.includes(status); -+} - -.bt-astack{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0} -.bt-bubble{max-width:min(80%,560px,calc(100% - 82px));background:var(--bt-bubble);color:var(--bt-ink);border-radius:18px;padding:7px 12px;font-size:var(--dsh-content-font-size,14px);line-height:calc(var(--dsh-content-font-size,14px) + 8px);box-sizing:border-box;overflow-wrap:anywhere} -.bt-msg:not(:first-child)>.bt-msg-line>.bt-bubble{border-start-start-radius:6px} @@ -2925,25 +3099,11 @@ diff --git a/client.js b/client.js -.bt-group-name{font-size:12px;line-height:16px;font-weight:500;margin-left:42px} -.bt-x{border:0;background:none;color:var(--bt-ink-2);cursor:pointer;width:24px;height:24px;border-radius:6px;font-size:16px;line-height:24px;padding:0;transition:background-color .12s ease,color .12s ease,${spring(SPRING_TAP, "scale")}} -.bt-x:hover{background:var(--bt-hover);color:var(--bt-ink)} -+// src/shared/held-retry.js -+var TERMINAL = [ -+ // A friend's Bot that is gone or no longer shared (plugins/social/src/social.js: botGoneError / notSharedError). -+ /no such remote bot/i, -+ /is not shared with your Bots/i, -+ /is no longer shared with you/i, -+ // Only chat.public is a share taken back (#971). capability_not_granted is Bot Social's generic -+ // "peer has not granted " code, so the bare code does not decide (#988). -+ /has not granted chat\.public/i, -+ // The codes, when a transport passes the code instead of its sentence. -+ /bot_not_shared/i, -+ /bot_not_found/i -+]; -+var canRetry = (record) => { -+ if (!record) return true; -+ if (record.retry === false || record.noRetry === true) return false; -+ const said = `${record.error ?? ""} ${record.code ?? ""}`; -+ return !TERMINAL.some((reason) => reason.test(said)); -+}; ++// src/shared/approval-waiting.js ++var WAITING_STATUSES = Object.freeze(["pending", "pending_approval"]); ++function isApprovalWaiting(status) { ++ return WAITING_STATUSES.includes(status); ++} -.bt-q{margin:0 auto 8px;width:100%;max-width:var(--dsh-chat-content-width,748px);display:flex;flex-direction:column;gap:12px;--bt-q-edge:color-mix(in srgb,var(--bt-ink) 10%,transparent);--bt-q-rule:color-mix(in srgb,var(--bt-ink) 8%,transparent);--bt-q-rule-2:color-mix(in srgb,var(--bt-ink) 5%,transparent);background:var(--bt-card);box-shadow:0 1px 3px rgba(20,20,20,.04),inset 0 0 0 1px var(--bt-q-edge);border-radius:16px;padding:14px 16px;box-sizing:border-box;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;animation:bt-q-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing} backwards,bt-veil-in .2s ease-out backwards} -body[data-ds-dark-theme] .bt-q{--bt-q-edge:rgba(255,255,255,.16);--bt-q-rule:rgba(255,255,255,.12);--bt-q-rule-2:rgba(255,255,255,.08)} @@ -3017,6 +3177,69 @@ diff --git a/client.js b/client.js -.bt-q-ownrow .bt-q-input{color:var(--bt-ink)} -.bt-q-raised .bt-q-foot{padding:0 8px 8px} -@media (prefers-reduced-motion:reduce){.bt-q{animation:bt-fade .12s ease-out backwards}.bt-q-settled{animation:none}.bt-q-submit{animation:none}} ++// src/shared/held-retry.js ++var TERMINAL = [ ++ // A friend's Bot that is gone or no longer shared (plugins/social/src/social.js: botGoneError / notSharedError). ++ /no such remote bot/i, ++ /is not shared with your Bots/i, ++ /is no longer shared with you/i, ++ // Only chat.public is a share taken back (#971). capability_not_granted is Bot Social's generic ++ // "peer has not granted " code, so the bare code does not decide (#988). ++ /has not granted chat\.public/i, ++ // The codes, when a transport passes the code instead of its sentence. ++ /bot_not_shared/i, ++ /bot_not_found/i ++]; ++var canRetry = (record) => { ++ if (!record) return true; ++ if (record.retry === false || record.noRetry === true) return false; ++ const said = `${record.error ?? ""} ${record.code ?? ""}`; ++ return !TERMINAL.some((reason) => reason.test(said)); ++}; + +-.bt-newchat{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;animation:bt-veil-in .18s ease-out} +-.bt-to{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:48px;padding:6px 12px;border-bottom:1px solid var(--bt-line);font-size:14px;box-sizing:border-box} +-.bt-to-label{color:var(--bt-ink-2)} +-.bt-to input{flex:1;min-width:120px;border:0;outline:none;background:none;color:var(--bt-ink);font-size:14px;height:26px} +-.bt-token{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 6px 0 4px;border-radius:999px;background:var(--bt-hover);font-size:13px;animation:bt-check-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing}} +-.bt-token button{border:0;background:none;color:var(--bt-ink-2);cursor:pointer;padding:0 2px} +-.bt-admin-star{flex:none;display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:50%;corner-shape:round;background:color-mix(in srgb,var(--bt-star) 82%,var(--bt-sidebar));vertical-align:-1px} +-.bt-to-star{display:inline-flex;margin-right:-2px;animation:bt-check-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing}} +-.bt-to .bt-to-create{flex:none;height:28px;padding:0 12px;font-size:13px;animation:bt-q-submit-in ${SPRING_TAP.duration}ms ${SPRING_TAP.easing},bt-veil-in .16s ease-out} +-.bt-drop{position:absolute;top:48px;left:32px;width:min(550px,calc(100% - 64px));display:flex;flex-direction:column;padding:6px;max-height:min(420px,60vh);overflow-y:auto;background:var(--bt-card);border:1px solid var(--bt-line-2);border-radius:12px;box-shadow:0 6px 20px -4px rgba(0,0,0,.12);box-sizing:border-box;z-index:1;transform-origin:24px 0;animation:bt-pop-drop ${SPRING_TAP.duration}ms ${SPRING_TAP.easing},bt-veil-in .14s ease-out} +-.bt-option{display:flex;align-items:center;gap:10px;border:0;background:none;border-radius:8px;padding:7px 8px;min-height:36px;box-sizing:border-box;font-size:13px;line-height:18px;color:var(--bt-ink);cursor:pointer;text-align:left;width:100%} +-.bt-option[aria-selected=true]{background:var(--bt-active)} +-.bt-drop-list>.bt-option:not([aria-selected=true]):hover{background:var(--bt-hover)} +-.bt-option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} +-.bt-option-hint{font-size:11px;color:var(--bt-ink-2);flex:none;animation:bt-veil-in .16s ease-out} +-.bt-option-icon{width:22px;height:22px;border-radius:50%;background:var(--bt-hover);color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;flex:none} +-.bt-hint{padding:14px;text-align:center;font-size:13px;color:var(--bt-ink-2)} +-.bt-nc-spacer{flex:1} +-.bt-nc-compose{padding:0 16px 14px;display:flex;justify-content:center} +-.bt-nc-card{display:flex;align-items:flex-end;gap:6px;width:100%;max-width:var(--dsh-chat-content-width,748px);min-height:44px;padding:4px 6px;border-radius:22px;border:1px solid var(--bt-line-2);background:var(--bt-main);box-shadow:0 2px 8px -2px rgba(0,0,0,.06);box-sizing:border-box} +-.bt-nc-plus{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink-2);background:var(--bt-hover);flex:none} +-.bt-nc-card textarea{flex:1;resize:none;border:0;outline:none;background:none;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;padding:7px 4px;min-height:34px;max-height:140px;box-sizing:border-box} +-.bt-nc-send{width:34px;height:34px;border-radius:50%;border:0;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none} +-.bt-nc-send:disabled{opacity:.3;cursor:default} +-.bt-create{flex:1;display:flex;flex-direction:column;min-width:0} +-.bt-create-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:6px 12px;border-bottom:1px solid var(--bt-line);box-sizing:border-box} +-.bt-create-gap{width:28px} +-.bt-create-title{font-size:14px;line-height:20px;font-weight:500} +-.bt-create-body{flex:1;overflow-y:auto;padding:28px 16px 32px;display:flex;justify-content:center} +-.bt-create-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:18px;animation:bt-q-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing} both,bt-veil-in .22s ease-out both} +-.bt-create-preview{display:flex;flex-direction:column;align-items:center;gap:10px} +-.bt-create-pop{display:inline-flex;animation:bt-create-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing} both} +-@keyframes bt-create-pop{from{transform:scale(.72);opacity:.4}} +-.bt-create-name{font-size:17px;line-height:24px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} +-.bt-create-step{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-bottom:-10px} +-.bt-create-looks{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card)} +-.bt-create-lookbar{justify-content:center} +-.bt-create-foot{display:flex;justify-content:flex-end;gap:8px;padding-top:4px} +-.bt-create-go{height:36px;padding:0 20px} +-@media (prefers-reduced-motion:reduce){.bt-create-card,.bt-create-pop{animation:none}} +-.bt-send{height:40px;min-width:40px;border-radius:999px;border:0;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);font-size:14px;padding:0 14px;cursor:pointer} +-.bt-send:disabled{opacity:.35;cursor:default} +-.bt-error{padding:0 14px 10px;color:#e02135;font-size:12px} +// src/client/flybot-slots.js +var import_react2 = require("react"); +var call2 = (endpoint, payload) => call(`flybot/${endpoint}`, payload); @@ -3311,50 +3534,6 @@ diff --git a/client.js b/client.js +.bt-file-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 0 30px; } +.bt-file-chip { font-size: 12px; padding: 3px 8px; border-radius: 8px; border: 1px solid var(--bt-line, rgba(0,0,0,.15)); background: transparent; cursor: pointer; } --.bt-newchat{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;animation:bt-veil-in .18s ease-out} --.bt-to{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:48px;padding:6px 12px;border-bottom:1px solid var(--bt-line);font-size:14px;box-sizing:border-box} --.bt-to-label{color:var(--bt-ink-2)} --.bt-to input{flex:1;min-width:120px;border:0;outline:none;background:none;color:var(--bt-ink);font-size:14px;height:26px} --.bt-token{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 6px 0 4px;border-radius:999px;background:var(--bt-hover);font-size:13px;animation:bt-check-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing}} --.bt-token button{border:0;background:none;color:var(--bt-ink-2);cursor:pointer;padding:0 2px} --.bt-admin-star{flex:none;display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:50%;corner-shape:round;background:color-mix(in srgb,var(--bt-star) 82%,var(--bt-sidebar));vertical-align:-1px} --.bt-to-star{display:inline-flex;margin-right:-2px;animation:bt-check-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing}} --.bt-to .bt-to-create{flex:none;height:28px;padding:0 12px;font-size:13px;animation:bt-q-submit-in ${SPRING_TAP.duration}ms ${SPRING_TAP.easing},bt-veil-in .16s ease-out} --.bt-drop{position:absolute;top:48px;left:32px;width:min(550px,calc(100% - 64px));display:flex;flex-direction:column;padding:6px;max-height:min(420px,60vh);overflow-y:auto;background:var(--bt-card);border:1px solid var(--bt-line-2);border-radius:12px;box-shadow:0 6px 20px -4px rgba(0,0,0,.12);box-sizing:border-box;z-index:1;transform-origin:24px 0;animation:bt-pop-drop ${SPRING_TAP.duration}ms ${SPRING_TAP.easing},bt-veil-in .14s ease-out} --.bt-option{display:flex;align-items:center;gap:10px;border:0;background:none;border-radius:8px;padding:7px 8px;min-height:36px;box-sizing:border-box;font-size:13px;line-height:18px;color:var(--bt-ink);cursor:pointer;text-align:left;width:100%} --.bt-option[aria-selected=true]{background:var(--bt-active)} --.bt-drop-list>.bt-option:not([aria-selected=true]):hover{background:var(--bt-hover)} --.bt-option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} --.bt-option-hint{font-size:11px;color:var(--bt-ink-2);flex:none;animation:bt-veil-in .16s ease-out} --.bt-option-icon{width:22px;height:22px;border-radius:50%;background:var(--bt-hover);color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;flex:none} --.bt-hint{padding:14px;text-align:center;font-size:13px;color:var(--bt-ink-2)} --.bt-nc-spacer{flex:1} --.bt-nc-compose{padding:0 16px 14px;display:flex;justify-content:center} --.bt-nc-card{display:flex;align-items:flex-end;gap:6px;width:100%;max-width:var(--dsh-chat-content-width,748px);min-height:44px;padding:4px 6px;border-radius:22px;border:1px solid var(--bt-line-2);background:var(--bt-main);box-shadow:0 2px 8px -2px rgba(0,0,0,.06);box-sizing:border-box} --.bt-nc-plus{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink-2);background:var(--bt-hover);flex:none} --.bt-nc-card textarea{flex:1;resize:none;border:0;outline:none;background:none;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;padding:7px 4px;min-height:34px;max-height:140px;box-sizing:border-box} --.bt-nc-send{width:34px;height:34px;border-radius:50%;border:0;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none} --.bt-nc-send:disabled{opacity:.3;cursor:default} --.bt-create{flex:1;display:flex;flex-direction:column;min-width:0} --.bt-create-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:6px 12px;border-bottom:1px solid var(--bt-line);box-sizing:border-box} --.bt-create-gap{width:28px} --.bt-create-title{font-size:14px;line-height:20px;font-weight:500} --.bt-create-body{flex:1;overflow-y:auto;padding:28px 16px 32px;display:flex;justify-content:center} --.bt-create-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:18px;animation:bt-q-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing} both,bt-veil-in .22s ease-out both} --.bt-create-preview{display:flex;flex-direction:column;align-items:center;gap:10px} --.bt-create-pop{display:inline-flex;animation:bt-create-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing} both} --@keyframes bt-create-pop{from{transform:scale(.72);opacity:.4}} --.bt-create-name{font-size:17px;line-height:24px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} --.bt-create-step{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-bottom:-10px} --.bt-create-looks{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card)} --.bt-create-lookbar{justify-content:center} --.bt-create-foot{display:flex;justify-content:flex-end;gap:8px;padding-top:4px} --.bt-create-go{height:36px;padding:0 20px} --@media (prefers-reduced-motion:reduce){.bt-create-card,.bt-create-pop{animation:none}} --.bt-send{height:40px;min-width:40px;border-radius:999px;border:0;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);font-size:14px;padding:0 14px;cursor:pointer} --.bt-send:disabled{opacity:.35;cursor:default} --.bt-error{padding:0 14px 10px;color:#e02135;font-size:12px} -- -.bt-pane{position:fixed;top:var(--dsh-frame-chrome-top,0px);right:0;bottom:0;z-index:45;pointer-events:auto;background:var(--bt-main);color:var(--bt-ink);display:flex;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif} -.bt-dialog{flex:1;display:flex;flex-direction:column;min-width:0} -.bt-dialog .bt-head{height:62px} @@ -3376,7 +3555,35 @@ diff --git a/client.js b/client.js -.bt-soft{height:36px;border-radius:999px;border:0;background:var(--bt-hover);color:var(--bt-ink);padding:0 16px;font-size:14px;cursor:pointer} -.bt-soft:hover{background:var(--bt-active)} -.bt-time{display:block;text-align:center;font-size:12px;line-height:16px;color:var(--bt-ink-2);padding:6px 0} -- ++.bt-flybot-section { margin-top: 8px; border-top: 1px solid var(--bt-line, rgba(0,0,0,.08)); padding-top: 6px; } ++/* A section whose component renders null leaves the wrapper empty, and an empty wrapper must not draw ++ the separator: #818's "no border" held for the component but not for the box around it. Keyed on ++ emptiness, not on a section id, so the next null-rendering section is covered too. */ ++.bt-flybot-section:empty { margin-top: 0; border-top: 0; padding-top: 0; } ++.bt-flybot-approvals { position: fixed; right: 16px; bottom: 16px; z-index: 50; display: flex; flex-direction: column; gap: 8px; max-width: 360px; max-height: calc(100vh - 32px); overflow-y: auto; } ++.bt-flybot-approval-error { color: var(--bt-danger, #d33); font-size: 12px; } ++.bt-flybot-approval { background: var(--bt-card, #fff); border: 1px solid var(--bt-line, rgba(0,0,0,.12)); border-radius: 10px; padding: 10px 12px; box-shadow: 0 4px 16px rgba(0,0,0,.12); font-size: 13px; } ++.bt-flybot-approval-head { font-weight: 600; margin-bottom: 4px; } ++.bt-flybot-approval-origin { font-size: 12px; opacity: .7; margin-bottom: 4px; } ++.bt-flybot-approval-text { white-space: pre-wrap; max-height: 120px; overflow: auto; margin-bottom: 8px; } ++.bt-flybot-approval-path { font-family: ui-monospace, monospace; font-size: 11px; opacity: .7; overflow-wrap: anywhere; } ++.bt-flybot-approval-actions { display: flex; gap: 8px; justify-content: flex-end; } ++.bt-flybot-approve { font-weight: 600; } ++.bt-held-reply[data-state=pending] .bt-bubble { background: transparent; border: 1px dashed var(--bt-line-2); color: var(--bt-ink-2); } ++.bt-held-reply[data-state=rejected] .bt-bubble, .bt-held-reply[data-state=failed] .bt-bubble { background: transparent; border: 1px dashed var(--bt-line-2); color: var(--bt-ink-3); } ++.bt-held-actions { margin: 6px 0 2px; max-width: 420px; } ++.bt-held-card { background: var(--bt-card, #fff); border: 1px solid var(--bt-line, rgba(0,0,0,.12)); border-radius: 10px; padding: 8px 10px; font-size: 13px; } ++.bt-held-head { font-weight: 600; margin-bottom: 2px; } ++.bt-held-note { margin: 2px 0 0; font-size: 12px; color: var(--bt-ink-3); display: flex; gap: 8px; align-items: center; } ++.bt-held-note[data-state=failed] { color: var(--bt-danger, #d33); } ++.bt-held-retry { border: 0; background: transparent; color: var(--bt-accent, #2563eb); font-size: 12px; cursor: pointer; padding: 0; } ++.bt-flybot-pointers { position: fixed; top: 12px; right: 16px; z-index: 50; display: flex; flex-direction: column; gap: 6px; align-items: flex-end; max-width: 360px; } ++.bt-flybot-pointer { display: flex; align-items: center; gap: 8px; background: var(--bt-card, #fff); border: 1px solid var(--bt-line, rgba(0,0,0,.12)); border-radius: 999px; padding: 5px 6px 5px 12px; box-shadow: 0 2px 10px rgba(0,0,0,.1); font-size: 12px; } ++.bt-flybot-pointer-text { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 200px; } ++.bt-flybot-pointer-note { opacity: .65; white-space: nowrap; } ++.bt-flybot-pointer button { border: 0; border-radius: 999px; padding: 3px 10px; font-size: 12px; cursor: pointer; background: var(--bt-accent, #2563eb); color: #fff; } ++`; + -.bt-panel{position:fixed;top:var(--dsh-frame-chrome-top,0px);right:0;bottom:0;width:var(--bt-panel-w,320px);pointer-events:auto;z-index:40;background:var(--bt-main);border-left:.5px solid var(--bt-line-2);display:flex;flex-direction:column;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;box-sizing:border-box;animation:bt-pane-in .3s cubic-bezier(.2,0,0,1);transition:width ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing}} -.bt-panel[data-leaving]{transform:translateX(100%);transition:transform .3s cubic-bezier(.2,0,0,1);pointer-events:none} -.bt-panel[data-instant]{transition:none} @@ -3411,17 +3618,43 @@ diff --git a/client.js b/client.js -.bt-kv{display:flex;justify-content:space-between;gap:8px;font-size:12px;line-height:20px;color:var(--bt-ink-2)} -.bt-kv span:last-child{color:var(--bt-ink);font-variant-numeric:tabular-nums} -.bt-danger{color:#e02135} -- --/* Bot settings: fields, the avatar editor popover, and the details-pane sub-view. */ --.bt-field{display:flex;flex-direction:column;gap:6px} --.bt-field-label{font-size:13px;line-height:18px;font-weight:500} --.bt-input{width:100%;box-sizing:border-box;height:36px;border:1px solid var(--bt-line);border-radius:8px;padding:0 10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:13px;outline:none} --.bt-input:focus{border-color:var(--bt-line-2)} --.bt-input-area{height:auto;min-height:96px;padding:8px 10px;line-height:18px;resize:vertical} --.bt-note{font-size:12px;line-height:16px;color:var(--bt-ink-3)} --.bt-soft-sm{height:28px;padding:0 12px;font-size:12px} --.bt-set-avatar{display:flex;justify-content:center;padding:4px 0} --.bt-avatar-anchor{position:relative} ++// src/shared/failure-copy.js ++var providerCode = (text2) => { ++ const json = /"code"\s*:\s*"([A-Za-z0-9_.-]+)"/.exec(text2); ++ if (json) return json[1]; ++ const plain = /^([A-Za-z][A-Za-z0-9_.-]{2,40}):\s/.exec(text2); ++ return plain ? plain[1] : ""; ++}; ++var KNOWN = { ++ UnsupportedModel: "This model does not support that request. Pick another model in the Bot's settings.", ++ ModelNotFound: "The provider does not know this model. Check the model name in the Bot's settings.", ++ ContextLengthExceeded: "The conversation is longer than this model can read. Condense it, or pick a model with a larger window.", ++ InvalidRequest: "The model service refused the request. Check the model and the endpoint in the Bot's settings.", ++ InsufficientQuota: "The account is out of quota.", ++ RateLimitExceeded: "Too many requests right now. Try again in a moment." ++}; ++var fill2 = (text2, params) => params === void 0 ? text2 : String(text2).replace(/\{(\w+)\}/g, (match, name) => name in params ? String(params[name]) : match); ++function failureSentence(raw, translate = (key) => key) { ++ const text2 = String(raw ?? "").trim(); ++ if (text2 === "") return text2; ++ const key = KNOWN[providerCode(text2)]; ++ if (key === void 0) return text2; ++ const feature = /does not support\s+([a-z][a-z0-9 _-]{2,40})/i.exec(text2)?.[1]?.trim(); ++ if (key !== KNOWN.UnsupportedModel || feature === void 0) return fill2(translate(key), void 0); ++ const withFeature = "This model does not support {feature}. Pick another model in the Bot's settings."; ++ return fill2(translate(withFeature, { feature }), { feature }); ++} + +-/* Bot settings: fields, the avatar editor popover, and the details-pane sub-view. */ +-.bt-field{display:flex;flex-direction:column;gap:6px} +-.bt-field-label{font-size:13px;line-height:18px;font-weight:500} +-.bt-input{width:100%;box-sizing:border-box;height:36px;border:1px solid var(--bt-line);border-radius:8px;padding:0 10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:13px;outline:none} +-.bt-input:focus{border-color:var(--bt-line-2)} +-.bt-input-area{height:auto;min-height:96px;padding:8px 10px;line-height:18px;resize:vertical} +-.bt-note{font-size:12px;line-height:16px;color:var(--bt-ink-3)} +-.bt-soft-sm{height:28px;padding:0 12px;font-size:12px} +-.bt-set-avatar{display:flex;justify-content:center;padding:4px 0} +-.bt-avatar-anchor{position:relative} -.bt-avatar-trigger{position:relative;width:64px;height:64px;border:0;border-radius:50%;background:none;cursor:pointer;padding:0} -.bt-avatar-pencil{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:var(--bt-main);border:1px solid var(--bt-line-2);color:var(--bt-ink-2);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.12)} -.bt-avedit{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:300px;background:var(--bt-main);border:1px solid var(--bt-line);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:10px;z-index:70;display:flex;flex-direction:column;gap:10px;color:var(--bt-ink);transform-origin:top center;animation:bt-pop-drop ${SPRING_TAP.duration}ms ${SPRING_TAP.easing},bt-veil-in .16s ease-out} @@ -3462,34 +3695,18 @@ diff --git a/client.js b/client.js -.bt-drawer-model .bt-note{margin-top:6px} -.bt-drawer-permission{display:flex;flex-direction:column} -.bt-seg button.bt-perm-danger,.bt-seg button.bt-perm-danger[aria-pressed=true]{color:#e02135} -+.bt-flybot-section { margin-top: 8px; border-top: 1px solid var(--bt-line, rgba(0,0,0,.08)); padding-top: 6px; } -+/* A section whose component renders null leaves the wrapper empty, and an empty wrapper must not draw -+ the separator: #818's "no border" held for the component but not for the box around it. Keyed on -+ emptiness, not on a section id, so the next null-rendering section is covered too. */ -+.bt-flybot-section:empty { margin-top: 0; border-top: 0; padding-top: 0; } -+.bt-flybot-approvals { position: fixed; right: 16px; bottom: 16px; z-index: 50; display: flex; flex-direction: column; gap: 8px; max-width: 360px; max-height: calc(100vh - 32px); overflow-y: auto; } -+.bt-flybot-approval-error { color: var(--bt-danger, #d33); font-size: 12px; } -+.bt-flybot-approval { background: var(--bt-card, #fff); border: 1px solid var(--bt-line, rgba(0,0,0,.12)); border-radius: 10px; padding: 10px 12px; box-shadow: 0 4px 16px rgba(0,0,0,.12); font-size: 13px; } -+.bt-flybot-approval-head { font-weight: 600; margin-bottom: 4px; } -+.bt-flybot-approval-origin { font-size: 12px; opacity: .7; margin-bottom: 4px; } -+.bt-flybot-approval-text { white-space: pre-wrap; max-height: 120px; overflow: auto; margin-bottom: 8px; } -+.bt-flybot-approval-path { font-family: ui-monospace, monospace; font-size: 11px; opacity: .7; overflow-wrap: anywhere; } -+.bt-flybot-approval-actions { display: flex; gap: 8px; justify-content: flex-end; } -+.bt-flybot-approve { font-weight: 600; } -+.bt-held-reply[data-state=pending] .bt-bubble { background: transparent; border: 1px dashed var(--bt-line-2); color: var(--bt-ink-2); } -+.bt-held-reply[data-state=rejected] .bt-bubble, .bt-held-reply[data-state=failed] .bt-bubble { background: transparent; border: 1px dashed var(--bt-line-2); color: var(--bt-ink-3); } -+.bt-held-actions { margin: 6px 0 2px; max-width: 420px; } -+.bt-held-card { background: var(--bt-card, #fff); border: 1px solid var(--bt-line, rgba(0,0,0,.12)); border-radius: 10px; padding: 8px 10px; font-size: 13px; } -+.bt-held-head { font-weight: 600; margin-bottom: 2px; } -+.bt-held-note { margin: 2px 0 0; font-size: 12px; color: var(--bt-ink-3); display: flex; gap: 8px; align-items: center; } -+.bt-held-note[data-state=failed] { color: var(--bt-danger, #d33); } -+.bt-held-retry { border: 0; background: transparent; color: var(--bt-accent, #2563eb); font-size: 12px; cursor: pointer; padding: 0; } -+.bt-flybot-pointers { position: fixed; top: 12px; right: 16px; z-index: 50; display: flex; flex-direction: column; gap: 6px; align-items: flex-end; max-width: 360px; } -+.bt-flybot-pointer { display: flex; align-items: center; gap: 8px; background: var(--bt-card, #fff); border: 1px solid var(--bt-line, rgba(0,0,0,.12)); border-radius: 999px; padding: 5px 6px 5px 12px; box-shadow: 0 2px 10px rgba(0,0,0,.1); font-size: 12px; } -+.bt-flybot-pointer-text { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 200px; } -+.bt-flybot-pointer-note { opacity: .65; white-space: nowrap; } -+.bt-flybot-pointer button { border: 0; border-radius: 999px; padding: 3px 10px; font-size: 12px; cursor: pointer; background: var(--bt-accent, #2563eb); color: #fff; } -+`; ++// src/shared/turn-failures.js ++var FAILURE_LINES_SHOWN = 3; ++var failureLines = (snapshot, place, t2, limit = FAILURE_LINES_SHOWN) => { ++ const ended = Array.isArray(snapshot?.ended) ? snapshot.ended : []; ++ return ended.filter((entry) => entry?.silent === true && (entry.roomId ?? entry.sessionId) === place).slice(-limit).map((entry) => ({ ++ id: `turn-failure-${entry.id}`, ++ // The stored text can be a provider's JSON body cut mid-sentence; `failureSentence` says the ++ // same fact in words that name what to change (#1347). ++ text: t2("Could not run: {error}", { error: entry.failed === void 0 ? t2("the model call failed") : failureSentence(entry.failed, t2) }), ++ ...Number(entry.streak) > 1 ? { streak: Number(entry.streak) } : {} ++ })); ++}; -/* Settings dialog: a 198px page list beside the page. */ -.bt-settings-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:60;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif} @@ -3550,33 +3767,7 @@ diff --git a/client.js b/client.js -.bt-set-bot{flex:1;display:flex;align-items:center;gap:8px;min-width:0} -.bt-set-paste{flex-direction:column;align-items:stretch;gap:8px} -.bt-chevron{color:var(--bt-ink-3);display:inline-flex;flex:none} -+// src/shared/failure-copy.js -+var providerCode = (text2) => { -+ const json = /"code"\s*:\s*"([A-Za-z0-9_.-]+)"/.exec(text2); -+ if (json) return json[1]; -+ const plain = /^([A-Za-z][A-Za-z0-9_.-]{2,40}):\s/.exec(text2); -+ return plain ? plain[1] : ""; -+}; -+var KNOWN = { -+ UnsupportedModel: "This model does not support that request. Pick another model in the Bot's settings.", -+ ModelNotFound: "The provider does not know this model. Check the model name in the Bot's settings.", -+ ContextLengthExceeded: "The conversation is longer than this model can read. Condense it, or pick a model with a larger window.", -+ InvalidRequest: "The model service refused the request. Check the model and the endpoint in the Bot's settings.", -+ InsufficientQuota: "The account is out of quota.", -+ RateLimitExceeded: "Too many requests right now. Try again in a moment." -+}; -+var fill2 = (text2, params) => params === void 0 ? text2 : String(text2).replace(/\{(\w+)\}/g, (match, name) => name in params ? String(params[name]) : match); -+function failureSentence(raw, translate = (key) => key) { -+ const text2 = String(raw ?? "").trim(); -+ if (text2 === "") return text2; -+ const key = KNOWN[providerCode(text2)]; -+ if (key === void 0) return text2; -+ const feature = /does not support\s+([a-z][a-z0-9 _-]{2,40})/i.exec(text2)?.[1]?.trim(); -+ if (key !== KNOWN.UnsupportedModel || feature === void 0) return fill2(translate(key), void 0); -+ const withFeature = "This model does not support {feature}. Pick another model in the Bot's settings."; -+ return fill2(translate(withFeature, { feature }), { feature }); -+} - +- -/* Settings → Connectors. */ -.bt-connector{display:flex;flex-direction:column;gap:10px;padding:12px} -.bt-connector-head{display:flex;align-items:center;gap:12px;min-width:0} @@ -3591,27 +3782,6 @@ diff --git a/client.js b/client.js -.bt-connector-form-row{display:flex;align-items:center;gap:6px} -.bt-connector-link{flex:1;font-size:12px;color:var(--bt-ink-2)} -.bt-connector-error{padding-left:48px;font-size:12px;line-height:16px;color:#e02135} -+// src/shared/turn-failures.js -+var FAILURE_LINES_SHOWN = 3; -+var failureLines = (snapshot, place, t2, limit = FAILURE_LINES_SHOWN) => { -+ const ended = Array.isArray(snapshot?.ended) ? snapshot.ended : []; -+ return ended.filter((entry) => entry?.silent === true && (entry.roomId ?? entry.sessionId) === place).slice(-limit).map((entry) => ({ -+ id: `turn-failure-${entry.id}`, -+ // The stored text can be a provider's JSON body cut mid-sentence; `failureSentence` says the -+ // same fact in words that name what to change (#1347). -+ text: t2("Could not run: {error}", { error: entry.failed === void 0 ? t2("the model call failed") : failureSentence(entry.failed, t2) }), -+ ...Number(entry.streak) > 1 ? { streak: Number(entry.streak) } : {} -+ })); -+}; - --/* Shell chrome reshaped for the team view. Selectors use stable data attributes where the -- shell offers them and CSS-module name suffixes elsewhere. */ --[class*="_logoRow"],[class*="_newSession"],nav[class*="_panelList"]{display:none!important} --[class*="_footArea"]{display:flex!important;flex-direction:row-reverse;align-items:center;gap:9px;padding:8px 6px 6px!important} --[class*="_footArea"]>[class*="_footerActions"]{flex:1 1 auto;min-width:0} --[class*="_footArea"]>[class*="_settingsArea"]{flex:none;width:auto!important} --[class*="_footArea"] button[aria-label="Settings"]{width:auto!important;padding:0!important;background:none!important;border-radius:50%!important;height:auto!important} --[class*="_widthHandle"]{display:none!important} +// src/client/turn-failures.js +var import_react3 = require("react"); +function TurnFailures({ sessionId, work }) { @@ -3642,65 +3812,14 @@ diff --git a/client.js b/client.js +.bt-turn-failure-streak{opacity:.72} +`; --.bt-voice-pane{flex-direction:column;align-items:center;justify-content:center;animation:bt-fade .2s ease-out} --.bt-voice-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;max-width:560px;text-align:center} --.bt-voice-orb{position:relative;width:200px;height:200px;display:grid;place-items:center;margin-bottom:8px} --.bt-voice-ring{position:absolute;inset:34px;border-radius:50%;background:var(--bt-hover);transform:scale(calc(1 + var(--bt-level,0) * .55));transition:transform .08s linear} --.bt-voice-ring-2{inset:14px;background:none;box-shadow:inset 0 0 0 1px var(--bt-line-2);transform:scale(calc(.94 + var(--bt-level,0) * .3));opacity:.8} --.bt-voice-stage[data-phase=thinking] .bt-voice-ring{animation:bt-voice-breathe 1.6s ease-in-out infinite} --.bt-voice-stage[data-phase=speaking] .bt-voice-ring{animation:bt-voice-speak .9s ease-in-out infinite} --@keyframes bt-voice-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}} --@keyframes bt-voice-speak{0%,100%{transform:scale(1.04)}30%{transform:scale(1.2)}60%{transform:scale(1.1)}} --.bt-voice-orb>.bt-mark{position:relative} --.bt-voice-name{font-size:16px;line-height:22px;font-weight:500} --.bt-voice-status{font-size:13px;line-height:18px;color:var(--bt-ink-2);min-height:18px} --.bt-voice-caption{min-height:44px;font-size:15px;line-height:22px;color:var(--bt-ink);animation:bt-blur-in .25s ease-out;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden} --.bt-voice-note{font-size:12px;color:#e02135} --.bt-voice-setup{height:32px;padding:0 14px;border-radius:16px;border:0;background:var(--bt-hover);color:var(--bt-ink);font:inherit;font-size:13px;cursor:pointer;transition:background-color .15s ease} --.bt-voice-setup:hover{background:var(--bt-active)} --.bt-voice-bar{display:flex;gap:16px;padding:0 0 32px} --.bt-voice-btn{position:relative;width:52px;height:52px;border-radius:50%;border:0;background:var(--bt-hover);color:var(--bt-ink);display:grid;place-items:center;cursor:pointer;transition:background-color .15s ease,transform .12s ease} --.bt-voice-btn:hover{background:var(--bt-active)} --.bt-voice-btn:active{transform:scale(.94)} --.bt-voice-btn[aria-pressed=true]{background:var(--bt-user);color:var(--bt-user-ink)} --.bt-voice-slash{position:absolute;width:24px;height:2px;border-radius:1px;background:currentColor;transform:rotate(-45deg)} --.bt-voice-end{background:#ff3e51;color:#fff} --.bt-voice-end:hover{background:#e02135} --@keyframes bt-fade{from{opacity:0}to{opacity:1}} --@keyframes bt-blur-in{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}} --@media (prefers-reduced-motion:reduce){.bt-voice-pane,.bt-voice-caption,.bt-voice-ring{animation:none!important}} --.bt-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:min(80%,560px,calc(100% - 82px))} --/* The bubble's row: reactions hang below it, so the hover toolbar (and a group -- sender's avatar) line up with the bubble alone. */ --.bt-msg-line{position:relative;display:flex;align-items:flex-end;gap:8px;max-width:100%} --.bt-msg-line>.bt-bubble{max-width:none;min-width:0} --/* The same bubble width as beside an avatar column: 80% of (100% - 30px), plus the 30px. */ --.bt-astack[data-lead]>.bt-msg{max-width:min(calc(80% + 6px),590px,calc(100% - 52px))} --.bt-tools{position:absolute;top:50%;left:100%;margin-left:6px;transform:translateY(-50%);display:flex;gap:2px;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s} --.bt-tools::after{content:"";position:absolute;top:-8px;bottom:-8px;right:100%;width:128px;z-index:-1} --.bt-msg:hover>.bt-msg-line>.bt-tools,.bt-msg:focus-within>.bt-msg-line>.bt-tools,.bt-tools[data-open]{opacity:1;visibility:visible} --.bt-tool{width:24px;height:24px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease} --.bt-tool:hover,.bt-tool[aria-expanded=true]{background:var(--bt-hover);color:var(--bt-ink)} --.bt-tool:active{background:var(--bt-active)} --.bt-tool:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px} --.bt-react-strip{position:fixed;z-index:60;pointer-events:auto;display:flex;gap:2px;padding:4px;border-radius:999px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.06);transform:translate(-50%,-100%);transform-origin:bottom center;animation:bt-pop-lift ${SPRING_TAP.duration}ms ${SPRING_TAP.easing},bt-veil-in .14s ease-out} --.bt-react-strip button{width:32px;height:32px;border:0;border-radius:50%;background:none;font-size:18px;line-height:1;cursor:pointer;transition:background-color .12s ease,${spring(SPRING_POP, "transform")};animation:bt-check-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing} backwards} --.bt-react-strip button:nth-child(2){animation-delay:20ms} --.bt-react-strip button:nth-child(3){animation-delay:40ms} --.bt-react-strip button:nth-child(4){animation-delay:60ms} --.bt-react-strip button:nth-child(n+5){animation-delay:80ms} --.bt-react-strip button:hover{background:var(--bt-hover);transform:scale(1.15)} --.bt-react-strip button:active{transform:scale(.92)} --.bt-reacts{display:flex;gap:4px;margin-top:4px} --.bt-react{height:22px;min-width:30px;padding:0 6px;border-radius:999px;border:.5px solid var(--bt-line-2);background:var(--bt-main);font-size:13px;line-height:20px;cursor:pointer;animation:bt-react-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing};transition:background-color .12s ease,${spring(SPRING_TAP, "scale")}} --.bt-react:hover{background:var(--bt-hover)} --.bt-react:active{scale:.92} --@keyframes bt-react-pop{from{transform:scale(.6);opacity:0}} --.bt-bubble a[href^="${MENTION_ORIGIN}"] svg{display:none} --.bt-you{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bt-ink) 5%,var(--bt-sidebar));color:var(--bt-ink-2);box-shadow:inset 0 0 0 1px var(--bt-line);transition:background-color .12s ease} --button:hover .bt-you{background:color-mix(in srgb,var(--bt-ink) 9%,var(--bt-sidebar))} --.bt-you-wrap{display:inline-flex;padding:0} --.bt-connect-foot{width:100%;height:36px} +-/* Shell chrome reshaped for the team view. Selectors use stable data attributes where the +- shell offers them and CSS-module name suffixes elsewhere. */ +-[class*="_logoRow"],[class*="_newSession"],nav[class*="_panelList"]{display:none!important} +-[class*="_footArea"]{display:flex!important;flex-direction:row-reverse;align-items:center;gap:9px;padding:8px 6px 6px!important} +-[class*="_footArea"]>[class*="_footerActions"]{flex:1 1 auto;min-width:0} +-[class*="_footArea"]>[class*="_settingsArea"]{flex:none;width:auto!important} +-[class*="_footArea"] button[aria-label="Settings"]{width:auto!important;padding:0!important;background:none!important;border-radius:50%!important;height:auto!important} +-[class*="_widthHandle"]{display:none!important} +// src/client/themes.js +var THEME_KEYS = ["bg", "sidebar", "bubble", "card", "text", "user", "userText", "accent"]; +var THEMES = { @@ -3806,113 +3925,65 @@ diff --git a/client.js b/client.js +} +var allThemes = () => ({ ...THEMES, ...customThemes }); --.bt-menu{position:fixed;pointer-events:auto;z-index:60;min-width:200px;padding:6px;border-radius:12px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1),0 0 0 1px rgba(228,228,228,.04);display:flex;flex-direction:column;gap:2px;transform-origin:var(--bt-origin,top left);animation:bt-pop-drop ${SPRING_TAP.duration}ms ${SPRING_TAP.easing},bt-veil-in .14s ease-out;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;box-sizing:border-box} --.bt-menu button{display:flex;align-items:center;gap:4px;width:100%;min-height:30px;text-align:left;border:0;background:none;border-radius:6px;padding:6px 8px;font:inherit;font-size:13px;line-height:18px;color:var(--bt-ink);cursor:pointer;box-sizing:border-box} --.bt-menu button:hover{background:var(--bt-hover)} --.bt-menu button svg{flex:none;width:16px;height:16px;margin:0 1px} --.bt-menu .bt-danger{color:#c21d2e} --.bt-menu-sep{height:.5px;flex:none;background:var(--bt-line-2);margin:4px 8px} --.bt-menu-up{--bt-origin:bottom left;animation-name:bt-pop-lift,bt-veil-in} --.bt-menu[data-leaving]{pointer-events:none;animation:bt-pop-out .12s cubic-bezier(.4,0,1,1) forwards} --.bt-menu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} --.bt-menu-hint{flex:none;color:var(--bt-ink-3);font-size:12px;font-variant-numeric:tabular-nums} --.bt-palette-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:70;pointer-events:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif} --.bt-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.46);animation:bt-fade .22s ease-out} --.bt-palette{position:absolute;top:50%;left:50%;width:min(560px,92vw);transform:translate(-50%,-50%);display:flex;flex-direction:column;border-radius:12px;background:var(--bt-main);border:1px solid var(--bt-line-2);box-shadow:0 24px 48px -12px rgba(0,0,0,.25);overflow:hidden;color:var(--bt-ink);animation:bt-palette-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},bt-veil-in .2s ease-out} --.bt-palette-layer[data-leaving]{pointer-events:none} --.bt-palette-layer[data-leaving] .bt-backdrop{opacity:0;transition:opacity .16s ease-in} --.bt-palette-layer[data-leaving] .bt-palette{animation:bt-dialog-sink .16s cubic-bezier(.4,0,1,1) forwards} --@keyframes bt-palette-in{from{translate:0 -10px;scale:.96}} --.bt-palette-head{display:flex;align-items:center;gap:4px;padding:14px 10px 14px 14px;border-bottom:.5px solid var(--bt-line-2)} --.bt-palette-glyph{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;color:var(--bt-ink-3);margin-right:4px} --.bt-palette-head input{flex:1;min-width:0;border:0;outline:none;background:none;color:var(--bt-ink);font:inherit;font-size:15px;line-height:22px;padding:0} --.bt-palette-head input::placeholder{color:var(--bt-ink-3)} --.bt-palette-clear{width:18px;height:18px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer} --.bt-palette-clear:hover{color:var(--bt-ink)} --.bt-palette-clear svg{width:12px;height:12px} --.bt-palette-list{position:relative;height:402px;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px;box-sizing:border-box} --.bt-palette-list>.bt-thumb,.bt-drop-list>.bt-thumb{left:0;right:0;border-radius:8px;background:var(--bt-active)} --.bt-palette-list>.bt-thumb{left:8px;right:8px} --:is(.bt-palette-list,.bt-drop-list)[data-glide] [aria-selected=true]{background:transparent} --:is(.bt-palette-row,.bt-palette-section,.bt-drop-list>.bt-option){position:relative;z-index:1} --.bt-palette-section{padding:8px 8px 4px;font-size:12px;line-height:16px;color:var(--bt-ink-3);flex:none} --.bt-palette-section:first-of-type{padding-top:0} --.bt-palette-row{flex:none;display:flex;align-items:center;gap:8px;height:49px;padding:6px 10px 6px 8px;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;width:100%} --.bt-palette-row[aria-selected=true]{background:var(--bt-active)} --.bt-palette-lead{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center} --.bt-palette-cmd{width:24px;height:24px;border-radius:50%;background:var(--bt-hover);display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink-2)} --.bt-palette-cmd svg{width:14px;height:14px} --.bt-palette-agent{width:24px;height:24px;border-radius:50%;background:var(--bt-hover);display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink)} --.bt-palette-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px} --.bt-palette-title{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} --.bt-palette-sub{font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap} --.bt-palette-badge{flex:none;font-size:11px;line-height:16px;padding:0 6px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink)} --.bt-palette-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:0 16px;text-align:center;animation:bt-veil-in .22s ease-out} --.bt-palette-empty-icon{color:var(--bt-line-2)} --.bt-palette-empty-icon svg{width:32px;height:32px} --.bt-palette-empty-label{font-size:14px;font-weight:500;color:var(--bt-ink-2)} --.bt-palette-empty-hint{font-size:13px;line-height:16px;color:var(--bt-ink-3)} --@media (prefers-reduced-motion:reduce){.bt-palette{animation:bt-fade .1s ease-out}} --.bt-account-menu{width:224px} --.bt-account{flex:none;width:36px;height:36px;border:0;padding:0;background:none;border-radius:50%;cursor:pointer;display:inline-flex} --.bt-account:hover .bt-you,.bt-account[aria-expanded=true] .bt-you{background:color-mix(in srgb,var(--bt-ink) 9%,var(--bt-sidebar))} --/* Popover keyframes move translate and scale, which compose with a transform the popover -- already has. */ --@keyframes bt-pop-drop{from{translate:0 -4px;scale:.96}} --@keyframes bt-pop-lift{from{translate:0 4px;scale:.96}} --@keyframes bt-pop-out{to{opacity:0;scale:.97;filter:blur(2px)}} --@keyframes bt-veil-in{from{opacity:0;filter:blur(6px)}} --@keyframes bt-check-pop{from{opacity:0;scale:.4}} --@media (prefers-reduced-motion:reduce){.bt-menu,.bt-avedit,.bt-react-strip{animation:bt-fade .1s ease-out}.bt-react-strip button,.bt-q-check,.bt-color[aria-pressed=true] span{animation:none}} --.bt-brand:hover{background:var(--bt-hover)} --.bt-drop-list{position:relative;display:flex;flex-direction:column;gap:2px} --.bt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px} --.bt-pick{display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 2px 6px;border-radius:10px;border:1px solid transparent;background:none;color:var(--bt-ink);cursor:pointer;font:inherit;font-size:11px;line-height:14px;min-width:0} --.bt-pick:hover{background:var(--bt-hover)} --.bt-pick[aria-pressed=true]{border-color:var(--bt-line-2);background:var(--bt-hover)} --.bt-pick>span:last-child:not(.bt-mark){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} --.bt-pick:hover .bt-mark[data-state=idle] .bt-eye{animation:bt-blink .5s linear 1} --.bt-select{width:100%;height:34px;box-sizing:border-box;border-radius:8px;border:1px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink);padding:0 8px;font:inherit;font-size:13px} --.bt-note{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-top:6px} --.bt-swatch-sep{width:1px;height:22px;background:var(--bt-line-2);margin:0 2px} --.bt-swatch-custom{position:relative;overflow:hidden;background:conic-gradient(#ff3e51,#ffaf38,#00c972,#1cc3b0,#2a92fe,#a97efe,#ff5eb1,#ff3e51);box-sizing:border-box} --.bt-swatch-custom[data-on=true]{border-color:var(--bt-ink)} --.bt-swatch-custom input{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);opacity:0;cursor:pointer;border:0;padding:0} --.bt-swatch-default{background:linear-gradient(135deg,var(--bt-card) 0 46%,var(--bt-line-2) 46% 54%,var(--bt-card) 54%);box-shadow:inset 0 0 0 1px var(--bt-line-2)} --.bt-states{display:flex;flex-wrap:wrap;gap:4px} --.bt-state{border:1px solid var(--bt-line);background:none;border-radius:999px;font:inherit;font-size:11px;line-height:16px;padding:2px 8px;color:var(--bt-ink-2);cursor:pointer} --.bt-state:hover{color:var(--bt-ink)} --.bt-state[aria-pressed=true]{background:var(--bt-active);border-color:var(--bt-line-2);color:var(--bt-ink)} --.bt-theme-chip{position:relative;width:46px;height:30px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--bt-line-2);background:linear-gradient(90deg,var(--ls) 0 36%,var(--lb) 36%);overflow:hidden} --.bt-theme-chip i{position:absolute;right:7px;bottom:7px;width:10px;height:10px;border-radius:50%;background:var(--la)} --body[data-ds-dark-theme] .bt-theme-chip{background:linear-gradient(90deg,var(--ds) 0 36%,var(--db) 36%)} --body[data-ds-dark-theme] .bt-theme-chip i{background:var(--da)} --.bt-tabs{flex-wrap:wrap} --.bt-soft:disabled{opacity:.4;cursor:default} --.bt-group-role{margin-left:6px;font-size:11px;line-height:14px;padding:1px 5px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink);vertical-align:1px} --.bt-members{display:flex;flex-direction:column;gap:1px} --.bt-member{display:flex;align-items:center;gap:4px;min-height:40px;padding:0 4px 0 6px;border-radius:8px;animation:bt-rise .18s ease-out} --.bt-member:hover{background:var(--bt-hover)} --.bt-member-name{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;padding:6px 0;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;cursor:pointer;text-align:left} --.bt-member-name>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} --.bt-chip-admin{background:var(--bt-tag-bg);color:var(--bt-tag-ink);border-color:transparent} --.bt-mini{flex:none;border:0;background:none;border-radius:6px;padding:2px 6px;font:inherit;font-size:12px;line-height:18px;color:var(--bt-ink-2);cursor:pointer} --.bt-mini:hover{background:var(--bt-active);color:var(--bt-ink)} --.bt-member .bt-mini,.bt-member .bt-x{opacity:0;transition:opacity .15s ease} --.bt-member:hover .bt-mini,.bt-member:hover .bt-x,.bt-member .bt-mini:focus-visible,.bt-member .bt-x:focus-visible{opacity:1} --.bt-add{color:var(--bt-ink-2);margin-top:2px} --.bt-add:hover,.bt-addlist .bt-option:hover{background:var(--bt-hover);color:var(--bt-ink)} --.bt-addlist{display:flex;flex-direction:column;margin-top:4px;padding:4px;border:1px solid var(--bt-line);border-radius:10px;background:var(--bt-card);animation:bt-rise .16s ease-out} --.bt-seg{position:relative;display:flex;gap:2px;padding:2px;border-radius:10px;background:var(--bt-hover)} --.bt-motion-seg{width:216px} --.bt-seg button{position:relative;z-index:1;flex:1;height:30px;border:0;border-radius:8px;background:none;font:inherit;font-size:13px;color:var(--bt-ink-2);cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,${spring(SPRING_TAP, "scale")}} --.bt-seg button[aria-pressed=true]{background:var(--bt-card);color:var(--bt-ink);box-shadow:0 1px 3px rgba(0,0,0,.08)} --.bt-seg button:disabled{opacity:.4;cursor:default} --.bt-seg button:active:not(:disabled){scale:.96} --.bt-seg>.bt-thumb{top:2px;bottom:2px;border-radius:8px;background:var(--bt-card);box-shadow:0 1px 3px rgba(0,0,0,.08)} --.bt-seg[data-glide] button[aria-pressed=true]{background:transparent;box-shadow:none} --@keyframes bt-rise{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}} --@media (prefers-reduced-motion:reduce){.bt-member,.bt-addlist{animation:none}} +-.bt-voice-pane{flex-direction:column;align-items:center;justify-content:center;animation:bt-fade .2s ease-out} +-.bt-voice-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;max-width:560px;text-align:center} +-.bt-voice-orb{position:relative;width:200px;height:200px;display:grid;place-items:center;margin-bottom:8px} +-.bt-voice-ring{position:absolute;inset:34px;border-radius:50%;background:var(--bt-hover);transform:scale(calc(1 + var(--bt-level,0) * .55));transition:transform .08s linear} +-.bt-voice-ring-2{inset:14px;background:none;box-shadow:inset 0 0 0 1px var(--bt-line-2);transform:scale(calc(.94 + var(--bt-level,0) * .3));opacity:.8} +-.bt-voice-stage[data-phase=thinking] .bt-voice-ring{animation:bt-voice-breathe 1.6s ease-in-out infinite} +-.bt-voice-stage[data-phase=speaking] .bt-voice-ring{animation:bt-voice-speak .9s ease-in-out infinite} +-@keyframes bt-voice-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}} +-@keyframes bt-voice-speak{0%,100%{transform:scale(1.04)}30%{transform:scale(1.2)}60%{transform:scale(1.1)}} +-.bt-voice-orb>.bt-mark{position:relative} +-.bt-voice-name{font-size:16px;line-height:22px;font-weight:500} +-.bt-voice-status{font-size:13px;line-height:18px;color:var(--bt-ink-2);min-height:18px} +-.bt-voice-caption{min-height:44px;font-size:15px;line-height:22px;color:var(--bt-ink);animation:bt-blur-in .25s ease-out;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden} +-.bt-voice-note{font-size:12px;color:#e02135} +-.bt-voice-setup{height:32px;padding:0 14px;border-radius:16px;border:0;background:var(--bt-hover);color:var(--bt-ink);font:inherit;font-size:13px;cursor:pointer;transition:background-color .15s ease} +-.bt-voice-setup:hover{background:var(--bt-active)} +-.bt-voice-bar{display:flex;gap:16px;padding:0 0 32px} +-.bt-voice-btn{position:relative;width:52px;height:52px;border-radius:50%;border:0;background:var(--bt-hover);color:var(--bt-ink);display:grid;place-items:center;cursor:pointer;transition:background-color .15s ease,transform .12s ease} +-.bt-voice-btn:hover{background:var(--bt-active)} +-.bt-voice-btn:active{transform:scale(.94)} +-.bt-voice-btn[aria-pressed=true]{background:var(--bt-user);color:var(--bt-user-ink)} +-.bt-voice-slash{position:absolute;width:24px;height:2px;border-radius:1px;background:currentColor;transform:rotate(-45deg)} +-.bt-voice-end{background:#ff3e51;color:#fff} +-.bt-voice-end:hover{background:#e02135} +-@keyframes bt-fade{from{opacity:0}to{opacity:1}} +-@keyframes bt-blur-in{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}} +-@media (prefers-reduced-motion:reduce){.bt-voice-pane,.bt-voice-caption,.bt-voice-ring{animation:none!important}} +-.bt-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:min(80%,560px,calc(100% - 82px))} +-/* The bubble's row: reactions hang below it, so the hover toolbar (and a group +- sender's avatar) line up with the bubble alone. */ +-.bt-msg-line{position:relative;display:flex;align-items:flex-end;gap:8px;max-width:100%} +-.bt-msg-line>.bt-bubble{max-width:none;min-width:0} +-/* The same bubble width as beside an avatar column: 80% of (100% - 30px), plus the 30px. */ +-.bt-astack[data-lead]>.bt-msg{max-width:min(calc(80% + 6px),590px,calc(100% - 52px))} +-.bt-tools{position:absolute;top:50%;left:100%;margin-left:6px;transform:translateY(-50%);display:flex;gap:2px;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s} +-.bt-tools::after{content:"";position:absolute;top:-8px;bottom:-8px;right:100%;width:128px;z-index:-1} +-.bt-msg:hover>.bt-msg-line>.bt-tools,.bt-msg:focus-within>.bt-msg-line>.bt-tools,.bt-tools[data-open]{opacity:1;visibility:visible} +-.bt-tool{width:24px;height:24px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease} +-.bt-tool:hover,.bt-tool[aria-expanded=true]{background:var(--bt-hover);color:var(--bt-ink)} +-.bt-tool:active{background:var(--bt-active)} +-.bt-tool:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px} +-.bt-react-strip{position:fixed;z-index:60;pointer-events:auto;display:flex;gap:2px;padding:4px;border-radius:999px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.06);transform:translate(-50%,-100%);transform-origin:bottom center;animation:bt-pop-lift ${SPRING_TAP.duration}ms ${SPRING_TAP.easing},bt-veil-in .14s ease-out} +-.bt-react-strip button{width:32px;height:32px;border:0;border-radius:50%;background:none;font-size:18px;line-height:1;cursor:pointer;transition:background-color .12s ease,${spring(SPRING_POP, "transform")};animation:bt-check-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing} backwards} +-.bt-react-strip button:nth-child(2){animation-delay:20ms} +-.bt-react-strip button:nth-child(3){animation-delay:40ms} +-.bt-react-strip button:nth-child(4){animation-delay:60ms} +-.bt-react-strip button:nth-child(n+5){animation-delay:80ms} +-.bt-react-strip button:hover{background:var(--bt-hover);transform:scale(1.15)} +-.bt-react-strip button:active{transform:scale(.92)} +-.bt-reacts{display:flex;gap:4px;margin-top:4px} +-.bt-react{height:22px;min-width:30px;padding:0 6px;border-radius:999px;border:.5px solid var(--bt-line-2);background:var(--bt-main);font-size:13px;line-height:20px;cursor:pointer;animation:bt-react-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing};transition:background-color .12s ease,${spring(SPRING_TAP, "scale")}} +-.bt-react:hover{background:var(--bt-hover)} +-.bt-react:active{scale:.92} +-@keyframes bt-react-pop{from{transform:scale(.6);opacity:0}} +-.bt-bubble a[href^="${MENTION_ORIGIN}"] svg{display:none} +-.bt-you{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bt-ink) 5%,var(--bt-sidebar));color:var(--bt-ink-2);box-shadow:inset 0 0 0 1px var(--bt-line);transition:background-color .12s ease} +-button:hover .bt-you{background:color-mix(in srgb,var(--bt-ink) 9%,var(--bt-sidebar))} +-.bt-you-wrap{display:inline-flex;padding:0} +-.bt-connect-foot{width:100%;height:36px} +// src/client/mention-style.js +function chipKey(bot) { + if (/\s/.test(bot?.name)) return null; @@ -3940,91 +4011,71 @@ diff --git a/client.js b/client.js + }).join("\n"); +} --/* Memory dialog: a summary of every entry, the entries behind the menu, "Ask or update" below. */ --.bt-mem-row{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 8px 0 10px;border:.5px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:13px;cursor:pointer;box-sizing:border-box;transition:background-color .12s ease} --.bt-mem-row:hover{background:var(--bt-hover)} --.bt-mem-row>svg{flex:none;color:var(--bt-ink-2)} --.bt-mem-row-copy{flex:1;text-align:left} --.bt-mem-row-go{display:inline-flex;align-items:center;gap:2px;color:var(--bt-ink-3);font-size:12px} --.bt-mem-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:61;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif} --.bt-mem-scrim{animation:bt-fade .2s ease-out} --.bt-mem{position:relative;width:min(680px,calc(100vw - 48px));height:min(760px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))));background:var(--bt-main);border-radius:20px;border:.5px solid var(--bt-line-2);box-shadow:0 24px 80px rgba(0,0,0,.24);display:flex;flex-direction:column;overflow:hidden;color:var(--bt-ink);animation:bt-dialog-rise ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},bt-veil-in .2s ease-out} --.bt-mem-head{position:relative;display:flex;align-items:center;gap:8px;height:60px;flex:none;padding:0 14px 0 24px;border-bottom:.5px solid var(--bt-line);box-sizing:border-box} --.bt-mem-head .bt-icon-btn{width:32px;height:32px;flex:none} --.bt-mem-head [aria-haspopup] svg{width:18px;height:18px;stroke-width:2.6} --.bt-mem-head>.bt-icon-btn:first-child{margin-left:-10px} --.bt-mem-head h2{margin:0;font-size:17px;line-height:24px;font-weight:600;white-space:nowrap} --.bt-mem-status{font-size:13px;line-height:18px;color:var(--bt-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-variant-numeric:tabular-nums} --.bt-mem-head-gap{flex:1} --.bt-mem-menu{position:absolute;top:52px;right:50px;min-width:220px;--bt-origin:top right} --.bt-mem-menu button:disabled{opacity:.4;cursor:default;background:none} --.bt-mem-body{flex:1;overflow-y:auto;padding:22px 28px 24px;scrollbar-width:thin;display:flex;flex-direction:column;gap:12px} --.bt-mem-summary{transition:opacity .3s ease} --.bt-mem-summary[data-stale]{opacity:.55} --.bt-mem-summary h3{margin:20px 0 6px;font-size:17px;line-height:26px;font-weight:600} --.bt-mem-summary h3:first-child{margin-top:0} --.bt-mem-summary p{margin:0;font-size:15px;line-height:26px} --.bt-mem-summary>*{animation:bt-mem-line .45s cubic-bezier(.16,1,.3,1) both} --.bt-mem-summary>:nth-child(2){animation-delay:.03s} --.bt-mem-summary>:nth-child(3){animation-delay:.06s} --.bt-mem-summary>:nth-child(4){animation-delay:.09s} --.bt-mem-summary>:nth-child(5){animation-delay:.12s} --.bt-mem-summary>:nth-child(6){animation-delay:.15s} --.bt-mem-summary>:nth-child(n+7){animation-delay:.18s} --@keyframes bt-mem-line{from{opacity:0;transform:translateY(4px)}} --.bt-mem-skel{display:flex;flex-direction:column;gap:24px} --.bt-mem-skel-block{display:flex;flex-direction:column;gap:10px} --.bt-mem-skel-block span{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bt-hover) 25%,var(--bt-active) 50%,var(--bt-hover) 75%);background-size:200% 100%;animation:bt-mem-skel 1.4s ease-in-out infinite} --.bt-mem-skel-block .bt-mem-skel-head{width:30%;height:16px;margin-bottom:2px} --@keyframes bt-mem-skel{from{background-position:150% 0}to{background-position:-50% 0}} --.bt-mem-skel-label{font-size:13px;line-height:18px;color:var(--bt-ink-3)} --.bt-mem-empty{margin:auto;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:24px 0;animation:bt-mem-line .45s cubic-bezier(.16,1,.3,1) both} --.bt-mem-empty-mark{width:48px;height:48px;border-radius:50%;background:var(--bt-hover);display:flex;align-items:center;justify-content:center;color:var(--bt-ink-2);margin-bottom:4px} --.bt-mem-empty-mark svg{width:22px;height:22px} --.bt-mem-empty-title{font-size:15px;line-height:22px;font-weight:600} --.bt-mem-empty-text{font-size:13px;line-height:20px;color:var(--bt-ink-2)} --.bt-mem-failed{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--bt-hover);font-size:13px;line-height:18px;color:var(--bt-ink-2)} --.bt-mem-failed>span{flex:1;min-width:0;overflow-wrap:anywhere} --.bt-mem-entries{display:flex;flex-direction:column;gap:28px;animation:bt-page-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},bt-veil-in .22s ease-out} --.bt-mem-section-head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px} --.bt-mem-section-head h3{margin:0;font-size:15px;line-height:22px;font-weight:600} --.bt-mem-section-head span{font-size:12px;line-height:16px;color:var(--bt-ink-3)} --.bt-mem-section-head .bt-mem-size{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap} --.bt-mem-topic{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin:14px 0 2px 4px;font-weight:500} --.bt-mem-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column} --.bt-mem-entry{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:.5px solid var(--bt-line);transition:opacity .2s ease} --.bt-mem-entry[data-busy]{opacity:.4} --.bt-mem-entry-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px} --.bt-mem-entry-text{font-size:14px;line-height:20px;overflow-wrap:anywhere} --.bt-mem-entry-meta{font-size:12px;line-height:16px;color:var(--bt-ink-3);font-variant-numeric:tabular-nums} --.bt-mem-remove{flex:none;height:28px;min-width:28px;border-radius:999px;border:0;background:none;color:var(--bt-ink-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0 6px;font:inherit;font-size:12px;opacity:0;transition:opacity .12s ease,background-color .12s ease,color .12s ease} --.bt-mem-entry:hover .bt-mem-remove,.bt-mem-remove:focus-visible,.bt-mem-remove[data-confirm]{opacity:1} --.bt-mem-remove:hover{background:var(--bt-hover);color:var(--bt-ink)} --.bt-mem-remove[data-confirm]{background:rgba(224,33,53,.1);color:#e02135;padding:0 10px} --@media (hover:none){.bt-mem-remove{opacity:1}} --.bt-mem-none{font-size:13px;line-height:18px;color:var(--bt-ink-3);padding:8px 4px} --.bt-mem-foot{flex:none;padding:8px 20px 20px;display:flex;flex-direction:column;gap:10px} --.bt-mem-reply{border-radius:16px;background:var(--bt-hover);padding:8px 8px 12px 16px;display:flex;flex-direction:column;gap:6px;max-height:36vh;overflow-y:auto;scrollbar-width:thin;transform-origin:50% 100%;animation:bt-pop-lift ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},bt-veil-in .2s ease-out} --.bt-mem-reply-head{display:flex;align-items:center;gap:8px;min-height:24px} --.bt-mem-reply-asked{flex:1;min-width:0;font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap} --.bt-mem-reply .bt-icon-btn{width:24px;height:24px;flex:none} --.bt-mem-reply-text{font-size:14px;line-height:21px;padding-right:8px;overflow-wrap:anywhere} --.bt-mem-changes{list-style:none;margin:2px 0 0;padding:0 8px 0 0;display:flex;flex-direction:column;gap:4px} --.bt-mem-changes li{display:flex;align-items:flex-start;gap:6px;font-size:13px;line-height:18px;color:var(--bt-ink-2);overflow-wrap:anywhere} --.bt-mem-changes li svg{flex:none;margin-top:1px;color:#e02135;animation:bt-check-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing} .12s backwards} --.bt-mem-changes li[data-ok] svg{color:var(--bt-green)} --.bt-mem-ask{display:flex;align-items:center;gap:8px;height:52px;padding:0 8px 0 22px;border-radius:999px;border:.5px solid var(--bt-line-2);background:var(--bt-card);box-shadow:0 4px 16px rgba(0,0,0,.06);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease} --.bt-mem-ask:focus-within{border-color:var(--bt-ink-3);box-shadow:0 4px 20px rgba(0,0,0,.1)} --.bt-mem-input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--bt-ink);font:inherit;font-size:15px;line-height:22px;padding:0} --.bt-mem-input::placeholder{color:var(--bt-ink-3)} --.bt-mem-send{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:var(--bt-ink);color:var(--bt-main);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:opacity .15s ease,${spring(SPRING_TAP, "scale")}} --.bt-mem-send:disabled{opacity:.22;cursor:default} --.bt-mem-send:not(:disabled):active{scale:.92} --.bt-mem-send>*{animation:bt-check-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing}} --.bt-mem-spin{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;box-sizing:border-box;animation:bt-mem-spin .7s linear infinite} --@keyframes bt-mem-spin{to{transform:rotate(360deg)}} --@media (max-width:640px){.bt-mem{width:100vw;height:100%;border-radius:0;border:0}.bt-mem-body{padding:18px 18px 20px}.bt-mem-foot{padding:8px 12px 12px}} --@media (prefers-reduced-motion:reduce){.bt-mem,.bt-mem-scrim,.bt-mem-summary>*,.bt-mem-empty,.bt-mem-reply,.bt-mem-skel-block span,.bt-mem-entries,.bt-mem-send>*,.bt-mem-changes li svg{animation:none}} +-.bt-menu{position:fixed;pointer-events:auto;z-index:60;min-width:200px;padding:6px;border-radius:12px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1),0 0 0 1px rgba(228,228,228,.04);display:flex;flex-direction:column;gap:2px;transform-origin:var(--bt-origin,top left);animation:bt-pop-drop ${SPRING_TAP.duration}ms ${SPRING_TAP.easing},bt-veil-in .14s ease-out;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;box-sizing:border-box} +-.bt-menu button{display:flex;align-items:center;gap:4px;width:100%;min-height:30px;text-align:left;border:0;background:none;border-radius:6px;padding:6px 8px;font:inherit;font-size:13px;line-height:18px;color:var(--bt-ink);cursor:pointer;box-sizing:border-box} +-.bt-menu button:hover{background:var(--bt-hover)} +-.bt-menu button svg{flex:none;width:16px;height:16px;margin:0 1px} +-.bt-menu .bt-danger{color:#c21d2e} +-.bt-menu-sep{height:.5px;flex:none;background:var(--bt-line-2);margin:4px 8px} +-.bt-menu-up{--bt-origin:bottom left;animation-name:bt-pop-lift,bt-veil-in} +-.bt-menu[data-leaving]{pointer-events:none;animation:bt-pop-out .12s cubic-bezier(.4,0,1,1) forwards} +-.bt-menu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} +-.bt-menu-hint{flex:none;color:var(--bt-ink-3);font-size:12px;font-variant-numeric:tabular-nums} +-.bt-palette-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:70;pointer-events:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif} +-.bt-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.46);animation:bt-fade .22s ease-out} +-.bt-palette{position:absolute;top:50%;left:50%;width:min(560px,92vw);transform:translate(-50%,-50%);display:flex;flex-direction:column;border-radius:12px;background:var(--bt-main);border:1px solid var(--bt-line-2);box-shadow:0 24px 48px -12px rgba(0,0,0,.25);overflow:hidden;color:var(--bt-ink);animation:bt-palette-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},bt-veil-in .2s ease-out} +-.bt-palette-layer[data-leaving]{pointer-events:none} +-.bt-palette-layer[data-leaving] .bt-backdrop{opacity:0;transition:opacity .16s ease-in} +-.bt-palette-layer[data-leaving] .bt-palette{animation:bt-dialog-sink .16s cubic-bezier(.4,0,1,1) forwards} +-@keyframes bt-palette-in{from{translate:0 -10px;scale:.96}} +-.bt-palette-head{display:flex;align-items:center;gap:4px;padding:14px 10px 14px 14px;border-bottom:.5px solid var(--bt-line-2)} +-.bt-palette-glyph{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;color:var(--bt-ink-3);margin-right:4px} +-.bt-palette-head input{flex:1;min-width:0;border:0;outline:none;background:none;color:var(--bt-ink);font:inherit;font-size:15px;line-height:22px;padding:0} +-.bt-palette-head input::placeholder{color:var(--bt-ink-3)} +-.bt-palette-clear{width:18px;height:18px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer} +-.bt-palette-clear:hover{color:var(--bt-ink)} +-.bt-palette-clear svg{width:12px;height:12px} +-.bt-palette-list{position:relative;height:402px;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px;box-sizing:border-box} +-.bt-palette-list>.bt-thumb,.bt-drop-list>.bt-thumb{left:0;right:0;border-radius:8px;background:var(--bt-active)} +-.bt-palette-list>.bt-thumb{left:8px;right:8px} +-:is(.bt-palette-list,.bt-drop-list)[data-glide] [aria-selected=true]{background:transparent} +-:is(.bt-palette-row,.bt-palette-section,.bt-drop-list>.bt-option){position:relative;z-index:1} +-.bt-palette-section{padding:8px 8px 4px;font-size:12px;line-height:16px;color:var(--bt-ink-3);flex:none} +-.bt-palette-section:first-of-type{padding-top:0} +-.bt-palette-row{flex:none;display:flex;align-items:center;gap:8px;height:49px;padding:6px 10px 6px 8px;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;width:100%} +-.bt-palette-row[aria-selected=true]{background:var(--bt-active)} +-.bt-palette-lead{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center} +-.bt-palette-cmd{width:24px;height:24px;border-radius:50%;background:var(--bt-hover);display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink-2)} +-.bt-palette-cmd svg{width:14px;height:14px} +-.bt-palette-agent{width:24px;height:24px;border-radius:50%;background:var(--bt-hover);display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink)} +-.bt-palette-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px} +-.bt-palette-title{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} +-.bt-palette-sub{font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap} +-.bt-palette-badge{flex:none;font-size:11px;line-height:16px;padding:0 6px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink)} +-.bt-palette-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:0 16px;text-align:center;animation:bt-veil-in .22s ease-out} +-.bt-palette-empty-icon{color:var(--bt-line-2)} +-.bt-palette-empty-icon svg{width:32px;height:32px} +-.bt-palette-empty-label{font-size:14px;font-weight:500;color:var(--bt-ink-2)} +-.bt-palette-empty-hint{font-size:13px;line-height:16px;color:var(--bt-ink-3)} +-@media (prefers-reduced-motion:reduce){.bt-palette{animation:bt-fade .1s ease-out}} +-.bt-account-menu{width:224px} +-.bt-account{flex:none;width:36px;height:36px;border:0;padding:0;background:none;border-radius:50%;cursor:pointer;display:inline-flex} +-.bt-account:hover .bt-you,.bt-account[aria-expanded=true] .bt-you{background:color-mix(in srgb,var(--bt-ink) 9%,var(--bt-sidebar))} +-/* Popover keyframes move translate and scale, which compose with a transform the popover +- already has. */ +-@keyframes bt-pop-drop{from{translate:0 -4px;scale:.96}} +-@keyframes bt-pop-lift{from{translate:0 4px;scale:.96}} +-@keyframes bt-pop-out{to{opacity:0;scale:.97;filter:blur(2px)}} +-@keyframes bt-veil-in{from{opacity:0;filter:blur(6px)}} +-@keyframes bt-check-pop{from{opacity:0;scale:.4}} +-@media (prefers-reduced-motion:reduce){.bt-menu,.bt-avedit,.bt-react-strip{animation:bt-fade .1s ease-out}.bt-react-strip button,.bt-q-check,.bt-color[aria-pressed=true] span{animation:none}} +-.bt-brand:hover{background:var(--bt-hover)} +-.bt-drop-list{position:relative;display:flex;flex-direction:column;gap:2px} +-.bt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px} +-.bt-pick{display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 2px 6px;border-radius:10px;border:1px solid transparent;background:none;color:var(--bt-ink);cursor:pointer;font:inherit;font-size:11px;line-height:14px;min-width:0} +-.bt-pick:hover{background:var(--bt-hover)} +-.bt-pick[aria-pressed=true]{border-color:var(--bt-line-2);background:var(--bt-hover)} +-.bt-pick>span:last-child:not(.bt-mark){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} +// src/client/motion.js +var import_react4 = require("react"); +var reducedMotion = () => window.matchMedia?.("(prefers-reduced-motion: reduce)").matches === true; @@ -4059,12 +4110,12 @@ diff --git a/client.js b/client.js + const dt = Math.min(0.5, Math.max(1e-3, (now - last) / 1e3)); + last = now; + const steps = Math.ceil(dt * 240); -+ const h50 = dt / steps; ++ const h51 = dt / steps; + let moving = false; + for (const value of values.values()) { + for (let index = 0; index < steps; index += 1) { -+ value.v += (-value.k * (value.x - value.to) - value.c * value.v) * h50; -+ value.x += value.v * h50; ++ value.v += (-value.k * (value.x - value.to) - value.c * value.v) * h51; ++ value.x += value.v * h51; + } + if (Math.abs(value.x - value.to) < 0.05 && Math.abs(value.v) < 1) { + value.x = value.to; @@ -4228,19 +4279,7 @@ diff --git a/client.js b/client.js + }, [value]); + return [value || kept, !value && Boolean(kept)]; +} - --.bt-thumb{position:absolute;left:0;top:0;z-index:0;pointer-events:none;transition:opacity .14s ease} --.bt-thumb[data-hidden]{opacity:0} --[data-morph]{overflow:hidden!important} --.bt-veil{animation:bt-veil-in .22s ease-out} --.bt-with-icon{display:inline-flex;align-items:center;gap:4px} --.bt-with-icon svg{width:14px;height:14px} --.bt-tag-admin{display:inline-flex;align-items:center;gap:4px} --.bt-create-inline{padding:18px 16px;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card)} --.bt-create-inline .bt-create-card{max-width:none} --.bt-panel-view>[data-move=in]{animation:bt-page-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing} backwards,bt-veil-in .2s ease-out backwards} --.bt-panel-view>[data-move=out]{animation:bt-page-out ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing} backwards,bt-veil-in .2s ease-out backwards} --.bt-panel-view>:is([data-move=in],[data-move=out]):nth-child(2){animation-delay:25ms} ++ +// src/client/styles.js +var SHELL_CSS = ` +body{--bt-ink:#141414;--bt-ink-2:rgba(20,20,20,.6);--bt-ink-3:rgba(20,20,20,.36);--bt-bubble:#eeeeee;--bt-sidebar:#f7f7f7;--bt-main:#fcfcfc;--bt-line:rgba(20,20,20,.08);--bt-line-2:rgba(20,20,20,.15);--bt-line-weak:rgba(20,20,20,.1);--bt-hover:rgba(119,119,119,.09);--bt-active:rgba(119,119,119,.17);--bt-card:#ffffff;--bt-accent:#4d6bfe;--bt-green:#00c972;--bt-star:#ff9800;--bt-user:#070707;--bt-user-ink:#fcfcfc;--bt-tag-bg:rgba(20,20,20,.06);--bt-tag-ink:rgba(20,20,20,.56)} @@ -4816,6 +4855,62 @@ diff --git a/client.js b/client.js +.bt-connector[data-state=error] .bt-connector-status{color:#e02135;white-space:normal} +.bt-connector-actions{flex:none;display:flex;gap:6px} +.bt-connector-form{display:flex;flex-direction:column;gap:8px;padding-left:48px;animation:bt-q-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},bt-veil-in .2s ease-out} ++.bt-feishu-setup{container-type:inline-size;min-width:0;width:100%;max-width:960px;box-sizing:border-box;padding:20px;border:1px solid var(--bt-line);border-radius:14px;background:var(--bt-card);color:var(--bt-ink);font:13px/1.6 ui-sans-serif,system-ui,sans-serif;overflow-wrap:anywhere;animation:bt-veil-in .16s ease-out} ++.bt-feishu-setup *{box-sizing:border-box} ++.bt-feishu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--bt-line)} ++.bt-feishu-header h3{padding:0;margin:0 0 4px;font-size:17px;line-height:24px;font-weight:650;letter-spacing:-.02em} ++.bt-feishu-header>.bt-input{width:220px;max-width:45%;flex:none} ++.bt-feishu-setup .bt-set-hint{margin:0;font-size:12px;line-height:1.7;color:var(--bt-ink-2)} ++.bt-feishu-body{display:flex;flex-direction:column;gap:22px;padding-top:18px} ++.bt-feishu-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px} ++.bt-feishu-modes button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:11px 14px;border:1px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color .12s,border-color .12s} ++.bt-feishu-modes button:hover{background:var(--bt-hover)} ++.bt-feishu-modes button[aria-pressed=true]{border-color:var(--bt-accent);background:color-mix(in srgb,var(--bt-accent) 6%,var(--bt-card));box-shadow:0 0 0 1px var(--bt-accent)} ++.bt-feishu-modes strong{font-size:13px;font-weight:600}.bt-feishu-modes small{color:var(--bt-ink-2);font-size:11px} ++.bt-feishu-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:start} ++.bt-feishu-progress{min-width:0}.bt-feishu-progress ol{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0} ++.bt-feishu-progress li{min-width:0}.bt-feishu-progress button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-2);font:inherit;font-size:12px;line-height:19px;text-align:left;cursor:pointer} ++.bt-feishu-progress button:hover:not(:disabled){background:var(--bt-hover)} ++.bt-feishu-progress button[aria-current=step]{background:color-mix(in srgb,var(--bt-accent) 7%,var(--bt-card));color:var(--bt-accent);font-weight:600} ++.bt-feishu-progress button:disabled{opacity:.48;cursor:default} ++.bt-feishu-step-number{display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border:1px solid var(--bt-line-2);border-radius:50%;font-size:11px;font-variant-numeric:tabular-nums} ++.bt-feishu-progress [aria-current=step] .bt-feishu-step-number{background:var(--bt-accent);border-color:var(--bt-accent);color:white} ++.bt-feishu-progress [data-done=true] .bt-feishu-step-number{border-color:transparent;background:var(--bt-hover);color:var(--bt-ink-2)} ++.bt-feishu-step{min-width:0}.bt-feishu-step-heading{margin-bottom:16px}.bt-feishu-eyebrow{display:block;margin-bottom:4px;color:var(--bt-ink-2);font-size:11px} ++.bt-feishu-step h4{margin:0;font-size:16px;line-height:24px;font-weight:650;letter-spacing:-.02em} ++.bt-feishu-step-content>div{display:flex;flex-direction:column;align-items:stretch;gap:14px} ++.bt-feishu-external{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;align-self:flex-start;border:1px solid var(--bt-line-2);border-radius:8px;padding:7px 11px;color:var(--bt-ink);font-size:12px;font-weight:500;text-decoration:none} ++.bt-feishu-external:hover{background:var(--bt-hover)}.bt-feishu-external span{color:var(--bt-ink-2)} ++.bt-feishu-permissions{display:flex;flex-direction:column;gap:10px;padding-top:5px}.bt-feishu-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.bt-feishu-section-head strong{font-size:13px;font-weight:600} ++.bt-feishu-optional{color:var(--bt-ink-2);font-size:11px}.bt-feishu-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px} ++.bt-feishu-permission{display:flex;align-items:center;gap:9px;min-width:0;min-height:42px;margin:0;padding:9px 11px;border:1px solid var(--bt-line);border-radius:9px;background:var(--bt-card);font-size:12px;line-height:20px;cursor:pointer;transition:background-color .12s,border-color .12s} ++.bt-feishu-permission:hover{border-color:var(--bt-line-2);background:var(--bt-hover)} ++.bt-feishu-permission[data-checked=true]{border-color:color-mix(in srgb,var(--bt-accent) 55%,var(--bt-line));background:color-mix(in srgb,var(--bt-accent) 5%,var(--bt-card))} ++.bt-feishu-setup input[type=checkbox]{appearance:auto;flex:none;width:15px;height:15px;min-height:0;margin:0;padding:0;border-radius:4px;accent-color:var(--bt-accent);cursor:pointer} ++.bt-feishu-permission-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px} ++.bt-feishu-setup .bt-feishu-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:6px;flex:none;width:auto;min-height:34px;height:auto;margin:0;padding:6px 12px;border:1px solid var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:12px;font-weight:500;cursor:pointer;box-shadow:none} ++.bt-feishu-setup .bt-feishu-button:hover:not(:disabled){background:var(--bt-hover)}.bt-feishu-setup .bt-feishu-button:disabled{opacity:.4;cursor:default} ++.bt-feishu-setup .bt-feishu-primary{background:var(--bt-accent);border-color:var(--bt-accent);color:#fff;padding-inline:18px} ++.bt-feishu-setup .bt-feishu-primary:hover:not(:disabled){background:color-mix(in srgb,var(--bt-accent) 88%,#000)} ++.bt-feishu-setup .bt-feishu-quiet{border-color:transparent;background:transparent;color:var(--bt-ink-2)} ++.bt-feishu-setup :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--bt-accent);outline-offset:3px} ++.bt-feishu-setup details{min-width:0}.bt-feishu-setup summary{cursor:pointer;font-size:12px;font-weight:500;line-height:20px;padding:8px 0;color:var(--bt-ink-2)} ++.bt-feishu-json{border:0}.bt-feishu-setup .bt-feishu-json summary{padding:2px 0;color:var(--bt-accent);font-weight:400} ++.bt-feishu-setup .bt-feishu-json textarea{width:100%;height:180px;min-height:120px;max-height:320px;margin-top:10px;padding:12px;border:1px solid var(--bt-line);border-radius:8px;background:var(--bt-sidebar);color:var(--bt-ink-2);font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical;white-space:pre;overflow:auto;overflow-wrap:normal} ++.bt-feishu-field,.bt-feishu-setup .bt-q-field{display:flex;flex-direction:column;flex:initial;gap:6px;min-width:0;min-height:0;margin:0;padding:0;border:0;cursor:default;color:var(--bt-ink-2);font-size:12px} ++.bt-feishu-setup .bt-input{min-width:0;height:38px;padding:0 11px;font-size:13px;border-color:var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink)} ++.bt-feishu-field+.bt-feishu-field{margin-top:2px}.bt-feishu-setup .bt-input:disabled{opacity:.65;background:var(--bt-sidebar)} ++.bt-feishu-check{display:flex;align-items:flex-start;gap:9px;font-size:12px}.bt-feishu-check input{margin-top:3px!important} ++.bt-feishu-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--bt-line)} ++.bt-feishu-footer>div{display:flex;align-items:center;gap:6px}.bt-feishu-result,.bt-feishu-error{margin:14px 0 0;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.6;background:var(--bt-sidebar);color:var(--bt-ink-2)} ++.bt-feishu-result[data-success=true]{color:var(--bt-ink);border:1px solid var(--bt-line)}.bt-feishu-error{color:#d33e4e;background:color-mix(in srgb,#e5484d 7%,var(--bt-card))} ++.bt-feishu-management{border-top:1px solid var(--bt-line);padding-top:8px}.bt-feishu-management>details+details{border-top:1px solid var(--bt-line)} ++.bt-feishu-management>details>summary{padding:12px 0;color:var(--bt-ink)}.bt-feishu-management>details[open]{display:flex;flex-direction:column;gap:10px;padding-bottom:14px} ++.bt-feishu-management>details>fieldset{min-width:0;margin:4px 0;padding:12px;border:1px solid var(--bt-line);border-radius:10px}.bt-feishu-management legend{font-size:12px;font-weight:600;padding-inline:4px} ++.bt-feishu-management fieldset>.bt-q-field+.bt-q-field{margin-top:10px}.bt-feishu-setup code,.bt-feishu-setup pre{white-space:pre-wrap;overflow-wrap:anywhere}.bt-feishu-setup ul{padding-left:18px;margin:4px 0} ++.bt-feishu-webhook{margin-top:18px;padding-top:10px;border-top:1px solid var(--bt-line)}.bt-feishu-webhook[open]{display:flex;flex-direction:column;gap:12px}.bt-feishu-webhook>summary{color:var(--bt-ink-2)} ++@container (max-width:640px){.bt-feishu-layout{display:flex;flex-direction:column;gap:18px}.bt-feishu-progress{width:100%}.bt-feishu-progress ol{flex-direction:row;gap:5px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.bt-feishu-progress li{flex:1}.bt-feishu-progress button{justify-content:center;padding:5px;gap:7px}.bt-feishu-step-label{display:none}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{display:block;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-feishu-progress li:has([aria-current=step]){flex:4}.bt-feishu-step{width:100%}.bt-feishu-header{flex-direction:column;gap:10px}.bt-feishu-header>.bt-input{max-width:100%;width:100%}} ++@container (max-width:340px){.bt-feishu-modes{gap:8px}.bt-feishu-modes button{padding:9px 10px}.bt-feishu-modes small{font-size:10px}.bt-feishu-permission{padding:8px}.bt-feishu-footer>div{gap:2px}.bt-feishu-footer .bt-feishu-button{padding-inline:9px}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{max-width:90px}} +.bt-connector-form-row{display:flex;align-items:center;gap:6px} +.bt-connector-apps{display:flex;flex-direction:column;gap:8px} +.bt-connector-link{flex:1;font-size:12px;color:var(--bt-ink-2)} @@ -4964,79 +5059,128 @@ diff --git a/client.js b/client.js +.bt-pick:hover{background:var(--bt-hover)} +.bt-pick[aria-pressed=true]{border-color:var(--bt-line-2);background:var(--bt-hover)} +.bt-pick>span:last-child:not(.bt-mark){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} -+.bt-pick:hover .bt-mark[data-state=idle] .bt-eye{animation:bt-blink .5s linear 1} -+.bt-select{width:100%;height:34px;box-sizing:border-box;border-radius:8px;border:1px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink);padding:0 8px;font:inherit;font-size:13px} -+.bt-note{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-top:6px} -+.bt-swatch-sep{width:1px;height:22px;background:var(--bt-line-2);margin:0 2px} -+.bt-swatch-custom{position:relative;overflow:hidden;background:conic-gradient(#ff3e51,#ffaf38,#00c972,#1cc3b0,#2a92fe,#a97efe,#ff5eb1,#ff3e51);box-sizing:border-box} -+.bt-swatch-custom[data-on=true]{border-color:var(--bt-ink)} -+.bt-swatch-custom input{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);opacity:0;cursor:pointer;border:0;padding:0} -+.bt-swatch-default{background:linear-gradient(135deg,var(--bt-card) 0 46%,var(--bt-line-2) 46% 54%,var(--bt-card) 54%);box-shadow:inset 0 0 0 1px var(--bt-line-2)} -+.bt-states{display:flex;flex-wrap:wrap;gap:4px} -+.bt-state{border:1px solid var(--bt-line);background:none;border-radius:999px;font:inherit;font-size:11px;line-height:16px;padding:2px 8px;color:var(--bt-ink-2);cursor:pointer} -+.bt-state:hover{color:var(--bt-ink)} -+.bt-state[aria-pressed=true]{background:var(--bt-active);border-color:var(--bt-line-2);color:var(--bt-ink)} -+.bt-theme-chip{position:relative;width:46px;height:30px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--bt-line-2);background:linear-gradient(90deg,var(--ls) 0 36%,var(--lb) 36%);overflow:hidden} -+.bt-theme-chip i{position:absolute;right:7px;bottom:7px;width:10px;height:10px;border-radius:50%;background:var(--la)} -+body[data-ds-dark-theme] .bt-theme-chip{background:linear-gradient(90deg,var(--ds) 0 36%,var(--db) 36%)} -+body[data-ds-dark-theme] .bt-theme-chip i{background:var(--da)} -+.bt-tabs{flex-wrap:wrap} -+.bt-soft:disabled{opacity:.4;cursor:default} -+.bt-group-role{margin-left:6px;font-size:11px;line-height:14px;padding:1px 5px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink);vertical-align:1px} -+.bt-members{display:flex;flex-direction:column;gap:1px} -+.bt-member{display:flex;align-items:center;gap:4px;min-height:40px;padding:0 4px 0 6px;border-radius:8px;animation:bt-rise .18s ease-out} -+.bt-member:hover{background:var(--bt-hover)} -+.bt-member-name{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;padding:6px 0;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;cursor:pointer;text-align:left} -+.bt-member-name>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} -+.bt-chip-admin{background:var(--bt-tag-bg);color:var(--bt-tag-ink);border-color:transparent} -+.bt-mini{flex:none;border:0;background:none;border-radius:6px;padding:2px 6px;font:inherit;font-size:12px;line-height:18px;color:var(--bt-ink-2);cursor:pointer} -+.bt-mini:hover{background:var(--bt-active);color:var(--bt-ink)} -+.bt-member .bt-mini,.bt-member .bt-x{opacity:0;transition:opacity .15s ease} -+.bt-member:hover .bt-mini,.bt-member:hover .bt-x,.bt-member .bt-mini:focus-visible,.bt-member .bt-x:focus-visible{opacity:1} -+.bt-add{color:var(--bt-ink-2);margin-top:2px} -+.bt-add:hover,.bt-addlist .bt-option:hover{background:var(--bt-hover);color:var(--bt-ink)} -+.bt-addlist{display:flex;flex-direction:column;margin-top:4px;padding:4px;border:1px solid var(--bt-line);border-radius:10px;background:var(--bt-card);animation:bt-rise .16s ease-out} -+.bt-seg{position:relative;display:flex;gap:2px;padding:2px;border-radius:10px;background:var(--bt-hover)} -+.bt-motion-seg{width:216px} -+.bt-seg button{position:relative;z-index:1;flex:1;height:30px;border:0;border-radius:8px;background:none;font:inherit;font-size:13px;color:var(--bt-ink-2);cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,${spring(SPRING_TAP, "scale")}} -+.bt-seg button[aria-pressed=true]{background:var(--bt-card);color:var(--bt-ink);box-shadow:0 1px 3px rgba(0,0,0,.08)} -+.bt-seg button:disabled{opacity:.4;cursor:default} -+.bt-seg button:active:not(:disabled){scale:.96} -+.bt-seg>.bt-thumb{top:2px;bottom:2px;border-radius:8px;background:var(--bt-card);box-shadow:0 1px 3px rgba(0,0,0,.08)} -+.bt-seg[data-glide] button[aria-pressed=true]{background:transparent;box-shadow:none} -+@keyframes bt-rise{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}} -+@media (prefers-reduced-motion:reduce){.bt-member,.bt-addlist{animation:none}} -+ -+/* Memory dialog: a summary of every entry, the entries behind the menu, "Ask or update" below. */ -+.bt-mem-row{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 8px 0 10px;border:.5px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:13px;cursor:pointer;box-sizing:border-box;transition:background-color .12s ease} -+.bt-mem-row:hover{background:var(--bt-hover)} -+.bt-mem-row>svg{flex:none;color:var(--bt-ink-2)} -+.bt-mem-row-copy{flex:1;text-align:left} -+.bt-mem-row-go{display:inline-flex;align-items:center;gap:2px;color:var(--bt-ink-3);font-size:12px} -+.bt-mem-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:121;isolation:isolate;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif} -+.bt-mem-scrim{animation:bt-fade .2s ease-out} -+.bt-mem{position:relative;width:min(680px,calc(100vw - 48px));height:min(760px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))));background:var(--bt-main);border-radius:20px;border:.5px solid var(--bt-line-2);box-shadow:0 24px 80px rgba(0,0,0,.24);display:flex;flex-direction:column;overflow:hidden;color:var(--bt-ink);animation:bt-dialog-rise ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},bt-veil-in .2s ease-out} -+.bt-mem-head{position:relative;display:flex;align-items:center;gap:8px;height:60px;flex:none;padding:0 14px 0 24px;border-bottom:.5px solid var(--bt-line);box-sizing:border-box} -+.bt-mem-head .bt-icon-btn{width:32px;height:32px;flex:none} -+.bt-mem-head [aria-haspopup] svg{width:18px;height:18px;stroke-width:2.6} -+.bt-mem-head>.bt-icon-btn:first-child{margin-left:-10px} -+.bt-mem-head h2{margin:0;font-size:17px;line-height:24px;font-weight:600;white-space:nowrap} -+.bt-mem-status{font-size:13px;line-height:18px;color:var(--bt-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-variant-numeric:tabular-nums} -+.bt-mem-head-gap{flex:1} -+.bt-mem-menu{position:absolute;top:52px;right:50px;min-width:220px;--bt-origin:top right} -+.bt-mem-menu button:disabled{opacity:.4;cursor:default;background:none} -+.bt-mem-body{flex:1;overflow-y:auto;padding:22px 28px 24px;scrollbar-width:thin;display:flex;flex-direction:column;gap:12px} -+.bt-mem-summary{transition:opacity .3s ease} -+.bt-mem-summary[data-stale]{opacity:.55} -+.bt-mem-summary h3{margin:20px 0 6px;font-size:17px;line-height:26px;font-weight:600} -+.bt-mem-summary h3:first-child{margin-top:0} -+.bt-mem-summary p{margin:0;font-size:15px;line-height:26px} -+.bt-mem-summary>*{animation:bt-mem-line .45s cubic-bezier(.16,1,.3,1) both} -+.bt-mem-summary>:nth-child(2){animation-delay:.03s} -+.bt-mem-summary>:nth-child(3){animation-delay:.06s} -+.bt-mem-summary>:nth-child(4){animation-delay:.09s} -+.bt-mem-summary>:nth-child(5){animation-delay:.12s} -+.bt-mem-summary>:nth-child(6){animation-delay:.15s} + .bt-pick:hover .bt-mark[data-state=idle] .bt-eye{animation:bt-blink .5s linear 1} + .bt-select{width:100%;height:34px;box-sizing:border-box;border-radius:8px;border:1px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink);padding:0 8px;font:inherit;font-size:13px} + .bt-note{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-top:6px} +@@ -2488,2292 +2488,4846 @@ body[data-ds-dark-theme] .bt-theme-chip i{background:var(--da)} + @keyframes bt-rise{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}} + @media (prefers-reduced-motion:reduce){.bt-member,.bt-addlist{animation:none}} + +-/* Memory dialog: a summary of every entry, the entries behind the menu, "Ask or update" below. */ +-.bt-mem-row{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 8px 0 10px;border:.5px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:13px;cursor:pointer;box-sizing:border-box;transition:background-color .12s ease} +-.bt-mem-row:hover{background:var(--bt-hover)} +-.bt-mem-row>svg{flex:none;color:var(--bt-ink-2)} +-.bt-mem-row-copy{flex:1;text-align:left} +-.bt-mem-row-go{display:inline-flex;align-items:center;gap:2px;color:var(--bt-ink-3);font-size:12px} +-.bt-mem-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:61;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif} +-.bt-mem-scrim{animation:bt-fade .2s ease-out} +-.bt-mem{position:relative;width:min(680px,calc(100vw - 48px));height:min(760px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))));background:var(--bt-main);border-radius:20px;border:.5px solid var(--bt-line-2);box-shadow:0 24px 80px rgba(0,0,0,.24);display:flex;flex-direction:column;overflow:hidden;color:var(--bt-ink);animation:bt-dialog-rise ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},bt-veil-in .2s ease-out} +-.bt-mem-head{position:relative;display:flex;align-items:center;gap:8px;height:60px;flex:none;padding:0 14px 0 24px;border-bottom:.5px solid var(--bt-line);box-sizing:border-box} +-.bt-mem-head .bt-icon-btn{width:32px;height:32px;flex:none} +-.bt-mem-head [aria-haspopup] svg{width:18px;height:18px;stroke-width:2.6} +-.bt-mem-head>.bt-icon-btn:first-child{margin-left:-10px} +-.bt-mem-head h2{margin:0;font-size:17px;line-height:24px;font-weight:600;white-space:nowrap} +-.bt-mem-status{font-size:13px;line-height:18px;color:var(--bt-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-variant-numeric:tabular-nums} +-.bt-mem-head-gap{flex:1} +-.bt-mem-menu{position:absolute;top:52px;right:50px;min-width:220px;--bt-origin:top right} +-.bt-mem-menu button:disabled{opacity:.4;cursor:default;background:none} +-.bt-mem-body{flex:1;overflow-y:auto;padding:22px 28px 24px;scrollbar-width:thin;display:flex;flex-direction:column;gap:12px} +-.bt-mem-summary{transition:opacity .3s ease} +-.bt-mem-summary[data-stale]{opacity:.55} +-.bt-mem-summary h3{margin:20px 0 6px;font-size:17px;line-height:26px;font-weight:600} +-.bt-mem-summary h3:first-child{margin-top:0} +-.bt-mem-summary p{margin:0;font-size:15px;line-height:26px} +-.bt-mem-summary>*{animation:bt-mem-line .45s cubic-bezier(.16,1,.3,1) both} +-.bt-mem-summary>:nth-child(2){animation-delay:.03s} +-.bt-mem-summary>:nth-child(3){animation-delay:.06s} +-.bt-mem-summary>:nth-child(4){animation-delay:.09s} +-.bt-mem-summary>:nth-child(5){animation-delay:.12s} +-.bt-mem-summary>:nth-child(6){animation-delay:.15s} +-.bt-mem-summary>:nth-child(n+7){animation-delay:.18s} +-@keyframes bt-mem-line{from{opacity:0;transform:translateY(4px)}} +-.bt-mem-skel{display:flex;flex-direction:column;gap:24px} +-.bt-mem-skel-block{display:flex;flex-direction:column;gap:10px} +-.bt-mem-skel-block span{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bt-hover) 25%,var(--bt-active) 50%,var(--bt-hover) 75%);background-size:200% 100%;animation:bt-mem-skel 1.4s ease-in-out infinite} +-.bt-mem-skel-block .bt-mem-skel-head{width:30%;height:16px;margin-bottom:2px} +-@keyframes bt-mem-skel{from{background-position:150% 0}to{background-position:-50% 0}} +-.bt-mem-skel-label{font-size:13px;line-height:18px;color:var(--bt-ink-3)} +-.bt-mem-empty{margin:auto;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:24px 0;animation:bt-mem-line .45s cubic-bezier(.16,1,.3,1) both} +-.bt-mem-empty-mark{width:48px;height:48px;border-radius:50%;background:var(--bt-hover);display:flex;align-items:center;justify-content:center;color:var(--bt-ink-2);margin-bottom:4px} +-.bt-mem-empty-mark svg{width:22px;height:22px} +-.bt-mem-empty-title{font-size:15px;line-height:22px;font-weight:600} +-.bt-mem-empty-text{font-size:13px;line-height:20px;color:var(--bt-ink-2)} +-.bt-mem-failed{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--bt-hover);font-size:13px;line-height:18px;color:var(--bt-ink-2)} +-.bt-mem-failed>span{flex:1;min-width:0;overflow-wrap:anywhere} +-.bt-mem-entries{display:flex;flex-direction:column;gap:28px;animation:bt-page-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},bt-veil-in .22s ease-out} +-.bt-mem-section-head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px} +-.bt-mem-section-head h3{margin:0;font-size:15px;line-height:22px;font-weight:600} +-.bt-mem-section-head span{font-size:12px;line-height:16px;color:var(--bt-ink-3)} +-.bt-mem-section-head .bt-mem-size{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap} +-.bt-mem-topic{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin:14px 0 2px 4px;font-weight:500} +-.bt-mem-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column} +-.bt-mem-entry{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:.5px solid var(--bt-line);transition:opacity .2s ease} +-.bt-mem-entry[data-busy]{opacity:.4} +-.bt-mem-entry-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px} +-.bt-mem-entry-text{font-size:14px;line-height:20px;overflow-wrap:anywhere} +-.bt-mem-entry-meta{font-size:12px;line-height:16px;color:var(--bt-ink-3);font-variant-numeric:tabular-nums} +-.bt-mem-remove{flex:none;height:28px;min-width:28px;border-radius:999px;border:0;background:none;color:var(--bt-ink-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0 6px;font:inherit;font-size:12px;opacity:0;transition:opacity .12s ease,background-color .12s ease,color .12s ease} +-.bt-mem-entry:hover .bt-mem-remove,.bt-mem-remove:focus-visible,.bt-mem-remove[data-confirm]{opacity:1} +-.bt-mem-remove:hover{background:var(--bt-hover);color:var(--bt-ink)} +-.bt-mem-remove[data-confirm]{background:rgba(224,33,53,.1);color:#e02135;padding:0 10px} +-@media (hover:none){.bt-mem-remove{opacity:1}} +-.bt-mem-none{font-size:13px;line-height:18px;color:var(--bt-ink-3);padding:8px 4px} +-.bt-mem-foot{flex:none;padding:8px 20px 20px;display:flex;flex-direction:column;gap:10px} +-.bt-mem-reply{border-radius:16px;background:var(--bt-hover);padding:8px 8px 12px 16px;display:flex;flex-direction:column;gap:6px;max-height:36vh;overflow-y:auto;scrollbar-width:thin;transform-origin:50% 100%;animation:bt-pop-lift ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},bt-veil-in .2s ease-out} +-.bt-mem-reply-head{display:flex;align-items:center;gap:8px;min-height:24px} +-.bt-mem-reply-asked{flex:1;min-width:0;font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap} +-.bt-mem-reply .bt-icon-btn{width:24px;height:24px;flex:none} +-.bt-mem-reply-text{font-size:14px;line-height:21px;padding-right:8px;overflow-wrap:anywhere} +-.bt-mem-changes{list-style:none;margin:2px 0 0;padding:0 8px 0 0;display:flex;flex-direction:column;gap:4px} +-.bt-mem-changes li{display:flex;align-items:flex-start;gap:6px;font-size:13px;line-height:18px;color:var(--bt-ink-2);overflow-wrap:anywhere} +-.bt-mem-changes li svg{flex:none;margin-top:1px;color:#e02135;animation:bt-check-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing} .12s backwards} +-.bt-mem-changes li[data-ok] svg{color:var(--bt-green)} +-.bt-mem-ask{display:flex;align-items:center;gap:8px;height:52px;padding:0 8px 0 22px;border-radius:999px;border:.5px solid var(--bt-line-2);background:var(--bt-card);box-shadow:0 4px 16px rgba(0,0,0,.06);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease} +-.bt-mem-ask:focus-within{border-color:var(--bt-ink-3);box-shadow:0 4px 20px rgba(0,0,0,.1)} +-.bt-mem-input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--bt-ink);font:inherit;font-size:15px;line-height:22px;padding:0} +-.bt-mem-input::placeholder{color:var(--bt-ink-3)} +-.bt-mem-send{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:var(--bt-ink);color:var(--bt-main);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:opacity .15s ease,${spring(SPRING_TAP, "scale")}} +-.bt-mem-send:disabled{opacity:.22;cursor:default} +-.bt-mem-send:not(:disabled):active{scale:.92} +-.bt-mem-send>*{animation:bt-check-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing}} +-.bt-mem-spin{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;box-sizing:border-box;animation:bt-mem-spin .7s linear infinite} +-@keyframes bt-mem-spin{to{transform:rotate(360deg)}} +-@media (max-width:640px){.bt-mem{width:100vw;height:100%;border-radius:0;border:0}.bt-mem-body{padding:18px 18px 20px}.bt-mem-foot{padding:8px 12px 12px}} +-@media (prefers-reduced-motion:reduce){.bt-mem,.bt-mem-scrim,.bt-mem-summary>*,.bt-mem-empty,.bt-mem-reply,.bt-mem-skel-block span,.bt-mem-entries,.bt-mem-send>*,.bt-mem-changes li svg{animation:none}} ++/* Memory dialog: a summary of every entry, the entries behind the menu, "Ask or update" below. */ ++.bt-mem-row{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 8px 0 10px;border:.5px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:13px;cursor:pointer;box-sizing:border-box;transition:background-color .12s ease} ++.bt-mem-row:hover{background:var(--bt-hover)} ++.bt-mem-row>svg{flex:none;color:var(--bt-ink-2)} ++.bt-mem-row-copy{flex:1;text-align:left} ++.bt-mem-row-go{display:inline-flex;align-items:center;gap:2px;color:var(--bt-ink-3);font-size:12px} ++.bt-mem-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:121;isolation:isolate;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif} ++.bt-mem-scrim{animation:bt-fade .2s ease-out} ++.bt-mem{position:relative;width:min(680px,calc(100vw - 48px));height:min(760px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))));background:var(--bt-main);border-radius:20px;border:.5px solid var(--bt-line-2);box-shadow:0 24px 80px rgba(0,0,0,.24);display:flex;flex-direction:column;overflow:hidden;color:var(--bt-ink);animation:bt-dialog-rise ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing},bt-veil-in .2s ease-out} ++.bt-mem-head{position:relative;display:flex;align-items:center;gap:8px;height:60px;flex:none;padding:0 14px 0 24px;border-bottom:.5px solid var(--bt-line);box-sizing:border-box} ++.bt-mem-head .bt-icon-btn{width:32px;height:32px;flex:none} ++.bt-mem-head [aria-haspopup] svg{width:18px;height:18px;stroke-width:2.6} ++.bt-mem-head>.bt-icon-btn:first-child{margin-left:-10px} ++.bt-mem-head h2{margin:0;font-size:17px;line-height:24px;font-weight:600;white-space:nowrap} ++.bt-mem-status{font-size:13px;line-height:18px;color:var(--bt-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-variant-numeric:tabular-nums} ++.bt-mem-head-gap{flex:1} ++.bt-mem-menu{position:absolute;top:52px;right:50px;min-width:220px;--bt-origin:top right} ++.bt-mem-menu button:disabled{opacity:.4;cursor:default;background:none} ++.bt-mem-body{flex:1;overflow-y:auto;padding:22px 28px 24px;scrollbar-width:thin;display:flex;flex-direction:column;gap:12px} ++.bt-mem-summary{transition:opacity .3s ease} ++.bt-mem-summary[data-stale]{opacity:.55} ++.bt-mem-summary h3{margin:20px 0 6px;font-size:17px;line-height:26px;font-weight:600} ++.bt-mem-summary h3:first-child{margin-top:0} ++.bt-mem-summary p{margin:0;font-size:15px;line-height:26px} ++.bt-mem-summary>*{animation:bt-mem-line .45s cubic-bezier(.16,1,.3,1) both} ++.bt-mem-summary>:nth-child(2){animation-delay:.03s} ++.bt-mem-summary>:nth-child(3){animation-delay:.06s} ++.bt-mem-summary>:nth-child(4){animation-delay:.09s} ++.bt-mem-summary>:nth-child(5){animation-delay:.12s} ++.bt-mem-summary>:nth-child(6){animation-delay:.15s} +.bt-mem-summary>:nth-child(n+7){animation-delay:.18s} +@keyframes bt-mem-line{from{opacity:0;transform:translateY(4px)}} +.bt-mem-skel{display:flex;flex-direction:column;gap:24px} @@ -5105,17 +5249,19 @@ diff --git a/client.js b/client.js +.bt-panel-view>[data-move=in]{animation:bt-page-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing} backwards,bt-veil-in .2s ease-out backwards} +.bt-panel-view>[data-move=out]{animation:bt-page-out ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing} backwards,bt-veil-in .2s ease-out backwards} +.bt-panel-view>:is([data-move=in],[data-move=out]):nth-child(2){animation-delay:25ms} - .bt-panel-view>:is([data-move=in],[data-move=out]):nth-child(n+3){animation-delay:50ms} - .bt-panel-view>.bt-drawer-body[data-move=tab]{animation:bt-veil-in .2s ease-out} - .bt-drawer-name-input{animation:bt-veil-in .16s ease-out} -@@ -2597,9 +2597,20 @@ body[data-ds-dark-theme] .bt-theme-chip i{background:var(--da)} - `; - var CONVERSATION_CSS = ` - .bt-think{font-size:13px;line-height:18px;color:var(--bt-ink-2);margin:2px 0 4px;max-width:min(560px,78%)} --.bt-think summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px} ++.bt-panel-view>:is([data-move=in],[data-move=out]):nth-child(n+3){animation-delay:50ms} ++.bt-panel-view>.bt-drawer-body[data-move=tab]{animation:bt-veil-in .2s ease-out} ++.bt-drawer-name-input{animation:bt-veil-in .16s ease-out} ++.bt-pop-in{display:inline-flex;animation:bt-check-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing}} ++:is(.bt-soft,.bt-send,.bt-icon-btn,.bt-settings-close,.bt-mini,.bt-tab,.bt-nc-send,.bt-avedit-tab,.bt-shape,.bt-pick,.bt-swatch,.bt-palette-clear){transition:background-color .12s ease,color .12s ease,border-color .12s ease,opacity .12s ease,${spring(SPRING_TAP, "scale")}} ++:is(.bt-icon-btn,.bt-settings-close,.bt-nc-send,.bt-shape,.bt-swatch,.bt-color,.bt-x,.bt-q-x,.bt-palette-clear):active:not(:disabled){scale:.9} ++:is(.bt-soft,.bt-send,.bt-mini,.bt-tab,.bt-avedit-tab,.bt-pick,.bt-q-submit,.bt-q-btn):active:not(:disabled){scale:.96} ++@media (prefers-reduced-motion:reduce){.bt-thumb{transition:none}.bt-panel-view>[data-move],.bt-drawer-name-input,.bt-veil,.bt-pop-in,.bt-token,.bt-drop,.bt-newchat,.bt-option-hint,.bt-connector-form,.bt-settings-head>*{animation:none}} ++`; ++var CONVERSATION_CSS = ` ++.bt-think{font-size:13px;line-height:18px;color:var(--bt-ink-2);margin:2px 0 4px;max-width:min(560px,78%)} +.bt-think summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;white-space:nowrap} - .bt-think summary::-webkit-details-marker{display:none} --.bt-think-text{white-space:pre-wrap;margin-top:6px;padding-left:10px;border-left:2px solid var(--bt-line-2)} ++.bt-think summary::-webkit-details-marker{display:none} +.bt-think-caret{display:inline-block;transition:transform .15s;font-size:14px;line-height:1} +.bt-think[open] .bt-think-caret{transform:rotate(90deg)} +.bt-think-peek{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bt-ink-3)} @@ -5128,27 +5274,27 @@ diff --git a/client.js b/client.js +.bt-person-msg .bt-bubble :is(p,li){white-space:pre-line} +.bt-remote-handle{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-weight:400;color:var(--bt-ink-3,rgba(20,20,20,.36))} +.bt-think-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px;padding-left:10px;border-left:2px solid var(--bt-line-2)} - .bt-event{display:flex;justify-content:center;align-items:center;gap:2px;min-height:24px;margin:2px 0;font-size:12px;line-height:16px;color:var(--bt-ink-2);flex-wrap:wrap} - .bt-event>span{padding:0 2px} - .bt-event button{border:0;background:none;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:4px;cursor:pointer;height:24px;padding:4px 6px 4px 4px;border-radius:999px;box-sizing:border-box;transition:background-color .12s ease} -@@ -2612,7 +2612,6 @@ var CONVERSATION_CSS = ` - .bt-event-whole>.bt-event-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} - .bt-time-sep{display:flex;justify-content:center;align-items:center;height:28px;margin:14px 0 8px;font-size:12px;line-height:16px;color:var(--bt-ink-2);white-space:nowrap} - [class*="_scroll"]>[class*="_column"]::before{content:var(--bt-first-sep,none);display:block;flex:none;height:28px;margin:17px 0 12px;font-size:12px;line-height:28px;text-align:center;color:var(--bt-ink-2);white-space:nowrap} --.bt-activity{display:flex;align-items:center;gap:10px;margin:8px 0 4px 2px;font-size:14px;color:var(--bt-ink-2)} - .bt-group-replies{display:contents} - /* A Bot chat is flat in every work-details mode, without changing the user's mode - (it is a DSH-wide setting): step groups lose their header and stay open, and what a -@@ -2622,21 +2622,48 @@ var CONVERSATION_CSS = ` - [data-step-process]>[data-step-process-body]{display:block!important;content-visibility:visible!important;max-height:none!important;overflow:visible!important;mask-image:none!important;scrollbar-gutter:auto!important} - :is([data-step-process],[data-turn-process-hidden])[hidden]{content-visibility:visible!important} - [class*="_flowItem"]:has(> [data-slot="conversation.chat.node"]:empty){display:none!important} --[class*="_header"]:has(.bt-head){border-bottom-color:transparent!important;box-shadow:none!important} --/* The transcript runs under a floating header pill. */ --header[class*="_header"]:has(.bt-head){position:absolute!important;top:0;left:0;right:0;z-index:8;display:flex!important;padding:10px 0 0!important;background:transparent!important;pointer-events:none;justify-content:center} --header[class*="_header"]:has(.bt-head)::before{content:"";position:absolute;inset:0 0 auto;height:60px;background:linear-gradient(to bottom,var(--bt-main),color-mix(in srgb,var(--bt-main) 0%,transparent));pointer-events:none;z-index:-1} --header[class*="_header"]:has(.bt-head)>[class*="_headerLeading"]{position:absolute;left:12px;top:10px;pointer-events:auto} --header[class*="_header"] .bt-head{flex:1 1 auto;width:100%} ++.bt-event{display:flex;justify-content:center;align-items:center;gap:2px;min-height:24px;margin:2px 0;font-size:12px;line-height:16px;color:var(--bt-ink-2);flex-wrap:wrap} ++.bt-event>span{padding:0 2px} ++.bt-event button{border:0;background:none;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:4px;cursor:pointer;height:24px;padding:4px 6px 4px 4px;border-radius:999px;box-sizing:border-box;transition:background-color .12s ease} ++.bt-event button:hover{background:var(--bt-hover)} ++.bt-event button:active{background:var(--bt-active)} ++.bt-event button.bt-event-whole{min-width:0;max-width:100%;padding:4px 6px 4px 8px} ++.bt-event-whole>*{flex:none} ++.bt-event-whole>span:first-child{margin-right:2px} ++/* One button cannot wrap like separate parts, so a long name is cut to fit the chat. */ ++.bt-event-whole>.bt-event-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} ++.bt-time-sep{display:flex;justify-content:center;align-items:center;height:28px;margin:14px 0 8px;font-size:12px;line-height:16px;color:var(--bt-ink-2);white-space:nowrap} ++[class*="_scroll"]>[class*="_column"]::before{content:var(--bt-first-sep,none);display:block;flex:none;height:28px;margin:17px 0 12px;font-size:12px;line-height:28px;text-align:center;color:var(--bt-ink-2);white-space:nowrap} ++.bt-group-replies{display:contents} ++/* A Bot chat is flat in every work-details mode, without changing the user's mode ++ (it is a DSH-wide setting): step groups lose their header and stay open, and what a ++ mode folds away in a finished turn stays shown. TurnProcessCell also opens that ++ fold; these rules cover the first frame before it does. */ ++[data-step-process]>div:first-child{display:none!important} ++[data-step-process]>[data-step-process-body]{display:block!important;content-visibility:visible!important;max-height:none!important;overflow:visible!important;mask-image:none!important;scrollbar-gutter:auto!important} ++:is([data-step-process],[data-turn-process-hidden])[hidden]{content-visibility:visible!important} ++[class*="_flowItem"]:has(> [data-slot="conversation.chat.node"]:empty){display:none!important} +/* FlyBot's pill rides the shell's own Session header utilities, beside the seats + the native header renders (actions: the subagent catalog; lineage; corner). + It is a compact control in that row now, not a floating replacement for the @@ -5168,11 +5314,9 @@ diff --git a/client.js b/client.js + line. No fill, no radius, muted ink, and the description stays on hover. */ +[data-slot="conversation.session.header.actions"] [class*="_label"]{background:none;border-radius:0;color:var(--bt-ink-3);cursor:help;pointer-events:auto} +[data-slot="conversation.session.header.actions"] [class*="_label"] svg{opacity:.7} - [class*="_body"]:has(> [class*="_scrollBody"]){--dsh-chat-content-width:min(960px,100%)} - /* DSH's turn tail keeps what plugins put in it (delivered files, the Bot's separators), - without its copy and branch row; a tail with nothing in it takes no room. */ --[data-turn-tail]>:not([data-slot="conversation.chat.turnTail"]){display:none!important} --[class*="_flowItem"][data-chat-flow-kind="turn-tail"]:not(:has([data-slot="conversation.chat.turnTail"]:not(:empty))){display:none!important} ++[class*="_body"]:has(> [class*="_scrollBody"]){--dsh-chat-content-width:min(960px,100%)} ++/* DSH's turn tail keeps what plugins put in it (delivered files, the Bot's separators), ++ without its copy and branch row; a tail with nothing in it takes no room. */ +[data-turn-tail]>:not([data-slot="conversation.chat.turnTail"]):not(.bt-typing){display:none!important} +[class*="_flowItem"][data-chat-flow-kind="turn-tail"]:not(:has([data-slot="conversation.chat.turnTail"]:not(:empty))):not(:has([data-turn-tail]>.bt-typing)){display:none!important} +/* #1347: the thread must never paint above a dialog, a sheet or a scrim. @@ -5188,18 +5332,20 @@ diff --git a/client.js b/client.js + whatever any single bubble does. contain:paint is deliberately NOT used: it would clip the + popovers the thread legitimately renders (reaction strip, message menu), which portal to body + for exactly that reason. */ - /* Every team Session belongs to a Bot or a group, so a blank one is an empty chat, not - the shell's new-session hero: no headline, no workspace or mode picker, and the - composer stays docked at the bottom. */ - [data-content-phase=hero] [class*="_scrollBody"]{justify-content:flex-end!important} ++/* Every team Session belongs to a Bot or a group, so a blank one is an empty chat, not ++ the shell's new-session hero: no headline, no workspace or mode picker, and the ++ composer stays docked at the bottom. */ ++[data-content-phase=hero] [class*="_scrollBody"]{justify-content:flex-end!important} +body[data-bt-remote-chat=empty][data-content-phase=hero] [class*="_scrollBody"]::before{content:var(--bt-remote-empty);display:block;text-align:center;color:var(--bt-ink-3);font-size:13px;line-height:18px;padding:16px 12px 8px;max-width:var(--dsh-chat-content-width,min(960px,100%));margin:0 auto;white-space:pre-wrap} - [data-content-phase=hero] [class*="_composerHero"]{align-self:stretch!important;width:auto!important;padding-bottom:0!important} - [data-content-phase=hero] [class*="_composerHero"]>[class$="_root"],[data-content-phase=hero] [class*="_heroWorkspaceRow"]{display:none!important} - [data-content-phase=hero] [class*="_composerHero"] [class*="_input"]{min-height:0!important} -@@ -2646,8 +2646,19 @@ header[class*="_header"] .bt-head{flex:1 1 auto;width:100%} - [data-chat-running]{display:block!important;width:100%;min-height:0!important;margin:0!important;padding:0!important} - [data-chat-running]>span:not([role=status]){display:none!important} - [data-chat-running]:has(> .bt-typing){margin-top:var(--dsh-chat-flow-gap,12px)!important} ++[data-content-phase=hero] [class*="_composerHero"]{align-self:stretch!important;width:auto!important;padding-bottom:0!important} ++[data-content-phase=hero] [class*="_composerHero"]>[class$="_root"],[data-content-phase=hero] [class*="_heroWorkspaceRow"]{display:none!important} ++[data-content-phase=hero] [class*="_composerHero"] [class*="_input"]{min-height:0!important} ++/* The right sides give back the scrollbar gutter so both edges sit 16px from the column. */ ++[class*="_scroll"]:has(> [class*="_column"]){padding:60px 11px 16px 16px!important} ++/* The shell's running status only hosts the activity row (.bt-typing). */ ++[data-chat-running]{display:block!important;width:100%;min-height:0!important;margin:0!important;padding:0!important} ++[data-chat-running]>span:not([role=status]){display:none!important} ++[data-chat-running]:has(> .bt-typing){margin-top:var(--dsh-chat-flow-gap,12px)!important} +.bt-busy-ack{display:flex;align-items:flex-end;gap:8px;width:100%;margin-top:var(--dsh-chat-flow-gap,12px);margin-bottom:4px} +.bt-busy-ack .bt-astack{align-items:flex-start} +.bt-busy-ack .bt-bubble{opacity:.92} @@ -5208,132 +5354,39 @@ diff --git a/client.js b/client.js +.bt-busy-dots>span:nth-child(2){animation-delay:.2s}.bt-busy-dots>span:nth-child(3){animation-delay:.4s} +@keyframes bt-busy-blink{0%,80%,100%{opacity:.25}40%{opacity:1}} +@media (prefers-reduced-motion:reduce){.bt-busy-dots>span{animation:none;opacity:.6}} - .bt-typing{display:flex;align-items:center;gap:12px;height:36px;min-width:0;padding-inline-start:8px;transform-origin:0 50%;animation:bt-typing-in ${SPRING_TAP.duration}ms ${SPRING_TAP.easing} backwards} - .bt-typing[data-exiting]{animation:bt-typing-out .14s cubic-bezier(.22,1,.36,1) forwards} ++.bt-typing{display:flex;align-items:center;gap:12px;height:36px;min-width:0;padding-inline-start:8px;transform-origin:0 50%;animation:bt-typing-in ${SPRING_TAP.duration}ms ${SPRING_TAP.easing} backwards} ++.bt-typing[data-exiting]{animation:bt-typing-out .14s cubic-bezier(.22,1,.36,1) forwards} +.bt-typing[data-carry],.bt-typing[data-carry]>.bt-typing-text{animation:none} +/* Between a friend's chat turns the row sits in the last turn's tail (#443), at the transcript's foot. */ +[data-turn-tail]>.bt-typing{margin-top:var(--dsh-chat-flow-gap,12px)} - .bt-typing>.bt-mark,.bt-typing>.bt-cluster{flex-shrink:0} - .bt-typing>.bt-mark{cursor:pointer;transition:filter .16s ease-out} - .bt-typing>.bt-mark:hover{filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))} -@@ -2676,2104 +2676,4603 @@ header[class*="_header"] .bt-head{flex:1 1 auto;width:100%} - [data-bt-enter="new"]{animation:none} - [data-bt-enter="after-collapse"]{animation:bt-fade-in .12s ease-out} - } --@keyframes bt-fade-in{from{opacity:0}to{opacity:1}} --@keyframes bt-fade-out{from{opacity:1}to{opacity:0}} --[data-composer-card]{display:flex!important;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0!important;min-height:44px;border-radius:22px!important;padding:7.5px!important;box-sizing:border-box;background:var(--bt-main)!important;border:.5px solid var(--bt-line-2)!important;box-shadow:0 2px 8px -1px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.03),0 0 0 1px rgba(228,228,228,.04)!important;transition:border-color .15s ease,background-color .15s ease,${spring(SPRING_SHAPE, "border-radius")}!important} --[data-composer-card]:hover,[data-composer-card]:focus-within{border-color:color-mix(in srgb,var(--bt-ink) 30%,transparent)!important} --[data-composer-card]:has(> [data-slot="conversation.input.attachments"] *),[data-composer-card]:has([data-composer-input] br + *),[data-composer-card]:has([data-composer-input] > :nth-child(2)){border-radius:18px!important} --[class*="_root"]:has(> [data-composer-card]){padding:0 11px 13px 16px!important} --[class*="_root"]:has(> [data-composer-card])>[data-composer-card]{max-width:min(992px,100%)!important} --[data-composer-card]>[class*="_row"]{display:contents!important} --[data-composer-card] [class*="_tools"]{order:1;flex:none;align-self:flex-end;margin:0} --[data-composer-card]>[data-input-scroll]{order:2;flex:1 1 0;min-width:0;padding:0 8px!important;margin:0!important} --[data-composer-card] [class*="_trailing"]{order:3;flex:none;align-self:flex-end;margin:0} --[data-composer-card]>[data-slot="conversation.input.attachments"]{order:0;flex-basis:100%} --[data-composer-card] [data-composer-input]{min-height:24px;padding:2px 0!important} --[data-composer-card] [data-composer-placeholder]{left:0!important;top:2px!important} --[data-composer-placeholder]{font-size:0!important;line-height:0!important} --[data-composer-placeholder]::after{content:var(--bt-placeholder,"Message");display:block;font-size:14px;line-height:24px;color:color-mix(in srgb,var(--bt-ink) 36%,transparent)} --/* The team's "+" (ComposerPlus) takes the seat of the shell's command-menu button. */ --[data-composer-card] button[class*="_add"]{display:none!important} --.bt-plus{flex:none;width:28px;height:28px;padding:0;border:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bt-ink) 5%,transparent);box-shadow:inset 0 0 0 .5px var(--bt-line);color:var(--bt-ink-2);cursor:pointer;transition:background-color .15s ease,color .15s ease,${spring(SPRING_TAP, "scale")}} --.bt-plus:hover,.bt-plus[aria-expanded=true]{background:color-mix(in srgb,var(--bt-ink) 10%,transparent);color:var(--bt-ink)} --.bt-plus:active{scale:.9} --.bt-plus svg{width:14px;height:14px;transition:${spring(SPRING_POP, "rotate")}} --.bt-plus[aria-expanded=true] svg{rotate:45deg} --.bt-plus-menu{min-width:180px} --[data-composer-card] [class*="_tools"]{gap:0!important} --[data-composer-card] [class*="_modes"]:empty{display:none!important} --[data-composer-card] [class*="_activity"]:not(:has([data-slot] > *)){display:none!important} --[data-composer-card] [class*="_trailing"]{gap:8px} --[data-composer-card] [class*="_standardControls"]{display:flex;align-items:center;gap:8px} --[data-composer-card] button[class*="_primary"]{width:28px!important;height:28px!important;background:var(--bt-accent)!important;color:var(--bt-accent-ink,#fff)!important;border-radius:50%!important;transition:opacity .15s ease,${spring(SPRING_TAP, "scale")};animation:bt-icon-swap ${SPRING_POP.duration}ms ${SPRING_POP.easing}} --[data-composer-card] button[class*="_primary"]:hover:not(:disabled){opacity:.9} --[data-composer-card] button[class*="_primary"]:active:not(:disabled){scale:.9} --@keyframes bt-icon-swap{from{opacity:0;transform:scale(.5) rotate(-30deg)}} --[data-composer-card] button[class*="_primary"] svg{width:14px;height:14px} --[data-composer-card] button[class*="_primary"]:disabled{display:none!important} --[data-composer-dock]{display:none!important} --.bt-mic,.bt-voice{flex:none;width:28px;height:28px;border-radius:50%;border:0;padding:0;display:inline-grid;place-items:center;cursor:pointer;transition:background-color .15s ease,color .15s ease,${spring(SPRING_TAP, "scale")}} --.bt-mic{background:color-mix(in srgb,var(--bt-ink) 5%,transparent);box-shadow:inset 0 0 0 .5px var(--bt-line);color:var(--bt-ink-2)} --.bt-mic:hover{background:color-mix(in srgb,var(--bt-ink) 10%,transparent);color:var(--bt-ink)} --.bt-mic[aria-pressed=true]{background:#ff3e51;color:#fff;animation:bt-mic-pulse 1.4s ease-in-out infinite} --@keyframes bt-mic-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,62,81,.35)}50%{box-shadow:0 0 0 5px rgba(255,62,81,0)}} --.bt-voice{display:none;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);animation:bt-icon-swap ${SPRING_POP.duration}ms ${SPRING_POP.easing}} --.bt-voice:hover{opacity:.9} --.bt-mic:active,.bt-voice:active{scale:.9} --[data-composer-card]:has(button[class*="_primary"]:disabled) .bt-voice{display:inline-grid} --body[data-bt-room] .bt-voice{display:none!important} --body[data-bt-room] [data-composer-card]:has(button[class*="_primary"]:disabled) .bt-mic:not([aria-pressed=true]){background:var(--bt-accent);color:var(--bt-accent-ink,#fff)} --.bt-mic-note{position:absolute;right:12px;bottom:calc(100% + 8px);padding:5px 10px;border-radius:8px;background:var(--bt-user);color:var(--bt-user-ink);font-size:12px;line-height:16px;white-space:nowrap;pointer-events:none;animation:bt-rise .16s ease-out} --[data-chain-overlay-fallback="conversation.composer"]:has(~ .bt-q){display:block!important;order:2} --.bt-q{order:1} --div:has(> nav [class*="_marks"]){display:none!important} --/* Every user-side bubble (sent, steering mid-turn, not yet admitted, question replies) -- takes its surface and its text from the one --bt-user pair: a skin that repaints -- the host's bubble surface alone would otherwise leave the text unreadable. */ --[class*="_userRow"] [class*="_bubble"],[data-chat-flow-kind=question-reply] [class*="_bubble"],[data-chat-flow-kind=command-input] [class*="_bubble"]{background:var(--bt-user)!important;color:var(--bt-user-ink)!important;border-radius:18px!important;padding:7px 12px!important;font-size:var(--dsh-content-font-size,14px)!important;line-height:calc(var(--dsh-content-font-size,14px) + 8px)!important} --[class*="_userRow"] [class*="_bubble"] [class*="_markdown"],[class*="_userRow"] [class*="_bubble"] a{color:inherit} --/* Sent messages get the hover toolbar below; steering and unsent bubbles keep none. */ --[class*="_userRow"] [class*="_actions"]{display:none!important} --[data-chat-flow-kind=user] [class*="_userRow"]{flex-direction:row-reverse;align-items:center;justify-content:flex-start} --[data-chat-flow-kind=user] [class*="_actions"]{display:flex!important;height:24px!important;gap:2px!important;opacity:0!important;visibility:hidden;transition:opacity .12s ease,visibility .12s!important;flex:none} --[data-chat-flow-kind=user] [class*="_userRow"]:hover [class*="_actions"],[data-chat-flow-kind=user] [class*="_userRow"]:focus-within [class*="_actions"]{opacity:1!important;visibility:visible} --[data-chat-flow-kind=user] [class*="_actions"] [class*="_timeStart"]{display:none} --[data-chat-flow-kind=user] [class*="_actions"] button{width:24px;height:24px;border-radius:6px;color:var(--bt-ink-2)} --[data-chat-flow-kind=user] [class*="_actions"] button:hover{background:var(--bt-hover);color:var(--bt-ink)} --[data-chat-flow-kind=user] [class*="_actions"] svg{width:15px;height:15px} --.bt-q-inline{display:flex;margin:4px 0 6px} --[data-chat-flow-kind=assistant-step]+[data-step-process]:has(.bt-q-inline){margin-top:0!important} --[data-chat-flow-kind=question-reply]:has(.bt-q-inline),[data-chat-group-key]:has([data-chat-flow-kind=question-reply] .bt-q-inline),[data-chat-group-key]:has(.bt-q-gone){margin-top:0!important} --.bt-q-inline .bt-q{margin:0;max-width:min(550px,86%);order:0} --.bt-q-dock{width:100%;display:flex;justify-content:center} --.bt-q-dock .bt-q{margin:0 auto 8px} --[class*="_toBottomSlot"]{justify-content:center!important;padding-right:0!important} --[data-conversation-scroll] [class*="_toBottomSlot"]{bottom:calc(var(--dsh-composer-height,152px) + 8px)!important} --[class*="_toBottomSlot"]>button{width:36px!important;height:36px!important;margin-top:-36px!important;background:var(--bt-main)!important;color:var(--bt-ink)!important;box-shadow:0 0 0 .5px var(--bt-line-2),0 2px 8px -2px rgba(0,0,0,.12)!important;animation:bt-tobottom-in ${SPRING_TAP.duration}ms ${SPRING_TAP.easing},bt-veil-in .16s ease-out;transition:background-color .12s ease,${spring(SPRING_TAP, "scale")}} --[class*="_toBottomSlot"]>button:active{scale:.9} --[class*="_toBottomSlot"]>button:hover{background:color-mix(in srgb,var(--bt-ink) 4%,var(--bt-main))!important} --[class*="_toBottomSlot"]>button svg{display:none} --[class*="_toBottomSlot"]>button::before{content:"";width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4v12M5 11l5 5 5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4v12M5 11l5 5 5-5'/%3E%3C/svg%3E") center/contain no-repeat} --@keyframes bt-tobottom-in{from{translate:0 8px;scale:.8}} --[data-bt-news] [class*="_toBottomSlot"]>button{visibility:hidden!important;pointer-events:none!important} --.bt-news{position:fixed;z-index:30;transform:translateX(-50%);display:inline-flex;align-items:center;overflow:hidden;border-radius:999px;background:#0c64c1;color:#fcfcfc;box-shadow:inset 0 0 0 1px rgba(20,20,20,.05),0 1px 3px 0 rgba(0,0,0,.12);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;animation:bt-news-in ${SPRING_TAP.duration}ms ${SPRING_TAP.easing},bt-veil-in .16s ease-out} --@keyframes bt-news-in{from{translate:0 8px;scale:.9}} --.bt-news[data-direction=up]{animation-name:bt-news-in-up,bt-veil-in} --@keyframes bt-news-in-up{from{translate:0 -8px;scale:.9}} --.bt-news-jump{display:inline-flex;align-items:center;gap:2px;margin:0;padding:4px 26px 4px 4px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-size:13px;line-height:18px;white-space:nowrap;cursor:pointer;outline:none} --.bt-news-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px} --.bt-news-ico svg{width:16px;height:16px} --.bt-news-x{position:absolute;right:4px;top:50%;z-index:1;transform:translateY(-50%);width:20px;height:20px;padding:0;border:0;border-radius:999px;background:transparent;color:inherit;opacity:.75;display:inline-flex;align-items:center;justify-content:center;cursor:pointer} --.bt-news-x svg{width:12px;height:12px} --.bt-news-x:hover{opacity:1;background:rgba(20,20,20,.5)} --@media (prefers-reduced-motion:reduce){.bt-news,[class*="_toBottomSlot"]>button{animation:none}} --.bt-new-sep{display:flex;align-items:center;gap:8px;margin:14px 0 8px;padding:2px 0;font-size:11px;line-height:14px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:#0c64c1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif} --.bt-new-sep::before,.bt-new-sep::after{content:"";flex:1;height:1px;background:color-mix(in srgb,#0c64c1 20%,transparent)} --.bt-open-new{display:flex;flex-direction:column} --.bt-open-new .bt-new-sep{margin:18px 0 0} --.bt-open-new .bt-time-sep{height:16px;margin:32px 0 2px} --.bt-earlier{display:flex;flex-direction:column;gap:6px} --.bt-earlier-top{display:flex;justify-content:center;align-items:center;height:34px;flex:none} --.bt-earlier-top .bt-soft{height:28px;font-size:12px;padding:0 12px} --.bt-urow{display:flex;justify-content:flex-end} --.bt-ububble{max-width:min(560px,78%);background:var(--bt-user);color:var(--bt-user-ink);border-radius:18px;padding:7px 12px;font-size:14px;line-height:20px;box-sizing:border-box;overflow-wrap:anywhere} --.bt-ububble [class*="_markdown"],.bt-ububble a{color:inherit!important} --.bt-ububble p{margin:0;line-height:22px} --.bt-uimages{display:block;font-size:12px;opacity:.7} --.bt-earlier .bt-event{margin:4px 0} --.bt-part-line{display:flex;align-items:center;gap:10px;margin:10px 0 6px;font-size:11px;line-height:14px;color:var(--bt-ink-3)} --.bt-part-line::before,.bt-part-line::after{content:"";flex:1;height:1px;background:var(--bt-line)} --`; --function installStyles(text, tag) { -- const style = document.createElement("style"); -- style.dataset.dshBot = tag; -- style.textContent = text; -- document.head.appendChild(style); -- return style; ++.bt-typing>.bt-mark,.bt-typing>.bt-cluster{flex-shrink:0} ++.bt-typing>.bt-mark{cursor:pointer;transition:filter .16s ease-out} ++.bt-typing>.bt-mark:hover{filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))} ++.bt-typing>.bt-mark .bt-eyes{transition:scale .28s cubic-bezier(.4,.06,.18,1)} ++.bt-typing>.bt-mark:hover .bt-eyes{scale:1.18} ++.bt-typing-text{display:flex;align-items:center;flex:1 1 auto;min-width:0;animation:bt-typing-label .22s ease-out .2s backwards} ++.bt-typing-label{display:inline-flex;align-items:center;gap:6px;min-width:0;animation:bt-typing-label .22s ease-out backwards} ++.bt-typing-label>.bt-shimmer{font-size:14px;line-height:22px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} ++.bt-typing-time{flex-shrink:0;font-size:12px;line-height:22px;color:var(--bt-ink-3);white-space:nowrap} ++@keyframes bt-typing-in{from{opacity:0;transform:scale(.9)}} ++@keyframes bt-typing-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92);filter:blur(3px)}} ++@keyframes bt-typing-label{from{opacity:0;filter:blur(5px);transform:translateY(3px)}} ++/* Shimmer: a stepped sweep clipped to the text. */ ++.bt-shimmer{color:transparent;background:linear-gradient(90deg,var(--bt-shimmer-base) 0%,var(--bt-shimmer-base) 25%,var(--bt-ink) 60%,var(--bt-shimmer-base) 75%,var(--bt-shimmer-base) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:bt-shimmer 2.2s steps(60) infinite;--bt-shimmer-base:color-mix(in srgb,var(--bt-ink) 40%,transparent)} ++@keyframes bt-shimmer{from{background-position:200% 0}to{background-position:-200% 0}} ++/* New rows slide up; a reply that replaces the activity row grows out of its corner. */ ++[data-bt-enter="new"]{animation:bt-row-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing}} ++[data-bt-enter="after-collapse"]{transform-origin:0 100%;animation:bt-row-after .24s cubic-bezier(.23,1,.32,1) .38s backwards} ++@keyframes bt-row-in{from{transform:translateY(12px)}to{transform:none}} ++@keyframes bt-row-after{0%{opacity:0;transform:translateY(12px) scale(.94)}55%{opacity:1}100%{opacity:1;transform:none}} ++@media (prefers-reduced-motion:reduce){ ++.bt-typing,.bt-typing[data-exiting]{animation-name:bt-fade-in;animation-duration:.12s;transform:none} ++.bt-typing[data-exiting]{animation-name:bt-fade-out} ++.bt-typing-text,.bt-typing-label{animation-name:bt-fade-in;animation-delay:0s} ++.bt-shimmer{animation:none;background:none;color:var(--bt-ink-2)} ++[data-bt-enter="new"]{animation:none} ++[data-bt-enter="after-collapse"]{animation:bt-fade-in .12s ease-out} ++} +@keyframes bt-fade-in{from{opacity:0}to{opacity:1}} +@keyframes bt-fade-out{from{opacity:1}to{opacity:0}} +[data-composer-card]{display:flex!important;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0!important;min-height:44px;border-radius:22px!important;padding:7.5px!important;box-sizing:border-box;background:var(--bt-main)!important;border:.5px solid var(--bt-line-2)!important;box-shadow:0 2px 8px -1px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.03),0 0 0 1px rgba(228,228,228,.04)!important;transition:border-color .15s ease,background-color .15s ease,${spring(SPRING_SHAPE, "border-radius")}!important} @@ -5655,17 +5708,118 @@ diff --git a/client.js b/client.js + link.remove(); + }; +} -+ -+// src/client/icons.js -+var import_react5 = require("react"); -+function PlusIcon() { -+ return (0, import_react5.createElement)("svg", { width: 18, height: 18, viewBox: "0 0 20 20", "aria-hidden": true }, (0, import_react5.createElement)("path", { d: "M10 3.5v13M3.5 10h13", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round" })); -+} -+function SearchIcon() { -+ return (0, import_react5.createElement)("svg", { width: 16, height: 16, viewBox: "0 0 20 20", "aria-hidden": true }, (0, import_react5.createElement)("circle", { cx: 8.5, cy: 8.5, r: 5.5, stroke: "currentColor", strokeWidth: 1.6, fill: "none" }), (0, import_react5.createElement)("path", { d: "M13 13l4 4", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round" })); -+} -+function PeopleIcon() { -+ return (0, import_react5.createElement)( + +-.bt-thumb{position:absolute;left:0;top:0;z-index:0;pointer-events:none;transition:opacity .14s ease} +-.bt-thumb[data-hidden]{opacity:0} +-[data-morph]{overflow:hidden!important} +-.bt-veil{animation:bt-veil-in .22s ease-out} +-.bt-with-icon{display:inline-flex;align-items:center;gap:4px} +-.bt-with-icon svg{width:14px;height:14px} +-.bt-tag-admin{display:inline-flex;align-items:center;gap:4px} +-.bt-create-inline{padding:18px 16px;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card)} +-.bt-create-inline .bt-create-card{max-width:none} +-.bt-panel-view>[data-move=in]{animation:bt-page-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing} backwards,bt-veil-in .2s ease-out backwards} +-.bt-panel-view>[data-move=out]{animation:bt-page-out ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing} backwards,bt-veil-in .2s ease-out backwards} +-.bt-panel-view>:is([data-move=in],[data-move=out]):nth-child(2){animation-delay:25ms} +-.bt-panel-view>:is([data-move=in],[data-move=out]):nth-child(n+3){animation-delay:50ms} +-.bt-panel-view>.bt-drawer-body[data-move=tab]{animation:bt-veil-in .2s ease-out} +-.bt-drawer-name-input{animation:bt-veil-in .16s ease-out} +-.bt-pop-in{display:inline-flex;animation:bt-check-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing}} +-:is(.bt-soft,.bt-send,.bt-icon-btn,.bt-settings-close,.bt-mini,.bt-tab,.bt-nc-send,.bt-avedit-tab,.bt-shape,.bt-pick,.bt-swatch,.bt-palette-clear){transition:background-color .12s ease,color .12s ease,border-color .12s ease,opacity .12s ease,${spring(SPRING_TAP, "scale")}} +-:is(.bt-icon-btn,.bt-settings-close,.bt-nc-send,.bt-shape,.bt-swatch,.bt-color,.bt-x,.bt-q-x,.bt-palette-clear):active:not(:disabled){scale:.9} +-:is(.bt-soft,.bt-send,.bt-mini,.bt-tab,.bt-avedit-tab,.bt-pick,.bt-q-submit,.bt-q-btn):active:not(:disabled){scale:.96} +-@media (prefers-reduced-motion:reduce){.bt-thumb{transition:none}.bt-panel-view>[data-move],.bt-drawer-name-input,.bt-veil,.bt-pop-in,.bt-token,.bt-drop,.bt-newchat,.bt-option-hint,.bt-connector-form,.bt-settings-head>*{animation:none}} +-`; +-var CONVERSATION_CSS = ` +-.bt-think{font-size:13px;line-height:18px;color:var(--bt-ink-2);margin:2px 0 4px;max-width:min(560px,78%)} +-.bt-think summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px} +-.bt-think summary::-webkit-details-marker{display:none} +-.bt-think-text{white-space:pre-wrap;margin-top:6px;padding-left:10px;border-left:2px solid var(--bt-line-2)} +-.bt-event{display:flex;justify-content:center;align-items:center;gap:2px;min-height:24px;margin:2px 0;font-size:12px;line-height:16px;color:var(--bt-ink-2);flex-wrap:wrap} +-.bt-event>span{padding:0 2px} +-.bt-event button{border:0;background:none;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:4px;cursor:pointer;height:24px;padding:4px 6px 4px 4px;border-radius:999px;box-sizing:border-box;transition:background-color .12s ease} +-.bt-event button:hover{background:var(--bt-hover)} +-.bt-event button:active{background:var(--bt-active)} +-.bt-event button.bt-event-whole{min-width:0;max-width:100%;padding:4px 6px 4px 8px} +-.bt-event-whole>*{flex:none} +-.bt-event-whole>span:first-child{margin-right:2px} +-/* One button cannot wrap like separate parts, so a long name is cut to fit the chat. */ +-.bt-event-whole>.bt-event-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} +-.bt-time-sep{display:flex;justify-content:center;align-items:center;height:28px;margin:14px 0 8px;font-size:12px;line-height:16px;color:var(--bt-ink-2);white-space:nowrap} +-[class*="_scroll"]>[class*="_column"]::before{content:var(--bt-first-sep,none);display:block;flex:none;height:28px;margin:17px 0 12px;font-size:12px;line-height:28px;text-align:center;color:var(--bt-ink-2);white-space:nowrap} +-.bt-activity{display:flex;align-items:center;gap:10px;margin:8px 0 4px 2px;font-size:14px;color:var(--bt-ink-2)} +-.bt-group-replies{display:contents} +-/* A Bot chat is flat in every work-details mode, without changing the user's mode +- (it is a DSH-wide setting): step groups lose their header and stay open, and what a +- mode folds away in a finished turn stays shown. TurnProcessCell also opens that +- fold; these rules cover the first frame before it does. */ +-[data-step-process]>div:first-child{display:none!important} +-[data-step-process]>[data-step-process-body]{display:block!important;content-visibility:visible!important;max-height:none!important;overflow:visible!important;mask-image:none!important;scrollbar-gutter:auto!important} +-:is([data-step-process],[data-turn-process-hidden])[hidden]{content-visibility:visible!important} +-[class*="_flowItem"]:has(> [data-slot="conversation.chat.node"]:empty){display:none!important} +-[class*="_header"]:has(.bt-head){border-bottom-color:transparent!important;box-shadow:none!important} +-/* The transcript runs under a floating header pill. */ +-header[class*="_header"]:has(.bt-head){position:absolute!important;top:0;left:0;right:0;z-index:8;display:flex!important;padding:10px 0 0!important;background:transparent!important;pointer-events:none;justify-content:center} +-header[class*="_header"]:has(.bt-head)::before{content:"";position:absolute;inset:0 0 auto;height:60px;background:linear-gradient(to bottom,var(--bt-main),color-mix(in srgb,var(--bt-main) 0%,transparent));pointer-events:none;z-index:-1} +-header[class*="_header"]:has(.bt-head)>[class*="_headerLeading"]{position:absolute;left:12px;top:10px;pointer-events:auto} +-header[class*="_header"] .bt-head{flex:1 1 auto;width:100%} +-[class*="_body"]:has(> [class*="_scrollBody"]){--dsh-chat-content-width:min(960px,100%)} +-/* DSH's turn tail keeps what plugins put in it (delivered files, the Bot's separators), +- without its copy and branch row; a tail with nothing in it takes no room. */ +-[data-turn-tail]>:not([data-slot="conversation.chat.turnTail"]){display:none!important} +-[class*="_flowItem"][data-chat-flow-kind="turn-tail"]:not(:has([data-slot="conversation.chat.turnTail"]:not(:empty))){display:none!important} +-/* Every team Session belongs to a Bot or a group, so a blank one is an empty chat, not +- the shell's new-session hero: no headline, no workspace or mode picker, and the +- composer stays docked at the bottom. */ +-[data-content-phase=hero] [class*="_scrollBody"]{justify-content:flex-end!important} +-[data-content-phase=hero] [class*="_composerHero"]{align-self:stretch!important;width:auto!important;padding-bottom:0!important} +-[data-content-phase=hero] [class*="_composerHero"]>[class$="_root"],[data-content-phase=hero] [class*="_heroWorkspaceRow"]{display:none!important} +-[data-content-phase=hero] [class*="_composerHero"] [class*="_input"]{min-height:0!important} +-/* The right sides give back the scrollbar gutter so both edges sit 16px from the column. */ +-[class*="_scroll"]:has(> [class*="_column"]){padding:60px 11px 16px 16px!important} +-/* The shell's running status only hosts the activity row (.bt-typing). */ +-[data-chat-running]{display:block!important;width:100%;min-height:0!important;margin:0!important;padding:0!important} +-[data-chat-running]>span:not([role=status]){display:none!important} +-[data-chat-running]:has(> .bt-typing){margin-top:var(--dsh-chat-flow-gap,12px)!important} +-.bt-typing{display:flex;align-items:center;gap:12px;height:36px;min-width:0;padding-inline-start:8px;transform-origin:0 50%;animation:bt-typing-in ${SPRING_TAP.duration}ms ${SPRING_TAP.easing} backwards} +-.bt-typing[data-exiting]{animation:bt-typing-out .14s cubic-bezier(.22,1,.36,1) forwards} +-.bt-typing>.bt-mark,.bt-typing>.bt-cluster{flex-shrink:0} +-.bt-typing>.bt-mark{cursor:pointer;transition:filter .16s ease-out} +-.bt-typing>.bt-mark:hover{filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))} +-.bt-typing>.bt-mark .bt-eyes{transition:scale .28s cubic-bezier(.4,.06,.18,1)} +-.bt-typing>.bt-mark:hover .bt-eyes{scale:1.18} +-.bt-typing-text{display:flex;align-items:center;flex:1 1 auto;min-width:0;animation:bt-typing-label .22s ease-out .2s backwards} +-.bt-typing-label{display:inline-flex;align-items:center;gap:6px;min-width:0;animation:bt-typing-label .22s ease-out backwards} +-.bt-typing-label>.bt-shimmer{font-size:14px;line-height:22px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} +-.bt-typing-time{flex-shrink:0;font-size:12px;line-height:22px;color:var(--bt-ink-3);white-space:nowrap} +-@keyframes bt-typing-in{from{opacity:0;transform:scale(.9)}} +-@keyframes bt-typing-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92);filter:blur(3px)}} +-@keyframes bt-typing-label{from{opacity:0;filter:blur(5px);transform:translateY(3px)}} +-/* Shimmer: a stepped sweep clipped to the text. */ +-.bt-shimmer{color:transparent;background:linear-gradient(90deg,var(--bt-shimmer-base) 0%,var(--bt-shimmer-base) 25%,var(--bt-ink) 60%,var(--bt-shimmer-base) 75%,var(--bt-shimmer-base) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:bt-shimmer 2.2s steps(60) infinite;--bt-shimmer-base:color-mix(in srgb,var(--bt-ink) 40%,transparent)} +-@keyframes bt-shimmer{from{background-position:200% 0}to{background-position:-200% 0}} +-/* New rows slide up; a reply that replaces the activity row grows out of its corner. */ +-[data-bt-enter="new"]{animation:bt-row-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing}} +-[data-bt-enter="after-collapse"]{transform-origin:0 100%;animation:bt-row-after .24s cubic-bezier(.23,1,.32,1) .38s backwards} +-@keyframes bt-row-in{from{transform:translateY(12px)}to{transform:none}} +-@keyframes bt-row-after{0%{opacity:0;transform:translateY(12px) scale(.94)}55%{opacity:1}100%{opacity:1;transform:none}} +-@media (prefers-reduced-motion:reduce){ +-.bt-typing,.bt-typing[data-exiting]{animation-name:bt-fade-in;animation-duration:.12s;transform:none} +-.bt-typing[data-exiting]{animation-name:bt-fade-out} +-.bt-typing-text,.bt-typing-label{animation-name:bt-fade-in;animation-delay:0s} +-.bt-shimmer{animation:none;background:none;color:var(--bt-ink-2)} +-[data-bt-enter="new"]{animation:none} +-[data-bt-enter="after-collapse"]{animation:bt-fade-in .12s ease-out} ++// src/client/icons.js ++var import_react5 = require("react"); ++function PlusIcon() { ++ return (0, import_react5.createElement)("svg", { width: 18, height: 18, viewBox: "0 0 20 20", "aria-hidden": true }, (0, import_react5.createElement)("path", { d: "M10 3.5v13M3.5 10h13", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round" })); ++} ++function SearchIcon() { ++ return (0, import_react5.createElement)("svg", { width: 16, height: 16, viewBox: "0 0 20 20", "aria-hidden": true }, (0, import_react5.createElement)("circle", { cx: 8.5, cy: 8.5, r: 5.5, stroke: "currentColor", strokeWidth: 1.6, fill: "none" }), (0, import_react5.createElement)("path", { d: "M13 13l4 4", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round" })); ++} ++function PeopleIcon() { ++ return (0, import_react5.createElement)( + "svg", + { width: 14, height: 14, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", "aria-hidden": true }, + (0, import_react5.createElement)("circle", { cx: 7.5, cy: 7, r: 3 }), @@ -5837,7 +5991,7 @@ diff --git a/client.js b/client.js + }; + useOptionKeys(options.length, (index) => choose(options[index].label), ownRef); + const ownLetter = options.length > 0 ? keyLetter(options.length) : void 0; -+ const field = ownAnswer ? (0, import_react6.createElement)("textarea", { ++ const field2 = ownAnswer ? (0, import_react6.createElement)("textarea", { + ref: ownRef, + rows: 1, + value: own, @@ -5876,12 +6030,12 @@ diff --git a/client.js b/client.js + selected && !raised ? (0, import_react6.createElement)("span", { className: "bt-q-check", title: t("Selected") }, (0, import_react6.createElement)(CheckIcon)) : null + ); + }); -+ if (raised && field) { ++ if (raised && field2) { + rows.push((0, import_react6.createElement)( + "label", + { key: "own", className: "bt-q-opt bt-q-ownrow", "data-filled": custom !== "" ? "" : void 0 }, + ownLetter ? (0, import_react6.createElement)("span", { className: "bt-key", "aria-hidden": true }, ownLetter) : null, -+ (0, import_react6.createElement)("span", { className: "bt-q-body" }, field) ++ (0, import_react6.createElement)("span", { className: "bt-q-body" }, field2) + )); + } + let foot = null; @@ -5918,15 +6072,129 @@ diff --git a/client.js b/client.js + (0, import_react6.createElement)("button", { type: "button", className: "bt-q-x", "aria-label": t("Dismiss question"), title: t("Dismiss"), onClick: onDismiss }, (0, import_react6.createElement)(CloseIcon)) + ), + rows.length > 0 ? (0, import_react6.createElement)("div", { className: "bt-q-list", role: "group" }, rows) : null, -+ field && !raised ? (0, import_react6.createElement)( ++ field2 && !raised ? (0, import_react6.createElement)( + "div", + { className: "bt-q-custom" }, -+ (0, import_react6.createElement)("label", { className: "bt-q-field" }, field), ++ (0, import_react6.createElement)("label", { className: "bt-q-field" }, field2), + !multi && canSubmit ? (0, import_react6.createElement)("button", { type: "submit", className: "bt-q-submit" }, t("Submit")) : null + ) : null, + foot + ); -+} + } +-@keyframes bt-fade-in{from{opacity:0}to{opacity:1}} +-@keyframes bt-fade-out{from{opacity:1}to{opacity:0}} +-[data-composer-card]{display:flex!important;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0!important;min-height:44px;border-radius:22px!important;padding:7.5px!important;box-sizing:border-box;background:var(--bt-main)!important;border:.5px solid var(--bt-line-2)!important;box-shadow:0 2px 8px -1px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.03),0 0 0 1px rgba(228,228,228,.04)!important;transition:border-color .15s ease,background-color .15s ease,${spring(SPRING_SHAPE, "border-radius")}!important} +-[data-composer-card]:hover,[data-composer-card]:focus-within{border-color:color-mix(in srgb,var(--bt-ink) 30%,transparent)!important} +-[data-composer-card]:has(> [data-slot="conversation.input.attachments"] *),[data-composer-card]:has([data-composer-input] br + *),[data-composer-card]:has([data-composer-input] > :nth-child(2)){border-radius:18px!important} +-[class*="_root"]:has(> [data-composer-card]){padding:0 11px 13px 16px!important} +-[class*="_root"]:has(> [data-composer-card])>[data-composer-card]{max-width:min(992px,100%)!important} +-[data-composer-card]>[class*="_row"]{display:contents!important} +-[data-composer-card] [class*="_tools"]{order:1;flex:none;align-self:flex-end;margin:0} +-[data-composer-card]>[data-input-scroll]{order:2;flex:1 1 0;min-width:0;padding:0 8px!important;margin:0!important} +-[data-composer-card] [class*="_trailing"]{order:3;flex:none;align-self:flex-end;margin:0} +-[data-composer-card]>[data-slot="conversation.input.attachments"]{order:0;flex-basis:100%} +-[data-composer-card] [data-composer-input]{min-height:24px;padding:2px 0!important} +-[data-composer-card] [data-composer-placeholder]{left:0!important;top:2px!important} +-[data-composer-placeholder]{font-size:0!important;line-height:0!important} +-[data-composer-placeholder]::after{content:var(--bt-placeholder,"Message");display:block;font-size:14px;line-height:24px;color:color-mix(in srgb,var(--bt-ink) 36%,transparent)} +-/* The team's "+" (ComposerPlus) takes the seat of the shell's command-menu button. */ +-[data-composer-card] button[class*="_add"]{display:none!important} +-.bt-plus{flex:none;width:28px;height:28px;padding:0;border:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bt-ink) 5%,transparent);box-shadow:inset 0 0 0 .5px var(--bt-line);color:var(--bt-ink-2);cursor:pointer;transition:background-color .15s ease,color .15s ease,${spring(SPRING_TAP, "scale")}} +-.bt-plus:hover,.bt-plus[aria-expanded=true]{background:color-mix(in srgb,var(--bt-ink) 10%,transparent);color:var(--bt-ink)} +-.bt-plus:active{scale:.9} +-.bt-plus svg{width:14px;height:14px;transition:${spring(SPRING_POP, "rotate")}} +-.bt-plus[aria-expanded=true] svg{rotate:45deg} +-.bt-plus-menu{min-width:180px} +-[data-composer-card] [class*="_tools"]{gap:0!important} +-[data-composer-card] [class*="_modes"]:empty{display:none!important} +-[data-composer-card] [class*="_activity"]:not(:has([data-slot] > *)){display:none!important} +-[data-composer-card] [class*="_trailing"]{gap:8px} +-[data-composer-card] [class*="_standardControls"]{display:flex;align-items:center;gap:8px} +-[data-composer-card] button[class*="_primary"]{width:28px!important;height:28px!important;background:var(--bt-accent)!important;color:var(--bt-accent-ink,#fff)!important;border-radius:50%!important;transition:opacity .15s ease,${spring(SPRING_TAP, "scale")};animation:bt-icon-swap ${SPRING_POP.duration}ms ${SPRING_POP.easing}} +-[data-composer-card] button[class*="_primary"]:hover:not(:disabled){opacity:.9} +-[data-composer-card] button[class*="_primary"]:active:not(:disabled){scale:.9} +-@keyframes bt-icon-swap{from{opacity:0;transform:scale(.5) rotate(-30deg)}} +-[data-composer-card] button[class*="_primary"] svg{width:14px;height:14px} +-[data-composer-card] button[class*="_primary"]:disabled{display:none!important} +-[data-composer-dock]{display:none!important} +-.bt-mic,.bt-voice{flex:none;width:28px;height:28px;border-radius:50%;border:0;padding:0;display:inline-grid;place-items:center;cursor:pointer;transition:background-color .15s ease,color .15s ease,${spring(SPRING_TAP, "scale")}} +-.bt-mic{background:color-mix(in srgb,var(--bt-ink) 5%,transparent);box-shadow:inset 0 0 0 .5px var(--bt-line);color:var(--bt-ink-2)} +-.bt-mic:hover{background:color-mix(in srgb,var(--bt-ink) 10%,transparent);color:var(--bt-ink)} +-.bt-mic[aria-pressed=true]{background:#ff3e51;color:#fff;animation:bt-mic-pulse 1.4s ease-in-out infinite} +-@keyframes bt-mic-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,62,81,.35)}50%{box-shadow:0 0 0 5px rgba(255,62,81,0)}} +-.bt-voice{display:none;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);animation:bt-icon-swap ${SPRING_POP.duration}ms ${SPRING_POP.easing}} +-.bt-voice:hover{opacity:.9} +-.bt-mic:active,.bt-voice:active{scale:.9} +-[data-composer-card]:has(button[class*="_primary"]:disabled) .bt-voice{display:inline-grid} +-body[data-bt-room] .bt-voice{display:none!important} +-body[data-bt-room] [data-composer-card]:has(button[class*="_primary"]:disabled) .bt-mic:not([aria-pressed=true]){background:var(--bt-accent);color:var(--bt-accent-ink,#fff)} +-.bt-mic-note{position:absolute;right:12px;bottom:calc(100% + 8px);padding:5px 10px;border-radius:8px;background:var(--bt-user);color:var(--bt-user-ink);font-size:12px;line-height:16px;white-space:nowrap;pointer-events:none;animation:bt-rise .16s ease-out} +-[data-chain-overlay-fallback="conversation.composer"]:has(~ .bt-q){display:block!important;order:2} +-.bt-q{order:1} +-div:has(> nav [class*="_marks"]){display:none!important} +-/* Every user-side bubble (sent, steering mid-turn, not yet admitted, question replies) +- takes its surface and its text from the one --bt-user pair: a skin that repaints +- the host's bubble surface alone would otherwise leave the text unreadable. */ +-[class*="_userRow"] [class*="_bubble"],[data-chat-flow-kind=question-reply] [class*="_bubble"],[data-chat-flow-kind=command-input] [class*="_bubble"]{background:var(--bt-user)!important;color:var(--bt-user-ink)!important;border-radius:18px!important;padding:7px 12px!important;font-size:var(--dsh-content-font-size,14px)!important;line-height:calc(var(--dsh-content-font-size,14px) + 8px)!important} +-[class*="_userRow"] [class*="_bubble"] [class*="_markdown"],[class*="_userRow"] [class*="_bubble"] a{color:inherit} +-/* Sent messages get the hover toolbar below; steering and unsent bubbles keep none. */ +-[class*="_userRow"] [class*="_actions"]{display:none!important} +-[data-chat-flow-kind=user] [class*="_userRow"]{flex-direction:row-reverse;align-items:center;justify-content:flex-start} +-[data-chat-flow-kind=user] [class*="_actions"]{display:flex!important;height:24px!important;gap:2px!important;opacity:0!important;visibility:hidden;transition:opacity .12s ease,visibility .12s!important;flex:none} +-[data-chat-flow-kind=user] [class*="_userRow"]:hover [class*="_actions"],[data-chat-flow-kind=user] [class*="_userRow"]:focus-within [class*="_actions"]{opacity:1!important;visibility:visible} +-[data-chat-flow-kind=user] [class*="_actions"] [class*="_timeStart"]{display:none} +-[data-chat-flow-kind=user] [class*="_actions"] button{width:24px;height:24px;border-radius:6px;color:var(--bt-ink-2)} +-[data-chat-flow-kind=user] [class*="_actions"] button:hover{background:var(--bt-hover);color:var(--bt-ink)} +-[data-chat-flow-kind=user] [class*="_actions"] svg{width:15px;height:15px} +-.bt-q-inline{display:flex;margin:4px 0 6px} +-[data-chat-flow-kind=assistant-step]+[data-step-process]:has(.bt-q-inline){margin-top:0!important} +-[data-chat-flow-kind=question-reply]:has(.bt-q-inline),[data-chat-group-key]:has([data-chat-flow-kind=question-reply] .bt-q-inline),[data-chat-group-key]:has(.bt-q-gone){margin-top:0!important} +-.bt-q-inline .bt-q{margin:0;max-width:min(550px,86%);order:0} +-.bt-q-dock{width:100%;display:flex;justify-content:center} +-.bt-q-dock .bt-q{margin:0 auto 8px} +-[class*="_toBottomSlot"]{justify-content:center!important;padding-right:0!important} +-[data-conversation-scroll] [class*="_toBottomSlot"]{bottom:calc(var(--dsh-composer-height,152px) + 8px)!important} +-[class*="_toBottomSlot"]>button{width:36px!important;height:36px!important;margin-top:-36px!important;background:var(--bt-main)!important;color:var(--bt-ink)!important;box-shadow:0 0 0 .5px var(--bt-line-2),0 2px 8px -2px rgba(0,0,0,.12)!important;animation:bt-tobottom-in ${SPRING_TAP.duration}ms ${SPRING_TAP.easing},bt-veil-in .16s ease-out;transition:background-color .12s ease,${spring(SPRING_TAP, "scale")}} +-[class*="_toBottomSlot"]>button:active{scale:.9} +-[class*="_toBottomSlot"]>button:hover{background:color-mix(in srgb,var(--bt-ink) 4%,var(--bt-main))!important} +-[class*="_toBottomSlot"]>button svg{display:none} +-[class*="_toBottomSlot"]>button::before{content:"";width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4v12M5 11l5 5 5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4v12M5 11l5 5 5-5'/%3E%3C/svg%3E") center/contain no-repeat} +-@keyframes bt-tobottom-in{from{translate:0 8px;scale:.8}} +-[data-bt-news] [class*="_toBottomSlot"]>button{visibility:hidden!important;pointer-events:none!important} +-.bt-news{position:fixed;z-index:30;transform:translateX(-50%);display:inline-flex;align-items:center;overflow:hidden;border-radius:999px;background:#0c64c1;color:#fcfcfc;box-shadow:inset 0 0 0 1px rgba(20,20,20,.05),0 1px 3px 0 rgba(0,0,0,.12);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;animation:bt-news-in ${SPRING_TAP.duration}ms ${SPRING_TAP.easing},bt-veil-in .16s ease-out} +-@keyframes bt-news-in{from{translate:0 8px;scale:.9}} +-.bt-news[data-direction=up]{animation-name:bt-news-in-up,bt-veil-in} +-@keyframes bt-news-in-up{from{translate:0 -8px;scale:.9}} +-.bt-news-jump{display:inline-flex;align-items:center;gap:2px;margin:0;padding:4px 26px 4px 4px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-size:13px;line-height:18px;white-space:nowrap;cursor:pointer;outline:none} +-.bt-news-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px} +-.bt-news-ico svg{width:16px;height:16px} +-.bt-news-x{position:absolute;right:4px;top:50%;z-index:1;transform:translateY(-50%);width:20px;height:20px;padding:0;border:0;border-radius:999px;background:transparent;color:inherit;opacity:.75;display:inline-flex;align-items:center;justify-content:center;cursor:pointer} +-.bt-news-x svg{width:12px;height:12px} +-.bt-news-x:hover{opacity:1;background:rgba(20,20,20,.5)} +-@media (prefers-reduced-motion:reduce){.bt-news,[class*="_toBottomSlot"]>button{animation:none}} +-.bt-new-sep{display:flex;align-items:center;gap:8px;margin:14px 0 8px;padding:2px 0;font-size:11px;line-height:14px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:#0c64c1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif} +-.bt-new-sep::before,.bt-new-sep::after{content:"";flex:1;height:1px;background:color-mix(in srgb,#0c64c1 20%,transparent)} +-.bt-open-new{display:flex;flex-direction:column} +-.bt-open-new .bt-new-sep{margin:18px 0 0} +-.bt-open-new .bt-time-sep{height:16px;margin:32px 0 2px} +-.bt-earlier{display:flex;flex-direction:column;gap:6px} +-.bt-earlier-top{display:flex;justify-content:center;align-items:center;height:34px;flex:none} +-.bt-earlier-top .bt-soft{height:28px;font-size:12px;padding:0 12px} +-.bt-urow{display:flex;justify-content:flex-end} +-.bt-ububble{max-width:min(560px,78%);background:var(--bt-user);color:var(--bt-user-ink);border-radius:18px;padding:7px 12px;font-size:14px;line-height:20px;box-sizing:border-box;overflow-wrap:anywhere} +-.bt-ububble [class*="_markdown"],.bt-ububble a{color:inherit!important} +-.bt-ububble p{margin:0;line-height:22px} +-.bt-uimages{display:block;font-size:12px;opacity:.7} +-.bt-earlier .bt-event{margin:4px 0} +-.bt-part-line{display:flex;align-items:center;gap:10px;margin:10px 0 6px;font-size:11px;line-height:14px;color:var(--bt-ink-3)} +-.bt-part-line::before,.bt-part-line::after{content:"";flex:1;height:1px;background:var(--bt-line)} +-`; +-function installStyles(text, tag) { +- const style = document.createElement("style"); +- style.dataset.dshBot = tag; +- style.textContent = text; +- document.head.appendChild(style); +- return style; +function SettledQuestion({ question, answer }) { + const options = optionsOf(question); + const prompt = question?.question ?? ""; @@ -5958,7 +6226,15 @@ diff --git a/client.js b/client.js + ); + })) + ); -+} + } +-var FRAGMENT_SELECTOR = /\[class\*="(_[\w-]+)"\]/g; +-var CLASS_TOKEN = /\.((?:\\.|[\w-])+)/g; +-function sheetClassNames(sheet) { +- const names = []; +- const visit = (rules) => { +- for (const rule of rules) { +- if (rule.selectorText) for (const match of rule.selectorText.matchAll(CLASS_TOKEN)) names.push(match[1]); +- if (rule.cssRules) visit(rule.cssRules); +function QuestionCard({ matched }) { + const pending = matched; + const questions = pending.questions ?? []; @@ -6067,7 +6343,7 @@ diff --git a/client.js b/client.js + if (event.key !== "Enter" || event.nativeEvent.isComposing) return; + event.preventDefault(); + onEnter?.(); -+ } + } + }); +} +function ScopeSwitch({ value, onChange, bot }) { @@ -6112,7 +6388,10 @@ diff --git a/client.js b/client.js + setBusy(true); + setError(""); + return Promise.resolve(promise).then(() => setValue(""), (failure) => setError(failure?.message ?? String(failure))).finally(() => setBusy(false)); -+ }; + }; +- try { +- visit(sheet.cssRules); +- } catch { + const cancel = () => run(actions.secretCancel(request.id)); + const long = value.trim().length >= MIN_VALUE; + const save = () => { @@ -6189,9 +6468,20 @@ diff --git a/client.js b/client.js + if (request) return (0, import_react7.createElement)("div", { className: "bt-q-inline" }, (0, import_react7.createElement)(RequestView, { bot, request, roster, actions })); + if (done && /already saved/.test(contentText(content))) { + return (0, import_react7.createElement)("div", { className: "bt-event" }, (0, import_react7.createElement)("span", { className: "bt-secret-event" }, (0, import_react7.createElement)(KeyIcon), t("{bot} is using {name}", { bot: bot.name, name: name ?? t("a saved key") }))); -+ } + } +- return names; + return null; -+} + } +-function compileFragmentSelectors(text, names) { +- const compiled = /* @__PURE__ */ new Map(); +- return text.replace(FRAGMENT_SELECTOR, (whole, fragment) => { +- if (!compiled.has(fragment)) { +- const exact = []; +- for (const name of names) if (name.includes(fragment)) exact.push(`.${name}`); +- compiled.set(fragment, exact.length ? `:is(${exact.join(",")})` : whole); +- } +- return compiled.get(fragment); +- }); +function SecretDock({ sessionId, useRoster, useCards, useSession, actions }) { + const roster = useRoster((value) => value); + const shown = useCards?.((state) => state[sessionId]) ?? NONE; @@ -6202,7 +6492,18 @@ diff --git a/client.js b/client.js + const waiting = (roster.secretRequests?.[bot.id] ?? []).filter((entry) => entry.status === "pending" && !drawn(entry)); + if (waiting.length === 0) return null; + return (0, import_react7.createElement)("div", { className: "bt-q-dock bt-secret-dock" }, waiting.map((request) => (0, import_react7.createElement)(SecretCard, { key: `${request.id}:${request.kind}`, bot, request, roster, actions }))); -+} + } +-function installCompiledStyles(text, tag) { +- const style = installStyles("", tag); +- const cache = /* @__PURE__ */ new WeakMap(); +- const render = () => { +- const names = /* @__PURE__ */ new Set(); +- for (const sheet of document.styleSheets) { +- if (sheet.ownerNode?.dataset?.dshBot) continue; +- let list = cache.get(sheet); +- if (!list) { +- list = sheetClassNames(sheet); +- cache.set(sheet, list); +var scopeMode = (scope) => scope === "all" ? "all" : scope.length === 0 ? "none" : "some"; +function ScopeEditor({ secret, roster, onSave }) { + const [mode, setMode] = (0, import_react7.useState)(scopeMode(secret.scope)); @@ -6248,13 +6549,34 @@ diff --git a/client.js b/client.js + if (ok) { + setValue(""); + setReplaced(true); -+ } + } +- for (const name of list) names.add(name); +- } +- const next = compileFragmentSelectors(text, names); +- if (style.textContent !== next) style.textContent = next; +- }; +- render(); +- let timer; +- const schedule = () => { +- clearTimeout(timer); +- timer = setTimeout(render, 120); +- }; +- const onLoad = (event) => { +- if (event.target instanceof HTMLLinkElement) schedule(); + }); -+ }; + }; +- const observer = new MutationObserver(schedule); +- observer.observe(document.head, { childList: true }); +- document.addEventListener("load", onLoad, true); +- return () => { +- observer.disconnect(); +- document.removeEventListener("load", onLoad, true); +- clearTimeout(timer); +- style.remove(); + const edit = (next) => { + setValue(next); + setReplaced(false); -+ }; + }; + return (0, import_react7.createElement)( + "div", + { className: "bt-secret-edit-block" }, @@ -6267,39 +6589,76 @@ diff --git a/client.js b/client.js + ), + value !== "" && !long ? (0, import_react7.createElement)("div", { className: "bt-set-hint" }, t("At least {count} characters.", { count: MIN_VALUE })) : replaced ? (0, import_react7.createElement)("div", { className: "bt-set-hint bt-secret-ok", role: "status" }, (0, import_react7.createElement)(CheckIcon), t("Replaced. Bots get the new value from their next command.")) : null + ); -+} -+function SecretRow({ secret, roster, actions, run, open, onToggle }) { -+ const [confirm, setConfirm] = (0, import_react7.useState)(false); -+ (0, import_react7.useEffect)(() => { -+ if (!open) setConfirm(false); -+ }, [open]); -+ const asker = secret.requestedBy ? roster.byId[secret.requestedBy]?.name ?? t("a deleted Bot") : t("you"); -+ const allowed = secret.scope === "all" ? [] : secret.scope.map((id) => roster.byId[id]).filter(Boolean); -+ const meta = [t("Asked by {name}", { name: asker }), t("added {time}", { time: when(secret.createdAt) }), secret.lastUsedAt ? t("last used {time}", { time: when(secret.lastUsedAt) }) : t("not used yet")].join(" · "); -+ return (0, import_react7.createElement)( -+ "div", -+ { className: "bt-secret-item", "data-open": open ? "" : void 0 }, -+ (0, import_react7.createElement)( -+ "button", -+ { type: "button", className: "bt-set-row bt-secret-summary", "aria-expanded": open, onClick: onToggle }, -+ (0, import_react7.createElement)( -+ "span", -+ { className: "bt-set-copy" }, -+ (0, import_react7.createElement)("span", { className: "bt-secret-title" }, (0, import_react7.createElement)(KeyIcon), (0, import_react7.createElement)("code", { className: "bt-secret-name" }, secret.name), secret.purpose ? (0, import_react7.createElement)("span", { className: "bt-secret-purpose" }, secret.purpose) : null), -+ (0, import_react7.createElement)("span", { className: "bt-set-hint" }, meta) -+ ), -+ (0, import_react7.createElement)( -+ "span", -+ { className: "bt-set-control" }, -+ secret.scope === "all" ? (0, import_react7.createElement)("span", { className: "bt-tag" }, t("All my Bots")) : allowed.length === 0 ? (0, import_react7.createElement)("span", { className: "bt-tag" }, t("No Bot")) : (0, import_react7.createElement)("span", { className: "bt-secret-faces", title: allowed.map((bot) => bot.name).join(", ") }, allowed.slice(0, 5).map((bot) => (0, import_react7.createElement)(BotAvatar, { key: bot.id, bot, size: 20, badge: false, live: false }))) -+ ) -+ ), -+ open ? (0, import_react7.createElement)( -+ "div", -+ { className: "bt-secret-edit" }, -+ (0, import_react7.createElement)(ScopeEditor, { key: JSON.stringify(secret.scope), secret, roster, onSave: (scope) => run(actions.secretUpdate(secret.name, scope)) }), -+ (0, import_react7.createElement)(ValueEditor, { secret, onSave: (value) => run(actions.secretSet({ name: secret.name, value })) }), -+ (0, import_react7.createElement)( + } +- +-// src/client/mark.js +-var import_react2 = require("react"); +-var STATES = ["idle", "thinking", "searching", "working", "sending", "orbit", "alert", "done"]; +-var botState = (running, activity, alert) => running ? STATES.includes(activity) ? activity : "working" : alert ? "alert" : "idle"; +-var toolState = (name) => /^(message_bot|stop_bot|create_bot|update_bot|create_group|update_group|delete_group|post_to_group)$/.test(name) ? "sending" : /search|fetch|browse|read|grep|glob|list|recall/i.test(name) ? "searching" : "working"; +-function useGaze(ref, enabled) { +- (0, import_react2.useEffect)(() => { +- if (!enabled) return void 0; +- let frame = 0; +- let point = null; +- const place = () => { +- frame = 0; +- const node = ref.current; +- if (!node || !point) return; +- const box = node.getBoundingClientRect(); +- const clamp = (value) => Math.max(-1, Math.min(1, value)); +- node.style.setProperty("--bt-gx", clamp((point.x - box.left - box.width / 2) / 160).toFixed(2)); +- node.style.setProperty("--bt-gy", clamp((point.y - box.top - box.height / 2) / 160).toFixed(2)); +- }; +- const onMove = (event) => { +- point = { x: event.clientX, y: event.clientY }; +- if (!frame) frame = requestAnimationFrame(place); +- }; +- const onLeave = () => { +- point = null; +- ref.current?.style.setProperty("--bt-gx", "0"); +- ref.current?.style.setProperty("--bt-gy", "0"); +- }; +- window.addEventListener("pointermove", onMove, { passive: true }); +- document.documentElement.addEventListener("pointerleave", onLeave); +- return () => { +- cancelAnimationFrame(frame); +- window.removeEventListener("pointermove", onMove); +- document.documentElement.removeEventListener("pointerleave", onLeave); +- }; +- }, [enabled]); ++function SecretRow({ secret, roster, actions, run, open, onToggle }) { ++ const [confirm, setConfirm] = (0, import_react7.useState)(false); ++ (0, import_react7.useEffect)(() => { ++ if (!open) setConfirm(false); ++ }, [open]); ++ const asker = secret.requestedBy ? roster.byId[secret.requestedBy]?.name ?? t("a deleted Bot") : t("you"); ++ const allowed = secret.scope === "all" ? [] : secret.scope.map((id) => roster.byId[id]).filter(Boolean); ++ const meta = [t("Asked by {name}", { name: asker }), t("added {time}", { time: when(secret.createdAt) }), secret.lastUsedAt ? t("last used {time}", { time: when(secret.lastUsedAt) }) : t("not used yet")].join(" · "); ++ return (0, import_react7.createElement)( ++ "div", ++ { className: "bt-secret-item", "data-open": open ? "" : void 0 }, ++ (0, import_react7.createElement)( ++ "button", ++ { type: "button", className: "bt-set-row bt-secret-summary", "aria-expanded": open, onClick: onToggle }, ++ (0, import_react7.createElement)( ++ "span", ++ { className: "bt-set-copy" }, ++ (0, import_react7.createElement)("span", { className: "bt-secret-title" }, (0, import_react7.createElement)(KeyIcon), (0, import_react7.createElement)("code", { className: "bt-secret-name" }, secret.name), secret.purpose ? (0, import_react7.createElement)("span", { className: "bt-secret-purpose" }, secret.purpose) : null), ++ (0, import_react7.createElement)("span", { className: "bt-set-hint" }, meta) ++ ), ++ (0, import_react7.createElement)( ++ "span", ++ { className: "bt-set-control" }, ++ secret.scope === "all" ? (0, import_react7.createElement)("span", { className: "bt-tag" }, t("All my Bots")) : allowed.length === 0 ? (0, import_react7.createElement)("span", { className: "bt-tag" }, t("No Bot")) : (0, import_react7.createElement)("span", { className: "bt-secret-faces", title: allowed.map((bot) => bot.name).join(", ") }, allowed.slice(0, 5).map((bot) => (0, import_react7.createElement)(BotAvatar, { key: bot.id, bot, size: 20, badge: false, live: false }))) ++ ) ++ ), ++ open ? (0, import_react7.createElement)( ++ "div", ++ { className: "bt-secret-edit" }, ++ (0, import_react7.createElement)(ScopeEditor, { key: JSON.stringify(secret.scope), secret, roster, onSave: (scope) => run(actions.secretUpdate(secret.name, scope)) }), ++ (0, import_react7.createElement)(ValueEditor, { secret, onSave: (value) => run(actions.secretSet({ name: secret.name, value })) }), ++ (0, import_react7.createElement)( + "div", + { className: "bt-secret-row-actions" }, + confirm ? [ @@ -6310,7 +6669,32 @@ diff --git a/client.js b/client.js + ) + ) : null + ); -+} + } +-var FIDGETS = ["hop", "sway", "stretch", "look"]; +-function BotMark({ bot, look: given, size = 36, state = "idle", live = false, gaze = false, pokeable = false, label }) { +- const look = given ?? lookOf(bot); +- const ref = (0, import_react2.useRef)(null); +- const maskId = (0, import_react2.useRef)(""); +- if (maskId.current === "") maskId.current = `bt-mark-${nextMarkSerial()}`; +- const [poked, setPoked] = (0, import_react2.useState)(false); +- useGaze(ref, gaze); +- const common = { +- ref, +- className: poked ? "bt-mark bt-mark-poke" : "bt-mark", +- "data-shape": look.image ? "image" : shapeId(look.shape), +- "data-state": STATES.includes(state) ? state : "idle", +- "data-live": live ? "" : void 0, +- "data-fidget": live ? FIDGETS[fnv1a(`${bot?.id ?? ""}:fidget`) % FIDGETS.length] : void 0, +- "data-gaze": gaze ? "" : void 0, +- "data-poke": pokeable ? "" : void 0, +- style: { width: size, height: size, ...live ? { "--bt-delay": `${-(fnv1a(String(bot?.id ?? "")) % 5e3) / 1e3}s`, "--bt-fidget-delay": `${-(fnv1a(`${bot?.id ?? ""}:when`) % 9e3) / 1e3}s` } : {} }, +- role: label ? "img" : void 0, +- "aria-label": label, +- "aria-hidden": label ? void 0 : true, +- onClick: pokeable ? () => setPoked(true) : void 0, +- onAnimationEnd: poked ? (event) => { +- if (/^bt-poke/.test(event.animationName)) setPoked(false); +- } : void 0 +function AddSecret({ actions, run, onDone }) { + const [name, setName] = (0, import_react7.useState)(""); + const [purpose, setPurpose] = (0, import_react7.useState)(""); @@ -6324,7 +6708,16 @@ diff --git a/client.js b/client.js + onDone(); + } + }); -+ }; + }; +- if (look.image) return (0, import_react2.createElement)("span", common, (0, import_react2.createElement)("img", { className: "bt-mark-img", src: look.image, alt: "", draggable: false })); +- const box = shapeOf(look.shape).size; +- return (0, import_react2.createElement)("span", common, (0, import_react2.createElement)("svg", { viewBox: `0 0 ${box} ${box}`, dangerouslySetInnerHTML: { __html: characterMarkup(look.shape, look.color).replaceAll(MASK_ID, maskId.current) } })); +-} +-function StarIcon({ size = 8 }) { +- return (0, import_react2.createElement)( +- "svg", +- { width: size, height: size, viewBox: "0 0 10 10", "aria-hidden": true }, +- (0, import_react2.createElement)("path", { d: "M5 .6l1.3 2.8 3 .3-2.3 2 .7 3L5 7.2 2.3 8.7l.7-3L.7 3.7l3-.3z", fill: "#fff" }) + return (0, import_react7.createElement)( + "div", + { className: "bt-set-row bt-set-paste bt-secret-add" }, @@ -6338,17 +6731,17 @@ diff --git a/client.js b/client.js + (0, import_react7.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: onDone }, t("Cancel")), + (0, import_react7.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: !ready, onClick: save }, t("Save key")) + ) -+ ); + ); } --var FRAGMENT_SELECTOR = /\[class\*="(_[\w-]+)"\]/g; --var CLASS_TOKEN = /\.((?:\\.|[\w-])+)/g; --function sheetClassNames(sheet) { -- const names = []; -- const visit = (rules) => { -- for (const rule of rules) { -- if (rule.selectorText) for (const match of rule.selectorText.matchAll(CLASS_TOKEN)) names.push(match[1]); -- if (rule.cssRules) visit(rule.cssRules); -- } +-function AdminStar() { +- return (0, import_react2.createElement)("span", { className: "bt-admin-star", role: "img", "aria-label": t("Admin") }, (0, import_react2.createElement)(StarIcon, { size: 7 })); +-} +-function MainStar() { +- return (0, import_react2.createElement)( +- "svg", +- { viewBox: "0 0 20 20", "aria-hidden": true }, +- (0, import_react2.createElement)("path", { d: "M10 2.4l2.29 5.04 5.51.63-4.09 3.74 1.11 5.42L10 14.5l-4.82 2.73 1.11-5.42L2.2 8.07l5.51-.63z" }) +- ); +function SecretsPage({ roster, actions, run, Section }) { + const [open, setOpen] = (0, import_react7.useState)(null); + const [adding, setAdding] = (0, import_react7.useState)(false); @@ -6372,7 +6765,16 @@ diff --git a/client.js b/client.js + ), + adding ? null : (0, import_react7.createElement)("div", { key: "add", className: "bt-actions" }, (0, import_react7.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => setAdding(true) }, t("Add a key"))) + ]; -+} + } +-function useSettled(state) { +- const prev = (0, import_react2.useRef)(state); +- const [settled, setSettled] = (0, import_react2.useState)(false); +- (0, import_react2.useEffect)(() => { +- const was = prev.current; +- prev.current = state; +- if (state !== "idle") { +- setSettled(false); +- return void 0; +var SECRET_CSS = ` +.bt-secret-head{align-items:center;gap:10px} +.bt-secret-who{position:relative;flex:none;display:inline-flex} @@ -6450,10 +6852,7 @@ diff --git a/client.js b/client.js + bot: local ? local.name : remoteBotName(p, "Bot"), + mine: Boolean(local) + }; - }; -- try { -- visit(sheet.cssRules); -- } catch { ++ }; + const seats = records.filter((p) => p.leftSeq === void 0).map(seat); + for (const id of room2.members ?? []) { + const bot = roster.byId[id]; @@ -6490,38 +6889,40 @@ diff --git a/client.js b/client.js + if (known) { + known.seats.push(seat); + continue; -+ } + } +- if (was === "idle" || was === "alert") return void 0; +- setSettled(true); +- const timer = setTimeout(() => setSettled(false), 1800); +- return () => clearTimeout(timer); +- }, [state]); +- return settled; + people2.push({ key, name: seat.person || (seat.mine ? cleanPeerName(roster.self?.displayName, "") : "") || t("Someone"), mine: seat.mine, seats: [seat] }); - } -- return names; ++ } + return [...people2.filter((person) => person.mine), ...people2.filter((person) => !person.mine)]; } --function compileFragmentSelectors(text, names) { -- const compiled = /* @__PURE__ */ new Map(); -- return text.replace(FRAGMENT_SELECTOR, (whole, fragment) => { -- if (!compiled.has(fragment)) { -- const exact = []; -- for (const name of names) if (name.includes(fragment)) exact.push(`.${name}`); -- compiled.set(fragment, exact.length ? `:is(${exact.join(",")})` : whole); -- } -- return compiled.get(fragment); -- }); +-function BotAvatar({ bot, size, state = "idle", main, admin, badge = true, live = true, gaze = false, pokeable = false }) { +- const settled = useSettled(state); +- if (bot === void 0) return (0, import_react2.createElement)(BotMark, { size }); +- const badgeKind = !badge ? null : state === "alert" ? "alert" : state !== "idle" ? "working" : admin ? "admin" : main ? "main" : null; +- return (0, import_react2.createElement)( +- "span", +- { className: "bt-mark", style: { width: size, height: size, "--bt-size": `${size}px` } }, +- (0, import_react2.createElement)(BotMark, { bot, size, state: settled ? "done" : state, live, gaze, pokeable }), +- badgeKind === "working" ? (0, import_react2.createElement)("span", { className: "bt-badge bt-badge-working", "aria-label": t("Working"), role: "img" }) : null, +- badgeKind === "alert" ? (0, import_react2.createElement)("span", { className: "bt-badge bt-badge-alert", "aria-label": t("Waiting for your answer"), role: "img" }, "?") : null, +- badgeKind === "admin" ? (0, import_react2.createElement)("span", { className: "bt-badge bt-badge-admin", "aria-label": t("Admin"), role: "img" }, (0, import_react2.createElement)(StarIcon)) : null, +- badgeKind === "main" ? (0, import_react2.createElement)("span", { className: "bt-badge bt-badge-main", "aria-label": t("Main Bot"), role: "img" }, (0, import_react2.createElement)(MainStar)) : null +- ); +function facePersonLabel(person) { + return person.mine ? t("{name} (you)", { name: person.name }) : person.name; } --function installCompiledStyles(text, tag) { -- const style = installStyles("", tag); -- const cache = /* @__PURE__ */ new WeakMap(); -- const render = () => { -- const names = /* @__PURE__ */ new Set(); -- for (const sheet of document.styleSheets) { -- if (sheet.ownerNode?.dataset?.dshBot) continue; -- let list = cache.get(sheet); -- if (!list) { -- list = sheetClassNames(sheet); -- cache.set(sheet, list); -- } -- for (const name of list) names.add(name); +-function clusterSeats(count, frame) { +- if (count === 1) return [[0, 0, frame]]; +- if (count === 2) return [[0, 0, frame * 2 / 3], [frame / 3, frame / 3, frame * 2 / 3]]; +- if (count === 3) { +- const size = frame * 5 / 9; +- const rest = frame - size; +- return [[rest / 2, 0, size], [0, rest, size], [rest, rest, size]]; + +// src/client/held-reply.js +var import_react8 = require("react"); @@ -6531,7 +6932,21 @@ diff --git a/client.js b/client.js + constructor(props) { + super(props); + this.state = { failed: false }; -+ } + } +- const half = frame / 2; +- return [[0, 0, half], [half, 0, half], [0, half, half], [half, half, half]]; +-} +-function RoomAvatar({ room: room2, roster, size = 36 }) { +- const members = room2.members.map((id) => roster.byId[id]).filter(Boolean); +- const people = members.length === 1 ? [members[0], null] : members; +- const seat = (bot, seatSize, key) => bot ? (0, import_react2.createElement)(BotMark, { key, bot, size: seatSize }) : (0, import_react2.createElement)("span", { key, className: "bt-cluster-you", style: { width: seatSize * 0.92, height: seatSize * 0.92, margin: seatSize * 0.04 } }); +- if (people.length === 0) return (0, import_react2.createElement)(BotMark, { size }); +- if (size <= 20 && people.length > 1) { +- return (0, import_react2.createElement)( +- "span", +- { className: "bt-stack", style: { "--bt-stack-size": `${size}px` } }, +- people.slice(0, 3).map((bot, index) => seat(bot, size, bot?.id ?? `you-${index}`)), +- people.length > 3 ? (0, import_react2.createElement)("span", { className: "bt-stack-more" }, `+${people.length - 3}`) : null + static getDerivedStateFromError() { + return { failed: true }; + } @@ -6568,28 +6983,8 @@ diff --git a/client.js b/client.js + setError(failure?.message ?? String(failure)); + } finally { + setBusy(false); - } -- const next = compileFragmentSelectors(text, names); -- if (style.textContent !== next) style.textContent = next; -- }; -- render(); -- let timer; -- const schedule = () => { -- clearTimeout(timer); -- timer = setTimeout(render, 120); -- }; -- const onLoad = (event) => { -- if (event.target instanceof HTMLLinkElement) schedule(); -- }; -- const observer = new MutationObserver(schedule); -- observer.observe(document.head, { childList: true }); -- document.addEventListener("load", onLoad, true); -- return () => { -- observer.disconnect(); -- document.removeEventListener("load", onLoad, true); -- clearTimeout(timer); -- style.remove(); - }; ++ } ++ }; + if (!waiting) { + const failed = held.status === "failed"; + return (0, import_react8.createElement)( @@ -6600,95 +6995,65 @@ diff --git a/client.js b/client.js + // different field elsewhere. A failure that can never succeed draws no button on any surface. + failed && canRetry(held) ? (0, import_react8.createElement)("button", { type: "button", className: "bt-held-retry", disabled: busy, onClick: () => decide("retry") }, t("Retry")) : null, + error ? (0, import_react8.createElement)("span", { className: "bt-flybot-approval-error", role: "alert" }, error) : null -+ ); -+ } -+ const plain = (0, import_react8.createElement)( -+ "div", -+ { className: "bt-held-card", role: "region", "aria-label": t("Waiting for your approval") }, -+ (0, import_react8.createElement)("div", { className: "bt-held-head" }, t("Waiting for your approval")), -+ (0, import_react8.createElement)("div", { className: "bt-flybot-approval-origin" }, t("{from} → {to}", { from: held.from ?? t("A Bot"), to: held.toName })), -+ (0, import_react8.createElement)( -+ "div", -+ { className: "bt-flybot-approval-actions" }, -+ (0, import_react8.createElement)("button", { type: "button", disabled: busy, onClick: () => decide("reject") }, t("Reject")), -+ (0, import_react8.createElement)("button", { type: "button", className: "bt-flybot-approve", disabled: busy, onClick: () => decide("approve") }, t("Approve")) -+ ), -+ error ? (0, import_react8.createElement)("div", { className: "bt-flybot-approval-error", role: "alert" }, error) : null -+ ); -+ return (0, import_react8.createElement)( -+ "div", -+ { className: "bt-held-actions", "data-flybot": "held-reply-actions" }, -+ custom ? (0, import_react8.createElement)(boundary(), { id: custom.id, fallback: plain }, (0, import_react8.createElement)(custom.component, { held, decide, call: call3, actions })) : plain + ); + } +- const seats = clusterSeats(Math.min(people.length, 4), size); +- const overflow = people.length > 4 ? people.length - 3 : 0; +- const gap = size / 14; +- const rings = seats.map(([x, y, s]) => ({ cx: x + s / 2, cy: y + s / 2, r: s * 0.48 + gap })); +- return (0, import_react2.createElement)( +- "span", +- { className: "bt-cluster", style: { width: size, height: size } }, +- seats.map(([x, y, s], index) => { +- const holes2 = rings.slice(index + 1).filter((ring) => Math.hypot(ring.cx - x - s / 2, ring.cy - y - s / 2) < ring.r + s * 0.46).map((ring) => `radial-gradient(circle at ${ring.cx - x}px ${ring.cy - y}px,transparent ${ring.r}px,#000 ${ring.r + 0.5}px)`); +- const style = { left: x, top: y, width: s, height: s }; +- if (holes2.length > 0) Object.assign(style, { WebkitMaskImage: holes2.join(","), maskImage: holes2.join(","), WebkitMaskComposite: "source-in", maskComposite: "intersect" }); +- if (overflow > 0 && index === 3) { +- return (0, import_react2.createElement)("span", { key: "more", className: "bt-cluster-more", style: { ...style, width: s * 0.92, height: s * 0.92, margin: s * 0.04, fontSize: Math.max(8, Math.round(s * 0.36)) } }, `+${overflow}`); +- } +- const bot = people[index]; +- return (0, import_react2.createElement)("span", { key: bot?.id ?? "you", style }, seat(bot, s)); +- }) ++ const plain = (0, import_react8.createElement)( ++ "div", ++ { className: "bt-held-card", role: "region", "aria-label": t("Waiting for your approval") }, ++ (0, import_react8.createElement)("div", { className: "bt-held-head" }, t("Waiting for your approval")), ++ (0, import_react8.createElement)("div", { className: "bt-flybot-approval-origin" }, t("{from} → {to}", { from: held.from ?? t("A Bot"), to: held.toName })), ++ (0, import_react8.createElement)( ++ "div", ++ { className: "bt-flybot-approval-actions" }, ++ (0, import_react8.createElement)("button", { type: "button", disabled: busy, onClick: () => decide("reject") }, t("Reject")), ++ (0, import_react8.createElement)("button", { type: "button", className: "bt-flybot-approve", disabled: busy, onClick: () => decide("approve") }, t("Approve")) ++ ), ++ error ? (0, import_react8.createElement)("div", { className: "bt-flybot-approval-error", role: "alert" }, error) : null + ); ++ return (0, import_react8.createElement)( ++ "div", ++ { className: "bt-held-actions", "data-flybot": "held-reply-actions" }, ++ custom ? (0, import_react8.createElement)(boundary(), { id: custom.id, fallback: plain }, (0, import_react8.createElement)(custom.component, { held, decide, call: call3, actions })) : plain + ); } --// src/client/mark.js --var import_react2 = require("react"); --var STATES = ["idle", "thinking", "searching", "working", "sending", "orbit", "alert", "done"]; --var botState = (running, activity, alert) => running ? STATES.includes(activity) ? activity : "working" : alert ? "alert" : "idle"; --var toolState = (name) => /^(message_bot|stop_bot|create_bot|update_bot|create_group|update_group|delete_group|post_to_group)$/.test(name) ? "sending" : /search|fetch|browse|read|grep|glob|list|recall/i.test(name) ? "searching" : "working"; --function useGaze(ref, enabled) { -- (0, import_react2.useEffect)(() => { -- if (!enabled) return void 0; -- let frame = 0; -- let point = null; -- const place = () => { -- frame = 0; -- const node = ref.current; -- if (!node || !point) return; -- const box = node.getBoundingClientRect(); -- const clamp = (value) => Math.max(-1, Math.min(1, value)); -- node.style.setProperty("--bt-gx", clamp((point.x - box.left - box.width / 2) / 160).toFixed(2)); -- node.style.setProperty("--bt-gy", clamp((point.y - box.top - box.height / 2) / 160).toFixed(2)); -- }; -- const onMove = (event) => { -- point = { x: event.clientX, y: event.clientY }; -- if (!frame) frame = requestAnimationFrame(place); -- }; -- const onLeave = () => { -- point = null; -- ref.current?.style.setProperty("--bt-gx", "0"); -- ref.current?.style.setProperty("--bt-gy", "0"); -- }; -- window.addEventListener("pointermove", onMove, { passive: true }); -- document.documentElement.addEventListener("pointerleave", onLeave); -- return () => { -- cancelAnimationFrame(frame); -- window.removeEventListener("pointermove", onMove); -- document.documentElement.removeEventListener("pointerleave", onLeave); -- }; -- }, [enabled]); +-// src/client/icons.js +-var import_react3 = require("react"); +-function PlusIcon() { +- return (0, import_react3.createElement)("svg", { width: 18, height: 18, viewBox: "0 0 20 20", "aria-hidden": true }, (0, import_react3.createElement)("path", { d: "M10 3.5v13M3.5 10h13", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round" })); +-} +-function SearchIcon() { +- return (0, import_react3.createElement)("svg", { width: 16, height: 16, viewBox: "0 0 20 20", "aria-hidden": true }, (0, import_react3.createElement)("circle", { cx: 8.5, cy: 8.5, r: 5.5, stroke: "currentColor", strokeWidth: 1.6, fill: "none" }), (0, import_react3.createElement)("path", { d: "M13 13l4 4", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round" })); +// src/client/turn-reasoning.js +function turnReasoning(steps, current) { + const members = steps.length ? steps : [current]; + if (members.find((step) => stepReasoning(step) !== "")?.step !== current.step) return ""; + return members.filter((step) => !thinkingLive(step)).map(stepReasoning).filter(Boolean).join("\n\n"); } --var FIDGETS = ["hop", "sway", "stretch", "look"]; --function BotMark({ bot, look: given, size = 36, state = "idle", live = false, gaze = false, pokeable = false, label }) { -- const look = given ?? lookOf(bot); -- const ref = (0, import_react2.useRef)(null); -- const maskId = (0, import_react2.useRef)(""); -- if (maskId.current === "") maskId.current = `bt-mark-${nextMarkSerial()}`; -- const [poked, setPoked] = (0, import_react2.useState)(false); -- useGaze(ref, gaze); -- const common = { -- ref, -- className: poked ? "bt-mark bt-mark-poke" : "bt-mark", -- "data-shape": look.image ? "image" : shapeId(look.shape), -- "data-state": STATES.includes(state) ? state : "idle", -- "data-live": live ? "" : void 0, -- "data-fidget": live ? FIDGETS[fnv1a(`${bot?.id ?? ""}:fidget`) % FIDGETS.length] : void 0, -- "data-gaze": gaze ? "" : void 0, -- "data-poke": pokeable ? "" : void 0, -- style: { width: size, height: size, ...live ? { "--bt-delay": `${-(fnv1a(String(bot?.id ?? "")) % 5e3) / 1e3}s`, "--bt-fidget-delay": `${-(fnv1a(`${bot?.id ?? ""}:when`) % 9e3) / 1e3}s` } : {} }, -- role: label ? "img" : void 0, -- "aria-label": label, -- "aria-hidden": label ? void 0 : true, -- onClick: pokeable ? () => setPoked(true) : void 0, -- onAnimationEnd: poked ? (event) => { -- if (/^bt-poke/.test(event.animationName)) setPoked(false); -- } : void 0 +-function PeopleIcon() { +- return (0, import_react3.createElement)( +- "svg", +- { width: 14, height: 14, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", "aria-hidden": true }, +- (0, import_react3.createElement)("circle", { cx: 7.5, cy: 7, r: 3 }), +- (0, import_react3.createElement)("path", { d: "M2 16.5c.6-2.8 2.8-4.5 5.5-4.5s4.9 1.7 5.5 4.5" }), +- (0, import_react3.createElement)("path", { d: "M13 4.3a3 3 0 0 1 0 5.4M15 12.4c1.6.6 2.6 2 3 4.1" }) +var texts = (step) => step.blocks.filter((block) => block.kind === "text" && block.text.trim() !== ""); +var thinkingLive = (step) => step.status === "running" && texts(step).length === 0 && step.blocks.some((block) => block.kind === "reasoning"); +var stepReasoning = (step) => step.blocks.filter((block) => block.kind === "reasoning").map((block) => block.text).join("\n").trim(); @@ -6705,16 +7070,7 @@ diff --git a/client.js b/client.js + event.preventDefault(); + event.stopPropagation(); + actions.openSession(target); - }; -- if (look.image) return (0, import_react2.createElement)("span", common, (0, import_react2.createElement)("img", { className: "bt-mark-img", src: look.image, alt: "", draggable: false })); -- const box = shapeOf(look.shape).size; -- return (0, import_react2.createElement)("span", common, (0, import_react2.createElement)("svg", { viewBox: `0 0 ${box} ${box}`, dangerouslySetInnerHTML: { __html: characterMarkup(look.shape, look.color).replaceAll(MASK_ID, maskId.current) } })); --} --function StarIcon({ size = 8 }) { -- return (0, import_react2.createElement)( -- "svg", -- { width: size, height: size, viewBox: "0 0 10 10", "aria-hidden": true }, -- (0, import_react2.createElement)("path", { d: "M5 .6l1.3 2.8 3 .3-2.3 2 .7 3L5 7.2 2.3 8.7l.7-3L.7 3.7l3-.3z", fill: "#fff" }) ++ }; + const reactions = useUi ? useUi((state) => msgKey ? state.reactions?.[msgKey] ?? null : null) : null; + return (0, import_react9.createElement)( + "div", @@ -6749,8 +7105,8 @@ diff --git a/client.js b/client.js + }) ); } --function AdminStar() { -- return (0, import_react2.createElement)("span", { className: "bt-admin-star", role: "img", "aria-label": t("Admin") }, (0, import_react2.createElement)(StarIcon, { size: 7 })); +-function ArrowUpIcon() { +- return (0, import_react3.createElement)("svg", { width: 16, height: 16, viewBox: "0 0 20 20", "aria-hidden": true }, (0, import_react3.createElement)("path", { d: "M10 16V4M5 9l5-5 5 5", stroke: "currentColor", strokeWidth: 1.8, fill: "none", strokeLinecap: "round", strokeLinejoin: "round" })); +var WAITING_OTHERS_NOTICE = "Waiting for the owner's approval"; +var REACTIONS = ["👍", "❤️", "😂", "😮", "😢", "🙏"]; +function leaveNoticeCoveredByClose(room2, text2) { @@ -6765,11 +7121,12 @@ diff --git a/client.js b/client.js + } + return false; } --function MainStar() { -- return (0, import_react2.createElement)( +-function MicIcon({ size = 16 }) { +- return (0, import_react3.createElement)( - "svg", -- { viewBox: "0 0 20 20", "aria-hidden": true }, -- (0, import_react2.createElement)("path", { d: "M10 2.4l2.29 5.04 5.51.63-4.09 3.74 1.11 5.42L10 14.5l-4.82 2.73 1.11-5.42L2.2 8.07l5.51-.63z" }) +- { width: size, height: size, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round", "aria-hidden": true }, +- (0, import_react3.createElement)("rect", { x: 7, y: 2.5, width: 6, height: 10, rx: 3, fill: "currentColor", stroke: "none" }), +- (0, import_react3.createElement)("path", { d: "M4.5 9.5a5.5 5.5 0 0 0 11 0M10 15v2.5" }) - ); +function useDismiss(open, close, refs) { + (0, import_react9.useEffect)(() => { @@ -6792,15 +7149,11 @@ diff --git a/client.js b/client.js + }; + }, [open]); } --function useSettled(state) { -- const prev = (0, import_react2.useRef)(state); -- const [settled, setSettled] = (0, import_react2.useState)(false); -- (0, import_react2.useEffect)(() => { -- const was = prev.current; -- prev.current = state; -- if (state !== "idle") { -- setSettled(false); -- return void 0; +-function WaveIcon({ size = 16 }) { +- return (0, import_react3.createElement)( +- "svg", +- { width: size, height: size, viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": true }, +- [[3, 7.5, 5], [6.5, 4.5, 11], [10, 2.5, 15], [13.5, 5.5, 9], [17, 8, 4]].map(([x, y, height]) => (0, import_react3.createElement)("rect", { key: x, x: x - 1, y, width: 2, height, rx: 1 })) +function MessageTools({ text: text2, name, sessionId, react, actions }) { + const [panel, setPanel] = (0, import_react9.useState)(null); + const [place, setPlace] = (0, import_react9.useState)(null); @@ -6813,26 +7166,7 @@ diff --git a/client.js b/client.js + if (panel === kind) { + close(); + return; - } -- if (was === "idle" || was === "alert") return void 0; -- setSettled(true); -- const timer = setTimeout(() => setSettled(false), 1800); -- return () => clearTimeout(timer); -- }, [state]); -- return settled; --} --function BotAvatar({ bot, size, state = "idle", main, admin, badge = true, live = true, gaze = false, pokeable = false }) { -- const settled = useSettled(state); -- if (bot === void 0) return (0, import_react2.createElement)(BotMark, { size }); -- const badgeKind = !badge ? null : state === "alert" ? "alert" : state !== "idle" ? "working" : admin ? "admin" : main ? "main" : null; -- return (0, import_react2.createElement)( -- "span", -- { className: "bt-mark", style: { width: size, height: size, "--bt-size": `${size}px` } }, -- (0, import_react2.createElement)(BotMark, { bot, size, state: settled ? "done" : state, live, gaze, pokeable }), -- badgeKind === "working" ? (0, import_react2.createElement)("span", { className: "bt-badge bt-badge-working", "aria-label": t("Working"), role: "img" }) : null, -- badgeKind === "alert" ? (0, import_react2.createElement)("span", { className: "bt-badge bt-badge-alert", "aria-label": t("Waiting for your answer"), role: "img" }, "?") : null, -- badgeKind === "admin" ? (0, import_react2.createElement)("span", { className: "bt-badge bt-badge-admin", "aria-label": t("Admin"), role: "img" }, (0, import_react2.createElement)(StarIcon)) : null, -- badgeKind === "main" ? (0, import_react2.createElement)("span", { className: "bt-badge bt-badge-main", "aria-label": t("Main Bot"), role: "img" }, (0, import_react2.createElement)(MainStar)) : null ++ } + const rect = event.currentTarget.getBoundingClientRect(); + const below = rect.bottom + 220 < window.innerHeight; + setPlace(kind === "react" ? { left: rect.left + rect.width / 2, top: rect.top - 6, "--bt-origin": "bottom center" } : { left: Math.min(rect.left, window.innerWidth - 208), ...below ? { top: rect.bottom + 4 } : { bottom: window.innerHeight - rect.top + 4, "--bt-origin": "bottom left" } }); @@ -6876,29 +7210,11 @@ diff --git a/client.js b/client.js + ), document.body) : null ); } --function clusterSeats(count, frame) { -- if (count === 1) return [[0, 0, frame]]; -- if (count === 2) return [[0, 0, frame * 2 / 3], [frame / 3, frame / 3, frame * 2 / 3]]; -- if (count === 3) { -- const size = frame * 5 / 9; -- const rest = frame - size; -- return [[rest / 2, 0, size], [0, rest, size], [rest, rest, size]]; -- } -- const half = frame / 2; -- return [[0, 0, half], [half, 0, half], [0, half, half], [half, half, half]]; --} --function RoomAvatar({ room: room2, roster, size = 36 }) { -- const members = room2.members.map((id) => roster.byId[id]).filter(Boolean); -- const people = members.length === 1 ? [members[0], null] : members; -- const seat = (bot, seatSize, key) => bot ? (0, import_react2.createElement)(BotMark, { key, bot, size: seatSize }) : (0, import_react2.createElement)("span", { key, className: "bt-cluster-you", style: { width: seatSize * 0.92, height: seatSize * 0.92, margin: seatSize * 0.04 } }); -- if (people.length === 0) return (0, import_react2.createElement)(BotMark, { size }); -- if (size <= 20 && people.length > 1) { -- return (0, import_react2.createElement)( -- "span", -- { className: "bt-stack", style: { "--bt-stack-size": `${size}px` } }, -- people.slice(0, 3).map((bot, index) => seat(bot, size, bot?.id ?? `you-${index}`)), -- people.length > 3 ? (0, import_react2.createElement)("span", { className: "bt-stack-more" }, `+${people.length - 3}`) : null -- ); +-function ShareIcon() { +- return (0, import_react3.createElement)( +- "svg", +- { width: 16, height: 16, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true }, +- (0, import_react3.createElement)("path", { d: "M10 12.5V3M6.5 6.5L10 3l3.5 3.5M4 11v4.5A1.5 1.5 0 0 0 5.5 17h9a1.5 1.5 0 0 0 1.5-1.5V11" }) +var PEEK_MAX = 160; +var CUT = "…"; +var MARKUP = [/^\s{0,3}(?:`{3,}|~{3,})/, /^\s{0,3}([-*_])(?:\s*\1){2,}\s*$/]; @@ -6910,42 +7226,7 @@ diff --git a/client.js b/client.js + for (const part of graphemes(line2)) { + if (kept.length + part.length > PEEK_MAX - CUT.length) break; + kept += part; - } -- const seats = clusterSeats(Math.min(people.length, 4), size); -- const overflow = people.length > 4 ? people.length - 3 : 0; -- const gap = size / 14; -- const rings = seats.map(([x, y, s]) => ({ cx: x + s / 2, cy: y + s / 2, r: s * 0.48 + gap })); -- return (0, import_react2.createElement)( -- "span", -- { className: "bt-cluster", style: { width: size, height: size } }, -- seats.map(([x, y, s], index) => { -- const holes2 = rings.slice(index + 1).filter((ring) => Math.hypot(ring.cx - x - s / 2, ring.cy - y - s / 2) < ring.r + s * 0.46).map((ring) => `radial-gradient(circle at ${ring.cx - x}px ${ring.cy - y}px,transparent ${ring.r}px,#000 ${ring.r + 0.5}px)`); -- const style = { left: x, top: y, width: s, height: s }; -- if (holes2.length > 0) Object.assign(style, { WebkitMaskImage: holes2.join(","), maskImage: holes2.join(","), WebkitMaskComposite: "source-in", maskComposite: "intersect" }); -- if (overflow > 0 && index === 3) { -- return (0, import_react2.createElement)("span", { key: "more", className: "bt-cluster-more", style: { ...style, width: s * 0.92, height: s * 0.92, margin: s * 0.04, fontSize: Math.max(8, Math.round(s * 0.36)) } }, `+${overflow}`); -- } -- const bot = people[index]; -- return (0, import_react2.createElement)("span", { key: bot?.id ?? "you", style }, seat(bot, s)); -- }) -- ); --} -- --// src/client/icons.js --var import_react3 = require("react"); --function PlusIcon() { -- return (0, import_react3.createElement)("svg", { width: 18, height: 18, viewBox: "0 0 20 20", "aria-hidden": true }, (0, import_react3.createElement)("path", { d: "M10 3.5v13M3.5 10h13", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round" })); --} --function SearchIcon() { -- return (0, import_react3.createElement)("svg", { width: 16, height: 16, viewBox: "0 0 20 20", "aria-hidden": true }, (0, import_react3.createElement)("circle", { cx: 8.5, cy: 8.5, r: 5.5, stroke: "currentColor", strokeWidth: 1.6, fill: "none" }), (0, import_react3.createElement)("path", { d: "M13 13l4 4", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round" })); --} --function PeopleIcon() { -- return (0, import_react3.createElement)( -- "svg", -- { width: 14, height: 14, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", "aria-hidden": true }, -- (0, import_react3.createElement)("circle", { cx: 7.5, cy: 7, r: 3 }), -- (0, import_react3.createElement)("path", { d: "M2 16.5c.6-2.8 2.8-4.5 5.5-4.5s4.9 1.7 5.5 4.5" }), -- (0, import_react3.createElement)("path", { d: "M13 4.3a3 3 0 0 1 0 5.4M15 12.4c1.6.6 2.6 2 3 4.1" }) ++ } + return kept + CUT; +}; +var onlyMarkup = (lines) => lines.length === 1 ? t("{n} line of reasoning", { n: lines.length }) : t("{n} lines of reasoning", { n: lines.length }); @@ -6970,8 +7251,8 @@ diff --git a/client.js b/client.js + (0, import_react9.createElement)("div", { className: "bt-think-text" }, text2) ); } --function ArrowUpIcon() { -- return (0, import_react3.createElement)("svg", { width: 16, height: 16, viewBox: "0 0 20 20", "aria-hidden": true }, (0, import_react3.createElement)("path", { d: "M10 16V4M5 9l5-5 5 5", stroke: "currentColor", strokeWidth: 1.8, fill: "none", strokeLinecap: "round", strokeLinejoin: "round" })); +-function CloseIcon() { +- return (0, import_react3.createElement)("svg", { width: 16, height: 16, viewBox: "0 0 20 20", "aria-hidden": true }, (0, import_react3.createElement)("path", { d: "M5 5l10 10M15 5L5 15", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round" })); +function useFileMentions({ node, openFile, fileMentions, useTurnData }) { + const tail = useTurnData?.("turn-tail"); + const location2 = node.location; @@ -6982,84 +7263,13 @@ diff --git a/client.js b/client.js + return tail?.closing?.finalNode.seq === seq ? fileMentions({ turn, seq, openFile }) : void 0; + }, [fileMentions, openFile, seq, tail, turn]); } --function MicIcon({ size = 16 }) { +-var ChevronLeftIcon = () => (0, import_react3.createElement)("svg", { width: 16, height: 16, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true }, (0, import_react3.createElement)("path", { d: "M12.5 4.5L7 10l5.5 5.5" })); +-var ChevronRightIcon = () => (0, import_react3.createElement)("svg", { width: 14, height: 14, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true }, (0, import_react3.createElement)("path", { d: "M7.5 4.5L13 10l-5.5 5.5" })); +-var lineIcon = (paths) => function LineIcon() { - return (0, import_react3.createElement)( - "svg", -- { width: size, height: size, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round", "aria-hidden": true }, -- (0, import_react3.createElement)("rect", { x: 7, y: 2.5, width: 6, height: 10, rx: 3, fill: "currentColor", stroke: "none" }), -- (0, import_react3.createElement)("path", { d: "M4.5 9.5a5.5 5.5 0 0 0 11 0M10 15v2.5" }) -- ); -+function useClosingText(node, useTurnData) { -+ const tail = useTurnData?.("turn-tail"); -+ const seq = node.data.finalNode?.seq; -+ if (!tail?.closing || seq === void 0) return true; -+ return tail.closing.finalNode?.seq === seq; - } --function WaveIcon({ size = 16 }) { -- return (0, import_react3.createElement)( -- "svg", -- { width: size, height: size, viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": true }, -- [[3, 7.5, 5], [6.5, 4.5, 11], [10, 2.5, 15], [13.5, 5.5, 9], [17, 8, 4]].map(([x, y, height]) => (0, import_react3.createElement)("rect", { key: x, x: x - 1, y, width: 2, height, rx: 1 })) -- ); -+function friendLead(bot, texts2) { -+ if (bot?.remote === void 0 || texts2.length === 0) return void 0; -+ if (texts2.every((text2) => /^Not sent:/.test(text2.trim()))) return void 0; -+ return (0, import_react9.createElement)("span", { className: "bt-lead", title: bot.name, "data-flybot": "friend-lead" }, (0, import_react9.createElement)(BotMark, { bot, size: 22 })); - } --function ShareIcon() { -- return (0, import_react3.createElement)( -- "svg", -- { width: 16, height: 16, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true }, -- (0, import_react3.createElement)("path", { d: "M10 12.5V3M6.5 6.5L10 3l3.5 3.5M4 11v4.5A1.5 1.5 0 0 0 5.5 17h9a1.5 1.5 0 0 0 1.5-1.5V11" }) -+function AssistantCell({ node, groupPart, sessionId, openFile, fileMentions, useTurnData, useRoster, useUi, useTurnSteps, useTurnContext, actions }) { -+ const roster = useRoster((value) => value); -+ const data = node.data; -+ const steps = useTurnSteps(String(data.turn)); -+ const contexts = useTurnContext(String(data.turn)); -+ const mentions = useFileMentions({ node, openFile, fileMentions, useTurnData }); -+ const held = groupPart === "reasoning" ? void 0 : heldReplyOf(roster.byId[sessionId], sessionId, data.turn); -+ const closing = useClosingText(node, useTurnData); -+ const hidden = Boolean(roster.roomsById[sessionId]) || isHiddenTurn(roster, sessionId, data.turn); -+ const person = typedBy(roster, sessionId, data.turn); -+ const texts2 = groupPart === "reasoning" ? [] : data.blocks.filter((block) => block.kind === "text" && block.text.trim() !== "").map((block, index) => index === 0 ? stripTrace(block.text) : block.text).filter((text2) => text2.trim() !== ""); -+ const running = data.status === "running"; -+ useLiveNote(actions, sessionId, `text:${node.key ?? data.seq}`, !hidden && running && texts2.length > 0 ? { text: true } : null); -+ if (hidden) return null; -+ const reasoning = groupPart === "response" ? "" : turnReasoning(steps, data); -+ const relays = relayPart(data, groupPart) ? relaysBefore(contexts, steps, data) : []; -+ if (texts2.length === 0 && !reasoning && relays.length === 0) return null; -+ const selfId = roster.byId[sessionId]?.id ?? sessionId; -+ const bubbles = texts2.length ? person ? (0, import_react9.createElement)(PersonMessage, { name: person, texts: texts2, roster, selfId, actions, sessionId, msgKey: `${sessionId}:${data.turn}:${node.key ?? data.seq ?? ""}`, useUi }) : (0, import_react9.createElement)(Bubbles, { texts: texts2, roster, selfId, actions, streaming: running, sessionId, msgKey: `${sessionId}:${data.turn}:${node.key ?? data.seq ?? ""}`, useUi, mentions, lead: friendLead(roster.byId[sessionId], texts2) }) : null; -+ return (0, import_react9.createElement)( -+ import_react9.Fragment, -+ null, -+ relays.map((relay) => { -+ const source = relay.source; -+ const sender = roster.byId[source.senderSessionId] ?? { id: source.senderSessionId, name: source.senderName ?? t("a Bot"), color: "gray" }; -+ return (0, import_react9.createElement)(EventLine, { -+ key: relay.seq, -+ prefix: source.role === "stopped" ? t("Stopped by") : source.role === "reply" ? t("Reply from") : t("Message from"), -+ bots: [sender], -+ onOpen: () => { -+ if (sender.id) actions.openExchange(selfId, sender.id); -+ }, -+ whole: true -+ }); -+ }), -+ reasoning ? (0, import_react9.createElement)(ThinkingRow, { text: reasoning }) : null, -+ held && bubbles ? (0, import_react9.createElement)(HeldReply, { held, roster, sessionId, actions, closing }, bubbles) : bubbles - ); - } --function CloseIcon() { -- return (0, import_react3.createElement)("svg", { width: 16, height: 16, viewBox: "0 0 20 20", "aria-hidden": true }, (0, import_react3.createElement)("path", { d: "M5 5l10 10M15 5L5 15", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round" })); --} --var ChevronLeftIcon = () => (0, import_react3.createElement)("svg", { width: 16, height: 16, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true }, (0, import_react3.createElement)("path", { d: "M12.5 4.5L7 10l5.5 5.5" })); --var ChevronRightIcon = () => (0, import_react3.createElement)("svg", { width: 14, height: 14, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.6, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true }, (0, import_react3.createElement)("path", { d: "M7.5 4.5L13 10l-5.5 5.5" })); --var lineIcon = (paths) => function LineIcon() { -- return (0, import_react3.createElement)( -- "svg", -- { width: 15, height: 15, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true }, -- paths.map((d, index) => (0, import_react3.createElement)("path", { key: index, d })) +- { width: 15, height: 15, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true }, +- paths.map((d, index) => (0, import_react3.createElement)("path", { key: index, d })) - ); -}; -var CLOUD = "M6.5 15.25H5.75a3.25 3.25 0 0 1-.55-6.45 4.75 4.75 0 0 1 9.2-1.1 3.75 3.75 0 0 1 .1 7.55H13.5"; @@ -7069,16 +7279,12 @@ diff --git a/client.js b/client.js - { width: 16, height: 16, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true }, - (0, import_react3.createElement)("path", { d: CLOUD }), - done ? (0, import_react3.createElement)("path", { d: "M7.75 13.25l1.75 1.75 3-3.25" }) : (0, import_react3.createElement)("g", { className: "bt-cloud-arrow" }, (0, import_react3.createElement)("path", { d: "M10 9.75v7" }), (0, import_react3.createElement)("path", { d: "M7.75 14.5L10 16.75l2.25-2.25" })) -+function HeldReply({ held, roster, sessionId, actions, closing, children }) { -+ const bot = roster.byId[sessionId]; -+ const chat = (roster.bots ?? []).find((item) => item.remote?.handle === held.to); -+ const toName = cleanPeerName(held.toOwner) || (chat ? friendBotOwner(chat) : ownerNameOf({ handle: held.to })) || held.to || t("a friend"); -+ return (0, import_react9.createElement)( -+ "div", -+ { className: "bt-held-reply", "data-state": held.status, "data-held": isApprovalWaiting(held.status) ? "" : void 0 }, -+ children, -+ closing ? (0, import_react9.createElement)(HeldReplyActions, { held: { ...held, toName, from: bot?.name }, actions }) : null - ); +- ); ++function useClosingText(node, useTurnData) { ++ const tail = useTurnData?.("turn-tail"); ++ const seq = node.data.finalNode?.seq; ++ if (!tail?.closing || seq === void 0) return true; ++ return tail.closing.finalNode?.seq === seq; } -var SmileIcon = lineIcon(["M10 3.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z", "M7.3 11.6a3.4 3.4 0 0 0 5.4 0", "M7.75 8.25h.01M12.25 8.25h.01"]); -var ReplyIcon = lineIcon(["M8 5L4 9l4 4", "M4 9h7.5a4.5 4.5 0 0 1 4.5 4.5V15"]); @@ -7105,14 +7311,11 @@ diff --git a/client.js b/client.js - (0, import_react3.createElement)("path", { d: "M8 2.5h4a.9.9 0 0 1 0 1.8h-.4v4.1c0 1.4 1.1 2.6 2.6 3.1l.7.3v1.5H5.1v-1.5l.7-.3c1.5-.5 2.6-1.7 2.6-3.1V4.3H8a.9.9 0 0 1 0-1.8z" }), - (0, import_react3.createElement)("path", { d: "M9.35 13.3h1.3v3.6L10 18l-.65-1.1z" }) - ) -+function PersonMessage({ name, texts: texts2, roster, selfId, actions, sessionId, msgKey, useUi }) { -+ const lead = (0, import_react9.createElement)("span", { className: "bt-lead", title: name }, (0, import_react9.createElement)(PersonMark, { name })); -+ return (0, import_react9.createElement)( -+ "div", -+ { className: "bt-group-msg bt-person-msg", "data-person": name }, -+ (0, import_react9.createElement)("span", { className: "bt-group-name" }, name), -+ (0, import_react9.createElement)(Bubbles, { texts: texts2, roster, selfId, actions, sessionId, msgKey, useUi, lead }) - ); +- ); ++function friendLead(bot, texts2) { ++ if (bot?.remote === void 0 || texts2.length === 0) return void 0; ++ if (texts2.every((text2) => /^Not sent:/.test(text2.trim()))) return void 0; ++ return (0, import_react9.createElement)("span", { className: "bt-lead", title: bot.name, "data-flybot": "friend-lead" }, (0, import_react9.createElement)(BotMark, { bot, size: 22 })); } -var UnreadIcon = lineIcon(["M10 3.5a4.5 4.5 0 0 0-4.5 4.5v3L4 13.5h12L14.5 11V8", "M8.3 16a1.8 1.8 0 0 0 3.4 0", "M15.5 3.2a1.6 1.6 0 1 1 0 3.2 1.6 1.6 0 0 1 0-3.2z"]); -var PencilIcon = lineIcon(["M9 4H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3", "M14.3 3.7a1.6 1.6 0 0 1 2.3 2.3L10.5 12l-3 .8.8-3z"]); @@ -7154,7 +7357,48 @@ diff --git a/client.js b/client.js - document.addEventListener("keydown", onKey, true); - return () => document.removeEventListener("keydown", onKey, true); - }, [count, ownRef]); --} ++function AssistantCell({ node, groupPart, sessionId, openFile, fileMentions, useTurnData, useRoster, useUi, useTurnSteps, useTurnContext, actions }) { ++ const roster = useRoster((value) => value); ++ const data = node.data; ++ const steps = useTurnSteps(String(data.turn)); ++ const contexts = useTurnContext(String(data.turn)); ++ const mentions = useFileMentions({ node, openFile, fileMentions, useTurnData }); ++ const held = groupPart === "reasoning" ? void 0 : heldReplyOf(roster.byId[sessionId], sessionId, data.turn); ++ const closing = useClosingText(node, useTurnData); ++ const hidden = Boolean(roster.roomsById[sessionId]) || isHiddenTurn(roster, sessionId, data.turn); ++ const person = typedBy(roster, sessionId, data.turn); ++ const feishu = roster.feishuTurns?.[sessionId]?.[data.turn]; ++ const texts2 = groupPart === "reasoning" ? [] : data.blocks.filter((block) => block.kind === "text" && block.text.trim() !== "").map((block, index) => index === 0 ? stripTrace(block.text) : block.text).filter((text2) => text2.trim() !== ""); ++ const running = data.status === "running"; ++ useLiveNote(actions, sessionId, `text:${node.key ?? data.seq}`, !hidden && running && texts2.length > 0 ? { text: true } : null); ++ if (hidden) return null; ++ const reasoning = groupPart === "response" ? "" : turnReasoning(steps, data); ++ const relays = relayPart(data, groupPart) ? relaysBefore(contexts, steps, data) : []; ++ if (texts2.length === 0 && !reasoning && relays.length === 0) return null; ++ const selfId = roster.byId[sessionId]?.id ?? sessionId; ++ const bubbles = texts2.length ? person ? (0, import_react9.createElement)(PersonMessage, { name: person, texts: texts2, roster, selfId, actions, sessionId, msgKey: `${sessionId}:${data.turn}:${node.key ?? data.seq ?? ""}`, useUi }) : (0, import_react9.createElement)(Bubbles, { texts: texts2, roster, selfId, actions, streaming: running, sessionId, msgKey: `${sessionId}:${data.turn}:${node.key ?? data.seq ?? ""}`, useUi, mentions, lead: friendLead(roster.byId[sessionId], texts2) }) : null; ++ return (0, import_react9.createElement)( ++ feishu ? "div" : import_react9.Fragment, ++ feishu ? { id: `feishu-message-${feishu.messageId ?? data.turn}`, "data-feishu-root": feishu.rootId ?? "" } : null, ++ feishu?.rootId ? (0, import_react9.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", title: feishu.rootId, onClick: () => document.getElementById(`feishu-message-${feishu.rootId}`)?.scrollIntoView?.({ block: "center" }) }, t("Reply in thread")) : null, ++ feishu?.attachments?.length ? (0, import_react9.createElement)(RemoteFiles, { files: feishu.attachments, appId: feishu.appId, plugin: "feishu", botId: selfId }) : null, ++ relays.map((relay) => { ++ const source = relay.source; ++ const sender = roster.byId[source.senderSessionId] ?? { id: source.senderSessionId, name: source.senderName ?? t("a Bot"), color: "gray" }; ++ return (0, import_react9.createElement)(EventLine, { ++ key: relay.seq, ++ prefix: source.role === "stopped" ? t("Stopped by") : source.role === "reply" ? t("Reply from") : t("Message from"), ++ bots: [sender], ++ onOpen: () => { ++ if (sender.id) actions.openExchange(selfId, sender.id); ++ }, ++ whole: true ++ }); ++ }), ++ reasoning ? (0, import_react9.createElement)(ThinkingRow, { text: reasoning }) : null, ++ held && bubbles ? (0, import_react9.createElement)(HeldReply, { held, roster, sessionId, actions, closing }, bubbles) : bubbles ++ ); + } -function QuestionView({ question, onAnswer, onDismiss, ownAnswer = false, raised = false }) { - const [own, setOwn] = (0, import_react4.useState)(""); - const [picked, setPicked] = (0, import_react4.useState)([]); @@ -7214,6 +7458,26 @@ diff --git a/client.js b/client.js - option.description ? (0, import_react4.createElement)("span", { className: "bt-q-desc" }, option.description) : null - ), - selected && !raised ? (0, import_react4.createElement)("span", { className: "bt-q-check", title: t("Selected") }, (0, import_react4.createElement)(CheckIcon)) : null ++function HeldReply({ held, roster, sessionId, actions, closing, children }) { ++ const bot = roster.byId[sessionId]; ++ const chat = (roster.bots ?? []).find((item) => item.remote?.handle === held.to); ++ const toName = cleanPeerName(held.toOwner) || (chat ? friendBotOwner(chat) : ownerNameOf({ handle: held.to })) || held.to || t("a friend"); ++ return (0, import_react9.createElement)( ++ "div", ++ { className: "bt-held-reply", "data-state": held.status, "data-held": isApprovalWaiting(held.status) ? "" : void 0 }, ++ children, ++ closing ? (0, import_react9.createElement)(HeldReplyActions, { held: { ...held, toName, from: bot?.name }, actions }) : null ++ ); ++} ++function PersonMessage({ name, texts: texts2, roster, selfId, actions, sessionId, msgKey, useUi }) { ++ const lead = (0, import_react9.createElement)("span", { className: "bt-lead", title: name }, (0, import_react9.createElement)(PersonMark, { name })); ++ return (0, import_react9.createElement)( ++ "div", ++ { className: "bt-group-msg bt-person-msg", "data-person": name }, ++ (0, import_react9.createElement)("span", { className: "bt-group-name" }, name), ++ (0, import_react9.createElement)(Bubbles, { texts: texts2, roster, selfId, actions, sessionId, msgKey, useUi, lead }) ++ ); ++} +function EventLine({ prefix, bots, joiner = t("and"), onOpen, whole = false }) { + if (whole && bots.length === 1) { + return (0, import_react9.createElement)( @@ -7302,25 +7566,6 @@ diff --git a/client.js b/client.js - } - }, - (0, import_react4.createElement)( -- "div", -- { className: "bt-q-head" }, -- (0, import_react4.createElement)( -- "div", -- { className: "bt-q-text" }, -- (0, import_react4.createElement)("p", { className: "bt-q-title", id: titleId }, question.header ? `${question.header} · ` : "", question.question), -- question.detail ? (0, import_react4.createElement)("div", { className: "bt-q-detail" }, question.detail) : null, -- raised && multi ? (0, import_react4.createElement)("div", { className: "bt-q-detail" }, t("Choose all that apply")) : null -- ), -- (0, import_react4.createElement)("button", { type: "button", className: "bt-q-x", "aria-label": t("Dismiss question"), title: t("Dismiss"), onClick: onDismiss }, (0, import_react4.createElement)(CloseIcon)) -- ), -- rows.length > 0 ? (0, import_react4.createElement)("div", { className: "bt-q-list", role: "group" }, rows) : null, -- field && !raised ? (0, import_react4.createElement)( -- "div", -- { className: "bt-q-custom" }, -- (0, import_react4.createElement)("label", { className: "bt-q-field" }, field), -- !multi && canSubmit ? (0, import_react4.createElement)("button", { type: "submit", className: "bt-q-submit" }, t("Submit")) : null -- ) : null, -- foot + if (held === "held" || isHeldLine(room2, text2, bot)) return null; + const lead = (0, import_react9.createElement)( + "button", @@ -7338,14 +7583,8 @@ diff --git a/client.js b/client.js + { className: "bt-group-msg" }, + name, + (0, import_react9.createElement)(Bubbles, { texts: [text2], roster, selfId: bot.id, actions, sessionId: room2?.id, msgKey, useUi, lead }) - ); - } --function SettledQuestion({ question, answer }) { -- const options = optionsOf(question); -- const prompt = question?.question ?? ""; -- const chosen = [...answer.selected ?? [], ...answer.custom ? [answer.custom] : []]; -- if (chosen.length === 0) { -- return (0, import_react4.createElement)( ++ ); ++} +function remoteSpeaker(source, roster, sessionId) { + const handle = source.remote.handle; + const member = (roster.remoteBots ?? []).find((bot2) => bot2.handle === handle); @@ -7387,13 +7626,13 @@ diff --git a/client.js b/client.js + if (person) { + return (0, import_react9.createElement)( "div", -- { className: "bt-q bt-q-settled bt-q-dismissed", role: "group", "aria-label": prompt }, +- { className: "bt-q-head" }, - (0, import_react4.createElement)( - "div", -- { className: "bt-q-head" }, -- (0, import_react4.createElement)("div", { className: "bt-q-text" }, (0, import_react4.createElement)("p", { className: "bt-q-title" }, prompt)), -- (0, import_react4.createElement)("span", { className: "bt-q-badge" }, t("Dismissed")) -- ) +- { className: "bt-q-text" }, +- (0, import_react4.createElement)("p", { className: "bt-q-title", id: titleId }, question.header ? `${question.header} · ` : "", question.question), +- question.detail ? (0, import_react4.createElement)("div", { className: "bt-q-detail" }, question.detail) : null, +- raised && multi ? (0, import_react4.createElement)("div", { className: "bt-q-detail" }, t("Choose all that apply")) : null + { className: "bt-group-msg bt-person-msg bt-remote-msg", "data-person": person, "data-remote": handle }, + // One short header: the person, and the Bot that carried the line only when it is known (#275). + (0, import_react9.createElement)( @@ -7401,28 +7640,16 @@ diff --git a/client.js b/client.js + { className: "bt-group-name", title: handle }, + person, + carrier ? (0, import_react9.createElement)("span", { className: "bt-remote-handle" }, t("via {name}", { name: carrier })) : null -+ ), + ), +- (0, import_react4.createElement)("button", { type: "button", className: "bt-q-x", "aria-label": t("Dismiss question"), title: t("Dismiss"), onClick: onDismiss }, (0, import_react4.createElement)(CloseIcon)) + (0, import_react9.createElement)(Bubbles, { texts: [stripTrace(text2)], roster, selfId: bot.id, actions, sessionId, msgKey, useUi, lead: (0, import_react9.createElement)("span", { className: "bt-lead", title: person }, (0, import_react9.createElement)(PersonMark, { name: person })) }), -+ files.length ? (0, import_react9.createElement)(RemoteFiles, { files, plugin: member?.plugin ?? "social", botId: roster.byId[sessionId]?.id ?? sessionId }) : null - ); - } -- return (0, import_react4.createElement)( ++ files.length ? (0, import_react9.createElement)(RemoteFiles, { files, appId: source.feishu?.appId, plugin: source.feishu ? "feishu" : member?.plugin ?? "social", botId: roster.byId[sessionId]?.id ?? sessionId }) : null ++ ); ++ } + const mark = (0, import_react9.createElement)(BotMark, { bot, size: 22 }); + const lead = chatId ? (0, import_react9.createElement)("button", { type: "button", className: "bt-lead", title: handle, "aria-label": t("Open {name}'s chat", { name }), onClick: () => actions.openSession(chatId) }, mark) : (0, import_react9.createElement)("span", { className: "bt-lead", title: handle }, mark); + return (0, import_react9.createElement)( - "div", -- { className: "bt-q bt-q-settled", role: "group", "aria-label": prompt }, -- prompt ? (0, import_react4.createElement)("div", { className: "bt-q-head" }, (0, import_react4.createElement)("div", { className: "bt-q-text" }, (0, import_react4.createElement)("p", { className: "bt-q-title" }, prompt))) : null, -- (0, import_react4.createElement)("div", { className: "bt-q-list", role: "group", "aria-label": t("Your answer") }, chosen.map((label, index) => { -- const optionIndex = options.findIndex((option) => option.label === label); -- return (0, import_react4.createElement)( -- "div", -- { key: `${label}-${index}`, className: "bt-q-opt" }, -- optionIndex >= 0 ? (0, import_react4.createElement)("span", { className: "bt-key", "aria-hidden": true }, keyLetter(optionIndex)) : null, -- (0, import_react4.createElement)("span", { className: "bt-q-body" }, (0, import_react4.createElement)("span", { className: "bt-q-label" }, label)), -- (0, import_react4.createElement)("span", { className: "bt-q-check", title: t("Selected") }, (0, import_react4.createElement)(CheckIcon)) -- ); -- })) ++ "div", + { className: "bt-group-msg bt-remote-msg", "data-remote": handle }, + // A face room's header is the one name alone; the handle is on hover only (#457). + face ? (0, import_react9.createElement)("span", { className: "bt-group-name", style: { color: inkText(colorOf(bot)) }, title: handle }, name) : (0, import_react9.createElement)( @@ -7430,24 +7657,34 @@ diff --git a/client.js b/client.js + { className: "bt-group-name", style: { color: inkText(colorOf(bot)) } }, + name, + (0, import_react9.createElement)("span", { className: "bt-remote-handle", title: source.remote.home ?? handle, "aria-label": t("Friend's Bot") }, (0, import_react9.createElement)(GlobeMark), handle) -+ ), + ), +- rows.length > 0 ? (0, import_react4.createElement)("div", { className: "bt-q-list", role: "group" }, rows) : null, +- field && !raised ? (0, import_react4.createElement)( +- "div", +- { className: "bt-q-custom" }, +- (0, import_react4.createElement)("label", { className: "bt-q-field" }, field), +- !multi && canSubmit ? (0, import_react4.createElement)("button", { type: "submit", className: "bt-q-submit" }, t("Submit")) : null +- ) : null, +- foot + (0, import_react9.createElement)(Bubbles, { texts: [stripTrace(text2)], roster, selfId: bot.id, actions, sessionId, msgKey, useUi, lead }), -+ files.length ? (0, import_react9.createElement)(RemoteFiles, { files, plugin: member?.plugin ?? "social", botId: roster.byId[sessionId]?.id ?? sessionId }) : null ++ files.length ? (0, import_react9.createElement)(RemoteFiles, { files, appId: source.feishu?.appId, plugin: source.feishu ? "feishu" : member?.plugin ?? "social", botId: roster.byId[sessionId]?.id ?? sessionId }) : null ); } --function QuestionCard({ matched }) { -- const pending = matched; -- const questions = pending.questions ?? []; -- const [index, setIndex] = (0, import_react4.useState)(0); -- const [answers, setAnswers] = (0, import_react4.useState)([]); -- const question = questions[index]; -- if (question === void 0) return null; -- const onAnswer = (answer) => { -- const next = [...answers, { id: question.id, ...answer }]; -- if (index + 1 < questions.length) { -- setAnswers(next); -- setIndex(index + 1); -- return; +-function SettledQuestion({ question, answer }) { +- const options = optionsOf(question); +- const prompt = question?.question ?? ""; +- const chosen = [...answer.selected ?? [], ...answer.custom ? [answer.custom] : []]; +- if (chosen.length === 0) { +- return (0, import_react4.createElement)( +- "div", +- { className: "bt-q bt-q-settled bt-q-dismissed", role: "group", "aria-label": prompt }, +- (0, import_react4.createElement)( +- "div", +- { className: "bt-q-head" }, +- (0, import_react4.createElement)("div", { className: "bt-q-text" }, (0, import_react4.createElement)("p", { className: "bt-q-title" }, prompt)), +- (0, import_react4.createElement)("span", { className: "bt-q-badge" }, t("Dismissed")) +- ) +- ); +function FirstContact({ source, roster, sessionId }) { + const person = typeof source.remote.typedBy === "string" ? source.remote.typedBy : ""; + const who = person || remoteSpeaker(source, roster).name; @@ -7462,14 +7699,14 @@ diff --git a/client.js b/client.js + (0, import_react9.createElement)("path", { d: "M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18" }) + ); +} -+function RemoteFiles({ files, plugin, botId }) { ++function RemoteFiles({ files, plugin, botId, appId }) { + const [busy, setBusy] = (0, import_react9.useState)(""); + const [error, setError] = (0, import_react9.useState)(""); + const download2 = async (file) => { + setBusy(file.id); + setError(""); + try { -+ const got = await call(`flybot/${plugin}/attachment`, { id: file.id, botId }); ++ const got = plugin === "feishu" ? await call("feishu", { operation: "attachment", appId, attachmentId: file.id }) : await call(`flybot/${plugin}/attachment`, { id: file.id, botId }); + const value = got?.value ?? got; + const bytes = Uint8Array.from(atob(value.content_base64), (c) => c.charCodeAt(0)); + const url = URL.createObjectURL(new Blob([bytes], { type: "application/octet-stream" })); @@ -7480,11 +7717,9 @@ diff --git a/client.js b/client.js + setError(String(reason?.message ?? reason)); + } finally { + setBusy(""); - } -- pending.answer({ answers: next }); - }; -- return (0, import_react4.createElement)(QuestionView, { key: index, question, onAnswer, onDismiss: () => pending.dismiss(), ownAnswer: true, raised: true }); -+ return (0, import_react9.createElement)( ++ } ++ }; ++ return (0, import_react9.createElement)( + "div", + { className: "bt-file-chips" }, + files.map((file) => (0, import_react9.createElement)( @@ -7494,17 +7729,7 @@ diff --git a/client.js b/client.js + )), + error ? (0, import_react9.createElement)("span", { className: "bt-file-error", role: "alert" }, error) : null + ); - } --function PendingQuestion({ sessionId, question, actions, inline }) { -- const [answered, setAnswered] = (0, import_react4.useState)(null); -- if (answered === question.id) return null; -- const onAnswer = (answer) => { -- setAnswered(question.id); -- void actions.answerQuestion(sessionId, question.id, { selected: answer.selected ?? [], custom: answer.custom ?? "" }).catch(() => setAnswered(null)); -- }; -- const onDismiss = () => { -- setAnswered(question.id); -- void actions.dismissQuestion(sessionId); ++} +function GroupEvent({ prefix, room: room2, name, roster, actions }) { + return (0, import_react9.createElement)( + "div", @@ -7533,7 +7758,8 @@ diff --git a/client.js b/client.js +var scrollParent = (node) => { + for (let at = node.parentElement; at; at = at.parentElement) { + if (/(auto|scroll)/.test(getComputedStyle(at).overflowY)) return at; -+ } + } +- return (0, import_react4.createElement)( + return null; +}; +function EarlierParts({ sessionId, roster, actions }) { @@ -7556,8 +7782,7 @@ diff --git a/client.js b/client.js + busy.current = false; + if (alive.current) setView((current) => ({ ...current, loading: false, failed: true })); + }); - }; -- return (0, import_react4.createElement)( ++ }; + (0, import_react9.useEffect)(() => { + alive.current = true; + load(void 0); @@ -7588,8 +7813,18 @@ diff --git a/client.js b/client.js + } + return (0, import_react9.createElement)( "div", -- { className: inline ? "bt-q-inline" : "bt-q-dock" }, -- (0, import_react4.createElement)(QuestionView, { key: question.id, question, onAnswer, onDismiss, ownAnswer: question.allowCustom === true, raised: !inline }) +- { className: "bt-q bt-q-settled", role: "group", "aria-label": prompt }, +- prompt ? (0, import_react4.createElement)("div", { className: "bt-q-head" }, (0, import_react4.createElement)("div", { className: "bt-q-text" }, (0, import_react4.createElement)("p", { className: "bt-q-title" }, prompt))) : null, +- (0, import_react4.createElement)("div", { className: "bt-q-list", role: "group", "aria-label": t("Your answer") }, chosen.map((label, index) => { +- const optionIndex = options.findIndex((option) => option.label === label); +- return (0, import_react4.createElement)( +- "div", +- { key: `${label}-${index}`, className: "bt-q-opt" }, +- optionIndex >= 0 ? (0, import_react4.createElement)("span", { className: "bt-key", "aria-hidden": true }, keyLetter(optionIndex)) : null, +- (0, import_react4.createElement)("span", { className: "bt-q-body" }, (0, import_react4.createElement)("span", { className: "bt-q-label" }, label)), +- (0, import_react4.createElement)("span", { className: "bt-q-check", title: t("Selected") }, (0, import_react4.createElement)(CheckIcon)) +- ); +- })) + { className: "bt-earlier", role: "feed", "aria-label": t("Earlier messages"), "aria-busy": view.loading }, + (0, import_react9.createElement)( + "div", @@ -7627,12 +7862,19 @@ diff --git a/client.js b/client.js + (0, import_react9.createElement)(PartLine, { time: view.startedAt }) ); } --function QuestionDock({ sessionId, useRoster, useCards, useSession, actions }) { -- const question = useRoster((value) => value.questions?.[sessionId]); -- const drawn = useCards?.((state) => state[sessionId]?.[question?.callId] > 0) === true; -- const loading = useSession?.(historyLoading) === true; -- if (question === void 0 || question.callId && (drawn || loading)) return null; -- return (0, import_react4.createElement)(PendingQuestion, { sessionId, question, actions, inline: false }); +-function QuestionCard({ matched }) { +- const pending = matched; +- const questions = pending.questions ?? []; +- const [index, setIndex] = (0, import_react4.useState)(0); +- const [answers, setAnswers] = (0, import_react4.useState)([]); +- const question = questions[index]; +- if (question === void 0) return null; +- const onAnswer = (answer) => { +- const next = [...answers, { id: question.id, ...answer }]; +- if (index + 1 < questions.length) { +- setAnswers(next); +- setIndex(index + 1); +- return; +function TriggerCell({ node, sessionId, useRoster, useSessions, useTurnClock, useUi, actions }) { + const roster = useRoster((value) => value); + const data = node.data; @@ -7704,96 +7946,46 @@ diff --git a/client.js b/client.js + onOpen: (bot) => actions.openExchange(selfId, bot.id), + whole: true + }); -+ } + } +- pending.answer({ answers: next }); +- }; +- return (0, import_react4.createElement)(QuestionView, { key: index, question, onAnswer, onDismiss: () => pending.dismiss(), ownAnswer: true, raised: true }); +-} +-function PendingQuestion({ sessionId, question, actions, inline }) { +- const [answered, setAnswered] = (0, import_react4.useState)(null); +- if (answered === question.id) return null; +- const onAnswer = (answer) => { +- setAnswered(question.id); +- void actions.answerQuestion(sessionId, question.id, { selected: answer.selected ?? [], custom: answer.custom ?? "" }).catch(() => setAnswered(null)); +- }; +- const onDismiss = () => { +- setAnswered(question.id); +- void actions.dismissQuestion(sessionId); +- }; +- return (0, import_react4.createElement)( +- "div", +- { className: inline ? "bt-q-inline" : "bt-q-dock" }, +- (0, import_react4.createElement)(QuestionView, { key: question.id, question, onAnswer, onDismiss, ownAnswer: question.allowCustom === true, raised: !inline }) +- ); +-} +-function QuestionDock({ sessionId, useRoster, useCards, useSession, actions }) { +- const question = useRoster((value) => value.questions?.[sessionId]); +- const drawn = useCards?.((state) => state[sessionId]?.[question?.callId] > 0) === true; +- const loading = useSession?.(historyLoading) === true; +- if (question === void 0 || question.callId && (drawn || loading)) return null; +- return (0, import_react4.createElement)(PendingQuestion, { sessionId, question, actions, inline: false }); +-} +-function AnsweredCell({ node }) { +- const data = node.data ?? {}; +- const questions = Array.isArray(data.questions) ? data.questions : []; +- if (questions.length === 0) { +- return data.text ? (0, import_react4.createElement)("div", { className: "bt-urow" }, (0, import_react4.createElement)("div", { className: "bt-ububble" }, data.text)) : null; + if (source.kind === "schedule") { + const prompts = reminderPrompts(contentText(data.content)); + return (0, import_react9.createElement)("div", { className: "bt-event" }, prompts.length > 0 ? t("Scheduled task: {text}", { text: prompts.join(" · ").slice(0, 80) }) : t("Routine started")); + } + if (source.kind === "user-question-reply") return null; + return (0, import_react9.createElement)("div", { className: "bt-event" }, contentText(data.content).slice(0, 80) || t("Update")); -+ } -+} -+function NewDivider() { -+ return (0, import_react9.createElement)("div", { className: "bt-new-sep", role: "separator", "aria-label": t("New messages") }, (0, import_react9.createElement)("span", null, t("New"))); -+} -+function TurnProcessCell({ node, sessionId, turnProcess, useRoster, useUi, useTurnClock, actions }) { -+ const open = turnProcess === void 0 || !turnProcess.foldable || turnProcess.open; -+ (0, import_react9.useEffect)(() => { -+ if (!open) turnProcess.setOpen(true); -+ }, [open, turnProcess]); -+ const turn = node?.location?.turn?.turn ?? node?.data?.turn; -+ const start = node?.location?.turn?.start?.time; -+ const hidden = useRoster((roster) => isHiddenTurn(roster, sessionId, turn)); -+ (0, import_react9.useEffect)(() => { -+ actions.noteTurnTime(sessionId, turn, "first", start); -+ }, [sessionId, turn, start]); -+ const visit = useUi((state) => state.visits?.[sessionId]); -+ const fresh = useTurnClock((state) => { -+ const own = state[sessionId]?.[turn]; -+ return !hidden && typeof visit?.seen === "number" && own?.first !== void 0 && own.first <= visit.seen && own.end !== void 0 && own.end > visit.seen && own.end <= visit.entered; -+ }); -+ return fresh ? (0, import_react9.createElement)(NewDivider) : null; -+} -+function Nothing() { -+ return null; - } --function AnsweredCell({ node }) { -- const data = node.data ?? {}; -- const questions = Array.isArray(data.questions) ? data.questions : []; -- if (questions.length === 0) { -- return data.text ? (0, import_react4.createElement)("div", { className: "bt-urow" }, (0, import_react4.createElement)("div", { className: "bt-ububble" }, data.text)) : null; -+var HIDDEN_REMOVED_TOOLS = /* @__PURE__ */ new Set(["ask_user_question"]); -+var isConnectorTool = (name) => typeof name === "string" && /^mcp__(github|composio)__/.test(name); -+var SILENT_REGISTRATION_TOOLS = /* @__PURE__ */ new Set([ -+ "list_bots", -+ "message_bot", -+ "stop_bot", -+ "create_bot", -+ "update_bot", -+ "archive_bot", -+ "list_models", -+ "bot_schedules", -+ "create_group", -+ "update_group", -+ "delete_group", -+ "post_to_group", -+ "ask_user", -+ "track_tasks", -+ "request_secret", -+ "list_secrets", -+ "group_relay", -+ "read_own_chat", -+ "read_group_chat", -+ "remember", -+ "forget", -+ "recall", -+ "read_browser", -+ "list_capabilities", -+ "save_capability", -+ "delete_capability", -+ "attach_capability", -+ "detach_capability", -+ "track_links", -+ "project_state", -+ "project_digest", -+ "meeting" -+]); -+var isSilentRegistration = (name) => typeof name === "string" && SILENT_REGISTRATION_TOOLS.has(name); -+var isHiddenNotice = (block) => block?.type === "tool-removal" && (HIDDEN_REMOVED_TOOLS.has(block.toolName) || isConnectorTool(block.toolName) || isPluginTool(block.toolName) || isSilentRegistration(block.toolName)) || block?.type === "tool-addition" && (isConnectorTool(block.toolName) || isPluginTool(block.toolName) || isSilentRegistration(block.toolName)); -+function isHiddenToolRemoval(node) { -+ const content = node?.data?.content; -+ if (!Array.isArray(content) || content.length === 0) return false; -+ return content.every(isHiddenNotice); -+} -+function ContextCell({ node, useRoster }) { -+ useRoster?.((roster) => (roster.pluginTools ?? []).join("\n")); -+ if (isHiddenToolRemoval(node)) return null; -+ const content = Array.isArray(node?.data?.content) ? node.data.content : []; -+ const parts = []; -+ for (const block of content) { -+ if (isHiddenNotice(block)) continue; -+ if (block?.type === "tool-removal" && block.toolName) parts.push(`Tool removed: ${block.toolName}`); -+ else if (block?.type === "tool-addition" && block.toolName) parts.push(`Tool added: ${block.toolName}`); } - const answers = Array.isArray(data.answers) ? data.answers : []; - return (0, import_react4.createElement)("div", { className: "bt-q-inline" }, questions.map((question) => (0, import_react4.createElement)(SettledQuestion, { @@ -7801,8 +7993,6 @@ diff --git a/client.js b/client.js - question, - answer: answers.find((answer) => answer.id === question.id) ?? { selected: [] } - }))); -+ if (parts.length === 0) return null; -+ return (0, import_react9.createElement)("div", { className: "bt-event" }, parts.join(" · ")); } - -// src/client/secret-card.js @@ -7858,17 +8048,26 @@ diff --git a/client.js b/client.js - event.preventDefault(); - onEnter?.(); - } -- }); -+var SEPARATOR_GAP_MS = 30 * 60 * 1e3; -+function clockLabel(time, now = Date.now()) { -+ const date = new Date(time); -+ const midnight = (value) => new Date(value.getFullYear(), value.getMonth(), value.getDate()).getTime(); -+ const days = Math.round((midnight(new Date(now)) - midnight(date)) / 864e5); -+ const clock4 = date.toLocaleTimeString(dateLocale(), { hour: "numeric", minute: "2-digit" }); -+ if (days === 0) return t("Today {time}", { time: clock4 }); -+ if (days === 1) return t("Yesterday {time}", { time: clock4 }); -+ const sameYear = date.getFullYear() === new Date(now).getFullYear(); -+ return `${date.toLocaleDateString(dateLocale(), { weekday: "short", month: "short", day: "numeric", ...sameYear ? {} : { year: "numeric" } })} ${clock4}`; ++function NewDivider() { ++ return (0, import_react9.createElement)("div", { className: "bt-new-sep", role: "separator", "aria-label": t("New messages") }, (0, import_react9.createElement)("span", null, t("New"))); ++} ++function TurnProcessCell({ node, sessionId, turnProcess, useRoster, useUi, useTurnClock, actions }) { ++ const open = turnProcess === void 0 || !turnProcess.foldable || turnProcess.open; ++ (0, import_react9.useEffect)(() => { ++ if (!open) turnProcess.setOpen(true); ++ }, [open, turnProcess]); ++ const turn = node?.location?.turn?.turn ?? node?.data?.turn; ++ const start = node?.location?.turn?.start?.time; ++ const hidden = useRoster((roster) => isHiddenTurn(roster, sessionId, turn)); ++ (0, import_react9.useEffect)(() => { ++ actions.noteTurnTime(sessionId, turn, "first", start); ++ }, [sessionId, turn, start]); ++ const visit = useUi((state) => state.visits?.[sessionId]); ++ const fresh = useTurnClock((state) => { ++ const own = state[sessionId]?.[turn]; ++ return !hidden && typeof visit?.seen === "number" && own?.first !== void 0 && own.first <= visit.seen && own.end !== void 0 && own.end > visit.seen && own.end <= visit.entered; + }); ++ return fresh ? (0, import_react9.createElement)(NewDivider) : null; } -function ScopeSwitch({ value, onChange, bot }) { - const options = [["all", t("All Bots")], ["bot", t("Only {name}", { name: bot.name })]]; @@ -7885,13 +8084,8 @@ diff --git a/client.js b/client.js - onClick: () => onChange(id) - }, text)) - ); -+function nextTurnStart(turns, turn) { -+ let next; -+ for (const key in turns) { -+ const candidate = Number(key); -+ if (candidate > turn && turns[key].first !== void 0 && (next === void 0 || candidate < next)) next = candidate; -+ } -+ return next === void 0 ? void 0 : turns[next].first; ++function Nothing() { ++ return null; } -function SecretHead({ bot, title, detail, name, onClose }) { - return (0, import_react5.createElement)( @@ -7906,48 +8100,99 @@ diff --git a/client.js b/client.js - ), - onClose ? (0, import_react5.createElement)("button", { type: "button", className: "bt-q-x", "aria-label": t("Cancel the request"), title: t("Cancel"), onClick: onClose }, (0, import_react5.createElement)(CloseIcon)) : null - ); -+function openingTurn(turns, firstTurns, hiddenTurns) { -+ if (!turns || !firstTurns) return null; -+ const start = nextTurnStart(turns, -Infinity); -+ if (start === void 0) return null; -+ const turn = Number(Object.keys(turns).filter((key) => turns[key].first === start)[0]); -+ const listed = firstTurns.split(",").map(Number); -+ const earlier = listed.filter((entry) => entry < turn); -+ return listed.includes(turn) && earlier.every((entry) => hiddenTurns?.includes(entry)) ? { turn, start } : null; - } --function SecretCard({ bot, request, roster, actions }) { -- const [value, setValue] = (0, import_react5.useState)(""); -- const [scope, setScope] = (0, import_react5.useState)("all"); -- const [replacing, setReplacing] = (0, import_react5.useState)(false); -- const [busy, setBusy] = (0, import_react5.useState)(false); -- const [error, setError] = (0, import_react5.useState)(""); -- const noteId = (0, import_react5.useId)(); -- const secret = (roster.secrets ?? []).find((entry) => entry.name === request.name); -- const run = (promise) => { -- setBusy(true); -- setError(""); -- return Promise.resolve(promise).then(() => setValue(""), (failure) => setError(failure?.message ?? String(failure))).finally(() => setBusy(false)); -- }; -- const cancel = () => run(actions.secretCancel(request.id)); -- const long = value.trim().length >= MIN_VALUE; -- const save = () => { -- if (long && !busy) void run(actions.secretSet({ requestId: request.id, value, scope })); -- }; -- const allow = () => { -- if (!busy) void run(actions.secretAllow(request.id)); -- }; -- const filling = request.kind === "fill" || replacing; -- const warn = insecure() ? (0, import_react5.createElement)("div", { className: "bt-secret-warn", role: "note" }, (0, import_react5.createElement)(WarnIcon), t("This page is not on HTTPS: the key crosses the network unencrypted.")) : null; -- return (0, import_react5.createElement)( -- "div", -- { className: "bt-q bt-secret", role: "group", "aria-describedby": noteId, "data-kind": request.kind }, -- (0, import_react5.createElement)(SecretHead, { -- bot, -- title: request.kind === "allow" ? t("Let {bot} use {name}?", { bot: bot.name, name: request.name }) : t("{name} needs a key", { name: bot.name }), -- detail: request.purpose, -- name: request.name, -- onClose: busy ? void 0 : cancel -- }), ++var HIDDEN_REMOVED_TOOLS = /* @__PURE__ */ new Set(["ask_user_question"]); ++var isConnectorTool = (name) => typeof name === "string" && /^mcp__(github|composio)__/.test(name); ++var SILENT_REGISTRATION_TOOLS = /* @__PURE__ */ new Set([ ++ "list_bots", ++ "message_bot", ++ "stop_bot", ++ "create_bot", ++ "update_bot", ++ "archive_bot", ++ "list_models", ++ "bot_schedules", ++ "create_group", ++ "update_group", ++ "delete_group", ++ "post_to_group", ++ "ask_user", ++ "track_tasks", ++ "request_secret", ++ "list_secrets", ++ "feishu_apps", ++ "feishu_tool", ++ "feishu_card", ++ "feishu_file", ++ "group_relay", ++ "read_own_chat", ++ "read_group_chat", ++ "remember", ++ "forget", ++ "recall", ++ "read_browser", ++ "list_capabilities", ++ "save_capability", ++ "delete_capability", ++ "attach_capability", ++ "detach_capability", ++ "track_links", ++ "project_state", ++ "project_digest", ++ "meeting" ++]); ++var isSilentRegistration = (name) => typeof name === "string" && SILENT_REGISTRATION_TOOLS.has(name); ++var isHiddenNotice = (block) => block?.type === "tool-removal" && (HIDDEN_REMOVED_TOOLS.has(block.toolName) || isConnectorTool(block.toolName) || isPluginTool(block.toolName) || isSilentRegistration(block.toolName)) || block?.type === "tool-addition" && (isConnectorTool(block.toolName) || isPluginTool(block.toolName) || isSilentRegistration(block.toolName)); ++function isHiddenToolRemoval(node) { ++ const content = node?.data?.content; ++ if (!Array.isArray(content) || content.length === 0) return false; ++ return content.every(isHiddenNotice); ++} ++function ContextCell({ node, useRoster }) { ++ useRoster?.((roster) => (roster.pluginTools ?? []).join("\n")); ++ if (isHiddenToolRemoval(node)) return null; ++ const content = Array.isArray(node?.data?.content) ? node.data.content : []; ++ const parts = []; ++ for (const block of content) { ++ if (isHiddenNotice(block)) continue; ++ if (block?.type === "tool-removal" && block.toolName) parts.push(`Tool removed: ${block.toolName}`); ++ else if (block?.type === "tool-addition" && block.toolName) parts.push(`Tool added: ${block.toolName}`); ++ } ++ if (parts.length === 0) return null; ++ return (0, import_react9.createElement)("div", { className: "bt-event" }, parts.join(" · ")); + } +-function SecretCard({ bot, request, roster, actions }) { +- const [value, setValue] = (0, import_react5.useState)(""); +- const [scope, setScope] = (0, import_react5.useState)("all"); +- const [replacing, setReplacing] = (0, import_react5.useState)(false); +- const [busy, setBusy] = (0, import_react5.useState)(false); +- const [error, setError] = (0, import_react5.useState)(""); +- const noteId = (0, import_react5.useId)(); +- const secret = (roster.secrets ?? []).find((entry) => entry.name === request.name); +- const run = (promise) => { +- setBusy(true); +- setError(""); +- return Promise.resolve(promise).then(() => setValue(""), (failure) => setError(failure?.message ?? String(failure))).finally(() => setBusy(false)); +- }; +- const cancel = () => run(actions.secretCancel(request.id)); +- const long = value.trim().length >= MIN_VALUE; +- const save = () => { +- if (long && !busy) void run(actions.secretSet({ requestId: request.id, value, scope })); +- }; +- const allow = () => { +- if (!busy) void run(actions.secretAllow(request.id)); +- }; +- const filling = request.kind === "fill" || replacing; +- const warn = insecure() ? (0, import_react5.createElement)("div", { className: "bt-secret-warn", role: "note" }, (0, import_react5.createElement)(WarnIcon), t("This page is not on HTTPS: the key crosses the network unencrypted.")) : null; +- return (0, import_react5.createElement)( +- "div", +- { className: "bt-q bt-secret", role: "group", "aria-describedby": noteId, "data-kind": request.kind }, +- (0, import_react5.createElement)(SecretHead, { +- bot, +- title: request.kind === "allow" ? t("Let {bot} use {name}?", { bot: bot.name, name: request.name }) : t("{name} needs a key", { name: bot.name }), +- detail: request.purpose, +- name: request.name, +- onClose: busy ? void 0 : cancel +- }), - request.kind === "allow" ? (0, import_react5.createElement)("div", { className: "bt-secret-saved" }, (0, import_react5.createElement)(KeyIcon), t("Saved for {scope}", { scope: scopeLabel(secret?.scope, roster) })) : null, - filling ? (0, import_react5.createElement)( - "div", @@ -7973,14 +8218,16 @@ diff --git a/client.js b/client.js - filling ? (0, import_react5.createElement)("button", { type: "button", className: "bt-q-submit", disabled: !long || busy, onClick: save }, busy ? t("Saving…") : t("Save")) : (0, import_react5.createElement)("button", { type: "button", className: "bt-q-submit", disabled: busy, onClick: allow }, busy ? t("Allowing…") : t("Allow")) - ) - ); -+var unseenSince = (visit, time) => typeof visit?.seen === "number" && time > visit.seen && time <= visit.entered; -+function movedOnSince(visit, turns, hiddenTurns) { -+ if (typeof visit?.entered !== "number") return false; -+ for (const key in turns ?? {}) { -+ if (hiddenTurns?.includes(Number(key))) continue; -+ if (turns[key].first !== void 0 && turns[key].first > visit.entered) return true; -+ } -+ return false; ++var SEPARATOR_GAP_MS = 30 * 60 * 1e3; ++function clockLabel(time, now = Date.now()) { ++ const date = new Date(time); ++ const midnight = (value) => new Date(value.getFullYear(), value.getMonth(), value.getDate()).getTime(); ++ const days = Math.round((midnight(new Date(now)) - midnight(date)) / 864e5); ++ const clock4 = date.toLocaleTimeString(dateLocale(), { hour: "numeric", minute: "2-digit" }); ++ if (days === 0) return t("Today {time}", { time: clock4 }); ++ if (days === 1) return t("Yesterday {time}", { time: clock4 }); ++ const sameYear = date.getFullYear() === new Date(now).getFullYear(); ++ return `${date.toLocaleDateString(dateLocale(), { weekday: "short", month: "short", day: "numeric", ...sameYear ? {} : { year: "numeric" } })} ${clock4}`; } -function SettledSecret({ bot, request, roster }) { - const canceled = request.status === "canceled"; @@ -8000,6 +8247,85 @@ diff --git a/client.js b/client.js - )), - canceled ? (0, import_react5.createElement)("span", { className: "bt-q-badge" }, t("Canceled")) : (0, import_react5.createElement)("span", { className: "bt-q-check bt-secret-check", title: t("Done") }, (0, import_react5.createElement)(CheckIcon)) - ) +- ); ++function nextTurnStart(turns, turn) { ++ let next; ++ for (const key in turns) { ++ const candidate = Number(key); ++ if (candidate > turn && turns[key].first !== void 0 && (next === void 0 || candidate < next)) next = candidate; ++ } ++ return next === void 0 ? void 0 : turns[next].first; + } +-function RequestView({ bot, request, roster, actions }) { +- return request.status === "pending" ? (0, import_react5.createElement)(SecretCard, { key: `${request.id}:${request.kind}`, bot, request, roster, actions }) : (0, import_react5.createElement)(SettledSecret, { bot, request, roster }); ++function openingTurn(turns, firstTurns, hiddenTurns) { ++ if (!turns || !firstTurns) return null; ++ const start = nextTurnStart(turns, -Infinity); ++ if (start === void 0) return null; ++ const turn = Number(Object.keys(turns).filter((key) => turns[key].first === start)[0]); ++ const listed = firstTurns.split(",").map(Number); ++ const earlier = listed.filter((entry) => entry < turn); ++ return listed.includes(turn) && earlier.every((entry) => hiddenTurns?.includes(entry)) ? { turn, start } : null; + } +-function SecretToolCell({ sessionId, callId, name, done, content, roster, actions }) { +- const bot = roster.byId[sessionId]; +- if (!bot) return null; +- const request = (roster.secretRequests?.[bot.id] ?? []).find((entry) => entry.callId === callId && (entry.sessionId ?? sessionId) === sessionId); +- if (request) return (0, import_react5.createElement)("div", { className: "bt-q-inline" }, (0, import_react5.createElement)(RequestView, { bot, request, roster, actions })); +- if (done && /already saved/.test(contentText(content))) { +- return (0, import_react5.createElement)("div", { className: "bt-event" }, (0, import_react5.createElement)("span", { className: "bt-secret-event" }, (0, import_react5.createElement)(KeyIcon), t("{bot} is using {name}", { bot: bot.name, name: name ?? t("a saved key") }))); ++var unseenSince = (visit, time) => typeof visit?.seen === "number" && time > visit.seen && time <= visit.entered; ++function movedOnSince(visit, turns, hiddenTurns) { ++ if (typeof visit?.entered !== "number") return false; ++ for (const key in turns ?? {}) { ++ if (hiddenTurns?.includes(Number(key))) continue; ++ if (turns[key].first !== void 0 && turns[key].first > visit.entered) return true; + } +- return null; +-} +-function SecretDock({ sessionId, useRoster, useCards, useSession, actions }) { +- const roster = useRoster((value) => value); +- const shown = useCards?.((state) => state[sessionId]) ?? NONE; +- const loading = useSession?.(historyLoading) === true; +- const bot = roster.byId[sessionId]; +- if (!bot || currentPart(bot) !== sessionId) return null; +- const drawn = (entry) => entry.callId && entry.sessionId === sessionId && (loading || shown[entry.callId] > 0); +- const waiting = (roster.secretRequests?.[bot.id] ?? []).filter((entry) => entry.status === "pending" && !drawn(entry)); +- if (waiting.length === 0) return null; +- return (0, import_react5.createElement)("div", { className: "bt-q-dock bt-secret-dock" }, waiting.map((request) => (0, import_react5.createElement)(SecretCard, { key: `${request.id}:${request.kind}`, bot, request, roster, actions }))); ++ return false; + } +-function ScopeEditor({ secret, roster, onSave }) { +- const [mode, setMode] = (0, import_react5.useState)(secret.scope === "all" ? "all" : "some"); +- const [picked, setPicked] = (0, import_react5.useState)(secret.scope === "all" ? [] : secret.scope); +- const toggle = (id) => setPicked((list) => list.includes(id) ? list.filter((item) => item !== id) : [...list, id]); +- const same = mode === "all" ? secret.scope === "all" : secret.scope !== "all" && [...picked].sort().join() === [...secret.scope].sort().join(); +- return (0, import_react5.createElement)( +- "div", +- { className: "bt-secret-edit-block" }, +- (0, import_react5.createElement)("div", { className: "bt-secret-edit-label" }, t("Who may use it")), +- (0, import_react5.createElement)( +- "div", +- { className: "bt-secret-radios", role: "radiogroup", "aria-label": t("Who may use {name}", { name: secret.name }) }, +- [["all", t("All Bots")], ["some", t("Chosen Bots")]].map(([id, text]) => (0, import_react5.createElement)( +- "label", +- { key: id, className: "bt-secret-radio" }, +- (0, import_react5.createElement)("input", { type: "radio", name: `scope-${secret.name}`, checked: mode === id, onChange: () => setMode(id) }), +- text +- )) +- ), +- mode === "some" ? (0, import_react5.createElement)("div", { className: "bt-secret-bots" }, roster.bots.map((bot) => (0, import_react5.createElement)("button", { +- key: bot.id, +- type: "button", +- className: "bt-secret-bot", +- "aria-pressed": picked.includes(bot.id), +- onClick: () => toggle(bot.id) +- }, (0, import_react5.createElement)(BotAvatar, { bot, size: 20, badge: false, live: false }), bot.name, picked.includes(bot.id) ? (0, import_react5.createElement)(CheckIcon) : null))) : null, +- (0, import_react5.createElement)( +- "div", +- { className: "bt-secret-row-actions" }, +- (0, import_react5.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: same, onClick: () => onSave(mode === "all" ? "all" : picked) }, t("Save access")) +- ) +var settledVisit = (visit) => typeof visit?.seen === "number" && visit.seen < visit.entered ? { ...visit, seen: visit.entered } : visit; +function TurnTailCell({ turn: location2, sessionId, useTurnClock, useUi, actions }) { + const turn = location2.turn; @@ -8025,18 +8351,80 @@ diff --git a/client.js b/client.js + fresh ? (0, import_react9.createElement)(NewDivider) : null ); } --function RequestView({ bot, request, roster, actions }) { -- return request.status === "pending" ? (0, import_react5.createElement)(SecretCard, { key: `${request.id}:${request.kind}`, bot, request, roster, actions }) : (0, import_react5.createElement)(SettledSecret, { bot, request, roster }); +-function ValueEditor({ secret, onSave }) { +- const [value, setValue] = (0, import_react5.useState)(""); +- const [replaced, setReplaced] = (0, import_react5.useState)(false); +- const long = value.trim().length >= MIN_VALUE; +- const save = () => { +- if (!long) return; +- void Promise.resolve(onSave(value)).then((ok) => { +- if (ok) { +- setValue(""); +- setReplaced(true); +- } +- }); +- }; +- const edit = (next) => { +- setValue(next); +- setReplaced(false); +- }; +- return (0, import_react5.createElement)( +- "div", +- { className: "bt-secret-edit-block" }, +- (0, import_react5.createElement)("div", { className: "bt-secret-edit-label" }, t("Replace the value")), +- (0, import_react5.createElement)( +- "div", +- { className: "bt-secret-inline" }, +- (0, import_react5.createElement)("label", { className: "bt-q-field bt-secret-field" }, (0, import_react5.createElement)(MaskedInput, { value, onChange: edit, onEnter: save, label: t("New value of {name}", { name: secret.name }) })), +- (0, import_react5.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: !long, onClick: save }, t("Replace")) +- ), +- value !== "" && !long ? (0, import_react5.createElement)("div", { className: "bt-set-hint" }, t("At least {count} characters.", { count: MIN_VALUE })) : replaced ? (0, import_react5.createElement)("div", { className: "bt-set-hint bt-secret-ok", role: "status" }, (0, import_react5.createElement)(CheckIcon), t("Replaced. Bots get the new value from their next command.")) : null +- ); +function Shimmer({ children }) { + return (0, import_react9.createElement)("span", { className: "bt-shimmer" }, children); } --function SecretToolCell({ sessionId, callId, name, done, content, roster, actions }) { -- const bot = roster.byId[sessionId]; -- if (!bot) return null; -- const request = (roster.secretRequests?.[bot.id] ?? []).find((entry) => entry.callId === callId && (entry.sessionId ?? sessionId) === sessionId); -- if (request) return (0, import_react5.createElement)("div", { className: "bt-q-inline" }, (0, import_react5.createElement)(RequestView, { bot, request, roster, actions })); -- if (done && /already saved/.test(contentText(content))) { -- return (0, import_react5.createElement)("div", { className: "bt-event" }, (0, import_react5.createElement)("span", { className: "bt-secret-event" }, (0, import_react5.createElement)(KeyIcon), t("{bot} is using {name}", { bot: bot.name, name: name ?? t("a saved key") }))); +-function SecretRow({ secret, roster, actions, run, open, onToggle }) { +- const [confirm, setConfirm] = (0, import_react5.useState)(false); +- (0, import_react5.useEffect)(() => { +- if (!open) setConfirm(false); +- }, [open]); +- const asker = secret.requestedBy ? roster.byId[secret.requestedBy]?.name ?? t("a deleted Bot") : t("you"); +- const allowed = secret.scope === "all" ? [] : secret.scope.map((id) => roster.byId[id]).filter(Boolean); +- const meta = [t("Asked by {name}", { name: asker }), t("added {time}", { time: when(secret.createdAt) }), secret.lastUsedAt ? t("last used {time}", { time: when(secret.lastUsedAt) }) : t("not used yet")].join(" · "); +- return (0, import_react5.createElement)( +- "div", +- { className: "bt-secret-item", "data-open": open ? "" : void 0 }, +- (0, import_react5.createElement)( +- "button", +- { type: "button", className: "bt-set-row bt-secret-summary", "aria-expanded": open, onClick: onToggle }, +- (0, import_react5.createElement)( +- "span", +- { className: "bt-set-copy" }, +- (0, import_react5.createElement)("span", { className: "bt-secret-title" }, (0, import_react5.createElement)(KeyIcon), (0, import_react5.createElement)("code", { className: "bt-secret-name" }, secret.name), secret.purpose ? (0, import_react5.createElement)("span", { className: "bt-secret-purpose" }, secret.purpose) : null), +- (0, import_react5.createElement)("span", { className: "bt-set-hint" }, meta) +- ), +- (0, import_react5.createElement)( +- "span", +- { className: "bt-set-control" }, +- secret.scope === "all" ? (0, import_react5.createElement)("span", { className: "bt-tag" }, t("All Bots")) : allowed.length === 0 ? (0, import_react5.createElement)("span", { className: "bt-tag" }, t("No Bot")) : (0, import_react5.createElement)("span", { className: "bt-secret-faces", title: allowed.map((bot) => bot.name).join(", ") }, allowed.slice(0, 5).map((bot) => (0, import_react5.createElement)(BotAvatar, { key: bot.id, bot, size: 20, badge: false, live: false }))) +- ) +- ), +- open ? (0, import_react5.createElement)( +- "div", +- { className: "bt-secret-edit" }, +- (0, import_react5.createElement)(ScopeEditor, { key: JSON.stringify(secret.scope), secret, roster, onSave: (scope) => run(actions.secretUpdate(secret.name, scope)) }), +- (0, import_react5.createElement)(ValueEditor, { secret, onSave: (value) => run(actions.secretSet({ name: secret.name, value })) }), +- (0, import_react5.createElement)( +- "div", +- { className: "bt-secret-row-actions" }, +- confirm ? [ +- (0, import_react5.createElement)("span", { key: "q", className: "bt-set-hint" }, t("Delete {name}? Bots lose it at once.", { name: secret.name })), +- (0, import_react5.createElement)("button", { key: "no", type: "button", className: "bt-soft bt-soft-sm", onClick: () => setConfirm(false) }, t("Keep")), +- (0, import_react5.createElement)("button", { key: "yes", type: "button", className: "bt-soft bt-soft-sm bt-secret-danger", onClick: () => run(actions.secretDelete(secret.name)) }, t("Delete")) +- ] : (0, import_react5.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm bt-secret-danger", onClick: () => setConfirm(true) }, (0, import_react5.createElement)(TrashIcon), t("Delete")) +- ) +- ) : null +- ); +var PHRASES = { + thinking: ["Thinking about it", "Weighing the options", "Working out a plan", "Sorting out the details"], + working: ["On it", "Busy with it", "Moving ahead", "Taking care of it", "Making headway"] @@ -8093,68 +8481,135 @@ diff --git a/client.js b/client.js + if (GROUP_PHRASES[name]) return { label: t(GROUP_PHRASES[name]), state: "sending" }; + const phrase = TOOL_PHRASES.find(([pattern]) => pattern.test(name))?.[1]; + return { label: phrase ? t(phrase) : null, state: toolState(name) }; - } -- return null; - } --function SecretDock({ sessionId, useRoster, useCards, useSession, actions }) { -- const roster = useRoster((value) => value); -- const shown = useCards?.((state) => state[sessionId]) ?? NONE; -- const loading = useSession?.(historyLoading) === true; -- const bot = roster.byId[sessionId]; -- if (!bot || currentPart(bot) !== sessionId) return null; -- const drawn = (entry) => entry.callId && entry.sessionId === sessionId && (loading || shown[entry.callId] > 0); -- const waiting = (roster.secretRequests?.[bot.id] ?? []).filter((entry) => entry.status === "pending" && !drawn(entry)); -- if (waiting.length === 0) return null; -- return (0, import_react5.createElement)("div", { className: "bt-q-dock bt-secret-dock" }, waiting.map((request) => (0, import_react5.createElement)(SecretCard, { key: `${request.id}:${request.kind}`, bot, request, roster, actions }))); -+function workPhrase(tool) { -+ if (!tool) return t("Thinking about it"); -+ return toolActivity(tool, () => void 0, () => void 0)?.label ?? t("Using {tool}", { tool }); ++ } } --function ScopeEditor({ secret, roster, onSave }) { -- const [mode, setMode] = (0, import_react5.useState)(secret.scope === "all" ? "all" : "some"); -- const [picked, setPicked] = (0, import_react5.useState)(secret.scope === "all" ? [] : secret.scope); -- const toggle = (id) => setPicked((list) => list.includes(id) ? list.filter((item) => item !== id) : [...list, id]); -- const same = mode === "all" ? secret.scope === "all" : secret.scope !== "all" && [...picked].sort().join() === [...secret.scope].sort().join(); +-function AddSecret({ actions, run, onDone }) { +- const [name, setName] = (0, import_react5.useState)(""); +- const [purpose, setPurpose] = (0, import_react5.useState)(""); +- const [value, setValue] = (0, import_react5.useState)(""); +- const ready = /^[A-Za-z][\w-]{0,63}$/.test(name.trim()) && value.trim().length >= MIN_VALUE; +- const save = () => { +- if (!ready) return; +- void run(actions.secretSet({ name, purpose, value, scope: "all" })).then((ok) => { +- if (ok) { +- setValue(""); +- onDone(); +- } +- }); +- }; - return (0, import_react5.createElement)( - "div", -- { className: "bt-secret-edit-block" }, -- (0, import_react5.createElement)("div", { className: "bt-secret-edit-label" }, t("Who may use it")), -- (0, import_react5.createElement)( -- "div", -- { className: "bt-secret-radios", role: "radiogroup", "aria-label": t("Who may use {name}", { name: secret.name }) }, -- [["all", t("All Bots")], ["some", t("Chosen Bots")]].map(([id, text]) => (0, import_react5.createElement)( -- "label", -- { key: id, className: "bt-secret-radio" }, -- (0, import_react5.createElement)("input", { type: "radio", name: `scope-${secret.name}`, checked: mode === id, onChange: () => setMode(id) }), -- text -- )) -- ), -- mode === "some" ? (0, import_react5.createElement)("div", { className: "bt-secret-bots" }, roster.bots.map((bot) => (0, import_react5.createElement)("button", { -- key: bot.id, -- type: "button", -- className: "bt-secret-bot", -- "aria-pressed": picked.includes(bot.id), -- onClick: () => toggle(bot.id) -- }, (0, import_react5.createElement)(BotAvatar, { bot, size: 20, badge: false, live: false }), bot.name, picked.includes(bot.id) ? (0, import_react5.createElement)(CheckIcon) : null))) : null, +- { className: "bt-set-row bt-set-paste bt-secret-add" }, +- (0, import_react5.createElement)("input", { className: "bt-input", "aria-label": t("Key name"), placeholder: t("NAME, e.g. GITHUB_TOKEN"), value: name, spellCheck: false, autoComplete: "off", autoFocus: true, onChange: (event) => setName(event.target.value.toUpperCase()) }), +- (0, import_react5.createElement)("input", { className: "bt-input", "aria-label": t("What it is for"), placeholder: t("What it is for"), value: purpose, autoComplete: "off", onChange: (event) => setPurpose(event.target.value) }), +- (0, import_react5.createElement)("label", { className: "bt-q-field bt-secret-field" }, (0, import_react5.createElement)(MaskedInput, { value, onChange: setValue, onEnter: save, label: t("Value") })), - (0, import_react5.createElement)( - "div", - { className: "bt-secret-row-actions" }, -- (0, import_react5.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: same, onClick: () => onSave(mode === "all" ? "all" : picked) }, t("Save access")) +- (0, import_react5.createElement)("span", { className: "bt-set-hint" }, t("New keys are for all Bots; narrow it down afterwards.")), +- (0, import_react5.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: onDone }, t("Cancel")), +- (0, import_react5.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: !ready, onClick: save }, t("Save key")) - ) - ); ++function workPhrase(tool) { ++ if (!tool) return t("Thinking about it"); ++ return toolActivity(tool, () => void 0, () => void 0)?.label ?? t("Using {tool}", { tool }); + } +-function SecretsPage({ roster, actions, run, Section }) { +- const [open, setOpen] = (0, import_react5.useState)(null); +- const [adding, setAdding] = (0, import_react5.useState)(false); +- const secrets = roster.secrets ?? []; +- return [ +- (0, import_react5.createElement)( +- "p", +- { key: "about", className: "bt-secret-about" }, +- t("Keys your Bots asked for. Bots never see the values: they use them as "), +- (0, import_react5.createElement)("code", null, "$DSH_SECRET_NAME"), +- t(" in their shell, and every value is replaced by "), +- (0, import_react5.createElement)("code", null, "[secret:NAME]"), +- t(" before anything goes to a model.") +- ), +- (0, import_react5.createElement)( +- Section, +- { key: "list", title: t("Secrets · {count}", { count: secrets.length }) }, +- secrets.length === 0 && !adding ? (0, import_react5.createElement)("div", { className: "bt-set-row" }, (0, import_react5.createElement)("span", { className: "bt-set-hint" }, t("No keys yet. When a Bot needs one, it shows a card in its chat."))) : null, +- secrets.map((secret) => (0, import_react5.createElement)(SecretRow, { key: secret.name, secret, roster, actions, run, open: open === secret.name, onToggle: () => setOpen(open === secret.name ? null : secret.name) })), +- adding ? (0, import_react5.createElement)(AddSecret, { actions, run, onDone: () => setAdding(false) }) : null +- ), +- adding ? null : (0, import_react5.createElement)("div", { key: "add", className: "bt-actions" }, (0, import_react5.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => setAdding(true) }, t("Add a key"))) +- ]; +function workText(tool, step) { + return step ? t("{action}: {detail}", { action: workPhrase(tool), detail: step }) : `${workPhrase(tool)}…`; } --function ValueEditor({ secret, onSave }) { -- const [value, setValue] = (0, import_react5.useState)(""); -- const [replaced, setReplaced] = (0, import_react5.useState)(false); -- const long = value.trim().length >= MIN_VALUE; -- const save = () => { -- if (!long) return; -- void Promise.resolve(onSave(value)).then((ok) => { -- if (ok) { -- setValue(""); -- setReplaced(true); +-var SECRET_CSS = ` +-.bt-secret-head{align-items:center;gap:10px} +-.bt-secret-who{position:relative;flex:none;display:inline-flex} +-.bt-secret-lock{position:absolute;right:-5px;bottom:-4px;width:16px;height:16px;border-radius:50%;background:var(--bt-main);color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px var(--bt-bubble)} +-.bt-secret-lock svg{width:11px;height:11px} +-.bt-secret-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:16px;padding:1px 6px;border-radius:5px;background:var(--bt-hover);color:var(--bt-ink)} +-.bt-secret-body{display:flex;flex-direction:column;gap:8px} +-.bt-secret-field{align-items:center;min-height:36px} +-.bt-secret-input{flex:1;width:100%;min-width:0;margin:0;padding:0;border:0;outline:none;background:transparent;color:var(--bt-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:20px;letter-spacing:.04em} +-.bt-secret-input[data-masked]{-webkit-text-security:disc} +-.bt-secret-input::placeholder{color:var(--bt-ink-3);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;letter-spacing:0} +-.bt-secret-scope{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;align-self:flex-start;padding:2px;border-radius:999px;background:var(--bt-hover)} +-.bt-secret-glide{position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:999px;background:var(--bt-main);box-shadow:0 1px 3px rgba(20,20,20,.08),inset 0 0 0 .5px color-mix(in srgb,var(--bt-ink) 6%,transparent);transition:${spring(SPRING_SHAPE, "transform")}} +-.bt-secret-glide[data-at="1"]{transform:translateX(100%)} +-.bt-secret-seg{position:relative;z-index:1;height:28px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--bt-ink-2);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer;transition:color .16s ease} +-.bt-secret-seg[aria-checked=true]{color:var(--bt-ink);font-weight:500} +-.bt-secret-seg:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px} +-/* A key card asks the user to act, so the process group carrying it stays open in every +- work-details mode (same override as .bt-group-replies in styles.js). */ +-[data-step-process]:has(.bt-secret)>div:first-child{display:none!important} +-[data-step-process]:has(.bt-secret)>[data-step-process-body]{display:block!important;content-visibility:visible!important;max-height:none!important;overflow:visible!important;mask-image:none!important;scrollbar-gutter:auto!important} +-.bt-secret-ok{display:flex;align-items:center;gap:4px;margin-top:6px;animation:bt-secret-in .22s cubic-bezier(.22,1,.36,1)} +-.bt-secret-ok svg{width:13px;height:13px;color:#16a34a} +-@keyframes bt-secret-in{from{opacity:0;transform:translateY(-2px)}} +-.bt-secret-saved{display:flex;align-items:center;gap:6px;font-size:13px;line-height:18px;color:var(--bt-ink-2)} +-.bt-secret-note{font-size:12px;line-height:17px;color:var(--bt-ink-3)} +-.bt-secret-note code,.bt-secret-about code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px} +-.bt-secret-warn{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;font-size:12px;line-height:16px;color:#b25e09;background:color-mix(in srgb,#f59e0b 12%,transparent)} +-.bt-secret-error{font-size:12px;line-height:16px;color:#e02135} +-.bt-secret .bt-q-btn:disabled{opacity:.5;cursor:default} +-.bt-secret-done .bt-q-head{align-items:center} +-.bt-secret-done .bt-q-title{font-size:13px;line-height:18px;color:var(--bt-ink-2);font-weight:500} +-.bt-secret-scope-tag{font-weight:400;color:var(--bt-ink-3)} +-.bt-secret-check{color:var(--bt-green,#22a06b);animation:bt-secret-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing} backwards} +-.bt-secret-done{animation:bt-secret-settle .32s cubic-bezier(.22,1,.36,1) backwards} +-@keyframes bt-secret-pop{from{opacity:0;transform:scale(.4)}} +-@keyframes bt-secret-settle{from{opacity:.4;transform:scale(.985)}} +-.bt-secret-event{display:inline-flex;align-items:center;gap:5px} +-.bt-secret-dock{flex-direction:column;align-items:center} +-.bt-secret-dock .bt-q{max-width:min(550px,calc(100% - 32px))} +-.bt-secret-about{margin:0 0 12px;padding:0 4px;font-size:12px;line-height:17px;color:var(--bt-ink-2)} +-.bt-secret-title{display:flex;align-items:center;gap:6px;min-width:0;color:var(--bt-ink)} +-.bt-secret-title svg{flex:none;color:var(--bt-ink-2)} +-.bt-secret-purpose{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bt-ink-2)} +-.bt-secret-faces{display:inline-flex} +-.bt-secret-faces>*+*{margin-left:-6px} +-.bt-secret-edit{display:flex;flex-direction:column;gap:14px;padding:4px 12px 14px;animation:bt-q-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing} backwards,bt-veil-in .2s ease-out backwards} +-.bt-secret-edit-block{display:flex;flex-direction:column;gap:8px} +-.bt-secret-edit-label{font-size:12px;line-height:16px;font-weight:600;color:var(--bt-ink-2)} +-.bt-secret-radios{display:flex;gap:16px;font-size:13px} +-.bt-secret-radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer} +-.bt-secret-bots{display:flex;flex-wrap:wrap;gap:6px} +-.bt-secret-bot{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 5px;border-radius:999px;border:.5px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink-2);font:inherit;font-size:12px;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease} +-.bt-secret-bot[aria-pressed=true]{background:var(--bt-active);color:var(--bt-ink);border-color:var(--bt-line-2)} +-.bt-secret-bot svg{width:13px;height:13px} +-.bt-secret-inline{display:flex;gap:8px;align-items:center} +-.bt-secret-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap} +-.bt-secret-row-actions .bt-set-hint{flex:1} +-.bt-secret-danger{color:#e02135;display:inline-flex;align-items:center;gap:4px} +-.bt-secret-danger svg{width:13px;height:13px} +-.bt-secret-add .bt-input{height:34px} +-@media (prefers-reduced-motion:reduce){.bt-secret-glide{transition:none}.bt-secret-check,.bt-secret-done,.bt-secret-ok,.bt-secret-edit{animation:none}} +-`; +- +-// src/client/turn-reasoning.js +-function turnReasoning(steps, current) { +- const members = steps.length ? steps : [current]; +- if (members.find((step) => stepReasoning(step) !== "")?.step !== current.step) return ""; +- return members.filter((step) => !thinkingLive(step)).map(stepReasoning).filter(Boolean).join("\n\n"); +function useLiveNote(actions, sessionId, id, entry) { + const key = entry ? JSON.stringify(entry) : ""; + (0, import_react9.useEffect)(() => { @@ -8162,7 +8617,26 @@ diff --git a/client.js b/client.js + actions.noteLive(sessionId, id, JSON.parse(key)); + return () => actions.noteLive(sessionId, id, null); + }, [sessionId, id, key]); -+} + } +-var texts = (step) => step.blocks.filter((block) => block.kind === "text" && block.text.trim() !== ""); +-var thinkingLive = (step) => step.status === "running" && texts(step).length === 0 && step.blocks.some((block) => block.kind === "reasoning"); +-var stepReasoning = (step) => step.blocks.filter((block) => block.kind === "reasoning").map((block) => block.text).join("\n").trim(); +- +-// src/client/cells.js +-var import_react6 = require("react"); +-var import_react_dom = require("react-dom"); +-var import_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives"); +-var mdLabels = () => ({ code: { copyLabel: t("Copy"), copiedLabel: t("Copied") }, footnotes: t("Footnotes") }); +-function Bubbles({ texts: texts2, roster, selfId, actions, streaming, sessionId, msgKey, useUi, lead, mentions }) { +- const onClick = (event) => { +- const target = mentionTarget(event); +- if (target === null) return; +- event.preventDefault(); +- event.stopPropagation(); +- actions.openSession(target); +- }; +- const reactions = useUi ? useUi((state) => msgKey ? state.reactions?.[msgKey] ?? null : null) : null; +- return (0, import_react6.createElement)( +function GroupReplies({ sessionId, callId, done, content, roster, actions, useUi }) { + const [live, setLive] = (0, import_react9.useState)({ replies: [] }); + (0, import_react9.useEffect)(() => { @@ -8178,14 +8652,7 @@ diff --git a/client.js b/client.js + if (entry && key !== seen) { + seen = key; + setLive({ replies: entry.replies ?? [] }); - } -- }); -- }; -- const edit = (next) => { -- setValue(next); -- setReplaced(false); -- }; -- return (0, import_react5.createElement)( ++ } + timer = setTimeout(tick, document.hidden ? 5e3 : 1e3); + }; + void tick(); @@ -8206,15 +8673,16 @@ diff --git a/client.js b/client.js + const room2 = roster.roomsById[sessionId]; + return (0, import_react9.createElement)( "div", -- { className: "bt-secret-edit-block" }, -- (0, import_react5.createElement)("div", { className: "bt-secret-edit-label" }, t("Replace the value")), -- (0, import_react5.createElement)( -- "div", -- { className: "bt-secret-inline" }, -- (0, import_react5.createElement)("label", { className: "bt-q-field bt-secret-field" }, (0, import_react5.createElement)(MaskedInput, { value, onChange: edit, onEnter: save, label: t("New value of {name}", { name: secret.name }) })), -- (0, import_react5.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: !long, onClick: save }, t("Replace")) -- ), -- value !== "" && !long ? (0, import_react5.createElement)("div", { className: "bt-set-hint" }, t("At least {count} characters.", { count: MIN_VALUE })) : replaced ? (0, import_react5.createElement)("div", { className: "bt-set-hint bt-secret-ok", role: "status" }, (0, import_react5.createElement)(CheckIcon), t("Replaced. Bots get the new value from their next command.")) : null +- { className: "bt-astack", "data-lead": lead ? "" : void 0, onClickCapture: onClick }, +- texts2.map((text, index) => { +- const key = msgKey ? `${msgKey}:${index}` : void 0; +- const picked = key ? reactions?.[index] ?? [] : []; +- const last = index === texts2.length - 1; +- const live = streaming && last; +- return (0, import_react6.createElement)( +- "div", +- { key: index, className: "bt-msg" }, +- (0, import_react6.createElement)( + { className: "bt-group-replies" }, + replies.map((reply, index) => { + const stored = roster.byId[reply.botId]; @@ -8226,14 +8694,29 @@ diff --git a/client.js b/client.js + return (0, import_react9.createElement)(PersonMessage, { key: `user-${index}`, name: who, texts: [remoteMessageText(reply.text)], roster, selfId: sessionId, actions, sessionId, msgKey: callId ? `${sessionId}:${callId}:${index}` : void 0, useUi }); + } + return (0, import_react9.createElement)( -+ "div", + "div", +- { className: "bt-msg-line" }, +- lead && last ? lead : null, +- (0, import_react6.createElement)( + { key: `user-${index}`, className: "bt-urow", "data-author": reply.authorId, "data-author-name": who }, + who ? (0, import_react9.createElement)("span", { className: "bt-uauthor" }, who) : null, + (0, import_react9.createElement)( -+ "div", + "div", +- { className: "bt-bubble" }, +- (0, import_react6.createElement)(import_dsh_client_ui_primitives.MarkdownText, { text: linkMentions(text, roster.bots, selfId), streaming: live, labels: mdLabels(), variant: "compact", fileMentions: mentions }) + { className: "bt-ububble" }, + (0, import_react9.createElement)(import_dsh_client_ui_primitives.MarkdownText, { text: remoteMessageText(reply.text), labels: mdLabels(), variant: "compact" }) -+ ), + ), +- live ? null : (0, import_react6.createElement)(MessageTools, { text, name: roster.byId[selfId]?.name ?? t("Bot"), sessionId, react: key ? (emoji) => actions.toggleReaction(msgKey, index, emoji) : void 0, actions }) +- ), +- picked.length ? (0, import_react6.createElement)("div", { className: "bt-reacts" }, picked.map((emoji) => (0, import_react6.createElement)("button", { +- key: emoji, +- type: "button", +- className: "bt-react", +- "aria-label": t("Remove reaction {emoji}", { emoji }), +- onClick: () => actions.toggleReaction(msgKey, index, emoji) +- }, emoji))) : null +- ); + room2?.origin === "face-to-face" ? (0, import_react9.createElement)("span", { className: "bt-lead", title: who || void 0 }, (0, import_react9.createElement)(PersonMark, { name: who || void 0 })) : null + ); + } @@ -8294,51 +8777,16 @@ diff --git a/client.js b/client.js + }); + } + return (0, import_react9.createElement)(GroupMessage, { key: `${reply.botId}-${index}`, bot, text: reply.text, room: room2, roster, actions, msgKey: callId ? `${sessionId}:${callId}:${index}` : void 0, useUi, seq: reply.seq }); -+ }) + }) ); } --function SecretRow({ secret, roster, actions, run, open, onToggle }) { -- const [confirm, setConfirm] = (0, import_react5.useState)(false); -- (0, import_react5.useEffect)(() => { -- if (!open) setConfirm(false); -- }, [open]); -- const asker = secret.requestedBy ? roster.byId[secret.requestedBy]?.name ?? t("a deleted Bot") : t("you"); -- const allowed = secret.scope === "all" ? [] : secret.scope.map((id) => roster.byId[id]).filter(Boolean); -- const meta = [t("Asked by {name}", { name: asker }), t("added {time}", { time: when(secret.createdAt) }), secret.lastUsedAt ? t("last used {time}", { time: when(secret.lastUsedAt) }) : t("not used yet")].join(" · "); -- return (0, import_react5.createElement)( -- "div", -- { className: "bt-secret-item", "data-open": open ? "" : void 0 }, -- (0, import_react5.createElement)( -- "button", -- { type: "button", className: "bt-set-row bt-secret-summary", "aria-expanded": open, onClick: onToggle }, -- (0, import_react5.createElement)( -- "span", -- { className: "bt-set-copy" }, -- (0, import_react5.createElement)("span", { className: "bt-secret-title" }, (0, import_react5.createElement)(KeyIcon), (0, import_react5.createElement)("code", { className: "bt-secret-name" }, secret.name), secret.purpose ? (0, import_react5.createElement)("span", { className: "bt-secret-purpose" }, secret.purpose) : null), -- (0, import_react5.createElement)("span", { className: "bt-set-hint" }, meta) -- ), -- (0, import_react5.createElement)( -- "span", -- { className: "bt-set-control" }, -- secret.scope === "all" ? (0, import_react5.createElement)("span", { className: "bt-tag" }, t("All Bots")) : allowed.length === 0 ? (0, import_react5.createElement)("span", { className: "bt-tag" }, t("No Bot")) : (0, import_react5.createElement)("span", { className: "bt-secret-faces", title: allowed.map((bot) => bot.name).join(", ") }, allowed.slice(0, 5).map((bot) => (0, import_react5.createElement)(BotAvatar, { key: bot.id, bot, size: 20, badge: false, live: false }))) -- ) -- ), -- open ? (0, import_react5.createElement)( -- "div", -- { className: "bt-secret-edit" }, -- (0, import_react5.createElement)(ScopeEditor, { key: JSON.stringify(secret.scope), secret, roster, onSave: (scope) => run(actions.secretUpdate(secret.name, scope)) }), -- (0, import_react5.createElement)(ValueEditor, { secret, onSave: (value) => run(actions.secretSet({ name: secret.name, value })) }), -- (0, import_react5.createElement)( -- "div", -- { className: "bt-secret-row-actions" }, -- confirm ? [ -- (0, import_react5.createElement)("span", { key: "q", className: "bt-set-hint" }, t("Delete {name}? Bots lose it at once.", { name: secret.name })), -- (0, import_react5.createElement)("button", { key: "no", type: "button", className: "bt-soft bt-soft-sm", onClick: () => setConfirm(false) }, t("Keep")), -- (0, import_react5.createElement)("button", { key: "yes", type: "button", className: "bt-soft bt-soft-sm bt-secret-danger", onClick: () => run(actions.secretDelete(secret.name)) }, t("Delete")) -- ] : (0, import_react5.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm bt-secret-danger", onClick: () => setConfirm(true) }, (0, import_react5.createElement)(TrashIcon), t("Delete")) -- ) -- ) : null -- ); +-var REACTIONS = ["👍", "❤️", "😂", "😮", "😢", "🙏"]; +-function useDismiss(open, close, refs) { +- (0, import_react6.useEffect)(() => { +- if (!open) return void 0; +- const onDown = (event) => { +- if (refs.some((ref) => ref.current?.contains(event.target))) return; +- close(); +var DRAWN = /* @__PURE__ */ new Set(["message_bot", "stop_bot", "create_bot", "update_bot", "group_relay", "create_group", "update_group", "delete_group", "post_to_group", "ask_user", "request_secret", "ask_user_question", "read_group_chat", "remember", "forget"]); +var CARDS = /* @__PURE__ */ new Set(["ask_user", "request_secret"]); +function callTree(root) { @@ -8353,18 +8801,7 @@ diff --git a/client.js b/client.js + }; + visit(root); + return calls; - } --function AddSecret({ actions, run, onDone }) { -- const [name, setName] = (0, import_react5.useState)(""); -- const [purpose, setPurpose] = (0, import_react5.useState)(""); -- const [value, setValue] = (0, import_react5.useState)(""); -- const ready = /^[A-Za-z][\w-]{0,63}$/.test(name.trim()) && value.trim().length >= MIN_VALUE; -- const save = () => { -- if (!ready) return; -- void run(actions.secretSet({ name, purpose, value, scope: "all" })).then((ok) => { -- if (ok) { -- setValue(""); -- onDone(); ++} +function useShownCards(actions, sessionId, callIds) { + const key = JSON.stringify(callIds); + (0, import_react9.useLayoutEffect)(() => { @@ -8433,23 +8870,7 @@ diff --git a/client.js b/client.js + parsed = JSON.parse(contentText(call4.content)); + } catch { + parsed = null; - } -- }); -- }; -- return (0, import_react5.createElement)( -- "div", -- { className: "bt-set-row bt-set-paste bt-secret-add" }, -- (0, import_react5.createElement)("input", { className: "bt-input", "aria-label": t("Key name"), placeholder: t("NAME, e.g. GITHUB_TOKEN"), value: name, spellCheck: false, autoComplete: "off", autoFocus: true, onChange: (event) => setName(event.target.value.toUpperCase()) }), -- (0, import_react5.createElement)("input", { className: "bt-input", "aria-label": t("What it is for"), placeholder: t("What it is for"), value: purpose, autoComplete: "off", onChange: (event) => setPurpose(event.target.value) }), -- (0, import_react5.createElement)("label", { className: "bt-q-field bt-secret-field" }, (0, import_react5.createElement)(MaskedInput, { value, onChange: setValue, onEnter: save, label: t("Value") })), -- (0, import_react5.createElement)( -- "div", -- { className: "bt-secret-row-actions" }, -- (0, import_react5.createElement)("span", { className: "bt-set-hint" }, t("New keys are for all Bots; narrow it down afterwards.")), -- (0, import_react5.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: onDone }, t("Cancel")), -- (0, import_react5.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: !ready, onClick: save }, t("Save key")) -- ) -- ); ++ } + const answer = parsed?.answers?.[0]; + const question = argValue("questions")?.[0]; + if (!answer) return null; @@ -8482,30 +8903,7 @@ diff --git a/client.js b/client.js + if (drawn.length === 0) return null; + const env = { sessionId, roster, actions, useUi, findBot }; + return (0, import_react9.createElement)(import_react9.Fragment, null, drawn.map((call4, index) => (0, import_react9.createElement)(import_react9.Fragment, { key: call4.callId ?? index }, renderCall(call4, env)))); - } --function SecretsPage({ roster, actions, run, Section }) { -- const [open, setOpen] = (0, import_react5.useState)(null); -- const [adding, setAdding] = (0, import_react5.useState)(false); -- const secrets = roster.secrets ?? []; -- return [ -- (0, import_react5.createElement)( -- "p", -- { key: "about", className: "bt-secret-about" }, -- t("Keys your Bots asked for. Bots never see the values: they use them as "), -- (0, import_react5.createElement)("code", null, "$DSH_SECRET_NAME"), -- t(" in their shell, and every value is replaced by "), -- (0, import_react5.createElement)("code", null, "[secret:NAME]"), -- t(" before anything goes to a model.") -- ), -- (0, import_react5.createElement)( -- Section, -- { key: "list", title: t("Secrets · {count}", { count: secrets.length }) }, -- secrets.length === 0 && !adding ? (0, import_react5.createElement)("div", { className: "bt-set-row" }, (0, import_react5.createElement)("span", { className: "bt-set-hint" }, t("No keys yet. When a Bot needs one, it shows a card in its chat."))) : null, -- secrets.map((secret) => (0, import_react5.createElement)(SecretRow, { key: secret.name, secret, roster, actions, run, open: open === secret.name, onToggle: () => setOpen(open === secret.name ? null : secret.name) })), -- adding ? (0, import_react5.createElement)(AddSecret, { actions, run, onDone: () => setAdding(false) }) : null -- ), -- adding ? null : (0, import_react5.createElement)("div", { key: "add", className: "bt-actions" }, (0, import_react5.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => setAdding(true) }, t("Add a key"))) -- ]; ++} + +// src/client/awaiting.js +var AWAIT_REPLY_MS = 10 * 60 * 1e3; @@ -8513,102 +8911,16 @@ diff --git a/client.js b/client.js + const at = roster?.remoteAwaiting?.[sessionId]; + if (typeof at !== "number" || roster?.byId?.[sessionId]?.remote === void 0) return false; + return now - at < AWAIT_REPLY_MS; - } --var SECRET_CSS = ` --.bt-secret-head{align-items:center;gap:10px} --.bt-secret-who{position:relative;flex:none;display:inline-flex} --.bt-secret-lock{position:absolute;right:-5px;bottom:-4px;width:16px;height:16px;border-radius:50%;background:var(--bt-main);color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px var(--bt-bubble)} --.bt-secret-lock svg{width:11px;height:11px} --.bt-secret-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:16px;padding:1px 6px;border-radius:5px;background:var(--bt-hover);color:var(--bt-ink)} --.bt-secret-body{display:flex;flex-direction:column;gap:8px} --.bt-secret-field{align-items:center;min-height:36px} --.bt-secret-input{flex:1;width:100%;min-width:0;margin:0;padding:0;border:0;outline:none;background:transparent;color:var(--bt-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:20px;letter-spacing:.04em} --.bt-secret-input[data-masked]{-webkit-text-security:disc} --.bt-secret-input::placeholder{color:var(--bt-ink-3);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;letter-spacing:0} --.bt-secret-scope{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;align-self:flex-start;padding:2px;border-radius:999px;background:var(--bt-hover)} --.bt-secret-glide{position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:999px;background:var(--bt-main);box-shadow:0 1px 3px rgba(20,20,20,.08),inset 0 0 0 .5px color-mix(in srgb,var(--bt-ink) 6%,transparent);transition:${spring(SPRING_SHAPE, "transform")}} --.bt-secret-glide[data-at="1"]{transform:translateX(100%)} --.bt-secret-seg{position:relative;z-index:1;height:28px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--bt-ink-2);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer;transition:color .16s ease} --.bt-secret-seg[aria-checked=true]{color:var(--bt-ink);font-weight:500} --.bt-secret-seg:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px} --/* A key card asks the user to act, so the process group carrying it stays open in every -- work-details mode (same override as .bt-group-replies in styles.js). */ --[data-step-process]:has(.bt-secret)>div:first-child{display:none!important} --[data-step-process]:has(.bt-secret)>[data-step-process-body]{display:block!important;content-visibility:visible!important;max-height:none!important;overflow:visible!important;mask-image:none!important;scrollbar-gutter:auto!important} --.bt-secret-ok{display:flex;align-items:center;gap:4px;margin-top:6px;animation:bt-secret-in .22s cubic-bezier(.22,1,.36,1)} --.bt-secret-ok svg{width:13px;height:13px;color:#16a34a} --@keyframes bt-secret-in{from{opacity:0;transform:translateY(-2px)}} --.bt-secret-saved{display:flex;align-items:center;gap:6px;font-size:13px;line-height:18px;color:var(--bt-ink-2)} --.bt-secret-note{font-size:12px;line-height:17px;color:var(--bt-ink-3)} --.bt-secret-note code,.bt-secret-about code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px} --.bt-secret-warn{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;font-size:12px;line-height:16px;color:#b25e09;background:color-mix(in srgb,#f59e0b 12%,transparent)} --.bt-secret-error{font-size:12px;line-height:16px;color:#e02135} --.bt-secret .bt-q-btn:disabled{opacity:.5;cursor:default} --.bt-secret-done .bt-q-head{align-items:center} --.bt-secret-done .bt-q-title{font-size:13px;line-height:18px;color:var(--bt-ink-2);font-weight:500} --.bt-secret-scope-tag{font-weight:400;color:var(--bt-ink-3)} --.bt-secret-check{color:var(--bt-green,#22a06b);animation:bt-secret-pop ${SPRING_POP.duration}ms ${SPRING_POP.easing} backwards} --.bt-secret-done{animation:bt-secret-settle .32s cubic-bezier(.22,1,.36,1) backwards} --@keyframes bt-secret-pop{from{opacity:0;transform:scale(.4)}} --@keyframes bt-secret-settle{from{opacity:.4;transform:scale(.985)}} --.bt-secret-event{display:inline-flex;align-items:center;gap:5px} --.bt-secret-dock{flex-direction:column;align-items:center} --.bt-secret-dock .bt-q{max-width:min(550px,calc(100% - 32px))} --.bt-secret-about{margin:0 0 12px;padding:0 4px;font-size:12px;line-height:17px;color:var(--bt-ink-2)} --.bt-secret-title{display:flex;align-items:center;gap:6px;min-width:0;color:var(--bt-ink)} --.bt-secret-title svg{flex:none;color:var(--bt-ink-2)} --.bt-secret-purpose{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bt-ink-2)} --.bt-secret-faces{display:inline-flex} --.bt-secret-faces>*+*{margin-left:-6px} --.bt-secret-edit{display:flex;flex-direction:column;gap:14px;padding:4px 12px 14px;animation:bt-q-in ${SPRING_SHAPE.duration}ms ${SPRING_SHAPE.easing} backwards,bt-veil-in .2s ease-out backwards} --.bt-secret-edit-block{display:flex;flex-direction:column;gap:8px} --.bt-secret-edit-label{font-size:12px;line-height:16px;font-weight:600;color:var(--bt-ink-2)} --.bt-secret-radios{display:flex;gap:16px;font-size:13px} --.bt-secret-radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer} --.bt-secret-bots{display:flex;flex-wrap:wrap;gap:6px} --.bt-secret-bot{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 5px;border-radius:999px;border:.5px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink-2);font:inherit;font-size:12px;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease} --.bt-secret-bot[aria-pressed=true]{background:var(--bt-active);color:var(--bt-ink);border-color:var(--bt-line-2)} --.bt-secret-bot svg{width:13px;height:13px} --.bt-secret-inline{display:flex;gap:8px;align-items:center} --.bt-secret-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap} --.bt-secret-row-actions .bt-set-hint{flex:1} --.bt-secret-danger{color:#e02135;display:inline-flex;align-items:center;gap:4px} --.bt-secret-danger svg{width:13px;height:13px} --.bt-secret-add .bt-input{height:34px} --@media (prefers-reduced-motion:reduce){.bt-secret-glide{transition:none}.bt-secret-check,.bt-secret-done,.bt-secret-ok,.bt-secret-edit{animation:none}} --`; - --// src/client/turn-reasoning.js --function turnReasoning(steps, current) { -- const members = steps.length ? steps : [current]; -- if (members.find((step) => stepReasoning(step) !== "")?.step !== current.step) return ""; -- return members.filter((step) => !thinkingLive(step)).map(stepReasoning).filter(Boolean).join("\n\n"); ++} ++ +// src/client/remote-approval-wait.js +var REMOTE_APPROVAL_LABEL = "Waiting for their approval"; +function remoteApprovalPhrase(remote, { tool, inputAt = 0 } = {}) { + if (!remote) return null; + if (tool && inputAt <= (tool.at ?? 0)) return null; + return { key: "remote-approval", label: REMOTE_APPROVAL_LABEL, state: "thinking" }; - } --var texts = (step) => step.blocks.filter((block) => block.kind === "text" && block.text.trim() !== ""); --var thinkingLive = (step) => step.status === "running" && texts(step).length === 0 && step.blocks.some((block) => block.kind === "reasoning"); --var stepReasoning = (step) => step.blocks.filter((block) => block.kind === "reasoning").map((block) => block.text).join("\n").trim(); - --// src/client/cells.js --var import_react6 = require("react"); --var import_react_dom = require("react-dom"); --var import_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives"); --var mdLabels = () => ({ code: { copyLabel: t("Copy"), copiedLabel: t("Copied") }, footnotes: t("Footnotes") }); --function Bubbles({ texts: texts2, roster, selfId, actions, streaming, sessionId, msgKey, useUi, lead, mentions }) { -- const onClick = (event) => { -- const target = mentionTarget(event); -- if (target === null) return; -- event.preventDefault(); -- event.stopPropagation(); -- actions.openSession(target); -- }; -- const reactions = useUi ? useUi((state) => msgKey ? state.reactions?.[msgKey] ?? null : null) : null; -- return (0, import_react6.createElement)( ++} ++ +// src/client/activity-row-host.js +var RUNNING_HOST = "[data-chat-flow] [data-chat-running]"; +var TAIL_HOST = "tail"; @@ -8677,7 +8989,11 @@ diff --git a/client.js b/client.js + const check = () => { + frame = 0; + if (lastTurnOnScreen("assistant-step") > sendTurn.current) setReplied(true); -+ }; + }; +- const onKey = (event) => { +- if (event.key === "Escape") { +- event.stopPropagation(); +- close(); + const observer = new MutationObserver(() => { + if (!frame) frame = requestAnimationFrame(check); + }); @@ -8750,18 +9066,35 @@ diff --git a/client.js b/client.js + const reply = [void 0, "assistant-step", "tool-call"].includes(item.dataset.chatFlowKind); + item.dataset.btEnter = reply && check.current() ? "after-collapse" : "new"; + item.addEventListener("animationend", settle); -+ } -+ }; + } + }; +- window.addEventListener("mousedown", onDown); +- window.addEventListener("keydown", onKey, true); + const observer = new MutationObserver(() => { + if (!frame) frame = requestAnimationFrame(scan); + }); + scan(); -+ return () => { + return () => { +- window.removeEventListener("mousedown", onDown); +- window.removeEventListener("keydown", onKey, true); + cancelAnimationFrame(frame); + observer.disconnect(); -+ }; + }; +- }, [open]); + }, []); -+} + } +-function MessageTools({ text, name, sessionId, react, actions }) { +- const [panel, setPanel] = (0, import_react6.useState)(null); +- const [place, setPlace] = (0, import_react6.useState)(null); +- const [copied, setCopied] = (0, import_react6.useState)(false); +- const tools = (0, import_react6.useRef)(null); +- const pop = (0, import_react6.useRef)(null); +- const close = () => setPanel(null); +- useDismiss(panel !== null, close, [tools, pop]); +- const open = (kind, event) => { +- if (panel === kind) { +- close(); +- return; +function ActivityIndicator({ sessionId, useRoster, useSessionStatus, useLive, useSession, actions }) { + const roster = useRoster((value) => value); + const running = useSessionStatus((map) => map.get(sessionId)?.running === true); @@ -8800,7 +9133,29 @@ diff --git a/client.js b/client.js + if (wait <= 0) { + make(); + return void 0; -+ } + } +- const rect = event.currentTarget.getBoundingClientRect(); +- const below = rect.bottom + 220 < window.innerHeight; +- setPlace(kind === "react" ? { left: rect.left + rect.width / 2, top: rect.top - 6, "--bt-origin": "bottom center" } : { left: Math.min(rect.left, window.innerWidth - 208), ...below ? { top: rect.bottom + 4 } : { bottom: window.innerHeight - rect.top + 4, "--bt-origin": "bottom left" } }); +- setPanel(kind); +- }; +- const copy2 = () => { +- void navigator.clipboard?.writeText(text).then(() => { +- setCopied(true); +- setTimeout(() => setCopied(false), 1e3); +- }); +- }; +- const download2 = () => { +- const url = URL.createObjectURL(new Blob([text], { type: "text/markdown" })); +- const link = Object.assign(document.createElement("a"), { href: url, download: `${name}-message.md` }); +- link.click(); +- setTimeout(() => URL.revokeObjectURL(url), 1e3); +- }; +- const item = (label, Icon, run) => (0, import_react6.createElement)("button", { key: label, type: "button", role: "menuitem", onClick: () => { +- close(); +- run(); +- } }, (0, import_react6.createElement)(Icon), label); +- return (0, import_react6.createElement)( + const timer = setTimeout(make, wait); + return () => clearTimeout(timer); + }, [wantKey, shown]); @@ -8858,35 +9213,24 @@ diff --git a/client.js b/client.js + const elapsed = now - shown.at >= 6e4 ? elapsedLabel(now - shown.at) : null; + return (0, import_react_dom2.createPortal)((0, import_react10.createElement)( "div", -- { className: "bt-astack", "data-lead": lead ? "" : void 0, onClickCapture: onClick }, -- texts2.map((text, index) => { -- const key = msgKey ? `${msgKey}:${index}` : void 0; -- const picked = key ? reactions?.[index] ?? [] : []; -- const last = index === texts2.length - 1; -- const live = streaming && last; -- return (0, import_react6.createElement)( -- "div", -- { key: index, className: "bt-msg" }, -- (0, import_react6.createElement)( -- "div", -- { className: "bt-msg-line" }, -- lead && last ? lead : null, -- (0, import_react6.createElement)( -- "div", -- { className: "bt-bubble" }, -- (0, import_react6.createElement)(import_dsh_client_ui_primitives.MarkdownText, { text: linkMentions(text, roster.bots, selfId), streaming: live, labels: mdLabels(), variant: "compact", fileMentions: mentions }) -- ), -- live ? null : (0, import_react6.createElement)(MessageTools, { text, name: roster.byId[selfId]?.name ?? t("Bot"), sessionId, react: key ? (emoji) => actions.toggleReaction(msgKey, index, emoji) : void 0, actions }) -- ), -- picked.length ? (0, import_react6.createElement)("div", { className: "bt-reacts" }, picked.map((emoji) => (0, import_react6.createElement)("button", { -- key: emoji, -- type: "button", -- className: "bt-react", -- "aria-label": t("Remove reaction {emoji}", { emoji }), -- onClick: () => actions.toggleReaction(msgKey, index, emoji) -- }, emoji))) : null -- ); -- }) +- { ref: tools, className: "bt-tools", "data-open": panel !== null || void 0 }, +- react ? (0, import_react6.createElement)("button", { type: "button", className: "bt-tool", "aria-label": t("Add reaction"), title: t("Add reaction"), "aria-expanded": panel === "react", onClick: (event) => open("react", event) }, (0, import_react6.createElement)(SmileIcon)) : null, +- sessionId ? (0, import_react6.createElement)("button", { type: "button", className: "bt-tool", "aria-label": t("Reply"), title: t("Reply"), onClick: () => actions.quote(sessionId, text) }, (0, import_react6.createElement)(ReplyIcon)) : null, +- (0, import_react6.createElement)("button", { type: "button", className: "bt-tool", "aria-label": t("More message actions"), title: t("More"), "aria-haspopup": "menu", "aria-expanded": panel === "more", onClick: (event) => open("more", event) }, copied ? (0, import_react6.createElement)(CheckIcon) : (0, import_react6.createElement)(DotsIcon)), +- panel === "react" ? (0, import_react_dom.createPortal)((0, import_react6.createElement)( +- "div", +- { ref: pop, className: "bt-react-strip", role: "menu", "aria-label": t("Reactions"), style: place }, +- REACTIONS.map((emoji) => (0, import_react6.createElement)("button", { key: emoji, type: "button", role: "menuitem", "aria-label": emoji, onClick: () => { +- close(); +- react(emoji); +- } }, emoji)) +- ), document.body) : null, +- panel === "more" ? (0, import_react_dom.createPortal)((0, import_react6.createElement)( +- "div", +- { ref: pop, className: "bt-menu", role: "menu", "aria-label": t("Message actions"), style: place }, +- item(t("Copy"), CopyIcon, copy2), +- item(t("Download"), DownloadIcon, download2) +- ), document.body) : null - ); + { className: "bt-typing", "data-exiting": phase === "out" ? "" : void 0, "data-carry": carry && phase !== "out" ? "" : void 0, "data-remote": remote ? "" : void 0, "data-flybot": shown.key === "remote-approval" ? "remote-approval" : void 0, "aria-hidden": true }, + bot ? (0, import_react10.createElement)(BotMark, { bot, size: 28, state: markState.current, live: true, pokeable: true }) : (0, import_react10.createElement)(RoomAvatar, { room: room2, roster, size: 28 }), @@ -8902,22 +9246,13 @@ diff --git a/client.js b/client.js + ) + ), host); } --var REACTIONS = ["👍", "❤️", "😂", "😮", "😢", "🙏"]; --function useDismiss(open, close, refs) { -- (0, import_react6.useEffect)(() => { -- if (!open) return void 0; -- const onDown = (event) => { -- if (refs.some((ref) => ref.current?.contains(event.target))) return; -- close(); -- }; -- const onKey = (event) => { -- if (event.key === "Escape") { -- event.stopPropagation(); -- close(); -- } -- }; -- window.addEventListener("mousedown", onDown); -- window.addEventListener("keydown", onKey, true); +-function ThinkingRow({ text }) { +- return (0, import_react6.createElement)( +- "details", +- { className: "bt-think" }, +- (0, import_react6.createElement)("summary", null, t("Thought it through")), +- (0, import_react6.createElement)("div", { className: "bt-think-text" }, text) +- ); + +// src/client/dsh-offer.js +var APP_OFFER = /* @__PURE__ */ new Set(["available", "downloading", "verifying", "installing", "ready"]); @@ -8927,7 +9262,16 @@ diff --git a/client.js b/client.js + if (!dsh?.verified || !dsh.current || sameVersion(dsh.verified, dsh.current)) return false; + if (dsh.kind === "npm") return true; + return dsh.kind === "app" && APP_OFFER.has(app?.phase) && sameVersion(app.version, dsh.verified); -+} + } +-function useFileMentions({ node, openFile, fileMentions, useTurnData }) { +- const tail = useTurnData?.("turn-tail"); +- const location2 = node.location; +- const turn = location2?.kind === "turn" || location2?.kind === "step" ? location2.turn : void 0; +- const seq = node.data.finalNode?.seq; +- return (0, import_react6.useMemo)(() => { +- if (typeof fileMentions !== "function" || turn?.status !== "closed" || seq === void 0) return void 0; +- return tail?.closing?.finalNode.seq === seq ? fileMentions({ turn, seq, openFile }) : void 0; +- }, [fileMentions, openFile, seq, tail, turn]); + +// src/client/overlay-hooks.js +var import_react11 = require("react"); @@ -8941,69 +9285,45 @@ diff --git a/client.js b/client.js + (0, import_react11.useEffect)(() => { + if (escapeLayers.length === 0) window.addEventListener("keydown", onEscapeKey); + escapeLayers.push(ref); - return () => { -- window.removeEventListener("mousedown", onDown); -- window.removeEventListener("keydown", onKey, true); ++ return () => { + escapeLayers.splice(escapeLayers.indexOf(ref), 1); + if (escapeLayers.length === 0) window.removeEventListener("keydown", onEscapeKey); - }; -- }, [open]); ++ }; + }, []); } --function MessageTools({ text, name, sessionId, react, actions }) { -- const [panel, setPanel] = (0, import_react6.useState)(null); -- const [place, setPlace] = (0, import_react6.useState)(null); -- const [copied, setCopied] = (0, import_react6.useState)(false); -- const tools = (0, import_react6.useRef)(null); -- const pop = (0, import_react6.useRef)(null); -- const close = () => setPanel(null); -- useDismiss(panel !== null, close, [tools, pop]); -- const open = (kind, event) => { -- if (panel === kind) { -- close(); -- return; -- } -- const rect = event.currentTarget.getBoundingClientRect(); -- const below = rect.bottom + 220 < window.innerHeight; -- setPlace(kind === "react" ? { left: rect.left + rect.width / 2, top: rect.top - 6, "--bt-origin": "bottom center" } : { left: Math.min(rect.left, window.innerWidth - 208), ...below ? { top: rect.bottom + 4 } : { bottom: window.innerHeight - rect.top + 4, "--bt-origin": "bottom left" } }); -- setPanel(kind); -- }; -- const copy2 = () => { -- void navigator.clipboard?.writeText(text).then(() => { -- setCopied(true); -- setTimeout(() => setCopied(false), 1e3); -- }); -- }; -- const download2 = () => { -- const url = URL.createObjectURL(new Blob([text], { type: "text/markdown" })); -- const link = Object.assign(document.createElement("a"), { href: url, download: `${name}-message.md` }); -- link.click(); -- setTimeout(() => URL.revokeObjectURL(url), 1e3); -- }; -- const item = (label, Icon, run) => (0, import_react6.createElement)("button", { key: label, type: "button", role: "menuitem", onClick: () => { -- close(); -- run(); -- } }, (0, import_react6.createElement)(Icon), label); +-function AssistantCell({ node, groupPart, sessionId, openFile, fileMentions, useTurnData, useRoster, useUi, useTurnSteps, useTurnContext, actions }) { +- const roster = useRoster((value) => value); +- const data = node.data; +- const steps = useTurnSteps(String(data.turn)); +- const contexts = useTurnContext(String(data.turn)); +- const mentions = useFileMentions({ node, openFile, fileMentions, useTurnData }); +- const hidden = Boolean(roster.roomsById[sessionId]) || isHiddenTurn(roster, sessionId, data.turn); +- const texts2 = groupPart === "reasoning" ? [] : data.blocks.filter((block) => block.kind === "text" && block.text.trim() !== "").map((block) => block.text); +- const running = data.status === "running"; +- useLiveNote(actions, sessionId, `text:${node.key ?? data.seq}`, !hidden && running && texts2.length > 0 ? { text: true } : null); +- if (hidden) return null; +- const reasoning = groupPart === "response" ? "" : turnReasoning(steps, data); +- const relays = relayPart(data, groupPart) ? relaysBefore(contexts, steps, data) : []; +- if (texts2.length === 0 && !reasoning && relays.length === 0) return null; +- const selfId = roster.byId[sessionId]?.id ?? sessionId; - return (0, import_react6.createElement)( -- "div", -- { ref: tools, className: "bt-tools", "data-open": panel !== null || void 0 }, -- react ? (0, import_react6.createElement)("button", { type: "button", className: "bt-tool", "aria-label": t("Add reaction"), title: t("Add reaction"), "aria-expanded": panel === "react", onClick: (event) => open("react", event) }, (0, import_react6.createElement)(SmileIcon)) : null, -- sessionId ? (0, import_react6.createElement)("button", { type: "button", className: "bt-tool", "aria-label": t("Reply"), title: t("Reply"), onClick: () => actions.quote(sessionId, text) }, (0, import_react6.createElement)(ReplyIcon)) : null, -- (0, import_react6.createElement)("button", { type: "button", className: "bt-tool", "aria-label": t("More message actions"), title: t("More"), "aria-haspopup": "menu", "aria-expanded": panel === "more", onClick: (event) => open("more", event) }, copied ? (0, import_react6.createElement)(CheckIcon) : (0, import_react6.createElement)(DotsIcon)), -- panel === "react" ? (0, import_react_dom.createPortal)((0, import_react6.createElement)( -- "div", -- { ref: pop, className: "bt-react-strip", role: "menu", "aria-label": t("Reactions"), style: place }, -- REACTIONS.map((emoji) => (0, import_react6.createElement)("button", { key: emoji, type: "button", role: "menuitem", "aria-label": emoji, onClick: () => { -- close(); -- react(emoji); -- } }, emoji)) -- ), document.body) : null, -- panel === "more" ? (0, import_react_dom.createPortal)((0, import_react6.createElement)( -- "div", -- { ref: pop, className: "bt-menu", role: "menu", "aria-label": t("Message actions"), style: place }, -- item(t("Copy"), CopyIcon, copy2), -- item(t("Download"), DownloadIcon, download2) -- ), document.body) : null +- import_react6.Fragment, +- null, +- relays.map((relay) => { +- const source = relay.source; +- const sender = roster.byId[source.senderSessionId] ?? { id: source.senderSessionId, name: source.senderName ?? t("a Bot"), color: "gray" }; +- return (0, import_react6.createElement)(EventLine, { +- key: relay.seq, +- prefix: source.role === "stopped" ? t("Stopped by") : source.role === "reply" ? t("Reply from") : t("Message from"), +- bots: [sender], +- onOpen: () => { +- if (sender.id) actions.openExchange(selfId, sender.id); +- }, +- whole: true +- }); +- }), +- reasoning ? (0, import_react6.createElement)(ThinkingRow, { text: reasoning }) : null, +- texts2.length ? (0, import_react6.createElement)(Bubbles, { texts: texts2, roster, selfId, actions, streaming: running, sessionId, msgKey: `${sessionId}:${data.turn}:${node.key ?? data.seq ?? ""}`, useUi, mentions }) : null - ); +function usePaneLeft() { + const [paneLeft, setPaneLeft] = (0, import_react11.useState)(280); @@ -9013,13 +9333,30 @@ diff --git a/client.js b/client.js + }, []); + return paneLeft; } --function ThinkingRow({ text }) { -- return (0, import_react6.createElement)( -- "details", -- { className: "bt-think" }, -- (0, import_react6.createElement)("summary", null, t("Thought it through")), -- (0, import_react6.createElement)("div", { className: "bt-think-text" }, text) -- ); +-function EventLine({ prefix, bots, joiner = t("and"), onOpen, whole = false }) { +- if (whole && bots.length === 1) { +- return (0, import_react6.createElement)( +- "div", +- { className: "bt-event" }, +- (0, import_react6.createElement)( +- "button", +- { type: "button", className: "bt-event-whole", title: bots[0].name, onClick: () => onOpen?.(bots[0]) }, +- (0, import_react6.createElement)("span", null, prefix), +- (0, import_react6.createElement)(BotMark, { bot: bots[0], size: 16 }), +- (0, import_react6.createElement)("span", { className: "bt-event-name" }, bots[0].name) +- ) +- ); +- } +- const parts = []; +- parts.push((0, import_react6.createElement)("span", { key: "p" }, prefix)); +- bots.forEach((bot, index) => { +- if (index > 0) parts.push((0, import_react6.createElement)("span", { key: `j${index}` }, joiner)); +- parts.push((0, import_react6.createElement)( +- "button", +- { key: bot.id ?? index, type: "button", onClick: () => onOpen?.(bot) }, +- (0, import_react6.createElement)(BotMark, { bot, size: 16 }), +- bot.name +- )); + +// src/client/member-styles.js +var MEMBER_CSS = ` @@ -9076,83 +9413,16 @@ diff --git a/client.js b/client.js + const approvals = askedIn(room2, work, id, doing); + return { id, approvals, doing, here: doing !== void 0, state: approvals.length > 0 ? "ask" : doing ? "work" : "idle" }; + }); - } --function useFileMentions({ node, openFile, fileMentions, useTurnData }) { -- const tail = useTurnData?.("turn-tail"); -- const location2 = node.location; -- const turn = location2?.kind === "turn" || location2?.kind === "step" ? location2.turn : void 0; -- const seq = node.data.finalNode?.seq; -- return (0, import_react6.useMemo)(() => { -- if (typeof fileMentions !== "function" || turn?.status !== "closed" || seq === void 0) return void 0; -- return tail?.closing?.finalNode.seq === seq ? fileMentions({ turn, seq, openFile }) : void 0; -- }, [fileMentions, openFile, seq, tail, turn]); ++} +function busyMembers(room2, work, roster) { + const busy = memberWork(room2, work).filter((entry) => entry.state !== "idle" && roster.byId[entry.id]); + return [...busy.filter((entry) => entry.state === "ask"), ...busy.filter((entry) => entry.state === "work")].map((entry) => ({ ...entry, bot: roster.byId[entry.id] })); - } --function AssistantCell({ node, groupPart, sessionId, openFile, fileMentions, useTurnData, useRoster, useUi, useTurnSteps, useTurnContext, actions }) { -- const roster = useRoster((value) => value); -- const data = node.data; -- const steps = useTurnSteps(String(data.turn)); -- const contexts = useTurnContext(String(data.turn)); -- const mentions = useFileMentions({ node, openFile, fileMentions, useTurnData }); -- const hidden = Boolean(roster.roomsById[sessionId]) || isHiddenTurn(roster, sessionId, data.turn); -- const texts2 = groupPart === "reasoning" ? [] : data.blocks.filter((block) => block.kind === "text" && block.text.trim() !== "").map((block) => block.text); -- const running = data.status === "running"; -- useLiveNote(actions, sessionId, `text:${node.key ?? data.seq}`, !hidden && running && texts2.length > 0 ? { text: true } : null); -- if (hidden) return null; -- const reasoning = groupPart === "response" ? "" : turnReasoning(steps, data); -- const relays = relayPart(data, groupPart) ? relaysBefore(contexts, steps, data) : []; -- if (texts2.length === 0 && !reasoning && relays.length === 0) return null; -- const selfId = roster.byId[sessionId]?.id ?? sessionId; -- return (0, import_react6.createElement)( -- import_react6.Fragment, -- null, -- relays.map((relay) => { -- const source = relay.source; -- const sender = roster.byId[source.senderSessionId] ?? { id: source.senderSessionId, name: source.senderName ?? t("a Bot"), color: "gray" }; -- return (0, import_react6.createElement)(EventLine, { -- key: relay.seq, -- prefix: source.role === "stopped" ? t("Stopped by") : source.role === "reply" ? t("Reply from") : t("Message from"), -- bots: [sender], -- onOpen: () => { -- if (sender.id) actions.openExchange(selfId, sender.id); -- }, -- whole: true -- }); -- }), -- reasoning ? (0, import_react6.createElement)(ThinkingRow, { text: reasoning }) : null, -- texts2.length ? (0, import_react6.createElement)(Bubbles, { texts: texts2, roster, selfId, actions, streaming: running, sessionId, msgKey: `${sessionId}:${data.turn}:${node.key ?? data.seq ?? ""}`, useUi, mentions }) : null -- ); ++} +function splitBusy(busy) { + const here = busy.filter((entry) => entry.state === "work" && entry.here); + const rows = [...here.filter((entry) => entry.doing.speaking === true), ...here.filter((entry) => entry.doing.speaking !== true)].slice(0, ROWS_MAX); + return { rows, rest: busy.filter((entry) => !rows.includes(entry)) }; - } --function EventLine({ prefix, bots, joiner = t("and"), onOpen, whole = false }) { -- if (whole && bots.length === 1) { -- return (0, import_react6.createElement)( -- "div", -- { className: "bt-event" }, -- (0, import_react6.createElement)( -- "button", -- { type: "button", className: "bt-event-whole", title: bots[0].name, onClick: () => onOpen?.(bots[0]) }, -- (0, import_react6.createElement)("span", null, prefix), -- (0, import_react6.createElement)(BotMark, { bot: bots[0], size: 16 }), -- (0, import_react6.createElement)("span", { className: "bt-event-name" }, bots[0].name) -- ) -- ); -- } -- const parts = []; -- parts.push((0, import_react6.createElement)("span", { key: "p" }, prefix)); -- bots.forEach((bot, index) => { -- if (index > 0) parts.push((0, import_react6.createElement)("span", { key: `j${index}` }, joiner)); -- parts.push((0, import_react6.createElement)( -- "button", -- { key: bot.id ?? index, type: "button", onClick: () => onOpen?.(bot) }, -- (0, import_react6.createElement)(BotMark, { bot, size: 16 }), -- bot.name -- )); ++} +function botGroupWork(botId, work, roster) { + return Object.entries(work.rooms ?? {}).flatMap(([roomId, entries2]) => { + const entry = entries2.find((item) => item.botId === botId); @@ -9220,6 +9490,11 @@ diff --git a/client.js b/client.js } -function GroupEvent({ prefix, room: room2, name, roster, actions }) { - return (0, import_react6.createElement)( +- "div", +- { className: "bt-event" }, +- (0, import_react6.createElement)("span", null, prefix), +- room2 ? (0, import_react6.createElement)("button", { type: "button", onClick: () => actions.openSession(room2.id) }, (0, import_react6.createElement)(RoomAvatar, { room: room2, roster, size: 16 }), room2.name) : name ? (0, import_react6.createElement)("span", null, name) : null +- ); +function MemberDock({ sessionId, useRoster, useWork, actions }) { + const roster = useRoster((value) => value); + const work = useWork((value) => value); @@ -9253,7 +9528,16 @@ diff --git a/client.js b/client.js + now, + onOpen: () => actions.openSession(item.room.id) + }))); -+} + } +-function MemoryEvent({ sessionId, scope, result, roster, actions, findBot }) { +- if (!/^(Saved to|Updated in|Removed from) /.test(result)) return null; +- const self = roster.byId[sessionId]; +- const team = /^(team|团队|共享)$/i.test(String(scope ?? "").trim()); +- const other = team || !scope ? void 0 : findBot(scope); +- const target = other && other.id !== self?.id ? other : self; +- if (!target) return null; +- const label = team ? t("Team memory updated") : target === self ? t("Memory updated") : t("Updated {name}'s memory", { name: target.name }); +- return (0, import_react6.createElement)( +function useFlowColumn(ref, active, key) { + (0, import_react12.useLayoutEffect)(() => { + const node = ref.current; @@ -9281,7 +9565,7 @@ diff --git a/client.js b/client.js + return now; +} +var since = (now, at) => typeof at === "number" && now - at >= 6e4 ? ` · ${elapsedLabel(now - at)}` : ""; -+var alwaysChoices = (approval, bot) => bot?.remote ? [] : [ ++var alwaysChoices = (approval, bot) => bot?.remote || approval.tool === "feishu_tool" ? [] : [ + ["always-bot", "Always allow for this Bot"], + ...approval.roomId ? [["always-room", "Always allow for this group"]] : [] +]; @@ -9294,8 +9578,7 @@ diff --git a/client.js b/client.js + return (0, import_react12.createElement)( "div", - { className: "bt-event" }, -- (0, import_react6.createElement)("span", null, prefix), -- room2 ? (0, import_react6.createElement)("button", { type: "button", onClick: () => actions.openSession(room2.id) }, (0, import_react6.createElement)(RoomAvatar, { room: room2, roster, size: 16 }), room2.name) : name ? (0, import_react6.createElement)("span", null, name) : null +- (0, import_react6.createElement)("button", { type: "button", title: result, onClick: () => actions.openMemory(target.id) }, (0, import_react6.createElement)(MemoryIcon), label) + { className: "bt-mw-card", role: "group", "aria-label": t("{name} is waiting for your approval", { name: bot.name }) }, + (0, import_react12.createElement)("div", { className: "bt-mw-tool" }, approval.tool), + approval.detail?.text ? (0, import_react12.createElement)("div", { className: "bt-mw-text" }, approval.detail.text) : null, @@ -9314,15 +9597,12 @@ diff --git a/client.js b/client.js + ) ); } --function MemoryEvent({ sessionId, scope, result, roster, actions, findBot }) { -- if (!/^(Saved to|Updated in|Removed from) /.test(result)) return null; -- const self = roster.byId[sessionId]; -- const team = /^(team|团队|共享)$/i.test(String(scope ?? "").trim()); -- const other = team || !scope ? void 0 : findBot(scope); -- const target = other && other.id !== self?.id ? other : self; -- if (!target) return null; -- const label = team ? t("Team memory updated") : target === self ? t("Memory updated") : t("Updated {name}'s memory", { name: target.name }); -- return (0, import_react6.createElement)( +-function PartLine({ time }) { +- return (0, import_react6.createElement)("div", { className: "bt-part-line", role: "separator" }, Number.isFinite(time) ? (0, import_react6.createElement)("span", null, dayLabel(time)) : null); +-} +-var scrollParent = (node) => { +- for (let at = node.parentElement; at; at = at.parentElement) { +- if (/(auto|scroll)/.test(getComputedStyle(at).overflowY)) return at; +function MemberWork({ entry, bot, room: room2, actions, now }) { + const [stopping, setStopping] = (0, import_react12.useState)(false); + if (entry.state === "ask") { @@ -9332,52 +9612,9 @@ diff --git a/client.js b/client.js + (0, import_react12.createElement)("div", { className: "bt-mw-state bt-mw-ask" }, `${t("Waiting for your approval")}${since(now, entry.approvals[0].at)}`), + entry.approvals.map((approval) => (0, import_react12.createElement)(ApprovalCard, { key: approval.id, approval, bot, actions })) + ); -+ } -+ if (entry.state !== "work") return null; -+ const stop = () => { -+ setStopping(true); -+ void Promise.resolve(actions.stopMemberWork(room2.id, bot.id)).catch((error) => actions.reportError(error, "stop")).finally(() => setStopping(false)); -+ }; -+ return (0, import_react12.createElement)( - "div", -- { className: "bt-event" }, -- (0, import_react6.createElement)("button", { type: "button", title: result, onClick: () => actions.openMemory(target.id) }, (0, import_react6.createElement)(MemoryIcon), label) -+ { className: "bt-mw-member" }, -+ (0, import_react12.createElement)( -+ "div", -+ { className: "bt-mw-state bt-mw-work" }, -+ (0, import_react12.createElement)("span", null, (0, import_react12.createElement)(Shimmer, null, workText(entry.doing.tool, entry.doing.step)), since(now, entry.doing.since)), -+ entry.here && entry.doing.handed !== true ? (0, import_react12.createElement)("button", { type: "button", className: "bt-mw-stop", disabled: stopping, onClick: stop }, t("Stop")) : null -+ ) - ); - } --function PartLine({ time }) { -- return (0, import_react6.createElement)("div", { className: "bt-part-line", role: "separator" }, Number.isFinite(time) ? (0, import_react6.createElement)("span", null, dayLabel(time)) : null); -+function useMemberWork(room2, useWork) { -+ const work = useWork?.((value) => value) ?? NO_WORK; -+ const entries2 = room2 ? memberWork(room2, work) : []; -+ const now = useNow(entries2.some((entry) => entry.state !== "idle")); -+ return { entries: entries2, now }; - } --var scrollParent = (node) => { -- for (let at = node.parentElement; at; at = at.parentElement) { -- if (/(auto|scroll)/.test(getComputedStyle(at).overflowY)) return at; -- } + } - return null; -+ -+// src/shared/task-board.js -+var COLUMNS = ["not-started", "in-progress", "done"]; -+var PRIORITIES = ["urgent", "high", "normal", "low"]; -+var COLUMN_OF = { -+ open: "not-started", -+ claimed: "not-started", -+ working: "in-progress", -+ blocked: "in-progress", -+ "result-ready": "in-progress", -+ accepted: "done", -+ cancelled: "done", -+ failed: "done" - }; +-}; -function EarlierParts({ sessionId, roster, actions }) { - const [view, setView] = (0, import_react6.useState)({ items: [], cursor: void 0, loading: true, failed: false, startedAt: null }); - const top = (0, import_react6.useRef)(null); @@ -9397,6 +9634,168 @@ diff --git a/client.js b/client.js - }, () => { - busy.current = false; - if (alive.current) setView((current) => ({ ...current, loading: false, failed: true })); +- }); ++ if (entry.state !== "work") return null; ++ const stop = () => { ++ setStopping(true); ++ void Promise.resolve(actions.stopMemberWork(room2.id, bot.id)).catch((error) => actions.reportError(error, "stop")).finally(() => setStopping(false)); + }; +- (0, import_react6.useEffect)(() => { +- alive.current = true; +- load(void 0); +- return () => { +- alive.current = false; +- }; +- }, [sessionId]); +- (0, import_react6.useLayoutEffect)(() => { +- const pending = restore.current; +- restore.current = null; +- if (pending) pending.scroller.scrollTop = pending.scroller.scrollHeight - pending.fromEnd; +- }, [view.items]); +- (0, import_react6.useEffect)(() => { +- const node = top.current; +- if (!node || view.loading || view.failed || !view.cursor || typeof IntersectionObserver !== "function") return void 0; +- const observer = new IntersectionObserver((entries2) => { +- if (entries2.some((entry) => entry.isIntersecting)) load(view.cursor); +- }, { root: scrollParent(node), rootMargin: "600px 0px 0px 0px" }); +- observer.observe(node); +- return () => observer.disconnect(); +- }, [view.cursor, view.loading, view.failed]); +- const selfId = roster.byId[sessionId]?.id; +- const rows = []; +- for (const item of view.items) { +- const last = rows.at(-1); +- if (item.kind === "bot" && last?.kind === "bot") last.texts.push(item.text); +- else rows.push(item.kind === "bot" ? { kind: "bot", texts: [item.text] } : item); +- } +- return (0, import_react6.createElement)( ++ return (0, import_react12.createElement)( + "div", +- { className: "bt-earlier", role: "feed", "aria-label": t("Earlier messages"), "aria-busy": view.loading }, +- (0, import_react6.createElement)( ++ { className: "bt-mw-member" }, ++ (0, import_react12.createElement)( + "div", +- { ref: top, className: "bt-earlier-top" }, +- view.loading ? (0, import_react6.createElement)(Shimmer, null, t("Loading earlier messages…")) : view.failed ? (0, import_react6.createElement)("button", { type: "button", className: "bt-soft", onClick: () => load(view.cursor) }, t("Couldn’t load earlier messages · Retry")) : view.cursor ? (0, import_react6.createElement)("button", { type: "button", className: "bt-soft", onClick: () => load(view.cursor) }, t("Load earlier")) : null +- ), +- rows.map((row, index) => { +- const key = rows.length - index; +- switch (row.kind) { +- case "divider": +- return (0, import_react6.createElement)(PartLine, { key, time: row.time }); +- case "user": +- return (0, import_react6.createElement)("div", { key, className: "bt-urow" }, (0, import_react6.createElement)( +- "div", +- { className: "bt-ububble" }, +- row.text ? (0, import_react6.createElement)(import_dsh_client_ui_primitives.MarkdownText, { text: row.text, labels: mdLabels(), variant: "compact" }) : null, +- row.images ? (0, import_react6.createElement)("span", { className: "bt-uimages" }, row.images === 1 ? t("1 image") : t("{count} images", { count: row.images })) : null +- )); +- case "answer": +- return (0, import_react6.createElement)(AnsweredCell, { key, node: { data: row } }); +- case "bot": +- return (0, import_react6.createElement)(Bubbles, { key, texts: row.texts, roster, selfId, actions }); +- case "event": { +- if (row.role === "report") return (0, import_react6.createElement)(GroupEvent, { key, prefix: t("Replies from"), room: roster.roomsById[row.roomId], name: t("a group chat"), roster, actions }); +- const other = roster.byId[row.botId] ?? { id: row.botId, name: row.name ?? t("a Bot"), color: "gray" }; +- const prefix = { stopped: t("Stopped by"), reply: t("Reply from") }[row.role] ?? t("Message from"); +- return (0, import_react6.createElement)(EventLine, { key, prefix, bots: [other], onOpen: () => { +- if (selfId && other.id) actions.openExchange(selfId, other.id); +- }, whole: true }); +- } +- default: +- return null; +- } +- }), +- (0, import_react6.createElement)(PartLine, { time: view.startedAt }) ++ { className: "bt-mw-state bt-mw-work" }, ++ (0, import_react12.createElement)("span", null, (0, import_react12.createElement)(Shimmer, null, workText(entry.doing.tool, entry.doing.step)), since(now, entry.doing.since)), ++ entry.here && entry.doing.handed !== true ? (0, import_react12.createElement)("button", { type: "button", className: "bt-mw-stop", disabled: stopping, onClick: stop }, t("Stop")) : null ++ ) + ); + } +-function TriggerCell({ node, sessionId, useRoster, useSessions, useTurnClock, useUi, actions }) { +- const roster = useRoster((value) => value); +- const data = node.data; +- const source = data.source !== null && typeof data.source === "object" ? data.source : {}; +- const selfId = roster.byId[sessionId]?.id ?? sessionId; +- const deferred = source.kind === "bot" && source.deferred === true; +- const relayed = isRelayContext(data); +- const turn = node.location?.turn?.turn ?? data.turn; +- (0, import_react6.useLayoutEffect)(() => { +- if (relayed) actions.noteTurnPeer(sessionId, turn, source.senderSessionId); +- }, [relayed, sessionId, turn, source.senderSessionId]); +- const order = useSessions((list) => { +- const outline = list.projectionsBySession?.[sessionId]?.values?.turnOutline ?? list.byId[sessionId]?.projectionValues?.turnOutline; +- return Array.isArray(outline) ? outline.map((entry) => entry.turn).join(",") : ""; +- }); +- const peers = useTurnClock((state) => { +- if (!relayed) return ""; +- const turns = state[sessionId] ?? {}; +- return Object.keys(turns).filter((key) => turns[key].peer !== void 0).map((key) => `${key}:${turns[key].peer}`).join(","); +- }); +- const visit = useUi((state) => state.visits?.[sessionId]); +- const hiddenTurns = roster.exchangeTurns[sessionId]; +- const unreadOpening = useTurnClock((state) => { +- const first = openingTurn(state[sessionId], order, hiddenTurns); +- return first?.turn === turn && unseenSince(visit, first.start) ? clockLabel(first.start) : ""; +- }); +- const body = triggerBody(); +- return unreadOpening ? (0, import_react6.createElement)(import_react6.Fragment, null, (0, import_react6.createElement)("div", { className: "bt-open-new" }, (0, import_react6.createElement)(NewDivider), (0, import_react6.createElement)("div", { className: "bt-time-sep", role: "separator" }, unreadOpening)), body) : body; +- function triggerBody() { +- if (source.kind === "bot") { +- if (source.handoff === true) return roster.roomsById[sessionId] ? null : (0, import_react6.createElement)(EarlierParts, { sessionId, roster, actions }); +- if (source.role === "kickoff" || source.role === "room") return null; +- if (source.role === "secret" || deferred) return null; +- if (source.role === "post") { +- if (source.failed !== void 0 || source.resumed === true || source.stopped === true) return null; +- const room2 = roster.roomsById[sessionId]; +- const poster = roster.byId[source.senderSessionId] ?? { id: source.senderSessionId, name: source.senderName ?? t("a Bot"), color: "gray" }; +- return (0, import_react6.createElement)(GroupMessage, { bot: poster, text: stripHeader(contentText(data.content)), room: room2, roster, actions, msgKey: `${sessionId}:${data.turn}:post`, useUi }); +- } +- if (source.role === "report") { +- return (0, import_react6.createElement)(GroupEvent, { prefix: t("Replies from"), room: roster.roomsById[source.roomId], name: t("a group chat"), roster, actions }); +- } +- if (source.role === "resume" || source.resumed === true) return (0, import_react6.createElement)("div", { className: "bt-event" }, t("Picked up its work after a restart")); +- if (source.role === "retry" || source.retried === true) return (0, import_react6.createElement)("div", { className: "bt-event" }, t("Asked to make the tool call it wrote as text")); +- const run = relayed ? commRunOf( +- order.split(",").filter(Boolean).map(Number), +- Object.fromEntries(peers.split(",").filter(Boolean).map((pair) => [Number(pair.slice(0, pair.indexOf(":"))), pair.slice(pair.indexOf(":") + 1)])), +- turn, +- hiddenTurns +- ) : null; +- if (run === "folded") return null; +- const sender = roster.byId[source.senderSessionId] ?? { id: source.senderSessionId, name: source.senderName ?? t("a Bot"), color: "gray" }; +- const count = run?.count ?? (isHiddenTurn(roster, sessionId, turn) ? 2 : 1); +- const bots = [sender]; +- for (const peer of (run?.peerIds ?? []).map((id) => roster.byId[id]).filter(Boolean)) { +- if (!bots.some((bot) => bot.id === peer.id)) bots.push(peer); +- } +- return (0, import_react6.createElement)(EventLine, { +- prefix: source.role === "stopped" ? t("Stopped by") : count > 1 ? t("{count} messages with", { count }) : t("Message from"), +- bots, +- onOpen: (bot) => actions.openExchange(selfId, bot.id), +- whole: true ++function useMemberWork(room2, useWork) { ++ const work = useWork?.((value) => value) ?? NO_WORK; ++ const entries2 = room2 ? memberWork(room2, work) : []; ++ const now = useNow(entries2.some((entry) => entry.state !== "idle")); ++ return { entries: entries2, now }; ++} ++ ++// src/shared/task-board.js ++var COLUMNS = ["not-started", "in-progress", "done"]; ++var PRIORITIES = ["urgent", "high", "normal", "low"]; ++var COLUMN_OF = { ++ open: "not-started", ++ claimed: "not-started", ++ working: "in-progress", ++ blocked: "in-progress", ++ "result-ready": "in-progress", ++ accepted: "done", ++ cancelled: "done", ++ failed: "done" ++}; +function columnOf(task) { + return COLUMN_OF[task?.status] ?? "not-started"; +} @@ -9490,74 +9889,13 @@ diff --git a/client.js b/client.js + }).catch(() => { + }).finally(() => { + if (!stopped) timer = setTimeout(load, POLL_MS2); - }); -- }; -- (0, import_react6.useEffect)(() => { -- alive.current = true; -- load(void 0); ++ }); + load(); - return () => { -- alive.current = false; ++ return () => { + stopped = true; + clearTimeout(timer); + taskListeners.delete(setTasks); - }; -- }, [sessionId]); -- (0, import_react6.useLayoutEffect)(() => { -- const pending = restore.current; -- restore.current = null; -- if (pending) pending.scroller.scrollTop = pending.scroller.scrollHeight - pending.fromEnd; -- }, [view.items]); -- (0, import_react6.useEffect)(() => { -- const node = top.current; -- if (!node || view.loading || view.failed || !view.cursor || typeof IntersectionObserver !== "function") return void 0; -- const observer = new IntersectionObserver((entries2) => { -- if (entries2.some((entry) => entry.isIntersecting)) load(view.cursor); -- }, { root: scrollParent(node), rootMargin: "600px 0px 0px 0px" }); -- observer.observe(node); -- return () => observer.disconnect(); -- }, [view.cursor, view.loading, view.failed]); -- const selfId = roster.byId[sessionId]?.id; -- const rows = []; -- for (const item of view.items) { -- const last = rows.at(-1); -- if (item.kind === "bot" && last?.kind === "bot") last.texts.push(item.text); -- else rows.push(item.kind === "bot" ? { kind: "bot", texts: [item.text] } : item); -- } -- return (0, import_react6.createElement)( -- "div", -- { className: "bt-earlier", role: "feed", "aria-label": t("Earlier messages"), "aria-busy": view.loading }, -- (0, import_react6.createElement)( -- "div", -- { ref: top, className: "bt-earlier-top" }, -- view.loading ? (0, import_react6.createElement)(Shimmer, null, t("Loading earlier messages…")) : view.failed ? (0, import_react6.createElement)("button", { type: "button", className: "bt-soft", onClick: () => load(view.cursor) }, t("Couldn’t load earlier messages · Retry")) : view.cursor ? (0, import_react6.createElement)("button", { type: "button", className: "bt-soft", onClick: () => load(view.cursor) }, t("Load earlier")) : null -- ), -- rows.map((row, index) => { -- const key = rows.length - index; -- switch (row.kind) { -- case "divider": -- return (0, import_react6.createElement)(PartLine, { key, time: row.time }); -- case "user": -- return (0, import_react6.createElement)("div", { key, className: "bt-urow" }, (0, import_react6.createElement)( -- "div", -- { className: "bt-ububble" }, -- row.text ? (0, import_react6.createElement)(import_dsh_client_ui_primitives.MarkdownText, { text: row.text, labels: mdLabels(), variant: "compact" }) : null, -- row.images ? (0, import_react6.createElement)("span", { className: "bt-uimages" }, row.images === 1 ? t("1 image") : t("{count} images", { count: row.images })) : null -- )); -- case "answer": -- return (0, import_react6.createElement)(AnsweredCell, { key, node: { data: row } }); -- case "bot": -- return (0, import_react6.createElement)(Bubbles, { key, texts: row.texts, roster, selfId, actions }); -- case "event": { -- if (row.role === "report") return (0, import_react6.createElement)(GroupEvent, { key, prefix: t("Replies from"), room: roster.roomsById[row.roomId], name: t("a group chat"), roster, actions }); -- const other = roster.byId[row.botId] ?? { id: row.botId, name: row.name ?? t("a Bot"), color: "gray" }; -- const prefix = { stopped: t("Stopped by"), reply: t("Reply from") }[row.role] ?? t("Message from"); -- return (0, import_react6.createElement)(EventLine, { key, prefix, bots: [other], onOpen: () => { -- if (selfId && other.id) actions.openExchange(selfId, other.id); -- }, whole: true }); -- } -- default: -- return null; ++ }; + }, []); + return tasks; +} @@ -9575,86 +9913,23 @@ diff --git a/client.js b/client.js + workflowListeners.add(setWorkflows); + if (workflowPoll === null && typeof actions?.workflowState === "function") { + const load = () => Promise.resolve(actions.workflowState()).then(publishWorkflows, () => { -+ }); + }); + load(); + workflowPoll = setInterval(load, POLL_MS2); -+ } + } +- if (source.kind === "schedule") { +- const prompts = reminderPrompts(contentText(data.content)); +- return (0, import_react6.createElement)("div", { className: "bt-event" }, prompts.length > 0 ? t("Scheduled task: {text}", { text: prompts.join(" · ").slice(0, 80) }) : t("Routine started")); + return () => { + workflowListeners.delete(setWorkflows); + if (workflowListeners.size === 0 && workflowPoll !== null) { + clearInterval(workflowPoll); + workflowPoll = null; - } -- }), -- (0, import_react6.createElement)(PartLine, { time: view.startedAt }) -- ); ++ } + }; + }, []); + return workflows; - } --function TriggerCell({ node, sessionId, useRoster, useSessions, useTurnClock, useUi, actions }) { -- const roster = useRoster((value) => value); -- const data = node.data; -- const source = data.source !== null && typeof data.source === "object" ? data.source : {}; -- const selfId = roster.byId[sessionId]?.id ?? sessionId; -- const deferred = source.kind === "bot" && source.deferred === true; -- const relayed = isRelayContext(data); -- const turn = node.location?.turn?.turn ?? data.turn; -- (0, import_react6.useLayoutEffect)(() => { -- if (relayed) actions.noteTurnPeer(sessionId, turn, source.senderSessionId); -- }, [relayed, sessionId, turn, source.senderSessionId]); -- const order = useSessions((list) => { -- const outline = list.projectionsBySession?.[sessionId]?.values?.turnOutline ?? list.byId[sessionId]?.projectionValues?.turnOutline; -- return Array.isArray(outline) ? outline.map((entry) => entry.turn).join(",") : ""; -- }); -- const peers = useTurnClock((state) => { -- if (!relayed) return ""; -- const turns = state[sessionId] ?? {}; -- return Object.keys(turns).filter((key) => turns[key].peer !== void 0).map((key) => `${key}:${turns[key].peer}`).join(","); -- }); -- const visit = useUi((state) => state.visits?.[sessionId]); -- const hiddenTurns = roster.exchangeTurns[sessionId]; -- const unreadOpening = useTurnClock((state) => { -- const first = openingTurn(state[sessionId], order, hiddenTurns); -- return first?.turn === turn && unseenSince(visit, first.start) ? clockLabel(first.start) : ""; -- }); -- const body = triggerBody(); -- return unreadOpening ? (0, import_react6.createElement)(import_react6.Fragment, null, (0, import_react6.createElement)("div", { className: "bt-open-new" }, (0, import_react6.createElement)(NewDivider), (0, import_react6.createElement)("div", { className: "bt-time-sep", role: "separator" }, unreadOpening)), body) : body; -- function triggerBody() { -- if (source.kind === "bot") { -- if (source.handoff === true) return roster.roomsById[sessionId] ? null : (0, import_react6.createElement)(EarlierParts, { sessionId, roster, actions }); -- if (source.role === "kickoff" || source.role === "room") return null; -- if (source.role === "secret" || deferred) return null; -- if (source.role === "post") { -- if (source.failed !== void 0 || source.resumed === true || source.stopped === true) return null; -- const room2 = roster.roomsById[sessionId]; -- const poster = roster.byId[source.senderSessionId] ?? { id: source.senderSessionId, name: source.senderName ?? t("a Bot"), color: "gray" }; -- return (0, import_react6.createElement)(GroupMessage, { bot: poster, text: stripHeader(contentText(data.content)), room: room2, roster, actions, msgKey: `${sessionId}:${data.turn}:post`, useUi }); -- } -- if (source.role === "report") { -- return (0, import_react6.createElement)(GroupEvent, { prefix: t("Replies from"), room: roster.roomsById[source.roomId], name: t("a group chat"), roster, actions }); -- } -- if (source.role === "resume" || source.resumed === true) return (0, import_react6.createElement)("div", { className: "bt-event" }, t("Picked up its work after a restart")); -- if (source.role === "retry" || source.retried === true) return (0, import_react6.createElement)("div", { className: "bt-event" }, t("Asked to make the tool call it wrote as text")); -- const run = relayed ? commRunOf( -- order.split(",").filter(Boolean).map(Number), -- Object.fromEntries(peers.split(",").filter(Boolean).map((pair) => [Number(pair.slice(0, pair.indexOf(":"))), pair.slice(pair.indexOf(":") + 1)])), -- turn, -- hiddenTurns -- ) : null; -- if (run === "folded") return null; -- const sender = roster.byId[source.senderSessionId] ?? { id: source.senderSessionId, name: source.senderName ?? t("a Bot"), color: "gray" }; -- const count = run?.count ?? (isHiddenTurn(roster, sessionId, turn) ? 2 : 1); -- const bots = [sender]; -- for (const peer of (run?.peerIds ?? []).map((id) => roster.byId[id]).filter(Boolean)) { -- if (!bots.some((bot) => bot.id === peer.id)) bots.push(peer); -- } -- return (0, import_react6.createElement)(EventLine, { -- prefix: source.role === "stopped" ? t("Stopped by") : count > 1 ? t("{count} messages with", { count }) : t("Message from"), -- bots, -- onOpen: (bot) => actions.openExchange(selfId, bot.id), -- whole: true -- }); ++} +var ownBot = (roster, id) => { + const bot = roster.byId?.[id]; + if (bot === void 0 || bot.remote) return void 0; @@ -9837,10 +10112,9 @@ diff --git a/client.js b/client.js + if (column === "in-progress") progress.push({ ...card, status: "task", since: startedAtOf(task) }); + else if (column === "done" && fresh(task.updatedAt)) done.push({ ...card, status: task.status === "cancelled" ? "cancelled" : "done" }); } -- if (source.kind === "schedule") { -- const prompts = reminderPrompts(contentText(data.content)); -- return (0, import_react6.createElement)("div", { className: "bt-event" }, prompts.length > 0 ? t("Scheduled task: {text}", { text: prompts.join(" · ").slice(0, 80) }) : t("Routine started")); -+ } +- if (source.kind === "user-question-reply") return null; +- return (0, import_react6.createElement)("div", { className: "bt-event" }, contentText(data.content).slice(0, 80) || t("Update")); + } + for (const graph of Array.isArray(workflows) ? workflows : []) { + if (graph === null || typeof graph !== "object") continue; + const seenRuns = /* @__PURE__ */ new Set(); @@ -9851,9 +10125,7 @@ diff --git a/client.js b/client.js + const at2 = endedAt(run); + if (!fresh(at2)) continue; + if (latest === void 0 || at2 > endedAt(latest)) latest = run; - } -- if (source.kind === "user-question-reply") return null; -- return (0, import_react6.createElement)("div", { className: "bt-event" }, contentText(data.content).slice(0, 80) || t("Update")); ++ } + if (latest === void 0) continue; + const at = endedAt(latest); + const name = typeof graph.name === "string" && graph.name.trim() !== "" ? graph.name.trim() : String(graph.id ?? t("A workflow")); @@ -9912,7 +10184,7 @@ diff --git a/client.js b/client.js + const questionId = card.task?.inputRequest?.id; + if (text2 === "" || typeof questionId !== "string") return void 0; + return Promise.resolve(actions.answerTaskInput(card.task.id, questionId, text2)); - } ++ } + if (card?.kind === "task" && card.status === "result") { + if (choice === "accept") return Promise.resolve(actions.acceptTaskResult(card.task.id)); + const note = choice !== null && typeof choice === "object" ? String(choice.note ?? "").trim() : ""; @@ -10107,6 +10379,39 @@ diff --git a/client.js b/client.js + return typeof card.since === "number" && now - card.since >= 6e4 ? t("for {time}", { time: elapsedLabel(now - card.since) }) : t("just started"); } - return next === void 0 ? void 0 : turns[next].first; +-} +-function openingTurn(turns, firstTurns, hiddenTurns) { +- if (!turns || !firstTurns) return null; +- const start = nextTurnStart(turns, -Infinity); +- if (start === void 0) return null; +- const turn = Number(Object.keys(turns).filter((key) => turns[key].first === start)[0]); +- const listed = firstTurns.split(",").map(Number); +- const earlier = listed.filter((entry) => entry < turn); +- return listed.includes(turn) && earlier.every((entry) => hiddenTurns?.includes(entry)) ? { turn, start } : null; +-} +-var unseenSince = (visit, time) => typeof visit?.seen === "number" && time > visit.seen && time <= visit.entered; +-function TurnTailCell({ turn: location2, sessionId, useTurnClock, useUi, actions }) { +- const turn = location2.turn; +- const time = location2.end.time; +- (0, import_react6.useEffect)(() => { +- actions.noteTurnTime(sessionId, turn, "end", time); +- }, [sessionId, turn, time]); +- const label = useTurnClock((state) => { +- const start = nextTurnStart(state[sessionId] ?? {}, turn); +- return start !== void 0 && start - time >= SEPARATOR_GAP_MS ? clockLabel(start) : ""; +- }); +- const visit = useUi((state) => state.visits?.[sessionId]); +- const fresh = useTurnClock((state) => { +- if (typeof visit?.seen !== "number" || time > visit.seen) return false; +- const start = nextTurnStart(state[sessionId] ?? {}, turn); +- return start !== void 0 && start > visit.seen && start <= visit.entered; +- }); +- if (!label && !fresh) return null; +- return (0, import_react6.createElement)( +- import_react6.Fragment, +- null, +- label ? (0, import_react6.createElement)("div", { className: "bt-time-sep", role: "separator" }, label) : null, +- fresh ? (0, import_react6.createElement)(NewDivider) : null + return typeof card.at === "number" ? relativeShort(card.at) : ""; +} +function InboxCard({ card, roster, now, busy, error, onAnswer, onOpen }) { @@ -10167,16 +10472,10 @@ diff --git a/client.js b/client.js + ...(answerable ? alwaysChoices(card.approval, card.bot) : []).map(([choice, label]) => (0, import_react13.createElement)("button", { key: choice, type: "button", className: "bt-soft bt-soft-sm", "data-choice": choice, disabled: busy, onClick: () => onAnswer(card, choice) }, t(label))), + (0, import_react13.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", "aria-label": who ? t("Open {name}", { name: card.room?.name ?? who }) : t("Open"), onClick: () => onOpen(card) }, t("Open")) + ) -+ ); + ); } --function openingTurn(turns, firstTurns, hiddenTurns) { -- if (!turns || !firstTurns) return null; -- const start = nextTurnStart(turns, -Infinity); -- if (start === void 0) return null; -- const turn = Number(Object.keys(turns).filter((key) => turns[key].first === start)[0]); -- const listed = firstTurns.split(",").map(Number); -- const earlier = listed.filter((entry) => entry < turn); -- return listed.includes(turn) && earlier.every((entry) => hiddenTurns?.includes(entry)) ? { turn, start } : null; +-function Shimmer({ children }) { +- return (0, import_react6.createElement)("span", { className: "bt-shimmer" }, children); +function useNow2(ms) { + const [now, setNow] = (0, import_react13.useState)(Date.now); + (0, import_react13.useEffect)(() => { @@ -10185,29 +10484,39 @@ diff --git a/client.js b/client.js + }, [ms]); + return now; } --var unseenSince = (visit, time) => typeof visit?.seen === "number" && time > visit.seen && time <= visit.entered; --function TurnTailCell({ turn: location2, sessionId, useTurnClock, useUi, actions }) { -- const turn = location2.turn; -- const time = location2.end.time; -- (0, import_react6.useEffect)(() => { -- actions.noteTurnTime(sessionId, turn, "end", time); -- }, [sessionId, turn, time]); -- const label = useTurnClock((state) => { -- const start = nextTurnStart(state[sessionId] ?? {}, turn); -- return start !== void 0 && start - time >= SEPARATOR_GAP_MS ? clockLabel(start) : ""; -- }); -- const visit = useUi((state) => state.visits?.[sessionId]); -- const fresh = useTurnClock((state) => { -- if (typeof visit?.seen !== "number" || time > visit.seen) return false; -- const start = nextTurnStart(state[sessionId] ?? {}, turn); -- return start !== void 0 && start > visit.seen && start <= visit.entered; -- }); -- if (!label && !fresh) return null; -- return (0, import_react6.createElement)( -- import_react6.Fragment, -- null, -- label ? (0, import_react6.createElement)("div", { className: "bt-time-sep", role: "separator" }, label) : null, -- fresh ? (0, import_react6.createElement)(NewDivider) : null +-var PHRASES = { +- thinking: ["Thinking about it", "Weighing the options", "Working out a plan", "Sorting out the details"], +- working: ["On it", "Busy with it", "Moving ahead", "Taking care of it", "Making headway"] +-}; +-var TOOL_PHRASES = [ +- [/web_?search|search_?web/i, "Searching online"], +- [/fetch|browse|browser|web/i, "Reading a page"], +- [/shell|bash|pwsh|powershell|exec|command|terminal/i, "Running shell commands"], +- [/^(read|view|cat)\b|read_/i, "Opening a file"], +- [/grep|glob|list_dir|^ls$|find|search/i, "Looking through files"], +- [/write|edit|patch|apply|replace/i, "Writing changes"], +- [/image|photo|draw/i, "Working on an image"] +-]; +-var GROUP_PHRASES = { create_group: "Creating a group", update_group: "Updating the group", delete_group: "Deleting the group", post_to_group: "Posting in the group" }; +-function toolActivity(name, arg, findBot, self) { +- switch (name) { +- case "ask_user": +- return null; +- case "request_secret": +- return null; +- case "list_secrets": +- return { label: t("Checking the keys"), state: "searching" }; +- case "ask_user_question": +- return { label: t("Waiting for your answer"), state: "alert" }; +- case "group_relay": +- return { relay: true, state: "orbit" }; +- case "message_bot": { +- const target = findBot(arg("to")); +- return { label: target ? t("Asking {name}", { name: target.name }) : t("Asking another Bot"), state: "sending" }; +- } +- case "stop_bot": { +- const target = findBot(arg("bot")); +- return { label: target ? t("Stopping {name}", { name: target.name }) : t("Stopping another Bot"), state: "sending" }; +function openCard(actions, card) { + actions.closeInbox(); + if (card?.kind === "workflow") { @@ -10242,7 +10551,12 @@ diff --git a/client.js b/client.js + if (pending === void 0) { + setBusy(""); + return; -+ } + } +- case "create_bot": +- return { label: t("Creating {name}", { name: arg("name") ?? t("a Bot") }), state: "sending" }; +- case "update_bot": { +- const target = findBot(arg("name")) ?? findBot(arg("bot")) ?? (arg("bot") ? void 0 : self); +- return { label: t("Updating {name}", { name: target?.name ?? t("a Bot") }), state: "sending" }; + void Promise.resolve(pending).then(() => { + setAnswered((value) => ({ ...value, [card.id]: true })); + const name = card.bot?.name ?? ""; @@ -10291,10 +10605,8 @@ diff --git a/client.js b/client.js + )) + ) + ) - ); - } --function Shimmer({ children }) { -- return (0, import_react6.createElement)("span", { className: "bt-shimmer" }, children); ++ ); ++} +var INBOX_CSS = ` +.bt-inbox-row{min-height:40px;padding:6px 8px;gap:10px} +.bt-inbox-mark{flex:none;width:36px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink-2)} @@ -10359,10 +10671,7 @@ diff --git a/client.js b/client.js + id: String(task.id), + title: String(task.title ?? "") + }; - } --var PHRASES = { -- thinking: ["Thinking about it", "Weighing the options", "Working out a plan", "Sorting out the details"], -- working: ["On it", "Busy with it", "Moving ahead", "Taking care of it", "Making headway"] ++} + +// src/client/board-card.js +var import_react14 = require("react"); @@ -10376,55 +10685,7 @@ diff --git a/client.js b/client.js + label: "bt-board-label", + owner: "bt-board-who", + note: "bt-board-note" - }; --var TOOL_PHRASES = [ -- [/web_?search|search_?web/i, "Searching online"], -- [/fetch|browse|browser|web/i, "Reading a page"], -- [/shell|bash|pwsh|powershell|exec|command|terminal/i, "Running shell commands"], -- [/^(read|view|cat)\b|read_/i, "Opening a file"], -- [/grep|glob|list_dir|^ls$|find|search/i, "Looking through files"], -- [/write|edit|patch|apply|replace/i, "Writing changes"], -- [/image|photo|draw/i, "Working on an image"] --]; --var GROUP_PHRASES = { create_group: "Creating a group", update_group: "Updating the group", delete_group: "Deleting the group", post_to_group: "Posting in the group" }; --function toolActivity(name, arg, findBot, self) { -- switch (name) { -- case "ask_user": -- return null; -- case "request_secret": -- return null; -- case "list_secrets": -- return { label: t("Checking the keys"), state: "searching" }; -- case "ask_user_question": -- return { label: t("Waiting for your answer"), state: "alert" }; -- case "group_relay": -- return { relay: true, state: "orbit" }; -- case "message_bot": { -- const target = findBot(arg("to")); -- return { label: target ? t("Asking {name}", { name: target.name }) : t("Asking another Bot"), state: "sending" }; -- } -- case "stop_bot": { -- const target = findBot(arg("bot")); -- return { label: target ? t("Stopping {name}", { name: target.name }) : t("Stopping another Bot"), state: "sending" }; -- } -- case "create_bot": -- return { label: t("Creating {name}", { name: arg("name") ?? t("a Bot") }), state: "sending" }; -- case "update_bot": { -- const target = findBot(arg("name")) ?? findBot(arg("bot")) ?? (arg("bot") ? void 0 : self); -- return { label: t("Updating {name}", { name: target?.name ?? t("a Bot") }), state: "sending" }; -- } -- case "list_bots": -- return { label: t("Checking the team"), state: "searching" }; -- case "read_group_chat": -- return { label: t("Reading {name}", { name: arg("group") ?? t("a group chat") }), state: "searching" }; -- case "read_own_chat": -- return { label: t("Looking back through the chat"), state: "searching" }; -- case "remember": -- return { label: t("Saving to memory"), state: "working" }; -- case "forget": -- return { label: t("Updating memory"), state: "working" }; -- case "recall": -- return { label: t("Checking memory"), state: "searching" }; ++}; +function BoardCard({ + card, + skin = TASK_SKIN, @@ -10552,7 +10813,19 @@ diff --git a/client.js b/client.js + for (const bot of children.get(parent) ?? []) { + rows.push({ kind: "bot", id: bot.id, name: bot.name, depth, bot }); + walk(bot.id, depth + 1); -+ } + } +- case "list_bots": +- return { label: t("Checking the team"), state: "searching" }; +- case "read_group_chat": +- return { label: t("Reading {name}", { name: arg("group") ?? t("a group chat") }), state: "searching" }; +- case "read_own_chat": +- return { label: t("Looking back through the chat"), state: "searching" }; +- case "remember": +- return { label: t("Saving to memory"), state: "working" }; +- case "forget": +- return { label: t("Updating memory"), state: "working" }; +- case "recall": +- return { label: t("Checking memory"), state: "searching" }; + }; + walk("", 0); + const groups = (roster?.rooms ?? []).filter((room2) => room2 && room2.hidden !== true && room2.origin !== "face-to-face" && adminOf(roster, room2)).map((room2) => ({ kind: "group", id: room2.id, name: room2.displayName || room2.name || t("Group"), room: room2 })); @@ -11220,15 +11493,8 @@ diff --git a/client.js b/client.js + .bt-mem.bt-board{width:100vw;border-radius:0;border:0} + .bt-board-columns{flex-direction:column} + .bt-board-column{min-width:0} -+} -+`; -+ -+// src/client/role-labels.js -+var ROLE_LABELS = { owner: "Owner", maintainer: "Maintainer", member: "Member" }; -+function roleText(role) { -+ if (role === null || role === void 0 || role === "") return ""; -+ return t(ROLE_LABELS[role] ?? String(role)); } ++`; -// src/client/activity-row.js -var import_react7 = require("react"); @@ -11240,6 +11506,37 @@ diff --git a/client.js b/client.js - if (minutes < 60) return `${Math.max(1, minutes)}m`; - const hours = Math.floor(minutes / 60); - return minutes % 60 === 0 ? `${hours}h` : `${hours}h ${minutes % 60}m`; ++// src/client/role-labels.js ++var ROLE_LABELS = { owner: "Owner", maintainer: "Maintainer", member: "Member" }; ++function roleText(role) { ++ if (role === null || role === void 0 || role === "") return ""; ++ return t(ROLE_LABELS[role] ?? String(role)); + } +-function useRunningHost(active) { +- const [host, setHost] = (0, import_react7.useState)(null); +- (0, import_react7.useEffect)(() => { +- if (!active) { +- setHost(null); +- return void 0; +- } +- let frame = 0; +- const find = () => { +- frame = 0; +- const node = document.querySelector("[data-chat-flow] > [data-chat-running]"); +- setHost((prev) => prev === node ? prev : node); +- }; +- const observer = new MutationObserver(() => { +- if (!frame) frame = requestAnimationFrame(find); +- }); +- observer.observe(document.querySelector("[data-conversation-scroll]") ?? document.body, { childList: true, subtree: true }); +- find(); +- return () => { +- cancelAnimationFrame(frame); +- observer.disconnect(); +- }; +- }, [active]); +- return host; ++ +// src/client/projects-nav.js +var import_react16 = require("react"); +var import_react_dom3 = require("react-dom"); @@ -11278,35 +11575,6 @@ diff --git a/client.js b/client.js + } + return items; } --function useRunningHost(active) { -- const [host, setHost] = (0, import_react7.useState)(null); -- (0, import_react7.useEffect)(() => { -- if (!active) { -- setHost(null); -- return void 0; -- } -- let frame = 0; -- const find = () => { -- frame = 0; -- const node = document.querySelector("[data-chat-flow] > [data-chat-running]"); -- setHost((prev) => prev === node ? prev : node); -- }; -- const observer = new MutationObserver(() => { -- if (!frame) frame = requestAnimationFrame(find); -- }); -- observer.observe(document.querySelector("[data-conversation-scroll]") ?? document.body, { childList: true, subtree: true }); -- find(); -- return () => { -- cancelAnimationFrame(frame); -- observer.disconnect(); -- }; -- }, [active]); -- return host; -+function roleNote(answer) { -+ if (answer?.changed === true) return t("Role changed."); -+ const reason = typeof answer?.reason === "string" && answer.reason !== "" ? answer.reason : t("refused"); -+ return t("Role unchanged: {reason}", { reason }); - } -function useRowEntrances(replacing) { - const check = (0, import_react7.useRef)(replacing); - check.current = replacing; @@ -11342,6 +11610,11 @@ diff --git a/client.js b/client.js - const reply = [void 0, "assistant-step", "tool-call"].includes(item.dataset.chatFlowKind); - item.dataset.btEnter = reply && check.current() ? "after-collapse" : "new"; - item.addEventListener("animationend", settle); ++function roleNote(answer) { ++ if (answer?.changed === true) return t("Role changed."); ++ const reason = typeof answer?.reason === "string" && answer.reason !== "" ? answer.reason : t("refused"); ++ return t("Role unchanged: {reason}", { reason }); ++} +function ProjectList({ projects, error, note, onOpen, onRole }) { + const rows = projects === null ? (0, import_react16.createElement)("div", { className: "bt-projects-note" }, t("Reading Projects…")) : error !== "" ? (0, import_react16.createElement)("div", { className: "bt-projects-note" }, error) : projects.length === 0 ? (0, import_react16.createElement)("div", { className: "bt-projects-empty" }, t("No Projects yet")) : projects.map((project) => (0, import_react16.createElement)( + "button", @@ -12126,77 +12399,81 @@ diff --git a/client.js b/client.js useListGlide(listRef, wide, order.map((entry) => entry.item.id).join(",")); useLandOnMainBot(roster, useSessions, actions); const rowProps = { roster, actions, useSessions, useUi, useSessionStatus: props.useSessionStatus, useSessionRetainInfo: props.useSessionRetainInfo, useActivity: props.useActivity, useWork: props.useWork, wide }; -@@ -5045,42 +5045,258 @@ function TeamSidebar(props) { +@@ -5045,49 +5045,265 @@ function TeamSidebar(props) { event.preventDefault(); actions.openPalette(event.key); }; - return (0, import_react8.createElement)( -+ return (0, import_react17.createElement)( - "div", - { className: wide ? "bt-side" : "bt-side bt-rail", onKeyDown: typeToSearch }, +- "div", +- { className: wide ? "bt-side" : "bt-side bt-rail", onKeyDown: typeToSearch }, - wide ? (0, import_react8.createElement)( -+ wide ? (0, import_react17.createElement)( - "div", - { className: "bt-side-top" }, +- "div", +- { className: "bt-side-top" }, - (0, import_react8.createElement)("span", { className: "bt-brand" }, (0, import_react8.createElement)(BrandMark, { size: 22 }), (0, import_react8.createElement)(BrandName)), - (0, import_react8.createElement)(UpdateButton, { useUpdate: props.useUpdate, actions }), - (0, import_react8.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("Search"), title: t("Search"), onClick: () => actions.openPalette() }, (0, import_react8.createElement)(SearchIcon)), - (0, import_react8.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("New…"), title: t("New…"), onClick: () => actions.openNewChat("new") }, (0, import_react8.createElement)(PlusIcon)) - ) : (0, import_react8.createElement)( - import_react8.Fragment, +- null, +- (0, import_react8.createElement)(UpdateButton, { useUpdate: props.useUpdate, actions }), +- (0, import_react8.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("New…"), title: t("New…"), onClick: () => actions.openNewChat("new") }, (0, import_react8.createElement)(PlusIcon)) +- ), +- wide && roster.readOnly ? (0, import_react8.createElement)("div", { className: "bt-hint bt-read-only", role: "status" }, hostText(roster.readOnly)) : null, +- (0, import_react8.createElement)( +- "div", +- { ref: listRef, className: "bt-list", role: "region", "aria-label": t("Bot list") }, +- main ? (0, import_react8.createElement)(BotRow, { ...rowProps, bot: main, marked: markedUnread[main.id] === true }) : roster.ready ? null : (0, import_react8.createElement)("div", { className: "bt-hint" }, t("Setting up your Main Bot…")), +- order.map((entry) => entry.kind === "bot" ? (0, import_react8.createElement)(BotRow, { key: entry.item.id, ...rowProps, bot: entry.item, marked: markedUnread[entry.item.id] === true }) : entry.kind === "room" ? (0, import_react8.createElement)(RoomRow, { key: entry.item.id, ...rowProps, room: entry.item, marked: markedUnread[entry.item.id] === true }) : (0, import_react8.createElement)(AgentRow, { key: entry.item.id, ...rowProps, agent: entry.item, marked: markedUnread[entry.item.id] === true })) +- ) +- ); ++ return (0, import_react17.createElement)( ++ "div", ++ { className: wide ? "bt-side" : "bt-side bt-rail", onKeyDown: typeToSearch }, ++ wide ? (0, import_react17.createElement)( ++ "div", ++ { className: "bt-side-top" }, + (0, import_react17.createElement)("span", { className: "bt-brand" }, (0, import_react17.createElement)(BrandMark, { size: 22 }), (0, import_react17.createElement)(BrandName)), + (0, import_react17.createElement)(UpdateButton, { useUpdate: props.useUpdate, actions }), + (0, import_react17.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("Search"), title: t("Search"), onClick: () => actions.openPalette() }, (0, import_react17.createElement)(SearchIcon)), + (0, import_react17.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("New…"), title: t("New…"), onClick: () => actions.openNewChat("new") }, (0, import_react17.createElement)(PlusIcon)) + ) : (0, import_react17.createElement)( + import_react17.Fragment, - null, -- (0, import_react8.createElement)(UpdateButton, { useUpdate: props.useUpdate, actions }), -- (0, import_react8.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("New…"), title: t("New…"), onClick: () => actions.openNewChat("new") }, (0, import_react8.createElement)(PlusIcon)) ++ null, + (0, import_react17.createElement)(UpdateButton, { useUpdate: props.useUpdate, actions }), + (0, import_react17.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("New…"), title: t("New…"), onClick: () => actions.openNewChat("new") }, (0, import_react17.createElement)(PlusIcon)) - ), -- wide && roster.readOnly ? (0, import_react8.createElement)("div", { className: "bt-hint bt-read-only", role: "status" }, hostText(roster.readOnly)) : null, -- (0, import_react8.createElement)( ++ ), + wide && roster.readOnly ? (0, import_react17.createElement)("div", { className: "bt-hint bt-read-only", role: "status" }, hostText(roster.readOnly)) : null, + (0, import_react17.createElement)(InboxRow, { wide, useRoster, useWork: props.useWork, useUi, actions }), + (0, import_react17.createElement)(KanbanRow, { wide, useUi, actions }), + (0, import_react17.createElement)(ProjectsNav, { wide }), + (0, import_react17.createElement)( - "div", - { ref: listRef, className: "bt-list", role: "region", "aria-label": t("Bot list") }, -- main ? (0, import_react8.createElement)(BotRow, { ...rowProps, bot: main, marked: markedUnread[main.id] === true }) : roster.ready ? null : (0, import_react8.createElement)("div", { className: "bt-hint" }, t("Setting up your Main Bot…")), -- order.map((entry) => entry.kind === "bot" ? (0, import_react8.createElement)(BotRow, { key: entry.item.id, ...rowProps, bot: entry.item, marked: markedUnread[entry.item.id] === true }) : entry.kind === "room" ? (0, import_react8.createElement)(RoomRow, { key: entry.item.id, ...rowProps, room: entry.item, marked: markedUnread[entry.item.id] === true }) : (0, import_react8.createElement)(AgentRow, { key: entry.item.id, ...rowProps, agent: entry.item, marked: markedUnread[entry.item.id] === true })) ++ "div", ++ { ref: listRef, className: "bt-list", role: "region", "aria-label": t("Bot list") }, + tree ? (0, import_react17.createElement)("div", { className: "bt-tree", role: "group", "aria-label": t("Bot tree") }, tree.map((node) => (0, import_react17.createElement)(TreeNode, { key: node.bot.id, node, rowProps, markedUnread, collapsed, toggle, actions: structure?.nodeActions }))) : main ? (0, import_react17.createElement)(BotRow, { ...rowProps, bot: main, marked: markedUnread[main.id] === true }) : roster.ready ? null : (0, import_react17.createElement)("div", { className: "bt-hint" }, t("Setting up your Main Bot…")), + order.filter((entry) => !(tree && inTree(entry)) && !(inTree(entry) && structure?.include?.(entry.item.id) === false)).map((entry) => entry.kind === "bot" ? (0, import_react17.createElement)(BotRow, { key: entry.item.id, ...rowProps, bot: entry.item, marked: markedUnread[entry.item.id] === true }) : entry.kind === "room" ? (0, import_react17.createElement)(RoomRow, { key: entry.item.id, ...rowProps, room: entry.item, marked: markedUnread[entry.item.id] === true }) : (0, import_react17.createElement)(AgentRow, { key: entry.item.id, ...rowProps, agent: entry.item, marked: markedUnread[entry.item.id] === true })), + wide ? (0, import_react17.createElement)(FlyBotSections, { roster, actions, renderBot: (bot) => (0, import_react17.createElement)(BotRow, { key: bot.id, ...rowProps, bot, asRow: true, marked: markedUnread[bot.id] === true }) }) : null - ) - ); - } - function UpdateButton({ useUpdate, actions }) { - const update = useUpdate((value) => value); -- const [open, setOpen] = (0, import_react8.useState)(false); -- const [box, setBox] = (0, import_react8.useState)(null); -- const [error, setError] = (0, import_react8.useState)(""); -- const [dshError, setDshError] = (0, import_react8.useState)(""); -- const button = (0, import_react8.useRef)(null); -- (0, import_react8.useEffect)(() => { ++ ) ++ ); ++} ++function UpdateButton({ useUpdate, actions }) { ++ const update = useUpdate((value) => value); + const [open, setOpen] = (0, import_react17.useState)(false); + const [box, setBox] = (0, import_react17.useState)(null); + const [error, setError] = (0, import_react17.useState)(""); + const [dshError, setDshError] = (0, import_react17.useState)(""); -+ const button = (0, import_react17.useRef)(null); ++ const button2 = (0, import_react17.useRef)(null); + (0, import_react17.useEffect)(() => { + if (!open) return void 0; + const onDown = (event) => { -+ if (event.target instanceof Element && (event.target.closest(".bt-update-pop") || button.current?.contains(event.target))) return; ++ if (event.target instanceof Element && (event.target.closest(".bt-update-pop") || button2.current?.contains(event.target))) return; + setOpen(false); + }; + const onKey = (event) => { + if (event.key === "Escape") { + event.stopPropagation(); + setOpen(false); -+ button.current?.focus(); ++ button2.current?.focus(); + } + }; + window.addEventListener("mousedown", onDown); @@ -12213,7 +12490,7 @@ diff --git a/client.js b/client.js + if (!update?.available && !dshRow && phase === "idle" && dshPhase === "idle") return null; + const cloudPhase = phase === "installing" || dshPhase === "installing" ? "installing" : phase !== "idle" ? phase : dshPhase; + const toggle = () => { -+ const rect = button.current?.getBoundingClientRect(); ++ const rect = button2.current?.getBoundingClientRect(); + if (rect) setBox({ left: Math.max(8, Math.min(rect.left, window.innerWidth - 288)), top: rect.bottom + 6 }); + setOpen((value) => !value); + }; @@ -12233,7 +12510,7 @@ diff --git a/client.js b/client.js + import_react17.Fragment, + null, + (0, import_react17.createElement)("button", { -+ ref: button, ++ ref: button2, + type: "button", + className: "bt-round bt-update", + "data-phase": cloudPhase, @@ -12356,7 +12633,15 @@ diff --git a/client.js b/client.js + else pressSettingsShortcut(); + }; + requestAnimationFrame(look); -+} + } +-function UpdateButton({ useUpdate, actions }) { +- const update = useUpdate((value) => value); +- const [open, setOpen] = (0, import_react8.useState)(false); +- const [box, setBox] = (0, import_react8.useState)(null); +- const [error, setError] = (0, import_react8.useState)(""); +- const [dshError, setDshError] = (0, import_react8.useState)(""); +- const button = (0, import_react8.useRef)(null); +- (0, import_react8.useEffect)(() => { +function pressSettingsShortcut() { + const binding = shellShortcuts?.catalog.getSnapshot().find((row) => row.id === "settings.open")?.binding; + if (!binding) return; @@ -12380,7 +12665,7 @@ diff --git a/client.js b/client.js + return () => actions.seatAccount(false); + }, [seat]); + const [box, setBox] = (0, import_react17.useState)(null); -+ const button = (0, import_react17.useRef)(null); ++ const button2 = (0, import_react17.useRef)(null); + (0, import_react17.useEffect)(() => { + if (settingsOpen) setOpen(false); + }, [settingsOpen]); @@ -12402,10 +12687,18 @@ diff --git a/client.js b/client.js if (!open) return void 0; const onDown = (event) => { - if (event.target instanceof Element && (event.target.closest(".bt-update-pop") || button.current?.contains(event.target))) return; -+ if (event.target instanceof Element && (event.target.closest(".bt-account-menu") || button.current?.contains(event.target))) return; ++ if (event.target instanceof Element && (event.target.closest(".bt-account-menu") || button2.current?.contains(event.target))) return; setOpen(false); }; const onKey = (event) => { + if (event.key === "Escape") { + event.stopPropagation(); + setOpen(false); +- button.current?.focus(); ++ button2.current?.focus(); + } + }; + window.addEventListener("mousedown", onDown); @@ -5097,412 +5097,1264 @@ function UpdateButton({ useUpdate, actions }) { window.removeEventListener("keydown", onKey, true); }; @@ -12417,25 +12710,15 @@ diff --git a/client.js b/client.js - if (!update?.available && !dshRow && phase === "idle" && dshPhase === "idle") return null; - const cloudPhase = phase === "installing" || dshPhase === "installing" ? "installing" : phase !== "idle" ? phase : dshPhase; const toggle = () => { - const rect = button.current?.getBoundingClientRect(); +- const rect = button.current?.getBoundingClientRect(); - if (rect) setBox({ left: Math.max(8, Math.min(rect.left, window.innerWidth - 288)), top: rect.bottom + 6 }); ++ const rect = button2.current?.getBoundingClientRect(); + if (rect) setBox({ left: rect.left, bottom: window.innerHeight - rect.top + 5 }); setOpen((value) => !value); }; - const start = () => { - setError(""); - void actions.installUpdate().catch((failure) => setError(hostText(failure?.message ?? String(failure)))); -- }; -- const startDsh = () => { -- setDshError(""); -- void actions.installDshUpdate().catch((failure) => setDshError(hostText(failure?.message ?? String(failure)))); -- }; -- const label = phase === "installing" ? t("Updating DS Bot…") : dshPhase === "installing" ? t("Updating DSH…") : phase === "installed" ? t("DS Bot {version} is installed. Restart DSH to use it.", { version: update.installed ?? update.latest }) : dshPhase === "installed" ? t("Restart DSH to start using DSH {version}.", { version: dsh.installed ?? dsh.verified }) : update?.available ? t("DS Bot {version} is available", { version: update.latest }) : t("DSH {version} is available", { version: dsh?.verified }); -- const message = error || (phase === "failed" ? update.error : ""); -- const dshMessage = dshError || (dshPhase === "failed" ? dsh?.error : ""); -- const dshText = dshPhase === "installed" ? t("Restart DSH to start using DSH {version}.", { version: dsh.installed ?? dsh.verified }) : dsh?.available === false && dsh?.blockedBy ? t("Update DS Bot {version} first.", { version: dsh.blockedBy }) : t("You have {version}.", { version: dsh?.current }); -- return (0, import_react8.createElement)( -- import_react8.Fragment, + const groups = [ + [ + [t("Usage"), GaugeIcon, () => actions.openSettings("usage")], @@ -12447,56 +12730,24 @@ diff --git a/client.js b/client.js + [ + [t("Switch to classic Agent mode"), SwitchIcon, () => actions.setSurface("agent")] + ] -+ ]; -+ return (0, import_react17.createElement)( -+ import_react17.Fragment, - null, -- (0, import_react8.createElement)("button", { -- ref: button, -- type: "button", -- className: "bt-round bt-update", -- "data-phase": cloudPhase, -- "aria-label": label, -- title: label, -- "aria-haspopup": "dialog", -- "aria-expanded": open, -- onClick: toggle -- }, (0, import_react8.createElement)(CloudDownloadIcon, { done: phase === "installed" }), phase === "failed" || dshPhase === "failed" ? (0, import_react8.createElement)("span", { className: "bt-update-dot", "aria-hidden": true }) : null), -- open && box ? (0, import_react_dom3.createPortal)((0, import_react8.createElement)( ++ ]; ++ return (0, import_react17.createElement)( ++ import_react17.Fragment, ++ null, + (0, import_react17.createElement)( + "button", -+ { ref: button, type: "button", className: "bt-account", "aria-label": t("Account"), "aria-haspopup": "menu", "aria-expanded": open, onClick: toggle }, ++ { ref: button2, type: "button", className: "bt-account", "aria-label": t("Account"), "aria-haspopup": "menu", "aria-expanded": open, onClick: toggle }, + (0, import_react17.createElement)("span", { className: "bt-you", "aria-hidden": true }, (0, import_react17.createElement)(BotMark, { look: MAIN_LOOK, size: 24 })) + ), + open && box ? (0, import_react_dom4.createPortal)((0, import_react17.createElement)( - "div", -- { className: "bt-update-pop", role: "dialog", "aria-label": update?.available || phase !== "idle" ? t("DS Bot update") : t("DSH update"), style: box }, -- update?.available || phase !== "idle" ? (0, import_react8.createElement)( -- import_react8.Fragment, -- null, -- (0, import_react8.createElement)("div", { className: "bt-update-title" }, phase === "installed" ? t("Update installed") : t("DS Bot {version}", { version: update.latest })), -- (0, import_react8.createElement)("div", { className: "bt-update-text" }, phase === "installed" ? t("Restart DSH to start using DS Bot {version}.", { version: update.installed ?? update.latest }) : t("You have {version}.", { version: update.current })), -- message ? (0, import_react8.createElement)("div", { className: "bt-update-error", role: "alert" }, t("The update did not finish: {reason}", { reason: message })) : null, -- (0, import_react8.createElement)( -- "div", -- { className: "bt-update-actions" }, -- update.notesUrl ? (0, import_react8.createElement)("a", { className: "bt-update-notes", href: update.notesUrl, target: "_blank", rel: "noopener noreferrer" }, t("What's new")) : null, -- phase === "installed" ? null : (0, import_react8.createElement)("button", { -- type: "button", -- className: "bt-update-go", -- disabled: phase === "installing", -- onClick: start -- }, phase === "installing" ? t("Updating…") : phase === "failed" ? t("Try again") : t("Update")) -- ) -- ) : null, -- dshRow ? (0, import_react8.createElement)( ++ "div", + { className: "bt-menu bt-menu-up bt-account-menu", role: "menu", "aria-label": t("Account"), style: box }, + (0, import_react17.createElement)(FlyBotAccountHeader, { actions }), + groups.map((group, index) => (0, import_react17.createElement)( + import_react17.Fragment, + { key: index }, + index > 0 ? (0, import_react17.createElement)("div", { className: "bt-menu-sep", role: "separator" }) : null, -+ group.map(([label, Icon, run, hint]) => (0, import_react17.createElement)("button", { ++ group.map(([label, Icon, run, hint2]) => (0, import_react17.createElement)("button", { + key: label, + type: "button", + role: "menuitem", @@ -12504,7 +12755,7 @@ diff --git a/client.js b/client.js + setOpen(false); + void Promise.resolve(run()).catch((error) => actions.reportError(error, "menu")); + } -+ }, (0, import_react17.createElement)(Icon), (0, import_react17.createElement)("span", { className: "bt-menu-label" }, label), hint ? (0, import_react17.createElement)("span", { className: "bt-menu-hint" }, hint) : null)) ++ }, (0, import_react17.createElement)(Icon), (0, import_react17.createElement)("span", { className: "bt-menu-label" }, label), hint2 ? (0, import_react17.createElement)("span", { className: "bt-menu-hint" }, hint2) : null)) + )) + ), document.body) : null + ); @@ -12649,23 +12900,10 @@ diff --git a/client.js b/client.js + "div", + { className: "bt-astack" }, + (0, import_react18.createElement)( - "div", -- { className: "bt-update-dsh" }, -- (0, import_react8.createElement)("div", { className: "bt-update-title" }, t("DSH {version}", { version: dsh.verified })), -- (0, import_react8.createElement)("div", { className: "bt-update-text" }, dshText), -- dshMessage ? (0, import_react8.createElement)("div", { className: "bt-update-error", role: "alert" }, t("The update did not finish: {reason}", { reason: dshMessage })) : null, -- (0, import_react8.createElement)( ++ "div", + { className: "bt-msg" }, + (0, import_react18.createElement)( - "div", -- { className: "bt-update-actions" }, -- dsh.kind === "app" ? dsh.available ? (0, import_react8.createElement)("button", { type: "button", className: "bt-update-go", onClick: () => void actions.openAppUpdates(dsh.verified).catch(() => { -- }) }, t("Open updates")) : null : !dsh.available && dshPhase === "idle" ? null : dshPhase === "installed" ? null : (0, import_react8.createElement)("button", { -- type: "button", -- className: "bt-update-go", -- disabled: dshPhase === "installing", -- onClick: startDsh -- }, dshPhase === "installing" ? t("Updating…") : dshPhase === "failed" ? t("Try again") : t("Update")) ++ "div", + { className: "bt-msg-line" }, + text2 ? (0, import_react18.createElement)("div", { className: "bt-bubble" }, text2) : (0, import_react18.createElement)( + "div", @@ -12674,9 +12912,7 @@ diff --git a/client.js b/client.js + (0, import_react18.createElement)("span", null), + (0, import_react18.createElement)("span", null) + ) - ) -- ) : null -- ), document.body) : null ++ ) + ) + ) + ), host); @@ -12838,7 +13074,10 @@ diff --git a/client.js b/client.js + title: text(file.title), + sha256: text(file.sha256), + shortHash: text(file.sha256).slice(0, 12) -+ }; + }; +- const startDsh = () => { +- setDshError(""); +- void actions.installDshUpdate().catch((failure) => setDshError(hostText(failure?.message ?? String(failure)))); +}; +var meetingOf = (meeting, status) => { + if (meeting === null || typeof meeting !== "object") return null; @@ -13063,7 +13302,26 @@ diff --git a/client.js b/client.js + running, + empty: source === null, + emptyText: "No metrics read yet." -+ }; + }; +- const label = phase === "installing" ? t("Updating DS Bot…") : dshPhase === "installing" ? t("Updating DSH…") : phase === "installed" ? t("DS Bot {version} is installed. Restart DSH to use it.", { version: update.installed ?? update.latest }) : dshPhase === "installed" ? t("Restart DSH to start using DSH {version}.", { version: dsh.installed ?? dsh.verified }) : update?.available ? t("DS Bot {version} is available", { version: update.latest }) : t("DSH {version} is available", { version: dsh?.verified }); +- const message = error || (phase === "failed" ? update.error : ""); +- const dshMessage = dshError || (dshPhase === "failed" ? dsh?.error : ""); +- const dshText = dshPhase === "installed" ? t("Restart DSH to start using DSH {version}.", { version: dsh.installed ?? dsh.verified }) : dsh?.available === false && dsh?.blockedBy ? t("Update DS Bot {version} first.", { version: dsh.blockedBy }) : t("You have {version}.", { version: dsh?.current }); +- return (0, import_react8.createElement)( +- import_react8.Fragment, +- null, +- (0, import_react8.createElement)("button", { +- ref: button, +- type: "button", +- className: "bt-round bt-update", +- "data-phase": cloudPhase, +- "aria-label": label, +- title: label, +- "aria-haspopup": "dialog", +- "aria-expanded": open, +- onClick: toggle +- }, (0, import_react8.createElement)(CloudDownloadIcon, { done: phase === "installed" }), phase === "failed" || dshPhase === "failed" ? (0, import_react8.createElement)("span", { className: "bt-update-dot", "aria-hidden": true }) : null), +- open && box ? (0, import_react_dom3.createPortal)((0, import_react8.createElement)( +} +function ProjectMetrics({ view }) { + return (0, import_react19.createElement)( @@ -13071,18 +13329,96 @@ diff --git a/client.js b/client.js + { className: "bt-project-metrics", "data-available": view.available ? "true" : "false" }, + view.available || view.reason === null ? null : (0, import_react19.createElement)("p", { className: "bt-project-metrics-note" }, t("Metrics unavailable") + ": " + view.reason), + (0, import_react19.createElement)( -+ "div", + "div", +- { className: "bt-update-pop", role: "dialog", "aria-label": update?.available || phase !== "idle" ? t("DS Bot update") : t("DSH update"), style: box }, +- update?.available || phase !== "idle" ? (0, import_react8.createElement)( +- import_react8.Fragment, +- null, +- (0, import_react8.createElement)("div", { className: "bt-update-title" }, phase === "installed" ? t("Update installed") : t("DS Bot {version}", { version: update.latest })), +- (0, import_react8.createElement)("div", { className: "bt-update-text" }, phase === "installed" ? t("Restart DSH to start using DS Bot {version}.", { version: update.installed ?? update.latest }) : t("You have {version}.", { version: update.current })), +- message ? (0, import_react8.createElement)("div", { className: "bt-update-error", role: "alert" }, t("The update did not finish: {reason}", { reason: message })) : null, +- (0, import_react8.createElement)( +- "div", +- { className: "bt-update-actions" }, +- update.notesUrl ? (0, import_react8.createElement)("a", { className: "bt-update-notes", href: update.notesUrl, target: "_blank", rel: "noopener noreferrer" }, t("What's new")) : null, +- phase === "installed" ? null : (0, import_react8.createElement)("button", { +- type: "button", +- className: "bt-update-go", +- disabled: phase === "installing", +- onClick: start +- }, phase === "installing" ? t("Updating…") : phase === "failed" ? t("Try again") : t("Update")) +- ) +- ) : null, +- dshRow ? (0, import_react8.createElement)( + { className: "bt-project-metric-cards" }, + view.cards.map((card) => (0, import_react19.createElement)( -+ "div", + "div", +- { className: "bt-update-dsh" }, +- (0, import_react8.createElement)("div", { className: "bt-update-title" }, t("DSH {version}", { version: dsh.verified })), +- (0, import_react8.createElement)("div", { className: "bt-update-text" }, dshText), +- dshMessage ? (0, import_react8.createElement)("div", { className: "bt-update-error", role: "alert" }, t("The update did not finish: {reason}", { reason: dshMessage })) : null, +- (0, import_react8.createElement)( +- "div", +- { className: "bt-update-actions" }, +- dsh.kind === "app" ? dsh.available ? (0, import_react8.createElement)("button", { type: "button", className: "bt-update-go", onClick: () => void actions.openAppUpdates(dsh.verified).catch(() => { +- }) }, t("Open updates")) : null : !dsh.available && dshPhase === "idle" ? null : dshPhase === "installed" ? null : (0, import_react8.createElement)("button", { +- type: "button", +- className: "bt-update-go", +- disabled: dshPhase === "installing", +- onClick: startDsh +- }, dshPhase === "installing" ? t("Updating…") : dshPhase === "failed" ? t("Try again") : t("Update")) +- ) +- ) : null +- ), document.body) : null + { key: card.key, className: "bt-project-metric", "data-metric": card.key }, + (0, import_react19.createElement)("span", { className: "bt-project-metric-value" }, card.value), + (0, import_react19.createElement)("span", { className: "bt-project-metric-label" }, t(card.label)), + (0, import_react19.createElement)("span", { className: "bt-project-metric-caption" }, t(card.caption)) + )) + ) -+ ); -+} + ); + } +-function ConnectPlugins({ wide, actions }) { +- const tipId = (0, import_react8.useId)(); +- const [tip, setTip] = (0, import_react8.useState)(false); +- const timer = (0, import_react8.useRef)(0); +- const button = (0, import_react8.useRef)(null); +- const [box, setBox] = (0, import_react8.useState)(null); +- (0, import_react8.useEffect)(() => () => clearTimeout(timer.current), []); +- if (!wide) return null; +- const show = () => { +- clearTimeout(timer.current); +- timer.current = setTimeout(() => { +- const rect = button.current?.getBoundingClientRect(); +- if (!rect) return; +- const left = Math.max(8, Math.min(rect.left, window.innerWidth - 268)); +- setBox({ left, bottom: window.innerHeight - rect.top + 10 }); +- setTip(true); +- }, 250); +- }; +- const hide = () => { +- clearTimeout(timer.current); +- setTip(false); +- }; +- return (0, import_react8.createElement)( +- "span", +- { className: "bt-connect-wrap" }, +- (0, import_react8.createElement)( +- "button", +- { +- ref: button, +- type: "button", +- className: "bt-connect bt-connect-foot", +- "aria-describedby": tip ? tipId : void 0, +- onMouseEnter: show, +- onMouseLeave: hide, +- onFocus: show, +- onBlur: hide, +- onClick: () => actions.selectPanel("plugins") +- }, +- (0, import_react8.createElement)(PlugIcon), +- t("Connect plugins"), +- (0, import_react8.createElement)("span", { className: "bt-connect-warn", "aria-hidden": true }, "!") +function ProjectRunningTable({ view, onOpen }) { + if (view.running.length === 0) return (0, import_react19.createElement)("section", { className: "bt-project-running", "data-running": "0" }, (0, import_react19.createElement)("h4", null, t("Running tasks")), (0, import_react19.createElement)("div", { className: "bt-project-empty" }, t("Nothing is running."))); + return (0, import_react19.createElement)( @@ -13098,7 +13434,12 @@ diff --git a/client.js b/client.js + (0, import_react19.createElement)("span", null, t("Claimed for")), + (0, import_react19.createElement)("span", null, t("Source")), + (0, import_react19.createElement)("span", null, t("Last activity")) -+ ), + ), +- tip && box ? (0, import_react_dom3.createPortal)((0, import_react8.createElement)( +- "span", +- { role: "tooltip", id: tipId, className: "bt-connect-tip", style: box }, +- t("Plugin compatibility is not fully verified.") +- ), document.body) : null + view.running.map((row) => { + const open = row.board === null ? void 0 : () => onOpen?.(row.board); + return (0, import_react19.createElement)( @@ -13122,23 +13463,12 @@ diff --git a/client.js b/client.js + }) ); } --function ConnectPlugins({ wide, actions }) { -- const tipId = (0, import_react8.useId)(); -- const [tip, setTip] = (0, import_react8.useState)(false); -- const timer = (0, import_react8.useRef)(0); -- const button = (0, import_react8.useRef)(null); -- const [box, setBox] = (0, import_react8.useState)(null); -- (0, import_react8.useEffect)(() => () => clearTimeout(timer.current), []); -- if (!wide) return null; -- const show = () => { -- clearTimeout(timer.current); -- timer.current = setTimeout(() => { -- const rect = button.current?.getBoundingClientRect(); -- if (!rect) return; -- const left = Math.max(8, Math.min(rect.left, window.innerWidth - 268)); -- setBox({ left, bottom: window.innerHeight - rect.top + 10 }); -- setTip(true); -- }, 250); +-function YouAvatar() { +- return (0, import_react8.createElement)( +- "span", +- { className: "bt-you-wrap" }, +- (0, import_react8.createElement)("span", { className: "bt-you", "aria-hidden": true }, (0, import_react8.createElement)(BotMark, { look: MAIN_LOOK, size: 24 })), +- (0, import_react8.createElement)("span", { style: { position: "absolute", width: 1, height: 1, overflow: "hidden", clip: "rect(0 0 0 0)" } }, t("Settings")) +function ProjectQueueGroups({ view, onOpen }) { + return view.queues.map((entry) => (0, import_react19.createElement)( + "section", @@ -13216,8 +13546,15 @@ diff --git a/client.js b/client.js + meetings.empty ? (0, import_react19.createElement)("div", { className: "bt-project-empty bt-project-record-empty" }, t(meetings.emptyText)) : decidedRows, + meetings.pending.length === 0 ? null : (0, import_react19.createElement)("h5", null, t("Not decided")), + meetings.pending.length === 0 ? null : pendingRows -+ ); -+} + ); + } +-var openShellSettings = null; +-var openShellOnboarding = null; +-var shellShortcuts = null; +-function holdShellShortcuts(shortcuts) { +- shellShortcuts = shortcuts; +- return () => { +- if (shellShortcuts === shortcuts) shellShortcuts = null; +var botIdOf = (entry) => entry !== null && typeof entry === "object" ? text(entry.botId) : ""; +var idList = (value) => Array.isArray(value) ? value.map((id) => text(id)).filter((id) => id !== "") : []; +function projectTeamView(project) { @@ -13226,10 +13563,7 @@ diff --git a/client.js b/client.js + const addOwner = (id) => { + const clean = text(id); + if (clean !== "" && !owner.includes(clean)) owner.push(clean); - }; -- const hide = () => { -- clearTimeout(timer.current); -- setTip(false); ++ }; + addOwner(project?.ownerUserId); + for (const id of idList(project?.ownerUserIds)) addOwner(id); + const maintainers = idList(stored.maintainers).filter((id) => !owner.includes(id)); @@ -13244,8 +13578,12 @@ diff --git a/client.js b/client.js + role: text(project?.role), + choices: idList(project?.choices) }; -- return (0, import_react8.createElement)( -+} + } +-function openHarnessSettings() { +- requestAnimationFrame(() => { +- if (openShellSettings) { +- openShellSettings(); +- return; +var teamRow = (role, label, botId, onOpenBot, onOpenDossier) => (0, import_react19.createElement)( + "div", + { @@ -13265,7 +13603,11 @@ diff --git a/client.js b/client.js + onOpenBot?.(botId); + } + } -+ } + } +- const desktop = document.querySelector('button[aria-haspopup="menu"][data-signed-out]'); +- if (desktop) openThroughMenu(desktop); +- else pressSettingsShortcut(); +- }); + }, + (0, import_react19.createElement)("span", { key: "label", className: "bt-project-team-label" }, label), + botId === "" ? (0, import_react19.createElement)("span", { key: "value", className: "bt-project-missing" }, t("Not set")) : (0, import_react19.createElement)("span", { key: "value", className: "bt-project-team-bot" }, `@${botId}`), @@ -13295,44 +13637,15 @@ diff --git a/client.js b/client.js + const view = projectTeamView(project); + const poolId = (id) => (0, import_react19.createElement)("span", { key: id }, `@${id}`); + const ranks = view.empty ? (0, import_react19.createElement)("span", { className: "bt-project-missing" }, t("No one in this pool yet.")) : (0, import_react19.createElement)( - "span", -- { className: "bt-connect-wrap" }, -- (0, import_react8.createElement)( -- "button", -- { -- ref: button, -- type: "button", -- className: "bt-connect bt-connect-foot", -- "aria-describedby": tip ? tipId : void 0, -- onMouseEnter: show, -- onMouseLeave: hide, -- onFocus: show, -- onBlur: hide, -- onClick: () => actions.selectPanel("plugins") -- }, -- (0, import_react8.createElement)(PlugIcon), -- t("Connect plugins"), -- (0, import_react8.createElement)("span", { className: "bt-connect-warn", "aria-hidden": true }, "!") -- ), -- tip && box ? (0, import_react_dom3.createPortal)((0, import_react8.createElement)( ++ "span", + { className: "bt-project-team-roles" }, + POOL_RANKS.map(([role, key]) => view.roles[key].length === 0 ? null : (0, import_react19.createElement)( - "span", -- { role: "tooltip", id: tipId, className: "bt-connect-tip", style: box }, -- t("Plugin compatibility is not fully verified.") -- ), document.body) : null -+ { key: role, className: "bt-project-team-role", "data-pool-role": role }, -+ `${roleText(role)}: `, -+ view.roles[key].map((id) => poolId(id)) -+ )) - ); --} --function YouAvatar() { -- return (0, import_react8.createElement)( -- "span", -- { className: "bt-you-wrap" }, -- (0, import_react8.createElement)("span", { className: "bt-you", "aria-hidden": true }, (0, import_react8.createElement)(BotMark, { look: MAIN_LOOK, size: 24 })), -- (0, import_react8.createElement)("span", { style: { position: "absolute", width: 1, height: 1, overflow: "hidden", clip: "rect(0 0 0 0)" } }, t("Settings")) ++ "span", ++ { key: role, className: "bt-project-team-role", "data-pool-role": role }, ++ `${roleText(role)}: `, ++ view.roles[key].map((id) => poolId(id)) ++ )) ++ ); + return (0, import_react19.createElement)( + "section", + { className: "bt-project-team", "data-team": "chief,agent,pool" }, @@ -13357,16 +13670,13 @@ diff --git a/client.js b/client.js + ] + ) + ) - ); ++ ); } --var openShellSettings = null; --var openShellOnboarding = null; --var shellShortcuts = null; --function holdShellShortcuts(shortcuts) { -- shellShortcuts = shortcuts; -- return () => { -- if (shellShortcuts === shortcuts) shellShortcuts = null; -- }; +-function openHarnessOnboarding(id) { +- requestAnimationFrame(() => { +- if (openShellOnboarding) openShellOnboarding(id); +- else openHarnessSettings(); +- }); +function dossierRowOf(team, botId) { + const id = text(botId); + if (id === "") return null; @@ -13417,11 +13727,16 @@ diff --git a/client.js b/client.js + ) + ); } --function openHarnessSettings() { -- requestAnimationFrame(() => { -- if (openShellSettings) { -- openShellSettings(); -- return; +-function openThroughMenu(trigger) { +- const before = new Set(document.querySelectorAll('[role="menu"]')); +- trigger.click(); +- let frames = 0; +- const look = () => { +- const menu = [...document.querySelectorAll('[role="menu"]')].find((node) => !before.has(node)); +- const item = menu?.querySelector('button[role="menuitem"]'); +- if (item) item.click(); +- else if (++frames < 30) requestAnimationFrame(look); +- else pressSettingsShortcut(); +function projectAgentFor(bot, selfId) { + if (bot === null || typeof bot !== "object" || bot.remote !== void 0) return null; + const projectId = text(bot.projectId); @@ -13444,28 +13759,7 @@ diff --git a/client.js b/client.js + target = ""; + } + if (target !== "") setAgentId(target); - } -- const desktop = document.querySelector('button[aria-haspopup="menu"][data-signed-out]'); -- if (desktop) openThroughMenu(desktop); -- else pressSettingsShortcut(); -- }); --} --function openHarnessOnboarding(id) { -- requestAnimationFrame(() => { -- if (openShellOnboarding) openShellOnboarding(id); -- else openHarnessSettings(); -- }); --} --function openThroughMenu(trigger) { -- const before = new Set(document.querySelectorAll('[role="menu"]')); -- trigger.click(); -- let frames = 0; -- const look = () => { -- const menu = [...document.querySelectorAll('[role="menu"]')].find((node) => !before.has(node)); -- const item = menu?.querySelector('button[role="menuitem"]'); -- if (item) item.click(); -- else if (++frames < 30) requestAnimationFrame(look); -- else pressSettingsShortcut(); ++ } + if (target !== "") onOpen?.(target); }; - requestAnimationFrame(look); @@ -13685,38 +13979,6 @@ diff --git a/client.js b/client.js + run("project-memory-write", { id, kind: "decision", text: text(note) }, t("Memory saved.")); } - }, (0, import_react8.createElement)(Icon), (0, import_react8.createElement)("span", { className: "bt-menu-label" }, label), hint ? (0, import_react8.createElement)("span", { className: "bt-menu-hint" }, hint) : null)) -- )) -- ), document.body) : null -- ); --} --function useLandOnMainBot(roster, useSessions, actions) { -- const mainView = useSessions((list) => { -- const row = Object.values(list.byId).find((session) => (session?.retainedBy?.mainView ?? 0) > 0); -- return row ? `${row.id}|${row.blank ? 1 : 0}` : ""; -- }); -- const lastBot = (0, import_react8.useRef)(null); -- (0, import_react8.useEffect)(() => { -- if (!roster.ready || !roster.mainBotId) return void 0; -- const [id, blank3] = mainView.split("|"); -- const bot = id === "" ? void 0 : roster.byId[id]; -- if (bot !== void 0) { -- lastBot.current = { botId: bot.id, sessionId: id }; -- if (currentPart(bot) !== id) actions.landOn(bot.id); -- return void 0; -- } -- if (id !== "" && (roster.roomsById[id] || (actions.isAgentSession?.(id) ?? roster.agentOf[id] !== void 0) || blank3 !== "1")) { -- lastBot.current = null; -- return void 0; -- } -- const last = lastBot.current; -- const timer = setTimeout(() => actions.landOn(roster.mainBotId, last), last ? 0 : 400); -- return () => clearTimeout(timer); -- }, [mainView, roster]); --} --function FooterAccount(props) { -- const seated = props.useUi((value) => value.accountSeated === true); -- if (seated) return null; -- return (0, import_react8.createElement)("span", { className: "bt-foot-account" }, (0, import_react8.createElement)(AccountLauncher, { ...props, seat: false })); + }, t("Save memory")) + ) + ), @@ -13727,15 +13989,7 @@ diff --git a/client.js b/client.js + (0, import_react19.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => onClose?.() }, t("Back to board")) + ) + ); - } --function BotReturn({ wide, useSurface, actions }) { -- const mode = useSurface((value) => value.mode); -- if (mode !== "agent") return null; -- return (0, import_react8.createElement)( -- "button", -- { type: "button", className: "bt-return", "aria-label": t("DS Bot"), title: t("DS Bot"), onClick: () => actions.setSurface("bot") }, -- (0, import_react8.createElement)(BotMark, { look: MAIN_LOOK, size: 20 }), -- wide ? (0, import_react8.createElement)("span", { className: "bt-return-name" }, t("DS Bot")) : null ++} +function ProjectMembersPanel({ project, rows, onClose } = {}) { + const owners = []; + const add = (id) => { @@ -13774,7 +14028,8 @@ diff --git a/client.js b/client.js + { key: `board:${name}`, className: "bt-project-member", "data-member-role": "board", "data-member-id": name }, + (0, import_react19.createElement)("span", null, `@${name}`), + (0, import_react19.createElement)("span", { className: "bt-project-member-kind" }, t("On the board")) -+ )) + )) +- ), document.body) : null + ), + owners.length === 0 && boardMembers.length === 0 && chief === "" ? (0, import_react19.createElement)("div", { className: "bt-project-empty" }, t("No member is named yet.")) : null, + (0, import_react19.createElement)("p", { className: "bt-project-note" }, t("Member management is not part of this slice; owners and the members their cards name are listed here.")), @@ -13785,18 +14040,23 @@ diff --git a/client.js b/client.js + ) ); } --var RETURN_CSS = ` --.bt-return{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;border:0;border-radius:999px;background:none;color:inherit;font:inherit;font-size:14px;line-height:20px;cursor:pointer;transition:background-color .12s ease} --.bt-return:hover{background:rgba(127,127,127,.14)} --.bt-return:active{transform:scale(.96)} --.bt-return .bt-mark{display:inline-flex;flex:none;line-height:0} --.bt-return .bt-mark svg{width:100%;height:100%;overflow:visible} --/* Shell styles carry --bt-ink-deepseek and Agent mode withdraws them; pin it here. */ --.bt-return .bt-mark{--bt-ink-deepseek:#4D6BFE} --.bt-return-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} --`; --function BrandMark({ size = 24 }) { -- return (0, import_react8.createElement)("span", { className: "bt-brand-whale" }, (0, import_react8.createElement)(BotMark, { look: MAIN_LOOK, size })); +-function useLandOnMainBot(roster, useSessions, actions) { +- const mainView = useSessions((list) => { +- const row = Object.values(list.byId).find((session) => (session?.retainedBy?.mainView ?? 0) > 0); +- return row ? `${row.id}|${row.blank ? 1 : 0}` : ""; +- }); +- const lastBot = (0, import_react8.useRef)(null); +- (0, import_react8.useEffect)(() => { +- if (!roster.ready || !roster.mainBotId) return void 0; +- const [id, blank3] = mainView.split("|"); +- const bot = id === "" ? void 0 : roster.byId[id]; +- if (bot !== void 0) { +- lastBot.current = { botId: bot.id, sessionId: id }; +- if (currentPart(bot) !== id) actions.landOn(bot.id); +- return void 0; +- } +- if (id !== "" && (roster.roomsById[id] || (actions.isAgentSession?.(id) ?? roster.agentOf[id] !== void 0) || blank3 !== "1")) { +- lastBot.current = null; +async function readProjectBoard(read, wanted, knownTeam) { + const listing = await read("projects"); + const projects = Array.isArray(listing?.projects) ? listing.projects : []; @@ -13826,9 +14086,7 @@ diff --git a/client.js b/client.js + metrics: board?.metrics ?? null, + team: team !== null && typeof team === "object" ? team : { rows: [] } + }; - } --function BrandName() { -- return (0, import_react8.createElement)("span", { style: { fontWeight: 600, fontSize: 14 } }, "DS Bot"); ++} +var PROJECT_BOARD_POLL_MS = 5e3; +var boardPollPaused = () => typeof document !== "undefined" && document.visibilityState === "hidden" || typeof window !== "undefined" && !window.location.hash.startsWith("#project"); +function ProjectBoardOverlay({ actions, call: request } = {}) { @@ -13863,8 +14121,26 @@ diff --git a/client.js b/client.js + if (typeof window === "undefined") return void 0; + if (!hash.startsWith("#project")) { + setState(null); -+ return void 0; -+ } + return void 0; + } +- const last = lastBot.current; +- const timer = setTimeout(() => actions.landOn(roster.mainBotId, last), last ? 0 : 400); +- return () => clearTimeout(timer); +- }, [mainView, roster]); +-} +-function FooterAccount(props) { +- const seated = props.useUi((value) => value.accountSeated === true); +- if (seated) return null; +- return (0, import_react8.createElement)("span", { className: "bt-foot-account" }, (0, import_react8.createElement)(AccountLauncher, { ...props, seat: false })); +-} +-function BotReturn({ wide, useSurface, actions }) { +- const mode = useSurface((value) => value.mode); +- if (mode !== "agent") return null; +- return (0, import_react8.createElement)( +- "button", +- { type: "button", className: "bt-return", "aria-label": t("DS Bot"), title: t("DS Bot"), onClick: () => actions.setSurface("bot") }, +- (0, import_react8.createElement)(BotMark, { look: MAIN_LOOK, size: 20 }), +- wide ? (0, import_react8.createElement)("span", { className: "bt-return-name" }, t("DS Bot")) : null + const wanted = hash.slice("#project".length).replace(/^=/, ""); + let gone = false; + let team; @@ -13957,8 +14233,24 @@ diff --git a/client.js b/client.js + }) + ) + ) -+ ); + ); } +-var RETURN_CSS = ` +-.bt-return{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;border:0;border-radius:999px;background:none;color:inherit;font:inherit;font-size:14px;line-height:20px;cursor:pointer;transition:background-color .12s ease} +-.bt-return:hover{background:rgba(127,127,127,.14)} +-.bt-return:active{transform:scale(.96)} +-.bt-return .bt-mark{display:inline-flex;flex:none;line-height:0} +-.bt-return .bt-mark svg{width:100%;height:100%;overflow:visible} +-/* Shell styles carry --bt-ink-deepseek and Agent mode withdraws them; pin it here. */ +-.bt-return .bt-mark{--bt-ink-deepseek:#4D6BFE} +-.bt-return-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} +-`; +-function BrandMark({ size = 24 }) { +- return (0, import_react8.createElement)("span", { className: "bt-brand-whale" }, (0, import_react8.createElement)(BotMark, { look: MAIN_LOOK, size })); +-} +-function BrandName() { +- return (0, import_react8.createElement)("span", { style: { fontWeight: 600, fontSize: 14 } }, "DS Bot"); +-} -var SIDEBAR_CSS = ` -.bt-side-top .bt-brand{cursor:default;padding-left:6px} -.bt-side-top .bt-brand:hover{background:none} @@ -14470,7 +14762,7 @@ diff --git a/client.js b/client.js ); } function menuIcons(roster) { -@@ -5825,17 +5825,17 @@ function menuIcons(roster) { +@@ -5825,20 +5825,20 @@ function menuIcons(roster) { return (row) => { if (!row.bot) return PeopleIcon; const id = row.bot.id; @@ -14487,13 +14779,32 @@ diff --git a/client.js b/client.js - const button = (0, import_react10.useRef)(null); - const menu = (0, import_react10.useRef)(null); - (0, import_react10.useEffect)(() => { -+ const button = (0, import_react21.useRef)(null); ++ const button2 = (0, import_react21.useRef)(null); + const menu = (0, import_react21.useRef)(null); + (0, import_react21.useEffect)(() => { if (!open) return void 0; const onDown = (event) => { - if (![button.current, menu.current].some((node) => node?.contains(event.target))) setOpen(null); -@@ -5876,34 +5876,150 @@ function ComposerPlus({ sessionId, inputActions, useRoster, actions }) { +- if (![button.current, menu.current].some((node) => node?.contains(event.target))) setOpen(null); ++ if (![button2.current, menu.current].some((node) => node?.contains(event.target))) setOpen(null); + }; + const onKey = (event) => { + if (event.key === "Escape") { +@@ -5860,12 +5860,12 @@ function ComposerPlus({ sessionId, inputActions, useRoster, actions }) { + setOpen(null); + return; + } +- const rect = button.current.getBoundingClientRect(); ++ const rect = button2.current.getBoundingClientRect(); + setOpen({ left: rect.left, bottom: window.innerHeight - rect.top + 8 }); + }; + const attach = () => { + setOpen(null); +- button.current?.closest("[data-composer-card]")?.querySelector("input[type=file]")?.click(); ++ button2.current?.closest("[data-composer-card]")?.querySelector("input[type=file]")?.click(); + }; + const schedule = () => { + setOpen(null); +@@ -5876,11 +5876,11 @@ function ComposerPlus({ sessionId, inputActions, useRoster, actions }) { actions.referenceChat(sessionId, inputActions?.captureInsertion?.()); }; const canReference = typeof inputActions?.captureInsertion === "function" && actions.canReferenceChat(); @@ -14503,55 +14814,36 @@ diff --git a/client.js b/client.js + import_react21.Fragment, null, - (0, import_react10.createElement)("button", { +- ref: button, + (0, import_react21.createElement)("button", { - ref: button, ++ ref: button2, type: "button", -- className: "bt-plus", -- "aria-label": t("Add"), -- title: t("Add"), -- "aria-haspopup": "menu", -- "aria-expanded": Boolean(open), -- onMouseDown: keepComposerFocus, -- onClick: toggle + className: "bt-plus", + "aria-label": t("Add"), +@@ -5889,8 +5889,8 @@ function ComposerPlus({ sessionId, inputActions, useRoster, actions }) { + "aria-expanded": Boolean(open), + onMouseDown: keepComposerFocus, + onClick: toggle - }, (0, import_react10.createElement)(PlusIcon)), - shown ? (0, import_react_dom5.createPortal)((0, import_react10.createElement)( -- "div", -- { -- ref: menu, -- className: "bt-menu bt-menu-up bt-plus-menu", -- role: "menu", -- "aria-label": t("Add"), -- style: { left: shown.left, bottom: shown.bottom }, -- "data-leaving": leaving || void 0 -- }, ++ }, (0, import_react21.createElement)(PlusIcon)), ++ shown ? (0, import_react_dom7.createPortal)((0, import_react21.createElement)( + "div", + { + ref: menu, +@@ -5900,12 +5900,128 @@ function ComposerPlus({ sessionId, inputActions, useRoster, actions }) { + style: { left: shown.left, bottom: shown.bottom }, + "data-leaving": leaving || void 0 + }, - (0, import_react10.createElement)("button", { type: "button", role: "menuitem", onClick: attach }, (0, import_react10.createElement)(PaperclipIcon), (0, import_react10.createElement)("span", { className: "bt-menu-label" }, t("Add files"))), - canReference ? (0, import_react10.createElement)("button", { type: "button", role: "menuitem", onMouseDown: keepComposerFocus, onClick: reference }, (0, import_react10.createElement)(ChatsIcon), (0, import_react10.createElement)("span", { className: "bt-menu-label" }, t("Reference a chat"))) : null, - (0, import_react10.createElement)("button", { type: "button", role: "menuitem", onClick: schedule }, (0, import_react10.createElement)(ClockIcon), (0, import_react10.createElement)("span", { className: "bt-menu-label" }, t("Scheduled task"))) -- ), document.body) : null -+ className: "bt-plus", -+ "aria-label": t("Add"), -+ title: t("Add"), -+ "aria-haspopup": "menu", -+ "aria-expanded": Boolean(open), -+ onMouseDown: keepComposerFocus, -+ onClick: toggle -+ }, (0, import_react21.createElement)(PlusIcon)), -+ shown ? (0, import_react_dom7.createPortal)((0, import_react21.createElement)( -+ "div", -+ { -+ ref: menu, -+ className: "bt-menu bt-menu-up bt-plus-menu", -+ role: "menu", -+ "aria-label": t("Add"), -+ style: { left: shown.left, bottom: shown.bottom }, -+ "data-leaving": leaving || void 0 -+ }, + (0, import_react21.createElement)("button", { type: "button", role: "menuitem", onClick: attach }, (0, import_react21.createElement)(PaperclipIcon), (0, import_react21.createElement)("span", { className: "bt-menu-label" }, t("Add files"))), + canReference ? (0, import_react21.createElement)("button", { type: "button", role: "menuitem", onMouseDown: keepComposerFocus, onClick: reference }, (0, import_react21.createElement)(ChatsIcon), (0, import_react21.createElement)("span", { className: "bt-menu-label" }, t("Reference a chat"))) : null, + (0, import_react21.createElement)("button", { type: "button", role: "menuitem", onClick: schedule }, (0, import_react21.createElement)(ClockIcon), (0, import_react21.createElement)("span", { className: "bt-menu-label" }, t("Scheduled task"))) -+ ), document.body) : null -+ ); -+} + ), document.body) : null + ); + } +function ScopedComposer({ chat, mentions = [], initialText = "", attachments = [], initialImages = [], allowImages = false, onImages, onDraft, onError }) { + const [text2, setText] = (0, import_react21.useState)(initialText); + const [sending, setSending] = (0, import_react21.useState)(false); @@ -14666,9 +14958,11 @@ diff --git a/client.js b/client.js + (0, import_react21.createElement)("button", { type: "submit", disabled: sending || readingFiles || !text2.trim() && !images.length }, t("Send")), + failure ? (0, import_react21.createElement)("p", { role: "alert" }, failure) : null, + dictation.note ? (0, import_react21.createElement)("p", { role: "status" }, dictation.note) : null - ); - } ++ ); ++} + // src/client/at-menu.js + var BOTS_SOURCE = "ds-bot"; @@ -5922,15 +5922,57 @@ var conversationOf = (roster, sessionId) => { function mentionRows(roster, sessionId, query = "") { const here = conversationOf(roster, sessionId); @@ -14875,10 +15169,27 @@ diff --git a/client.js b/client.js } var captureError = (kind, cause) => Object.assign(new Error(kind), { kind, cause }); async function openCapture() { -@@ -6121,233 +6121,9 @@ function turnDetector({ loud = 0.12, quiet = 0.06, quietMs = 1200 } = {}) { - }; - } - +@@ -6104,250 +6104,26 @@ async function transcribeWave(speech, catalog, wave, signal) { + if (wave.byteLength > catalog.maxAudioBytes) throw captureError("too-long"); + const result = await speech.transcribe({ audioBase64: base64Of(wave), ...catalog.selection }, signal); + if (!result?.ok) throw Object.assign(new Error(result?.error?.message ?? "Transcription failed"), { kind: "service" }); +- return String(result.value?.text ?? "").trim(); +-} +-function turnDetector({ loud = 0.12, quiet = 0.06, quietMs = 1200 } = {}) { +- let spokeAt = 0; +- let quietSince = 0; +- return (level, now) => { +- if (level >= loud) { +- spokeAt ||= now; +- quietSince = 0; +- return "speech"; +- } +- if (!spokeAt) return "waiting"; +- if (level < quiet) quietSince ||= now; +- return quietSince && now - quietSince >= quietMs ? "done" : "speech"; +- }; +-} +- -// src/client/overlay-hooks.js -var import_react11 = require("react"); -var escapeLayers = []; @@ -15101,8 +15412,23 @@ diff --git a/client.js b/client.js - ) - ) - ); --} -- ++ return String(result.value?.text ?? "").trim(); ++} ++function turnDetector({ loud = 0.12, quiet = 0.06, quietMs = 1200 } = {}) { ++ let spokeAt = 0; ++ let quietSince = 0; ++ return (level, now) => { ++ if (level >= loud) { ++ spokeAt ||= now; ++ quietSince = 0; ++ return "speech"; ++ } ++ if (!spokeAt) return "waiting"; ++ if (level < quiet) quietSince ||= now; ++ return quietSince && now - quietSince >= quietMs ? "done" : "speech"; ++ }; + } + // src/client/model-menu.js -var import_react13 = require("react"); -var import_react_dom6 = require("react-dom"); @@ -15173,7 +15499,7 @@ diff --git a/client.js b/client.js "button", { key: model.ref, -@@ -6436,20 +6436,20 @@ function ModelRows({ roster, current, onPick }) { +@@ -6436,30 +6436,30 @@ function ModelRows({ roster, current, onPick }) { title: model.ref, onClick: () => onPick(model.ref) }, @@ -15194,23 +15520,48 @@ diff --git a/client.js b/client.js const [shownPlace, leaving] = useLinger(place, MENU_EXIT_MS); - const button = (0, import_react13.useRef)(null); - const menu = (0, import_react13.useRef)(null); -+ const button = (0, import_react22.useRef)(null); ++ const button2 = (0, import_react22.useRef)(null); + const menu = (0, import_react22.useRef)(null); const close = () => setPlace(null); - (0, import_react13.useEffect)(() => { + (0, import_react22.useEffect)(() => { if (place === null) return void 0; const onDown = (event) => { - if (menu.current?.contains(event.target) || button.current?.contains(event.target)) return; -@@ -6484,6 +6484,7 @@ function useAnchoredMenu() { - return { isOpen: place !== null, shownPlace, leaving, button, menu, open, close }; +- if (menu.current?.contains(event.target) || button.current?.contains(event.target)) return; ++ if (menu.current?.contains(event.target) || button2.current?.contains(event.target)) return; + close(); + }; + const onKey = (event) => { + if (event.key === "Escape") { + event.stopPropagation(); + close(); +- button.current?.focus(); ++ button2.current?.focus(); + } + }; + const onScroll = (event) => { +@@ -6475,16 +6475,17 @@ function useAnchoredMenu() { + }; + }, [place]); + const open = () => { +- const rect = button.current.getBoundingClientRect(); ++ const rect = button2.current.getBoundingClientRect(); + const width = Math.max(240, rect.width); + const left = Math.max(8, Math.min(rect.right - width, window.innerWidth - width - 8)); + const below = window.innerHeight - rect.bottom; + setPlace(below >= 260 || below >= rect.top ? { left, width, top: rect.bottom + 4, maxHeight: below - 16, "--bt-origin": "top right" } : { left, width, bottom: window.innerHeight - rect.top + 4, maxHeight: rect.top - 16, "--bt-origin": "bottom right" }); + }; +- return { isOpen: place !== null, shownPlace, leaving, button, menu, open, close }; ++ return { isOpen: place !== null, shownPlace, leaving, button: button2, menu, open, close }; } function ModelMenu({ bot, roster, actions, run, wide = false, onPick, onPickEffort }) { +- const { isOpen, shownPlace, leaving, button, menu, open, close } = useAnchoredMenu(); + if (bot?.remote !== void 0) return null; - const { isOpen, shownPlace, leaving, button, menu, open, close } = useAnchoredMenu(); ++ const { isOpen, shownPlace, leaving, button: button2, menu, open, close } = useAnchoredMenu(); const shown = modelOf(bot, roster); const current = bot.model ?? bot.appliedModel; -@@ -6511,10 +6511,10 @@ function ModelMenu({ bot, roster, actions, run, wide = false, onPick, onPickEffo + const served = servedOf(roster, current); +@@ -6511,13 +6511,13 @@ function ModelMenu({ bot, roster, actions, run, wide = false, onPick, onPickEffo else if (effort !== bot.effort) void run(actions.updateBot(bot.id, { effort: effort ?? null })); }; const models = roster.models ?? []; @@ -15223,7 +15574,11 @@ diff --git a/client.js b/client.js + (0, import_react22.createElement)( "button", { - ref: button, +- ref: button, ++ ref: button2, + type: "button", + className: "bt-model-trigger", + "data-wide": wide || void 0, @@ -6527,37 +6527,38 @@ function ModelMenu({ bot, roster, actions, run, wide = false, onPick, onPickEffo "data-missing": shown !== void 0 && !shown.served && models.length > 0 ? "" : void 0, onClick: toggle @@ -15536,12 +15891,13 @@ diff --git a/client.js b/client.js -var Tick = ({ on }) => (0, import_react14.createElement)("span", { className: "bt-model-tick", "aria-hidden": true }, on ? (0, import_react14.createElement)(CheckIcon) : null); +var Tick = ({ on }) => (0, import_react24.createElement)("span", { className: "bt-model-tick", "aria-hidden": true }, on ? (0, import_react24.createElement)(CheckIcon) : null); function FolderMenu({ value, group = false, actions, run, onPick, wide = false }) { - const { isOpen, shownPlace, leaving, button, menu, open, close } = useAnchoredMenu(); +- const { isOpen, shownPlace, leaving, button, menu, open, close } = useAnchoredMenu(); - const [info, setInfo] = (0, import_react14.useState)(null); - const [view, setView] = (0, import_react14.useState)("list"); - const [draft, setDraft] = (0, import_react14.useState)(""); - const [listing, setListing] = (0, import_react14.useState)(null); - const [problem, setProblem] = (0, import_react14.useState)(""); ++ const { isOpen, shownPlace, leaving, button: button2, menu, open, close } = useAnchoredMenu(); + const [info, setInfo] = (0, import_react24.useState)(null); + const [view, setView] = (0, import_react24.useState)("list"); + const [draft, setDraft] = (0, import_react24.useState)(""); @@ -15602,7 +15958,7 @@ diff --git a/client.js b/client.js className: "bt-folder-input", autoFocus: true, value: draft, -@@ -6759,33 +6759,33 @@ function FolderMenu({ value, group = false, actions, run, onPick, wide = false } +@@ -6759,36 +6759,36 @@ function FolderMenu({ value, group = false, actions, run, onPick, wide = false } if (event.key === "Enter" && !event.nativeEvent.isComposing) typed(); } }), @@ -15651,7 +16007,11 @@ diff --git a/client.js b/client.js + (0, import_react24.createElement)( "button", { - ref: button, +- ref: button, ++ ref: button2, + type: "button", + className: "bt-model-trigger", + "data-wide": wide || void 0, @@ -6798,19 +6798,19 @@ function FolderMenu({ value, group = false, actions, run, onPick, wide = false } title: value, onClick: toggle @@ -16978,7 +17338,7 @@ diff --git a/client.js b/client.js +function StandingApprovalsCard({ scope, target, roster, actions, run, Card: Card2 }) { + const grants = scope === "room" ? standingOf(target, roster) : target?.standingApprovals ?? []; + if (grants.length === 0) return null; -+ const hint = scope === "room" ? t("Your Bots in this group do these without asking.") : t("This Bot does these without asking."); ++ const hint2 = scope === "room" ? t("Your Bots in this group do these without asking.") : t("This Bot does these without asking."); + return (0, import_react29.createElement)( + Card2, + { title: t("Always allowed") }, @@ -16989,7 +17349,7 @@ diff --git a/client.js b/client.js + "span", + { className: "bt-set-copy" }, + (0, import_react29.createElement)("span", { className: "bt-bs-label" }, grant.label || grant.kind), -+ (0, import_react29.createElement)("span", { className: "bt-set-hint" }, hint) ++ (0, import_react29.createElement)("span", { className: "bt-set-hint" }, hint2) + ), + (0, import_react29.createElement)("button", { + type: "button", @@ -17027,16 +17387,18 @@ diff --git a/client.js b/client.js className: multiline ? "bt-bs-input bt-bs-area" : "bt-bs-input", value: draft ?? value ?? "", placeholder, -@@ -7813,29 +7813,29 @@ function InlineText({ label, value, placeholder, required = false, maxLength, mu +@@ -7812,30 +7812,30 @@ function InlineText({ label, value, placeholder, required = false, maxLength, mu + } }); } - function Row({ label, hint, stack = false, children }) { +-function Row({ label, hint, stack = false, children }) { - return (0, import_react18.createElement)( ++function Row({ label, hint: hint2, stack = false, children }) { + return (0, import_react30.createElement)( "label", { className: stack ? "bt-set-row bt-bs-row bt-bs-stack" : "bt-set-row bt-bs-row" }, - (0, import_react18.createElement)("span", { className: "bt-set-copy" }, (0, import_react18.createElement)("span", { className: "bt-bs-label" }, label), hint ? (0, import_react18.createElement)("span", { className: "bt-set-hint" }, hint) : null), -+ (0, import_react30.createElement)("span", { className: "bt-set-copy" }, (0, import_react30.createElement)("span", { className: "bt-bs-label" }, label), hint ? (0, import_react30.createElement)("span", { className: "bt-set-hint" }, hint) : null), ++ (0, import_react30.createElement)("span", { className: "bt-set-copy" }, (0, import_react30.createElement)("span", { className: "bt-bs-label" }, label), hint2 ? (0, import_react30.createElement)("span", { className: "bt-set-hint" }, hint2) : null), children ); } @@ -17055,13 +17417,13 @@ diff --git a/client.js b/client.js } -function SwitchRow({ label, hint, on, disabled, onChange }) { - return (0, import_react18.createElement)( -+function SwitchRow({ label, hint, on, disabled, onChange, showLabel = true }) { ++function SwitchRow({ label, hint: hint2, on, disabled, onChange, showLabel = true }) { + return (0, import_react30.createElement)( "div", { className: "bt-set-row bt-bs-row" }, - (0, import_react18.createElement)("span", { className: "bt-set-copy" }, (0, import_react18.createElement)("span", { className: "bt-bs-label" }, label), hint ? (0, import_react18.createElement)("span", { className: "bt-set-hint" }, hint) : null), - (0, import_react18.createElement)(Switch, { on, label, disabled, onChange }) -+ (0, import_react30.createElement)("span", { className: "bt-set-copy" }, showLabel ? (0, import_react30.createElement)("span", { className: "bt-bs-label" }, label) : null, hint ? (0, import_react30.createElement)("span", { className: "bt-set-hint" }, hint) : null), ++ (0, import_react30.createElement)("span", { className: "bt-set-copy" }, showLabel ? (0, import_react30.createElement)("span", { className: "bt-bs-label" }, label) : null, hint2 ? (0, import_react30.createElement)("span", { className: "bt-set-hint" }, hint2) : null), + (0, import_react30.createElement)(Switch, { on, label, disabled, onChange }) ); } @@ -17140,202 +17502,164 @@ diff --git a/client.js b/client.js if (tab !== "upload") return void 0; const onPaste = (event) => { const file = [...event.clipboardData?.files ?? []].find((item) => item.type.startsWith("image/")); -@@ -7922,32 +7922,32 @@ function AvatarEditor({ bot, actions, run, onClose }) { +@@ -7922,238 +7922,902 @@ function AvatarEditor({ bot, actions, run, onClose }) { }, [tab, bot]); const hasPhoto = Boolean(look.image); const glide = useGlide(tab); - return (0, import_react18.createElement)( + return (0, import_react30.createElement)( - "div", - { ref, className: "bt-avedit", role: "dialog", "aria-label": t("Avatar editor") }, -- (0, import_react18.createElement)( ++ "div", ++ { ref, className: "bt-avedit", role: "dialog", "aria-label": t("Avatar editor") }, + (0, import_react30.createElement)( - "div", - { className: "bt-avedit-top" }, -- (0, import_react18.createElement)( ++ "div", ++ { className: "bt-avedit-top" }, + (0, import_react30.createElement)( - "div", - { ref: glide.box, role: "tablist", "aria-label": t("Avatar source"), className: "bt-avedit-tabs" }, -- (0, import_react18.createElement)("span", { ref: glide.thumb, className: "bt-thumb", "aria-hidden": true }), -- [["bot", "Bot"], ["upload", "Upload"]].map(([id, label]) => (0, import_react18.createElement)("button", { key: id, type: "button", role: "tab", className: "bt-avedit-tab", "aria-selected": tab === id, onClick: () => setTab(id) }, t(label))) ++ "div", ++ { ref: glide.box, role: "tablist", "aria-label": t("Avatar source"), className: "bt-avedit-tabs" }, + (0, import_react30.createElement)("span", { ref: glide.thumb, className: "bt-thumb", "aria-hidden": true }), + [["bot", "Bot"], ["upload", "Upload"]].map(([id, label]) => (0, import_react30.createElement)("button", { key: id, type: "button", role: "tab", className: "bt-avedit-tab", "aria-selected": tab === id, onClick: () => setTab(id) }, t(label))) - ), -- (0, import_react18.createElement)("button", { -+ (0, import_react30.createElement)("button", { - type: "button", - className: "bt-avedit-tab bt-avedit-reset", - title: t("Reset character to default"), - onClick: () => run(actions.updateBot(bot.id, { avatar: null, color: null })) - }, t("Reset")) - ), -- tab === "bot" ? (0, import_react18.createElement)(CharacterGrid, { ++ ), ++ (0, import_react30.createElement)("button", { ++ type: "button", ++ className: "bt-avedit-tab bt-avedit-reset", ++ title: t("Reset character to default"), ++ onClick: () => run(actions.updateBot(bot.id, { avatar: null, color: null })) ++ }, t("Reset")) ++ ), + tab === "bot" ? (0, import_react30.createElement)(CharacterGrid, { - look, - hasPhoto, - onShape: (shape) => run(actions.updateBot(bot.id, { avatar: { shape } })), - onColor: (color) => run(actions.updateBot(bot.id, { color })) - }) : null, -- tab === "upload" ? (0, import_react18.createElement)( ++ look, ++ hasPhoto, ++ onShape: (shape) => run(actions.updateBot(bot.id, { avatar: { shape } })), ++ onColor: (color) => run(actions.updateBot(bot.id, { color })) ++ }) : null, + tab === "upload" ? (0, import_react30.createElement)( - "div", - { - className: "bt-dropzone", -@@ -7963,15 +7963,15 @@ function AvatarEditor({ bot, actions, run, onClose }) { - upload(event.dataTransfer.files?.[0]); - } - }, -- hasPhoto ? (0, import_react18.createElement)("img", { src: look.image, alt: "" }) : null, -- (0, import_react18.createElement)("div", null, t("Drag, drop, or paste an image")), -- (0, import_react18.createElement)( ++ "div", ++ { ++ className: "bt-dropzone", ++ "data-over": over || void 0, ++ onDragOver: (event) => { ++ event.preventDefault(); ++ setOver(true); ++ }, ++ onDragLeave: () => setOver(false), ++ onDrop: (event) => { ++ event.preventDefault(); ++ setOver(false); ++ upload(event.dataTransfer.files?.[0]); ++ } ++ }, + hasPhoto ? (0, import_react30.createElement)("img", { src: look.image, alt: "" }) : null, + (0, import_react30.createElement)("div", null, t("Drag, drop, or paste an image")), + (0, import_react30.createElement)( - "div", - { className: "bt-actions", style: { justifyContent: "center" } }, -- (0, import_react18.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => fileRef.current?.click() }, hasPhoto ? t("Replace") : t("Browse files")), -- hasPhoto ? (0, import_react18.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.updateBot(bot.id, { avatar: hasShape(bot.avatar?.shape) ? { shape: bot.avatar.shape } : null })) }, t("Remove photo")) : null ++ "div", ++ { className: "bt-actions", style: { justifyContent: "center" } }, + (0, import_react30.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => fileRef.current?.click() }, hasPhoto ? t("Replace") : t("Browse files")), + hasPhoto ? (0, import_react30.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.updateBot(bot.id, { avatar: hasShape(bot.avatar?.shape) ? { shape: bot.avatar.shape } : null })) }, t("Remove photo")) : null - ), -- (0, import_react18.createElement)("input", { ref: fileRef, type: "file", accept: "image/png,image/jpeg,image/webp,image/gif", hidden: true, onChange: (event) => { ++ ), + (0, import_react30.createElement)("input", { ref: fileRef, type: "file", accept: "image/png,image/jpeg,image/webp,image/gif", hidden: true, onChange: (event) => { - const file = event.target.files?.[0]; - event.target.value = ""; - upload(file); -@@ -7982,26 +7982,27 @@ function AvatarEditor({ bot, actions, run, onClose }) { - function MemoryCard({ bot, actions }) { - const count = useMemoryCount(bot.id, actions); - const label = count === null ? t("Loading…") : count === 0 ? t("Nothing saved yet") : count === 1 ? t("1 entry") : t("{count} entries", { count }); -- return (0, import_react18.createElement)( ++ const file = event.target.files?.[0]; ++ event.target.value = ""; ++ upload(file); ++ } }) ++ ) : null ++ ); ++} ++function MemoryCard({ bot, actions }) { ++ const count = useMemoryCount(bot.id, actions); ++ const label = count === null ? t("Loading…") : count === 0 ? t("Nothing saved yet") : count === 1 ? t("1 entry") : t("{count} entries", { count }); + return (0, import_react30.createElement)( - Card, - { title: t("Memory") }, -- (0, import_react18.createElement)( ++ Card, ++ { title: t("Memory") }, + (0, import_react30.createElement)( - "button", - { type: "button", className: "bt-set-row bt-bs-row", "aria-label": t("Manage {name}'s memory", { name: bot.name }), onClick: () => actions.openMemory(bot.id) }, -- (0, import_react18.createElement)("span", { className: "bt-set-copy" }, (0, import_react18.createElement)("span", { className: "bt-bs-label" }, label)), -- (0, import_react18.createElement)("span", { className: "bt-mem-row-go" }, t("Manage"), (0, import_react18.createElement)(ChevronRightIcon)) ++ "button", ++ { type: "button", className: "bt-set-row bt-bs-row", "aria-label": t("Manage {name}'s memory", { name: bot.name }), onClick: () => actions.openMemory(bot.id) }, + (0, import_react30.createElement)("span", { className: "bt-set-copy" }, (0, import_react30.createElement)("span", { className: "bt-bs-label" }, label)), + (0, import_react30.createElement)("span", { className: "bt-mem-row-go" }, t("Manage"), (0, import_react30.createElement)(ChevronRightIcon)) - ) - ); - } - function BotSettingsForm({ bot, roster, actions, run }) { -- const [editing, setEditing] = (0, import_react18.useState)(false); -- const [confirming, setConfirming] = (0, import_react18.useState)(false); -- const closeEditor = (0, import_react18.useCallback)(() => setEditing(false), []); -- (0, import_react18.useEffect)(() => { ++ ) ++ ); ++} ++function BotSettingsForm({ bot, roster, actions, run }) { + const [editing, setEditing] = (0, import_react30.useState)(false); + const [confirming, setConfirming] = (0, import_react30.useState)(false); + const closeEditor = (0, import_react30.useCallback)(() => setEditing(false), []); + (0, import_react30.useEffect)(() => { - if (!confirming) return void 0; - const timer = setTimeout(() => setConfirming(false), 4e3); - return () => clearTimeout(timer); - }, [confirming]); ++ if (!confirming) return void 0; ++ const timer = setTimeout(() => setConfirming(false), 4e3); ++ return () => clearTimeout(timer); ++ }, [confirming]); + if (bot.remote) return null; - const isMainBot = isMainOf(roster, bot.id); - const onlyMain = isMainBot && (roster.mainBotIds ?? []).length === 1; - const isTile = roster.mainBotId === bot.id; -@@ -8011,149 +8011,812 @@ function BotSettingsForm({ bot, roster, actions, run }) { - if (confirming) void run(actions.deleteBot(bot.id)); - else setConfirming(true); - }; -- (0, import_react18.useEffect)(() => { ++ const isMainBot = isMainOf(roster, bot.id); ++ const onlyMain = isMainBot && (roster.mainBotIds ?? []).length === 1; ++ const isTile = roster.mainBotId === bot.id; ++ const save = (patch) => run(actions.updateBot(bot.id, patch)); ++ const duplicate = () => run(actions.duplicateBot(bot.id).then((copy2) => actions.openSession(copy2.id))); ++ const remove = () => { ++ if (confirming) void run(actions.deleteBot(bot.id)); ++ else setConfirming(true); ++ }; + (0, import_react30.useEffect)(() => { - void actions.refreshModels?.(); - }, [bot.id]); -- return (0, import_react18.createElement)( ++ void actions.refreshModels?.(); ++ }, [bot.id]); + return (0, import_react30.createElement)( - "div", - { className: "bt-bs" }, -- (0, import_react18.createElement)( ++ "div", ++ { className: "bt-bs" }, + (0, import_react30.createElement)( - "div", - { className: "bt-bs-hero" }, -- (0, import_react18.createElement)( ++ "div", ++ { className: "bt-bs-hero" }, + (0, import_react30.createElement)( - "div", - { className: "bt-avatar-anchor" }, -- (0, import_react18.createElement)( ++ "div", ++ { className: "bt-avatar-anchor" }, + (0, import_react30.createElement)( - "button", - { type: "button", className: "bt-avatar-trigger", "aria-label": t("Edit Bot avatar"), "aria-expanded": editing, onClick: () => setEditing((value) => !value) }, -- (0, import_react18.createElement)(BotMark, { bot, size: 64, live: true }), -- (0, import_react18.createElement)("span", { className: "bt-avatar-pencil", "aria-hidden": true }, (0, import_react18.createElement)(PencilIcon)) ++ "button", ++ { type: "button", className: "bt-avatar-trigger", "aria-label": t("Edit Bot avatar"), "aria-expanded": editing, onClick: () => setEditing((value) => !value) }, + (0, import_react30.createElement)(BotMark, { bot, size: 64, live: true }), + (0, import_react30.createElement)("span", { className: "bt-avatar-pencil", "aria-hidden": true }, (0, import_react30.createElement)(PencilIcon)) - ), -- editing ? (0, import_react18.createElement)(AvatarEditor, { bot, actions, run, onClose: closeEditor }) : null ++ ), + editing ? (0, import_react30.createElement)(AvatarEditor, { bot, actions, run, onClose: closeEditor }) : null - ), -- (0, import_react18.createElement)( ++ ), + (0, import_react30.createElement)( - "div", - { className: "bt-bs-who" }, -- (0, import_react18.createElement)("span", { className: "bt-bs-name" }, bot.name), -- (0, import_react18.createElement)("span", { className: "bt-bs-sub" }, [bot.role, isMainBot ? t("Main Bot") : ""].filter(Boolean).join(" · ") || t("Bot")) ++ "div", ++ { className: "bt-bs-who" }, + (0, import_react30.createElement)("span", { className: "bt-bs-name" }, bot.name), + (0, import_react30.createElement)("span", { className: "bt-bs-sub" }, [bot.role, isMainBot ? t("Main Bot") : ""].filter(Boolean).join(" · ") || t("Bot")) - ) - ), -- (0, import_react18.createElement)( ++ ) ++ ), + (0, import_react30.createElement)( - Card, - { title: t("Profile") }, -- (0, import_react18.createElement)(Row, { label: t("Name") }, (0, import_react18.createElement)(InlineText, { label: t("Name"), value: bot.name, placeholder: "Bob", required: true, maxLength: 40, onSave: (name) => save({ name }) })), -- (0, import_react18.createElement)(Row, { label: t("Label"), hint: t("Optional. Shown under the name.") }, (0, import_react18.createElement)(InlineText, { label: t("Label"), value: bot.role, placeholder: t("Research, admin…"), maxLength: 24, onSave: (role) => save({ role }) })) ++ Card, ++ { title: t("Profile") }, + (0, import_react30.createElement)(Row, { label: t("Name") }, (0, import_react30.createElement)(InlineText, { label: t("Name"), value: bot.name, placeholder: "Bob", required: true, maxLength: 40, onSave: (name) => save({ name }) })), + (0, import_react30.createElement)(Row, { label: t("Label"), hint: t("Optional. Shown under the name.") }, (0, import_react30.createElement)(InlineText, { label: t("Label"), value: bot.role, placeholder: t("Research, admin…"), maxLength: 24, onSave: (role) => save({ role }) })) - ), -- (0, import_react18.createElement)( ++ ), + (0, import_react30.createElement)( - Card, - { title: t("Model") }, -- (0, import_react18.createElement)( ++ Card, ++ { title: t("Model") }, + (0, import_react30.createElement)( - "div", - { className: "bt-set-row bt-bs-row" }, -- (0, import_react18.createElement)("span", { className: "bt-set-copy" }, (0, import_react18.createElement)("span", { className: "bt-bs-label" }, t("Model")), (0, import_react18.createElement)("span", { className: "bt-set-hint" }, modelHint(bot, roster))), -- (0, import_react18.createElement)(ModelMenu, { bot, roster, actions, run }) -- ) ++ "div", ++ { className: "bt-set-row bt-bs-row" }, + (0, import_react30.createElement)("span", { className: "bt-set-copy" }, (0, import_react30.createElement)("span", { className: "bt-set-hint" }, modelHint(bot, roster))), + (0, import_react30.createElement)(ModelMenu, { bot, roster, actions, run }) + ), + bot.model ? (0, import_react30.createElement)(ModelTestRow, { bot, modelName: modelOf(bot, roster)?.name }) : null - ), -- (0, import_react18.createElement)( ++ ), + (0, import_react30.createElement)( - Card, - { title: t("Working folder") }, -- (0, import_react18.createElement)( ++ Card, ++ { title: t("Working folder") }, + (0, import_react30.createElement)( - "div", - { className: "bt-set-row bt-bs-row" }, -- (0, import_react18.createElement)("span", { className: "bt-set-copy" }, (0, import_react18.createElement)("span", { className: "bt-bs-label" }, t("Folder"))), -- (0, import_react18.createElement)(FolderMenu, { value: bot.workDir, actions, run, onPick: (workDir) => save({ workDir }) }) ++ "div", ++ { className: "bt-set-row bt-bs-row" }, + (0, import_react30.createElement)("span", { className: "bt-set-copy" }, (0, import_react30.createElement)("span", { className: "bt-bs-label" }, t("Folder"))), + (0, import_react30.createElement)(FolderMenu, { value: bot.workDir, actions, run, onPick: (workDir) => save({ workDir }) }) - ) - ), -- (0, import_react18.createElement)( ++ ) ++ ), + (0, import_react30.createElement)( - Card, - { title: t("Instructions") }, -- (0, import_react18.createElement)( ++ Card, ++ { title: t("Instructions") }, + (0, import_react30.createElement)( - Row, - { label: t("What this Bot does"), hint: t("Its job on the team. Part of the Bot's system prompt."), stack: true }, -- (0, import_react18.createElement)(InlineText, { label: t("Instructions"), value: bot.instructions, multiline: true, placeholder: t("What this Bot is responsible for…"), onSave: (instructions) => save({ instructions }) }) ++ Row, ++ { label: t("What this Bot does"), hint: t("Its job on the team. Part of the Bot's system prompt."), stack: true }, + (0, import_react30.createElement)(InlineText, { label: t("Instructions"), value: bot.instructions, multiline: true, placeholder: t("What this Bot is responsible for…"), onSave: (instructions) => save({ instructions }) }) - ) - ), -- (0, import_react18.createElement)(BotCapabilitiesCard, { bot, roster, actions, run, Card, SwitchRow }), -- roster.memory === false ? null : (0, import_react18.createElement)(MemoryCard, { bot, actions }), -- (0, import_react18.createElement)(BotSchedules, { bot, roster, actions }), -- (0, import_react18.createElement)( ++ ) ++ ), + // Sharing sits near the top with a title like Profile and Model, not at the end of the page (#406). + (0, import_react30.createElement)(FlyBotDetails, { bot, roster, actions, wrap: (children) => (0, import_react30.createElement)(Card, { title: t("Sharing") }, children) }), + (0, import_react30.createElement)(BotCapabilitiesCard, { bot, roster, actions, run, Card, SwitchRow }), @@ -17491,7 +17815,9 @@ diff --git a/client.js b/client.js + return index === 0 ? marked : [(0, import_react31.createElement)("span", { key: `${seat.key}-sep` }, t(", ")), ...marked]; + }); + return (0, import_react31.createElement)( -+ "div", + "div", +- { ref, className: "bt-avedit", role: "dialog", "aria-label": t("Avatar editor") }, +- (0, import_react18.createElement)( + { className, role: "listitem", "data-flybot": "face-person", "data-mine": person.mine || void 0 }, + (0, import_react31.createElement)( + "span", @@ -17532,18 +17858,65 @@ diff --git a/client.js b/client.js + { className: "bt-face-lead", "data-flybot": "face-lead" }, + (0, import_react31.createElement)("div", { className: "bt-section-title" }, t("Room lead")), + (0, import_react31.createElement)( -+ "div", + "div", +- { className: "bt-avedit-top" }, +- (0, import_react18.createElement)( +- "div", +- { ref: glide.box, role: "tablist", "aria-label": t("Avatar source"), className: "bt-avedit-tabs" }, +- (0, import_react18.createElement)("span", { ref: glide.thumb, className: "bt-thumb", "aria-hidden": true }), +- [["bot", "Bot"], ["upload", "Upload"]].map(([id, label]) => (0, import_react18.createElement)("button", { key: id, type: "button", role: "tab", className: "bt-avedit-tab", "aria-selected": tab === id, onClick: () => setTab(id) }, t(label))) + { className: "bt-set-row" }, + (0, import_react31.createElement)( + "span", + { className: "bt-set-copy" }, + (0, import_react31.createElement)("span", { className: "bt-row-title" }, faceSeatLabel(current)), + (0, import_react31.createElement)("span", { className: "bt-set-hint" }, lead.picked ? t("Writes the plan and gives each Bot its part.") : t("Default: the first Bot of the room creator that joined.")) -+ ), + ), +- (0, import_react18.createElement)("button", { +- type: "button", +- className: "bt-avedit-tab bt-avedit-reset", +- title: t("Reset character to default"), +- onClick: () => run(actions.updateBot(bot.id, { avatar: null, color: null })) +- }, t("Reset")) + canPick ? (0, import_react31.createElement)("button", { type: "button", className: "bt-mini", "aria-expanded": open, onClick: () => setOpen(!open) }, open ? t("Done") : t("Change")) : null -+ ), + ), +- tab === "bot" ? (0, import_react18.createElement)(CharacterGrid, { +- look, +- hasPhoto, +- onShape: (shape) => run(actions.updateBot(bot.id, { avatar: { shape } })), +- onColor: (color) => run(actions.updateBot(bot.id, { color })) +- }) : null, +- tab === "upload" ? (0, import_react18.createElement)( + open && canPick ? seats.map((seat) => (0, import_react31.createElement)( -+ "div", + "div", +- { +- className: "bt-dropzone", +- "data-over": over || void 0, +- onDragOver: (event) => { +- event.preventDefault(); +- setOver(true); +- }, +- onDragLeave: () => setOver(false), +- onDrop: (event) => { +- event.preventDefault(); +- setOver(false); +- upload(event.dataTransfer.files?.[0]); +- } +- }, +- hasPhoto ? (0, import_react18.createElement)("img", { src: look.image, alt: "" }) : null, +- (0, import_react18.createElement)("div", null, t("Drag, drop, or paste an image")), +- (0, import_react18.createElement)( +- "div", +- { className: "bt-actions", style: { justifyContent: "center" } }, +- (0, import_react18.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => fileRef.current?.click() }, hasPhoto ? t("Replace") : t("Browse files")), +- hasPhoto ? (0, import_react18.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.updateBot(bot.id, { avatar: hasShape(bot.avatar?.shape) ? { shape: bot.avatar.shape } : null })) }, t("Remove photo")) : null +- ), +- (0, import_react18.createElement)("input", { ref: fileRef, type: "file", accept: "image/png,image/jpeg,image/webp,image/gif", hidden: true, onChange: (event) => { +- const file = event.target.files?.[0]; +- event.target.value = ""; +- upload(file); +- } }) +- ) : null + { key: seat.key, className: "bt-set-row" }, + (0, import_react31.createElement)("span", { className: "bt-set-copy" }, faceSeatLabel(seat)), + seat === current ? (0, import_react31.createElement)("span", { className: "bt-tag" }, t("Lead")) : (0, import_react31.createElement)("button", { type: "button", className: "bt-mini", disabled: busy, onClick: () => void choose(seat.record?.handle) }, t("Make lead")) @@ -17551,14 +17924,32 @@ diff --git a/client.js b/client.js + open && canPick && lead.picked ? (0, import_react31.createElement)("button", { type: "button", className: "bt-more", disabled: busy, onClick: () => void choose(null) }, t("Use the default lead")) : null, + canPick || !lead.supported ? null : (0, import_react31.createElement)("div", { className: "bt-set-hint" }, t("Only the person who created this room can change it.")), + error ? (0, import_react31.createElement)("div", { className: "bt-set-hint", role: "alert" }, error) : null -+ ); -+} + ); + } +-function MemoryCard({ bot, actions }) { +- const count = useMemoryCount(bot.id, actions); +- const label = count === null ? t("Loading…") : count === 0 ? t("Nothing saved yet") : count === 1 ? t("1 entry") : t("{count} entries", { count }); +- return (0, import_react18.createElement)( +- Card, +- { title: t("Memory") }, +- (0, import_react18.createElement)( +- "button", +- { type: "button", className: "bt-set-row bt-bs-row", "aria-label": t("Manage {name}'s memory", { name: bot.name }), onClick: () => actions.openMemory(bot.id) }, +- (0, import_react18.createElement)("span", { className: "bt-set-copy" }, (0, import_react18.createElement)("span", { className: "bt-bs-label" }, label)), +- (0, import_react18.createElement)("span", { className: "bt-mem-row-go" }, t("Manage"), (0, import_react18.createElement)(ChevronRightIcon)) +- ) +- ); +function seatedCount(room2) { + const live = room2?.presentedParticipants ?? room2?.participants ?? []; + const humans = live.filter((p) => p.kind === "human" && p.leftSeq === void 0).length; + const remotes = live.filter((p) => p.remote && p.leftSeq === void 0).length; + return humans + remotes + (room2?.members?.length ?? 0); -+} + } +-function BotSettingsForm({ bot, roster, actions, run }) { +- const [editing, setEditing] = (0, import_react18.useState)(false); +- const [confirming, setConfirming] = (0, import_react18.useState)(false); +- const closeEditor = (0, import_react18.useCallback)(() => setEditing(false), []); +- (0, import_react18.useEffect)(() => { +function roomSubtitle(room2, roster) { + if (room2.origin === "face-to-face") return faceRoomCount(room2, roster); + const admin = roster.byId[room2.admin]; @@ -17569,10 +17960,15 @@ diff --git a/client.js b/client.js + const [adding, setAdding] = (0, import_react31.useState)(false); + const [confirming, setConfirming] = (0, import_react31.useState)(false); + (0, import_react31.useEffect)(() => { -+ if (!confirming) return void 0; -+ const timer = setTimeout(() => setConfirming(false), 4e3); -+ return () => clearTimeout(timer); -+ }, [confirming]); + if (!confirming) return void 0; + const timer = setTimeout(() => setConfirming(false), 4e3); + return () => clearTimeout(timer); + }, [confirming]); +- const isMainBot = isMainOf(roster, bot.id); +- const onlyMain = isMainBot && (roster.mainBotIds ?? []).length === 1; +- const isTile = roster.mainBotId === bot.id; +- const save = (patch) => run(actions.updateBot(bot.id, patch)); +- const duplicate = () => run(actions.duplicateBot(bot.id).then((copy2) => actions.openSession(copy2.id))); + const live = room2.presentedParticipants ?? room2.participants ?? []; + const humans = live.filter((p) => p.kind === "human" && p.leftSeq === void 0); + const remotes = live.filter((p) => p.remote && p.leftSeq === void 0); @@ -17597,7 +17993,9 @@ diff --git a/client.js b/client.js + actions.closeSettings(); + actions.openSession(id); + }; -+ const remove = () => { + const remove = () => { +- if (confirming) void run(actions.deleteBot(bot.id)); +- else setConfirming(true); + if (!confirming) { + setConfirming(true); + return; @@ -17605,24 +18003,46 @@ diff --git a/client.js b/client.js + void Promise.resolve(run(actions.deleteRoom(room2.id))).then((done) => { + if (done) onDeleted?.(); + }); -+ }; + }; +- (0, import_react18.useEffect)(() => { +- void actions.refreshModels?.(); +- }, [bot.id]); +- return (0, import_react18.createElement)( + return (0, import_react31.createElement)( -+ "div", -+ { className: "bt-bs" }, + "div", + { className: "bt-bs" }, +- (0, import_react18.createElement)( + (0, import_react31.createElement)( -+ "div", -+ { className: "bt-bs-hero" }, + "div", + { className: "bt-bs-hero" }, +- (0, import_react18.createElement)( +- "div", +- { className: "bt-avatar-anchor" }, +- (0, import_react18.createElement)( +- "button", +- { type: "button", className: "bt-avatar-trigger", "aria-label": t("Edit Bot avatar"), "aria-expanded": editing, onClick: () => setEditing((value) => !value) }, +- (0, import_react18.createElement)(BotMark, { bot, size: 64, live: true }), +- (0, import_react18.createElement)("span", { className: "bt-avatar-pencil", "aria-hidden": true }, (0, import_react18.createElement)(PencilIcon)) +- ), +- editing ? (0, import_react18.createElement)(AvatarEditor, { bot, actions, run, onClose: closeEditor }) : null +- ), +- (0, import_react18.createElement)( + (0, import_react31.createElement)(RoomAvatar, { room: room2, roster, size: 64 }), + (0, import_react31.createElement)( -+ "div", -+ { className: "bt-bs-who" }, + "div", + { className: "bt-bs-who" }, +- (0, import_react18.createElement)("span", { className: "bt-bs-name" }, bot.name), +- (0, import_react18.createElement)("span", { className: "bt-bs-sub" }, [bot.role, isMainBot ? t("Main Bot") : ""].filter(Boolean).join(" · ") || t("Bot")) + (0, import_react31.createElement)("span", { className: "bt-bs-name" }, room2.name), + (0, import_react31.createElement)("span", { className: "bt-bs-sub" }, roomSubtitle(room2, roster)) -+ ) -+ ), + ) + ), +- (0, import_react18.createElement)( + (0, import_react31.createElement)( -+ Card, -+ { title: t("Profile") }, + Card, + { title: t("Profile") }, +- (0, import_react18.createElement)(Row, { label: t("Name") }, (0, import_react18.createElement)(InlineText, { label: t("Name"), value: bot.name, placeholder: "Bob", required: true, maxLength: 40, onSave: (name) => save({ name }) })), +- (0, import_react18.createElement)(Row, { label: t("Label"), hint: t("Optional. Shown under the name.") }, (0, import_react18.createElement)(InlineText, { label: t("Label"), value: bot.role, placeholder: t("Research, admin…"), maxLength: 24, onSave: (role) => save({ role }) })) + (0, import_react31.createElement)( + Row, + { label: t("Name"), hint: t("Leave it empty to name the group after its members.") }, @@ -17633,9 +18053,12 @@ diff --git a/client.js b/client.js + { label: t("Notice"), hint: t("Every member reads it before speaking in this group."), stack: true }, + (0, import_react31.createElement)(InlineText, { label: t("Group notice"), value: room2.notice, multiline: true, maxLength: 2e3, placeholder: t("Shared instructions every member reads before speaking…"), onSave: (notice) => update({ notice }) }) + ) -+ ), + ), +- (0, import_react18.createElement)( + (0, import_react31.createElement)( -+ Card, + Card, +- { title: t("Model") }, +- (0, import_react18.createElement)( + { title: t("Who answers") }, + (0, import_react31.createElement)( + "div", @@ -17657,8 +18080,10 @@ diff --git a/client.js b/client.js + Card, + { title: t("Working folder") }, + (0, import_react31.createElement)( -+ "div", -+ { className: "bt-set-row bt-bs-row" }, + "div", + { className: "bt-set-row bt-bs-row" }, +- (0, import_react18.createElement)("span", { className: "bt-set-copy" }, (0, import_react18.createElement)("span", { className: "bt-bs-label" }, t("Model")), (0, import_react18.createElement)("span", { className: "bt-set-hint" }, modelHint(bot, roster))), +- (0, import_react18.createElement)(ModelMenu, { bot, roster, actions, run }) + (0, import_react31.createElement)("span", { className: "bt-set-copy" }, (0, import_react31.createElement)("span", { className: "bt-bs-label" }, t("Folder"))), + (0, import_react31.createElement)(FolderMenu, { value: room2.workDir, group: true, actions, run, onPick: (workDir) => update({ workDir }) }) + ) @@ -17669,20 +18094,13 @@ diff --git a/client.js b/client.js + people2.map((person) => (0, import_react31.createElement)(FacePersonRow, { key: person.key, person, roster, onOpenBot: openBot, lead: room2.face?.lead?.handle })) + ) : null, + face ? null : (0, import_react31.createElement)( - Card, -- { title: t("Main Bot") }, -- onlyMain ? (0, import_react18.createElement)( ++ Card, + { title: t("Members · {count}", { count: members.length + humans.length + remotes.length }) }, + humans.map((person) => (0, import_react31.createElement)( - "div", -- { className: "bt-set-row bt-bs-row" }, -- (0, import_react18.createElement)( ++ "div", + { key: person.id, className: "bt-set-row bt-bs-row bt-gs-member" }, + (0, import_react31.createElement)( - "span", -- { className: "bt-set-copy" }, -- (0, import_react18.createElement)("span", { className: "bt-bs-label" }, t("Main Bot")), -- (0, import_react18.createElement)("span", { className: "bt-set-hint" }, t("The only Main Bot. To hand the role to another Bot, use Main Bot on the Bots page.")) ++ "span", + { className: "bt-gs-who" }, + (0, import_react31.createElement)("span", { className: "bt-row-title" }, person.displayName || person.id), + (0, import_react31.createElement)("span", { className: "bt-tag" }, t("Human")), @@ -17722,9 +18140,7 @@ diff --git a/client.js b/client.js + // #904: a host's roster entry is not a friend's Bot, and one this home cannot confirm is + // labelled as such; a Bot with no Bot Social identity can never be written to at all. + room2.origin === "face-to-face" ? null : (0, import_react31.createElement)("span", { className: "bt-tag" }, person.unconnected ? t("Not connected") : room2.origin === "inbound-share" && person.verified === false ? t("Unconfirmed") : t("Friend's Bot")) - ), -- (0, import_react18.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => actions.openSettings("bots") }, t("Change")) -- ) : (0, import_react18.createElement)(SwitchRow, { label: t("Main Bot"), hint: t("Can create and change Bots, and runs every group chat."), on: isMainBot, onChange: (on) => run(actions.setMain(bot.id, on)) }) ++ ), + // A guest's mirror is not theirs to edit: the host's membership is changed on the host side. + room2.origin === "face-to-face" || room2.origin === "inbound-share" || members.length + remotes.length <= 2 ? null : (0, import_react31.createElement)("button", { type: "button", className: "bt-x", "aria-label": t("Remove {name} from the group", { name: remoteBotTitle(person) }), title: t("Remove from group"), onClick: () => update({ removeParticipants: [{ kind: "bot", id: person.handle || person.id, remote: true }] }) }, "×") + )), @@ -17769,43 +18185,26 @@ diff --git a/client.js b/client.js + // #876: a plugin's rows for this room (Invite by link), only in a group that lives here. Last, after + // the note on who leads, so that note stays with the members it is about (#892). + room2.origin === "face-to-face" || room2.origin === "inbound-share" ? null : (0, import_react31.createElement)(FlyBotRoomMembers, { room: room2, roster, actions }) - ), -- // The Main Bot tile is always first and always shown, like in the context menu. -- isTile ? null : (0, import_react18.createElement)( ++ ), + (0, import_react31.createElement)(StandingApprovalsCard, { scope: "room", target: room2, roster, actions, run, Card }), + (0, import_react31.createElement)( - Card, - { title: t("Sidebar") }, -- (0, import_react18.createElement)(SwitchRow, { label: t("Pin"), hint: t("Kept above the other chats."), on: bot.pinned === true, onChange: (pinned) => run(actions.setFlags(bot.id, { pinned })) }), -- isMainBot ? null : (0, import_react18.createElement)(SwitchRow, { label: t("Hide from sidebar"), hint: t("Search still finds it."), on: bot.hidden === true, onChange: (hidden) => run(actions.setFlags(bot.id, { hidden })) }) ++ Card, ++ { title: t("Sidebar") }, + (0, import_react31.createElement)(SwitchRow, { label: t("Pin"), hint: t("Kept above the other chats."), on: room2.pinned === true, onChange: (pinned) => run(actions.setFlags(room2.id, { pinned })) }), + (0, import_react31.createElement)(SwitchRow, { label: t("Hide from sidebar"), hint: t("Search still finds it."), on: room2.hidden === true, onChange: (hidden) => run(actions.setFlags(room2.id, { hidden })) }) - ), -- (0, import_react18.createElement)( ++ ), + (0, import_react31.createElement)( - Card, -- { title: t("Manage") }, -- (0, import_react18.createElement)( -- "button", -- { type: "button", className: "bt-set-row bt-bs-row", onClick: duplicate }, -- (0, import_react18.createElement)("span", { className: "bt-set-copy" }, (0, import_react18.createElement)("span", { className: "bt-bs-label" }, t("Duplicate")), (0, import_react18.createElement)("span", { className: "bt-set-hint" }, t("A copy with the same job and model, and fresh memory."))), -- (0, import_react18.createElement)("span", { className: "bt-chevron" }, (0, import_react18.createElement)(ChevronRightIcon)) -- ), -- isMainBot ? null : (0, import_react18.createElement)( ++ Card, + { title: t("More") }, + (0, import_react31.createElement)( - "button", - { type: "button", className: "bt-set-row bt-bs-row bt-bs-danger", "data-confirm": confirming || void 0, onClick: remove }, -- (0, import_react18.createElement)( ++ "button", ++ { type: "button", className: "bt-set-row bt-bs-row bt-bs-danger", "data-confirm": confirming || void 0, onClick: remove }, + (0, import_react31.createElement)( - "span", - { className: "bt-set-copy" }, -- (0, import_react18.createElement)("span", { className: "bt-bs-label" }, confirming ? t("Delete {name}?", { name: bot.name }) : t("Delete Bot")), -- (0, import_react18.createElement)("span", { className: "bt-set-hint" }, confirming ? t("Click again to delete. Its chats are archived.") : t("Removes the Bot from the team.")) ++ "span", ++ { className: "bt-set-copy" }, + (0, import_react31.createElement)("span", { className: "bt-bs-label" }, confirming ? t("Delete {name}?", { name: room2.name }) : t("Delete group")), + (0, import_react31.createElement)("span", { className: "bt-set-hint" }, confirming ? t("Click again to delete. Its history is archived.") : t("Removes the group chat. Its members stay on the team.")) - ), -- (0, import_react18.createElement)("span", { className: "bt-chevron" }, (0, import_react18.createElement)(ChevronRightIcon)) ++ ), + (0, import_react31.createElement)("span", { className: "bt-chevron" }, (0, import_react31.createElement)(ChevronRightIcon)) + ) + ) @@ -17850,24 +18249,46 @@ diff --git a/client.js b/client.js + "div", + { className: "bt-ng-picks", role: "radiogroup", "aria-label": t("Group admin") }, + roster.bots.map((bot) => chip(bot, admin === bot.id, () => pickAdmin(bot.id), "radio")) -+ ) -+ ), + ) + ), +- (0, import_react18.createElement)( +- Card, +- { title: t("Working folder") }, +- (0, import_react18.createElement)( + admin === null ? null : (0, import_react31.createElement)( + "div", + { className: "bt-set-row bt-bs-row bt-bs-stack bt-ng-step" }, + (0, import_react31.createElement)("span", { className: "bt-set-copy" }, (0, import_react31.createElement)("span", { className: "bt-bs-label" }, t("Who to chat with…"))), + (0, import_react31.createElement)( -+ "div", + "div", +- { className: "bt-set-row bt-bs-row" }, +- (0, import_react18.createElement)("span", { className: "bt-set-copy" }, (0, import_react18.createElement)("span", { className: "bt-bs-label" }, t("Folder"))), +- (0, import_react18.createElement)(FolderMenu, { value: bot.workDir, actions, run, onPick: (workDir) => save({ workDir }) }) + { className: "bt-ng-picks", role: "group", "aria-label": t("Members") }, + roster.bots.filter((bot) => bot.id !== admin).map((bot) => chip(bot, members.includes(bot.id), () => toggle(bot.id), "checkbox")) -+ ) -+ ), + ) + ), +- (0, import_react18.createElement)( +- Card, +- { title: t("Instructions") }, +- (0, import_react18.createElement)( +- Row, +- { label: t("What this Bot does"), hint: t("Its job on the team. Part of the Bot's system prompt."), stack: true }, +- (0, import_react18.createElement)(InlineText, { label: t("Instructions"), value: bot.instructions, multiline: true, placeholder: t("What this Bot is responsible for…"), onSave: (instructions) => save({ instructions }) }) +- ) + admin === null || members.length === 0 ? null : (0, import_react31.createElement)( + "label", + { className: "bt-set-row bt-bs-row bt-ng-step" }, + (0, import_react31.createElement)("span", { className: "bt-set-copy" }, (0, import_react31.createElement)("span", { className: "bt-bs-label" }, t("Name"))), + (0, import_react31.createElement)("input", { className: "bt-bs-input", value: name, maxLength: 60, placeholder: t("Name after members"), onChange: (event) => setName(event.target.value) }) -+ ), + ), +- (0, import_react18.createElement)(BotCapabilitiesCard, { bot, roster, actions, run, Card, SwitchRow }), +- roster.memory === false ? null : (0, import_react18.createElement)(MemoryCard, { bot, actions }), +- (0, import_react18.createElement)(BotSchedules, { bot, roster, actions }), +- (0, import_react18.createElement)( +- Card, +- { title: t("Main Bot") }, +- onlyMain ? (0, import_react18.createElement)( + (0, import_react31.createElement)( + "div", + { className: "bt-set-row bt-task-foot" }, @@ -17947,7 +18368,7 @@ diff --git a/client.js b/client.js + } + return JSON.stringify(hits); + }); -+ const matchesName = (...fields) => wanted === "" || fields.some((field) => (field ?? "").toLowerCase().includes(wanted)); ++ const matchesName = (...fields) => wanted === "" || fields.some((field2) => (field2 ?? "").toLowerCase().includes(wanted)); + const sections = []; + const people2 = [ + ...roster.bots.filter((bot) => isListedRemoteChat(bot) && matchesName(bot.name, bot.role, pickerBotLabel(bot))).map((bot) => ({ @@ -18025,7 +18446,32 @@ diff --git a/client.js b/client.js + "div", + { className: "bt-palette", role: "dialog", "aria-label": t("Search"), "aria-modal": true }, + (0, import_react32.createElement)( -+ "div", + "div", +- { className: "bt-set-row bt-bs-row" }, +- (0, import_react18.createElement)( +- "span", +- { className: "bt-set-copy" }, +- (0, import_react18.createElement)("span", { className: "bt-bs-label" }, t("Main Bot")), +- (0, import_react18.createElement)("span", { className: "bt-set-hint" }, t("The only Main Bot. To hand the role to another Bot, use Main Bot on the Bots page.")) +- ), +- (0, import_react18.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => actions.openSettings("bots") }, t("Change")) +- ) : (0, import_react18.createElement)(SwitchRow, { label: t("Main Bot"), hint: t("Can create and change Bots, and runs every group chat."), on: isMainBot, onChange: (on) => run(actions.setMain(bot.id, on)) }) +- ), +- // The Main Bot tile is always first and always shown, like in the context menu. +- isTile ? null : (0, import_react18.createElement)( +- Card, +- { title: t("Sidebar") }, +- (0, import_react18.createElement)(SwitchRow, { label: t("Pin"), hint: t("Kept above the other chats."), on: bot.pinned === true, onChange: (pinned) => run(actions.setFlags(bot.id, { pinned })) }), +- isMainBot ? null : (0, import_react18.createElement)(SwitchRow, { label: t("Hide from sidebar"), hint: t("Search still finds it."), on: bot.hidden === true, onChange: (hidden) => run(actions.setFlags(bot.id, { hidden })) }) +- ), +- (0, import_react18.createElement)( +- Card, +- { title: t("Manage") }, +- (0, import_react18.createElement)( +- "button", +- { type: "button", className: "bt-set-row bt-bs-row", onClick: duplicate }, +- (0, import_react18.createElement)("span", { className: "bt-set-copy" }, (0, import_react18.createElement)("span", { className: "bt-bs-label" }, t("Duplicate")), (0, import_react18.createElement)("span", { className: "bt-set-hint" }, t("A copy with the same job and model, and fresh memory."))), +- (0, import_react18.createElement)("span", { className: "bt-chevron" }, (0, import_react18.createElement)(ChevronRightIcon)) + { className: "bt-palette-head" }, + (0, import_react32.createElement)("span", { className: "bt-palette-glyph", "aria-hidden": true }, (0, import_react32.createElement)(SearchIcon)), + (0, import_react32.createElement)("input", { @@ -18058,7 +18504,17 @@ diff --git a/client.js b/client.js + setQuery(""); + setCursor(0); + } }, (0, import_react32.createElement)(CloseIcon)) : null -+ ), + ), +- isMainBot ? null : (0, import_react18.createElement)( +- "button", +- { type: "button", className: "bt-set-row bt-bs-row bt-bs-danger", "data-confirm": confirming || void 0, onClick: remove }, +- (0, import_react18.createElement)( +- "span", +- { className: "bt-set-copy" }, +- (0, import_react18.createElement)("span", { className: "bt-bs-label" }, confirming ? t("Delete {name}?", { name: bot.name }) : t("Delete Bot")), +- (0, import_react18.createElement)("span", { className: "bt-set-hint" }, confirming ? t("Click again to delete. Its chats are archived.") : t("Removes the Bot from the team.")) +- ), +- (0, import_react18.createElement)("span", { className: "bt-chevron" }, (0, import_react18.createElement)(ChevronRightIcon)) + (0, import_react32.createElement)( + "div", + { ref: listRef, id: "bt-palette-list", className: "bt-palette-list", role: "listbox", "aria-label": t("Results") }, @@ -19306,7 +19762,9 @@ diff --git a/client.js b/client.js - members.map((member) => { - const leads = room2.admin === member.id; - return (0, import_react23.createElement)( -- "div", ++ { className: "bt-wf-fit", style: { height, transform: `scale(${scale})` } }, ++ (0, import_react37.createElement)( + "div", - { key: member.id, className: "bt-set-row bt-bs-row bt-gs-member" }, - (0, import_react23.createElement)( - "button", @@ -19314,7 +19772,36 @@ diff --git a/client.js b/client.js - (0, import_react23.createElement)(BotAvatar, { bot: member, size: 26, main: isMainOf(roster, member.id), admin: leads, live: false }), - (0, import_react23.createElement)("span", { className: "bt-row-title" }, member.name), - leads ? (0, import_react23.createElement)("span", { className: "bt-tag" }, t("Admin")) : null -- ), ++ { className: "bt-wf-plane", "data-plane": "1", style: { height, "--bt-wf-wire-span": `${WIRE_SPAN}px` } }, ++ (0, import_react37.createElement)( ++ "svg", ++ { ++ className: "bt-wf-wires", ++ "aria-hidden": true, ++ width: WIRE_SPAN * 2, ++ height, ++ viewBox: `0 0 ${WIRE_SPAN * 2} ${height}` ++ }, ++ (0, import_react37.createElement)( ++ "defs", ++ null, ++ (0, import_react37.createElement)("marker", { ++ id: "bt-wf-arrow", ++ viewBox: "0 0 10 10", ++ refX: "8", ++ refY: "5", ++ markerWidth: "6", ++ markerHeight: "6", ++ orient: "auto" ++ }, (0, import_react37.createElement)("path", { d: "M0 0 10 5 0 10z" })) ++ ), ++ edges.map((edge) => { ++ const from = nodes.find((node) => node.id === edge.from); ++ const to = nodes.find((node) => node.id === edge.to); ++ if (!from || !to) return null; ++ return (0, import_react37.createElement)("path", { key: `${edge.from}>${edge.to}`, d: wirePath(from, to), markerEnd: "url(#bt-wf-arrow)" }); ++ }) + ), - leads ? (0, import_react23.createElement)("button", { type: "button", className: "bt-mini", title: t("Leave the group without an admin"), onClick: () => update({ admin: null }) }, t("Unset")) : (0, import_react23.createElement)("button", { type: "button", className: "bt-mini", onClick: () => update({ admin: member.id }) }, t("Make admin")), - members.length > 2 ? (0, import_react23.createElement)("button", { type: "button", className: "bt-x", "aria-label": t("Remove {name} from the group", { name: member.name }), title: t("Remove from group"), onClick: () => update({ remove: [member.id] }) }, "×") : null - ); @@ -19358,39 +19845,6 @@ diff --git a/client.js b/client.js - (0, import_react23.createElement)("span", { className: "bt-set-hint" }, confirming ? t("Click again to delete. Its history is archived.") : t("Removes the group chat. Its members stay on the team.")) - ), - (0, import_react23.createElement)("span", { className: "bt-chevron" }, (0, import_react23.createElement)(ChevronRightIcon)) -+ { className: "bt-wf-fit", style: { height, transform: `scale(${scale})` } }, -+ (0, import_react37.createElement)( -+ "div", -+ { className: "bt-wf-plane", "data-plane": "1", style: { height, "--bt-wf-wire-span": `${WIRE_SPAN}px` } }, -+ (0, import_react37.createElement)( -+ "svg", -+ { -+ className: "bt-wf-wires", -+ "aria-hidden": true, -+ width: WIRE_SPAN * 2, -+ height, -+ viewBox: `0 0 ${WIRE_SPAN * 2} ${height}` -+ }, -+ (0, import_react37.createElement)( -+ "defs", -+ null, -+ (0, import_react37.createElement)("marker", { -+ id: "bt-wf-arrow", -+ viewBox: "0 0 10 10", -+ refX: "8", -+ refY: "5", -+ markerWidth: "6", -+ markerHeight: "6", -+ orient: "auto" -+ }, (0, import_react37.createElement)("path", { d: "M0 0 10 5 0 10z" })) -+ ), -+ edges.map((edge) => { -+ const from = nodes.find((node) => node.id === edge.from); -+ const to = nodes.find((node) => node.id === edge.to); -+ if (!from || !to) return null; -+ return (0, import_react37.createElement)("path", { key: `${edge.from}>${edge.to}`, d: wirePath(from, to), markerEnd: "url(#bt-wf-arrow)" }); -+ }) -+ ), + (graph.layers ?? []).filter((layer) => layer.length > 1).map((layer) => { + const members = layer.map((id) => nodes.find((node) => node.id === id)).filter(Boolean); + if (members.length < 2) return null; @@ -19538,19 +19992,11 @@ diff --git a/client.js b/client.js + const yours = (pack?.workflows ?? []).filter((item) => !templateIds.has(item.id)); + const showUse = opened?.source === "factory" || opened?.fromFactory !== void 0; + return (0, import_react37.createElement)( - "div", -- { className: "bt-set-card bt-ng" }, -- (0, import_react23.createElement)( ++ "div", + { className: "bt-wf-page" }, + (0, import_react37.createElement)("p", { className: "bt-wf-hint" }, t("A workflow is a group of your Bots. Drag the flowchart to change who hands work to whom.")), + error ? (0, import_react37.createElement)( - "div", -- { className: "bt-set-row bt-bs-row bt-bs-stack" }, -- (0, import_react23.createElement)("span", { className: "bt-set-copy" }, (0, import_react23.createElement)("span", { className: "bt-bs-label bt-ng-label" }, (0, import_react23.createElement)(AdminStar), t("Choose the group admin"))), -- (0, import_react23.createElement)( -- "div", -- { className: "bt-ng-picks", role: "radiogroup", "aria-label": t("Group admin") }, -- roster.bots.map((bot) => chip(bot, admin === bot.id, () => pickAdmin(bot.id), "radio")) ++ "div", + { className: "bt-error", role: "alert" }, + alertCopy(error), + phase === "error" ? (0, import_react37.createElement)("button", { type: "button", onClick: () => onRetry?.() }, t("Retry")) : null @@ -19585,20 +20031,13 @@ diff --git a/client.js b/client.js + { className: "bt-set-card" }, + yours.length === 0 ? (0, import_react37.createElement)("div", { className: "bt-set-row" }, (0, import_react37.createElement)("span", { className: "bt-set-hint" }, t("No workflows of your own yet."))) : yours.map((item) => (0, import_react37.createElement)(Row2, { key: item.id, item, source: "own", onOpen: () => onOpen?.(item, "own"), onRename, onDelete })) + ) - ) -- ), -- admin === null ? null : (0, import_react23.createElement)( ++ ) + ) : null, + graph ? (0, import_react37.createElement)( - "div", -- { className: "bt-set-row bt-bs-row bt-bs-stack bt-ng-step" }, -- (0, import_react23.createElement)("span", { className: "bt-set-copy" }, (0, import_react23.createElement)("span", { className: "bt-bs-label" }, t("Who to chat with…"))), -- (0, import_react23.createElement)( ++ "div", + { className: "bt-wf-editor" }, + (0, import_react37.createElement)( - "div", -- { className: "bt-ng-picks", role: "group", "aria-label": t("Members") }, -- roster.bots.filter((bot) => bot.id !== admin).map((bot) => chip(bot, members.includes(bot.id), () => toggle(bot.id), "checkbox")) ++ "div", + { className: "bt-wf-actions" }, + (0, import_react37.createElement)("button", { type: "button", onClick: () => onBack?.() }, t("Back")), + showUse ? (0, import_react37.createElement)("button", { type: "button", onClick: () => onUse?.(opened.source === "factory" ? opened.id : opened.fromFactory) }, t("Use this")) : null, @@ -19619,12 +20058,17 @@ diff --git a/client.js b/client.js +function RenameModal({ workflow, onClose, onConfirm }) { + const [name, setName] = (0, import_react37.useState)(workflow?.name ?? ""); + return (0, import_react37.createElement)( -+ "div", + "div", +- { className: "bt-set-card bt-ng" }, +- (0, import_react23.createElement)( + { className: "bt-modal-mask", onClick: (event) => { + if (event.target === event.currentTarget) onClose?.(); + } }, + (0, import_react37.createElement)( -+ "div", + "div", +- { className: "bt-set-row bt-bs-row bt-bs-stack" }, +- (0, import_react23.createElement)("span", { className: "bt-set-copy" }, (0, import_react23.createElement)("span", { className: "bt-bs-label bt-ng-label" }, (0, import_react23.createElement)(AdminStar), t("Choose the group admin"))), +- (0, import_react23.createElement)( + { className: "bt-modal", role: "dialog", "aria-modal": true, "aria-label": t("Rename workflow") }, + (0, import_react37.createElement)("h3", null, t("Rename workflow")), + (0, import_react37.createElement)( @@ -19634,19 +20078,15 @@ diff --git a/client.js b/client.js + (0, import_react37.createElement)("input", { type: "text", value: name, onChange: (event) => setName(event.target.value), autoFocus: true }) + ), + (0, import_react37.createElement)( -+ "div", + "div", +- { className: "bt-ng-picks", role: "radiogroup", "aria-label": t("Group admin") }, +- roster.bots.map((bot) => chip(bot, admin === bot.id, () => pickAdmin(bot.id), "radio")) + { className: "bt-modal-actions" }, + (0, import_react37.createElement)("button", { type: "button", onClick: onClose }, t("Cancel")), + (0, import_react37.createElement)("button", { type: "button", onClick: () => onConfirm?.(name) }, t("Rename")) ) - ), -- admin === null || members.length === 0 ? null : (0, import_react23.createElement)( -- "label", -- { className: "bt-set-row bt-bs-row bt-ng-step" }, -- (0, import_react23.createElement)("span", { className: "bt-set-copy" }, (0, import_react23.createElement)("span", { className: "bt-bs-label" }, t("Name"))), -- (0, import_react23.createElement)("input", { className: "bt-bs-input", value: name, maxLength: 60, placeholder: t("Name after members"), onChange: (event) => setName(event.target.value) }) -- ), -- (0, import_react23.createElement)( +- admin === null ? null : (0, import_react23.createElement)( + ) + ); +} @@ -19658,18 +20098,32 @@ diff --git a/client.js b/client.js + } }, + (0, import_react37.createElement)( "div", -- { className: "bt-set-row bt-task-foot" }, -- (0, import_react23.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: onCancel }, t("Cancel")), -- (0, import_react23.createElement)("button", { type: "button", className: "bt-send bt-soft-sm", disabled: busy || admin === null || members.length === 0, onClick: () => void create() }, t("Create group chat")) +- { className: "bt-set-row bt-bs-row bt-bs-stack bt-ng-step" }, +- (0, import_react23.createElement)("span", { className: "bt-set-copy" }, (0, import_react23.createElement)("span", { className: "bt-bs-label" }, t("Who to chat with…"))), +- (0, import_react23.createElement)( + { className: "bt-modal", role: "dialog", "aria-modal": true, "aria-label": t("Delete workflow") }, + (0, import_react37.createElement)("h3", null, t("Delete workflow")), + (0, import_react37.createElement)("p", null, t('Are you sure you want to delete "{name}"? This cannot be undone.', { name: workflow?.name ?? "" })), + (0, import_react37.createElement)( -+ "div", + "div", +- { className: "bt-ng-picks", role: "group", "aria-label": t("Members") }, +- roster.bots.filter((bot) => bot.id !== admin).map((bot) => chip(bot, members.includes(bot.id), () => toggle(bot.id), "checkbox")) + { className: "bt-modal-actions" }, + (0, import_react37.createElement)("button", { type: "button", onClick: onClose }, t("Cancel")), + (0, import_react37.createElement)("button", { type: "button", className: "bt-danger", onClick: onConfirm }, t("Delete")) -+ ) + ) +- ), +- admin === null || members.length === 0 ? null : (0, import_react23.createElement)( +- "label", +- { className: "bt-set-row bt-bs-row bt-ng-step" }, +- (0, import_react23.createElement)("span", { className: "bt-set-copy" }, (0, import_react23.createElement)("span", { className: "bt-bs-label" }, t("Name"))), +- (0, import_react23.createElement)("input", { className: "bt-bs-input", value: name, maxLength: 60, placeholder: t("Name after members"), onChange: (event) => setName(event.target.value) }) +- ), +- (0, import_react23.createElement)( +- "div", +- { className: "bt-set-row bt-task-foot" }, +- (0, import_react23.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: onCancel }, t("Cancel")), +- (0, import_react23.createElement)("button", { type: "button", className: "bt-send bt-soft-sm", disabled: busy || admin === null || members.length === 0, onClick: () => void create() }, t("Create group chat")) ) ); } @@ -20556,7 +21010,7 @@ diff --git a/client.js b/client.js body ); } -@@ -10150,33 +10150,216 @@ button.bt-us-row:hover{background:var(--bt-hover)} +@@ -10150,33 +10150,513 @@ button.bt-us-row:hover{background:var(--bt-hover)} @keyframes bt-us-drop{from{opacity:0;transform:translateY(-4px) scale(.96)}} @keyframes bt-us-fade{from{opacity:0}} @keyframes bt-us-cell{from{opacity:0;transform:scale(.5)}} @@ -20567,9 +21021,306 @@ diff --git a/client.js b/client.js @media (prefers-reduced-motion:reduce){.bt-us *,.bt-us *::before{animation:none!important;transition:none!important}} `; ++// src/shared/feishu.js ++var APP_ID = /^cli_[0-9a-f]{16}$/i; ++var BASE_SCOPES = ["im:message.group_at_msg:readonly", "im:message.p2p_msg:readonly", "im:message:send_as_bot", "im:message.reactions:write_only", "im:resource", "im:message:readonly", "im:chat:readonly", "contact:contact.base:readonly", "contact:user.base:readonly", "im:message.group_msg.include_bot:read"]; ++var PRODUCTS = [ ++ { id: "calendar", label: "Calendar", scopes: ["calendar:calendar"] }, ++ { id: "docs", label: "Documents and wiki", scopes: ["docx:document", "drive:drive", "wiki:wiki"] }, ++ { id: "bitable", label: "Bitable", scopes: ["bitable:app"] }, ++ { id: "sheets", label: "Spreadsheets", scopes: ["sheets:spreadsheet"] }, ++ { id: "meeting", label: "Video meetings", scopes: ["vc:reserve"] }, ++ { id: "task", label: "Tasks", scopes: ["task:task:write"] } ++]; ++var STEPS = ["Create an app on Feishu Open Platform", "Enter credentials and test connection", "Subscribe to message events and card callbacks", "Publish an app version", "Choose the Bot represented by the robot", "Try it in Feishu"]; ++var setupSteps = (mode) => mode === "http" ? ["Prepare a public event address", ...STEPS] : [...STEPS]; ++var permissionJSON = (selected = []) => JSON.stringify({ scopes: { tenant: [.../* @__PURE__ */ new Set([...BASE_SCOPES, ...PRODUCTS.filter((p) => selected.includes(p.id)).flatMap((p) => p.scopes)])], user: [] } }, null, 2); ++function scopeGranted(scope, list = []) { ++ if (scope === "im:message:readonly") return ["im:message:readonly", "im:message", "im:message.history:readonly"].some((s) => list.includes(s)); ++ if (scope === "im:message.reactions:write_only") return list.includes(scope) || list.includes("im:message"); ++ return list.includes(scope); ++} ++function productAccess(product, list = []) { ++ if (product.scopes.every((s) => list.includes(s))) return "write"; ++ if (["meeting", "task"].includes(product.id)) return "disabled"; ++ return product.scopes.every((s) => list.includes(s) || list.includes(`${s}:readonly`)) ? "read" : "disabled"; ++} ++function validateCredentials({ appId, appSecret, verificationToken }, mode) { ++ if (!APP_ID.test(appId ?? "")) throw new Error("App ID must be cli_ followed by 16 hexadecimal characters"); ++ if (typeof appSecret !== "string" || !appSecret.trim()) throw new Error("Enter the App Secret"); ++ if (!["socket", "http"].includes(mode)) throw new Error("Choose a receiving method"); ++ if (mode === "http" && !verificationToken?.trim()) throw new Error("Enter the Verification Token"); ++} ++function publicAddress(value) { ++ try { ++ const u = new URL(value); ++ return u.protocol === "https:" && !u.username && !u.password && !u.hash && !u.search && !/^(localhost$|127\.|10\.|0\.|192\.168\.|172\.(1[6-9]|2\d|3[01])\.|\[|169\.254\.)/.test(u.hostname) && !u.hostname.endsWith(".local"); ++ } catch { ++ return false; ++ } ++} ++ ++// src/client/feishu-setup.js ++var import_react39 = require("react"); ++var button = (text2, onClick, disabled = false, variant = "") => (0, import_react39.createElement)("button", { type: "button", className: `bt-soft bt-soft-sm bt-feishu-button ${variant}`, onClick, disabled }, t(text2)); ++var hint = (key) => (0, import_react39.createElement)("p", { className: "bt-set-hint" }, t(key)); ++var field = (label, value, change, type = "text", disabled = false) => (0, import_react39.createElement)("label", { className: "bt-feishu-field" }, (0, import_react39.createElement)("span", {}, t(label)), (0, import_react39.createElement)("input", { className: "bt-input", type, value, disabled, autoComplete: type === "password" ? "new-password" : "off", "aria-label": t(label), onChange: (e) => change(e.target.value) })); ++function FeishuSetup({ actions, roster, onClose }) { ++ const [apps, setApps] = (0, import_react39.useState)([]), [members, setMembers] = (0, import_react39.useState)([]), [selected, setSelected] = (0, import_react39.useState)(""), [step, setStep] = (0, import_react39.useState)(0); ++ const [mode, setMode] = (0, import_react39.useState)("socket"), [appId, setAppId] = (0, import_react39.useState)(""), [secret, setSecret] = (0, import_react39.useState)(""), [token, setToken] = (0, import_react39.useState)(""), [url, setUrl] = (0, import_react39.useState)(""), [name, setName] = (0, import_react39.useState)("Feishu"); ++ const [botId, setBotId] = (0, import_react39.useState)(""), [openId, setOpenId] = (0, import_react39.useState)(""), [memberId, setMemberId] = (0, import_react39.useState)(""), [extensions, setExtensions] = (0, import_react39.useState)([]), [copied, setCopied] = (0, import_react39.useState)(false); ++ const [busy, setBusy] = (0, import_react39.useState)(false), [error, setError] = (0, import_react39.useState)(""), [result, setResult] = (0, import_react39.useState)(null), [webhook, setWebhook] = (0, import_react39.useState)(""); ++ const initial = (0, import_react39.useRef)(true); ++ const app = apps.find((a) => a.id === selected), steps = setupSteps(mode), offset = mode === "http" ? 1 : 0, n = step - offset; ++ const load = (0, import_react39.useCallback)(async () => { ++ const out = await actions.feishu({ operation: "list" }); ++ setApps(out.apps ?? []); ++ setMembers(out.members ?? []); ++ if (initial.current) { ++ initial.current = false; ++ const queryId = new URLSearchParams(window.location.search).get("feishu-app"); ++ const saved = out.apps?.find((a) => a.id === queryId) ?? out.apps?.[0]; ++ if (saved) { ++ setSelected(saved.id); ++ setAppId(saved.id); ++ setMode(saved.mode); ++ setStep(saved.step ?? 0); ++ setBotId(saved.botId ?? ""); ++ setUrl(saved.publicUrl ?? ""); ++ setName(saved.name ?? "Feishu"); ++ } ++ } ++ }, [actions]); ++ (0, import_react39.useEffect)(() => { ++ void load().catch((e) => setError(hostText(e.message))); ++ const timer = setInterval(() => { ++ void load().catch(() => { ++ }); ++ }, 3e3); ++ return () => clearInterval(timer); ++ }, [load]); ++ const run = async (fn) => { ++ setBusy(true); ++ setError(""); ++ try { ++ const value = await fn(); ++ await load(); ++ return value; ++ } catch (e) { ++ setError(hostText(e.message)); ++ return void 0; ++ } finally { ++ setBusy(false); ++ } ++ }; ++ const select = (id) => { ++ const saved = apps.find((a) => a.id === id); ++ setSelected(id); ++ setAppId(id); ++ setMode(saved?.mode ?? "socket"); ++ setStep(saved?.step ?? 0); ++ setBotId(saved?.botId ?? ""); ++ setUrl(saved?.publicUrl ?? ""); ++ setName(saved?.name ?? "Feishu"); ++ setSecret(""); ++ setToken(""); ++ setResult(null); ++ }; ++ const advance = async (target) => { ++ if (selected) await run(() => actions.feishu({ operation: "configure", appId: selected, step: target, ...botId ? { botId } : {} })); ++ setStep(target); ++ }; ++ const save = () => void run(async () => { ++ const out = await actions.feishu({ operation: "save", appId, appSecret: secret, verificationToken: token, mode, publicUrl: url, name, step: offset + 2 }); ++ setApps(out.apps); ++ setSelected(appId); ++ setSecret(""); ++ setToken(""); ++ setResult(out.test); ++ setStep(offset + (out.test?.credentialError ? 1 : 2)); ++ }); ++ const action = (payload) => void run(() => actions.feishu({ appId: selected, ...payload })); ++ const copyPermissions = async (event) => { ++ const section = event.currentTarget.closest(".bt-feishu-permissions"); ++ setError(""); ++ try { ++ if (!navigator.clipboard?.writeText) throw new Error("Clipboard unavailable"); ++ await navigator.clipboard.writeText(permissionJSON(extensions)); ++ setCopied(true); ++ } catch { ++ const preview = section.querySelector(".bt-feishu-json"), textarea = preview.querySelector("textarea"); ++ preview.open = true; ++ textarea.focus(); ++ textarea.select(); ++ setCopied(false); ++ setError(t("Clipboard is unavailable. Copy the selected JSON below.")); ++ } ++ }; ++ const permissionPicker = (0, import_react39.createElement)( ++ "section", ++ { className: "bt-feishu-permissions" }, ++ (0, import_react39.createElement)("div", { className: "bt-feishu-section-head" }, (0, import_react39.createElement)("strong", {}, t("Extended permissions (Feishu tools)")), (0, import_react39.createElement)("span", { className: "bt-feishu-optional" }, t("Optional tools"))), ++ hint("Select the tools you need. The permission JSON updates automatically."), ++ (0, import_react39.createElement)("div", { className: "bt-feishu-permission-grid" }, PRODUCTS.map((p) => (0, import_react39.createElement)( ++ "label", ++ { key: p.id, className: "bt-feishu-permission", "data-checked": extensions.includes(p.id) }, ++ (0, import_react39.createElement)("input", { type: "checkbox", checked: extensions.includes(p.id), onChange: (e) => { ++ setExtensions(e.target.checked ? [...extensions, p.id] : extensions.filter((x) => x !== p.id)); ++ setCopied(false); ++ } }), ++ (0, import_react39.createElement)("span", {}, t(p.label)) ++ ))), ++ (0, import_react39.createElement)( ++ "div", ++ { className: "bt-feishu-permission-copy" }, ++ button(copied ? "Copied" : "Copy permission JSON", copyPermissions), ++ (0, import_react39.createElement)("span", { className: "bt-set-hint" }, t("Base permissions are always included.")) ++ ), ++ (0, import_react39.createElement)("details", { className: "bt-feishu-json" }, (0, import_react39.createElement)("summary", {}, t("View permission JSON")), (0, import_react39.createElement)("textarea", { className: "bt-input", readOnly: true, rows: 8, value: permissionJSON(extensions), "aria-label": t("Copy permission JSON") })), ++ hint("Import this JSON in Permission management → Batch import/export. Set the contact data scope to people who will use the robot.") ++ ); ++ let content; ++ if (step === 0 && mode === "http") content = (0, import_react39.createElement)("div", {}, hint("Forward only the event port to a public HTTPS address. Do not expose the FlyBot console. Leave Encrypt Key empty."), field("Public HTTPS event origin", url, setUrl)); ++ else if (n === 0) content = (0, import_react39.createElement)( ++ "div", ++ {}, ++ hint("Create an internal app, add the Bot capability, and apply for the permissions below. Do not configure events yet."), ++ (0, import_react39.createElement)("a", { className: "bt-feishu-external", href: "https://open.feishu.cn/app", target: "_blank", rel: "noopener noreferrer" }, t("Open Feishu Open Platform"), (0, import_react39.createElement)("span", { "aria-hidden": true }, "↗")), ++ permissionPicker ++ ); ++ else if (n === 1) content = (0, import_react39.createElement)( ++ "div", ++ {}, ++ hint("Credentials are encrypted on the platform and cannot be viewed after saving. Bots never receive them."), ++ hint("Leave saved credentials blank to keep them. Switching receiving methods reuses the same Feishu application and conversations."), ++ app?.mode === "http" && mode === "socket" ? hint("Switching to a long connection deletes the saved Verification Token.") : null, ++ field("Connection name", name, setName), ++ field("App ID", appId, setAppId, "text", !!selected), ++ field("App Secret", secret, setSecret, "password"), ++ mode === "http" ? field("Verification Token", token, setToken, "password") : null, ++ appId && !APP_ID.test(appId) ? hint("App ID must be cli_ followed by 16 hexadecimal characters") : null, ++ button("Save and test connection", save, busy || !APP_ID.test(appId) || !selected && !secret.trim() || mode === "http" && (!publicAddress(url) || !token && app?.mode !== "http"), "bt-feishu-primary") ++ ); ++ else if (n === 2) content = (0, import_react39.createElement)( ++ "div", ++ {}, ++ mode === "socket" ? (0, import_react39.createElement)( ++ "div", ++ {}, ++ (0, import_react39.createElement)("strong", {}, t("Connection to Feishu")), ++ (0, import_react39.createElement)("p", { role: "status" }, t(app?.connection === "ready" ? "Connected" : app?.connection === "error" ? "Connection failed" : "Connecting…")), ++ hint("Refreshes every 3 seconds"), ++ app?.connection === "ready" ? hint("Now set Events and callbacks → Event configuration → Use long connection to receive events, then save.") : hint("Wait until connected: Feishu only allows saving the long connection subscription after FlyBot connects. Check credentials and network if it keeps waiting."), ++ hint("In Callback configuration, use the long connection and add Card action trigger (card.action.trigger).") ++ ) : (0, import_react39.createElement)("div", {}, hint("In both Event configuration and Callback configuration, select Send to developer server, use the same address below, and save."), (0, import_react39.createElement)("code", {}, `${url.replace(/\/$/, "")}/api/feishu/events/${selected}`), hint(app?.verifiedAt ? "Address verified" : "Waiting for address verification")), ++ hint("Add Receive message v2.0 (im.message.receive_v1)."), ++ hint("Without card.action.trigger, cards can display but buttons and forms do not respond. Neither test connection nor connected status checks callback subscriptions."), ++ hint("Connect each Feishu app to only one FlyBot instance; multiple instances split incoming messages."), ++ hint(app?.lastEventAt ? "Received an event" : "No event received yet") ++ ); ++ else if (n === 3) content = (0, import_react39.createElement)("div", {}, hint("Create and publish a version in Version management and release. Include the required members or departments. Wait for enterprise approval if required."), hint("Permissions, Bot capability, events and callbacks take effect after publishing. Publish again after any change."), button("Test connection", () => void run(async () => { ++ const out = await actions.feishu({ operation: "test", appId: selected }); ++ setResult(out); ++ }), busy)); ++ else if (n === 4) content = (0, import_react39.createElement)("div", {}, hint("One Feishu application represents one Bot. Group mentions and private messages go to the selected local Bot."), (0, import_react39.createElement)("select", { className: "bt-input", "aria-label": t("Choose a Bot"), value: botId, onChange: (e) => setBotId(e.target.value) }, (0, import_react39.createElement)("option", { value: "" }, t("Choose a Bot")), ownBots(roster).filter((b) => !b.projectAgent && !b.ephemeral).map((b) => (0, import_react39.createElement)("option", { key: b.id, value: b.id }, b.name)))); ++ else content = (0, import_react39.createElement)("div", {}, hint("Add the application under Group settings → Group robots. Mention it in the group, or send a private message."), hint("Ask the Bot to send a card with a submit button. Click it and confirm Submitted. Ordinary chat success does not verify card callbacks."), hint("Each group or private chat keeps one FlyBot conversation; thread replies return to the original thread."), (0, import_react39.createElement)("ul", {}, (app?.recent ?? []).map((e) => (0, import_react39.createElement)("li", { key: e.id }, `${e.text ?? ""} · ${e.status}`)))); ++ const identity = (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Identity linking")), hint("Link to an existing signed-in platform member. No external members or new login accounts are created. Unlinked card submissions and meeting bookings are refused."), field("Feishu open_id", openId, setOpenId), (0, import_react39.createElement)("select", { className: "bt-input", value: memberId, "aria-label": t("Platform member"), onChange: (e) => setMemberId(e.target.value) }, (0, import_react39.createElement)("option", { value: "" }, t("Platform member")), members.map((m) => (0, import_react39.createElement)("option", { key: m.id, value: m.id }, m.name))), button("Link identity", () => action({ operation: "identity", openId, ...memberId ? { memberId } : {} }), busy || !openId), (0, import_react39.createElement)("ul", {}, (app?.identities ?? []).map((i) => (0, import_react39.createElement)("li", { key: i.openId }, `${i.openId} → ${i.memberId}`)))); ++ return (0, import_react39.createElement)( ++ "section", ++ { className: "bt-feishu-setup", "aria-label": t("Connect Feishu") }, ++ (0, import_react39.createElement)( ++ "header", ++ { className: "bt-feishu-header" }, ++ (0, import_react39.createElement)("div", {}, (0, import_react39.createElement)("h3", {}, t("Connect Feishu")), hint("Only Feishu (open.feishu.cn) is supported; Lark is not supported.")), ++ apps.length ? (0, import_react39.createElement)("select", { className: "bt-input", value: selected, onChange: (e) => select(e.target.value), "aria-label": t("Connect Feishu") }, (0, import_react39.createElement)("option", { value: "" }, t("New connection")), apps.map((a) => (0, import_react39.createElement)("option", { key: a.id, value: a.id }, `${a.name} (${a.id})`))) : null ++ ), ++ app?.linkOnly ? (0, import_react39.createElement)("div", { className: "bt-feishu-body" }, identity, button("Later", onClose, false, "bt-feishu-quiet")) : (0, import_react39.createElement)( ++ "div", ++ { className: "bt-feishu-body" }, ++ (0, import_react39.createElement)("div", { className: "bt-feishu-modes", role: "group", "aria-label": t("How to connect") }, ["socket", "http"].map((m) => (0, import_react39.createElement)("button", { ++ key: m, ++ type: "button", ++ "aria-pressed": mode === m, ++ "aria-label": t(m === "socket" ? "Long connection (recommended, no public address)" : "Event address (HTTP, needs a public address)"), ++ onClick: () => { ++ setMode(m); ++ setStep(m === "http" ? 0 : selected ? 1 : 0); ++ } ++ }, (0, import_react39.createElement)("strong", {}, t(m === "socket" ? "Long connection" : "Event address")), (0, import_react39.createElement)("small", {}, t(m === "socket" ? "Recommended · no public address" : "Requires a public HTTPS address"))))), ++ (0, import_react39.createElement)( ++ "div", ++ { className: "bt-feishu-layout" }, ++ (0, import_react39.createElement)("nav", { className: "bt-feishu-progress", "aria-label": t("Connection steps") }, (0, import_react39.createElement)("ol", {}, steps.map((title, i) => (0, import_react39.createElement)("li", { key: title }, (0, import_react39.createElement)("button", { ++ type: "button", ++ "aria-label": t(title), ++ "aria-current": step === i ? "step" : void 0, ++ "data-done": i < step, ++ disabled: i > offset + 1 && !selected, ++ onClick: () => setStep(i) ++ }, (0, import_react39.createElement)("span", { className: "bt-feishu-step-number", "aria-hidden": true }, i < step ? "✓" : i + 1), (0, import_react39.createElement)("span", { className: "bt-feishu-step-label" }, t(title))))))), ++ (0, import_react39.createElement)( ++ "div", ++ { className: "bt-feishu-step" }, ++ (0, import_react39.createElement)("div", { className: "bt-feishu-step-heading" }, (0, import_react39.createElement)("span", { className: "bt-feishu-eyebrow" }, t("Step {current} of {total}", { current: step + 1, total: steps.length })), (0, import_react39.createElement)("h4", {}, t(steps[step]))), ++ (0, import_react39.createElement)("div", { className: "bt-feishu-step-content" }, content), ++ result ? (0, import_react39.createElement)("p", { className: "bt-feishu-result", role: "status", "data-success": result.ok }, result.ok ? `${t("Connected")} ${result.bot ?? ""}` : hostText(result.error)) : null, ++ (0, import_react39.createElement)( ++ "footer", ++ { className: "bt-feishu-footer" }, ++ button("Previous step", () => setStep(Math.max(0, step - 1)), step === 0 || busy), ++ (0, import_react39.createElement)("div", {}, button("Later", onClose, false, "bt-feishu-quiet"), step < steps.length - 1 ? button("Next", () => void advance(step + 1), busy || n === 3 && !result?.ok || n === 1 && (!selected || app?.mode !== mode) || n === 4 && !botId || mode === "http" && step === 0 && !publicAddress(url) || n > 1 && !selected, "bt-feishu-primary") : button("Finish", onClose, false, "bt-feishu-primary")) ++ ) ++ ) ++ ), ++ app ? (0, import_react39.createElement)( ++ "div", ++ { className: "bt-feishu-management" }, ++ (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Who may send messages")), hint("Allowed senders can send messages; this does not grant platform identity or approval authority."), (0, import_react39.createElement)("label", { className: "bt-feishu-check" }, (0, import_react39.createElement)("input", { type: "checkbox", checked: app.allowBots === true, onChange: (e) => action({ operation: "configure", allowBots: e.target.checked }) }), t("Also process other robots that mention this robot (up to 8 consecutive requests)")), field("Allow an open_id", openId, setOpenId), button("Allow", () => action({ operation: "allow", openId }), busy || !openId), (app.allowed ?? []).map((id) => (0, import_react39.createElement)("p", { key: id }, id, button("Block", () => action({ operation: "allow", openId: id, enabled: false }), busy)))), ++ identity, ++ (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Conversation handlers")), [...new Set((app.recent ?? []).map((e) => e.chatId).filter(Boolean))].map((chatId) => (0, import_react39.createElement)("label", { key: chatId, className: "bt-q-field" }, chatId, (0, import_react39.createElement)("select", { className: "bt-input", value: app.chatBots?.[chatId] ?? "", "aria-label": `${t("Conversation handler")} ${chatId}`, onChange: (e) => action({ operation: "configure", chatId, botId: e.target.value || null }) }, (0, import_react39.createElement)("option", { value: "" }, t("Follow the default Bot")), ownBots(roster).filter((b) => !b.projectAgent && !b.ephemeral).map((b) => (0, import_react39.createElement)("option", { key: b.id, value: b.id }, b.name)))))), ++ (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Permissions of the Feishu application")), permissionPicker, button("Check permissions again", () => action({ operation: "scopes" }), busy), (0, import_react39.createElement)("ul", {}, BASE_SCOPES.filter((s) => !scopeGranted(s, app.scopes)).map((s) => (0, import_react39.createElement)("li", { key: s }, s)))), ++ (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Feishu tools")), ownBots(roster).filter((b) => !b.projectAgent && !b.ephemeral).map((b) => (0, import_react39.createElement)("fieldset", { key: b.id }, (0, import_react39.createElement)("legend", {}, b.name), PRODUCTS.map((p) => (0, import_react39.createElement)( ++ "label", ++ { key: p.id, className: "bt-q-field" }, ++ t(p.label), ++ productAccess(p, app.scopes) !== "write" ? (0, import_react39.createElement)("small", {}, t(productAccess(p, app.scopes) === "read" ? "App has read-only permission" : "App permission not granted")) : null, ++ (0, import_react39.createElement)("select", { className: "bt-input", "aria-label": `${b.name} ${t(p.label)}`, value: app.grants?.[b.id]?.[p.id] ?? "disabled", onChange: (e) => action({ operation: "grant", botId: b.id, product: p.id, mode: e.target.value }) }, [["disabled", "Disabled"], ["read", "Read only"], ["ask", "Read/write, ask before writes"], ["write", "Read/write"]].map(([v, label]) => (0, import_react39.createElement)("option", { key: v, value: v }, t(label)))) ++ ))))), ++ (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Diagnostics")), (0, import_react39.createElement)("ul", {}, (app.diagnostics ?? []).map((d, i) => (0, import_react39.createElement)("li", { key: i }, `${d.kind}: ${hostText(d.message)} ${d.code ?? ""} ${d.detail ?? ""}`)))), ++ (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Delivery records")), (app.outbox ?? []).map((o) => (0, import_react39.createElement)("p", { key: o.id }, `${o.id}: ${o.status}`, o.status === "failed" ? button("Try again", () => action({ operation: "retry", outboxId: o.id })) : null))), ++ (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Files")), (app.files ?? []).map((file) => button(file.name, () => void run(async () => { ++ const value = await actions.feishu({ operation: "attachment", appId: app.id, attachmentId: file.id }); ++ const bytes = Uint8Array.from(atob(value.content_base64), (c) => c.charCodeAt(0)); ++ const href = URL.createObjectURL(new Blob([bytes])); ++ const a = Object.assign(document.createElement("a"), { href, download: value.name ?? file.name }); ++ a.click(); ++ setTimeout(() => URL.revokeObjectURL(href), 1e4); ++ })))), ++ (0, import_react39.createElement)("details", {}, (0, import_react39.createElement)("summary", {}, t("Cards")), (app.cards ?? []).map((c) => (0, import_react39.createElement)(CardPanel, { key: c.id, card: c, action }))), ++ button("Delete connection", () => void run(async () => { ++ await actions.feishu({ operation: "delete", appId: selected }); ++ select(""); ++ }), busy) ++ ) : null ++ ), ++ !app ? (0, import_react39.createElement)("details", { className: "bt-feishu-webhook" }, (0, import_react39.createElement)("summary", {}, t("Custom bot webhook")), field("Webhook URL", webhook, setWebhook, "password"), button("Connect", () => void run(() => actions.connectorConnect("feishu", { mode: "webhook", credentials: { webhook } })), busy || !webhook)) : null, ++ error ? (0, import_react39.createElement)("p", { className: "bt-feishu-error", role: "alert" }, error) : null ++ ); ++} ++function CardPanel({ card, action }) { ++ const [fields, setFields] = (0, import_react39.useState)({}); ++ return (0, import_react39.createElement)( ++ "article", ++ {}, ++ (0, import_react39.createElement)("strong", {}, card.card.title ?? "FlyBot"), ++ (card.card.blocks ?? []).map((b, i) => b.type === "input" ? field(b.label ?? b.name, fields[b.name] ?? "", (value) => setFields({ ...fields, [b.name]: value })) : (0, import_react39.createElement)("pre", { key: i }, b.text ?? JSON.stringify(b))), ++ (card.card.actions ?? []).map((a) => button(a.label ?? a.id, () => action({ operation: "card-action", cardId: card.id, action: a.id, fields }), card.closed)) ++ ); ++} ++ // src/client/connectors.js -var import_react25 = require("react"); -+var import_react39 = require("react"); ++var import_react40 = require("react"); var TOKEN_URL = "https://github.com/settings/personal-access-tokens/new"; -var GitHubMark = () => (0, import_react25.createElement)( +var COMPOSIO_KEY_URL = "https://platform.composio.dev/"; @@ -20604,20 +21355,20 @@ diff --git a/client.js b/client.js + ["youtube", "YouTube"] +]; +var appName = (slug) => APPS.find(([id]) => id === slug)?.[1] ?? slug; -+var GitHubMark = () => (0, import_react39.createElement)( ++var GitHubMark = () => (0, import_react40.createElement)( "svg", { width: 20, height: 20, viewBox: "0 0 16 16", fill: "currentColor", "aria-hidden": true }, - (0, import_react25.createElement)("path", { d: "M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" }) -+ (0, import_react39.createElement)("path", { d: "M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" }) ++ (0, import_react40.createElement)("path", { d: "M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" }) ); -var MARKS = { github: GitHubMark }; -var ABOUT = { github: () => t("Repositories, issues, and pull requests") }; -+var FeishuMark = () => (0, import_react39.createElement)( ++var FeishuMark = () => (0, import_react40.createElement)( + "svg", + { width: 20, height: 20, viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": true }, -+ (0, import_react39.createElement)("path", { d: "M3.2 6.6c3 .1 6.4 1.5 8.6 3.9-1.9.4-3.5 1.4-4.7 2.9-1.9-.6-3.4-1.9-3.9-3.6-.2-.7-.2-1.5 0-3.2z" }), -+ (0, import_react39.createElement)("path", { d: "M16.8 5.4c-2.9.2-5.6 1.5-7.4 3.4 1.7 1.2 3.1 2.8 3.9 4.9 2.2-1.1 3.8-3.2 4-5.6.1-.9-.1-1.9-.4-2.7z" }), -+ (0, import_react39.createElement)("path", { d: "M8.6 12.1c.9.7 1.7 1.6 2.2 2.7-1.1.2-2.3 0-3.3-.6.2-.8.6-1.5 1.1-2.1z" }) ++ (0, import_react40.createElement)("path", { d: "M3.2 6.6c3 .1 6.4 1.5 8.6 3.9-1.9.4-3.5 1.4-4.7 2.9-1.9-.6-3.4-1.9-3.9-3.6-.2-.7-.2-1.5 0-3.2z" }), ++ (0, import_react40.createElement)("path", { d: "M16.8 5.4c-2.9.2-5.6 1.5-7.4 3.4 1.7 1.2 3.1 2.8 3.9 4.9 2.2-1.1 3.8-3.2 4-5.6.1-.9-.1-1.9-.4-2.7z" }), ++ (0, import_react40.createElement)("path", { d: "M8.6 12.1c.9.7 1.7 1.6 2.2 2.7-1.1.2-2.3 0-3.3-.6.2-.8.6-1.5 1.1-2.1z" }) +); +var MARKS = { github: GitHubMark, composio: ConnectorIcon, feishu: FeishuMark }; +var ABOUT = { @@ -20642,11 +21393,11 @@ diff --git a/client.js b/client.js - const [error, setError] = (0, import_react25.useState)(null); +function CredentialField({ credential, value, onChange, onEnter, autoFocus }) { + const label = t(credential.label); -+ if (credential.masked) return (0, import_react39.createElement)(MaskedInput, { value, onChange, onEnter, label, autoFocus }); -+ return (0, import_react39.createElement)( ++ if (credential.masked) return (0, import_react40.createElement)(MaskedInput, { value, onChange, onEnter, label, autoFocus }); ++ return (0, import_react40.createElement)( + "label", + { className: "bt-q-field" }, -+ (0, import_react39.createElement)("input", { ++ (0, import_react40.createElement)("input", { + className: "bt-input", + type: "text", + value, @@ -20662,31 +21413,31 @@ diff --git a/client.js b/client.js + ); +} +function AllowedSenders({ connector, actions, run, busy }) { -+ const [openId, setOpenId] = (0, import_react39.useState)(""); ++ const [openId, setOpenId] = (0, import_react40.useState)(""); + const allowed = connector.allowed ?? []; + const refused = connector.inbound?.refusedSenders ?? []; + const allow = (id) => void run(actions.connectorAllow(connector.id, id)); -+ return (0, import_react39.createElement)( ++ return (0, import_react40.createElement)( + "div", + { className: "bt-connector-allowed" }, -+ (0, import_react39.createElement)("span", { className: "bt-connector-person-title" }, t("Who may talk to the Bots")), -+ allowed.length === 0 && refused.length === 0 ? (0, import_react39.createElement)("span", { className: "bt-set-hint" }, t("Nobody yet. A message from anyone else starts no turn.")) : null, -+ allowed.map((entry) => (0, import_react39.createElement)( ++ (0, import_react40.createElement)("span", { className: "bt-connector-person-title" }, t("Who may talk to the Bots")), ++ allowed.length === 0 && refused.length === 0 ? (0, import_react40.createElement)("span", { className: "bt-set-hint" }, t("Nobody yet. A message from anyone else starts no turn.")) : null, ++ allowed.map((entry) => (0, import_react40.createElement)( + "div", + { key: entry.openId, className: "bt-connector-person" }, -+ (0, import_react39.createElement)("span", { className: "bt-connector-person-name" }, entry.name ?? entry.openId), -+ (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => void run(actions.connectorBlock(connector.id, entry.openId)) }, t("Block")) ++ (0, import_react40.createElement)("span", { className: "bt-connector-person-name" }, entry.name ?? entry.openId), ++ (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => void run(actions.connectorBlock(connector.id, entry.openId)) }, t("Block")) + )), -+ refused.map((entry) => (0, import_react39.createElement)( ++ refused.map((entry) => (0, import_react40.createElement)( + "div", + { key: entry.openId, className: "bt-connector-person" }, -+ (0, import_react39.createElement)("span", { className: "bt-connector-person-name" }, entry.name ?? entry.openId), -+ (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => allow(entry.openId) }, t("Allow")) ++ (0, import_react40.createElement)("span", { className: "bt-connector-person-name" }, entry.name ?? entry.openId), ++ (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => allow(entry.openId) }, t("Allow")) + )), -+ (0, import_react39.createElement)( ++ (0, import_react40.createElement)( + "div", + { className: "bt-connector-form-row" }, -+ (0, import_react39.createElement)("input", { ++ (0, import_react40.createElement)("input", { + className: "bt-input", + type: "text", + value: openId, @@ -20701,7 +21452,7 @@ diff --git a/client.js b/client.js + } + } + }), -+ (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || openId.trim() === "", onClick: () => { ++ (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || openId.trim() === "", onClick: () => { + allow(openId.trim()); + setOpenId(""); + } }, t("Allow")) @@ -20711,20 +21462,20 @@ diff --git a/client.js b/client.js +var APP_STATUS = { ready: () => t("Ready"), "sign-in": () => t("Needs sign-in") }; +function AppChip({ name, status, onRemove }) { + const label = APP_STATUS[status]?.(); -+ return (0, import_react39.createElement)( ++ return (0, import_react40.createElement)( + "button", + { type: "button", className: "bt-state bt-app-chip", "aria-pressed": true, "data-status": status ?? "unknown", title: t("Remove {app}", { app: name }), onClick: onRemove }, + name, -+ label ? (0, import_react39.createElement)("span", { className: "bt-app-status" }, ` · ${label}`) : null ++ label ? (0, import_react40.createElement)("span", { className: "bt-app-status" }, ` · ${label}`) : null + ); +} +function AppPicker({ apps, onChange, search, statuses = {} }) { -+ const [query, setQuery] = (0, import_react39.useState)(""); -+ const [found, setFound] = (0, import_react39.useState)(null); -+ const [failed, setFailed] = (0, import_react39.useState)(null); -+ const names = (0, import_react39.useRef)(new Map(APPS)); -+ const asked = (0, import_react39.useRef)(0); -+ (0, import_react39.useEffect)(() => { ++ const [query, setQuery] = (0, import_react40.useState)(""); ++ const [found, setFound] = (0, import_react40.useState)(null); ++ const [failed, setFailed] = (0, import_react40.useState)(null); ++ const names = (0, import_react40.useRef)(new Map(APPS)); ++ const asked = (0, import_react40.useRef)(0); ++ (0, import_react40.useEffect)(() => { + const text2 = query.trim(); + if (text2 === "" || search === void 0) { + setFound(null); @@ -20751,13 +21502,13 @@ diff --git a/client.js b/client.js + const needle = query.trim().toLowerCase(); + const local = APPS.filter(([slug, name]) => needle === "" || slug.includes(needle) || name.toLowerCase().includes(needle)).map(([slug, name]) => ({ slug, name })); + const results = (found ?? local).filter((app) => !picked.has(app.slug)); -+ return (0, import_react39.createElement)( ++ return (0, import_react40.createElement)( + "div", + { className: "bt-connector-apps" }, -+ apps.length > 0 ? (0, import_react39.createElement)("div", { className: "bt-states", "aria-label": t("Picked apps") }, apps.map((slug) => (0, import_react39.createElement)(AppChip, { key: slug, name: nameOf(slug), status: statuses[slug], onRemove: () => onChange(apps.filter((app) => app !== slug)) }))) : null, -+ (0, import_react39.createElement)("input", { className: "bt-input", type: "search", value: query, spellCheck: false, "aria-label": t("Search apps"), placeholder: t("Search Composio apps"), onChange: (event) => setQuery(event.target.value) }), -+ failed ? (0, import_react39.createElement)("span", { className: "bt-set-hint" }, t("Could not search Composio: {error}", { error: failed })) : null, -+ (0, import_react39.createElement)("div", { className: "bt-states", "aria-label": t("Apps to add") }, results.length === 0 ? (0, import_react39.createElement)("span", { className: "bt-set-hint" }, t("No apps match")) : results.map((app) => (0, import_react39.createElement)("button", { key: app.slug, type: "button", className: "bt-state", "aria-pressed": false, onClick: () => { ++ apps.length > 0 ? (0, import_react40.createElement)("div", { className: "bt-states", "aria-label": t("Picked apps") }, apps.map((slug) => (0, import_react40.createElement)(AppChip, { key: slug, name: nameOf(slug), status: statuses[slug], onRemove: () => onChange(apps.filter((app) => app !== slug)) }))) : null, ++ (0, import_react40.createElement)("input", { className: "bt-input", type: "search", value: query, spellCheck: false, "aria-label": t("Search apps"), placeholder: t("Search Composio apps"), onChange: (event) => setQuery(event.target.value) }), ++ failed ? (0, import_react40.createElement)("span", { className: "bt-set-hint" }, t("Could not search Composio: {error}", { error: failed })) : null, ++ (0, import_react40.createElement)("div", { className: "bt-states", "aria-label": t("Apps to add") }, results.length === 0 ? (0, import_react40.createElement)("span", { className: "bt-set-hint" }, t("No apps match")) : results.map((app) => (0, import_react40.createElement)("button", { key: app.slug, type: "button", className: "bt-state", "aria-pressed": false, onClick: () => { + names.current.set(app.slug, app.name); + onChange([...apps, app.slug]); + } }, app.name))) @@ -20765,42 +21516,43 @@ diff --git a/client.js b/client.js +} +function AppStatusList({ apps, statuses }) { + if (apps.length === 0 || Object.keys(statuses).length === 0) return null; -+ return (0, import_react39.createElement)("ul", { className: "bt-connector-app-list", "aria-label": t("App status") }, apps.map((slug) => (0, import_react39.createElement)( ++ return (0, import_react40.createElement)("ul", { className: "bt-connector-app-list", "aria-label": t("App status") }, apps.map((slug) => (0, import_react40.createElement)( + "li", + { key: slug, className: "bt-connector-app", "data-status": statuses[slug] ?? "unknown" }, -+ (0, import_react39.createElement)("span", { className: "bt-connector-app-name" }, appName(slug)), -+ (0, import_react39.createElement)("span", { className: "bt-app-status" }, APP_STATUS[statuses[slug]]?.() ?? "") ++ (0, import_react40.createElement)("span", { className: "bt-connector-app-name" }, appName(slug)), ++ (0, import_react40.createElement)("span", { className: "bt-app-status" }, APP_STATUS[statuses[slug]]?.() ?? "") + ))); +} +function ConnectorRow({ connector, roster, actions }) { -+ const [form, setForm] = (0, import_react39.useState)(false); -+ const [bots, setBots] = (0, import_react39.useState)(false); -+ const [token, setToken] = (0, import_react39.useState)(""); -+ const [apps, setApps] = (0, import_react39.useState)(() => connector.apps ?? []); -+ const [picking, setPicking] = (0, import_react39.useState)(false); -+ const [busy, setBusy] = (0, import_react39.useState)(false); -+ const [error, setError] = (0, import_react39.useState)(null); -+ const [message, setMessage] = (0, import_react39.useState)(""); ++ const [form, setForm] = (0, import_react40.useState)(() => !!(connector.id === "feishu" && actions.feishu && typeof window !== "undefined" && window.location && new URLSearchParams(window.location.search).has("feishu-app"))); ++ const [bots, setBots] = (0, import_react40.useState)(false); ++ const [token, setToken] = (0, import_react40.useState)(""); ++ const [apps, setApps] = (0, import_react40.useState)(() => connector.apps ?? []); ++ const [picking, setPicking] = (0, import_react40.useState)(false); ++ const [busy, setBusy] = (0, import_react40.useState)(false); ++ const [error, setError] = (0, import_react40.useState)(null); ++ const [message, setMessage] = (0, import_react40.useState)(""); const run = (task, after) => { setBusy(true); setError(null); -@@ -10184,83 +10184,195 @@ function ConnectorRow({ connector, actions }) { +@@ -10184,83 +10184,198 @@ function ConnectorRow({ connector, actions }) { after?.(); }, (failure) => setError(failure?.message ?? String(failure))).finally(() => setBusy(false)); }; + const gateway = connector.id === "composio"; + const sender = connector.kind === "sender"; + const channel = connector.kind === "channel"; ++ const guided = channel && actions.feishu; + const modes = connector.modes ?? []; -+ const [mode, setMode] = (0, import_react39.useState)(() => connector.mode ?? modes[0]?.id); -+ const [values, setValues] = (0, import_react39.useState)({}); ++ const [mode, setMode] = (0, import_react40.useState)(() => connector.mode ?? modes[0]?.id); ++ const [values, setValues] = (0, import_react40.useState)({}); + const chosen = modes.find((entry) => entry.id === mode) ?? modes[0]; -+ const field = (name) => values[name] ?? ""; ++ const field2 = (name) => values[name] ?? ""; + const setField = (name, value) => setValues((current) => ({ ...current, [name]: value })); -+ const filled = chosen !== void 0 && chosen.credentials.every((credential) => field(credential.name).trim() !== ""); -+ const [statuses, setStatuses] = (0, import_react39.useState)({}); ++ const filled = chosen !== void 0 && chosen.credentials.every((credential) => field2(credential.name).trim() !== ""); ++ const [statuses, setStatuses] = (0, import_react40.useState)({}); + const appsKey = (connector.apps ?? []).join(","); -+ (0, import_react39.useEffect)(() => { ++ (0, import_react40.useEffect)(() => { + if (!gateway || connector.state !== "ready" || appsKey === "" || actions.connectorAppStatus === void 0) { + setStatuses({}); + return void 0; @@ -20815,14 +21567,14 @@ diff --git a/client.js b/client.js + live = false; + }; + }, [gateway, connector.state, appsKey, picking]); -+ const search = (0, import_react39.useCallback)((query) => actions.connectorAppSearch(connector.id, query, connector.state === "off" ? token : void 0), [connector.id, connector.state, token]); ++ const search = (0, import_react40.useCallback)((query) => actions.connectorAppSearch(connector.id, query, connector.state === "off" ? token : void 0), [connector.id, connector.state, token]); const connect = () => { - if (busy || token.trim() === "") return; - void run(actions.connectorConnect(connector.id, token), () => { + if (busy) return; + if (channel) { + if (chosen === void 0 || !filled) return; -+ const credentials = Object.fromEntries(chosen.credentials.map((credential) => [credential.name, field(credential.name)])); ++ const credentials = Object.fromEntries(chosen.credentials.map((credential) => [credential.name, field2(credential.name)])); + void run(actions.connectorConnect(connector.id, { mode: chosen.id, credentials }), () => { + setValues({}); + setForm(false); @@ -20854,63 +21606,65 @@ diff --git a/client.js b/client.js - const row = (0, import_react25.useRef)(null); - useMorph(row, `${form}:${error !== null}:${connector.state}`); - return (0, import_react25.createElement)( -+ const row = (0, import_react39.useRef)(null); ++ const row = (0, import_react40.useRef)(null); + useMorph(row, `${form}:${picking}:${bots}:${error !== null}:${connector.state}:${mode}`); -+ return (0, import_react39.createElement)( ++ return (0, import_react40.createElement)( "div", { ref: row, className: "bt-connector", "data-state": connector.state }, - (0, import_react25.createElement)( -+ (0, import_react39.createElement)( ++ (0, import_react40.createElement)( "div", { className: "bt-connector-head" }, - (0, import_react25.createElement)("span", { className: "bt-connector-mark" }, Mark ? (0, import_react25.createElement)(Mark) : null), - (0, import_react25.createElement)( -+ (0, import_react39.createElement)("span", { className: "bt-connector-mark" }, Mark ? (0, import_react39.createElement)(Mark) : null), -+ (0, import_react39.createElement)( ++ (0, import_react40.createElement)("span", { className: "bt-connector-mark" }, Mark ? (0, import_react40.createElement)(Mark) : null), ++ (0, import_react40.createElement)( "span", { className: "bt-connector-text" }, - (0, import_react25.createElement)("span", { className: "bt-connector-name" }, connector.name), - (0, import_react25.createElement)("span", { className: "bt-connector-status" }, statusText2(connector)) -+ (0, import_react39.createElement)("span", { className: "bt-connector-name" }, connector.name), -+ (0, import_react39.createElement)("span", { className: "bt-connector-status" }, statusText2(connector)) ++ (0, import_react40.createElement)("span", { className: "bt-connector-name" }, connector.name), ++ (0, import_react40.createElement)("span", { className: "bt-connector-status" }, statusText2(connector)) ), - (0, import_react25.createElement)( -+ (0, import_react39.createElement)( ++ (0, import_react40.createElement)( "span", { className: "bt-connector-actions" }, - connector.state === "error" ? (0, import_react25.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => void run(actions.connectorRetry(connector.id)) }, t("Try again")) : null, - on ? (0, import_react25.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => void run(actions.connectorDisconnect(connector.id)) }, t("Disconnect")) : form ? null : (0, import_react25.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => setForm(true) }, t("Connect")) -+ connector.state === "error" ? (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => void run(actions.connectorRetry(connector.id)) }, t("Try again")) : null, -+ on && gateway && !picking ? (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => { ++ connector.state === "error" ? (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => void run(actions.connectorRetry(connector.id)) }, t("Try again")) : null, ++ on && gateway && !picking ? (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => { + setApps(connector.apps ?? []); + setPicking(true); + } }, t("Choose apps")) : null, -+ on && perBot ? (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", "aria-expanded": bots, onClick: () => setBots((value) => !value) }, bots ? t("Done") : t("Choose Bots")) : null, -+ on ? (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => void run(actions.connectorDisconnect(connector.id)) }, t("Disconnect")) : form ? null : (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => setForm(true) }, t("Connect")) ++ on && perBot ? (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", "aria-expanded": bots, onClick: () => setBots((value) => !value) }, bots ? t("Done") : t("Choose Bots")) : null, ++ guided ? (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", "aria-expanded": form, onClick: () => setForm((value) => !value) }, t("Connect")) : null, ++ on ? (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => void run(actions.connectorDisconnect(connector.id)) }, t("Disconnect")) : form || guided ? null : (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => setForm(true) }, t("Connect")) ) ), - !on && form ? (0, import_react25.createElement)( -+ on && gateway && !picking ? (0, import_react39.createElement)(AppStatusList, { apps: connector.apps ?? [], statuses }) : null, -+ on && perBot ? (0, import_react39.createElement)("span", { className: "bt-connector-uses" }, usageText(roster, connector.id)) : null, -+ on && bots ? (0, import_react39.createElement)(ConnectorBots, { connector, roster, actions, run, SwitchRow }) : null, -+ on && channel && connector.mode === "app" ? (0, import_react39.createElement)(AllowedSenders, { connector, actions, run, busy }) : null, -+ on && canPost ? (0, import_react39.createElement)( ++ on && gateway && !picking ? (0, import_react40.createElement)(AppStatusList, { apps: connector.apps ?? [], statuses }) : null, ++ on && perBot ? (0, import_react40.createElement)("span", { className: "bt-connector-uses" }, usageText(roster, connector.id)) : null, ++ on && bots ? (0, import_react40.createElement)(ConnectorBots, { connector, roster, actions, run, SwitchRow }) : null, ++ on && channel && !connector.managed && connector.mode === "app" ? (0, import_react40.createElement)(AllowedSenders, { connector, actions, run, busy }) : null, ++ on && canPost ? (0, import_react40.createElement)( "div", { className: "bt-connector-form" }, - (0, import_react25.createElement)("label", { className: "bt-q-field bt-secret-field" }, (0, import_react25.createElement)(MaskedInput, { value: token, onChange: setToken, onEnter: connect, label: t("GitHub token"), autoFocus: true })), - (0, import_react25.createElement)( -+ (0, import_react39.createElement)("label", { className: "bt-q-field" }, (0, import_react39.createElement)("input", { className: "bt-input", type: "text", value: message, "aria-label": t("Message to send to Feishu"), placeholder: t("Type a message for the Feishu group"), onChange: (event) => setMessage(event.target.value) })), -+ (0, import_react39.createElement)( ++ (0, import_react40.createElement)("label", { className: "bt-q-field" }, (0, import_react40.createElement)("input", { className: "bt-input", type: "text", value: message, "aria-label": t("Message to send to Feishu"), placeholder: t("Type a message for the Feishu group"), onChange: (event) => setMessage(event.target.value) })), ++ (0, import_react40.createElement)( + "div", + { className: "bt-connector-form-row" }, -+ (0, import_react39.createElement)("span", { className: "bt-connector-link" }), -+ (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || message.trim() === "" || actions.connectorSend === void 0, onClick: () => void run(actions.connectorSend(connector.id, message), () => setMessage("")) }, t("Send")) ++ (0, import_react40.createElement)("span", { className: "bt-connector-link" }), ++ (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || message.trim() === "" || actions.connectorSend === void 0, onClick: () => void run(actions.connectorSend(connector.id, message), () => setMessage("")) }, t("Send")) + ) + ) : null, -+ !on && form ? (0, import_react39.createElement)( ++ channel && form && actions.feishu ? (0, import_react40.createElement)(FeishuSetup, { actions, roster, onClose: () => setForm(false) }) : null, ++ !on && form && (!channel || !actions.feishu) ? (0, import_react40.createElement)( + "div", + { className: "bt-connector-form" }, -+ channel ? (0, import_react39.createElement)("div", { className: "bt-states", role: "group", "aria-label": t("How to connect") }, modes.map((entry) => (0, import_react39.createElement)("button", { ++ channel ? (0, import_react40.createElement)("div", { className: "bt-states", role: "group", "aria-label": t("How to connect") }, modes.map((entry) => (0, import_react40.createElement)("button", { + key: entry.id, + type: "button", + className: "bt-state", @@ -20921,77 +21675,77 @@ diff --git a/client.js b/client.js + setError(null); + } + }, t(entry.label)))) : null, -+ channel ? (chosen?.credentials ?? []).map((credential, index) => (0, import_react39.createElement)(CredentialField, { ++ channel ? (chosen?.credentials ?? []).map((credential, index) => (0, import_react40.createElement)(CredentialField, { + key: credential.name, + credential, -+ value: field(credential.name), ++ value: field2(credential.name), + onChange: (value) => setField(credential.name, value), + onEnter: connect, + autoFocus: index === 0 -+ })) : (0, import_react39.createElement)("label", { className: "bt-q-field bt-secret-field" }, (0, import_react39.createElement)(MaskedInput, { value: token, onChange: setToken, onEnter: connect, label: gateway ? t("Composio API key") : t("GitHub token"), autoFocus: true })), -+ gateway ? (0, import_react39.createElement)(AppPicker, { apps, onChange: setApps, search: token.trim() === "" ? void 0 : search }) : null, -+ (0, import_react39.createElement)( ++ })) : (0, import_react40.createElement)("label", { className: "bt-q-field bt-secret-field" }, (0, import_react40.createElement)(MaskedInput, { value: token, onChange: setToken, onEnter: connect, label: gateway ? t("Composio API key") : t("GitHub token"), autoFocus: true })), ++ gateway ? (0, import_react40.createElement)(AppPicker, { apps, onChange: setApps, search: token.trim() === "" ? void 0 : search }) : null, ++ (0, import_react40.createElement)( "div", { className: "bt-connector-form-row" }, - (0, import_react25.createElement)("a", { className: "bt-connector-link", href: TOKEN_URL, target: "_blank", rel: "noopener noreferrer" }, t("Create a token on GitHub")), - (0, import_react25.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => { -+ (0, import_react39.createElement)( ++ (0, import_react40.createElement)( + "a", + { className: "bt-connector-link", href: channel ? chosen?.link ?? FEISHU_WEBHOOK_URL : gateway ? COMPOSIO_KEY_URL : TOKEN_URL, target: "_blank", rel: "noopener noreferrer" }, + channel ? t(chosen?.linkLabel ?? "Get a webhook URL in Feishu") : gateway ? t("Get a Composio API key") : t("Create a token on GitHub") + ), -+ (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => { ++ (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => { setForm(false); setToken(""); + setValues({}); + setError(null); + } }, t("Cancel")), -+ (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || (channel ? !filled : token.trim() === ""), onClick: connect }, busy ? t("Connecting…") : t("Connect")) ++ (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || (channel ? !filled : token.trim() === ""), onClick: connect }, busy ? t("Connecting…") : t("Connect")) + ) + ) : null, -+ on && gateway && picking ? (0, import_react39.createElement)( ++ on && gateway && picking ? (0, import_react40.createElement)( + "div", + { className: "bt-connector-form" }, -+ (0, import_react39.createElement)(AppPicker, { apps, onChange: setApps, search, statuses }), -+ (0, import_react39.createElement)("span", { className: "bt-set-hint" }, t("The first time a Bot uses an app, it shows a sign-in link in the chat.")), -+ (0, import_react39.createElement)( ++ (0, import_react40.createElement)(AppPicker, { apps, onChange: setApps, search, statuses }), ++ (0, import_react40.createElement)("span", { className: "bt-set-hint" }, t("The first time a Bot uses an app, it shows a sign-in link in the chat.")), ++ (0, import_react40.createElement)( + "div", + { className: "bt-connector-form-row" }, -+ (0, import_react39.createElement)("span", { className: "bt-connector-link" }), -+ (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => { ++ (0, import_react40.createElement)("span", { className: "bt-connector-link" }), ++ (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy, onClick: () => { + setPicking(false); setError(null); } }, t("Cancel")), - (0, import_react25.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || token.trim() === "", onClick: connect }, busy ? t("Connecting…") : t("Connect")) -+ (0, import_react39.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || apps.length === 0, onClick: saveApps }, busy ? t("Connecting…") : t("Save")) ++ (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: busy || apps.length === 0, onClick: saveApps }, busy ? t("Connecting…") : t("Save")) ) ) : null, - error ? (0, import_react25.createElement)("div", { className: "bt-connector-error", role: "alert" }, error) : null -+ error ? (0, import_react39.createElement)("div", { className: "bt-connector-error", role: "alert" }, error) : null ++ error ? (0, import_react40.createElement)("div", { className: "bt-connector-error", role: "alert" }, error) : null ); } function ConnectorsPage({ roster, actions }) { const list = roster?.connectors ?? []; - return (0, import_react25.createElement)( -+ return (0, import_react39.createElement)( ++ return (0, import_react40.createElement)( "section", { className: "bt-set-section" }, - (0, import_react25.createElement)("div", { className: "bt-set-card bt-connectors-card" }, list.length === 0 ? (0, import_react25.createElement)("div", { className: "bt-set-row" }, (0, import_react25.createElement)("span", { className: "bt-set-hint" }, t("No connectors"))) : list.map((connector) => (0, import_react25.createElement)(ConnectorRow, { key: connector.id, connector, actions }))) -+ (0, import_react39.createElement)("div", { className: "bt-set-card bt-connectors-card" }, list.length === 0 ? (0, import_react39.createElement)("div", { className: "bt-set-row" }, (0, import_react39.createElement)("span", { className: "bt-set-hint" }, t("No connectors"))) : list.map((connector) => (0, import_react39.createElement)(ConnectorRow, { key: connector.id, connector, roster, actions }))) ++ (0, import_react40.createElement)("div", { className: "bt-set-card bt-connectors-card" }, list.length === 0 ? (0, import_react40.createElement)("div", { className: "bt-set-row" }, (0, import_react40.createElement)("span", { className: "bt-set-hint" }, t("No connectors"))) : list.map((connector) => (0, import_react40.createElement)(ConnectorRow, { key: connector.id, connector, roster, actions }))) ); } // src/client/feedback.js -var import_react26 = require("react"); -var FeedbackIcon = () => (0, import_react26.createElement)( -+var import_react40 = require("react"); -+var FeedbackIcon = () => (0, import_react40.createElement)( ++var import_react41 = require("react"); ++var FeedbackIcon = () => (0, import_react41.createElement)( "svg", { width: 15, height: 15, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true }, - (0, import_react26.createElement)("path", { d: "M4 4.5h12a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H9l-3.5 3v-3H4a1 1 0 0 1-1-1v-7a1 1 0 0 1 1-1z" }), - (0, import_react26.createElement)("path", { d: "M10 7v2.6M10 11.4h.01" }) -+ (0, import_react40.createElement)("path", { d: "M4 4.5h12a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H9l-3.5 3v-3H4a1 1 0 0 1-1-1v-7a1 1 0 0 1 1-1z" }), -+ (0, import_react40.createElement)("path", { d: "M10 7v2.6M10 11.4h.01" }) ++ (0, import_react41.createElement)("path", { d: "M4 4.5h12a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H9l-3.5 3v-3H4a1 1 0 0 1-1-1v-7a1 1 0 0 1 1-1z" }), ++ (0, import_react41.createElement)("path", { d: "M10 7v2.6M10 11.4h.01" }) ); -function download(name, text) { - const url = URL.createObjectURL(new Blob([text], { type: "text/plain;charset=utf-8" })); @@ -21022,17 +21776,17 @@ diff --git a/client.js b/client.js - const [note, setNote] = (0, import_react26.useState)(""); +var SOURCES = { turn: "Model call", host: "FlyBot", api: "FlyBot", browser: "This window" }; +function FeedbackPage({ actions, run, Section, Row: Row4 }) { -+ const [what, setWhat] = (0, import_react40.useState)(""); -+ const [report, setReport] = (0, import_react40.useState)(null); -+ const [preview, setPreview] = (0, import_react40.useState)(false); -+ const [note, setNote] = (0, import_react40.useState)(""); ++ const [what, setWhat] = (0, import_react41.useState)(""); ++ const [report, setReport] = (0, import_react41.useState)(null); ++ const [preview, setPreview] = (0, import_react41.useState)(false); ++ const [note, setNote] = (0, import_react41.useState)(""); const fetchReport = () => actions.diagnostics({ client: clientFacts(), clientErrors: clientErrors() }).then((next) => { setReport(next); return next; }); const load = () => fetchReport().then(() => void 0); - (0, import_react26.useEffect)(() => { -+ (0, import_react40.useEffect)(() => { ++ (0, import_react41.useEffect)(() => { void run(load()); }, []); const copyReport = () => run(fetchReport().then(async (next) => { @@ -21041,7 +21795,7 @@ diff --git a/client.js b/client.js if (!copied) setPreview(true); })); - const [issueLink, setIssueLink] = (0, import_react26.useState)(null); -+ const [issueLink, setIssueLink] = (0, import_react40.useState)(null); ++ const [issueLink, setIssueLink] = (0, import_react41.useState)(null); const openIssue = () => { const win = window.open("", "_blank"); if (win !== null) win.opener = null; @@ -21061,86 +21815,86 @@ diff --git a/client.js b/client.js const shown = entries2.slice(0, 8); return [ - (0, import_react26.createElement)( -+ (0, import_react40.createElement)( ++ (0, import_react41.createElement)( Section, { key: "report", title: t("Report a problem") }, - (0, import_react26.createElement)( -+ (0, import_react40.createElement)( ++ (0, import_react41.createElement)( "div", { className: "bt-set-row bt-set-paste bt-fb-what" }, - (0, import_react26.createElement)( -+ (0, import_react40.createElement)( ++ (0, import_react41.createElement)( "label", { className: "bt-set-copy", htmlFor: "bt-fb-what" }, - (0, import_react26.createElement)("span", null, t("What happened?")), - (0, import_react26.createElement)("span", { className: "bt-set-hint" }, t("What you did, what you expected, and what happened instead. It goes into the issue.")) -+ (0, import_react40.createElement)("span", null, t("What happened?")), -+ (0, import_react40.createElement)("span", { className: "bt-set-hint" }, t("What you did, what you expected, and what happened instead. It goes into the issue.")) ++ (0, import_react41.createElement)("span", null, t("What happened?")), ++ (0, import_react41.createElement)("span", { className: "bt-set-hint" }, t("What you did, what you expected, and what happened instead. It goes into the issue.")) ), - (0, import_react26.createElement)("textarea", { id: "bt-fb-what", className: "bt-input bt-input-area", value: what, maxLength: WHAT_MAX, placeholder: t("For example: I asked Writer in the group chat and it showed an error."), onChange: (event) => setWhat(event.target.value) }) -+ (0, import_react40.createElement)("textarea", { id: "bt-fb-what", className: "bt-input bt-input-area", value: what, maxLength: WHAT_MAX, placeholder: t("For example: I asked Writer in the group chat and it showed an error."), onChange: (event) => setWhat(event.target.value) }) ++ (0, import_react41.createElement)("textarea", { id: "bt-fb-what", className: "bt-input bt-input-area", value: what, maxLength: WHAT_MAX, placeholder: t("For example: I asked Writer in the group chat and it showed an error."), onChange: (event) => setWhat(event.target.value) }) ), - (0, import_react26.createElement)( - Row3, -+ (0, import_react40.createElement)( ++ (0, import_react41.createElement)( + Row4, { label: t("Diagnostics"), hint: t("Versions, system, models, and the latest errors. Saved keys, tokens, and your home folder are hidden.") }, - (0, import_react26.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => setPreview(!preview), "aria-expanded": preview }, preview ? t("Hide") : t("Show")), - (0, import_react26.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: copyReport }, t("Copy")) -+ (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => setPreview(!preview), "aria-expanded": preview }, preview ? t("Hide") : t("Show")), -+ (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: copyReport }, t("Copy")) ++ (0, import_react41.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => setPreview(!preview), "aria-expanded": preview }, preview ? t("Hide") : t("Show")), ++ (0, import_react41.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: copyReport }, t("Copy")) ), - preview ? (0, import_react26.createElement)("div", { className: "bt-set-row bt-fb-preview" }, (0, import_react26.createElement)("pre", { tabIndex: 0, "aria-label": t("Diagnostics") }, report?.markdown || t("Loading…"))) : null, - (0, import_react26.createElement)( - Row3, - { label: t("GitHub issue"), hint: t("Opens a new issue in the DS Bot repository with all of this filled in. Nothing is sent until you submit it there.") }, - (0, import_react26.createElement)("button", { type: "button", className: "bt-fb-primary", onClick: openIssue }, t("Report on GitHub")) -+ preview ? (0, import_react40.createElement)("div", { className: "bt-set-row bt-fb-preview" }, (0, import_react40.createElement)("pre", { tabIndex: 0, "aria-label": t("Diagnostics") }, report?.markdown || t("Loading…"))) : null, -+ (0, import_react40.createElement)( ++ preview ? (0, import_react41.createElement)("div", { className: "bt-set-row bt-fb-preview" }, (0, import_react41.createElement)("pre", { tabIndex: 0, "aria-label": t("Diagnostics") }, report?.markdown || t("Loading…"))) : null, ++ (0, import_react41.createElement)( + Row4, + { label: t("GitHub issue"), hint: t("Opens a new issue in the FlyBot repository with all of this filled in. Nothing is sent until you submit it there.") }, -+ (0, import_react40.createElement)("button", { type: "button", className: "bt-fb-primary", onClick: openIssue }, t("Report on GitHub")) ++ (0, import_react41.createElement)("button", { type: "button", className: "bt-fb-primary", onClick: openIssue }, t("Report on GitHub")) ) ), - note ? (0, import_react26.createElement)( -+ note ? (0, import_react40.createElement)( ++ note ? (0, import_react41.createElement)( "div", { key: "note", className: "bt-note bt-fb-note", role: "status" }, note, - issueLink ? [" ", (0, import_react26.createElement)("a", { key: "link", href: issueLink, target: "_blank", rel: "noopener noreferrer" }, t("Open the issue"))] : null -+ issueLink ? [" ", (0, import_react40.createElement)("a", { key: "link", href: issueLink, target: "_blank", rel: "noopener noreferrer" }, t("Open the issue"))] : null ++ issueLink ? [" ", (0, import_react41.createElement)("a", { key: "link", href: issueLink, target: "_blank", rel: "noopener noreferrer" }, t("Open the issue"))] : null ) : null, - (0, import_react26.createElement)( -+ (0, import_react40.createElement)( ++ (0, import_react41.createElement)( Section, { key: "errors", title: report ? t("Recent errors · {count}", { count: total }) : t("Recent errors") }, - shown.length === 0 ? (0, import_react26.createElement)(Row3, { label: t("No errors recorded."), hint: t("Failed model calls and DS Bot problems show here, newest first.") }) : shown.map((entry, index) => (0, import_react26.createElement)( -+ shown.length === 0 ? (0, import_react40.createElement)(Row4, { label: t("No errors recorded."), hint: t("Failed model calls and FlyBot problems show here, newest first.") }) : shown.map((entry, index) => (0, import_react40.createElement)( ++ shown.length === 0 ? (0, import_react41.createElement)(Row4, { label: t("No errors recorded."), hint: t("Failed model calls and FlyBot problems show here, newest first.") }) : shown.map((entry, index) => (0, import_react41.createElement)( "div", { key: `${entry.time}-${index}`, className: "bt-set-row bt-fb-entry", title: entry.text }, - (0, import_react26.createElement)("span", { className: "bt-fb-dot", "data-level": entry.level, "aria-hidden": true }), - (0, import_react26.createElement)( -+ (0, import_react40.createElement)("span", { className: "bt-fb-dot", "data-level": entry.level, "aria-hidden": true }), -+ (0, import_react40.createElement)( ++ (0, import_react41.createElement)("span", { className: "bt-fb-dot", "data-level": entry.level, "aria-hidden": true }), ++ (0, import_react41.createElement)( "div", { className: "bt-set-copy" }, - (0, import_react26.createElement)("span", { className: "bt-fb-text" }, entrySummary(entry)), - (0, import_react26.createElement)("span", { className: "bt-set-hint" }, [whenText(entry.time), entry.bot, entry.where, t(SOURCES[entry.source] ?? "DS Bot")].filter(Boolean).join(" · ")) -+ (0, import_react40.createElement)("span", { className: "bt-fb-text" }, entrySummary(entry)), -+ (0, import_react40.createElement)("span", { className: "bt-set-hint" }, [whenText2(entry.time), entry.bot, entry.where, t(SOURCES[entry.source] ?? "FlyBot")].filter(Boolean).join(" · ")) ++ (0, import_react41.createElement)("span", { className: "bt-fb-text" }, entrySummary(entry)), ++ (0, import_react41.createElement)("span", { className: "bt-set-hint" }, [whenText2(entry.time), entry.bot, entry.where, t(SOURCES[entry.source] ?? "FlyBot")].filter(Boolean).join(" · ")) ), - entry.code ? (0, import_react26.createElement)("span", { className: "bt-tag bt-fb-code" }, entry.status ? `${entry.code} ${entry.status}` : entry.code) : null -+ entry.code ? (0, import_react40.createElement)("span", { className: "bt-tag bt-fb-code" }, entry.status ? `${entry.code} ${entry.status}` : entry.code) : null ++ entry.code ? (0, import_react41.createElement)("span", { className: "bt-tag bt-fb-code" }, entry.status ? `${entry.code} ${entry.status}` : entry.code) : null )), - (0, import_react26.createElement)( - Row3, -+ (0, import_react40.createElement)( ++ (0, import_react41.createElement)( + Row4, { label: t("Error log"), hint: t("Kept on this computer across restarts, up to about 1 MB.") }, - (0, import_react26.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: downloadLog }, t("Download")), - (0, import_react26.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: clearLog, disabled: !report || total === 0 }, t("Clear")) -+ (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: downloadLog }, t("Download")), -+ (0, import_react40.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: clearLog, disabled: !report || total === 0 }, t("Clear")) ++ (0, import_react41.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: downloadLog }, t("Download")), ++ (0, import_react41.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: clearLog, disabled: !report || total === 0 }, t("Clear")) ) ) ]; @@ -21150,8 +21904,8 @@ diff --git a/client.js b/client.js const toast = useUi((state) => state.toast); - const [leaving, setLeaving] = (0, import_react26.useState)(false); - (0, import_react26.useEffect)(() => { -+ const [leaving, setLeaving] = (0, import_react40.useState)(false); -+ (0, import_react40.useEffect)(() => { ++ const [leaving, setLeaving] = (0, import_react41.useState)(false); ++ (0, import_react41.useEffect)(() => { if (!toast) return void 0; setLeaving(false); const fade = setTimeout(() => setLeaving(true), TOAST_MS); @@ -21161,19 +21915,19 @@ diff --git a/client.js b/client.js if (!toast) return null; - return (0, import_react26.createElement)( + const info = toast.tone === "info"; -+ return (0, import_react40.createElement)( ++ return (0, import_react41.createElement)( "div", - { className: "bt-toast", role: "alert", "data-leaving": leaving || void 0 }, - (0, import_react26.createElement)("span", { className: "bt-toast-text" }, toast.text), - (0, import_react26.createElement)("button", { type: "button", className: "bt-toast-link", onClick: () => { + { className: "bt-toast", role: info ? "status" : "alert", "data-tone": toast.tone, "data-leaving": leaving || void 0 }, -+ (0, import_react40.createElement)("span", { className: "bt-toast-text" }, toast.text), -+ info ? null : (0, import_react40.createElement)("button", { type: "button", className: "bt-toast-link", onClick: () => { ++ (0, import_react41.createElement)("span", { className: "bt-toast-text" }, toast.text), ++ info ? null : (0, import_react41.createElement)("button", { type: "button", className: "bt-toast-link", onClick: () => { actions.dismissToast(toast.token); actions.openSettings("feedback"); } }, t("Details")), - (0, import_react26.createElement)("button", { type: "button", className: "bt-icon-btn bt-toast-close", "aria-label": t("Dismiss"), onClick: () => actions.dismissToast(toast.token) }, (0, import_react26.createElement)(CloseIcon)) -+ (0, import_react40.createElement)("button", { type: "button", className: "bt-icon-btn bt-toast-close", "aria-label": t("Dismiss"), onClick: () => actions.dismissToast(toast.token) }, (0, import_react40.createElement)(CloseIcon)) ++ (0, import_react41.createElement)("button", { type: "button", className: "bt-icon-btn bt-toast-close", "aria-label": t("Dismiss"), onClick: () => actions.dismissToast(toast.token) }, (0, import_react41.createElement)(CloseIcon)) ); } var FEEDBACK_CSS = ` @@ -21198,7 +21952,7 @@ diff --git a/client.js b/client.js // src/client/about.js -var import_react27 = require("react"); -var CHEER_MS = 1800; -+var import_react41 = require("react"); ++var import_react42 = require("react"); var starCount = (count) => new Intl.NumberFormat(dateLocale(), { notation: "compact", maximumFractionDigits: 1 }).format(count); function botHint(update) { - if (update.phase === "installing") return t("Updating DS Bot…"); @@ -21242,9 +21996,9 @@ diff --git a/client.js b/client.js - const [checking, setChecking] = (0, import_react27.useState)(false); - const [stars, setStars] = (0, import_react27.useState)(null); - (0, import_react27.useEffect)(() => { -+ const [checking, setChecking] = (0, import_react41.useState)(false); -+ const [stars, setStars] = (0, import_react41.useState)(null); -+ (0, import_react41.useEffect)(() => { ++ const [checking, setChecking] = (0, import_react42.useState)(false); ++ const [stars, setStars] = (0, import_react42.useState)(null); ++ (0, import_react42.useEffect)(() => { let live = true; actions.repoStars().then((count) => { if (live && Number.isInteger(count)) setStars(count); @@ -21276,14 +22030,14 @@ diff --git a/client.js b/client.js const dshNew = showsDshRow(dsh, update.app); const dshShown = dshNew && dsh.available; - const botControl = phase === "installed" ? null : update.available || phase === "installing" ? (0, import_react27.createElement)( -+ const botControl = phase === "installed" ? null : update.available || phase === "installing" ? (0, import_react41.createElement)( ++ const botControl = phase === "installed" ? null : update.available || phase === "installing" ? (0, import_react42.createElement)( "button", { type: "button", className: "bt-fb-primary", disabled: phase === "installing", onClick: () => run(actions.installUpdate()) }, phase === "installing" ? t("Updating…") : phase === "failed" ? t("Try again") : t("Update") - ) : (0, import_react27.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: checking || update.enabled === false, onClick: check }, checking ? t("Checking…") : t("Check for updates")); - const dshControl = !dshNew || dshPhase === "installed" ? null : dsh.kind === "app" ? dsh.available ? (0, import_react27.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.openAppUpdates(dsh.verified)) }, t("Open updates")) : null : dsh.available || dshPhase !== "idle" ? (0, import_react27.createElement)( -+ ) : (0, import_react41.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: checking || update.enabled === false, onClick: check }, checking ? t("Checking…") : t("Check for updates")); -+ const dshControl = !dshNew || dshPhase === "installed" ? null : dsh.kind === "app" ? dsh.available ? (0, import_react41.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.openAppUpdates(dsh.verified)) }, t("Open updates")) : null : dsh.available || dshPhase !== "idle" ? (0, import_react41.createElement)( ++ ) : (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", disabled: checking || update.enabled === false, onClick: check }, checking ? t("Checking…") : t("Check for updates")); ++ const dshControl = !dshNew || dshPhase === "installed" ? null : dsh.kind === "app" ? dsh.available ? (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.openAppUpdates(dsh.verified)) }, t("Open updates")) : null : dsh.available || dshPhase !== "idle" ? (0, import_react42.createElement)( "button", { type: "button", className: "bt-fb-primary", disabled: dshPhase === "installing", onClick: () => run(actions.installDshUpdate()) }, dshPhase === "installing" ? t("Updating…") : dshPhase === "failed" ? t("Try again") : t("Update") @@ -21291,22 +22045,22 @@ diff --git a/client.js b/client.js const repo = update.repoUrl; return [ - (0, import_react27.createElement)( -+ (0, import_react41.createElement)( ++ (0, import_react42.createElement)( "div", { key: "hero", className: "bt-about-hero" }, - (0, import_react27.createElement)("span", { className: "bt-about-mark" }, (0, import_react27.createElement)(BotMark, { look: MAIN_LOOK, bot: { id: "about" }, size: 52, state: markState, live: true, gaze: true, pokeable: true })), - (0, import_react27.createElement)( -+ (0, import_react41.createElement)("span", { className: "bt-about-mark" }, (0, import_react41.createElement)(FlyBotMark, { size: 52 })), -+ (0, import_react41.createElement)( ++ (0, import_react42.createElement)("span", { className: "bt-about-mark" }, (0, import_react42.createElement)(FlyBotMark, { size: 52 })), ++ (0, import_react42.createElement)( "div", { className: "bt-about-copy" }, - (0, import_react27.createElement)("span", { className: "bt-about-name" }, "DS Bot"), - update.current ? (0, import_react27.createElement)("span", { className: "bt-about-version" }, t("Version {version}", { version: update.current })) : null -+ (0, import_react41.createElement)("span", { className: "bt-about-name" }, t("FlyBot")), -+ update.current ? (0, import_react41.createElement)("span", { className: "bt-about-version" }, versionLine(update)) : null ++ (0, import_react42.createElement)("span", { className: "bt-about-name" }, t("FlyBot")), ++ update.current ? (0, import_react42.createElement)("span", { className: "bt-about-version" }, versionLine(update)) : null ), - repo ? (0, import_react27.createElement)( -+ repo ? (0, import_react41.createElement)( ++ repo ? (0, import_react42.createElement)( "a", { className: "bt-star", @@ -21320,31 +22074,31 @@ diff --git a/client.js b/client.js }, - (0, import_react27.createElement)("span", { className: "bt-star-main" }, (0, import_react27.createElement)("span", { className: "bt-star-icon" }, (0, import_react27.createElement)(StarLineIcon)), "Star"), - stars === null ? null : (0, import_react27.createElement)("span", { className: "bt-star-count" }, starCount(stars)) -+ (0, import_react41.createElement)("span", { className: "bt-star-main" }, (0, import_react41.createElement)("span", { className: "bt-star-icon" }, (0, import_react41.createElement)(StarLineIcon)), "Star"), -+ stars === null ? null : (0, import_react41.createElement)("span", { className: "bt-star-count" }, starCount(stars)) ++ (0, import_react42.createElement)("span", { className: "bt-star-main" }, (0, import_react42.createElement)("span", { className: "bt-star-icon" }, (0, import_react42.createElement)(StarLineIcon)), "Star"), ++ stars === null ? null : (0, import_react42.createElement)("span", { className: "bt-star-count" }, starCount(stars)) ) : null ), - repo ? (0, import_react27.createElement)("p", { key: "ask", className: "bt-about-ask" }, t("If DS Bot helps you, a star on GitHub helps more people find it.")) : null, - (0, import_react27.createElement)( -+ repo ? (0, import_react41.createElement)("p", { key: "ask", className: "bt-about-ask" }, t("If FlyBot helps you, a star on GitHub helps more people find it.")) : null, -+ (0, import_react41.createElement)( ++ repo ? (0, import_react42.createElement)("p", { key: "ask", className: "bt-about-ask" }, t("If FlyBot helps you, a star on GitHub helps more people find it.")) : null, ++ (0, import_react42.createElement)( Section, { key: "updates", title: t("Updates") }, - (0, import_react27.createElement)(Row3, { label: "DS Bot", hint: botHint(update) }, botControl, update.available && update.notesUrl ? (0, import_react27.createElement)("a", linkProps(update.notesUrl), t("What's new")) : null), - dsh?.current ? (0, import_react27.createElement)(Row3, { label: "DeepSeek Harness", hint: dshHint(dsh, dshShown) }, dshControl) : null -+ (0, import_react41.createElement)(Row4, { label: t("FlyBot core"), hint: botHint(update) }, botControl, update.available && update.notesUrl ? (0, import_react41.createElement)("a", linkProps(update.notesUrl), t("What's new")) : null), -+ dsh?.current ? (0, import_react41.createElement)(Row4, { label: t("DeepSeek Harness (underlying)"), hint: dshHint(dsh, dshShown) }, dshControl) : null ++ (0, import_react42.createElement)(Row4, { label: t("FlyBot core"), hint: botHint(update) }, botControl, update.available && update.notesUrl ? (0, import_react42.createElement)("a", linkProps(update.notesUrl), t("What's new")) : null), ++ dsh?.current ? (0, import_react42.createElement)(Row4, { label: t("DeepSeek Harness (underlying)"), hint: dshHint(dsh, dshShown) }, dshControl) : null ), - (0, import_react27.createElement)( -+ (0, import_react41.createElement)( ++ (0, import_react42.createElement)( Section, { key: "links", title: t("Links") }, - repo ? (0, import_react27.createElement)(Row3, { label: t("Source code"), hint: repo.replace(/^https:\/\//, "") }, (0, import_react27.createElement)("a", linkProps(repo), (0, import_react27.createElement)(GitHubMark), t("Open"))) : null, - update.notesUrl ? (0, import_react27.createElement)(Row3, { label: t("Release notes") }, (0, import_react27.createElement)("a", linkProps(update.notesUrl), t("Open"))) : null, - (0, import_react27.createElement)(Row3, { label: t("Report a problem") }, (0, import_react27.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => actions.openSettings("feedback") }, t("Open"))) -+ repo ? (0, import_react41.createElement)(Row4, { label: t("Source code"), hint: repo.replace(/^https:\/\//, "") }, (0, import_react41.createElement)("a", linkProps(repo), (0, import_react41.createElement)(GitHubMark), t("Open"))) : null, -+ update.notesUrl ? (0, import_react41.createElement)(Row4, { label: t("Release notes") }, (0, import_react41.createElement)("a", linkProps(update.notesUrl), t("Open"))) : null, -+ (0, import_react41.createElement)(Row4, { label: t("Report a problem") }, (0, import_react41.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => actions.openSettings("feedback") }, t("Open"))) ++ repo ? (0, import_react42.createElement)(Row4, { label: t("Source code"), hint: repo.replace(/^https:\/\//, "") }, (0, import_react42.createElement)("a", linkProps(repo), (0, import_react42.createElement)(GitHubMark), t("Open"))) : null, ++ update.notesUrl ? (0, import_react42.createElement)(Row4, { label: t("Release notes") }, (0, import_react42.createElement)("a", linkProps(update.notesUrl), t("Open"))) : null, ++ (0, import_react42.createElement)(Row4, { label: t("Report a problem") }, (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => actions.openSettings("feedback") }, t("Open"))) ) ]; } @@ -21364,7 +22118,7 @@ diff --git a/client.js b/client.js // src/client/settings.js -var import_react28 = require("react"); -+var import_react42 = require("react"); ++var import_react43 = require("react"); var capitalize2 = (word) => word[0].toUpperCase() + word.slice(1); -var SETTINGS_PAGES = [["general", "General"], ["bots", "Bots"], ["groups", "Group chats"], ["connectors", "Connectors"], ["capabilities", "Capabilities"], ["schedules", "Scheduled tasks"], ["usage", "Usage"], ["secrets", "Secrets"], ["feedback", "Feedback"], ["about", "About DS Bot"]]; -var PAGE_ICONS = { ...SETTINGS_ICONS, connectors: ConnectorIcon, capabilities: PlugIcon, schedules: ClockIcon, secrets: KeyIcon, feedback: FeedbackIcon, about: InfoIcon }; @@ -21372,17 +22126,18 @@ diff --git a/client.js b/client.js +var PAGE_ICONS = { ...SETTINGS_ICONS, projects: FolderIcon, connectors: ConnectorIcon, workflows: WorkflowIcon, capabilities: PlugIcon, schedules: ClockIcon, secrets: KeyIcon, feedback: FeedbackIcon, about: InfoIcon }; function SetSection({ title, children }) { - return (0, import_react28.createElement)("section", { className: "bt-set-section" }, (0, import_react28.createElement)("h3", null, title), (0, import_react28.createElement)("div", { className: "bt-set-card" }, children)); -+ return (0, import_react42.createElement)("section", { className: "bt-set-section" }, (0, import_react42.createElement)("h3", null, title), (0, import_react42.createElement)("div", { className: "bt-set-card" }, children)); ++ return (0, import_react43.createElement)("section", { className: "bt-set-section" }, (0, import_react43.createElement)("h3", null, title), (0, import_react43.createElement)("div", { className: "bt-set-card" }, children)); } - function SetRow({ label, hint, children }) { +-function SetRow({ label, hint, children }) { - return (0, import_react28.createElement)( -+ return (0, import_react42.createElement)( ++function SetRow({ label, hint: hint2, children }) { ++ return (0, import_react43.createElement)( "div", { className: "bt-set-row" }, - (0, import_react28.createElement)("div", { className: "bt-set-copy" }, (0, import_react28.createElement)("span", null, label), hint ? (0, import_react28.createElement)("span", { className: "bt-set-hint" }, hint) : null), - children ? (0, import_react28.createElement)("div", { className: "bt-set-control" }, children) : null -+ (0, import_react42.createElement)("div", { className: "bt-set-copy" }, (0, import_react42.createElement)("span", null, label), hint ? (0, import_react42.createElement)("span", { className: "bt-set-hint" }, hint) : null), -+ children ? (0, import_react42.createElement)("div", { className: "bt-set-control" }, children) : null ++ (0, import_react43.createElement)("div", { className: "bt-set-copy" }, (0, import_react43.createElement)("span", null, label), hint2 ? (0, import_react43.createElement)("span", { className: "bt-set-hint" }, hint2) : null), ++ children ? (0, import_react43.createElement)("div", { className: "bt-set-control" }, children) : null ); } +var NOTIFY_KINDS = [ @@ -21397,9 +22152,9 @@ diff --git a/client.js b/client.js - const [custom, setCustom] = (0, import_react28.useState)(prefs.accent ?? "#4d6bfe"); - const timer = (0, import_react28.useRef)(0); - (0, import_react28.useEffect)(() => () => clearTimeout(timer.current), []); -+ const [custom, setCustom] = (0, import_react42.useState)(prefs.accent ?? "#4d6bfe"); -+ const timer = (0, import_react42.useRef)(0); -+ (0, import_react42.useEffect)(() => () => clearTimeout(timer.current), []); ++ const [custom, setCustom] = (0, import_react43.useState)(prefs.accent ?? "#4d6bfe"); ++ const timer = (0, import_react43.useRef)(0); ++ (0, import_react43.useEffect)(() => () => clearTimeout(timer.current), []); const pickCustom = (value) => { setCustom(value); clearTimeout(timer.current); @@ -21407,33 +22162,33 @@ diff --git a/client.js b/client.js }; return [ - (0, import_react28.createElement)( -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( SetSection, { key: "look", title: t("Appearance") }, - (0, import_react28.createElement)( -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( SetRow, { label: t("Theme"), hint: t("Colors for the whole team, on every device.") }, - (0, import_react28.createElement)( -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( "select", { className: "bt-select", "aria-label": t("Theme"), value: current, onChange: (event) => run(actions.setPrefs({ theme: event.target.value })) }, - Object.entries(themes).map(([id, theme]) => (0, import_react28.createElement)("option", { key: id, value: id }, t(theme.label))) -+ Object.entries(themes).map(([id, theme]) => (0, import_react42.createElement)("option", { key: id, value: id }, t(theme.label))) ++ Object.entries(themes).map(([id, theme]) => (0, import_react43.createElement)("option", { key: id, value: id }, t(theme.label))) ) ), - (0, import_react28.createElement)( -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( SetRow, { label: t("Accent"), hint: t("Unread marks, badges, and the brand mark.") }, - (0, import_react28.createElement)( -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( "div", { className: "bt-swatches" }, - (0, import_react28.createElement)("button", { type: "button", className: "bt-swatch bt-swatch-default", title: t("Theme accent"), "aria-label": t("Theme accent"), "aria-pressed": !prefs.accent, onClick: () => run(actions.setPrefs({ accent: null })) }), - ACCENT_INKS.map((ink) => (0, import_react28.createElement)("button", { -+ (0, import_react42.createElement)("button", { type: "button", className: "bt-swatch bt-swatch-default", title: t("Theme accent"), "aria-label": t("Theme accent"), "aria-pressed": !prefs.accent, onClick: () => run(actions.setPrefs({ accent: null })) }), -+ ACCENT_INKS.map((ink) => (0, import_react42.createElement)("button", { ++ (0, import_react43.createElement)("button", { type: "button", className: "bt-swatch bt-swatch-default", title: t("Theme accent"), "aria-label": t("Theme accent"), "aria-pressed": !prefs.accent, onClick: () => run(actions.setPrefs({ accent: null })) }), ++ ACCENT_INKS.map((ink) => (0, import_react43.createElement)("button", { key: ink, type: "button", className: "bt-swatch", @@ -21442,18 +22197,18 @@ diff --git a/client.js b/client.js onClick: () => run(actions.setPrefs({ accent: INKS[ink][0] })) })), - (0, import_react28.createElement)( -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( "label", { className: "bt-swatch bt-swatch-custom", title: t("Custom accent"), "data-on": Boolean(prefs.accent) && !ACCENT_INKS.some((ink) => INKS[ink][0] === prefs.accent) }, - (0, import_react28.createElement)("input", { type: "color", value: custom, "aria-label": t("Custom accent"), onChange: (event) => pickCustom(event.target.value) }) -+ (0, import_react42.createElement)("input", { type: "color", value: custom, "aria-label": t("Custom accent"), onChange: (event) => pickCustom(event.target.value) }) ++ (0, import_react43.createElement)("input", { type: "color", value: custom, "aria-label": t("Custom accent"), onChange: (event) => pickCustom(event.target.value) }) ) ) ) ), - (0, import_react28.createElement)( + // One switch for every system notification (#353), then one per kind (#469). -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( SetSection, - { key: "mode", title: t("Mode") }, - (0, import_react28.createElement)( @@ -21462,16 +22217,16 @@ diff --git a/client.js b/client.js - (0, import_react28.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => actions.setSurface("agent") }, t("Switch")) - ) + { key: "notify", title: t("Notifications") }, -+ (0, import_react42.createElement)(SwitchRow, { ++ (0, import_react43.createElement)(SwitchRow, { + label: t("In other chats"), + hint: t("When your Bots finish, fail, or wait for your approval while you are in another chat or app."), + on: prefs.notifications !== false, + onChange: (on) => run(actions.setPrefs({ notifications: on })) + }), -+ NOTIFY_KINDS.map(([kind, label, hint]) => (0, import_react42.createElement)(SwitchRow, { ++ NOTIFY_KINDS.map(([kind, label, hint2]) => (0, import_react43.createElement)(SwitchRow, { + key: kind, + label: t(label), -+ hint: hint ? t(hint) : void 0, ++ hint: hint2 ? t(hint2) : void 0, + disabled: prefs.notifications === false, + on: prefs.notify?.[kind] !== false, + onChange: (on) => run(actions.setPrefs({ notify: { [kind]: on } })) @@ -21486,40 +22241,40 @@ diff --git a/client.js b/client.js - return (0, import_react28.createElement)( + const own = roster.bots.filter((bot) => !bot.remote); + const candidates = own.filter((bot) => !isMainOf(roster, bot.id)); -+ return (0, import_react42.createElement)( ++ return (0, import_react43.createElement)( SetSection, { title: t("Main Bot") }, - (0, import_react28.createElement)( -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( SetRow, { label: t("Main Bot"), hint: first ? t("First in the sidebar. Pick another Bot to hand it the role; {name} then stops being a Main Bot.", { name: first.name }) : void 0 }, - (0, import_react28.createElement)("select", { -+ (0, import_react42.createElement)("select", { ++ (0, import_react43.createElement)("select", { className: "bt-select", "aria-label": t("Main Bot"), value: first?.id ?? "", onChange: (event) => run(actions.setMain(event.target.value, true, first ? { replace: first.id } : {})) - }, first ? null : (0, import_react28.createElement)("option", { value: "" }, t("Choose a Bot…")), roster.bots.map((bot) => (0, import_react28.createElement)("option", { key: bot.id, value: bot.id }, bot.name))) -+ }, first ? null : (0, import_react42.createElement)("option", { value: "" }, t("Choose a Bot…")), own.map((bot) => (0, import_react42.createElement)("option", { key: bot.id, value: bot.id }, bot.name))) ++ }, first ? null : (0, import_react43.createElement)("option", { value: "" }, t("Choose a Bot…")), own.map((bot) => (0, import_react43.createElement)("option", { key: bot.id, value: bot.id }, bot.name))) ), - others.map((bot) => (0, import_react28.createElement)( -+ others.map((bot) => (0, import_react42.createElement)( ++ others.map((bot) => (0, import_react43.createElement)( SetRow, { key: bot.id, label: bot.name, hint: t("Also a Main Bot.") }, - (0, import_react28.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.setMain(bot.id, true, { primary: true })) }, t("Move to first")), - (0, import_react28.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.setMain(bot.id, false)) }, t("Remove Main Bot role")) -+ (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.setMain(bot.id, true, { primary: true })) }, t("Move to first")), -+ (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.setMain(bot.id, false)) }, t("Remove Main Bot role")) ++ (0, import_react43.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.setMain(bot.id, true, { primary: true })) }, t("Move to first")), ++ (0, import_react43.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => run(actions.setMain(bot.id, false)) }, t("Remove Main Bot role")) )), - candidates.length > 0 ? (0, import_react28.createElement)( -+ candidates.length > 0 ? (0, import_react42.createElement)( ++ candidates.length > 0 ? (0, import_react43.createElement)( SetRow, { label: t("Add a Main Bot"), hint: t("Main Bots can create and change Bots, and run every group chat.") }, - (0, import_react28.createElement)("select", { -+ (0, import_react42.createElement)("select", { ++ (0, import_react43.createElement)("select", { className: "bt-select", "aria-label": t("Add a Main Bot"), value: "", @@ -21527,7 +22282,7 @@ diff --git a/client.js b/client.js if (event.target.value) void run(actions.setMain(event.target.value, true)); } - }, (0, import_react28.createElement)("option", { value: "" }, t("Choose a Bot…")), candidates.map((bot) => (0, import_react28.createElement)("option", { key: bot.id, value: bot.id }, bot.name))) -+ }, (0, import_react42.createElement)("option", { value: "" }, t("Choose a Bot…")), candidates.map((bot) => (0, import_react42.createElement)("option", { key: bot.id, value: bot.id }, bot.name))) ++ }, (0, import_react43.createElement)("option", { value: "" }, t("Choose a Bot…")), candidates.map((bot) => (0, import_react43.createElement)("option", { key: bot.id, value: bot.id }, bot.name))) ) : null ); } @@ -21535,15 +22290,15 @@ diff --git a/client.js b/client.js function MotionSection({ roster, actions, run }) { const motion = roster.prefs?.motion === "quiet" || roster.prefs?.motion === "lively" ? roster.prefs.motion : "normal"; - return (0, import_react28.createElement)( -+ return (0, import_react42.createElement)( ++ return (0, import_react43.createElement)( SetSection, { title: t("Animation") }, - (0, import_react28.createElement)( -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( SetRow, { label: t("Bot animation") }, - (0, import_react28.createElement)(Segmented, { label: t("Bot animation"), value: motion, className: "bt-motion-seg" }, MOTIONS.map(([id, label]) => (0, import_react28.createElement)("button", { -+ (0, import_react42.createElement)(Segmented, { label: t("Bot animation"), value: motion, className: "bt-motion-seg" }, MOTIONS.map(([id, label]) => (0, import_react42.createElement)("button", { ++ (0, import_react43.createElement)(Segmented, { label: t("Bot animation"), value: motion, className: "bt-motion-seg" }, MOTIONS.map(([id, label]) => (0, import_react43.createElement)("button", { key: id, type: "button", "aria-pressed": motion === id, @@ -21552,30 +22307,30 @@ diff --git a/client.js b/client.js } function BotsPage({ roster, actions, run }) { - const [creating, setCreating] = (0, import_react28.useState)(false); -+ const [creating, setCreating] = (0, import_react42.useState)(false); ++ const [creating, setCreating] = (0, import_react43.useState)(false); return [ - (0, import_react28.createElement)(MainBotsSection, { key: "main", roster, actions, run }), - (0, import_react28.createElement)(MotionSection, { key: "motion", roster, actions, run }), - creating ? (0, import_react28.createElement)(CreateBot, { key: "create", roster, actions, inline: true, onBack: () => setCreating(false), onCreated: (bot) => actions.openSettings("bots", bot.id) }) : (0, import_react28.createElement)( -+ (0, import_react42.createElement)(MainBotsSection, { key: "main", roster, actions, run }), -+ (0, import_react42.createElement)(MotionSection, { key: "motion", roster, actions, run }), -+ creating ? (0, import_react42.createElement)(CreateBot, { key: "create", roster, actions, inline: true, onBack: () => setCreating(false), onCreated: (bot) => actions.openSettings("bots", bot.id) }) : (0, import_react42.createElement)( ++ (0, import_react43.createElement)(MainBotsSection, { key: "main", roster, actions, run }), ++ (0, import_react43.createElement)(MotionSection, { key: "motion", roster, actions, run }), ++ creating ? (0, import_react43.createElement)(CreateBot, { key: "create", roster, actions, inline: true, onBack: () => setCreating(false), onCreated: (bot) => actions.openSettings("bots", bot.id) }) : (0, import_react43.createElement)( "div", { key: "new", className: "bt-actions" }, - (0, import_react28.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm bt-with-icon", onClick: () => setCreating(true) }, (0, import_react28.createElement)(PlusIcon), t("New Bot")) -+ (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm bt-with-icon", onClick: () => setCreating(true) }, (0, import_react42.createElement)(PlusIcon), t("New Bot")) ++ (0, import_react43.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm bt-with-icon", onClick: () => setCreating(true) }, (0, import_react43.createElement)(PlusIcon), t("New Bot")) ), - (0, import_react28.createElement)( -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( SetSection, - { key: "bots", title: t("Bots · {count}", { count: roster.bots.length }) }, - roster.bots.map((bot) => (0, import_react28.createElement)( + { key: "bots", title: t("Bots · {count}", { count: roster.bots.filter((bot) => !bot.remote).length }) }, -+ roster.bots.filter((bot) => !bot.remote).map((bot) => (0, import_react42.createElement)( ++ roster.bots.filter((bot) => !bot.remote).map((bot) => (0, import_react43.createElement)( "button", { key: bot.id, type: "button", className: "bt-set-row", onClick: () => actions.openSettings("bots", bot.id) }, - (0, import_react28.createElement)( -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( "span", { className: "bt-set-bot" }, - (0, import_react28.createElement)(BotAvatar, { bot, size: 28, badge: false, live: false }), @@ -21583,42 +22338,42 @@ diff --git a/client.js b/client.js - bot.role ? (0, import_react28.createElement)("span", { className: "bt-tag" }, bot.role) : null, - isMainOf(roster, bot.id) ? (0, import_react28.createElement)("span", { className: "bt-tag" }, t("Main Bot")) : null, - bot.hidden && !isMainOf(roster, bot.id) ? (0, import_react28.createElement)("span", { className: "bt-tag" }, t("Hidden")) : null -+ (0, import_react42.createElement)(BotAvatar, { bot, size: 28, badge: false, live: false }), -+ (0, import_react42.createElement)("span", { className: "bt-row-title" }, bot.name), -+ bot.role ? (0, import_react42.createElement)("span", { className: "bt-tag" }, bot.role) : null, -+ isMainOf(roster, bot.id) ? (0, import_react42.createElement)("span", { className: "bt-tag" }, t("Main Bot")) : null, -+ bot.hidden && !isMainOf(roster, bot.id) ? (0, import_react42.createElement)("span", { className: "bt-tag" }, t("Hidden")) : null ++ (0, import_react43.createElement)(BotAvatar, { bot, size: 28, badge: false, live: false }), ++ (0, import_react43.createElement)("span", { className: "bt-row-title" }, bot.name), ++ bot.role ? (0, import_react43.createElement)("span", { className: "bt-tag" }, bot.role) : null, ++ isMainOf(roster, bot.id) ? (0, import_react43.createElement)("span", { className: "bt-tag" }, t("Main Bot")) : null, ++ bot.hidden && !isMainOf(roster, bot.id) ? (0, import_react43.createElement)("span", { className: "bt-tag" }, t("Hidden")) : null ), - (0, import_react28.createElement)("span", { className: "bt-chevron" }, (0, import_react28.createElement)(ChevronRightIcon)) -+ (0, import_react42.createElement)("span", { className: "bt-chevron" }, (0, import_react42.createElement)(ChevronRightIcon)) ++ (0, import_react43.createElement)("span", { className: "bt-chevron" }, (0, import_react43.createElement)(ChevronRightIcon)) )) ) ]; } function GroupsPage({ roster, actions, run }) { - const [creating, setCreating] = (0, import_react28.useState)(false); -+ const [creating, setCreating] = (0, import_react42.useState)(false); ++ const [creating, setCreating] = (0, import_react43.useState)(false); return [ - creating ? (0, import_react28.createElement)(NewGroupForm, { key: "create", roster, actions, run, onCancel: () => setCreating(false), onCreated: (room2) => actions.openSettings("groups", room2.id) }) : (0, import_react28.createElement)( -+ creating ? (0, import_react42.createElement)(NewGroupForm, { key: "create", roster, actions, run, onCancel: () => setCreating(false), onCreated: (room2) => actions.openSettings("groups", room2.id) }) : (0, import_react42.createElement)( ++ creating ? (0, import_react43.createElement)(NewGroupForm, { key: "create", roster, actions, run, onCancel: () => setCreating(false), onCreated: (room2) => actions.openSettings("groups", room2.id) }) : (0, import_react43.createElement)( "div", { key: "new", className: "bt-actions" }, - (0, import_react28.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm bt-with-icon", disabled: roster.bots.length < 2, title: roster.bots.length < 2 ? t("A group chat needs at least two Bots") : void 0, onClick: () => setCreating(true) }, (0, import_react28.createElement)(PlusIcon), t("Create group chat")) -+ (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm bt-with-icon", disabled: roster.bots.length < 2, title: roster.bots.length < 2 ? t("A group chat needs at least two Bots") : void 0, onClick: () => setCreating(true) }, (0, import_react42.createElement)(PlusIcon), t("Create group chat")) ++ (0, import_react43.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm bt-with-icon", disabled: roster.bots.length < 2, title: roster.bots.length < 2 ? t("A group chat needs at least two Bots") : void 0, onClick: () => setCreating(true) }, (0, import_react43.createElement)(PlusIcon), t("Create group chat")) ), - (0, import_react28.createElement)( -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( SetSection, { key: "groups", title: t("Group chats · {count}", { count: roster.rooms.length }) }, - roster.rooms.length === 0 ? (0, import_react28.createElement)(SetRow, { label: t("No group chats yet."), hint: t("A group chat lets several Bots work on one thing with you.") }) : roster.rooms.map((room2) => { -+ roster.rooms.length === 0 ? (0, import_react42.createElement)(SetRow, { label: t("No group chats yet."), hint: t("A group chat lets several Bots work on one thing with you.") }) : roster.rooms.map((room2) => { ++ roster.rooms.length === 0 ? (0, import_react43.createElement)(SetRow, { label: t("No group chats yet."), hint: t("A group chat lets several Bots work on one thing with you.") }) : roster.rooms.map((room2) => { const admin = roster.byId[room2.admin]; - return (0, import_react28.createElement)( -+ return (0, import_react42.createElement)( ++ return (0, import_react43.createElement)( "button", { key: room2.id, type: "button", className: "bt-set-row", onClick: () => actions.openSettings("groups", room2.id) }, - (0, import_react28.createElement)( -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( "span", { className: "bt-set-bot" }, - (0, import_react28.createElement)(RoomAvatar, { room: room2, roster, size: 28 }), @@ -21626,14 +22381,14 @@ diff --git a/client.js b/client.js - (0, import_react28.createElement)("span", { className: "bt-tag" }, t("{count} members", { count: room2.members.length })), - admin ? (0, import_react28.createElement)("span", { className: "bt-tag bt-tag-admin" }, (0, import_react28.createElement)(AdminStar), admin.name) : null, - room2.hidden ? (0, import_react28.createElement)("span", { className: "bt-tag" }, t("Hidden")) : null -+ (0, import_react42.createElement)(RoomAvatar, { room: room2, roster, size: 28 }), -+ (0, import_react42.createElement)("span", { className: "bt-row-title" }, room2.name), -+ (0, import_react42.createElement)("span", { className: "bt-tag" }, t(seatedCount(room2) === 1 ? "{count} member" : "{count} members", { count: seatedCount(room2) })), -+ admin ? (0, import_react42.createElement)("span", { className: "bt-tag bt-tag-admin" }, (0, import_react42.createElement)(AdminStar), admin.name) : null, -+ room2.hidden ? (0, import_react42.createElement)("span", { className: "bt-tag" }, t("Hidden")) : null ++ (0, import_react43.createElement)(RoomAvatar, { room: room2, roster, size: 28 }), ++ (0, import_react43.createElement)("span", { className: "bt-row-title" }, room2.name), ++ (0, import_react43.createElement)("span", { className: "bt-tag" }, t(seatedCount(room2) === 1 ? "{count} member" : "{count} members", { count: seatedCount(room2) })), ++ admin ? (0, import_react43.createElement)("span", { className: "bt-tag bt-tag-admin" }, (0, import_react43.createElement)(AdminStar), admin.name) : null, ++ room2.hidden ? (0, import_react43.createElement)("span", { className: "bt-tag" }, t("Hidden")) : null ), - (0, import_react28.createElement)("span", { className: "bt-chevron" }, (0, import_react28.createElement)(ChevronRightIcon)) -+ (0, import_react42.createElement)("span", { className: "bt-chevron" }, (0, import_react42.createElement)(ChevronRightIcon)) ++ (0, import_react43.createElement)("span", { className: "bt-chevron" }, (0, import_react43.createElement)(ChevronRightIcon)) ); }) ) @@ -21642,8 +22397,8 @@ diff --git a/client.js b/client.js function SettingsDialog({ page, id, roster, actions, useUpdate, leaving = false }) { - const [error, setError] = (0, import_react28.useState)(""); - const close = (0, import_react28.useCallback)(() => actions.closeSettings(), []); -+ const [error, setError] = (0, import_react42.useState)(""); -+ const close = (0, import_react42.useCallback)(() => actions.closeSettings(), []); ++ const [error, setError] = (0, import_react43.useState)(""); ++ const close = (0, import_react43.useCallback)(() => actions.closeSettings(), []); useEscape(close); const run = (promise) => Promise.resolve(promise).then(() => { setError(""); @@ -21664,34 +22419,34 @@ diff --git a/client.js b/client.js const pageKey = `${shown}:${bot?.id ?? room2?.id ?? ""}`; const depth = bot || room2 ? 1 : 0; - const last = (0, import_react28.useRef)({ key: pageKey, depth, move: "up" }); -+ const last = (0, import_react42.useRef)({ key: pageKey, depth, move: "up" }); ++ const last = (0, import_react43.useRef)({ key: pageKey, depth, move: "up" }); if (last.current.key !== pageKey) { last.current = { key: pageKey, depth, move: depth > last.current.depth ? "in" : depth < last.current.depth ? "out" : "up" }; } - const [usageOpened, setUsageOpened] = (0, import_react28.useState)(shown === "usage"); -+ const [usageOpened, setUsageOpened] = (0, import_react42.useState)(shown === "usage"); ++ const [usageOpened, setUsageOpened] = (0, import_react43.useState)(shown === "usage"); if (shown === "usage" && !usageOpened) setUsageOpened(true); - const errorLine = error ? (0, import_react28.createElement)("div", { className: "bt-error", role: "alert", style: { padding: 0 } }, error) : null; - return (0, import_react28.createElement)( -+ const errorLine = error ? (0, import_react42.createElement)("div", { className: "bt-error", role: "alert", style: { padding: 0 } }, error) : null; -+ return (0, import_react42.createElement)( ++ const errorLine = error ? (0, import_react43.createElement)("div", { className: "bt-error", role: "alert", style: { padding: 0 } }, error) : null; ++ return (0, import_react43.createElement)( "div", { className: "bt-settings-layer", "data-leaving": leaving || void 0 }, - (0, import_react28.createElement)("div", { className: "bt-scrim", onMouseDown: close }), - (0, import_react28.createElement)( -+ (0, import_react42.createElement)("div", { className: "bt-scrim", onMouseDown: close }), -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)("div", { className: "bt-scrim", onMouseDown: close }), ++ (0, import_react43.createElement)( "div", - { className: "bt-settings", role: "dialog", "aria-modal": true, "aria-label": t("DS Bot settings"), "data-wide": shown === "usage" ? "" : void 0 }, - (0, import_react28.createElement)( + { className: "bt-settings", role: "dialog", "aria-modal": true, "aria-label": t("FlyBot settings"), "data-wide": shown === "usage" ? "" : void 0 }, -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( "nav", { ref: nav.box, className: "bt-settings-nav", "aria-label": t("Settings pages") }, - (0, import_react28.createElement)("span", { ref: nav.thumb, className: "bt-thumb", "aria-hidden": true }), - SETTINGS_PAGES.map(([key, text]) => (0, import_react28.createElement)("button", { -+ (0, import_react42.createElement)("span", { ref: nav.thumb, className: "bt-thumb", "aria-hidden": true }), -+ pages.map(([key, text2]) => (0, import_react42.createElement)("button", { ++ (0, import_react43.createElement)("span", { ref: nav.thumb, className: "bt-thumb", "aria-hidden": true }), ++ pages.map(([key, text2]) => (0, import_react43.createElement)("button", { key, type: "button", className: "bt-settings-item", @@ -21699,10 +22454,10 @@ diff --git a/client.js b/client.js onClick: () => actions.openSettings(key) - }, (0, import_react28.createElement)(PAGE_ICONS[key]), t(text))), - (0, import_react28.createElement)("button", { -+ }, (0, import_react42.createElement)(extra.find((item) => item.key === key)?.entry.icon ?? PAGE_ICONS[key] ?? ConnectorIcon), t(text2))), ++ }, (0, import_react43.createElement)(extra.find((item) => item.key === key)?.entry.icon ?? PAGE_ICONS[key] ?? ConnectorIcon), t(text2))), + // DeepSeek Harness's own settings are a separate window with its own title and look; FlyBot + // does not embed or retitle it (never patch DSH), so the entry says it leaves (#421). -+ (0, import_react42.createElement)("button", { ++ (0, import_react43.createElement)("button", { type: "button", className: "bt-settings-item bt-settings-shell", - title: t("Models, providers, and the rest of DeepSeek Harness"), @@ -21713,23 +22468,23 @@ diff --git a/client.js b/client.js openHarnessSettings(); } - }, (0, import_react28.createElement)(SlidersIcon), t("Harness settings")) -+ }, (0, import_react42.createElement)(SlidersIcon), t("Harness settings"), (0, import_react42.createElement)("span", { className: "bt-settings-out", "aria-hidden": true }, "↗")) ++ }, (0, import_react43.createElement)(SlidersIcon), t("Harness settings"), (0, import_react43.createElement)("span", { className: "bt-settings-out", "aria-hidden": true }, "↗")) ), - (0, import_react28.createElement)( -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( "div", { className: "bt-settings-main" }, - (0, import_react28.createElement)( -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( "div", { className: "bt-settings-head" }, - back ? (0, import_react28.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": back, title: back, onClick: () => actions.openSettings(shown) }, (0, import_react28.createElement)(ChevronLeftIcon)) : null, - (0, import_react28.createElement)("h2", { key: bot?.id ?? room2?.id ?? shown }, bot?.name ?? room2?.name ?? label) -+ back ? (0, import_react42.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": back, title: back, onClick: () => actions.openSettings(shown) }, (0, import_react42.createElement)(ChevronLeftIcon)) : null, -+ (0, import_react42.createElement)("h2", { key: bot?.id ?? room2?.id ?? shown }, bot?.name ?? room2?.name ?? label) ++ back ? (0, import_react43.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": back, title: back, onClick: () => actions.openSettings(shown) }, (0, import_react43.createElement)(ChevronLeftIcon)) : null, ++ (0, import_react43.createElement)("h2", { key: bot?.id ?? room2?.id ?? shown }, bot?.name ?? room2?.name ?? label) ), - shown === "usage" ? null : (0, import_react28.createElement)( -+ shown === "usage" ? null : (0, import_react42.createElement)( ++ shown === "usage" ? null : (0, import_react43.createElement)( "div", { key: pageKey, className: "bt-settings-scroll bt-settings-page", "data-move": last.current.move }, errorLine, @@ -21744,32 +22499,32 @@ diff --git a/client.js b/client.js - shown === "secrets" ? (0, import_react28.createElement)(SecretsPage, { roster, actions, run, Section: SetSection }) : null, - shown === "feedback" ? (0, import_react28.createElement)(FeedbackPage, { actions, run, Section: SetSection, Row: SetRow }) : null, - shown === "about" ? (0, import_react28.createElement)(AboutPage, { useUpdate, actions, run, Section: SetSection, Row: SetRow }) : null -+ shown === "general" ? (0, import_react42.createElement)(GeneralPage, { roster, actions, run }) : null, -+ bot ? (0, import_react42.createElement)("div", { className: "bt-settings-form" }, (0, import_react42.createElement)(BotSettingsForm, { key: bot.id, bot, roster, actions, run })) : null, -+ shown === "bots" && !bot ? (0, import_react42.createElement)(BotsPage, { roster, actions, run }) : null, -+ room2 ? (0, import_react42.createElement)("div", { className: "bt-settings-form" }, (0, import_react42.createElement)(GroupSettingsForm, { key: room2.id, room: room2, roster, actions, run })) : null, -+ shown === "groups" && !room2 ? (0, import_react42.createElement)(GroupsPage, { roster, actions, run }) : null, -+ shown === "projects" ? (0, import_react42.createElement)(ProjectsPage, { roster, actions, run, call: call2 }) : null, -+ shown === "connectors" ? (0, import_react42.createElement)(ConnectorsPage, { roster, actions }) : null, -+ shown === "workflows" ? (0, import_react42.createElement)(WorkflowsPage, { call: call2, roster }) : null, -+ pluginPage ? (0, import_react42.createElement)(SettingsPageSlot, { entry: pluginPage, props: { roster, actions, call: call2, run, t, Section: SetSection, Row: SetRow } }) : null, -+ shown === "capabilities" ? (0, import_react42.createElement)(CapabilitiesPage, { roster, actions, run }) : null, -+ shown === "schedules" ? (0, import_react42.createElement)(SchedulesPage, { roster, actions, start: id ?? void 0 }) : null, -+ shown === "secrets" ? (0, import_react42.createElement)(SecretsPage, { roster, actions, run, Section: SetSection }) : null, -+ shown === "feedback" ? (0, import_react42.createElement)(FeedbackPage, { actions, run, Section: SetSection, Row: SetRow }) : null, -+ shown === "about" ? (0, import_react42.createElement)(AboutPage, { useUpdate, actions, run, Section: SetSection, Row: SetRow }) : null ++ shown === "general" ? (0, import_react43.createElement)(GeneralPage, { roster, actions, run }) : null, ++ bot ? (0, import_react43.createElement)("div", { className: "bt-settings-form" }, (0, import_react43.createElement)(BotSettingsForm, { key: bot.id, bot, roster, actions, run })) : null, ++ shown === "bots" && !bot ? (0, import_react43.createElement)(BotsPage, { roster, actions, run }) : null, ++ room2 ? (0, import_react43.createElement)("div", { className: "bt-settings-form" }, (0, import_react43.createElement)(GroupSettingsForm, { key: room2.id, room: room2, roster, actions, run })) : null, ++ shown === "groups" && !room2 ? (0, import_react43.createElement)(GroupsPage, { roster, actions, run }) : null, ++ shown === "projects" ? (0, import_react43.createElement)(ProjectsPage, { roster, actions, run, call: call2 }) : null, ++ shown === "connectors" ? (0, import_react43.createElement)(ConnectorsPage, { roster, actions }) : null, ++ shown === "workflows" ? (0, import_react43.createElement)(WorkflowsPage, { call: call2, roster }) : null, ++ pluginPage ? (0, import_react43.createElement)(SettingsPageSlot, { entry: pluginPage, props: { roster, actions, call: call2, run, t, Section: SetSection, Row: SetRow } }) : null, ++ shown === "capabilities" ? (0, import_react43.createElement)(CapabilitiesPage, { roster, actions, run }) : null, ++ shown === "schedules" ? (0, import_react43.createElement)(SchedulesPage, { roster, actions, start: id ?? void 0 }) : null, ++ shown === "secrets" ? (0, import_react43.createElement)(SecretsPage, { roster, actions, run, Section: SetSection }) : null, ++ shown === "feedback" ? (0, import_react43.createElement)(FeedbackPage, { actions, run, Section: SetSection, Row: SetRow }) : null, ++ shown === "about" ? (0, import_react43.createElement)(AboutPage, { useUpdate, actions, run, Section: SetSection, Row: SetRow }) : null ), - usageOpened ? (0, import_react28.createElement)( -+ usageOpened ? (0, import_react42.createElement)( ++ usageOpened ? (0, import_react43.createElement)( "div", { key: "usage", className: "bt-settings-scroll bt-settings-usage", "data-off": shown === "usage" ? void 0 : "", "aria-hidden": shown === "usage" ? void 0 : true }, shown === "usage" ? errorLine : null, - (0, import_react28.createElement)(UsagePage, { roster, actions, focusId: usageFocus }) -+ (0, import_react42.createElement)(UsagePage, { roster, actions, focusId: usageFocus }) ++ (0, import_react43.createElement)(UsagePage, { roster, actions, focusId: usageFocus }) ) : null ), - (0, import_react28.createElement)("button", { type: "button", className: "bt-settings-close", "aria-label": t("Close settings"), onClick: close }, (0, import_react28.createElement)(CloseIcon)) -+ (0, import_react42.createElement)("button", { type: "button", className: "bt-settings-close", "aria-label": t("Close settings"), onClick: close }, (0, import_react42.createElement)(CloseIcon)) ++ (0, import_react43.createElement)("button", { type: "button", className: "bt-settings-close", "aria-label": t("Close settings"), onClick: close }, (0, import_react43.createElement)(CloseIcon)) ) ); } @@ -21794,21 +22549,21 @@ diff --git a/client.js b/client.js + }; + const bound2 = members.filter((member) => member.projectId !== null && member.projectId !== void 0); + return [ -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( + SetSection, + { key: "projects", title: t("Projects · {count}", { count: projects.length }) }, -+ projects.length === 0 ? (0, import_react42.createElement)("div", { className: "bt-set-row" }, (0, import_react42.createElement)("div", { className: "bt-set-copy" }, (0, import_react42.createElement)("span", null, t("No Project yet — create one.")))) : projects.map((project) => (0, import_react42.createElement)( ++ projects.length === 0 ? (0, import_react43.createElement)("div", { className: "bt-set-row" }, (0, import_react43.createElement)("div", { className: "bt-set-copy" }, (0, import_react43.createElement)("span", null, t("No Project yet — create one.")))) : projects.map((project) => (0, import_react43.createElement)( + SetRow, + { + key: project.id, + label: project.name, + hint: project.workDir === null || project.workDir === void 0 ? void 0 : project.workDir + }, -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( + "div", + { className: "bt-project-row-controls" }, -+ (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => openProjectBoard(project.id) }, t("Open board")), -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => openProjectBoard(project.id) }, t("Open board")), ++ (0, import_react43.createElement)( + "select", + { + className: "bt-select", @@ -21818,8 +22573,8 @@ diff --git a/client.js b/client.js + void bind(event.target.value, project); + } + }, -+ (0, import_react42.createElement)("option", { value: "" }, t("Bind a Bot or group")), -+ members.map((member) => (0, import_react42.createElement)( ++ (0, import_react43.createElement)("option", { value: "" }, t("Bind a Bot or group")), ++ members.map((member) => (0, import_react43.createElement)( + "option", + { key: `${member.kind}:${member.id}`, value: `${member.kind}:${member.id}` }, + `${member.kind === "group" ? t("Group") : t("Bot")} · ${member.name}` @@ -21828,17 +22583,17 @@ diff --git a/client.js b/client.js + ) + )) + ), -+ bound2.length === 0 ? null : (0, import_react42.createElement)( ++ bound2.length === 0 ? null : (0, import_react43.createElement)( + SetSection, + { key: "bindings", title: t("Bindings") }, -+ bound2.map((member) => (0, import_react42.createElement)( ++ bound2.map((member) => (0, import_react43.createElement)( + SetRow, + { + key: `${member.kind}:${member.id}`, + label: member.name, + hint: member.kind === "group" ? t("Group") : t("Bot") + }, -+ (0, import_react42.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => { ++ (0, import_react43.createElement)("button", { type: "button", className: "bt-soft bt-soft-sm", onClick: () => { + void unbind(member); + } }, t("Unbind")) + )) @@ -21846,14 +22601,14 @@ diff --git a/client.js b/client.js + ]; +} +function ProjectsPage({ roster, actions, run, call: call4 }) { -+ const [state, setState] = (0, import_react42.useState)({ projects: [], error: null }); -+ const [name, setName] = (0, import_react42.useState)(""); -+ const [workDir, setWorkDir] = (0, import_react42.useState)(null); -+ const reload = (0, import_react42.useCallback)(async () => { ++ const [state, setState] = (0, import_react43.useState)({ projects: [], error: null }); ++ const [name, setName] = (0, import_react43.useState)(""); ++ const [workDir, setWorkDir] = (0, import_react43.useState)(null); ++ const reload = (0, import_react43.useCallback)(async () => { + const listing = await call4("projects"); + setState({ projects: listing?.projects ?? [], error: null }); + }, [call4]); -+ (0, import_react42.useEffect)(() => { ++ (0, import_react43.useEffect)(() => { + void reload().catch((error) => setState({ projects: [], error: error?.message ?? String(error) })); + }, [reload]); + const create = async () => { @@ -21871,14 +22626,14 @@ diff --git a/client.js b/client.js + } + }; + return [ -+ state.error === null ? null : (0, import_react42.createElement)("div", { key: "error", className: "bt-error", role: "alert" }, state.error), -+ (0, import_react42.createElement)( ++ state.error === null ? null : (0, import_react43.createElement)("div", { key: "error", className: "bt-error", role: "alert" }, state.error), ++ (0, import_react43.createElement)( + SetSection, + { key: "new", title: t("New Project") }, -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( + SetRow, + { label: t("Name") }, -+ (0, import_react42.createElement)("input", { ++ (0, import_react43.createElement)("input", { + className: "bt-input", + "aria-label": t("Project name"), + value: name, @@ -21886,22 +22641,22 @@ diff --git a/client.js b/client.js + onChange: (event) => setName(event.target.value) + }) + ), -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( + SetRow, + { label: t("Working folder"), hint: t("Optional. Where this Project's work happens.") }, -+ (0, import_react42.createElement)(FolderMenu, { value: workDir, actions, run, onPick: setWorkDir }) ++ (0, import_react43.createElement)(FolderMenu, { value: workDir, actions, run, onPick: setWorkDir }) + ), -+ (0, import_react42.createElement)( ++ (0, import_react43.createElement)( + "div", + { className: "bt-actions" }, -+ (0, import_react42.createElement)("button", { ++ (0, import_react43.createElement)("button", { + type: "button", + className: "bt-primary bt-with-icon", + disabled: name.trim() === "", + onClick: () => { + void create(); + } -+ }, (0, import_react42.createElement)(PlusIcon), t("New Project")) ++ }, (0, import_react43.createElement)(PlusIcon), t("New Project")) + ) + ), + // The list is rendered here rather than as a child element: it holds no state of its own, @@ -21912,11 +22667,11 @@ diff --git a/client.js b/client.js // src/client/context-menu.js -var import_react29 = require("react"); -+var import_react43 = require("react"); ++var import_react44 = require("react"); function ContextMenu({ menu, roster, actions, leaving = false }) { useEscape(() => actions.closeMenu()); - (0, import_react29.useEffect)(() => { -+ (0, import_react43.useEffect)(() => { ++ (0, import_react44.useEffect)(() => { const onDown = (event) => { if (!(event.target instanceof Element) || !event.target.closest(".bt-menu")) actions.closeMenu(); }; @@ -21927,15 +22682,15 @@ diff --git a/client.js b/client.js - const [place, setPlace] = (0, import_react29.useState)({ left: menu.x, top: menu.y }); - (0, import_react29.useLayoutEffect)(() => { + const structure = useSidebarStructure(); -+ const ref = (0, import_react43.useRef)(null); -+ const [place, setPlace] = (0, import_react43.useState)({ left: menu.x, top: menu.y }); -+ (0, import_react43.useLayoutEffect)(() => { ++ const ref = (0, import_react44.useRef)(null); ++ const [place, setPlace] = (0, import_react44.useState)({ left: menu.x, top: menu.y }); ++ (0, import_react44.useLayoutEffect)(() => { const box = ref.current?.getBoundingClientRect(); if (!box) return; setPlace({ left: Math.max(8, Math.min(menu.x, window.innerWidth - box.width - 8)), top: Math.max(8, Math.min(menu.y, window.innerHeight - box.height - 8)) }); }, [menu.x, menu.y]); - if (menu.kind === "agent" || menu.kind === "agent-session") return (0, import_react29.createElement)(AgentMenu, { menu, roster, actions, leaving }); -+ if (menu.kind === "agent" || menu.kind === "agent-session") return (0, import_react43.createElement)(AgentMenu, { menu, roster, actions, leaving }); ++ if (menu.kind === "agent" || menu.kind === "agent-session") return (0, import_react44.createElement)(AgentMenu, { menu, roster, actions, leaving }); const bot = roster.byId[menu.id]; const room2 = roster.roomsById[menu.id]; const entry = bot ?? room2; @@ -21978,18 +22733,18 @@ diff --git a/client.js b/client.js - return (0, import_react29.createElement)( + ]; + const shown = groups.map((group) => group.filter(Boolean)).filter((group) => group.length > 0); -+ return (0, import_react43.createElement)( ++ return (0, import_react44.createElement)( "div", { ref, className: "bt-menu", role: "menu", "aria-label": t("{name} actions", { name: bot?.name ?? room2.name }), style: place, "data-leaving": leaving || void 0 }, - groups.map((group, index) => (0, import_react29.createElement)( - import_react29.Fragment, -+ shown.map((group, index) => (0, import_react43.createElement)( -+ import_react43.Fragment, ++ shown.map((group, index) => (0, import_react44.createElement)( ++ import_react44.Fragment, { key: index }, - index > 0 ? (0, import_react29.createElement)("div", { className: "bt-menu-sep", role: "separator" }) : null, - group.map(([label, Icon, run, danger]) => (0, import_react29.createElement)("button", { -+ index > 0 ? (0, import_react43.createElement)("div", { className: "bt-menu-sep", role: "separator" }) : null, -+ group.map(([label, Icon, run, danger]) => (0, import_react43.createElement)("button", { ++ index > 0 ? (0, import_react44.createElement)("div", { className: "bt-menu-sep", role: "separator" }) : null, ++ group.map(([label, Icon, run, danger]) => (0, import_react44.createElement)("button", { key: label, type: "button", role: "menuitem", @@ -21998,7 +22753,7 @@ diff --git a/client.js b/client.js void Promise.resolve(run()).catch((error) => actions.reportError(error, "menu")); } - }, (0, import_react29.createElement)(Icon), label)) -+ }, (0, import_react43.createElement)(Icon), label)) ++ }, (0, import_react44.createElement)(Icon), label)) )) ); } @@ -22006,9 +22761,9 @@ diff --git a/client.js b/client.js - const ref = (0, import_react29.useRef)(null); - const [place, setPlace] = (0, import_react29.useState)({ left: menu.x, top: menu.y }); - (0, import_react29.useLayoutEffect)(() => { -+ const ref = (0, import_react43.useRef)(null); -+ const [place, setPlace] = (0, import_react43.useState)({ left: menu.x, top: menu.y }); -+ (0, import_react43.useLayoutEffect)(() => { ++ const ref = (0, import_react44.useRef)(null); ++ const [place, setPlace] = (0, import_react44.useState)({ left: menu.x, top: menu.y }); ++ (0, import_react44.useLayoutEffect)(() => { const box = ref.current?.getBoundingClientRect(); if (!box) return; setPlace({ left: Math.max(8, Math.min(menu.x, window.innerWidth - box.width - 8)), top: Math.max(8, Math.min(menu.y, window.innerHeight - box.height - 8)) }); @@ -22017,18 +22772,18 @@ diff --git a/client.js b/client.js ] ]; - return (0, import_react29.createElement)( -+ return (0, import_react43.createElement)( ++ return (0, import_react44.createElement)( "div", { ref, className: "bt-menu", role: "menu", "aria-label": menu.kind === "agent" ? "DSH Agent" : t("Session actions"), style: place, "data-leaving": leaving || void 0 }, - groups.map((group, index) => (0, import_react29.createElement)( - import_react29.Fragment, -+ groups.map((group, index) => (0, import_react43.createElement)( -+ import_react43.Fragment, ++ groups.map((group, index) => (0, import_react44.createElement)( ++ import_react44.Fragment, { key: index }, - index > 0 ? (0, import_react29.createElement)("div", { className: "bt-menu-sep", role: "separator" }) : null, - group.map(([label, Icon, run, danger]) => (0, import_react29.createElement)("button", { -+ index > 0 ? (0, import_react43.createElement)("div", { className: "bt-menu-sep", role: "separator" }) : null, -+ group.map(([label, Icon, run, danger]) => (0, import_react43.createElement)("button", { ++ index > 0 ? (0, import_react44.createElement)("div", { className: "bt-menu-sep", role: "separator" }) : null, ++ group.map(([label, Icon, run, danger]) => (0, import_react44.createElement)("button", { key: label, type: "button", role: "menuitem", @@ -22037,7 +22792,7 @@ diff --git a/client.js b/client.js void Promise.resolve(run()).catch((error) => console.warn("[ds-bot]", error)); } - }, (0, import_react29.createElement)(Icon), label)) -+ }, (0, import_react43.createElement)(Icon), label)) ++ }, (0, import_react44.createElement)(Icon), label)) )) ); } @@ -22328,7 +23083,7 @@ diff --git a/client.js b/client.js - } - return lines.join("\n\n"); -} -+var import_react44 = require("react"); ++var import_react45 = require("react"); var TAB_LABELS = { details: "Details", browser: "Browser" }; var hostOf = (url) => { try { @@ -22337,11 +23092,11 @@ diff --git a/client.js b/client.js var DANGER = /* @__PURE__ */ new Set(["danger-full-access"]); function PermissionRow({ bot, roster, actions, run }) { - const [pending, setPending] = (0, import_react31.useState)(null); -+ const [pending, setPending] = (0, import_react44.useState)(null); ++ const [pending, setPending] = (0, import_react45.useState)(null); const catalog = roster.permissions; const saved = bot.permission ?? catalog?.defaultPreset; - (0, import_react31.useEffect)(() => { -+ (0, import_react44.useEffect)(() => { ++ (0, import_react45.useEffect)(() => { if (pending === saved) setPending(null); }, [pending, saved]); if (!catalog?.options?.length) return null; @@ -22350,17 +23105,17 @@ diff --git a/client.js b/client.js void run(actions.updateBot(bot.id, { permission: value })).catch(() => setPending(null)); }; - return (0, import_react31.createElement)( -+ return (0, import_react44.createElement)( ++ return (0, import_react45.createElement)( "div", { className: "bt-drawer-permission" }, - (0, import_react31.createElement)("div", { className: "bt-section-title" }, t("Permissions")), - (0, import_react31.createElement)( -+ (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Permissions")), -+ (0, import_react44.createElement)( ++ (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Permissions")), ++ (0, import_react45.createElement)( Segmented, { label: t("Permissions"), value: current }, - catalog.options.map((option) => (0, import_react31.createElement)("button", { -+ catalog.options.map((option) => (0, import_react44.createElement)("button", { ++ catalog.options.map((option) => (0, import_react45.createElement)("button", { key: option.value, type: "button", "aria-pressed": option.value === current, @@ -22369,56 +23124,56 @@ diff --git a/client.js b/client.js const state = useBrowserTabs((map) => map[bot.id] ?? EMPTY_TABS); const pages = useBrowserPages((map) => map); - (0, import_react31.useEffect)(() => { -+ (0, import_react44.useEffect)(() => { ++ (0, import_react45.useEffect)(() => { actions.browserEnsure?.(bot.id); }, [bot.id]); if (roster.browser !== true || !actions.browserShow) { - return (0, import_react31.createElement)("div", { className: "bt-muted" }, t("The browser is in the DSH Desktop app.")); -+ return (0, import_react44.createElement)("div", { className: "bt-muted" }, t("The browser is in the DSH Desktop app.")); ++ return (0, import_react45.createElement)("div", { className: "bt-muted" }, t("The browser is in the DSH Desktop app.")); } if (state.ids.length === 0) { - return (0, import_react31.createElement)( -+ return (0, import_react44.createElement)( ++ return (0, import_react45.createElement)( "div", { className: "bt-browser-empty-mark" }, - (0, import_react31.createElement)(BotMark, { bot, size: 40, state: "idle", live: true }), - (0, import_react31.createElement)("div", { className: "bt-browser-empty-title" }, t("{name}'s browser", { name: bot.name })), - (0, import_react31.createElement)("div", { className: "bt-muted" }, t("Open a page here and {name} can read it with you. Logins and cookies stay with {name}; other Bots never see them.", { name: bot.name })), - (0, import_react31.createElement)("button", { type: "button", className: "bt-browser-retry", onClick: () => actions.openBrowser(sessionId) }, t("Open browser")) -+ (0, import_react44.createElement)(BotMark, { bot, size: 40, state: "idle", live: true }), -+ (0, import_react44.createElement)("div", { className: "bt-browser-empty-title" }, t("{name}'s browser", { name: bot.name })), -+ (0, import_react44.createElement)("div", { className: "bt-muted" }, t("Open a page here and {name} can read it with you. Logins and cookies stay with {name}; other Bots never see them.", { name: bot.name })), -+ (0, import_react44.createElement)("button", { type: "button", className: "bt-browser-retry", onClick: () => actions.openBrowser(sessionId) }, t("Open browser")) ++ (0, import_react45.createElement)(BotMark, { bot, size: 40, state: "idle", live: true }), ++ (0, import_react45.createElement)("div", { className: "bt-browser-empty-title" }, t("{name}'s browser", { name: bot.name })), ++ (0, import_react45.createElement)("div", { className: "bt-muted" }, t("Open a page here and {name} can read it with you. Logins and cookies stay with {name}; other Bots never see them.", { name: bot.name })), ++ (0, import_react45.createElement)("button", { type: "button", className: "bt-browser-retry", onClick: () => actions.openBrowser(sessionId) }, t("Open browser")) ); } - return (0, import_react31.createElement)( -+ return (0, import_react44.createElement)( ++ return (0, import_react45.createElement)( "div", { className: "bt-bcards" }, state.ids.map((tabId, index) => { const page = pages[tabId] ?? {}; const label = page.title || shortUrl(page.url) || t("New tab"); - return (0, import_react31.createElement)( -+ return (0, import_react44.createElement)( ++ return (0, import_react45.createElement)( "div", { key: tabId, className: "bt-bcard", "data-active": state.active === tabId || void 0, style: { animationDelay: `${index * 30}ms` } }, - (0, import_react31.createElement)( -+ (0, import_react44.createElement)( ++ (0, import_react45.createElement)( "button", { type: "button", className: "bt-bcard-shot", "aria-label": t("Open {title}", { title: label }), title: page.url, onClick: () => actions.browserPick(sessionId, tabId) }, - page.excerpt ? (0, import_react31.createElement)( -+ page.excerpt ? (0, import_react44.createElement)( ++ page.excerpt ? (0, import_react45.createElement)( "span", { className: "bt-bcard-preview" }, - (0, import_react31.createElement)("span", { className: "bt-bcard-ptitle" }, label), - (0, import_react31.createElement)("span", { className: "bt-bcard-excerpt" }, page.excerpt) - ) : (0, import_react31.createElement)("span", { className: "bt-bcard-blank" }, (0, import_react31.createElement)(GlobeIcon), (0, import_react31.createElement)("span", null, label)) -+ (0, import_react44.createElement)("span", { className: "bt-bcard-ptitle" }, label), -+ (0, import_react44.createElement)("span", { className: "bt-bcard-excerpt" }, page.excerpt) -+ ) : (0, import_react44.createElement)("span", { className: "bt-bcard-blank" }, (0, import_react44.createElement)(GlobeIcon), (0, import_react44.createElement)("span", null, label)) ++ (0, import_react45.createElement)("span", { className: "bt-bcard-ptitle" }, label), ++ (0, import_react45.createElement)("span", { className: "bt-bcard-excerpt" }, page.excerpt) ++ ) : (0, import_react45.createElement)("span", { className: "bt-bcard-blank" }, (0, import_react45.createElement)(GlobeIcon), (0, import_react45.createElement)("span", null, label)) ), - (0, import_react31.createElement)("button", { -+ (0, import_react44.createElement)("button", { ++ (0, import_react45.createElement)("button", { type: "button", className: "bt-bcard-x", "aria-label": t("Close tab"), @@ -22427,20 +23182,20 @@ diff --git a/client.js b/client.js } }, "×"), - (0, import_react31.createElement)( -+ (0, import_react44.createElement)( ++ (0, import_react45.createElement)( "div", { className: "bt-bcard-row" }, - (0, import_react31.createElement)(Favicon, { src: page.favicon, className: "bt-bcard-fav" }), - (0, import_react31.createElement)("span", { className: "bt-bcard-title" }, label), - page.url ? (0, import_react31.createElement)("span", { className: "bt-bcard-host" }, hostOf(page.url)) : null -+ (0, import_react44.createElement)(Favicon, { src: page.favicon, className: "bt-bcard-fav" }), -+ (0, import_react44.createElement)("span", { className: "bt-bcard-title" }, label), -+ page.url ? (0, import_react44.createElement)("span", { className: "bt-bcard-host" }, hostOf(page.url)) : null ++ (0, import_react45.createElement)(Favicon, { src: page.favicon, className: "bt-bcard-fav" }), ++ (0, import_react45.createElement)("span", { className: "bt-bcard-title" }, label), ++ page.url ? (0, import_react45.createElement)("span", { className: "bt-bcard-host" }, hostOf(page.url)) : null ) ); }), - (0, import_react31.createElement)("button", { type: "button", className: "bt-bcard-new", style: { animationDelay: `${state.ids.length * 30}ms` }, onClick: () => actions.browserNewTab(sessionId) }, (0, import_react31.createElement)(PlusIcon), t("New tab")) -+ (0, import_react44.createElement)("button", { type: "button", className: "bt-bcard-new", style: { animationDelay: `${state.ids.length * 30}ms` }, onClick: () => actions.browserNewTab(sessionId) }, (0, import_react44.createElement)(PlusIcon), t("New tab")) ++ (0, import_react45.createElement)("button", { type: "button", className: "bt-bcard-new", style: { animationDelay: `${state.ids.length * 30}ms` }, onClick: () => actions.browserNewTab(sessionId) }, (0, import_react45.createElement)(PlusIcon), t("New tab")) ); } -function About({ text, title = "About" }) { @@ -22448,24 +23203,24 @@ diff --git a/client.js b/client.js - const long = text.split("\n").length > 5 || text.length > 240; - const body = (0, import_react31.useRef)(null); +function About({ text: text2, title = "About" }) { -+ const [open, setOpen] = (0, import_react44.useState)(false); ++ const [open, setOpen] = (0, import_react45.useState)(false); + const long = text2.split("\n").length > 5 || text2.length > 240; -+ const body = (0, import_react44.useRef)(null); ++ const body = (0, import_react45.useRef)(null); useMorph(body, open); - return (0, import_react31.createElement)( -+ return (0, import_react44.createElement)( ++ return (0, import_react45.createElement)( + "div", + null, -+ (0, import_react44.createElement)("div", { className: "bt-section-title" }, t(title)), -+ (0, import_react44.createElement)("div", { ref: body, className: "bt-about", "data-open": open || void 0 }, text2), -+ long ? (0, import_react44.createElement)("button", { type: "button", className: "bt-more", onClick: () => setOpen((value) => !value) }, open ? t("Show less") : t("Show more")) : null ++ (0, import_react45.createElement)("div", { className: "bt-section-title" }, t(title)), ++ (0, import_react45.createElement)("div", { ref: body, className: "bt-about", "data-open": open || void 0 }, text2), ++ long ? (0, import_react45.createElement)("button", { type: "button", className: "bt-more", onClick: () => setOpen((value) => !value) }, open ? t("Show less") : t("Show more")) : null + ); +} +function SharedRoomApprovals({ room: room2 }) { -+ const [items, setItems] = (0, import_react44.useState)(room2.pendingApprovals ?? []); -+ const [busy, setBusy] = (0, import_react44.useState)(""); ++ const [items, setItems] = (0, import_react45.useState)(room2.pendingApprovals ?? []); ++ const [busy, setBusy] = (0, import_react45.useState)(""); + const face = room2.origin === "face-to-face"; -+ (0, import_react44.useEffect)(() => { ++ (0, import_react45.useEffect)(() => { + const haveItems = Array.isArray(room2.pendingApprovals) && room2.pendingApprovals.length; + if (haveItems) setItems(room2.pendingApprovals); + if (room2.viewerRole !== "invited-owner" && !face) return void 0; @@ -22491,31 +23246,31 @@ diff --git a/client.js b/client.js + setBusy(""); + } + }; -+ return (0, import_react44.createElement)( ++ return (0, import_react45.createElement)( + "div", + { key: "approvals", className: "bt-shared-wait", "data-flybot": "room-pending-approvals" }, -+ (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Waiting for your approval"), (0, import_react44.createElement)("span", { className: "bt-chip" }, t("{count} to approve", { count: items.length }))), -+ items.map((item) => (0, import_react44.createElement)( ++ (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Waiting for your approval"), (0, import_react45.createElement)("span", { className: "bt-chip" }, t("{count} to approve", { count: items.length }))), ++ items.map((item) => (0, import_react45.createElement)( + "div", + { key: item.id, className: "bt-set-row" }, -+ (0, import_react44.createElement)("span", { className: "bt-set-copy" }, item.text || item.summary || item.to || t("Outbound reply")), -+ (0, import_react44.createElement)("button", { type: "button", className: "bt-mini", disabled: busy === item.id, onClick: () => decide(item, "approve") }, t("Approve")), -+ (0, import_react44.createElement)("button", { type: "button", className: "bt-mini", disabled: busy === item.id, onClick: () => decide(item, "reject") }, t("Reject")) ++ (0, import_react45.createElement)("span", { className: "bt-set-copy" }, item.text || item.summary || item.to || t("Outbound reply")), ++ (0, import_react45.createElement)("button", { type: "button", className: "bt-mini", disabled: busy === item.id, onClick: () => decide(item, "approve") }, t("Approve")), ++ (0, import_react45.createElement)("button", { type: "button", className: "bt-mini", disabled: busy === item.id, onClick: () => decide(item, "reject") }, t("Reject")) + )) + ); +} +function FaceMembers({ room: room2, roster, actions }) { + const people2 = facePeople(room2, roster); + const pick2 = (bot) => call("social/face-lead", { roomId: room2.id, bot }); -+ return (0, import_react44.createElement)( ++ return (0, import_react45.createElement)( "div", null, - (0, import_react31.createElement)("div", { className: "bt-section-title" }, t(title)), - (0, import_react31.createElement)("div", { ref: body, className: "bt-about", "data-open": open || void 0 }, text), - long ? (0, import_react31.createElement)("button", { type: "button", className: "bt-more", onClick: () => setOpen((value) => !value) }, open ? t("Show less") : t("Show more")) : null -+ (0, import_react44.createElement)(FaceLead, { room: room2, roster, pick: pick2 }), -+ (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Members · {count}", { count: people2.length })), -+ (0, import_react44.createElement)("div", { className: "bt-members", role: "list" }, people2.map((person) => (0, import_react44.createElement)(FacePersonRow, { ++ (0, import_react45.createElement)(FaceLead, { room: room2, roster, pick: pick2 }), ++ (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Members · {count}", { count: people2.length })), ++ (0, import_react45.createElement)("div", { className: "bt-members", role: "list" }, people2.map((person) => (0, import_react45.createElement)(FacePersonRow, { + key: person.key, + person, + roster, @@ -22541,31 +23296,31 @@ diff --git a/client.js b/client.js return [ - room2.notice ? (0, import_react31.createElement)(About, { key: "notice", title: "Notice", text: room2.notice }) : (0, import_react31.createElement)("button", { key: "notice", type: "button", className: "bt-more", onClick: openSettings }, t("Add a notice in group settings")), - (0, import_react31.createElement)( -+ (0, import_react44.createElement)(FlyBotRoomOverview, { key: "plugin-overview", room: room2, roster, actions }), -+ invited && room2.sharedFrom && !face ? (0, import_react44.createElement)( ++ (0, import_react45.createElement)(FlyBotRoomOverview, { key: "plugin-overview", room: room2, roster, actions }), ++ invited && room2.sharedFrom && !face ? (0, import_react45.createElement)( + "div", + { key: "from", className: "bt-shared-from" }, -+ (0, import_react44.createElement)("div", { className: "bt-section-title" }, title), -+ (0, import_react44.createElement)("div", { className: "bt-set-hint" }, t("Your Bot was invited to this room by {name}", { name: room2.sharedFrom.inviterName })), -+ room2.sharedFrom.invitedAt ? (0, import_react44.createElement)("div", { className: "bt-set-hint" }, t("Invited {when}", { when: new Date(room2.sharedFrom.invitedAt).toLocaleString() })) : null, -+ (0, import_react44.createElement)("button", { type: "button", className: "bt-more", onClick: leaveMine }, t("Remove my Bot")) -+ ) : face ? null : room2.notice ? (0, import_react44.createElement)(About, { key: "notice", title: "Notice", text: room2.notice }) : (0, import_react44.createElement)("button", { key: "notice", type: "button", className: "bt-more", onClick: openSettings }, t("Add a notice in group settings")), -+ face ? null : (0, import_react44.createElement)(SharedRoomApprovals, { key: "approvals", room: room2 }), -+ face && (room2.face?.status === "candidate" || room2.face?.status === "joining") ? null : face ? (0, import_react44.createElement)(FaceMembers, { key: "members", room: room2, roster, actions }) : (0, import_react44.createElement)( ++ (0, import_react45.createElement)("div", { className: "bt-section-title" }, title), ++ (0, import_react45.createElement)("div", { className: "bt-set-hint" }, t("Your Bot was invited to this room by {name}", { name: room2.sharedFrom.inviterName })), ++ room2.sharedFrom.invitedAt ? (0, import_react45.createElement)("div", { className: "bt-set-hint" }, t("Invited {when}", { when: new Date(room2.sharedFrom.invitedAt).toLocaleString() })) : null, ++ (0, import_react45.createElement)("button", { type: "button", className: "bt-more", onClick: leaveMine }, t("Remove my Bot")) ++ ) : face ? null : room2.notice ? (0, import_react45.createElement)(About, { key: "notice", title: "Notice", text: room2.notice }) : (0, import_react45.createElement)("button", { key: "notice", type: "button", className: "bt-more", onClick: openSettings }, t("Add a notice in group settings")), ++ face ? null : (0, import_react45.createElement)(SharedRoomApprovals, { key: "approvals", room: room2 }), ++ face && (room2.face?.status === "candidate" || room2.face?.status === "joining") ? null : face ? (0, import_react45.createElement)(FaceMembers, { key: "members", room: room2, roster, actions }) : (0, import_react45.createElement)( "div", { key: "members" }, - (0, import_react31.createElement)("div", { className: "bt-section-title" }, t("Members · {count}", { count: members.length })), - (0, import_react31.createElement)("div", { className: "bt-members", role: "list" }, members.map((member) => { - const entry = entries2.find((item) => item.id === member.id); - return (0, import_react31.createElement)( -+ (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Members · {count}", { count: members.length + humans.length + remotes.length })), -+ (0, import_react44.createElement)("div", { className: "bt-members", role: "list" }, [ -+ ...humans.map((person) => (0, import_react44.createElement)( ++ (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Members · {count}", { count: members.length + humans.length + remotes.length })), ++ (0, import_react45.createElement)("div", { className: "bt-members", role: "list" }, [ ++ ...humans.map((person) => (0, import_react45.createElement)( "div", - { key: member.id, role: "listitem" }, - (0, import_react31.createElement)( + { key: person.id, role: "listitem" }, -+ (0, import_react44.createElement)( ++ (0, import_react45.createElement)( "div", { className: "bt-member" }, - (0, import_react31.createElement)( @@ -22573,70 +23328,70 @@ diff --git a/client.js b/client.js - { type: "button", className: "bt-member-name", title: t("Open {name}'s chat", { name: member.name }), onClick: () => actions.openSession(member.id) }, - (0, import_react31.createElement)(BotAvatar, { bot: member, size: 26, main: isMainOf(roster, member.id), admin: room2.admin === member.id, live: false }), - (0, import_react31.createElement)("span", null, member.name) -+ (0, import_react44.createElement)("span", { className: "bt-member-name" }, (0, import_react44.createElement)("span", null, person.displayName || person.id)), -+ (0, import_react44.createElement)("span", { className: "bt-chip" }, t("Human")), -+ person.role === "admin" ? (0, import_react44.createElement)("span", { className: "bt-chip bt-chip-admin" }, t("Admin")) : null ++ (0, import_react45.createElement)("span", { className: "bt-member-name" }, (0, import_react45.createElement)("span", null, person.displayName || person.id)), ++ (0, import_react45.createElement)("span", { className: "bt-chip" }, t("Human")), ++ person.role === "admin" ? (0, import_react45.createElement)("span", { className: "bt-chip bt-chip-admin" }, t("Admin")) : null + ) + )), -+ ...remotes.map((person) => (0, import_react44.createElement)( ++ ...remotes.map((person) => (0, import_react45.createElement)( + "div", + { key: person.handle || person.id, role: "listitem" }, -+ (0, import_react44.createElement)( ++ (0, import_react45.createElement)( + "div", + { className: "bt-member" }, -+ (0, import_react44.createElement)( ++ (0, import_react45.createElement)( + "span", + { className: "bt-member-name" }, -+ (0, import_react44.createElement)(BotAvatar, { bot: lookBotForRemote(person, roster), size: 26, badge: false, live: false }), -+ (0, import_react44.createElement)("span", { title: person.handle || void 0 }, person.label || remoteBotTitle(person)) ++ (0, import_react45.createElement)(BotAvatar, { bot: lookBotForRemote(person, roster), size: 26, badge: false, live: false }), ++ (0, import_react45.createElement)("span", { title: person.handle || void 0 }, person.label || remoteBotTitle(person)) ), - room2.admin === member.id ? (0, import_react31.createElement)("span", { className: "bt-chip bt-chip-admin" }, t("Admin")) : null - ), - entry ? (0, import_react31.createElement)(MemberWork, { entry, bot: member, room: room2, roster, actions, now }) : null - ); - })) -+ face ? null : (0, import_react44.createElement)("span", { className: "bt-chip" }, t("Friend's Bot")) ++ face ? null : (0, import_react45.createElement)("span", { className: "bt-chip" }, t("Friend's Bot")) + ) + )), + ...members.map((member) => { + const entry = entries2.find((item) => item.id === member.id); -+ return (0, import_react44.createElement)( ++ return (0, import_react45.createElement)( + "div", + { key: member.id, role: "listitem" }, -+ (0, import_react44.createElement)( ++ (0, import_react45.createElement)( + "div", + { className: "bt-member" }, -+ (0, import_react44.createElement)( ++ (0, import_react45.createElement)( + "button", + { type: "button", className: "bt-member-name", title: t("Open {name}'s chat", { name: member.name }), onClick: () => actions.openSession(member.id) }, -+ (0, import_react44.createElement)(BotAvatar, { bot: member, size: 26, main: isMainOf(roster, member.id), admin: room2.admin === member.id, live: false }), -+ (0, import_react44.createElement)("span", null, member.name) ++ (0, import_react45.createElement)(BotAvatar, { bot: member, size: 26, main: isMainOf(roster, member.id), admin: room2.admin === member.id, live: false }), ++ (0, import_react45.createElement)("span", null, member.name) + ), -+ room2.admin === member.id ? (0, import_react44.createElement)("span", { className: "bt-chip bt-chip-admin" }, t("Admin")) : null ++ room2.admin === member.id ? (0, import_react45.createElement)("span", { className: "bt-chip bt-chip-admin" }, t("Admin")) : null + ), -+ entry ? (0, import_react44.createElement)(MemberWork, { entry, bot: member, room: room2, roster, actions, now }) : null ++ entry ? (0, import_react45.createElement)(MemberWork, { entry, bot: member, room: room2, roster, actions, now }) : null + ); + }) + ]) ), - (0, import_react31.createElement)( -+ face ? null : (0, import_react44.createElement)( ++ face ? null : (0, import_react45.createElement)( "div", { key: "mode" }, - (0, import_react31.createElement)("div", { className: "bt-section-title" }, t("Who answers")), - (0, import_react31.createElement)("div", { className: "bt-kv" }, (0, import_react31.createElement)("span", null, t(ROOM_MODES.find(([id]) => id === shownMode(room2, roster))?.[1] ?? "Everyone"))) -+ (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Who answers")), -+ (0, import_react44.createElement)("div", { className: "bt-kv" }, (0, import_react44.createElement)("span", null, t(ROOM_MODES.find(([id]) => id === shownMode(room2, roster))?.[1] ?? "Everyone"))) ++ (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Who answers")), ++ (0, import_react45.createElement)("div", { className: "bt-kv" }, (0, import_react45.createElement)("span", null, t(ROOM_MODES.find(([id]) => id === shownMode(room2, roster))?.[1] ?? "Everyone"))) ), - usage ? (0, import_react31.createElement)( -+ face || !usage ? null : (0, import_react44.createElement)( ++ face || !usage ? null : (0, import_react45.createElement)( "div", { key: "usage" }, - (0, import_react31.createElement)("div", { className: "bt-section-title" }, t("Usage")), - (0, import_react31.createElement)("div", { className: "bt-kv" }, (0, import_react31.createElement)("span", null, room2.name), (0, import_react31.createElement)("span", null, usage)) - ) : null -+ (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Usage")), -+ (0, import_react44.createElement)("div", { className: "bt-kv" }, (0, import_react44.createElement)("span", null, room2.name), (0, import_react44.createElement)("span", null, usage)) ++ (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Usage")), ++ (0, import_react45.createElement)("div", { className: "bt-kv" }, (0, import_react45.createElement)("span", null, room2.name), (0, import_react45.createElement)("span", null, usage)) + ) ]; } @@ -22645,21 +23400,21 @@ diff --git a/client.js b/client.js const part = owner ? currentPart(owner) : sessionId; const isMainBot = isMainOf(roster, owner?.id); - const [tab, setTab] = (0, import_react31.useState)("details"); -+ const [tab, setTab] = (0, import_react44.useState)("details"); ++ const [tab, setTab] = (0, import_react45.useState)("details"); const room2 = roster.roomsById[sessionId]; - const [view, setView] = (0, import_react31.useState)(startTab === "settings" && (owner || room2) ? "settings" : "overview"); - const [editing, setEditing] = (0, import_react31.useState)(Boolean(startRenaming && (roster.byId[sessionId] || roster.roomsById[sessionId]))); - const [draftName, setDraftName] = (0, import_react31.useState)(roster.byId[sessionId]?.name ?? (roster.roomsById[sessionId]?.named ? roster.roomsById[sessionId].name : "")); - const [copied, setCopied] = (0, import_react31.useState)(false); - const [error, setError] = (0, import_react31.useState)(""); -+ const [view, setView] = (0, import_react44.useState)(startTab === "settings" && (owner || room2) ? "settings" : "overview"); -+ const [editing, setEditing] = (0, import_react44.useState)(Boolean(startRenaming && (roster.byId[sessionId] || roster.roomsById[sessionId]))); -+ const [draftName, setDraftName] = (0, import_react44.useState)(roster.byId[sessionId]?.name ?? (roster.roomsById[sessionId]?.named ? roster.roomsById[sessionId].name : "")); -+ const [copied, setCopied] = (0, import_react44.useState)(false); -+ const [error, setError] = (0, import_react44.useState)(""); ++ const [view, setView] = (0, import_react45.useState)(startTab === "settings" && (owner || room2) ? "settings" : "overview"); ++ const [editing, setEditing] = (0, import_react45.useState)(Boolean(startRenaming && (roster.byId[sessionId] || roster.roomsById[sessionId]))); ++ const [draftName, setDraftName] = (0, import_react45.useState)(roster.byId[sessionId]?.name ?? (roster.roomsById[sessionId]?.named ? roster.roomsById[sessionId].name : "")); ++ const [copied, setCopied] = (0, import_react45.useState)(false); ++ const [error, setError] = (0, import_react45.useState)(""); const glide = useGlide(tab); - const last = (0, import_react31.useRef)({ view, tab, move: void 0 }); -+ const last = (0, import_react44.useRef)({ view, tab, move: void 0 }); ++ const last = (0, import_react45.useRef)({ view, tab, move: void 0 }); if (last.current.view !== view) last.current = { view, tab, move: view === "settings" ? "in" : "out" }; else if (last.current.tab !== tab) last.current = { view, tab, move: "tab" }; const move = last.current.move; @@ -22694,48 +23449,48 @@ diff --git a/client.js b/client.js }; - const errorLine = error ? (0, import_react31.createElement)("div", { className: "bt-error", role: "alert", style: { padding: 0 } }, error) : null; - if ((bot || room2) && view === "settings") { -+ const errorLine = error ? (0, import_react44.createElement)("div", { className: "bt-error", role: "alert", style: { padding: 0 } }, error) : null; ++ const errorLine = error ? (0, import_react45.createElement)("div", { className: "bt-error", role: "alert", style: { padding: 0 } }, error) : null; + if ((bot || room2) && view === "settings" && !bot?.remote) { return [ - (0, import_react31.createElement)( -+ (0, import_react44.createElement)( ++ (0, import_react45.createElement)( "div", { key: "head", className: "bt-subhead", "data-move": move }, - (0, import_react31.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Back to details"), onClick: () => setView("overview") }, (0, import_react31.createElement)(ChevronLeftIcon)), - (0, import_react31.createElement)("span", { className: "bt-subhead-title" }, bot ? t("Settings") : t("Group settings")), - hasStrip ? null : (0, import_react31.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Close details"), onClick: close }, (0, import_react31.createElement)(CloseIcon)) -+ (0, import_react44.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Back to details"), onClick: () => setView("overview") }, (0, import_react44.createElement)(ChevronLeftIcon)), -+ (0, import_react44.createElement)("span", { className: "bt-subhead-title" }, bot ? t("Settings") : t("Group settings")), -+ hasStrip ? null : (0, import_react44.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Close details"), onClick: close }, (0, import_react44.createElement)(CloseIcon)) ++ (0, import_react45.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Back to details"), onClick: () => setView("overview") }, (0, import_react45.createElement)(ChevronLeftIcon)), ++ (0, import_react45.createElement)("span", { className: "bt-subhead-title" }, bot ? t("Settings") : t("Group settings")), ++ hasStrip ? null : (0, import_react45.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Close details"), onClick: close }, (0, import_react45.createElement)(CloseIcon)) ), - (0, import_react31.createElement)( -+ (0, import_react44.createElement)( ++ (0, import_react45.createElement)( "div", { key: "set-body", className: "bt-drawer-body bt-set-body", "data-move": move }, errorLine, - bot ? (0, import_react31.createElement)(BotSettingsForm, { bot, roster, actions, run }) : (0, import_react31.createElement)(GroupSettingsForm, { room: room2, roster, actions, run, onDeleted: close }) -+ bot ? (0, import_react44.createElement)(BotSettingsForm, { bot, roster, actions, run }) : (0, import_react44.createElement)(GroupSettingsForm, { room: room2, roster, actions, run, onDeleted: close }) ++ bot ? (0, import_react45.createElement)(BotSettingsForm, { bot, roster, actions, run }) : (0, import_react45.createElement)(GroupSettingsForm, { room: room2, roster, actions, run, onDeleted: close }) ) ]; } - const top = (0, import_react31.createElement)( -+ const top = (0, import_react44.createElement)( ++ const top = (0, import_react45.createElement)( "div", { className: "bt-drawer-top", "data-move": side }, - bot || room2 ? (0, import_react31.createElement)("button", { type: "button", className: "bt-round", "aria-label": bot ? t("Edit Bot") : t("Group settings"), title: bot ? t("Edit Bot") : t("Group settings"), "data-info-row": "settings", onClick: () => setView("settings") }, (0, import_react31.createElement)(GearIcon)) : null, - bot && roster.browser === true && actions.openBrowser ? (0, import_react31.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("Open browser"), title: t("Open this Bot's browser"), onClick: () => actions.openBrowser(sessionId) }, (0, import_react31.createElement)(GlobeIcon)) : null, - bot || room2 ? (0, import_react31.createElement)("button", { type: "button", className: "bt-round", "aria-label": copied ? t("Copied conversation") : t("Share conversation"), title: copied ? t("Copied") : t("Copy conversation as Markdown"), onClick: share }, copied ? (0, import_react31.createElement)("span", { key: "copied", className: "bt-pop-in" }, "✓") : (0, import_react31.createElement)(ShareIcon)) : null, - hasStrip ? null : (0, import_react31.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("Close details"), onClick: close }, (0, import_react31.createElement)(CloseIcon)) -+ bot || room2 ? (0, import_react44.createElement)("button", { ++ bot || room2 ? (0, import_react45.createElement)("button", { + type: "button", + className: "bt-round", + "aria-label": bot ? bot.remote ? t("Bot settings") : t("Edit Bot") : t("Group settings"), + title: bot ? bot.remote ? t("Bot settings") : t("Edit Bot") : t("Group settings"), + "data-info-row": "settings", + onClick: () => bot?.remote ? actions.openSettings("bots", bot.id) : setView("settings") -+ }, (0, import_react44.createElement)(GearIcon)) : null, -+ bot && !bot.remote && roster.browser === true && actions.openBrowser ? (0, import_react44.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("Open browser"), title: t("Open this Bot's browser"), onClick: () => actions.openBrowser(sessionId) }, (0, import_react44.createElement)(GlobeIcon)) : null, -+ bot || room2 ? (0, import_react44.createElement)("button", { ++ }, (0, import_react45.createElement)(GearIcon)) : null, ++ bot && !bot.remote && roster.browser === true && actions.openBrowser ? (0, import_react45.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("Open browser"), title: t("Open this Bot's browser"), onClick: () => actions.openBrowser(sessionId) }, (0, import_react45.createElement)(GlobeIcon)) : null, ++ bot || room2 ? (0, import_react45.createElement)("button", { + type: "button", + className: "bt-round", + // #1347: the accessible name says what the click does, which is copy — "Share conversation" @@ -22744,15 +23499,15 @@ diff --git a/client.js b/client.js + "aria-label": copied ? t("Copied conversation") : t("Copy conversation"), + title: copied ? t("Copied") : t("Copy conversation as Markdown"), + onClick: share -+ }, copied ? (0, import_react44.createElement)("span", { key: "copied", className: "bt-pop-in" }, "✓") : (0, import_react44.createElement)(ShareIcon)) : null, -+ hasStrip ? null : (0, import_react44.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("Close details"), onClick: close }, (0, import_react44.createElement)(CloseIcon)) ++ }, copied ? (0, import_react45.createElement)("span", { key: "copied", className: "bt-pop-in" }, "✓") : (0, import_react45.createElement)(ShareIcon)) : null, ++ hasStrip ? null : (0, import_react45.createElement)("button", { type: "button", className: "bt-round", "aria-label": t("Close details"), onClick: close }, (0, import_react45.createElement)(CloseIcon)) ); if (!bot && !room2) { return [ - (0, import_react31.createElement)(import_react31.Fragment, { key: "top" }, top), - (0, import_react31.createElement)("div", { key: "body", className: "bt-drawer-body" }, (0, import_react31.createElement)("div", { className: "bt-muted" }, t("This conversation is not part of your Bot team."))) -+ (0, import_react44.createElement)(import_react44.Fragment, { key: "top" }, top), -+ (0, import_react44.createElement)("div", { key: "body", className: "bt-drawer-body" }, (0, import_react44.createElement)("div", { className: "bt-muted" }, t("This conversation is not part of your Bot team."))) ++ (0, import_react45.createElement)(import_react45.Fragment, { key: "top" }, top), ++ (0, import_react45.createElement)("div", { key: "body", className: "bt-drawer-body" }, (0, import_react45.createElement)("div", { className: "bt-muted" }, t("This conversation is not part of your Bot team."))) ]; } const current = bot?.name ?? room2.name; @@ -22762,14 +23517,14 @@ diff --git a/client.js b/client.js return [ - (0, import_react31.createElement)(import_react31.Fragment, { key: "top" }, top), - (0, import_react31.createElement)( -+ (0, import_react44.createElement)(import_react44.Fragment, { key: "top" }, top), -+ (0, import_react44.createElement)( ++ (0, import_react45.createElement)(import_react45.Fragment, { key: "top" }, top), ++ (0, import_react45.createElement)( "div", { key: "id", className: "bt-drawer-id", "data-move": side }, - bot ? (0, import_react31.createElement)(BotAvatar, { bot, size: 64, state: botState(running, doing, roster.questions?.[part] !== void 0), main: isMainBot, badge: false, gaze: true, pokeable: true }) : (0, import_react31.createElement)(RoomAvatar, { room: room2, roster, size: 64 }), - editing ? (0, import_react31.createElement)("input", { -+ bot ? (0, import_react44.createElement)(BotAvatar, { bot, size: 64, state: botState(running, doing, roster.questions?.[part] !== void 0), main: isMainBot, badge: false, gaze: true, pokeable: true }) : (0, import_react44.createElement)(RoomAvatar, { room: room2, roster, size: 64 }), -+ bot?.remote ? (0, import_react44.createElement)("div", { className: "bt-drawer-name" }, current) : room2?.origin === "face-to-face" ? (0, import_react44.createElement)("div", { className: "bt-drawer-name bt-drawer-name-face", title: current }, current) : editing ? (0, import_react44.createElement)("input", { ++ bot ? (0, import_react45.createElement)(BotAvatar, { bot, size: 64, state: botState(running, doing, roster.questions?.[part] !== void 0), main: isMainBot, badge: false, gaze: true, pokeable: true }) : (0, import_react45.createElement)(RoomAvatar, { room: room2, roster, size: 64 }), ++ bot?.remote ? (0, import_react45.createElement)("div", { className: "bt-drawer-name" }, current) : room2?.origin === "face-to-face" ? (0, import_react45.createElement)("div", { className: "bt-drawer-name bt-drawer-name-face", title: current }, current) : editing ? (0, import_react45.createElement)("input", { className: "bt-drawer-name-input", autoFocus: true, value: draftName, @@ -22778,75 +23533,75 @@ diff --git a/client.js b/client.js } } - }) : (0, import_react31.createElement)("button", { type: "button", className: "bt-drawer-name", "aria-label": t("Rename {name}", { name: current }), title: t("Rename"), onClick: () => { -+ }) : (0, import_react44.createElement)("button", { type: "button", className: "bt-drawer-name", "aria-label": t("Rename {name}", { name: current }), title: t("Rename"), onClick: () => { ++ }) : (0, import_react45.createElement)("button", { type: "button", className: "bt-drawer-name", "aria-label": t("Rename {name}", { name: current }), title: t("Rename"), onClick: () => { setDraftName(room2 && !room2.named ? "" : current); setEditing(true); } }, current), - subtitle ? (0, import_react31.createElement)("span", { className: "bt-drawer-role" }, subtitle) : null -+ subtitle ? (0, import_react44.createElement)("span", { className: "bt-drawer-role" }, subtitle) : bot?.remote ? (0, import_react44.createElement)("span", { className: "bt-drawer-role" }, t("Friend's Bot")) : null ++ subtitle ? (0, import_react45.createElement)("span", { className: "bt-drawer-role" }, subtitle) : bot?.remote ? (0, import_react45.createElement)("span", { className: "bt-drawer-role" }, t("Friend's Bot")) : null ), - (0, import_react31.createElement)( -+ bot?.remote ? null : (0, import_react44.createElement)( ++ bot?.remote ? null : (0, import_react45.createElement)( "div", { key: "tabs", ref: glide.box, className: "bt-tabs", role: "tablist", "data-move": side }, - (0, import_react31.createElement)("span", { ref: glide.thumb, className: "bt-thumb", "aria-hidden": true }), - tabs.map((key) => (0, import_react31.createElement)("button", { key, type: "button", role: "tab", className: "bt-tab", "aria-selected": tab === key, onClick: () => setTab(key) }, t(TAB_LABELS[key]))) -+ (0, import_react44.createElement)("span", { ref: glide.thumb, className: "bt-thumb", "aria-hidden": true }), -+ tabs.map((key) => (0, import_react44.createElement)("button", { key, type: "button", role: "tab", className: "bt-tab", "aria-selected": tab === key, onClick: () => setTab(key) }, t(TAB_LABELS[key]))) ++ (0, import_react45.createElement)("span", { ref: glide.thumb, className: "bt-thumb", "aria-hidden": true }), ++ tabs.map((key) => (0, import_react45.createElement)("button", { key, type: "button", role: "tab", className: "bt-tab", "aria-selected": tab === key, onClick: () => setTab(key) }, t(TAB_LABELS[key]))) ), - (0, import_react31.createElement)( -+ (0, import_react44.createElement)( ++ (0, import_react45.createElement)( "div", { key: `body:${tab}`, className: "bt-drawer-body", "data-move": move }, errorLine, - room2 && tab === "details" ? (0, import_react31.createElement)(GroupOverview, { room: room2, roster, actions, usage, useWork, openSettings: () => setView("settings") }) : null, - bot && tab === "details" ? [ - (0, import_react31.createElement)( -+ room2 && tab === "details" ? (0, import_react44.createElement)(GroupOverview, { room: room2, roster, actions, usage, useWork, openSettings: () => setView("settings") }) : null, ++ room2 && tab === "details" ? (0, import_react45.createElement)(GroupOverview, { room: room2, roster, actions, usage, useWork, openSettings: () => setView("settings") }) : null, + bot && bot.remote && tab === "details" ? [ -+ bot.remote.handle ? (0, import_react44.createElement)("div", { key: "handle", className: "bt-muted" }, bot.remote.handle) : null, -+ (0, import_react44.createElement)(FlyBotDetails, { key: "social", bot, roster, actions }) ++ bot.remote.handle ? (0, import_react45.createElement)("div", { key: "handle", className: "bt-muted" }, bot.remote.handle) : null, ++ (0, import_react45.createElement)(FlyBotDetails, { key: "social", bot, roster, actions }) + ] : null, + bot && !bot.remote && tab === "details" ? [ -+ (0, import_react44.createElement)( ++ (0, import_react45.createElement)( "div", { key: "model", className: "bt-drawer-model" }, - (0, import_react31.createElement)("div", { className: "bt-section-title" }, t("Model")), - (0, import_react31.createElement)(ModelMenu, { bot, roster, actions, run, wide: true }), - modelOf(bot, roster) ? null : (0, import_react31.createElement)("div", { className: "bt-note" }, t("Pick a model and {name} can start.", { name: bot.name })) -+ (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Model")), -+ (0, import_react44.createElement)(ModelMenu, { bot, roster, actions, run, wide: true }), -+ modelOf(bot, roster) ? null : (0, import_react44.createElement)("div", { className: "bt-note" }, t("Pick a model and {name} can start.", { name: bot.name })) ++ (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Model")), ++ (0, import_react45.createElement)(ModelMenu, { bot, roster, actions, run, wide: true }), ++ modelOf(bot, roster) ? null : (0, import_react45.createElement)("div", { className: "bt-note" }, t("Pick a model and {name} can start.", { name: bot.name })) ), - (0, import_react31.createElement)(PermissionRow, { key: "permission", bot, roster, actions, run }), - (0, import_react31.createElement)( -+ (0, import_react44.createElement)(PermissionRow, { key: "permission", bot, roster, actions, run }), -+ (0, import_react44.createElement)( ++ (0, import_react45.createElement)(PermissionRow, { key: "permission", bot, roster, actions, run }), ++ (0, import_react45.createElement)( "div", { key: "folder", className: "bt-drawer-model" }, - (0, import_react31.createElement)("div", { className: "bt-section-title" }, t("Working folder")), - (0, import_react31.createElement)(FolderMenu, { value: bot.workDir, actions, run, wide: true, onPick: (workDir) => run(actions.updateBot(bot.id, { workDir })) }) -+ (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Working folder")), -+ (0, import_react44.createElement)(FolderMenu, { value: bot.workDir, actions, run, wide: true, onPick: (workDir) => run(actions.updateBot(bot.id, { workDir })) }) ++ (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Working folder")), ++ (0, import_react45.createElement)(FolderMenu, { value: bot.workDir, actions, run, wide: true, onPick: (workDir) => run(actions.updateBot(bot.id, { workDir })) }) ), - bot.instructions ? (0, import_react31.createElement)(About, { key: "about", text: bot.instructions }) : (0, import_react31.createElement)("button", { key: "about", type: "button", className: "bt-more", onClick: () => setView("settings") }, t("Add instructions in Bot settings")), - roster.memory === false ? null : (0, import_react31.createElement)(MemoryRow, { key: "memory", bot, actions }), - usage ? (0, import_react31.createElement)( -+ bot.instructions ? (0, import_react44.createElement)(About, { key: "about", text: bot.instructions }) : (0, import_react44.createElement)("button", { key: "about", type: "button", className: "bt-more", onClick: () => setView("settings") }, t("Add instructions in Bot settings")), -+ roster.memory === false ? null : (0, import_react44.createElement)(MemoryRow, { key: "memory", bot, actions }), -+ usage ? (0, import_react44.createElement)( ++ bot.instructions ? (0, import_react45.createElement)(About, { key: "about", text: bot.instructions }) : (0, import_react45.createElement)("button", { key: "about", type: "button", className: "bt-more", onClick: () => setView("settings") }, t("Add instructions in Bot settings")), ++ roster.memory === false ? null : (0, import_react45.createElement)(MemoryRow, { key: "memory", bot, actions }), ++ usage ? (0, import_react45.createElement)( "div", { key: "usage" }, - (0, import_react31.createElement)("div", { className: "bt-section-title" }, t("Usage")), - (0, import_react31.createElement)("div", { className: "bt-kv" }, (0, import_react31.createElement)("span", null, bot.name), (0, import_react31.createElement)("span", null, usage)) -+ (0, import_react44.createElement)("div", { className: "bt-section-title" }, t("Usage")), -+ (0, import_react44.createElement)("div", { className: "bt-kv" }, (0, import_react44.createElement)("span", null, bot.name), (0, import_react44.createElement)("span", null, usage)) ++ (0, import_react45.createElement)("div", { className: "bt-section-title" }, t("Usage")), ++ (0, import_react45.createElement)("div", { className: "bt-kv" }, (0, import_react45.createElement)("span", null, bot.name), (0, import_react45.createElement)("span", null, usage)) ) : null, - (0, import_react31.createElement)(ScheduleSummary, { key: "routines", bot, actions }) -+ (0, import_react44.createElement)(ScheduleSummary, { key: "routines", bot, actions }) ++ (0, import_react45.createElement)(ScheduleSummary, { key: "routines", bot, actions }) ] : null, - bot && tab === "browser" ? (0, import_react31.createElement)(BrowserCards, { bot, sessionId, roster, actions, useBrowserTabs, useBrowserPages }) : null -+ bot && !bot.remote && tab === "browser" ? (0, import_react44.createElement)(BrowserCards, { bot, sessionId, roster, actions, useBrowserTabs, useBrowserPages }) : null ++ bot && !bot.remote && tab === "browser" ? (0, import_react45.createElement)(BrowserCards, { bot, sessionId, roster, actions, useBrowserTabs, useBrowserPages }) : null ) ]; } @@ -22854,7 +23609,7 @@ diff --git a/client.js b/client.js // src/client/browser-pane.js -var import_react32 = require("react"); -var import_react_dom8 = require("react-dom"); -+var import_react45 = require("react"); ++var import_react46 = require("react"); +var import_react_dom10 = require("react-dom"); var PANEL_LINGER_MS = 300; var WIDTH_KEY = STORAGE.browserWidth; @@ -22871,11 +23626,11 @@ diff --git a/client.js b/client.js -var icon = (paths) => function BrowserIcon() { - return (0, import_react32.createElement)( +var icon2 = (paths) => function BrowserIcon() { -+ return (0, import_react45.createElement)( ++ return (0, import_react46.createElement)( "svg", { width: 16, height: 16, viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true }, - paths.map((d, index) => (0, import_react32.createElement)("path", { key: index, d })) -+ paths.map((d, index) => (0, import_react45.createElement)("path", { key: index, d })) ++ paths.map((d, index) => (0, import_react46.createElement)("path", { key: index, d })) ); }; -var GlobeIcon = icon(["M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14z", "M3 10h14", "M10 3c2 2.2 2.9 4.5 2.9 7S12 14.8 10 17c-2-2.2-2.9-4.5-2.9-7S8 5.2 10 3z"]); @@ -22898,9 +23653,9 @@ diff --git a/client.js b/client.js - const [failed, setFailed] = (0, import_react32.useState)(null); - if (!src || failed === src) return (0, import_react32.createElement)("span", { className: `${className} bt-ptab-globe` }, (0, import_react32.createElement)(GlobeIcon)); - return (0, import_react32.createElement)("img", { className, src, alt: "", "aria-hidden": true, onError: () => setFailed(src) }); -+ const [failed, setFailed] = (0, import_react45.useState)(null); -+ if (!src || failed === src) return (0, import_react45.createElement)("span", { className: `${className} bt-ptab-globe` }, (0, import_react45.createElement)(GlobeIcon)); -+ return (0, import_react45.createElement)("img", { className, src, alt: "", "aria-hidden": true, onError: () => setFailed(src) }); ++ const [failed, setFailed] = (0, import_react46.useState)(null); ++ if (!src || failed === src) return (0, import_react46.createElement)("span", { className: `${className} bt-ptab-globe` }, (0, import_react46.createElement)(GlobeIcon)); ++ return (0, import_react46.createElement)("img", { className, src, alt: "", "aria-hidden": true, onError: () => setFailed(src) }); } var savedWidth = () => { try { @@ -22926,11 +23681,11 @@ diff --git a/client.js b/client.js - const spot = (0, import_react32.useRef)(null); - const under = (0, import_react32.useRef)(null); - (0, import_react32.useLayoutEffect)(() => { -+ const wrap = (0, import_react45.useRef)(null); -+ const ind = (0, import_react45.useRef)(null); -+ const spot = (0, import_react45.useRef)(null); -+ const under = (0, import_react45.useRef)(null); -+ (0, import_react45.useLayoutEffect)(() => { ++ const wrap = (0, import_react46.useRef)(null); ++ const ind = (0, import_react46.useRef)(null); ++ const spot = (0, import_react46.useRef)(null); ++ const under = (0, import_react46.useRef)(null); ++ (0, import_react46.useLayoutEffect)(() => { const box = wrap.current; const capsule = ind.current; if (!box || !capsule) return void 0; @@ -22939,7 +23694,7 @@ diff --git a/client.js b/client.js }; }); - (0, import_react32.useEffect)(() => { -+ (0, import_react45.useEffect)(() => { ++ (0, import_react46.useEffect)(() => { const box = wrap.current; if (!box) return void 0; const observer = new ResizeObserver(() => { @@ -22948,15 +23703,15 @@ diff --git a/client.js b/client.js return () => observer.disconnect(); }, []); - return (0, import_react32.createElement)( -+ return (0, import_react45.createElement)( ++ return (0, import_react46.createElement)( "div", { className: "bt-ptabs", role: "tablist", "aria-label": t("Panel tabs") }, - (0, import_react32.createElement)( -+ (0, import_react45.createElement)( ++ (0, import_react46.createElement)( "div", { className: "bt-ptabs-in", ref: wrap }, - (0, import_react32.createElement)( -+ (0, import_react45.createElement)( ++ (0, import_react46.createElement)( "button", { type: "button", @@ -22966,14 +23721,14 @@ diff --git a/client.js b/client.js }, - (0, import_react32.createElement)(BotMark, { bot, size: 20, state: reading ? "searching" : "idle" }), - view === "details" ? (0, import_react32.createElement)("span", { className: "bt-ptab-name" }, bot.name) : null -+ (0, import_react45.createElement)(BotMark, { bot, size: 20, state: reading ? "searching" : "idle" }), -+ view === "details" ? (0, import_react45.createElement)("span", { className: "bt-ptab-name" }, bot.name) : null ++ (0, import_react46.createElement)(BotMark, { bot, size: 20, state: reading ? "searching" : "idle" }), ++ view === "details" ? (0, import_react46.createElement)("span", { className: "bt-ptab-name" }, bot.name) : null ), ids.map((tabId) => { const page = pages[tabId] ?? EMPTY_PAGE; const on = view === "browser" && tabId === active; - return (0, import_react32.createElement)( -+ return (0, import_react45.createElement)( ++ return (0, import_react46.createElement)( "button", { key: tabId, @@ -22984,9 +23739,9 @@ diff --git a/client.js b/client.js - (0, import_react32.createElement)(Favicon, { src: page.favicon, className: "bt-ptab-fav" }), - (0, import_react32.createElement)("span", { className: "bt-ptab-title" }, tabLabel(page)), - (0, import_react32.createElement)("span", { -+ (0, import_react45.createElement)(Favicon, { src: page.favicon, className: "bt-ptab-fav" }), -+ (0, import_react45.createElement)("span", { className: "bt-ptab-title" }, tabLabel(page)), -+ (0, import_react45.createElement)("span", { ++ (0, import_react46.createElement)(Favicon, { src: page.favicon, className: "bt-ptab-fav" }), ++ (0, import_react46.createElement)("span", { className: "bt-ptab-title" }, tabLabel(page)), ++ (0, import_react46.createElement)("span", { className: "bt-ptab-x", role: "button", "aria-label": t("Close tab"), @@ -22995,13 +23750,13 @@ diff --git a/client.js b/client.js ); }), - (0, import_react32.createElement)("span", { ref: ind, className: "bt-ptab-ind", "aria-hidden": true }) -+ (0, import_react45.createElement)("span", { ref: ind, className: "bt-ptab-ind", "aria-hidden": true }) ++ (0, import_react46.createElement)("span", { ref: ind, className: "bt-ptab-ind", "aria-hidden": true }) ), // New tab and Close stay outside the scrolling tabs, so a narrow panel keeps both. - (0, import_react32.createElement)("button", { type: "button", className: "bt-ptab-new", "aria-label": t("New tab"), title: t("New tab"), onClick: () => actions.browserNewTab(subject) }, (0, import_react32.createElement)(PlusTabIcon)), - (0, import_react32.createElement)("button", { type: "button", className: "bt-icon-btn bt-ptab-close", "aria-label": t("Close panel"), title: t("Close panel"), onClick: () => actions.closePanel() }, (0, import_react32.createElement)(CloseIcon2)) -+ (0, import_react45.createElement)("button", { type: "button", className: "bt-ptab-new", "aria-label": t("New tab"), title: t("New tab"), onClick: () => actions.browserNewTab(subject) }, (0, import_react45.createElement)(PlusTabIcon)), -+ (0, import_react45.createElement)("button", { type: "button", className: "bt-icon-btn bt-ptab-close", "aria-label": t("Close panel"), title: t("Close panel"), onClick: () => actions.closePanel() }, (0, import_react45.createElement)(CloseIcon2)) ++ (0, import_react46.createElement)("button", { type: "button", className: "bt-ptab-new", "aria-label": t("New tab"), title: t("New tab"), onClick: () => actions.browserNewTab(subject) }, (0, import_react46.createElement)(PlusTabIcon)), ++ (0, import_react46.createElement)("button", { type: "button", className: "bt-icon-btn bt-ptab-close", "aria-label": t("Close panel"), title: t("Close panel"), onClick: () => actions.closePanel() }, (0, import_react46.createElement)(CloseIcon2)) ); } function BrowserView({ bot, tabId, leaving, landed, actions, useBrowserPages }) { @@ -23009,12 +23764,12 @@ diff --git a/client.js b/client.js - const frame = (0, import_react32.useRef)(null); - const input = (0, import_react32.useRef)(null); - const [draft, setDraft] = (0, import_react32.useState)(null); -+ const frame = (0, import_react45.useRef)(null); -+ const input = (0, import_react45.useRef)(null); -+ const [draft, setDraft] = (0, import_react45.useState)(null); ++ const frame = (0, import_react46.useRef)(null); ++ const input = (0, import_react46.useRef)(null); ++ const [draft, setDraft] = (0, import_react46.useState)(null); const showGuest = landed && !leaving && Boolean(page.url) && !page.error; - (0, import_react32.useLayoutEffect)(() => { -+ (0, import_react45.useLayoutEffect)(() => { ++ (0, import_react46.useLayoutEffect)(() => { const element = frame.current; if (!element || leaving || !tabId) { void actions.browserShow(null); @@ -23023,7 +23778,7 @@ diff --git a/client.js b/client.js }; }, [tabId, showGuest, leaving]); - (0, import_react32.useEffect)(() => { -+ (0, import_react45.useEffect)(() => { ++ (0, import_react46.useEffect)(() => { setDraft(null); if (landed && !page.url) input.current?.focus(); }, [tabId, landed]); @@ -23043,19 +23798,19 @@ diff --git a/client.js b/client.js const editing = draft !== null; const secure = /^https:/i.test(page.url); - return (0, import_react32.createElement)( -+ return (0, import_react45.createElement)( ++ return (0, import_react46.createElement)( "div", { className: "bt-panel-view bt-panel-browser", "aria-label": t("{name}'s browser", { name: bot.name }) }, - (0, import_react32.createElement)( -+ (0, import_react45.createElement)( ++ (0, import_react46.createElement)( "div", { className: "bt-browser-bar" }, - (0, import_react32.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Back"), title: t("Back"), disabled: !page.canGoBack, onClick: () => actions.browserCommand(tabId, "back") }, (0, import_react32.createElement)(BackIcon)), - (0, import_react32.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Forward"), title: t("Forward"), disabled: !page.canGoForward, onClick: () => actions.browserCommand(tabId, "forward") }, (0, import_react32.createElement)(ForwardIcon)), - (0, import_react32.createElement)("button", { -+ (0, import_react45.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Back"), title: t("Back"), disabled: !page.canGoBack, onClick: () => actions.browserCommand(tabId, "back") }, (0, import_react45.createElement)(BackIcon)), -+ (0, import_react45.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Forward"), title: t("Forward"), disabled: !page.canGoForward, onClick: () => actions.browserCommand(tabId, "forward") }, (0, import_react45.createElement)(ForwardIcon)), -+ (0, import_react45.createElement)("button", { ++ (0, import_react46.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Back"), title: t("Back"), disabled: !page.canGoBack, onClick: () => actions.browserCommand(tabId, "back") }, (0, import_react46.createElement)(BackIcon)), ++ (0, import_react46.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Forward"), title: t("Forward"), disabled: !page.canGoForward, onClick: () => actions.browserCommand(tabId, "forward") }, (0, import_react46.createElement)(ForwardIcon)), ++ (0, import_react46.createElement)("button", { type: "button", className: "bt-icon-btn", disabled: !page.url, @@ -23064,14 +23819,14 @@ diff --git a/client.js b/client.js onClick: () => actions.browserCommand(tabId, page.loading ? "stop" : "reload") - }, (0, import_react32.createElement)(page.loading ? StopIcon : ReloadIcon)), - (0, import_react32.createElement)( -+ }, (0, import_react45.createElement)(page.loading ? StopIcon : ReloadIcon)), -+ (0, import_react45.createElement)( ++ }, (0, import_react46.createElement)(page.loading ? StopIcon : ReloadIcon)), ++ (0, import_react46.createElement)( "form", { className: "bt-browser-address", onSubmit: go, "data-editing": editing || void 0 }, - (0, import_react32.createElement)("span", { className: "bt-browser-scheme", "aria-hidden": true }, (0, import_react32.createElement)(secure && !editing ? LockIcon2 : GlobeIcon)), - (0, import_react32.createElement)("input", { -+ (0, import_react45.createElement)("span", { className: "bt-browser-scheme", "aria-hidden": true }, (0, import_react45.createElement)(secure && !editing ? LockIcon2 : GlobeIcon)), -+ (0, import_react45.createElement)("input", { ++ (0, import_react46.createElement)("span", { className: "bt-browser-scheme", "aria-hidden": true }, (0, import_react46.createElement)(secure && !editing ? LockIcon2 : GlobeIcon)), ++ (0, import_react46.createElement)("input", { ref: input, type: "text", spellCheck: false, @@ -23080,34 +23835,34 @@ diff --git a/client.js b/client.js }) ), - page.loading ? (0, import_react32.createElement)("span", { className: "bt-browser-progress", "aria-hidden": true }) : null -+ page.loading ? (0, import_react45.createElement)("span", { className: "bt-browser-progress", "aria-hidden": true }) : null ++ page.loading ? (0, import_react46.createElement)("span", { className: "bt-browser-progress", "aria-hidden": true }) : null ), - (0, import_react32.createElement)( -+ (0, import_react45.createElement)( ++ (0, import_react46.createElement)( "div", { ref: frame, className: "bt-browser-frame", "data-guest": showGuest || void 0 }, - page.error ? (0, import_react32.createElement)( -+ page.error ? (0, import_react45.createElement)( ++ page.error ? (0, import_react46.createElement)( "div", { className: "bt-browser-empty" }, - (0, import_react32.createElement)("div", { className: "bt-browser-empty-title" }, t("This page didn’t load")), - (0, import_react32.createElement)("div", { className: "bt-browser-empty-text" }, t(page.error)), - page.url ? (0, import_react32.createElement)("button", { type: "button", className: "bt-browser-retry", onClick: () => { -+ (0, import_react45.createElement)("div", { className: "bt-browser-empty-title" }, t("This page didn’t load")), -+ (0, import_react45.createElement)("div", { className: "bt-browser-empty-text" }, t(page.error)), -+ page.url ? (0, import_react45.createElement)("button", { type: "button", className: "bt-browser-retry", onClick: () => { ++ (0, import_react46.createElement)("div", { className: "bt-browser-empty-title" }, t("This page didn’t load")), ++ (0, import_react46.createElement)("div", { className: "bt-browser-empty-text" }, t(page.error)), ++ page.url ? (0, import_react46.createElement)("button", { type: "button", className: "bt-browser-retry", onClick: () => { void actions.browserNavigate(tabId, page.url); } }, t("Try again")) : null - ) : !page.url ? (0, import_react32.createElement)( -+ ) : !page.url ? (0, import_react45.createElement)( ++ ) : !page.url ? (0, import_react46.createElement)( "div", { className: "bt-browser-empty" }, - (0, import_react32.createElement)(BotMark, { bot, size: 48, state: "idle", live: true }), - (0, import_react32.createElement)("div", { className: "bt-browser-empty-title" }, t("{name}'s browser", { name: bot.name })), - (0, import_react32.createElement)("div", { className: "bt-browser-empty-text" }, t("Open a page here and {name} can read it with you. Logins and cookies stay with {name}; other Bots never see them.", { name: bot.name })) -+ (0, import_react45.createElement)(BotMark, { bot, size: 48, state: "idle", live: true }), -+ (0, import_react45.createElement)("div", { className: "bt-browser-empty-title" }, t("{name}'s browser", { name: bot.name })), -+ (0, import_react45.createElement)("div", { className: "bt-browser-empty-text" }, t("Open a page here and {name} can read it with you. Logins and cookies stay with {name}; other Bots never see them.", { name: bot.name })) ++ (0, import_react46.createElement)(BotMark, { bot, size: 48, state: "idle", live: true }), ++ (0, import_react46.createElement)("div", { className: "bt-browser-empty-title" }, t("{name}'s browser", { name: bot.name })), ++ (0, import_react46.createElement)("div", { className: "bt-browser-empty-text" }, t("Open a page here and {name} can read it with you. Logins and cookies stay with {name}; other Bots never see them.", { name: bot.name })) ) : null ) ); @@ -23123,36 +23878,36 @@ diff --git a/client.js b/client.js - const [viewport, setViewport] = (0, import_react32.useState)(() => window.innerWidth); - const [dragging, setDragging] = (0, import_react32.useState)(false); - const [resizing, setResizing] = (0, import_react32.useState)(false); -+ const root = (0, import_react45.useRef)(null); -+ const fly = (0, import_react45.useRef)(null); -+ const [landed, setLanded] = (0, import_react45.useState)(false); -+ const [settling, setSettling] = (0, import_react45.useState)(false); -+ const [width, setWidth] = (0, import_react45.useState)(savedWidth); -+ const [viewport, setViewport] = (0, import_react45.useState)(() => window.innerWidth); -+ const [dragging, setDragging] = (0, import_react45.useState)(false); -+ const [resizing, setResizing] = (0, import_react45.useState)(false); ++ const root = (0, import_react46.useRef)(null); ++ const fly = (0, import_react46.useRef)(null); ++ const [landed, setLanded] = (0, import_react46.useState)(false); ++ const [settling, setSettling] = (0, import_react46.useState)(false); ++ const [width, setWidth] = (0, import_react46.useState)(savedWidth); ++ const [viewport, setViewport] = (0, import_react46.useState)(() => window.innerWidth); ++ const [dragging, setDragging] = (0, import_react46.useState)(false); ++ const [resizing, setResizing] = (0, import_react46.useState)(false); const instant = dragging || resizing; - const [reading, setReading] = (0, import_react32.useState)(false); -+ const [reading, setReading] = (0, import_react45.useState)(false); ++ const [reading, setReading] = (0, import_react46.useState)(false); const panelWidth = fitWidth(width ?? (view === "browser" ? DEFAULT_WIDTH : DETAILS_WIDTH), widthRange(view, viewport)); - (0, import_react32.useLayoutEffect)(() => { -+ (0, import_react45.useLayoutEffect)(() => { ++ (0, import_react46.useLayoutEffect)(() => { if (view === "browser" && width === null) setWidth(DEFAULT_WIDTH); }, [view, width]); - (0, import_react32.useLayoutEffect)(() => { -+ (0, import_react45.useLayoutEffect)(() => { ++ (0, import_react46.useLayoutEffect)(() => { chatRoom.hold(instant); }, [instant]); - const [last, setLast] = (0, import_react32.useState)({ view, width: panelWidth }); -+ const [last, setLast] = (0, import_react45.useState)({ view, width: panelWidth }); ++ const [last, setLast] = (0, import_react46.useState)({ view, width: panelWidth }); if (last.view !== view || last.width !== panelWidth) { setLast({ view, width: panelWidth }); if (last.view !== view) setSettling(last.width !== panelWidth && !instant); } - const shownView = (0, import_react32.useRef)(view); - (0, import_react32.useLayoutEffect)(() => { -+ const shownView = (0, import_react45.useRef)(view); -+ (0, import_react45.useLayoutEffect)(() => { ++ const shownView = (0, import_react46.useRef)(view); ++ (0, import_react46.useLayoutEffect)(() => { const switched = settling && shownView.current !== view; shownView.current = view; if (switched) chatRoom.hold(true); @@ -23160,12 +23915,12 @@ diff --git a/client.js b/client.js if (switched) chatRoom.hold(false); }, [view, panelWidth, leaving]); - (0, import_react32.useEffect)(() => () => { -+ (0, import_react45.useEffect)(() => () => { ++ (0, import_react46.useEffect)(() => () => { chatRoom.set(null); chatRoom.hold(false); }, []); - (0, import_react32.useEffect)(() => { -+ (0, import_react45.useEffect)(() => { ++ (0, import_react46.useEffect)(() => { let timer; const onResize = () => { setResizing(true); @@ -23174,34 +23929,34 @@ diff --git a/client.js b/client.js }; }, []); - (0, import_react32.useEffect)(() => { -+ (0, import_react45.useEffect)(() => { ++ (0, import_react46.useEffect)(() => { if (!settling) return void 0; const timer = setTimeout(() => setSettling(false), SPRING_SHAPE.duration + 40); return () => clearTimeout(timer); }, [settling, view]); - (0, import_react32.useEffect)(() => { -+ (0, import_react45.useEffect)(() => { ++ (0, import_react46.useEffect)(() => { const timer = setTimeout(() => setLanded(true), 360); return () => clearTimeout(timer); }, []); - (0, import_react32.useEffect)(() => { -+ (0, import_react45.useEffect)(() => { ++ (0, import_react46.useEffect)(() => { if (canBrowse) actions.browserEnsure(bot.id); }, [bot?.id, canBrowse]); - (0, import_react32.useEffect)(() => { -+ (0, import_react45.useEffect)(() => { ++ (0, import_react46.useEffect)(() => { if (view === "browser" && (active === null || !tabState.ids.includes(active))) actions.setPanelView("details"); }, [view, active, tabState.ids.length]); - (0, import_react32.useEffect)(() => { -+ (0, import_react45.useEffect)(() => { ++ (0, import_react46.useEffect)(() => { if (view !== "browser" || leaving) void actions.browserShow?.(null); }, [view, leaving]); - (0, import_react32.useEffect)(() => () => { -+ (0, import_react45.useEffect)(() => () => { ++ (0, import_react46.useEffect)(() => () => { void actions.browserShow?.(null); }, []); - (0, import_react32.useEffect)(() => { -+ (0, import_react45.useEffect)(() => { ++ (0, import_react46.useEffect)(() => { if (!page.readAt || Date.now() - page.readAt > READ_FLASH_MS) return void 0; setReading(true); const timer = setTimeout(() => setReading(false), READ_FLASH_MS); @@ -23210,7 +23965,7 @@ diff --git a/client.js b/client.js }; } - (0, import_react32.useLayoutEffect)(() => { -+ (0, import_react45.useLayoutEffect)(() => { ++ (0, import_react46.useLayoutEffect)(() => { const move = fly.current; if (!move) return; fly.current = null; @@ -23219,7 +23974,7 @@ diff --git a/client.js b/client.js }; const hasStrip = canBrowse && tabState.ids.length > 0; - return (0, import_react32.createElement)( -+ return (0, import_react45.createElement)( ++ return (0, import_react46.createElement)( "aside", { ref: root, @@ -23228,19 +23983,19 @@ diff --git a/client.js b/client.js } }, - leaving ? null : (0, import_react32.createElement)("div", { className: "bt-panel-grip", role: "separator", "aria-orientation": "vertical", "aria-label": t("Resize panel"), onPointerDown: startResize }), -+ leaving ? null : (0, import_react45.createElement)("div", { className: "bt-panel-grip", role: "separator", "aria-orientation": "vertical", "aria-label": t("Resize panel"), onPointerDown: startResize }), ++ leaving ? null : (0, import_react46.createElement)("div", { className: "bt-panel-grip", role: "separator", "aria-orientation": "vertical", "aria-label": t("Resize panel"), onPointerDown: startResize }), // Over the whole window while dragging: the cursor stays a resize cursor and the // pages underneath (the chat, the guest) see no pointer. - dragging ? (0, import_react_dom8.createPortal)((0, import_react32.createElement)("div", { className: "bt-drag-shield", "aria-hidden": true }), document.body) : null, - hasStrip ? (0, import_react32.createElement)(PanelStrip, { bot, subject: pane.id, view, ids: tabState.ids, active, reading, onView: switchView, actions: panelActions, useBrowserPages }) : null, - view === "browser" && bot ? (0, import_react32.createElement)(BrowserView, { key: `browser:${active}`, bot, tabId: active, leaving, landed: landed && !settling, actions, useBrowserPages }) : (0, import_react32.createElement)( -+ dragging ? (0, import_react_dom10.createPortal)((0, import_react45.createElement)("div", { className: "bt-drag-shield", "aria-hidden": true }), document.body) : null, -+ hasStrip ? (0, import_react45.createElement)(PanelStrip, { bot, subject: pane.id, view, ids: tabState.ids, active, reading, onView: switchView, actions: panelActions, useBrowserPages }) : null, -+ view === "browser" && bot ? (0, import_react45.createElement)(BrowserView, { key: `browser:${active}`, bot, tabId: active, leaving, landed: landed && !settling, actions, useBrowserPages }) : (0, import_react45.createElement)( ++ dragging ? (0, import_react_dom10.createPortal)((0, import_react46.createElement)("div", { className: "bt-drag-shield", "aria-hidden": true }), document.body) : null, ++ hasStrip ? (0, import_react46.createElement)(PanelStrip, { bot, subject: pane.id, view, ids: tabState.ids, active, reading, onView: switchView, actions: panelActions, useBrowserPages }) : null, ++ view === "browser" && bot ? (0, import_react46.createElement)(BrowserView, { key: `browser:${active}`, bot, tabId: active, leaving, landed: landed && !settling, actions, useBrowserPages }) : (0, import_react46.createElement)( "div", { key: `details:${pane.id}:${pane.renaming ? "rename" : ""}:${pane.tab ?? ""}`, className: "bt-panel-view" }, - (0, import_react32.createElement)(DetailsDrawer, { -+ (0, import_react45.createElement)(DetailsDrawer, { ++ (0, import_react46.createElement)(DetailsDrawer, { sessionId: pane.id, startRenaming: pane.renaming, startTab: pane.tab, @@ -23249,7 +24004,7 @@ diff --git a/client.js b/client.js `; +// src/client/remote-bot-settings.js -+var import_react46 = require("react"); ++var import_react47 = require("react"); +var REMOTE_BOT_SETTINGS_CSS = ` +.bt-remote-sheet-layer{position:fixed;inset:0;z-index:120;isolation:isolate;display:flex;align-items:flex-end;justify-content:center;padding:16px;pointer-events:none} +.bt-remote-sheet-layer[data-leaving]{pointer-events:none} @@ -23273,8 +24028,8 @@ diff --git a/client.js b/client.js +function RemoteBotSettingsSheet({ bot, roster, actions, leaving = false }) { + const close = () => actions.closeSettings(); + useEscape(close); -+ const dialog = (0, import_react46.useRef)(null); -+ (0, import_react46.useEffect)(() => { ++ const dialog = (0, import_react47.useRef)(null); ++ (0, import_react47.useEffect)(() => { + const before = document.activeElement; + dialog.current?.focus?.({ preventScroll: true }); + return () => { @@ -23289,30 +24044,30 @@ diff --git a/client.js b/client.js + }; + if (!bot?.remote) return null; + const who = bot.remote.homeName || bot.remote.owner || bot.remote.home || t("Friend's Bot"); -+ return (0, import_react46.createElement)( ++ return (0, import_react47.createElement)( + "div", + { className: "bt-remote-sheet-layer", "data-leaving": leaving || void 0, "data-flybot": "remote-bot-sheet" }, -+ (0, import_react46.createElement)("div", { className: "bt-scrim", onMouseDown: close }), -+ (0, import_react46.createElement)( ++ (0, import_react47.createElement)("div", { className: "bt-scrim", onMouseDown: close }), ++ (0, import_react47.createElement)( + "div", + { className: "bt-remote-sheet", role: "dialog", "aria-modal": true, "aria-label": t("Bot settings"), tabIndex: -1, ref: dialog, onKeyDown }, -+ (0, import_react46.createElement)( ++ (0, import_react47.createElement)( + "div", + { className: "bt-remote-sheet-head" }, -+ (0, import_react46.createElement)(BotMark, { bot, size: 40, live: true }), -+ (0, import_react46.createElement)( ++ (0, import_react47.createElement)(BotMark, { bot, size: 40, live: true }), ++ (0, import_react47.createElement)( + "div", + { className: "bt-remote-sheet-who" }, -+ (0, import_react46.createElement)("span", { className: "bt-remote-sheet-name" }, bot.name), -+ (0, import_react46.createElement)("span", { className: "bt-remote-sheet-sub" }, who) ++ (0, import_react47.createElement)("span", { className: "bt-remote-sheet-name" }, bot.name), ++ (0, import_react47.createElement)("span", { className: "bt-remote-sheet-sub" }, who) + ), -+ (0, import_react46.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Close settings"), onClick: close }, (0, import_react46.createElement)(CloseIcon)) ++ (0, import_react47.createElement)("button", { type: "button", className: "bt-icon-btn", "aria-label": t("Close settings"), onClick: close }, (0, import_react47.createElement)(CloseIcon)) + ), -+ (0, import_react46.createElement)( ++ (0, import_react47.createElement)( + "div", + { className: "bt-remote-sheet-body" }, -+ bot.remote.handle ? (0, import_react46.createElement)("div", { className: "bt-muted", style: { marginBottom: 8, fontSize: 12 } }, bot.remote.handle) : null, -+ (0, import_react46.createElement)(FlyBotDetails, { bot, roster, actions }) ++ bot.remote.handle ? (0, import_react47.createElement)("div", { className: "bt-muted", style: { marginBottom: 8, fontSize: 12 } }, bot.remote.handle) : null, ++ (0, import_react47.createElement)(FlyBotDetails, { bot, roster, actions }) + ) + ) + ); @@ -23321,7 +24076,7 @@ diff --git a/client.js b/client.js // src/client/overlays.js -var import_react33 = require("react"); -var import_react_dom9 = require("react-dom"); -+var import_react47 = require("react"); ++var import_react48 = require("react"); +var import_react_dom11 = require("react-dom"); var DIALOG_EXIT_MS = 160; var MENU_EXIT_MS3 = 120; @@ -23332,8 +24087,8 @@ diff --git a/client.js b/client.js const current = useSessions((list) => Object.values(list.byId).find((session) => (session?.retainedBy?.mainView ?? 0) > 0)?.id ?? null); - const previous = (0, import_react33.useRef)(current); - (0, import_react33.useEffect)(() => { -+ const previous = (0, import_react47.useRef)(current); -+ (0, import_react47.useEffect)(() => { ++ const previous = (0, import_react48.useRef)(current); ++ (0, import_react48.useEffect)(() => { if (previous.current === current) return; previous.current = current; if (current) actions.followPanel?.(current); @@ -23341,8 +24096,8 @@ diff --git a/client.js b/client.js const open = ui2.details ? { id: ui2.details, view: ui2.view ?? "details", renaming: ui2.renaming, tab: ui2.tab } : null; - const [kept, setKept] = (0, import_react33.useState)(open); - (0, import_react33.useEffect)(() => { -+ const [kept, setKept] = (0, import_react47.useState)(open); -+ (0, import_react47.useEffect)(() => { ++ const [kept, setKept] = (0, import_react48.useState)(open); ++ (0, import_react48.useEffect)(() => { if (open) { setKept(open); return void 0; @@ -23358,8 +24113,8 @@ diff --git a/client.js b/client.js - import_react33.Fragment, + const [inbox, inboxLeaving] = useLinger(ui2.inbox ?? null, DIALOG_EXIT_MS); + const [board, boardLeaving] = useLinger(ui2.board ?? null, DIALOG_EXIT_MS); -+ return (0, import_react47.createElement)( -+ import_react47.Fragment, ++ return (0, import_react48.createElement)( ++ import_react48.Fragment, null, - pane ? (0, import_react_dom9.createPortal)((0, import_react33.createElement)(BotPanel, { pane, leaving: open === null, roster, actions, useSessions, useSessionStatus, useActivity, useWork, useBrowserTabs, useBrowserPages }), document.body) : null, - ui2.newChat ? (0, import_react_dom9.createPortal)((0, import_react33.createElement)(NewChat, { key: ui2.newChat, mode: ui2.newChat, roster, actions }), document.body) : null, @@ -23369,17 +24124,17 @@ diff --git a/client.js b/client.js - menu ? (0, import_react_dom9.createPortal)((0, import_react33.createElement)(ContextMenu, { key: `${menu.kind ?? ""}:${menu.id}:${menu.x}:${menu.y}`, menu, roster, actions, leaving: menuLeaving }), document.body) : null, - settings ? (0, import_react_dom9.createPortal)((0, import_react33.createElement)(SettingsDialog, { page: settings.page, id: settings.id, roster, actions, useUpdate, leaving: settingsLeaving }), document.body) : null, - memory && roster.byId[memory] ? (0, import_react_dom9.createPortal)((0, import_react33.createElement)(MemoryDialog, { key: memory, bot: roster.byId[memory], actions, leaving: memoryLeaving }), document.body) : null -+ pane ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(BotPanel, { pane, leaving: open === null, roster, actions, useSessions, useSessionStatus, useActivity, useWork, useBrowserTabs, useBrowserPages }), document.body) : null, -+ ui2.newChat ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(NewChat, { key: ui2.newChat, mode: ui2.newChat, roster, actions }), document.body) : null, -+ ui2.palette ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(CommandPalette, { key: ui2.palette.token, start: ui2.palette.query, token: ui2.palette.token, roster, actions, useSessions }), document.body) : null, -+ ui2.exchange ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(ExchangeDialog, { pair: ui2.exchange, roster, actions }), document.body) : null, -+ ui2.voice ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(VoiceMode, { key: ui2.voice, sessionId: ui2.voice, roster, actions, useSessions, useSessionStatus }), document.body) : null, -+ menu ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(ContextMenu, { key: `${menu.kind ?? ""}:${menu.id}:${menu.x}:${menu.y}`, menu, roster, actions, leaving: menuLeaving }), document.body) : null, -+ settings ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(SettingsDialog, { page: settings.page, id: settings.id, roster, actions, useUpdate, leaving: settingsLeaving }), document.body) : null, -+ remoteBotSettings ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(RemoteBotSettingsSheet, { key: remoteBotSettings, bot: roster.byId[remoteBotSettings], roster, actions, leaving: remoteLeaving }), document.body) : null, -+ memory && roster.byId[memory] ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(MemoryDialog, { key: memory, bot: roster.byId[memory], actions, leaving: memoryLeaving }), document.body) : null, -+ inbox ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(InboxDialog, { roster, useWork, useSessions, actions, leaving: inboxLeaving }), document.body) : null, -+ board ? (0, import_react_dom11.createPortal)((0, import_react47.createElement)(KanbanDialog, { roster, actions, leaving: boardLeaving }), document.body) : null ++ pane ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(BotPanel, { pane, leaving: open === null, roster, actions, useSessions, useSessionStatus, useActivity, useWork, useBrowserTabs, useBrowserPages }), document.body) : null, ++ ui2.newChat ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(NewChat, { key: ui2.newChat, mode: ui2.newChat, roster, actions }), document.body) : null, ++ ui2.palette ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(CommandPalette, { key: ui2.palette.token, start: ui2.palette.query, token: ui2.palette.token, roster, actions, useSessions }), document.body) : null, ++ ui2.exchange ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(ExchangeDialog, { pair: ui2.exchange, roster, actions }), document.body) : null, ++ ui2.voice ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(VoiceMode, { key: ui2.voice, sessionId: ui2.voice, roster, actions, useSessions, useSessionStatus }), document.body) : null, ++ menu ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(ContextMenu, { key: `${menu.kind ?? ""}:${menu.id}:${menu.x}:${menu.y}`, menu, roster, actions, leaving: menuLeaving }), document.body) : null, ++ settings ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(SettingsDialog, { page: settings.page, id: settings.id, roster, actions, useUpdate, leaving: settingsLeaving }), document.body) : null, ++ remoteBotSettings ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(RemoteBotSettingsSheet, { key: remoteBotSettings, bot: roster.byId[remoteBotSettings], roster, actions, leaving: remoteLeaving }), document.body) : null, ++ memory && roster.byId[memory] ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(MemoryDialog, { key: memory, bot: roster.byId[memory], actions, leaving: memoryLeaving }), document.body) : null, ++ inbox ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(InboxDialog, { roster, useWork, useSessions, actions, leaving: inboxLeaving }), document.body) : null, ++ board ? (0, import_react_dom11.createPortal)((0, import_react48.createElement)(KanbanDialog, { roster, actions, leaving: boardLeaving }), document.body) : null ); } @@ -23685,7 +24440,7 @@ diff --git a/client.js b/client.js // src/client/user-message.js -var import_react34 = require("react"); -+var import_react48 = require("react"); ++var import_react49 = require("react"); var ui = __toESM(require("@deepseek-ai/dsh-client-ui-primitives"), 1); var canDrawUserMessages = () => typeof ui.projectUserText === "function"; function contentParts(content) { @@ -23780,38 +24535,38 @@ diff --git a/client.js b/client.js - part.label - ) : (0, import_react34.createElement)(import_react34.Fragment, { key: index }, ui.projectUserText(part.text, referenceLabels, skillNames, "skill", references))); +function UserText({ text: text2, bots, referenceLabels, skillNames, references, actions }) { -+ const chip = (part) => [(0, import_react48.createElement)(BotMark, { bot: part.bot.draw ?? part.bot, size: 16 }), `@${part.bot.mentionLabel ?? part.label}`]; ++ const chip = (part) => [(0, import_react49.createElement)(BotMark, { bot: part.bot.draw ?? part.bot, size: 16 }), `@${part.bot.mentionLabel ?? part.label}`]; + return userTextParts(text2, bots, referenceLabels).map((part, index) => { -+ if (!part.bot) return (0, import_react48.createElement)(import_react48.Fragment, { key: index }, ui.projectUserText(part.text, referenceLabels, skillNames, "skill", references)); ++ if (!part.bot) return (0, import_react49.createElement)(import_react49.Fragment, { key: index }, ui.projectUserText(part.text, referenceLabels, skillNames, "skill", references)); + const title = `@${part.bot.name}`; -+ return typeof part.bot.id === "string" ? (0, import_react48.createElement)("button", { key: index, type: "button", className: "bt-umention", title, onClick: () => actions.openSession(part.bot.id) }, chip(part)) : (0, import_react48.createElement)("span", { key: index, className: "bt-umention", title }, chip(part)); ++ return typeof part.bot.id === "string" ? (0, import_react49.createElement)("button", { key: index, type: "button", className: "bt-umention", title, onClick: () => actions.openSession(part.bot.id) }, chip(part)) : (0, import_react49.createElement)("span", { key: index, className: "bt-umention", title }, chip(part)); + }); } function Attachments({ attachments, renderMessageImages }) { const compact2 = attachments.length > 1; - return (0, import_react34.createElement)("div", { className: "bt-uattach" }, attachments.map((block, index) => { -+ return (0, import_react48.createElement)("div", { className: "bt-uattach" }, attachments.map((block, index) => { ++ return (0, import_react49.createElement)("div", { className: "bt-uattach" }, attachments.map((block, index) => { if (block.type === "image") { - return renderMessageImages ? (0, import_react34.createElement)(import_react34.Fragment, { key: index }, renderMessageImages({ images: [{ attachment: block.attachment }], align: "end", compact: compact2 })) : null; -+ return renderMessageImages ? (0, import_react48.createElement)(import_react48.Fragment, { key: index }, renderMessageImages({ images: [{ attachment: block.attachment }], align: "end", compact: compact2 })) : null; ++ return renderMessageImages ? (0, import_react49.createElement)(import_react49.Fragment, { key: index }, renderMessageImages({ images: [{ attachment: block.attachment }], align: "end", compact: compact2 })) : null; } const file = block.attachment; const meta = [ui.fileExtension?.(file.name)?.toUpperCase().slice(0, 8), ui.fileSizeText?.(file.bytes)].filter(Boolean).join(" · "); - return (0, import_react34.createElement)( -+ return (0, import_react48.createElement)( ++ return (0, import_react49.createElement)( "span", { key: index, className: "bt-ufile", title: file.name }, - ui.FileTypeIcon ? (0, import_react34.createElement)(ui.FileTypeIcon, { path: file.name, className: "bt-ufile-icon" }) : null, - (0, import_react34.createElement)("span", { className: "bt-ufile-text" }, (0, import_react34.createElement)("span", { className: "bt-ufile-name" }, file.name), meta ? (0, import_react34.createElement)("span", { className: "bt-ufile-meta" }, meta) : null) -+ ui.FileTypeIcon ? (0, import_react48.createElement)(ui.FileTypeIcon, { path: file.name, className: "bt-ufile-icon" }) : null, -+ (0, import_react48.createElement)("span", { className: "bt-ufile-text" }, (0, import_react48.createElement)("span", { className: "bt-ufile-name" }, file.name), meta ? (0, import_react48.createElement)("span", { className: "bt-ufile-meta" }, meta) : null) ++ ui.FileTypeIcon ? (0, import_react49.createElement)(ui.FileTypeIcon, { path: file.name, className: "bt-ufile-icon" }) : null, ++ (0, import_react49.createElement)("span", { className: "bt-ufile-text" }, (0, import_react49.createElement)("span", { className: "bt-ufile-name" }, file.name), meta ? (0, import_react49.createElement)("span", { className: "bt-ufile-meta" }, meta) : null) ); })); } -function CopyButton({ text }) { - const [copied, setCopied] = (0, import_react34.useState)(false); +function CopyButton({ text: text2 }) { -+ const [copied, setCopied] = (0, import_react48.useState)(false); ++ const [copied, setCopied] = (0, import_react49.useState)(false); const copy2 = () => { - void navigator.clipboard?.writeText(text).then(() => { + void navigator.clipboard?.writeText(text2).then(() => { @@ -23820,7 +24575,7 @@ diff --git a/client.js b/client.js }); }; - return (0, import_react34.createElement)("button", { type: "button", className: "bt-tool", "aria-label": copied ? t("Copied") : t("Copy"), title: copied ? t("Copied") : t("Copy"), onClick: copy2 }, copied ? (0, import_react34.createElement)(CheckIcon) : (0, import_react34.createElement)(CopyIcon)); -+ return (0, import_react48.createElement)("button", { type: "button", className: "bt-tool", "aria-label": copied ? t("Copied") : t("Copy"), title: copied ? t("Copied") : t("Copy"), onClick: copy2 }, copied ? (0, import_react48.createElement)(CheckIcon) : (0, import_react48.createElement)(CopyIcon)); ++ return (0, import_react49.createElement)("button", { type: "button", className: "bt-tool", "aria-label": copied ? t("Copied") : t("Copy"), title: copied ? t("Copied") : t("Copy"), onClick: copy2 }, copied ? (0, import_react49.createElement)(CheckIcon) : (0, import_react49.createElement)(CopyIcon)); } var clock3 = (time) => typeof time === "number" ? new Date(time).toLocaleTimeString(dateLocale(), { hour: "numeric", minute: "2-digit" }) : void 0; function UserMessageCell({ node, sessionId, useRoster, actions, renderMessageImages, openFile, openSkill }) { @@ -23839,7 +24594,7 @@ diff --git a/client.js b/client.js + const person = incoming && author.authorKind === "human" && !author.ownerName; + const faceMine = Boolean(room2?.origin === "face-to-face" && !incoming); + const myName = faceMine ? facePeople(room2, roster).find((entry) => entry.mine)?.name || cleanPeerName(roster.self?.displayName, "") || author?.name || "" : ""; -+ return (0, import_react48.createElement)( ++ return (0, import_react49.createElement)( "div", - { className: "bt-umsg", "data-steering": steering || void 0 }, - (0, import_react34.createElement)( @@ -23851,28 +24606,28 @@ diff --git a/client.js b/client.js + "data-author-kind": author?.authorKind, + "data-author-name": author?.name + }, -+ person ? (0, import_react48.createElement)("span", { className: "bt-lead", title: author.name }, (0, import_react48.createElement)(PersonMark, { name: author.name })) : null, -+ faceMine ? (0, import_react48.createElement)("span", { className: "bt-lead", title: myName || void 0 }, (0, import_react48.createElement)(PersonMark, { name: myName || void 0 })) : null, -+ (0, import_react48.createElement)( ++ person ? (0, import_react49.createElement)("span", { className: "bt-lead", title: author.name }, (0, import_react49.createElement)(PersonMark, { name: author.name })) : null, ++ faceMine ? (0, import_react49.createElement)("span", { className: "bt-lead", title: myName || void 0 }, (0, import_react49.createElement)(PersonMark, { name: myName || void 0 })) : null, ++ (0, import_react49.createElement)( "div", { className: "bt-ustack" }, - attachments.length > 0 ? (0, import_react34.createElement)(Attachments, { attachments, renderMessageImages }) : null, - text !== "" || rest.length > 0 ? (0, import_react34.createElement)( -+ faceMine && myName ? (0, import_react48.createElement)("span", { className: "bt-uauthor" }, myName) : author && (incoming || multiHuman) ? (0, import_react48.createElement)("span", { className: "bt-uauthor" }, author.name, author.ownerName ? (0, import_react48.createElement)("span", { className: "bt-chip" }, t("Friend's Bot")) : null) : null, -+ attachments.length > 0 ? (0, import_react48.createElement)(Attachments, { attachments, renderMessageImages }) : null, -+ text2 !== "" || rest.length > 0 ? (0, import_react48.createElement)( ++ faceMine && myName ? (0, import_react49.createElement)("span", { className: "bt-uauthor" }, myName) : author && (incoming || multiHuman) ? (0, import_react49.createElement)("span", { className: "bt-uauthor" }, author.name, author.ownerName ? (0, import_react49.createElement)("span", { className: "bt-chip" }, t("Friend's Bot")) : null) : null, ++ attachments.length > 0 ? (0, import_react49.createElement)(Attachments, { attachments, renderMessageImages }) : null, ++ text2 !== "" || rest.length > 0 ? (0, import_react49.createElement)( "div", { className: "bt-ubody", title: clock3(data.time) }, - (0, import_react34.createElement)(UserText, { text, bots: mentionableBots(roster, sessionId), referenceLabels, skillNames: data.skillNames ?? [], references, actions }), - rest.map((block, index) => ui.JsonBlock ? (0, import_react34.createElement)(ui.JsonBlock, { key: index, label: t("Content"), payload: block }) : null) -+ (0, import_react48.createElement)(UserText, { text: text2, bots: mentionableBots(roster, sessionId, { fromFriend: Boolean(incoming && author.ownerName) }), referenceLabels, skillNames: data.skillNames ?? [], references, actions }), -+ rest.map((block, index) => ui.JsonBlock ? (0, import_react48.createElement)(ui.JsonBlock, { key: index, label: t("Content"), payload: block }) : null) ++ (0, import_react49.createElement)(UserText, { text: text2, bots: mentionableBots(roster, sessionId, { fromFriend: Boolean(incoming && author.ownerName) }), referenceLabels, skillNames: data.skillNames ?? [], references, actions }), ++ rest.map((block, index) => ui.JsonBlock ? (0, import_react49.createElement)(ui.JsonBlock, { key: index, label: t("Content"), payload: block }) : null) ) : null, - referenceLabels.length > 0 ? (0, import_react34.createElement)("div", { className: "bt-urefs" }, t("Referenced {labels}", { labels: referenceLabels.join(t(", ")) })) : null -+ referenceLabels.length > 0 ? (0, import_react48.createElement)("div", { className: "bt-urefs" }, t("Referenced {labels}", { labels: referenceLabels.join(t(", ")) })) : null ++ referenceLabels.length > 0 ? (0, import_react49.createElement)("div", { className: "bt-urefs" }, t("Referenced {labels}", { labels: referenceLabels.join(t(", ")) })) : null ), - text === "" ? null : (0, import_react34.createElement)("div", { className: "bt-utools" }, (0, import_react34.createElement)(CopyButton, { text })) -+ text2 === "" ? null : (0, import_react48.createElement)("div", { className: "bt-utools" }, (0, import_react48.createElement)(CopyButton, { text: text2 })) ++ text2 === "" ? null : (0, import_react49.createElement)("div", { className: "bt-utools" }, (0, import_react49.createElement)(CopyButton, { text: text2 })) ); } var USER_MESSAGE_CSS = ` @@ -23974,7 +24729,7 @@ diff --git a/client.js b/client.js +} + +// src/client/stats-dock.js -+var import_react49 = require("react"); ++var import_react50 = require("react"); +var STATS_DOCK = "conversation.composer.dock"; +var STATS_ID = "stats"; +var STATS_IDS = [STATS_ID, "activity"]; @@ -23990,17 +24745,17 @@ diff --git a/client.js b/client.js +function statsDock(entriesOf, id = STATS_ID) { + const shell = () => (entriesOf(STATS_DOCK) ?? []).find((entry) => entry?.component !== StatsDock && entry?.options?.id === id); + function StatsDock(props) { -+ const t2 = (0, import_react49.useMemo)(() => typeof props.t === "function" ? pluralStats(props.t) : props.t, [props.t]); ++ const t2 = (0, import_react50.useMemo)(() => typeof props.t === "function" ? pluralStats(props.t) : props.t, [props.t]); + const entry = shell(); + if (!entry || typeof props.usePerformanceUsage !== "function") return null; -+ return (0, import_react49.createElement)(entry.component, { ...props, t: t2 }); ++ return (0, import_react50.createElement)(entry.component, { ...props, t: t2 }); + } + return { component: StatsDock, inject: (...args) => shell()?.inject?.(...args) ?? {} }; +} +var statsDocks = (entriesOf) => STATS_IDS.map((id) => ({ id, ...statsDock(entriesOf, id) })); // src/client/index.js -+var import_react50 = require("react"); ++var import_react51 = require("react"); var inject = ["sessions", "uiWorkspace", "uiConversation", "slots", "theme", "layout"]; function apply(ctx) { + const flybot = createClientApi2(); @@ -24029,7 +24784,7 @@ diff --git a/client.js b/client.js + } catch { + friendLines = null; + } -+ const ui2 = createSource({ details: null, view: "details", renaming: false, tab: null, newChat: null, exchange: null, menu: null, voice: null, palette: null, quote: null, settings: null, remoteBotSettings: null, memory: null, toast: null, signIn: null, renameAgent: null, unread: savedUnread, reactions: savedReactions, visits: {} }); ++ const ui2 = createSource({ details: null, view: "details", renaming: false, tab: null, newChat: null, exchange: null, menu: null, voice: null, palette: null, quote: null, settings: new URLSearchParams(window.location?.search ?? "").has("feishu-app") ? { page: "connectors", id: null } : null, remoteBotSettings: null, memory: null, toast: null, signIn: null, renameAgent: null, unread: savedUnread, reactions: savedReactions, visits: {} }); const surface = createSource({ mode: readMode(), plain: false }); let agentSessionCache = /* @__PURE__ */ new Set(); try { @@ -24249,7 +25004,7 @@ diff --git a/client.js b/client.js stopMemberWork: (roomId, botId) => after(call("stop-member-work", { roomId, botId })), // Values go out in these requests and never come back in a response. secretSet: (payload) => after(call("secret-set", payload)), -@@ -13819,15 +13819,31 @@ function apply(ctx) { +@@ -13819,15 +13819,32 @@ function apply(ctx) { secretCancel: (requestId) => after(call("secret-cancel", { requestId })), secretUpdate: (name, scope) => after(call("secret-update", { name, scope })), secretDelete: (name) => after(call("secret-delete", { name })), @@ -24265,6 +25020,7 @@ diff --git a/client.js b/client.js connectorDisconnect: (id) => after(call("connector-disconnect", { id })), connectorRetry: (id) => after(call("connector-retry", { id })), + connectorSend: (id, text2) => after(call("connector-send", { id, text: text2 })), ++ feishu: (payload) => call("feishu", payload), saveCapability: (capability) => after(call("capability-save", capability)), deleteCapability: (name) => after(call("capability-delete", { name })), approveCapability: (name) => after(call("capability-approve", { name })), @@ -24472,7 +25228,7 @@ diff --git a/client.js b/client.js ]; + ctx.effect(() => { + const style = installStyles(TURN_FAILURES_CSS, "turn-failures"); -+ const off = registry().register("flybot.session.dock", { id: "flybot-turn-failures", order: 20, component: (props) => (0, import_react50.createElement)(TurnFailures, { ...props, work }) }); ++ const off = registry().register("flybot.session.dock", { id: "flybot-turn-failures", order: 20, component: (props) => (0, import_react51.createElement)(TurnFailures, { ...props, work }) }); + return () => { + off(); + style.remove(); diff --git a/patches/ds-bot/0014-flybot-branding.patch b/patches/ds-bot/0014-flybot-branding.patch index 0dad2160a..502dac803 100644 --- a/patches/ds-bot/0014-flybot-branding.patch +++ b/patches/ds-bot/0014-flybot-branding.patch @@ -1240,10 +1240,11 @@ diff --git a/src/host/secrets.js b/src/host/secrets.js import { output } from './tools.js' export const SECRET_NAME = /^[A-Z][A-Z0-9_]{0,63}$/ -@@ -20,6 +20,17 @@ const MAX_REQUESTS = 20 +@@ -20,7 +20,18 @@ const MAX_REQUESTS = 20 const USED_SAVE_MS = 5000 export const envName = name => `${ENV_PREFIX}${name}` +-export const canUse = (secret, botId) => secret !== undefined && botId !== undefined +// A shell that cannot use a saved key says so instead of looking empty (#651): names and a reason, +// never a value. Owner decision 2026-10-22 (#601): the owner's own Bots get the owner's keys on every +// turn, whoever started it, so the only reasons left are the real boundaries: a friend's Bot, a key @@ -1255,9 +1256,10 @@ diff --git a/src/host/secrets.js b/src/host/secrets.js + NOT_IN_SCOPE: 'not-in-scope', + UNKNOWN_BOT: 'unknown-bot', +}) - export const canUse = (secret, botId) => secret !== undefined && botId !== undefined ++export const canUse = (secret, botId) => secret !== undefined && botId !== undefined && !['FEISHU_APP_SECRET', 'FEISHU_WEBHOOK'].includes(secret.name) && (secret.scope === 'all' || (Array.isArray(secret.scope) && secret.scope.includes(botId))) + export function normalizeName(raw) { @@ -81,7 +81,9 @@ export function install(rt) { const { ctx, home, state } = rt const path = join(home, 'secrets.json') diff --git a/patches/ds-bot/files/src/client/feishu-copy.js b/patches/ds-bot/files/src/client/feishu-copy.js new file mode 100644 index 000000000..0cde9f8ea --- /dev/null +++ b/patches/ds-bot/files/src/client/feishu-copy.js @@ -0,0 +1,63 @@ +export const FEISHU_ZH = { + 'Optional tools': '按需选择', 'Select the tools you need. The permission JSON updates automatically.': '勾选需要的工具,权限 JSON 会自动更新。', + 'Clipboard is unavailable. Copy the selected JSON below.': '无法访问剪贴板,请手动复制已选中的权限 JSON。', + 'Base permissions are always included.': '已包含全部基础权限', 'View permission JSON': '查看权限 JSON', 'Open Feishu Open Platform': '打开飞书开放平台', + 'Long connection': '长连接', 'Event address': '事件地址', 'Recommended · no public address': '推荐 · 无需公网地址', 'Requires a public HTTPS address': '需要公网 HTTPS 地址', + 'Connection steps': '接入步骤', 'Step {current} of {total}': '第 {current} 步,共 {total} 步', 'Previous step': '上一步', + 'Check App ID and App Secret. A nonexistent App ID may be reported as an internal error.': 'App ID 或 App Secret 不正确,请在应用的“凭证与基础信息”页面重新复制。App ID 不存在时,飞书可能只返回“内部错误”。', + 'FlyBot cannot reach open.feishu.cn. Check the server network or proxy.': 'FlyBot 服务器连不上 open.feishu.cn,请检查服务器的网络或代理设置。', + 'Credentials accepted, but Bot information is unavailable. Enable the Bot capability and publish a version. You can continue now and test again after publishing.': '凭据正确,但还读不到机器人:应用还没有开启机器人能力,或开启后还没有发布版本。可以先继续下一步,发布版本后再测试。', + 'Apply for the missing app permission, publish a new version, wait for approval, then check permissions again.': '请在飞书开放平台申请缺少的应用权限并发布新版本;需要管理员审批时等待通过,再重新检测。', + 'The application has reached its long-connection limit (up to 50 connections).': '应用的长连接数已达上限(最多 50 个连接)。', + 'Could not connect to open.feishu.cn; check the server network, proxy and application credentials.': '连不上 open.feishu.cn,请检查服务器网络、代理和应用凭据。', + 'The Feishu long-connection SDK is not installed on the FlyBot server. Reinstall FlyBot, or rebuild the image if it runs in Docker.': 'FlyBot 服务器上没有安装飞书长连接 SDK。请重新安装 FlyBot;用 Docker 运行时请重新构建镜像。', + 'Operation failed; check network, permissions and published app version': '操作失败,请检查网络、应用权限及已发布的应用版本。', + + 'Conversation handlers': '会话处理的 Bot', 'Conversation handler': '处理的 Bot', 'Follow the default Bot': '跟随默认 Bot', + 'Reply in thread': '回复消息串', + 'Connection name': '接入名称', 'App has read-only permission': '只开通了只读', + 'Also process other robots that mention this robot (up to 8 consecutive requests)': '其他机器人 @ 这个机器人时,也交给 Bot 处理(连续最多 8 次)', + 'Files': '文件', + 'Setup guide': '设置引导', 'Connect Feishu': '接入飞书', 'New connection': '新建接入', + 'Prepare a public event address': '准备公网事件地址', 'Create an app on Feishu Open Platform': '在飞书开放平台创建应用', + 'Enter credentials and test connection': '填写凭据并测试连接', 'Subscribe to message events and card callbacks': '订阅消息事件与卡片回调', + 'Publish an app version': '发布应用版本', 'Choose the Bot represented by the robot': '选择机器人代表的 Bot', 'Try it in Feishu': '在飞书中试一试', + 'Long connection (recommended, no public address)': '长连接(推荐,不需要公网地址)', 'Event address (HTTP, needs a public address)': '事件地址(HTTP,需要公网地址)', + 'Create an internal app, add the Bot capability, and apply for the permissions below. Do not configure events yet.': '创建企业自建应用,在“添加应用能力”中添加机器人,按下方列表申请权限并设置通讯录权限范围。先不要配置事件订阅。', + 'Only Feishu (open.feishu.cn) is supported; Lark is not supported.': '只支持飞书(open.feishu.cn),不支持 Lark 国际版。', + 'Copy permission JSON': '复制权限 JSON', 'Copied': '已复制', 'Extended permissions (Feishu tools)': '扩展权限(飞书工具)', + 'Calendar': '日历', 'Documents and wiki': '文档与知识库', 'Bitable': '多维表格', 'Spreadsheets': '电子表格', 'Video meetings': '视频会议', 'Tasks': '任务', + 'Import this JSON in Permission management → Batch import/export. Set the contact data scope to people who will use the robot.': '在“权限管理 → 批量导入/导出”中粘贴 JSON 并申请开通;在“数据权限”中把通讯录权限范围设为会使用机器人的成员。', + 'Public HTTPS event origin': '公网 HTTPS 事件地址前缀', + 'Forward only the event port to a public HTTPS address. Do not expose the FlyBot console. Leave Encrypt Key empty.': '准备公网可以访问的 HTTPS 地址,只转发事件端口,不开放控制台。Encrypt Key 保持为空:FlyBot 不接收加密推送的事件。', + 'Credentials are encrypted on the platform and cannot be viewed after saving. Bots never receive them.': 'FlyBot 加密保存凭据,保存后不能再查看。凭据只留在平台,不交给 Bot。', + 'Leave saved credentials blank to keep them. Switching receiving methods reuses the same Feishu application and conversations.': '已有凭据留空即沿用;切换接收方式沿用原来的飞书应用和会话,不需要重新创建。', + 'Switching to a long connection deletes the saved Verification Token.': '改用长连接后,原来保存的 Verification Token 会被删除。', + 'Save and test connection': '保存并测试连接', 'Connection to Feishu': '与飞书的连接', 'Refreshes every 3 seconds': '每 3 秒刷新', + 'Connected': '已连接', 'Connecting…': '正在连接…', 'Connection failed': '连接失败', + 'Wait until connected: Feishu only allows saving the long connection subscription after FlyBot connects. Check credentials and network if it keeps waiting.': '还没有连上:飞书只有在 FlyBot 连上之后,才允许把订阅方式保存为长连接。如果一直停在这里,检查 App ID、App Secret,以及服务器能否访问 open.feishu.cn。', + 'Now set Events and callbacks → Event configuration → Use long connection to receive events, then save.': '现在到“事件与回调 → 事件配置”,把订阅方式设为“使用长连接接收事件”并保存。', + 'Add Receive message v2.0 (im.message.receive_v1).': '添加事件“接收消息 v2.0”(im.message.receive_v1)。', + 'In Callback configuration, use the long connection and add Card action trigger (card.action.trigger).': '在“回调配置”中选择“使用长连接接收回调”并保存,添加“卡片回传交互”(card.action.trigger)。', + 'In both Event configuration and Callback configuration, select Send to developer server, use the same address below, and save.': '在“事件配置”和“回调配置”中分别选择“将事件/回调发送至开发者服务器”,填写下方同一个请求地址并保存。', + 'Address verified': '请求地址已通过验证', 'Waiting for address verification': '等待飞书验证请求地址;失败时检查 Verification Token,并返回上一步修改。', + 'Received an event': '已收到飞书事件', 'No event received yet': '尚未收到飞书事件', + 'Without card.action.trigger, cards can display but buttons and forms do not respond. Neither test connection nor connected status checks callback subscriptions.': '没有订阅 card.action.trigger 时,卡片能显示,但按钮和表单没有反应。测试连接、基础权限检测和“已连接”都不检测回调订阅。', + 'Connect each Feishu app to only one FlyBot instance; multiple instances split incoming messages.': '同一个飞书应用只接到一个 FlyBot:同时接到多个实例时,消息会被随机分走。', + 'Create and publish a version in Version management and release. Include the required members or departments. Wait for enterprise approval if required.': '在“版本管理与发布”中创建版本,在可用范围中选择能使用机器人的成员或部门,申请线上发布;需要审核时等待企业管理员通过。', + 'Permissions, Bot capability, events and callbacks take effect after publishing. Publish again after any change.': '权限、机器人能力、消息事件和卡片回调订阅在发布后才生效;之后修改也要重新发布版本。', + 'Test connection': '测试连接', 'One Feishu application represents one Bot. Group mentions and private messages go to the selected local Bot.': '一个飞书应用就是一个机器人。群里 @ 它的消息和发给它的私聊消息交给选中的本地 Bot 处理,回复以机器人的身份发出。', + 'Choose a Bot': '选择 Bot', 'Add the application under Group settings → Group robots. Mention it in the group, or send a private message.': '在“群设置 → 群机器人”中添加这个应用,在群里 @ 机器人,或直接私聊它。', + 'Ask the Bot to send a card with a submit button. Click it and confirm Submitted. Ordinary chat success does not verify card callbacks.': '请机器人发送一张带提交按钮的卡片,实际点击并确认出现“已提交”提示;普通聊天成功不能代替卡片交互验证。', + 'Each group or private chat keeps one FlyBot conversation; thread replies return to the original thread. Message edits and recalls are not synchronized.': '一个群聊或私聊对应一个 FlyBot 会话;消息串中的回复发回原消息串。不同步消息的编辑和撤回。', + 'Who may send messages': '谁可以发消息', 'Allow an open_id': '允许发消息的 open_id', 'Allowed senders can send messages; this does not grant platform identity or approval authority.': '白名单只表示允许发消息,不等于平台用户或审批权限。', + 'Identity linking': '身份关联', 'Feishu open_id': '飞书 open_id', 'Platform member': '平台成员', 'Link identity': '关联身份', + 'Link to an existing signed-in platform member. No external members or new login accounts are created. Unlinked card submissions and meeting bookings are refused.': '关联到已有平台成员,不创建外部成员或新登录账号。未关联的卡片提交和视频会议预约会被拒绝。', + 'Feishu tools': '飞书工具', 'Disabled': '禁用', 'Read only': '只读', 'Read/write, ask before writes': '读写,写入需询问', 'Read/write': '读写', + 'Permissions of the Feishu application': '飞书应用的权限', 'Check permissions again': '重新检测', 'App permission not granted': '飞书应用未开通', + 'Diagnostics': '诊断记录', 'Delivery records': '投递记录', 'Cards': '卡片', 'Delete connection': '删除接入', + 'Later': '稍后继续', 'Next': '下一步', 'Back': '上一步', 'Finish': '完成', 'Save': '保存', + 'App ID must be cli_ followed by 16 hexadecimal characters': 'App ID 必须是 cli_ 加 16 位十六进制字符。', + 'Enter the App Secret': '请填写 App Secret。', 'Enter the Verification Token': '请填写 Verification Token。', + 'Prepare a public HTTPS event address': '请先准备公网可以访问的 HTTPS 事件地址。', +} diff --git a/patches/ds-bot/files/src/client/feishu-setup.js b/patches/ds-bot/files/src/client/feishu-setup.js new file mode 100644 index 000000000..6f48f0f5c --- /dev/null +++ b/patches/ds-bot/files/src/client/feishu-setup.js @@ -0,0 +1,109 @@ +import { createElement as h, useCallback, useEffect, useRef, useState } from 'react' +import { t, hostText } from './i18n.js' +import { ownBots } from './connector-bots.js' +import { APP_ID, PRODUCTS, BASE_SCOPES, permissionJSON, setupSteps, publicAddress, scopeGranted, productAccess } from '../shared/feishu.js' + +const button = (text, onClick, disabled = false, variant = '') => h('button', { type: 'button', className: `bt-soft bt-soft-sm bt-feishu-button ${variant}`, onClick, disabled }, t(text)) +const hint = key => h('p', { className: 'bt-set-hint' }, t(key)) +const field = (label, value, change, type = 'text', disabled = false) => h('label', { className: 'bt-feishu-field' }, h('span', {}, t(label)), h('input', { className: 'bt-input', type, value, disabled, autoComplete: type === 'password' ? 'new-password' : 'off', 'aria-label': t(label), onChange: e => change(e.target.value) })) + +export function FeishuSetup({ actions, roster, onClose }) { + const [apps, setApps] = useState([]), [members, setMembers] = useState([]), [selected, setSelected] = useState(''), [step, setStep] = useState(0) + const [mode, setMode] = useState('socket'), [appId, setAppId] = useState(''), [secret, setSecret] = useState(''), [token, setToken] = useState(''), [url, setUrl] = useState(''), [name, setName] = useState('Feishu') + const [botId, setBotId] = useState(''), [openId, setOpenId] = useState(''), [memberId, setMemberId] = useState(''), [extensions, setExtensions] = useState([]), [copied, setCopied] = useState(false) + const [busy, setBusy] = useState(false), [error, setError] = useState(''), [result, setResult] = useState(null), [webhook, setWebhook] = useState('') + const initial = useRef(true) + const app = apps.find(a => a.id === selected), steps = setupSteps(mode), offset = mode === 'http' ? 1 : 0, n = step - offset + const load = useCallback(async () => { const out = await actions.feishu({ operation: 'list' }); setApps(out.apps ?? []); setMembers(out.members ?? []); if (initial.current) { initial.current = false; const queryId = new URLSearchParams(window.location.search).get('feishu-app'); const saved = out.apps?.find(a => a.id === queryId) ?? out.apps?.[0]; if (saved) { setSelected(saved.id); setAppId(saved.id); setMode(saved.mode); setStep(saved.step ?? 0); setBotId(saved.botId ?? ''); setUrl(saved.publicUrl ?? ''); setName(saved.name ?? 'Feishu') } } }, [actions]) + useEffect(() => { void load().catch(e => setError(hostText(e.message))); const timer = setInterval(() => { void load().catch(() => {}) }, 3000); return () => clearInterval(timer) }, [load]) + const run = async fn => { setBusy(true); setError(''); try { const value = await fn(); await load(); return value } catch (e) { setError(hostText(e.message)); return undefined } finally { setBusy(false) } } + const select = id => { + const saved = apps.find(a => a.id === id) + setSelected(id); setAppId(id); setMode(saved?.mode ?? 'socket'); setStep(saved?.step ?? 0); setBotId(saved?.botId ?? ''); setUrl(saved?.publicUrl ?? ''); setName(saved?.name ?? 'Feishu'); setSecret(''); setToken(''); setResult(null) + } + const advance = async target => { + if (selected) await run(() => actions.feishu({ operation: 'configure', appId: selected, step: target, ...(botId ? { botId } : {}) })) + setStep(target) + } + const save = () => void run(async () => { + const out = await actions.feishu({ operation: 'save', appId, appSecret: secret, verificationToken: token, mode, publicUrl: url, name, step: offset + 2 }) + setApps(out.apps); setSelected(appId); setSecret(''); setToken(''); setResult(out.test); setStep(offset + (out.test?.credentialError ? 1 : 2)) + }) + const action = payload => void run(() => actions.feishu({ appId: selected, ...payload })) + const copyPermissions = async event => { + const section = event.currentTarget.closest('.bt-feishu-permissions') + setError('') + try { + if (!navigator.clipboard?.writeText) throw new Error('Clipboard unavailable') + await navigator.clipboard.writeText(permissionJSON(extensions)); setCopied(true) + } catch { + const preview = section.querySelector('.bt-feishu-json'), textarea = preview.querySelector('textarea') + preview.open = true; textarea.focus(); textarea.select() + setCopied(false) + setError(t('Clipboard is unavailable. Copy the selected JSON below.')) + } + } + const permissionPicker = h('section', { className: 'bt-feishu-permissions' }, + h('div', { className: 'bt-feishu-section-head' }, h('strong', {}, t('Extended permissions (Feishu tools)')), h('span', { className: 'bt-feishu-optional' }, t('Optional tools'))), + hint('Select the tools you need. The permission JSON updates automatically.'), + h('div', { className: 'bt-feishu-permission-grid' }, PRODUCTS.map(p => h('label', { key: p.id, className: 'bt-feishu-permission', 'data-checked': extensions.includes(p.id) }, + h('input', { type: 'checkbox', checked: extensions.includes(p.id), onChange: e => { setExtensions(e.target.checked ? [...extensions, p.id] : extensions.filter(x => x !== p.id)); setCopied(false) } }), h('span', {}, t(p.label))))), + h('div', { className: 'bt-feishu-permission-copy' }, button(copied ? 'Copied' : 'Copy permission JSON', copyPermissions), + h('span', { className: 'bt-set-hint' }, t('Base permissions are always included.'))), + h('details', { className: 'bt-feishu-json' }, h('summary', {}, t('View permission JSON')), h('textarea', { className: 'bt-input', readOnly: true, rows: 8, value: permissionJSON(extensions), 'aria-label': t('Copy permission JSON') })), + hint('Import this JSON in Permission management → Batch import/export. Set the contact data scope to people who will use the robot.')) + let content + if (step === 0 && mode === 'http') content = h('div', {}, hint('Forward only the event port to a public HTTPS address. Do not expose the FlyBot console. Leave Encrypt Key empty.'), field('Public HTTPS event origin', url, setUrl)) + else if (n === 0) content = h('div', {}, hint('Create an internal app, add the Bot capability, and apply for the permissions below. Do not configure events yet.'), + h('a', { className: 'bt-feishu-external', href: 'https://open.feishu.cn/app', target: '_blank', rel: 'noopener noreferrer' }, t('Open Feishu Open Platform'), h('span', { 'aria-hidden': true }, '↗')), permissionPicker) + else if (n === 1) content = h('div', {}, hint('Credentials are encrypted on the platform and cannot be viewed after saving. Bots never receive them.'), hint('Leave saved credentials blank to keep them. Switching receiving methods reuses the same Feishu application and conversations.'), + app?.mode === 'http' && mode === 'socket' ? hint('Switching to a long connection deletes the saved Verification Token.') : null, + field('Connection name', name, setName), + field('App ID', appId, setAppId, 'text', !!selected), field('App Secret', secret, setSecret, 'password'), mode === 'http' ? field('Verification Token', token, setToken, 'password') : null, + appId && !APP_ID.test(appId) ? hint('App ID must be cli_ followed by 16 hexadecimal characters') : null, + button('Save and test connection', save, busy || !APP_ID.test(appId) || !selected && !secret.trim() || mode === 'http' && (!publicAddress(url) || (!token && app?.mode !== 'http')), 'bt-feishu-primary')) + else if (n === 2) content = h('div', {}, + mode === 'socket' ? h('div', {}, h('strong', {}, t('Connection to Feishu')), h('p', { role: 'status' }, t(app?.connection === 'ready' ? 'Connected' : app?.connection === 'error' ? 'Connection failed' : 'Connecting…')), hint('Refreshes every 3 seconds'), + app?.connection === 'ready' ? hint('Now set Events and callbacks → Event configuration → Use long connection to receive events, then save.') : hint('Wait until connected: Feishu only allows saving the long connection subscription after FlyBot connects. Check credentials and network if it keeps waiting.'), + hint('In Callback configuration, use the long connection and add Card action trigger (card.action.trigger).')) : h('div', {}, hint('In both Event configuration and Callback configuration, select Send to developer server, use the same address below, and save.'), h('code', {}, `${url.replace(/\/$/, '')}/api/feishu/events/${selected}`), hint(app?.verifiedAt ? 'Address verified' : 'Waiting for address verification')), + hint('Add Receive message v2.0 (im.message.receive_v1).'), hint('Without card.action.trigger, cards can display but buttons and forms do not respond. Neither test connection nor connected status checks callback subscriptions.'), hint('Connect each Feishu app to only one FlyBot instance; multiple instances split incoming messages.'), hint(app?.lastEventAt ? 'Received an event' : 'No event received yet')) + else if (n === 3) content = h('div', {}, hint('Create and publish a version in Version management and release. Include the required members or departments. Wait for enterprise approval if required.'), hint('Permissions, Bot capability, events and callbacks take effect after publishing. Publish again after any change.'), button('Test connection', () => void run(async () => { const out = await actions.feishu({ operation: 'test', appId: selected }); setResult(out) }), busy)) + else if (n === 4) content = h('div', {}, hint('One Feishu application represents one Bot. Group mentions and private messages go to the selected local Bot.'), h('select', { className: 'bt-input', 'aria-label': t('Choose a Bot'), value: botId, onChange: e => setBotId(e.target.value) }, h('option', { value: '' }, t('Choose a Bot')), ownBots(roster).filter(b => !b.projectAgent && !b.ephemeral).map(b => h('option', { key: b.id, value: b.id }, b.name)))) + else content = h('div', {}, hint('Add the application under Group settings → Group robots. Mention it in the group, or send a private message.'), hint('Ask the Bot to send a card with a submit button. Click it and confirm Submitted. Ordinary chat success does not verify card callbacks.'), hint('Each group or private chat keeps one FlyBot conversation; thread replies return to the original thread.'), h('ul', {}, (app?.recent ?? []).map(e => h('li', { key: e.id }, `${e.text ?? ''} · ${e.status}`)))) + const identity = h('details', {}, h('summary', {}, t('Identity linking')), hint('Link to an existing signed-in platform member. No external members or new login accounts are created. Unlinked card submissions and meeting bookings are refused.'), field('Feishu open_id', openId, setOpenId), h('select', { className: 'bt-input', value: memberId, 'aria-label': t('Platform member'), onChange: e => setMemberId(e.target.value) }, h('option', { value: '' }, t('Platform member')), members.map(m => h('option', { key: m.id, value: m.id }, m.name))), button('Link identity', () => action({ operation: 'identity', openId, ...(memberId ? { memberId } : {}) }), busy || !openId), h('ul', {}, (app?.identities ?? []).map(i => h('li', { key: i.openId }, `${i.openId} → ${i.memberId}`)))) + return h('section', { className: 'bt-feishu-setup', 'aria-label': t('Connect Feishu') }, + h('header', { className: 'bt-feishu-header' }, h('div', {}, h('h3', {}, t('Connect Feishu')), hint('Only Feishu (open.feishu.cn) is supported; Lark is not supported.')), + apps.length ? h('select', { className: 'bt-input', value: selected, onChange: e => select(e.target.value), 'aria-label': t('Connect Feishu') }, h('option', { value: '' }, t('New connection')), apps.map(a => h('option', { key: a.id, value: a.id }, `${a.name} (${a.id})`))) : null), + app?.linkOnly ? h('div', { className: 'bt-feishu-body' }, identity, button('Later', onClose, false, 'bt-feishu-quiet')) : h('div', { className: 'bt-feishu-body' }, + h('div', { className: 'bt-feishu-modes', role: 'group', 'aria-label': t('How to connect') }, ['socket', 'http'].map(m => h('button', { + key: m, type: 'button', 'aria-pressed': mode === m, 'aria-label': t(m === 'socket' ? 'Long connection (recommended, no public address)' : 'Event address (HTTP, needs a public address)'), + onClick: () => { setMode(m); setStep(m === 'http' ? 0 : selected ? 1 : 0) }, + }, h('strong', {}, t(m === 'socket' ? 'Long connection' : 'Event address')), h('small', {}, t(m === 'socket' ? 'Recommended · no public address' : 'Requires a public HTTPS address'))))), + h('div', { className: 'bt-feishu-layout' }, + h('nav', { className: 'bt-feishu-progress', 'aria-label': t('Connection steps') }, h('ol', {}, steps.map((title, i) => h('li', { key: title }, h('button', { + type: 'button', 'aria-label': t(title), 'aria-current': step === i ? 'step' : undefined, 'data-done': i < step, disabled: i > offset + 1 && !selected, onClick: () => setStep(i), + }, h('span', { className: 'bt-feishu-step-number', 'aria-hidden': true }, i < step ? '✓' : i + 1), h('span', { className: 'bt-feishu-step-label' }, t(title))))))), + h('div', { className: 'bt-feishu-step' }, h('div', { className: 'bt-feishu-step-heading' }, h('span', { className: 'bt-feishu-eyebrow' }, t('Step {current} of {total}', { current: step + 1, total: steps.length })), h('h4', {}, t(steps[step]))), + h('div', { className: 'bt-feishu-step-content' }, content), + result ? h('p', { className: 'bt-feishu-result', role: 'status', 'data-success': result.ok }, result.ok ? `${t('Connected')} ${result.bot ?? ''}` : hostText(result.error)) : null, + h('footer', { className: 'bt-feishu-footer' }, button('Previous step', () => setStep(Math.max(0, step - 1)), step === 0 || busy), + h('div', {}, button('Later', onClose, false, 'bt-feishu-quiet'), step < steps.length - 1 ? button('Next', () => void advance(step + 1), busy || n === 3 && !result?.ok || n === 1 && (!selected || app?.mode !== mode) || n === 4 && !botId || mode === 'http' && step === 0 && !publicAddress(url) || n > 1 && !selected, 'bt-feishu-primary') : button('Finish', onClose, false, 'bt-feishu-primary'))))), + app ? h('div', { className: 'bt-feishu-management' }, h('details', {}, h('summary', {}, t('Who may send messages')), hint('Allowed senders can send messages; this does not grant platform identity or approval authority.'), h('label', { className: 'bt-feishu-check' }, h('input', { type: 'checkbox', checked: app.allowBots === true, onChange: e => action({ operation: 'configure', allowBots: e.target.checked }) }), t('Also process other robots that mention this robot (up to 8 consecutive requests)')), field('Allow an open_id', openId, setOpenId), button('Allow', () => action({ operation: 'allow', openId }), busy || !openId), (app.allowed ?? []).map(id => h('p', { key: id }, id, button('Block', () => action({ operation: 'allow', openId: id, enabled: false }), busy)))), identity, + h('details', {}, h('summary', {}, t('Conversation handlers')), [...new Set((app.recent ?? []).map(e => e.chatId).filter(Boolean))].map(chatId => h('label', { key: chatId, className: 'bt-q-field' }, chatId, h('select', { className: 'bt-input', value: app.chatBots?.[chatId] ?? '', 'aria-label': `${t('Conversation handler')} ${chatId}`, onChange: e => action({ operation: 'configure', chatId, botId: e.target.value || null }) }, h('option', { value: '' }, t('Follow the default Bot')), ownBots(roster).filter(b => !b.projectAgent && !b.ephemeral).map(b => h('option', { key: b.id, value: b.id }, b.name)))))), + h('details', {}, h('summary', {}, t('Permissions of the Feishu application')), permissionPicker, button('Check permissions again', () => action({ operation: 'scopes' }), busy), h('ul', {}, BASE_SCOPES.filter(s => !scopeGranted(s, app.scopes)).map(s => h('li', { key: s }, s)))), + h('details', {}, h('summary', {}, t('Feishu tools')), ownBots(roster).filter(b => !b.projectAgent && !b.ephemeral).map(b => h('fieldset', { key: b.id }, h('legend', {}, b.name), PRODUCTS.map(p => h('label', { key: p.id, className: 'bt-q-field' }, t(p.label), productAccess(p, app.scopes) !== 'write' ? h('small', {}, t(productAccess(p, app.scopes) === 'read' ? 'App has read-only permission' : 'App permission not granted')) : null, + h('select', { className: 'bt-input', 'aria-label': `${b.name} ${t(p.label)}`, value: app.grants?.[b.id]?.[p.id] ?? 'disabled', onChange: e => action({ operation: 'grant', botId: b.id, product: p.id, mode: e.target.value }) }, [['disabled', 'Disabled'], ['read', 'Read only'], ['ask', 'Read/write, ask before writes'], ['write', 'Read/write']].map(([v, label]) => h('option', { key: v, value: v }, t(label))))))))), + h('details', {}, h('summary', {}, t('Diagnostics')), h('ul', {}, (app.diagnostics ?? []).map((d, i) => h('li', { key: i }, `${d.kind}: ${hostText(d.message)} ${d.code ?? ''} ${d.detail ?? ''}`)))), + h('details', {}, h('summary', {}, t('Delivery records')), (app.outbox ?? []).map(o => h('p', { key: o.id }, `${o.id}: ${o.status}`, o.status === 'failed' ? button('Try again', () => action({ operation: 'retry', outboxId: o.id })) : null))), + h('details', {}, h('summary', {}, t('Files')), (app.files ?? []).map(file => button(file.name, () => void run(async () => { const value = await actions.feishu({ operation: 'attachment', appId: app.id, attachmentId: file.id }); const bytes = Uint8Array.from(atob(value.content_base64), c => c.charCodeAt(0)); const href = URL.createObjectURL(new Blob([bytes])); const a = Object.assign(document.createElement('a'), { href, download: value.name ?? file.name }); a.click(); setTimeout(() => URL.revokeObjectURL(href), 10000) })))), + h('details', {}, h('summary', {}, t('Cards')), (app.cards ?? []).map(c => h(CardPanel, { key: c.id, card: c, action }))), + button('Delete connection', () => void run(async () => { await actions.feishu({ operation: 'delete', appId: selected }); select('') }), busy)) : null), + !app ? h('details', { className: 'bt-feishu-webhook' }, h('summary', {}, t('Custom bot webhook')), field('Webhook URL', webhook, setWebhook, 'password'), button('Connect', () => void run(() => actions.connectorConnect('feishu', { mode: 'webhook', credentials: { webhook } })), busy || !webhook)) : null, + error ? h('p', { className: 'bt-feishu-error', role: 'alert' }, error) : null) +} + +function CardPanel({ card, action }) { + const [fields, setFields] = useState({}) + return h('article', {}, h('strong', {}, card.card.title ?? 'FlyBot'), (card.card.blocks ?? []).map((b, i) => b.type === 'input' ? field(b.label ?? b.name, fields[b.name] ?? '', value => setFields({ ...fields, [b.name]: value })) : h('pre', { key: i }, b.text ?? JSON.stringify(b))), + (card.card.actions ?? []).map(a => button(a.label ?? a.id, () => action({ operation: 'card-action', cardId: card.id, action: a.id, fields }), card.closed))) +} diff --git a/patches/ds-bot/files/src/client/workbench/app.js b/patches/ds-bot/files/src/client/workbench/app.js index d56b15810..3e3448986 100644 --- a/patches/ds-bot/files/src/client/workbench/app.js +++ b/patches/ds-bot/files/src/client/workbench/app.js @@ -15,6 +15,7 @@ export function mountWorkbench(root, api, { pollMs = 4000 } = {}) { else await conversationSource.open(binding) return conversationSource.getSnapshot() } + const feishuActions = { feishu: payload => api.call('feishu', payload), connectorConnect: (_id, body) => api.call('feishu', { operation: 'webhook', ...body.credentials }) } const drafts = new Map(), expanded = new Map() let runtimeTerminal, terminalTimer, terminalPolling = false, rooms, roomView, pools async function closeTerminal() { @@ -83,6 +84,7 @@ export function mountWorkbench(root, api, { pollMs = 4000 } = {}) { ++epoch; controller?.abort(); loading = null; clearConversation() const revoke = api.call('auth-revoke') api.setToken(''); void closeTerminal() + if (win.location.hash === '#/connections' || new URLSearchParams(win.location.search).has('feishu-app') && !win.location.hash) { selected = ''; tab = 'connections'; taskId = '' } personal = personalMemory = null; drafts.clear(); notice = ''; error = '' bootstrap = null; selected = ''; busy = false detail = resources = agents = members = history = taskDetail = workflowState = rooms = roomView = pools = null @@ -118,6 +120,11 @@ export function mountWorkbench(root, api, { pollMs = 4000 } = {}) { const state = await api.call('workbench-state', {}, controller.signal) if (current !== epoch || disposed) return bootstrap = state + if (section === 'connections') { + personal = await api.call('personal-space', { operation: 'list' }, controller.signal) + if (current !== epoch || disposed) return + render(); return + } if (section === 'personal') { const roster = await api.call('personal-space', { operation: 'list' }, controller.signal) if (current !== epoch || disposed) return @@ -473,11 +480,16 @@ export function mountWorkbench(root, api, { pollMs = 4000 } = {}) { for (const room of rooms?.rooms ?? []) roomNav.append(button(room.name, () => route(selected, 'rooms', room.id))) sidebar.append(roomNav) } + sidebar.append(button('Connections', () => { win.location.hash = '/connections' })) sidebar.append(button('All Projects', () => { win.location.hash = '' }), button('Sign out', () => { void signOut() })) - if (tab === 'personal') { + if (tab === 'connections') { + main.append(el('h1', 'Connections')) + const node = el('div', null, 'native-feishu-setup'); main.append(node) + nativeIslands.register(node, nativeKey('feishu'), conversationSource, (target, options) => win.FlyBotNativeConversation.mountNativeFeishu(target, options), { actions: feishuActions, roster: { ...personal, self: bootstrap.self }, onClose: () => { win.location.hash = '/personal' } }) + } else if (tab === 'personal') { const chatList = el('div', null, 'native-personal-list'); sidebar.append(chatList); mountPersonalList(chatList) main.append(el('h1', 'Personal space'), el('p', 'Your original Chief, Bots and internal group conversations. Project agents remain separate.')) - for (const bot of personal?.bots ?? []) { + for (const bot of (personal?.bots ?? []).filter(bot => !bot.remote)) { const card = box(`${personal.mainBotIds.includes(bot.id) ? 'Chief · ' : ''}${bot.name}`, button('Open conversation', () => { win.location.hash = `/personal/${encodeURIComponent(bot.id)}` })) const persona = el('details'); persona.dataset.personaId = bot.id; persona.append(el('summary', 'Persona'), el('p', bot.instructions ?? 'No persona')); card.append(persona); card.append(button('Own long-term memory', () => act(async () => { const captured = epoch; const memory = await api.call('personal-space', { operation: 'memory', id: bot.id }); if (captured === epoch && !disposed) personalMemory = { botId: bot.id, ...memory } }))); main.append(card) } diff --git a/patches/ds-bot/files/src/client/workbench/native-conversation.js b/patches/ds-bot/files/src/client/workbench/native-conversation.js index cefc50719..9a5aa66e5 100644 --- a/patches/ds-bot/files/src/client/workbench/native-conversation.js +++ b/patches/ds-bot/files/src/client/workbench/native-conversation.js @@ -1,3 +1,5 @@ +import { FeishuSetup } from '../feishu-setup.js' +import { installBrowserLocale } from '../i18n.js' import { fileSize } from '../flybot-slots.js' import { PendingQuestion } from '../questions.js' import { ApprovalCard, MemberWork, MEMBER_CSS } from '../member-status.js' @@ -19,7 +21,8 @@ function Conversation({ source, roster, openBot, onQuote }) { const ui = { reactions: {} } const reply = (row, key, streaming = false) => { const bot = roster.bots.find(bot => bot.id === row.botId || bot.role === row.speaker) - return h('article', { key, 'data-native-message': row.kind ?? 'assistant' }, + return h('article', { key, 'data-native-message': row.kind ?? 'assistant', ...(row.feishu?.messageId ? { id: `feishu-message-${row.feishu.messageId}` } : {}) }, + row.feishu?.rootId ? h('button', { type: 'button', onClick: () => document.getElementById(`feishu-message-${row.feishu.rootId}`)?.scrollIntoView?.({ block: 'center' }) }, '↪ Reply in thread') : null, h('header', null, bot ? h(BotMark, { bot, size: 28 }) : h(PersonMark, { name: row.speaker }), row.speaker ?? (row.kind === 'human' ? 'You' : 'Bot')), row.kind === 'human' ? h(PersonMessage, { name: row.speaker ?? 'You', texts: [String(row.text ?? '')], roster, selfId: bot?.id, useUi: select => select(ui), actions: { quote: (_id, text) => onQuote?.(text), openSession: id => { if (roster.byId[id]) openBot?.(id) } } }) @@ -124,3 +127,11 @@ function ScopedAttachments({ files, read }) { typeof value?.text === 'string' ? h('pre', null, value.text) : null) }), failure ? h('p', { role: 'alert' }, failure) : null) } + +export function mountNativeFeishu(node, options) { + const off = installBrowserLocale(options.language ?? navigator.language) + const unmount = mountRoot(node, options, props => h(FeishuSetup, props)) + const dispose = () => { unmount(); off() } + dispose.update = unmount.update + return dispose +} diff --git a/patches/ds-bot/files/src/client/workbench/native-source.js b/patches/ds-bot/files/src/client/workbench/native-source.js index 103ec649d..c82a393f8 100644 --- a/patches/ds-bot/files/src/client/workbench/native-source.js +++ b/patches/ds-bot/files/src/client/workbench/native-source.js @@ -55,7 +55,8 @@ export function createScopedConversation(api) { async readAttachment(file) { if (disposed || !selected || captured !== generation) throw new Error('Conversation handle is retired') let value - if (selected.personalId) value = await api.call('personal-space', { operation: 'attachment-read', id: selected.personalId, ...(selected.personalPart ? { partId: selected.personalPart } : {}), seq: file.seq, attachmentId: file.id }) + if (selected.personalId && file.feishuAppId) { const result = await api.call('feishu', { operation: 'attachment', appId: file.feishuAppId, attachmentId: file.id }); value = { ...file, data: result.content_base64 } } + else if (selected.personalId) value = await api.call('personal-space', { operation: 'attachment-read', id: selected.personalId, ...(selected.personalPart ? { partId: selected.personalPart } : {}), seq: file.seq, attachmentId: file.id }) else if (selected.roomId) value = await api.call('project-room-attachment', { projectId: selected.projectId, roomId: selected.roomId, attachmentId: file.id }) else throw new Error('Attachment is unavailable in this conversation') if (disposed || captured !== generation) throw new Error('Conversation handle is retired') diff --git a/patches/ds-bot/files/src/host/authz.js b/patches/ds-bot/files/src/host/authz.js index 7baaad2f6..770b1438b 100644 --- a/patches/ds-bot/files/src/host/authz.js +++ b/patches/ds-bot/files/src/host/authz.js @@ -207,6 +207,7 @@ export function install(rt) { questions: Object.fromEntries(Object.entries(bySession(full.questions)).filter(([id, question]) => questionFor(actor, id, question))), exchangeTurns: bySession(full.exchangeTurns), remoteTypedTurns: bySession(full.remoteTypedTurns), + feishuTurns: bySession(full.feishuTurns), remoteAwaiting: bySession(full.remoteAwaiting), agents: alone() ? full.agents : [], secrets: alone() ? full.secrets : [], @@ -240,6 +241,7 @@ export function install(rt) { if (!rt.authzEnforced()) return ALLOW const ep = String(endpoint ?? '') + if (ep === 'feishu') return actor ? ALLOW : deny('bot/unauthorized', 'Sign in first') if (ep === 'platform-login') return rt.platformIdentityEnabled ? ALLOW : deny('bot/forbidden', 'Platform identity is not configured') if (['project-development', 'project-rooms', 'project-room-create', 'project-room-read', 'project-room-message', 'project-room-attachment', 'project-room-stop', 'project-agent-stop', 'workbench-state', 'project-resources', 'project-resource-environment-check', 'project-execution-input', 'project-runtime-check', 'project-terminal-open', 'project-terminal-poll', 'project-terminal-input', 'project-terminal-resize', 'project-terminal-close', 'project-queue-cancel', 'project-queue-retry', 'project-task-pools', 'project-github-read', 'project-consultation-reply', 'project-consultation-ask', 'project-consultation-get', 'project-consultation-list', 'project-handoff-get', 'project-handoff-list', 'project-chief-question', 'project-agent-mode', 'project-scheduled-task', 'project-chief-configure', 'project-chief-state', 'project-chief-inspect', 'project-attempt-stop', 'project-credential-status', 'project-github-comment', 'project-agents', 'project-agent-message', 'project-agent-history', 'project-agent-memory-write', 'project-role-memory-write', 'project-agent-definition', 'project-roles', 'project-role-proposals', 'project-role-decision', 'project-agent-proposal-apply', 'project-knowledge-write', 'project-task-run', 'project-task-detail', 'project-task-accept', 'project-task-reject', 'project-release-request', 'project-release-reconcile', 'project-release-status', 'project-attempt-log', 'project-attempt-cleanup', 'project-attempt-publication-retry', 'project-members', 'project-invite', 'project-join', 'project-leave', 'project-member-remove', 'project-quota', 'project-workflow'].includes(ep) && !rt.sharedProjectMode?.()) return deny('bot/forbidden', 'Project workbench is not enabled') if (rt.platformIdentityEnabled && ['auth-invite', 'auth-redeem', 'auth-remove-member'].includes(ep)) return deny('bot/platform-auth', 'Use control-plane account authentication') diff --git a/patches/ds-bot/files/src/host/feishu-api.js b/patches/ds-bot/files/src/host/feishu-api.js new file mode 100644 index 000000000..3866c9116 --- /dev/null +++ b/patches/ds-bot/files/src/host/feishu-api.js @@ -0,0 +1,32 @@ +const ORIGIN = 'https://open.feishu.cn/open-apis/' +export class FeishuError extends Error { + constructor(code, detail = '') { super(`Feishu refused the request (${code})${detail ? `: ${detail}` : ''}`); this.code = code; this.detail = detail } +} +export function createFeishuApi(credentials, request = fetch, checkApplication = () => {}) { + let cached + async function token() { + if (cached?.until > Date.now()) return cached.value + const creds = await credentials() + if (!creds) throw new Error('Feishu credentials are missing') + const res = await request(`${ORIGIN}auth/v3/tenant_access_token/internal`, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ app_id: creds.appId, app_secret: creds.appSecret }), redirect: 'error', signal: AbortSignal.timeout(15000) }) + const body = await res.json() + if (!res.ok || body.code !== 0 || !body.tenant_access_token) { const error = new FeishuError(body.code ?? res.status); error.stage = 'credentials'; throw error } + cached = { value: body.tenant_access_token, until: Date.now() + Math.max(0, (Number(body.expire ?? 0) - 60) * 1000) } + return cached.value + } + async function call(method, path, { body, query, raw = false, authorize } = {}) { + if (!/^[a-z][a-z0-9_-]*\/v[1-9]\//.test(path) || path.includes('..') || /[?#\\]/.test(path)) throw new Error('Invalid Feishu API path') + const url = new URL(path, ORIGIN) + for (const [k, v] of Object.entries(query ?? {})) if (v !== undefined) url.searchParams.set(k, String(v)) + const access = await token() + checkApplication() + authorize?.() + const form = body instanceof FormData + const res = await request(url.href, { method, redirect: 'error', signal: AbortSignal.timeout(60000), headers: { authorization: `Bearer ${access}`, ...(!form && body !== undefined ? { 'content-type': 'application/json' } : {}) }, ...(body !== undefined ? { body: form ? body : JSON.stringify(body) } : {}) }) + if (raw && res.ok) return res + const data = await res.json().catch(() => ({})) + if (!res.ok || data.code !== 0) throw new FeishuError(data.code ?? res.status, typeof data.msg === 'string' ? data.msg.slice(0, 400) : '') + return data.data ?? data + } + return { call, clear: () => { cached = undefined } } +} diff --git a/patches/ds-bot/files/src/host/feishu-calendar.js b/patches/ds-bot/files/src/host/feishu-calendar.js new file mode 100644 index 000000000..7c8a7240c --- /dev/null +++ b/patches/ds-bot/files/src/host/feishu-calendar.js @@ -0,0 +1,75 @@ +const enc = value => encodeURIComponent(String(value)) +const rank = role => ['free_busy_reader', 'reader', 'writer', 'owner'].indexOf(role) + +async function pages(api, path, query, key) { + const result = []; let token + do { + const response = await api.call('GET', path, { query: { ...query, ...(token ? { page_token: token } : {}) } }) + result.push(...(response[key] ?? [])) + token = response.has_more ? response.page_token : undefined + } while (token) + return result +} + +export function createFeishuCalendars(service) { + const inFlight = new Set() + const shares = () => service.data().calendarShares ??= {} + const scopedApi = (appId, authorize) => ({ call: (method, path, options) => service.api(appId).call(method, path, { ...options, authorize }) }) + async function synchronize(record, authorize = () => service.authorizeTool(record.botId, record.appId, 'calendar', true)) { + const key = `${record.appId}:${record.calendarId}:${record.chatId}` + if (inFlight.has(key)) return { pending: true } + inFlight.add(key) + try { + const api = scopedApi(record.appId, authorize), root = `calendar/v4/calendars/${enc(record.calendarId)}` + const users = await pages(api, `im/v1/chats/${enc(record.chatId)}/members`, { member_id_type: 'open_id', page_size: 100 }, 'items') + const existing = await pages(api, `${root}/acls`, { user_id_type: 'open_id', page_size: 50 }, 'acls') + const failed = [] + for (const person of users) { + const id = person.member_id + if (!id || existing.some(a => a.scope?.user_id === id && rank(a.role) >= rank(record.role))) continue + try { + const created = await api.call('POST', `${root}/acls`, { query: { user_id_type: 'open_id' }, body: { role: record.role, scope: { type: 'user', user_id: id } } }) + await service.commit(() => { const current = shares()[key]; if (current) { current.added ??= {}; current.added[id] = { aclId: created.acl_id, role: record.role } } }) + } catch (error) { failed.push(id); await service.diagnose(record.appId, 'calendar-share', error) } + } + await service.commit(() => { if (shares()[key]) shares()[key].syncedAt = Date.now() }) + return { members: users.length, failed } + } finally { inFlight.delete(key) } + } + async function share(appId, botId, args, authorize = () => service.authorizeTool(botId, appId, 'calendar', true)) { + const calendarId = String(args.calendar_id ?? ''), chatId = String(args.chat_id ?? ''), role = args.role ?? 'reader' + if (!calendarId || !chatId || rank(role) < 0) throw new Error('Choose a calendar, chat and valid calendar role') + const key = `${appId}:${calendarId}:${chatId}` + if (args.stop) { + const record = shares()[key] + if (!record) return { removed: 0 } + const api = scopedApi(appId, authorize), existing = await pages(api, `calendar/v4/calendars/${enc(calendarId)}/acls`, { user_id_type: 'open_id', page_size: 50 }, 'acls') + let removed = 0 + for (const [id, added] of Object.entries(record.added ?? {})) { + const acl = existing.find(a => a.acl_id === added.aclId && a.scope?.user_id === id && a.role === added.role) + if (!acl || Object.values(shares()).some(s => s !== record && s.appId === appId && s.calendarId === calendarId && s.added?.[id])) continue + await api.call('DELETE', `calendar/v4/calendars/${enc(calendarId)}/acls/${enc(acl.acl_id)}`); removed++ + } + await service.commit(() => { delete shares()[key] }) + return { removed } + } + await service.commit(() => { shares()[key] = { ...shares()[key], appId, botId, calendarId, chatId, role } }) + return synchronize(shares()[key], authorize) + } + async function follow(appId, chatId) { + for (const record of Object.values(shares())) if (record.appId === appId && record.chatId === chatId && (record.syncedAt ?? 0) < Date.now() - 600000) { + // Revoking the Bot's grant also stops automatic additions; membership messages never grant writes. + try { service.authorizeTool(record.botId, appId, 'calendar', true); await synchronize(record) } + catch (error) { await service.diagnose(appId, 'calendar-share', error) } + } + } + async function link(appId, calendarId, authorize) { + const api = scopedApi(appId, authorize), root = `calendar/v4/calendars/${enc(calendarId)}` + const calendar = await api.call('GET', root) + const events = await api.call('GET', `${root}/events`, { query: { page_size: 100 } }) + const id = (events.items ?? []).map(e => /[?&]calendarId=(\d+)/.exec(e.app_link ?? '')?.[1]).find(Boolean) + if (!id) throw new Error('日历需要至少一个日程才能分享,请先创建日程。') + return { name: calendar.calendar?.summary ?? calendar.summary ?? calendarId, permissions: calendar.calendar?.permissions ?? calendar.permissions, url: `https://applink.feishu.cn/client/calendar/detail?calendarId=${id}&source=calendar_share_by_owner` } + } + return { share, follow, link } +} diff --git a/patches/ds-bot/files/src/host/feishu-format.js b/patches/ds-bot/files/src/host/feishu-format.js new file mode 100644 index 000000000..cb17f6e5b --- /dev/null +++ b/patches/ds-bot/files/src/host/feishu-format.js @@ -0,0 +1,111 @@ +export const MAX_IN = 20 * 1024 * 1024 +export const MAX_IMAGE = 10 * 1024 * 1024 +export const MAX_FILE = 30 * 1024 * 1024 +export const MAX_POST = 30 * 1024 +const asText = v => typeof v === 'string' ? v : '' + +export function fromPost(post) { + const localized = post?.content ? post : Object.values(post ?? {}).find(v => Array.isArray(v?.content)) + const lines = (localized?.content ?? []).map(line => line.map(node => { + let text = asText(node.text) + if (node.tag === 'a') text = `[${text}](${asText(node.href)})` + if (node.tag === 'at') text = `@${asText(node.user_name) || asText(node.user_id)}` + if (node.tag === 'code_block') return `\n\`\`\`${asText(node.language)}\n${text}\n\`\`\`\n` + if (node.tag === 'hr') return '\n---\n' + for (const [style, marker] of [['bold', '**'], ['italic', '*'], ['lineThrough', '~~']]) if (node.style?.includes(style)) text = `${marker}${text}${marker}` + return text + }).join('')) + return [localized?.title, ...lines].filter(Boolean).join('\n') +} +export function readMessage(envelope) { + if (envelope?.header?.event_type !== 'im.message.receive_v1') return null + const m = envelope.event?.message, sender = envelope.event?.sender + if (!m?.chat_id || !m.message_id || !sender?.sender_id?.open_id) return null + let c + try { c = JSON.parse(m.content) } catch { return null } + let text = m.message_type === 'text' ? asText(c.text) : m.message_type === 'post' ? fromPost(c) : m.message_type === 'interactive' ? cardWords(c) : '' + const files = [] + if (m.message_type === 'image' && c.image_key) files.push({ key: c.image_key, type: 'image', name: 'image.png' }) + if (['file', 'audio', 'media'].includes(m.message_type) && c.file_key) files.push({ key: c.file_key, type: 'file', name: c.file_name ?? `${m.message_type}.bin` }) + if (m.message_type === 'post') { + const post = c.content ? c : Object.values(c).find(v => v?.content) + for (const row of post?.content ?? []) for (const n of row) if (n.tag === 'img' && n.image_key) files.push({ key: n.image_key, type: 'image', name: 'image.png' }) + } + if (!text && !files.length) return null + text = text.replace(/@_user_\d+/g, key => { const person = (m.mentions ?? []).find(p => p.key === key); return person?.name ? `@${person.name}` : '' }).trim() + return { id: envelope.header.event_id ?? m.message_id, messageId: m.message_id, chatId: m.chat_id, rootId: m.root_id || m.parent_id || null, openId: sender.sender_id.open_id, bot: sender.sender_type === 'app', group: m.chat_type === 'group', mentions: m.mentions ?? [], text, files } +} +export function markdown(text, mentions = new Map()) { + let fence + return String(text).split('\n').map(line => { + const marker = /^\s*(`{3,}|~{3,})/.exec(line)?.[1] + if (marker) { const entering = !fence; if (entering) fence = marker; else if (marker[0] === fence[0] && marker.length >= fence.length) fence = undefined; return line } + if (fence) return line + return line.replace(/^#{1,3} /, h => h.length === 2 ? '#### ' : '##### ').split(/(`+[^`]*`+)/g).map((part, i) => { + if (i % 2) return part + let out = part.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, '🖼 [$1]($2)') + .replace(/<(?!\/?u>)([^>]+)>/g, (all, tag) => /^https?:\/\//.test(tag) ? all : `<${tag}>`) + .replace(/\[([^\]]*)\]\(([^)]+)\)/g, (all, label, url) => /^https?:\/\//.test(url) ? all : label) + for (const [name, id] of [...mentions].sort(([a], [b]) => b.length - a.length)) out = out.split(`@${name}`).join(`${name.replace(/[<>]/g, '')}`) + return out + }).join('') + }).join('\n') +} +export function cardWords(value) { + if (typeof value === 'string') return value + if (Array.isArray(value)) return value.map(cardWords).filter(Boolean).join('\n') + if (!value || typeof value !== 'object') return '' + return Object.entries(value).filter(([k]) => ['text', 'content', 'title', 'elements', 'body', 'blocks', 'description'].includes(k)).map(([, v]) => cardWords(v)).filter(Boolean).join('\n') +} + +export function validateCard(card) { + if (!card || !Array.isArray(card.blocks) || card.blocks.length > 80 || JSON.stringify(card).length > 100000) throw new Error('Invalid card') + const kinds = ['text', 'fields', 'list', 'progress', 'table', 'chart', 'pages', 'input', 'applet'] + const names = new Set(); let count = 0 + const visit = (blocks, depth = 0) => { + if (!Array.isArray(blocks) || depth > 5) throw new Error('Invalid card pages') + for (const b of blocks) { + if (!b || !kinds.includes(b.type) || ++count > 80) throw new Error('Unknown or excessive card blocks') + if (b.type === 'input') { + if (typeof b.name !== 'string' || !/^[A-Za-z][A-Za-z0-9_]{0,63}$/.test(b.name) || names.has(b.name)) throw new Error('Card inputs need unique names') + names.add(b.name) + } + if (b.type === 'pages') { + if (!Array.isArray(b.pages) || b.pages.length > 20) throw new Error('Invalid card pages') + for (const p of b.pages) visit(p.blocks, depth + 1) + } + if (b.type === 'table' && (!Array.isArray(b.columns) || !Array.isArray(b.rows))) throw new Error('Invalid card table') + if (['list', 'fields'].includes(b.type) && !Array.isArray(b.items)) throw new Error('Invalid card items') + if (b.type === 'chart' && (!b.spec || typeof b.spec !== 'object')) throw new Error('Invalid card chart') + } + } + visit(card.blocks) + if (!Array.isArray(card.actions ?? []) || (card.actions?.length ?? 0) > 12) throw new Error('Invalid card actions') + const ids = (card.actions ?? []).map(a => a.id) + if (ids.some(id => typeof id !== 'string' || !/^[\w-]{1,64}$/.test(id)) || new Set(ids).size !== ids.length) throw new Error('Invalid card action ID') + return structuredClone(card) +} +const plain = content => ({ tag: 'plain_text', content: String(content ?? '') }) +const md = content => ({ tag: 'markdown', content: markdown(content) }) +export function toCard(record) { + const inputs = [] + const block = b => { + if (b.type === 'input') { inputs.push({ tag: 'input', name: b.name, label: plain(b.label), placeholder: plain(b.placeholder) }); return [] } + if (b.type === 'table') return [{ tag: 'table', page_size: Math.max(1, Math.min(10, b.rows?.length ?? 1)), columns: (b.columns ?? []).map((c, i) => ({ name: `c${i}`, display_name: c.label ?? c, data_type: 'text' })), rows: (b.rows ?? []).map(r => Object.fromEntries((b.columns ?? []).map((c, i) => [`c${i}`, String(Array.isArray(r) ? r[i] ?? '' : r[c.key] ?? '')]))) }] + if (b.type === 'chart') return [{ tag: 'chart', chart_spec: b.spec, aspect_ratio: '16:9' }] + if (b.type === 'pages') return (b.pages ?? []).flatMap(p => { + const parts = (p.blocks ?? []).flatMap(block) + return parts.some(e => e.tag === 'table') ? [md(`**${p.title}**`), ...parts] : [{ tag: 'collapsible_panel', header: { title: plain(p.title) }, elements: parts }] + }) + if (b.type === 'fields') return [md((b.items ?? []).map(f => `**${f.label}** ${f.value}`).join('\n'))] + if (b.type === 'list') return [md((b.items ?? []).map(f => `- ${typeof f === 'string' ? f : f.title}`).join('\n'))] + if (b.type === 'progress') { const n = Math.round(Math.min(1, Math.max(0, Number(b.value) / (Number(b.max) || 100))) * 10); return [md(`${b.label ?? ''} ${'█'.repeat(n)}${'░'.repeat(10 - n)} ${n * 10}%`)] } + if (b.type === 'applet') return [md(`${b.description ?? ''}\n请在 FlyBot 控制台中打开使用。`)] + return [md(b.text ?? '')] + } + const elements = record.card.blocks.flatMap(block) + const buttons = (record.card.actions ?? []).map(a => ({ tag: 'button', name: a.id, text: plain(a.label ?? a.id), type: 'primary', action_type: 'form_submit', disabled: record.closed === true, value: { flybot_card: record.id, action: a.id, version: record.version } })) + if (inputs.length || buttons.length) elements.push({ tag: 'form', name: 'card_form', elements: [...inputs, ...buttons] }) + if (record.submissions?.length) elements.push(md(record.submissions.map(s => `${s.name}:${s.action}`).join('\n'))) + return { schema: '2.0', config: { update_multi: true }, header: { title: plain(record.card.title ?? 'FlyBot') }, body: { elements } } +} diff --git a/patches/ds-bot/files/src/host/feishu-http.js b/patches/ds-bot/files/src/host/feishu-http.js new file mode 100644 index 000000000..8e8913b24 --- /dev/null +++ b/patches/ds-bot/files/src/host/feishu-http.js @@ -0,0 +1,19 @@ +import { createServer } from 'node:http' + +// A separate listener exposes only authenticated Feishu events, never Harness or the console. +export function createFeishuEventServer(service) { + return createServer(async (req, res) => { + const match = /^\/api\/feishu\/events\/(cli_[0-9a-f]{16})$/i.exec(req.url ?? '') + if (req.method !== 'POST' || !match) { res.writeHead(404).end(); return } + if (Number(req.headers['content-length']) > 1024 * 1024) { res.writeHead(413).end(); req.resume(); return } + try { + const chunks = []; let size = 0 + for await (const chunk of req) { size += chunk.length; if (size > 1024 * 1024) { res.writeHead(413).end(); req.resume(); return }; chunks.push(chunk) } + const answer = await service.receive(match[1], JSON.parse(Buffer.concat(chunks).toString()), 'http') + res.writeHead(200, { 'content-type': 'application/json' }).end(JSON.stringify(answer)) + } catch (error) { + const status = error.code === 'bot/forbidden' ? 403 : error instanceof SyntaxError ? 400 : 503 + res.writeHead(status, { 'content-type': 'application/json' }).end(JSON.stringify({ error: status === 403 ? error.message : 'Event could not be saved; retry later' })) + } + }) +} diff --git a/patches/ds-bot/files/src/host/feishu-sdk.js b/patches/ds-bot/files/src/host/feishu-sdk.js index b9f530969..d9d52a930 100644 --- a/patches/ds-bot/files/src/host/feishu-sdk.js +++ b/patches/ds-bot/files/src/host/feishu-sdk.js @@ -12,6 +12,9 @@ export const SDK_PACKAGE = '@larksuiteoapi/node-sdk' // A socket that never opens must not hang a start: the row says `error` instead. export const READY_TIMEOUT_MS = 15_000 +// The lazy import lets a host without the package start healthy and fail only at the dial, so the +// failure carries its own type: the owner is told to install it, not to check the network. +export class FeishuSdkMissing extends Error {} const within = (promise, ms, message) => { let timer @@ -25,6 +28,7 @@ export function createFeishuTransport({ credentials, importSdk = () => import(SDK_PACKAGE), log = () => {}, + onState = () => {}, readyTimeoutMs = READY_TIMEOUT_MS, } = {}) { return { @@ -38,13 +42,14 @@ export function createFeishuTransport({ sdk = await importSdk() } catch (error) { const why = String(error?.message ?? error).split('\n')[0] - throw new Error(`The Feishu long connection needs ${SDK_PACKAGE} installed: ${why}`) + throw new FeishuSdkMissing(`The Feishu long connection needs ${SDK_PACKAGE} installed: ${why}`) } const Lark = sdk?.default ?? sdk const { WSClient, EventDispatcher } = Lark ?? {} if (typeof WSClient !== 'function' || typeof EventDispatcher !== 'function') throw new Error(`${SDK_PACKAGE} does not export the long-connection client`) const dispatcher = new EventDispatcher({}).register({ + 'card.action.trigger': data => onEvent({ header: { event_id: data?.event_id, event_type: 'card.action.trigger' }, event: data?.event ?? data }), 'im.message.receive_v1': data => onEvent({ header: { event_id: data?.event_id, event_type: 'im.message.receive_v1' }, event: { sender: data?.sender, message: data?.message }, @@ -55,10 +60,12 @@ export function createFeishuTransport({ const client = new WSClient({ appId: app.appId, appSecret: app.appSecret, + logger: { error: () => log('Feishu SDK error'), warn: () => {}, info: () => {}, debug: () => {}, trace: () => {} }, + onReconnected: () => onState('ready'), // `onReady` is the first open; a later reconnect is not a second inbox, so it only logs. - onReady: () => settle.resolve(), - onError: error => settle.reject(error), - onReconnecting: () => log('the Feishu long connection is reconnecting'), + onReady: () => { onState('ready'); settle.resolve() }, + onError: error => { onState('error'); settle.reject(error) }, + onReconnecting: () => { onState('connecting'); log('the Feishu long connection is reconnecting') }, }) try { await client.start({ eventDispatcher: dispatcher }) diff --git a/patches/ds-bot/files/src/host/feishu-service.js b/patches/ds-bot/files/src/host/feishu-service.js new file mode 100644 index 000000000..0ead0424c --- /dev/null +++ b/patches/ds-bot/files/src/host/feishu-service.js @@ -0,0 +1,491 @@ +import { randomUUID, timingSafeEqual } from 'node:crypto' +import { createFeishuVault } from './feishu-vault.js' +import { createFeishuApi, FeishuError } from './feishu-api.js' +import { createFeishuTransport, FeishuSdkMissing } from './feishu-sdk.js' +import { readMessage, markdown, MAX_POST, MAX_IN, MAX_IMAGE, MAX_FILE, validateCard, toCard, cardWords } from './feishu-format.js' +import { PRODUCTS, validateCredentials, publicAddress } from '../shared/feishu.js' +import { installFeishuTools } from './feishu-tools.js' +import { createFeishuCalendars } from './feishu-calendar.js' +import { createFeishuEventServer } from './feishu-http.js' + +const fail = text => Object.assign(new Error(text), { code: 'bot/forbidden' }) +const same = (a, b) => typeof a === 'string' && typeof b === 'string' && Buffer.byteLength(a) === Buffer.byteLength(b) && timingSafeEqual(Buffer.from(a), Buffer.from(b)) +const memberActive = m => m && !m.removedAt && !m.disabled && m.status !== 'disabled' +const toast = (type, content) => ({ toast: { type, content } }) +const safeKey = value => typeof value === 'string' && /^[A-Za-z0-9_-]{1,128}$/.test(value) + +export function createFeishuService(rt, { request = fetch, vault = createFeishuVault(rt.home), transport = createFeishuTransport } = {}) { + const { state } = rt + let calendars + const apis = new Map(), sockets = new Map(), working = new Set(), names = new Map() + let removeSender + let tail = Promise.resolve(), stopped = false + const data = () => state.feishu ??= { apps: {}, events: {}, outbox: {}, cards: {}, files: {}, grants: {}, identities: {} } + const serial = fn => { + const job = tail.then(fn) + tail = job.catch(() => {}) + return job + } + const commit = fn => serial(async () => { + const readOnly = rt.readOnly?.() + if (readOnly) throw new Error(readOnly) + const before = structuredClone(data()) + try { const value = await fn(); await rt.save(); return value } + catch (error) { state.feishu = before; throw error } + }) + const appOf = id => { + const app = data().apps[id] + if (!app) throw new Error('Unknown Feishu app') + return app + } + const api = id => { + appOf(id) + if (!apis.has(id)) apis.set(id, createFeishuApi(() => vault.get(id), request, () => appOf(id))) + return apis.get(id) + } + const principal = actor => { + if (!actor && !rt.authzEnforced?.()) return { memberId: 'owner-1' } + if (!actor || !memberActive(state.members?.[actor.memberId])) throw fail('Sign in first') + return actor + } + const manage = (actor, app) => { + actor = principal(actor) + if (actor.memberId !== 'owner-1' && app?.ownerId !== actor.memberId) throw fail('Only the app owner can change this connection') + return actor + } + const localBot = (id, ownerId) => { + const bot = rt.botOf(id) + if (!bot || bot.remote || bot.ephemeral || bot.projectAgent || (bot.ownerId ?? 'owner-1') !== ownerId) throw fail('Choose a local Bot owned by this member') + return bot + } + const diagnose = async (id, kind, error) => commit(() => { + const app = data().apps[id] + const detail = String(error?.message ?? '') + const message = error instanceof FeishuError && Number(error.code) === 99991672 ? 'Apply for the missing app permission, publish a new version, wait for approval, then check permissions again.' + : error instanceof FeishuSdkMissing ? 'The Feishu long-connection SDK is not installed on the FlyBot server. Reinstall FlyBot, or rebuild the image if it runs in Docker.' + : kind === 'connection' && /app.?id|app.?secret|auth|internal error/i.test(detail) ? 'Check App ID and App Secret. A nonexistent App ID may be reported as an internal error.' + : kind === 'connection' && /limit|too many|50/.test(detail) ? 'The application has reached its long-connection limit (up to 50 connections).' + : kind === 'connection' ? 'Could not connect to open.feishu.cn; check the server network, proxy and application credentials.' + : 'Operation failed; check network, permissions and published app version' + if (app) app.diagnostics = [...(app.diagnostics ?? []), { at: Date.now(), kind, message, ...(typeof error?.code === 'number' ? { code: error.code } : {}), ...(error instanceof FeishuError && error.detail ? { detail: error.detail } : {}) }].slice(-50) + }) + const handle = (app, chatId) => app.legacy ? `feishu:${chatId}` : `feishu:${app.id}:${chatId}` + const identity = (appId, openId) => { + const row = data().identities[`${appId}:${openId}`] + return row && memberActive(state.members?.[row.memberId]) ? row : undefined + } + const view = actor => { + const who = principal(actor) + return Object.values(data().apps).map(a => who.memberId !== 'owner-1' && a.ownerId !== who.memberId ? { id: a.id, name: a.name, mode: a.mode, linkOnly: true, identities: Object.values(data().identities).filter(i => i.appId === a.id && i.memberId === who.memberId) } : ({ ...a, + connection: sockets.get(a.id)?.state ?? (a.mode === 'http' ? 'http' : 'off'), + grants: data().grants[a.id] ?? {}, identities: Object.values(data().identities).filter(i => i.appId === a.id), + cards: Object.values(data().cards).filter(c => c.appId === a.id), + files: Object.values(data().files).filter(f => f.appId === a.id).map(f => ({ id: f.ref.attachmentId, name: f.ref.name, size: f.ref.bytes })), + recent: Object.values(data().events).filter(e => e.appId === a.id).slice(-20).map(({ id, message, status, at }) => ({ id, chatId: message?.chatId, text: message?.text, status, at })), + outbox: Object.values(data().outbox).filter(o => o.appId === a.id).slice(-20).map(({ id, status }) => ({ id, status })), + })) + } + async function connect(id) { + const app = appOf(id) + await sockets.get(id)?.socket?.close?.() + sockets.delete(id) + if (app.mode !== 'socket' || stopped) return + const credentials = await vault.get(id) + const status = { state: 'connecting' } + sockets.set(id, status) + const adapter = transport({ credentials: () => credentials, log: () => {}, onState: s => { if (sockets.get(id) === status) status.state = s } }) + try { + const socket = await adapter.connect(event => receive(id, event, 'socket')) + if (sockets.get(id) !== status || stopped) { await socket.close(); return } + Object.assign(status, { state: 'ready', socket }) + } catch (error) { + if (sockets.get(id) === status) status.state = 'error' + await diagnose(id, 'connection', error) + } + } + async function test(id) { + try { + const result = await api(id).call('GET', 'bot/v3/info/') + await commit(() => { appOf(id).botOpenId = result.bot?.open_id; appOf(id).botName = result.bot?.app_name }) + return { ok: true, bot: result.bot?.app_name } + } catch (error) { + return { ok: false, credentialError: error.stage === 'credentials' || !(error instanceof FeishuError), error: error.stage === 'credentials' ? 'Check App ID and App Secret. A nonexistent App ID may be reported as an internal error.' : !(error instanceof FeishuError) ? 'FlyBot cannot reach open.feishu.cn. Check the server network or proxy.' : 'Credentials accepted, but Bot information is unavailable. Enable the Bot capability and publish a version. You can continue now and test again after publishing.' } + } + } + async function scopes(id) { + const result = await api(id).call('GET', 'application/v6/scopes') + const granted = (result.scopes ?? []).filter(s => s.grant_status === 1).map(s => s.scope_name) + await commit(() => { appOf(id).scopes = granted }) + return granted + } + async function save(body, actor) { + const id = String(body.appId ?? '') + const existing = data().apps[id] + const owner = manage(actor, existing) + await rt.loadSecrets?.() + const legacySecret = state.connectors?.feishu?.appId === id ? rt.secretValue?.('FEISHU_APP_SECRET') : undefined + const oldCredentials = existing ? await vault.get(id) : legacySecret ? { appId: id, appSecret: legacySecret } : undefined + const mode = body.mode ?? existing?.mode ?? 'socket' + const credentials = { appId: id, appSecret: body.appSecret?.trim() || oldCredentials?.appSecret, ...(mode === 'http' ? { verificationToken: body.verificationToken?.trim() || oldCredentials?.verificationToken } : {}) } + const changed = mode !== existing?.mode || credentials.appSecret !== oldCredentials?.appSecret || credentials.verificationToken !== oldCredentials?.verificationToken || body.publicUrl !== undefined && body.publicUrl !== existing?.publicUrl + validateCredentials(credentials, mode) + if (mode === 'http' && !publicAddress(body.publicUrl ?? existing?.publicUrl)) throw new Error('Prepare a public HTTPS event address') + if (mode === 'http') await rt.ensureFeishuEvents?.() + if (body.botId) localBot(body.botId, existing?.ownerId ?? owner.memberId) + await vault.set(id, credentials) + try { + await commit(() => { + const legacy = state.connectors?.feishu + data().apps[id] = { ...existing, id, name: String(body.name ?? existing?.name ?? '飞书').slice(0, 100), ownerId: existing?.ownerId ?? owner.memberId, mode, + publicUrl: body.publicUrl ?? existing?.publicUrl ?? '', botId: body.botId ?? existing?.botId ?? null, step: Math.max(0, Math.min(mode === 'http' ? 6 : 5, Number.isInteger(body.step) ? body.step : existing?.step ?? 1)), + allowed: existing?.allowed ?? legacy?.allowed?.map(e => e.openId) ?? [], legacy: existing?.legacy ?? (!Object.keys(data().apps).length && (!legacy?.appId || legacy.appId === id)), createdAt: existing?.createdAt ?? Date.now() } + if (changed) { delete data().apps[id].verifiedAt; delete data().apps[id].lastEventAt } + if (data().apps[id].legacy) { state.connectors ??= {}; state.connectors.feishu = { ...legacy, mode: 'app', appId: id, managed: true } } + }) + } catch (error) { await vault.set(id, oldCredentials); throw error } + apis.delete(id) + await rt.stopLegacyFeishu?.() + void connect(id) + return { apps: view(owner), test: await test(id) } + } + async function send(id, message, type, content, uuid, authorize) { + const threaded = !!message.rootId + return api(id).call('POST', threaded ? `im/v1/messages/${encodeURIComponent(message.rootId)}/reply` : 'im/v1/messages', { + authorize, query: threaded ? undefined : { receive_id_type: 'chat_id' }, body: { ...(threaded ? { reply_in_thread: true } : { receive_id: message.chatId }), msg_type: type, content: JSON.stringify(content), ...(uuid ? { uuid } : {}) }, + }) + } + async function sendText(id, message, text, uuid) { + const mentions = new Map(Object.values(data().identities).filter(i => i.appId === id).map(i => [state.members?.[i.memberId]?.displayName, i.openId]).filter(([name]) => !!name)) + const rich = { zh_cn: { ...(message.title ? { title: message.title } : {}), content: [[{ tag: 'md', text: markdown(text, mentions) }]] } } + if (Buffer.byteLength(JSON.stringify(rich)) <= MAX_POST) { + try { return await send(id, message, 'post', rich, uuid) } + catch (error) { if (!(error instanceof FeishuError)) throw error; await diagnose(id, 'format', error) } + } + return send(id, message, 'text', { text }, uuid) + } + async function reaction(event, remove = false) { + if (!event.message.messageId) return + if (remove && !event.reactionId) return + if (!remove && (event.reactionId || event.reactionAttempts >= 5)) return + try { + const result = await api(event.appId).call(remove ? 'DELETE' : 'POST', `im/v1/messages/${encodeURIComponent(event.message.messageId)}/reactions${remove ? `/${encodeURIComponent(event.reactionId)}` : ''}`, remove ? {} : { body: { reaction_type: { emoji_type: 'Get' } } }) + await commit(() => { const row = data().events[event.id]; if (row) { delete row.reactionRetry; if (remove) delete row.reactionId; else row.reactionId = result.reaction_id } }) + } catch (error) { + await commit(() => { const row = data().events[event.id]; if (row) { row.reactionAttempts = (row.reactionAttempts ?? 0) + 1; row.reactionRetry = Date.now() + Math.min(3600000, 1000 * 2 ** Math.min(row.reactionAttempts, 12)) } }) + await diagnose(event.appId, 'reaction', error) + } + } + async function importFiles(event) { + const imported = [] + for (const file of event.message.files) { + try { + const res = await api(event.appId).call('GET', `im/v1/messages/${encodeURIComponent(event.message.messageId)}/resources/${encodeURIComponent(file.key)}`, { query: { type: file.type }, raw: true }) + if (Number(res.headers.get('content-length')) > MAX_IN) throw new Error('Attachment exceeds 20 MB') + const chunks = []; let size = 0 + // Exiting the stream iterator cancels its reader, including on a size error. + for await (const chunk of res.body) { size += chunk.length; if (size > MAX_IN) throw new Error('Attachment exceeds 20 MB'); chunks.push(chunk) } + const mime = res.headers.get('content-type') ?? 'application/octet-stream' + const attachment = await rt.ctx.attachments[file.type === 'image' ? 'saveImage' : 'saveFile']({ data: Buffer.concat(chunks), name: String(file.name).slice(0, 200), mediaType: mime }) + imported.push({ ...attachment, name: file.name }) + } catch (error) { await diagnose(event.appId, 'attachment-receive', error) } + } + return imported + } + async function processEvent(key) { + if (working.has(key) || stopped) return + working.add(key) + try { + const event = data().events[key] + if (!event || !['queued', 'processing'].includes(event.status)) return + const app = appOf(event.appId), message = event.message + const botId = app.chatBots?.[message.chatId] ?? app.botId + const allowed = app.allowed.includes(message.openId) + const mentioned = !message.group || message.mentions.some(m => m.id?.open_id === app.botOpenId) + const botLimit = (app.autoRounds?.[message.chatId] ?? 0) >= 8 + const accepted = allowed && botId && mentioned && (!message.bot || app.allowBots && !botLimit) && message.openId !== app.botOpenId + const chatHandle = handle(app, message.chatId) + let name = chatHandle + try { + const info = await api(app.id).call('GET', message.group ? `im/v1/chats/${encodeURIComponent(message.chatId)}` : `contact/v3/users/${encodeURIComponent(message.openId)}`, { query: message.group ? undefined : { user_id_type: 'open_id' } }) + name = info.name ?? info.user?.name ?? name + } catch { /* IDs are display fallbacks, never identities. */ } + let senderName = `feishu-${message.openId}` + const cacheKey = `${app.id}:${message.group ? message.chatId : message.openId}` + try { + let cached = names.get(cacheKey) + if (!cached || cached.at < Date.now() - (message.group ? 600000 : 3600000)) { + const users = {}; let token + if (message.group) { + do { + const result = await api(app.id).call('GET', `im/v1/chats/${encodeURIComponent(message.chatId)}/members`, { query: { member_id_type: 'open_id', page_size: 100, ...(token ? { page_token: token } : {}) } }) + for (const user of result.items ?? []) users[user.member_id] = user.name + token = result.has_more ? result.page_token : undefined + } while (token) + } else users[message.openId] = name === chatHandle ? senderName : name + cached = { at: Date.now(), users }; names.set(cacheKey, cached) + } + senderName = cached.users[message.openId] ?? senderName + } catch { /* Missing contact scope keeps the stable open_id label. */ } + if (message.group) await calendars?.follow(app.id, message.chatId) + const attachments = event.attachments ?? await importFiles(event) + if (attachments.length) await commit(() => { for (const ref of attachments) data().files[`${app.id}:${ref.attachmentId}`] = { appId: app.id, ref } }) + await rt.remoteChats.open({ handle: chatHandle, name, plugin: 'feishu' }) + await rt.remoteChats.deliver({ handle: chatHandle, text: message.text || attachments.map(a => a.name).join(', '), name, plugin: 'feishu', human: !message.bot, ownerName: senderName, sourceId: key, feishu: { appId: app.id, rootId: message.rootId, messageId: message.messageId }, attachments }) + if (!accepted) { + await commit(() => { data().events[key].status = !allowed ? 'refused' : !botId ? 'no-bot' : message.bot && app.allowBots && botLimit ? 'bot-limit' : 'context'; if (!message.bot && app.autoRounds) app.autoRounds[message.chatId] = 0 }) + return + } + localBot(botId, app.ownerId) + const reserved = await commit(() => { + if (Object.values(data().events).some(e => e.id !== key && e.botId === botId && ['processing', 'admitted'].includes(e.status)) || rt.liveOf?.(rt.chatOf?.(botId) ?? botId)?.turn !== undefined) return false + Object.assign(data().events[key], { botId, attachments, status: 'processing' }) + app.autoRounds ??= {}; app.autoRounds[message.chatId] = message.bot ? (app.autoRounds[message.chatId] ?? 0) + 1 : 0 + return true + }) + if (!reserved) return + await reaction(data().events[key]) + const context = Object.values(data().events).filter(e => e.id !== key && e.appId === app.id && e.message?.chatId === message.chatId && e.at <= event.at && ['context', 'sent', 'responded'].includes(e.status)).slice(-10).map(e => `${e.message.openId}: ${e.message.text}`).join('\n').slice(-8000) + const prompt = [context ? `[Earlier messages in this Feishu chat]\n${context}\n[Current request]` : '', message.text || attachments.map(a => a.name).join(', ')].filter(Boolean).join('\n') + await rt.deliver({ toId: botId, text: prompt, role: 'feishu', exchangeId: key, fromName: senderName, untrusted: true, origin: 'other', attachments, + feishu: { eventId: key, appId: app.id, chatId: message.chatId, openId: message.openId, rootId: message.rootId } }) + await commit(() => { if (data().events[key].status === 'processing') data().events[key].status = 'admitted' }) + } catch (error) { + const event = data().events[key] + if (event) { await commit(() => { event.status = 'failed' }); await diagnose(event.appId, 'delivery', error) } + } finally { working.delete(key) } + } + async function receive(id, envelope, mode) { + const app = appOf(id) + if (mode !== app.mode) throw fail('Receiving method changed; update event and callback subscriptions and publish a version') + const credentials = await vault.get(id) + if (mode === 'http' && !same(envelope?.header?.token ?? envelope?.token, credentials.verificationToken)) throw fail('Verification Token does not match') + if (envelope?.encrypt) throw fail('Encrypt Key must be empty; encrypted events are unsupported') + if (envelope?.header?.app_id && envelope.header.app_id !== id) throw fail('Feishu app does not match') + if (envelope?.type === 'url_verification') { await commit(() => { app.verifiedAt = Date.now() }); return { challenge: String(envelope.challenge ?? '') } } + if (envelope?.header?.event_type === 'card.action.trigger') return trigger(id, envelope) + const message = readMessage(envelope) + if (!message) return { ignored: true } + if (message.openId === app.botOpenId) return { ignored: true } + const key = `${id}:${message.messageId}` + const added = await commit(() => { + if (data().events[key]) return false + data().events[key] = { id: key, appId: id, message, status: 'queued', at: Date.now() } + app.lastEventAt = Date.now() + return true + }) + if (added) void processEvent(key) + return { duplicate: !added } + } + async function complete(meta, text, failure) { + const event = data().events[meta.eventId] + if (!event || ['sent', 'cancelled'].includes(event.status) || !data().apps[event.appId]) return + if (failure || !text) { await commit(() => { event.status = 'failed' }); void tick(); return } + const id = event.id + await commit(() => { data().outbox[id] ??= { id, appId: event.appId, text, message: event.message, status: 'pending', uuid: randomUUID() }; event.status = 'responded' }) + void tick() + await flush(id) + } + async function flush(id) { + if (working.has(`send:${id}`)) return + working.add(`send:${id}`) + try { + const item = data().outbox[id] + if (!item || item.status === 'sent') return + await sendText(item.appId, item.message, item.text, item.uuid) + await commit(() => { item.status = 'sent'; const event = data().events[id]; if (event) event.status = 'sent' }) + const app = appOf(item.appId) + await rt.remoteChats.deliver({ handle: handle(app, item.message.chatId), text: item.text, name: rt.botOf(data().events[id]?.botId)?.name, plugin: 'feishu', sourceId: `reply:${id}`, feishu: { appId: app.id, rootId: item.message.rootId } }) + if (data().events[id]) await reaction(data().events[id], true) + } catch (error) { + const item = data().outbox[id] + if (item) { await commit(() => { item.status = 'failed' }); await diagnose(item.appId, 'send', error) } + } finally { working.delete(`send:${id}`) } + } + async function card(appId, botId, message, cardValue, cardId) { + const app = appOf(appId) + localBot(botId, app.ownerId) + const existing = cardId && data().cards[cardId] + if (cardId && (!existing || existing.botId !== botId || existing.appId !== appId)) throw fail('Card is not owned by this Bot') + const record = { ...existing, id: existing?.id ?? randomUUID(), appId, botId, message, card: validateCard(cardValue), version: (existing?.version ?? 0) + 1, submissions: existing?.submissions ?? [], closed: false } + await commit(() => { data().cards[record.id] = record }) + try { + const result = record.messageId ? await api(appId).call('PATCH', `im/v1/messages/${encodeURIComponent(record.messageId)}`, { body: { content: JSON.stringify(toCard(record)) } }) : await send(appId, message, 'interactive', toCard(record), record.id) + await commit(() => { record.messageId ??= result.message_id }) + } catch (error) { + if (!(error instanceof FeishuError)) throw error + await diagnose(appId, 'card', error) + await send(appId, message, 'text', { text: `${cardWords(cardValue)}\n按钮和表单需在 FlyBot 控制台中使用。` }, record.id) + } + return { id: record.id, version: record.version } + } + async function trigger(id, envelope) { + const event = envelope.event ?? {}, value = event.action?.value ?? {}, key = `${id}:card:${envelope.header?.event_id ?? event.token ?? ''}` + if (!envelope.header?.event_id && !event.token) throw fail('Card callback ID is missing') + const linked = identity(id, event.operator?.open_id) + if (!linked) return toast('error', '你的飞书账号还没有关联到 FlyBot,不能操作这张卡片。请联系管理员关联。') + const result = await commit(() => { + if (data().events[key]?.response) { + const previous = data().events[key], current = data().cards[previous.cardId] + return current ? { ...previous.response, card: { type: 'raw', data: toCard(current) } } : previous.response + } + const record = data().cards[value.flybot_card] + if (!record || record.appId !== id || record.messageId !== event.context?.open_message_id || record.message.chatId !== event.context?.open_chat_id) return toast('error', '这张卡片已不存在') + if (record.closed || value.version !== record.version || !(record.card.actions ?? []).some(a => a.id === value.action)) return toast('error', '这张卡片已更新,请使用最新卡片') + const fields = event.action?.form_value ?? {} + if (JSON.stringify(fields).length > 16000) return toast('error', '提交内容过长') + record.submissions.push({ memberId: linked.memberId, openId: linked.openId, name: state.members[linked.memberId].displayName ?? linked.memberId, action: value.action, fields, at: Date.now() }) + record.closed = record.card.once !== false + record.version += 1 + const response = { ...toast('success', '已提交'), card: { type: 'raw', data: toCard(record) } } + data().events[key] = { id: key, appId: id, status: 'card-pending', cardId: record.id, submission: record.submissions.at(-1), response, at: Date.now() } + return response + }) + void dispatchCard(key) + return result + } + async function dispatchCard(key) { + if (working.has(key)) return + working.add(key) + try { + const event = data().events[key] + if (!event || !['card-pending', 'processing'].includes(event.status)) return + const record = data().cards[event.cardId] + if (!record || !identity(record.appId, event.submission.openId)) return + const reserved = await commit(() => { + if (Object.values(data().events).some(e => e.id !== key && e.botId === record.botId && ['processing', 'admitted'].includes(e.status)) || rt.liveOf?.(rt.chatOf?.(record.botId) ?? record.botId)?.turn !== undefined) return false + event.status = 'processing'; event.message = record.message; event.botId = record.botId + return true + }) + if (!reserved) return + await rt.deliver({ toId: record.botId, role: 'feishu', exchangeId: key, text: JSON.stringify({ cardId: record.id, ...event.submission }), untrusted: true, origin: 'other', + feishu: { eventId: key, appId: record.appId, ...record.message, openId: event.submission.openId } }) + await commit(() => { if (event.status === 'processing') event.status = 'admitted' }) + } catch (error) { const event = data().events[key]; if (event) await diagnose(event.appId, 'card-action', error) } + finally { working.delete(key) } + } + async function endpoint(body, actor) { + await rt.load() + const who = principal(actor), op = body.operation ?? 'list' + if (op === 'list') return { apps: view(who), members: Object.values(state.members ?? {}).filter(m => memberActive(m) && (who.memberId === 'owner-1' || m.id === who.memberId)).map(m => ({ id: m.id, name: m.displayName ?? m.id })) } + if (op === 'save') return save(body, who) + if (op === 'webhook') { manage(who); return rt.connectorEndpoint('connector-connect', { id: 'feishu', mode: 'webhook', credentials: { webhook: body.webhook } }) } + const id = String(body.appId ?? ''), app = appOf(id) + if (op === 'identity') { + const target = String(body.memberId ?? who.memberId), openId = String(body.openId ?? '') + if (target !== who.memberId && who.memberId !== 'owner-1' || !memberActive(state.members?.[target]) || !safeKey(openId)) throw fail('Choose your own existing platform identity') + if (who.memberId !== 'owner-1' && app.ownerId !== who.memberId && !app.allowed.includes(openId)) throw fail('Sender is not allowed on this app') + const old = data().identities[`${id}:${openId}`] + if (old && old.memberId !== who.memberId && who.memberId !== 'owner-1') throw fail('This identity is already linked') + await commit(() => { data().identities[`${id}:${openId}`] = { appId: id, openId, memberId: target } }) + return { linked: true } + } + manage(who, app) + if (op === 'attachment') { + const ref = data().files[`${id}:${body.attachmentId}`]?.ref + if (!ref) throw fail('Attachment does not belong to this Feishu app') + const chunks = [] + if (ref.mediaType) chunks.push((await rt.ctx.attachments.readImage(ref)).data) + else for await (const chunk of rt.ctx.attachments.readFileStream(ref)) chunks.push(chunk) + return { name: ref.name, content_base64: Buffer.concat(chunks).toString('base64') } + } + if (op === 'test') return test(id) + if (op === 'scopes') return { scopes: await scopes(id) } + if (op === 'allow') { + if (!safeKey(body.openId)) throw new Error('Enter an open_id') + await commit(() => { app.allowed = body.enabled === false ? app.allowed.filter(i => i !== body.openId) : [...new Set([...app.allowed, body.openId])] }) + } else if (op === 'configure') { + if (body.botId) localBot(body.botId, app.ownerId) + if (body.chatId && (!safeKey(body.chatId) || ['__proto__', 'constructor', 'prototype'].includes(body.chatId))) throw new Error('Invalid Feishu chat') + const cancelled = [] + await commit(() => { + if (body.botId !== undefined) for (const event of Object.values(data().events)) { + const affected = body.chatId ? event.message?.chatId === body.chatId : !app.chatBots?.[event.message?.chatId] + if (event.appId === id && affected && event.botId !== (body.botId || app.botId) && ['processing', 'admitted'].includes(event.status)) { event.status = 'cancelled'; cancelled.push(event) } + } + if (body.chatId) { app.chatBots ??= {}; if (body.botId) app.chatBots[body.chatId] = body.botId; else delete app.chatBots[body.chatId] } + if (body.botId && !body.chatId) app.botId = body.botId + if (typeof body.allowBots === 'boolean') app.allowBots = body.allowBots + if (Number.isInteger(body.step)) app.step = Math.max(0, Math.min(app.mode === 'http' ? 6 : 5, body.step)) + }) + for (const event of cancelled) { + const sessionId = rt.chatOf?.(event.botId) ?? event.botId + if (rt.liveOf?.(sessionId)?.info?.feishu?.eventId !== event.id) continue + try { const agent = await rt.resolveAgent(sessionId); agent.cancel({ kind: 'hook', reason: 'Feishu conversation handler changed' }) } + catch (error) { await diagnose(id, 'handler-stop', error) } + } + } else if (op === 'grant') { + localBot(body.botId, app.ownerId) + if (!PRODUCTS.some(p => p.id === body.product) || !['disabled', 'read', 'ask', 'write'].includes(body.mode)) throw new Error('Invalid Feishu grant') + await commit(() => { data().grants[id] ??= {}; data().grants[id][body.botId] ??= {}; data().grants[id][body.botId][body.product] = body.mode }) + } else if (op === 'retry') { + if (body.outboxId && data().outbox[body.outboxId]?.appId === id) await flush(body.outboxId) + else if (body.eventId && data().events[body.eventId]?.appId === id && data().events[body.eventId].status === 'failed') { await commit(() => { data().events[body.eventId].status = 'queued' }); void processEvent(body.eventId) } + else await connect(id) + } else if (op === 'card-action') { + const record = data().cards[body.cardId] + if (!record || record.appId !== id) throw fail('Unknown card') + const openId = Object.values(data().identities).find(i => i.appId === id && i.memberId === who.memberId)?.openId + if (!openId) throw fail('Link your Feishu identity first') + return trigger(id, { header: { event_id: randomUUID() }, event: { operator: { open_id: openId }, context: { open_message_id: record.messageId, open_chat_id: record.message.chatId }, action: { value: { flybot_card: record.id, version: record.version, action: body.action }, form_value: body.fields ?? {} } } }) + } else if (op === 'delete') { + await commit(() => { + delete data().apps[id]; delete data().grants[id] + for (const name of ['events', 'outbox', 'cards', 'identities', 'files', 'calendarShares']) for (const [key, row] of Object.entries(data()[name] ?? {})) if (row.appId === id) delete data()[name][key] + if (app.legacy && state.connectors?.feishu?.managed) delete state.connectors.feishu + }) + await sockets.get(id)?.socket?.close?.(); sockets.delete(id); apis.delete(id); await vault.set(id, undefined) + } else throw new Error('Unknown Feishu operation') + return { apps: view(who) } + } + const authorizeTool = (botId, appId, product, write) => { + const app = appOf(appId), bot = localBot(botId, app.ownerId), grant = data().grants[appId]?.[bot.id]?.[product] ?? 'disabled' + if (grant === 'disabled' || write && grant === 'read') throw fail('This Feishu capability is not granted to this Bot') + return grant + } + async function tick() { + for (const event of Object.values(data().events)) { + if (event.status === 'queued') void processEvent(event.id) + if (event.status === 'card-pending') void dispatchCard(event.id) + if (event.reactionRetry && event.reactionRetry < Date.now()) void reaction(event, event.status === 'sent') + } + } + async function start() { + stopped = false; await rt.load() + removeSender?.() + removeSender = rt.remoteChats?.onSend?.('feishu', reply) + for (const app of Object.values(data().apps)) { if (app.mode === 'http') await rt.ensureFeishuEvents?.(); void connect(app.id) } + for (const event of Object.values(data().events)) if (event.status === 'processing') void (event.cardId ? dispatchCard(event.id) : processEvent(event.id)) + for (const item of Object.values(data().outbox)) if (item.status === 'pending') void flush(item.id) + await tick() + } + async function stop() { stopped = true; removeSender?.(); for (const s of sockets.values()) await s.socket?.close?.(); sockets.clear() } + async function reply(message) { + const app = Object.values(data().apps).find(a => a.legacy ? message.handle.startsWith('feishu:') && !message.handle.slice(7).includes(':') : message.handle.startsWith(`feishu:${a.id}:`)) + if (!app) return rt.replyLegacyFeishu?.(message) + const chatId = message.handle.slice(app.legacy ? 7 : `feishu:${app.id}:`.length) + return sendText(app.id, { chatId, title: state.members?.[app.ownerId]?.displayName ?? 'Owner' }, String(message.text), message.messageId) + } + const service = { endpoint, receive, complete, view, api, card, identity, authorizeTool, appOf, data, commit, diagnose, start, stop, tick, sendText, send, reply, MAX_IN, MAX_IMAGE, MAX_FILE } + calendars = createFeishuCalendars(service) + return Object.assign(service, { calendars }) +} + +export function install(rt) { + const service = createFeishuService(rt) + rt.feishu = service + installFeishuTools(rt, service) + let server, listening + rt.ensureFeishuEvents = () => listening ??= (async () => { + const port = Number(rt.config.feishu?.eventsPort ?? process.env.FLYBOT_FEISHU_EVENTS_PORT ?? 3082) + if (!Number.isInteger(port) || port < 1 || port > 65535) throw new Error('Configure a valid Feishu event port') + server = createFeishuEventServer(service) + try { await new Promise((resolve, reject) => { server.once('error', reject); server.listen(port, '0.0.0.0', resolve) }) } + catch (error) { listening = undefined; throw error } + })() + rt.ctx.effect(() => { + void service.start().catch(() => rt.warn('ds-bot: Feishu recovery failed')) + const timer = setInterval(() => { void service.tick().catch(() => {}) }, 10000) + timer.unref?.() + return () => { clearInterval(timer); server?.close(); void service.stop() } + }, 'ds-bot: Feishu apps') +} diff --git a/patches/ds-bot/files/src/host/feishu-tools.js b/patches/ds-bot/files/src/host/feishu-tools.js new file mode 100644 index 000000000..d1dfd3d4a --- /dev/null +++ b/patches/ds-bot/files/src/host/feishu-tools.js @@ -0,0 +1,180 @@ +import { defineTool } from './tool-schema.js' +import { output } from './tools.js' +import { MAX_IMAGE, MAX_FILE } from './feishu-format.js' + +const TOO_LARGE = 'Feishu accepts images up to 10 MB and files up to 30 MB; this attachment is too large to send' + +const seg = (args, key) => { + const value = args[key] + if (typeof value !== 'string' || !value || value.length > 1024 || /[\u0000-\u001f]/.test(value)) throw new Error(`Enter ${key}`) + return encodeURIComponent(value) +} +// The operation list is the authority boundary; a model cannot supply a URL, method, token or host. +export const FEISHU_OPERATIONS = { + calendar_share_group: ['calendar', 'POST', () => 'calendar/v4/calendars'], + calendar_share_link: ['calendar', 'GET', () => 'calendar/v4/calendars'], + calendar_share_card: ['calendar', 'POST', () => 'calendar/v4/calendars'], + calendar_list: ['calendar', 'GET', () => 'calendar/v4/calendars'], + calendar_get: ['calendar', 'GET', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}`], + calendar_search: ['calendar', 'POST', () => 'calendar/v4/calendars/search', false], + calendar_create: ['calendar', 'POST', () => 'calendar/v4/calendars'], + calendar_update: ['calendar', 'PATCH', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}`], + calendar_subscribe: ['calendar', 'POST', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/subscribe`], + calendar_members: ['calendar', 'GET', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/acls`], + calendar_member_add: ['calendar', 'POST', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/acls`], + calendar_member_remove: ['calendar', 'DELETE', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/acls/${seg(a, 'acl_id')}`], + calendar_events: ['calendar', 'GET', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/events`], + calendar_event_get: ['calendar', 'GET', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/events/${seg(a, 'event_id')}`], + calendar_event_create: ['calendar', 'POST', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/events`], + calendar_event_update: ['calendar', 'PATCH', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/events/${seg(a, 'event_id')}`], + calendar_event_delete: ['calendar', 'DELETE', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/events/${seg(a, 'event_id')}`], + calendar_attendees: ['calendar', 'POST', a => `calendar/v4/calendars/${seg(a, 'calendar_id')}/events/${seg(a, 'event_id')}/attendees`], + calendar_freebusy: ['calendar', 'POST', () => 'calendar/v4/freebusy/list', false], + docs_read: ['docs', 'GET', a => `docx/v1/documents/${seg(a, 'document_id')}/raw_content`], + docs_create: ['docs', 'POST', () => 'docx/v1/documents'], + docs_append: ['docs', 'POST', a => `docx/v1/documents/${seg(a, 'document_id')}/blocks/${seg(a, 'document_id')}/children`], + docs_folder: ['docs', 'GET', () => 'drive/v1/files'], + docs_share: ['docs', 'POST', a => `drive/v1/permissions/${seg(a, 'document_id')}/members`], + wiki_spaces: ['docs', 'GET', () => 'wiki/v2/spaces'], + wiki_nodes: ['docs', 'GET', a => `wiki/v2/spaces/${seg(a, 'space_id')}/nodes`], + wiki_node: ['docs', 'GET', () => 'wiki/v2/spaces/get_node'], + bitable_tables: ['bitable', 'GET', a => `bitable/v1/apps/${seg(a, 'app_token')}/tables`], + bitable_fields: ['bitable', 'GET', a => `bitable/v1/apps/${seg(a, 'app_token')}/tables/${seg(a, 'table_id')}/fields`], + bitable_records: ['bitable', 'POST', a => `bitable/v1/apps/${seg(a, 'app_token')}/tables/${seg(a, 'table_id')}/records/search`, false], + bitable_create: ['bitable', 'POST', a => `bitable/v1/apps/${seg(a, 'app_token')}/tables/${seg(a, 'table_id')}/records`], + bitable_update: ['bitable', 'PUT', a => `bitable/v1/apps/${seg(a, 'app_token')}/tables/${seg(a, 'table_id')}/records/${seg(a, 'record_id')}`], + sheets_read: ['sheets', 'GET', a => `sheets/v2/spreadsheets/${seg(a, 'spreadsheet_token')}/values/${seg(a, 'range')}`], + sheets_write: ['sheets', 'PUT', a => `sheets/v2/spreadsheets/${seg(a, 'spreadsheet_token')}/values`], + meeting_reserve: ['meeting', 'POST', () => 'vc/v1/reserves/apply'], + task_create: ['task', 'POST', () => 'task/v2/tasks'], +} +export const operationWrites = op => op[3] ?? op[1] !== 'GET' +const object = value => { + if (!value || typeof value !== 'object' || Array.isArray(value) || JSON.stringify(value).length > 60000) throw new Error('Arguments must be a bounded object') + return value +} + +export function installFeishuTools(rt, service) { + const decisions = new Map() + const botOf = exec => { + const bot = rt.whoseAgent?.(exec.agent)?.bot + if (!bot || bot.remote || bot.ephemeral || bot.projectAgent) throw new Error('Feishu tools require a local Bot') + return bot + } + const context = exec => rt.liveOf(exec.agent?.id ?? exec.agent?.session?.id)?.info?.feishu + const requester = (appId, exec) => { + const live = rt.liveOf(exec.agent?.id ?? exec.agent?.session?.id), source = live?.info?.feishu + const linked = source && service.identity(source.appId, source.openId) + if (source?.appId === appId) return linked + const memberId = source ? linked?.memberId : live?.requesterMemberId + if (!memberId) return undefined + const matches = Object.values(service.data().identities).filter(i => i.appId === appId && i.memberId === memberId && service.identity(appId, i.openId)) + // Multiple linked accounts need an explicit Feishu request; never pick a default host. + return matches.length === 1 ? matches[0] : undefined + } + const check = exec => { + const op = FEISHU_OPERATIONS[exec.arguments?.operation] + if (!op) throw new Error('Unknown Feishu operation') + return service.authorizeTool(botOf(exec).id, exec.arguments.appId, op[0], operationWrites(op)) + } + rt.ctx.on('tools/pre-execute', async (exec, next) => { + if (exec.name !== 'feishu_tool') return next() + try { + const grant = check(exec), op = FEISHU_OPERATIONS[exec.arguments.operation] + decisions.set(exec.callId, { grant, appId: exec.arguments.appId, operation: exec.arguments.operation }) + if (decisions.size > 1000) decisions.delete(decisions.keys().next().value) + if (operationWrites(op) && grant === 'ask') return { kind: 'ask', reason: `Feishu ${exec.arguments.appId}: ${exec.arguments.operation}`, displayReason: { en: 'Allow this write to Feishu?', zh: '是否允许这次飞书写入?' } } + return next() + } catch (error) { return { kind: 'deny', reason: error.message } } + }) + rt.ctx.tools.register(defineTool({ name: 'feishu_apps', description: 'List Feishu applications and capabilities explicitly granted to you, with linked member open_ids. Credentials remain on the platform.', parameters: {}, output, + async execute(_args, exec) { + const bot = botOf(exec) + return JSON.stringify(Object.values(service.data().apps).filter(app => app.ownerId === (bot.ownerId ?? 'owner-1') && Object.values(service.data().grants[app.id]?.[bot.id] ?? {}).some(grant => grant !== 'disabled')).map(app => ({ appId: app.id, name: app.name, grants: service.data().grants[app.id]?.[bot.id] ?? {}, people: Object.values(service.data().identities).filter(i => i.appId === app.id).map(i => ({ openId: i.openId, name: rt.state.members?.[i.memberId]?.displayName })) }))) + } })) + rt.ctx.tools.register(defineTool({ name: 'feishu_tool', description: `Use one explicitly granted Feishu app. Operations: ${Object.keys(FEISHU_OPERATIONS).join(', ')}. Parameters contain path IDs plus body and query matching the Feishu API. Examples: calendar_create body:{summary,permissions}; calendar_event_create calendar_id and body:{summary,start_time:{timestamp},end_time:{timestamp}}; calendar_member_add body:{role,scope:{type:"user",user_id}}; docs_create body:{title}; docs_append document_id and body:{children:[{block_type:2,text:{elements:[{text_run:{content:"text"}}]}}]}; bitable_create app_token,table_id and body:{fields:{fieldName:value}}; sheets_write spreadsheet_token and body:{valueRange:{range,values}}; meeting_reserve body:{end_time,meeting_settings:{topic}}; task_create body:{summary,due:{timestamp,is_all_day:false},members:[{id,type:"user",role:"assignee"}]},query:{user_id_type:"open_id"}. Calendar includes events, attendees, ACL members and freebusy; docs_append accepts document blocks; bitable accepts fields; sheets_write accepts valueRange; task_create accepts summary, due, members. meeting_reserve uses the actual linked requester as host. Permissions are per app/product; ask mode waits for human approval before any write.`, + parameters: { appId: { type: 'string', required: true }, operation: { type: 'string', enum: Object.keys(FEISHU_OPERATIONS), required: true }, parameters: { type: 'json', required: true } }, output, + async execute(args, exec) { + check({ ...exec, arguments: args }) + const [product, method, path] = FEISHU_OPERATIONS[args.operation], params = object(args.parameters) + const decision = decisions.get(exec.callId) + const authorize = () => { + const latest = service.authorizeTool(botOf(exec).id, args.appId, product, operationWrites(FEISHU_OPERATIONS[args.operation])) + if (latest === 'ask' && operationWrites(FEISHU_OPERATIONS[args.operation]) && (decision?.grant !== 'ask' || decision.appId !== args.appId || decision.operation !== args.operation)) throw new Error('This write now requires human approval; retry the tool') + } + authorize() + if (args.operation === 'calendar_share_group') return JSON.stringify(await service.calendars.share(args.appId, botOf(exec).id, params, authorize)) + if (args.operation === 'calendar_share_link' || args.operation === 'calendar_share_card') { + const link = await service.calendars.link(args.appId, params.calendar_id, authorize) + if (args.operation === 'calendar_share_card') { + const source = context(exec) + const chatId = params.chat_id ?? (source?.appId === args.appId ? source.chatId : undefined) + if (!chatId) throw new Error('Choose a Feishu chat') + await service.send(args.appId, { chatId, rootId: params.chat_id ? null : source?.rootId }, 'interactive', { schema: '2.0', header: { title: { tag: 'plain_text', content: link.name } }, body: { elements: [{ tag: 'markdown', content: String(link.permissions ?? '') }, { tag: 'button', text: { tag: 'plain_text', content: '在日历中查看' }, type: 'primary', multi_url: { url: link.url } }] } }, exec.callId, authorize) + } + return JSON.stringify(link) + } + let body = params.body === undefined ? undefined : structuredClone(object(params.body)) + const query = params.query === undefined ? {} : { ...object(params.query) } + if (args.operation === 'meeting_reserve') { + const linked = requester(args.appId, exec) + if (!linked) throw new Error('提问的人没有关联这家公司的飞书账号,不能预约会议。') + body = { ...body, owner_id: linked.openId } + query.user_id_type = 'open_id' + } + // Recheck after asynchronous approvals and before the platform uses its credentials. + service.authorizeTool(botOf(exec).id, args.appId, product, operationWrites(FEISHU_OPERATIONS[args.operation])) + try { + const result = await service.api(args.appId).call(method, path(params), { body, query, authorize }) + if (args.operation === 'docs_create' && result.document?.document_id) { + const linked = requester(args.appId, exec) + if (linked) try { await service.api(args.appId).call('POST', `drive/v1/permissions/${encodeURIComponent(result.document.document_id)}/members`, { authorize, query: { type: 'docx', need_notification: true }, body: { member_type: 'openid', member_id: linked.openId, perm: 'edit' } }) } catch (error) { await service.diagnose(args.appId, 'document-share', error); result.sharing = 'Document created, but sharing failed; check connection diagnostics' } + } + return JSON.stringify(result) + } catch (error) { + await service.diagnose(args.appId, 'tool', error) + throw new Error(`${error.message}。请检查应用权限是否开通并发布,文档、表格或知识库是否已把应用添加为成员。`) + } + } })) + rt.ctx.tools.register(defineTool({ name: 'feishu_card', description: 'Send or update a persistent Feishu card in the current request conversation. card has title, blocks and actions [{id,label}], optional once:false. Blocks: text{text}, fields{items:[{label,value}]}, list{items}, progress{value,max,label}, table{columns:[{key,label}],rows}, chart{spec}, pages{pages:[{title,blocks}]}, input{name,label,placeholder}, applet{description}. Inputs/buttons form the final form. Submissions return to this Bot; they never approve tools. Pass cardId to update your own original card.', + parameters: { card: { type: 'json', required: true }, cardId: { type: 'string' } }, output, + async execute(args, exec) { + const stored = args.cardId ? service.data().cards[args.cardId] : undefined + const source = context(exec) ?? (stored ? { appId: stored.appId, ...stored.message } : undefined) + if (!source) throw new Error('Send cards while answering a Feishu request') + return JSON.stringify(await service.card(source.appId, botOf(exec).id, { chatId: source.chatId, rootId: source.rootId }, args.card, args.cardId)) + } })) + rt.ctx.tools.register(defineTool({ name: 'feishu_file', description: 'Send an attachment already present in this Session to the current Feishu request. Images up to 10 MB, files up to 30 MB; a larger attachment cannot be sent. No host paths or arbitrary URLs are accepted.', + parameters: { attachmentId: { type: 'string', required: true } }, output, + async execute(args, exec) { + const bot = botOf(exec), source = context(exec) + if (!source) throw new Error('Send files while answering a Feishu request') + service.appOf(source.appId) + if ((bot.ownerId ?? 'owner-1') !== service.appOf(source.appId).ownerId) throw new Error('Wrong Feishu app owner') + let ref + const session = exec.agent?.session + for (const seq of session?.surface?.nodes ?? []) { + const event = session.eventAt(seq) + for (const b of event?.data?.message?.content ?? event?.data?.content ?? []) if ((b.attachment?.attachmentId ?? b.attachment?.id) === args.attachmentId) ref = b.attachment + for (const file of (event?.data?.source ?? event?.data?.message?.source)?.attachments ?? []) if (file.id === args.attachmentId) ref = file + } + if (!ref) throw new Error('Attachment is not present in this Session') + const image = (ref.mediaType ?? ref.mime)?.startsWith('image/') && (ref.bytes ?? ref.size) <= MAX_IMAGE + // A `mediaType` marks an image attachment, readable only as an image: past 10 MB it cannot go out as a file either. + if ((ref.bytes ?? ref.size) > MAX_FILE || !image && ref.mediaType) throw new Error(TOO_LARGE) + const chunks = [] + if (image) chunks.push((await rt.ctx.attachments.readImage(ref, exec.signal)).data) + else for await (const chunk of rt.ctx.attachments.readFileStream(ref, exec.signal)) chunks.push(chunk) + const bytes = Buffer.concat(chunks) + if (bytes.length > (image ? MAX_IMAGE : MAX_FILE)) throw new Error(TOO_LARGE) + const form = new FormData() + form.set(image ? 'image_type' : 'file_type', image ? 'message' : 'stream') + if (!image) form.set('file_name', ref.name ?? 'attachment') + form.set(image ? 'image' : 'file', new Blob([bytes]), ref.name ?? 'attachment') + try { + const result = await service.api(source.appId).call('POST', image ? 'im/v1/images' : 'im/v1/files', { body: form }) + await service.send(source.appId, source, image ? 'image' : 'file', image ? { image_key: result.image_key } : { file_key: result.file_key }, exec.callId) + return 'Sent' + } catch (error) { await service.diagnose(source.appId, 'attachment-send', error); throw new Error('Feishu did not accept the attachment; the connection diagnostics have the details') } + } })) +} diff --git a/patches/ds-bot/files/src/host/feishu-vault.js b/patches/ds-bot/files/src/host/feishu-vault.js new file mode 100644 index 000000000..260e4b718 --- /dev/null +++ b/patches/ds-bot/files/src/host/feishu-vault.js @@ -0,0 +1,50 @@ +import { createCipheriv, createDecipheriv, randomBytes } from 'node:crypto' +import { mkdir, readFile, writeFile, rename } from 'node:fs/promises' +import { join } from 'node:path' + +// Separate from user Secrets: no shell environment, model schema, or connection view can expose these. +export function createFeishuVault(home) { + let key, records, loading, tail = Promise.resolve() + const path = join(home, 'feishu-credentials.json') + const load = () => loading ??= (async () => { + await mkdir(home, { recursive: true, mode: 0o700 }) + const keyPath = join(home, 'feishu-credentials.key') + try { key = await readFile(keyPath) } catch (error) { + if (error.code !== 'ENOENT') throw error + key = randomBytes(32) + try { await writeFile(keyPath, key, { flag: 'wx', mode: 0o600 }) } + catch (err) { if (err.code !== 'EEXIST') throw err; key = await readFile(keyPath) } + } + if (key.length !== 32) throw new Error('Invalid Feishu credential key') + try { records = JSON.parse(await readFile(path, 'utf8')) } + catch (error) { if (error.code !== 'ENOENT') throw new Error('Cannot read Feishu credentials'); records = {} } + })() + const get = async id => { + await load() + const item = records[id] + if (!item) return undefined + const decipher = createDecipheriv('aes-256-gcm', key, Buffer.from(item.iv, 'base64')) + decipher.setAAD(Buffer.from(id)) + decipher.setAuthTag(Buffer.from(item.tag, 'base64')) + return JSON.parse(Buffer.concat([decipher.update(Buffer.from(item.data, 'base64')), decipher.final()]).toString()) + } + const set = (id, value) => { + const job = tail.then(async () => { + await load() + const next = { ...records } + if (value === undefined) delete next[id] + else { + const iv = randomBytes(12), cipher = createCipheriv('aes-256-gcm', key, iv) + cipher.setAAD(Buffer.from(id)) + next[id] = { iv: iv.toString('base64'), data: Buffer.concat([cipher.update(JSON.stringify(value)), cipher.final()]).toString('base64'), tag: cipher.getAuthTag().toString('base64') } + } + const temp = `${path}.${randomBytes(8).toString('hex')}` + await writeFile(temp, JSON.stringify(next), { mode: 0o600 }) + await rename(temp, path) + records = next + }) + tail = job.catch(() => {}) + return job + } + return { get, set } +} diff --git a/patches/ds-bot/files/src/host/remote-chat.js b/patches/ds-bot/files/src/host/remote-chat.js index 88f5278aa..88745fd9a 100644 --- a/patches/ds-bot/files/src/host/remote-chat.js +++ b/patches/ds-bot/files/src/host/remote-chat.js @@ -286,17 +286,18 @@ export function install(rt) { // from outside the team) that the chat's route writes back as the reply. // `human` + `ownerName`: the plugin has Bot Social's attestation that the friend typed this line // themselves (never derived from the text). The reply is then drawn as the person, not the Bot. - async function deliver({ handle, text, name, home, plugin, human, ownerName }) { + async function deliver({ handle, text, name, home, plugin, human, ownerName, sourceId, feishu, attachments }) { const id = chatOfHandle(handle)?.id ?? await open({ handle, name: name ?? handle, home, plugin }) const bot = rt.botOf(id) const agent = await rt.resolveAgent(rt.chatOf(id)) + if (sourceId && agent.session?.surface?.nodes?.some(seq => (agent.session.eventAt(seq)?.data?.source ?? agent.session.eventAt(seq)?.data?.message?.source)?.sourceId === sourceId)) return const shownName = cleanName(bot?.name ?? name ?? handle) // The reply is here: the thinking row goes before the reply is drawn, not a beat after it (#443). if (markAwaiting(id)) await rt.save().catch(error => warn('ds-bot: saving a friend chat wait failed: %s', error)) const typedBy = human === true && typeof ownerName === 'string' && ownerName.trim() ? cleanName(ownerName) : '' agent.followup(createUserMessage({ - content: [{ type: 'text', text: `[Message from ${shownName} (${cleanName(handle)})]\n${fenceUntrusted(shownName, text)}` }], - source: { kind: SOURCE_KIND, form: REMOTE_FORM, role: 'remote', exchangeId: randomUUID(), senderName: shownName, hop: 0, remote: { handle, ...(home ? { home } : {}) }, ...(typedBy ? { typedBy } : {}), text: String(text) }, + content: [{ type: 'text', text: `[Message from ${shownName} (${cleanName(handle)})]\n${fenceUntrusted(shownName, text)}` }, ...(attachments ?? []).map(file => ({ type: file.mediaType ? 'image' : 'file', attachment: file }))], + source: { kind: SOURCE_KIND, form: REMOTE_FORM, role: 'remote', ...(sourceId ? { sourceId } : {}), ...(feishu ? { feishu } : {}), ...(attachments?.length ? { attachments: attachments.map(ref => ({ id: ref.attachmentId, name: ref.name, size: ref.bytes, mime: ref.mediaType ?? '' })) } : {}), exchangeId: randomUUID(), senderName: shownName, hop: 0, remote: { handle, ...(home ? { home } : {}) }, ...(typedBy ? { typedBy } : {}), text: String(text) }, })) await ctx.sessions.flush(agent.session) await rt.ingestRemoteRoomLine?.({ handle, text, name: shownName }).catch(error => warn('ds-bot: room ingest for %s failed: %s', handle, error)) diff --git a/patches/ds-bot/files/src/host/workbench-gateway.js b/patches/ds-bot/files/src/host/workbench-gateway.js index fc3d80759..47ccb9b92 100644 --- a/patches/ds-bot/files/src/host/workbench-gateway.js +++ b/patches/ds-bot/files/src/host/workbench-gateway.js @@ -8,6 +8,7 @@ import { resolve } from 'node:path' import { pathToFileURL } from 'node:url' export const WORKBENCH_ENDPOINTS = new Set([ + 'feishu', 'personal-agent-token-create', 'personal-agent-token-list', 'personal-agent-token-revoke', 'personal-agent-delegation-set', 'personal-agent-propose-task', 'personal-agent-history', 'personal-agent-create', 'personal-agent-read', 'personal-agent-list', 'personal-agent-join', 'personal-agent-default', 'personal-agent-participations', 'personal-agent-leave', 'personal-agent-retire', 'personal-space', 'auth-mode', 'platform-login', 'auth-whoami', 'auth-revoke', 'auth-invite', 'auth-redeem', 'workbench-state', 'project-repositories', 'project-repository-link', 'project-repository-unlink', 'project-close-request', 'project-close-prepare', 'project-close-confirm', diff --git a/patches/ds-bot/files/src/host/workbench-personal.js b/patches/ds-bot/files/src/host/workbench-personal.js index 35a3d321d..125f28443 100644 --- a/patches/ds-bot/files/src/host/workbench-personal.js +++ b/patches/ds-bot/files/src/host/workbench-personal.js @@ -3,7 +3,7 @@ import { textOf } from './text.js' import { ownEntry } from './store.js' const refused = () => Object.assign(new Error('You cannot access that personal conversation'), { code: 'bot/forbidden' }) -const personalBot = bot => bot && !bot.projectAgent && !bot.ephemeral && !bot.projectId && !bot.remote +const personalBot = bot => bot && !bot.projectAgent && !bot.ephemeral && !bot.projectId && (!bot.remote || bot.remote.plugin === 'feishu') export function personalRoster(rt, actor) { if (!actor?.memberId) throw refused() const bots = Object.values(rt.state.bots).filter(bot => personalBot(bot) && rt.botOwnedBy(actor, bot.id)) @@ -11,7 +11,7 @@ export function personalRoster(rt, actor) { const bot = ownEntry(rt.state.bots, id) return bot && !bot.projectAgent && !bot.ephemeral && !bot.remote && (!bot.projectId || bot.projectId === room.projectId) })) - return { bots: bots.map(({ id, name, role, instructions, model, color, avatar, parentId, sessionId }) => ({ id, name, role, instructions, model, color, avatar, parentId, sessionId: rt.chatOf?.(id) ?? sessionId ?? id, parts: (rt.partsOf?.(id) ?? []).map(part => ({ sessionId: part.sessionId, number: part.number })) })), rooms: rooms.map(({ id, name, members, participants, mode, projectId }) => ({ id, name, ...(projectId ? { projectId } : {}), members, participants: (participants ?? []).map(({ id, kind, displayName, role, joinedSeq, leftSeq }) => ({ id, kind, displayName, role, joinedSeq, leftSeq })), mode })), mainBotIds: rt.state.mainBotIds.filter(id => bots.some(bot => bot.id === id)) } + return { bots: bots.map(({ id, name, role, instructions, model, color, avatar, parentId, sessionId, remote }) => ({ id, name, role, instructions, model, color, avatar, parentId, ...(remote ? { remote } : {}), sessionId: rt.chatOf?.(id) ?? sessionId ?? id, parts: (rt.partsOf?.(id) ?? []).map(part => ({ sessionId: part.sessionId, number: part.number })) })), rooms: rooms.map(({ id, name, members, participants, mode, projectId }) => ({ id, name, ...(projectId ? { projectId } : {}), members, participants: (participants ?? []).map(({ id, kind, displayName, role, joinedSeq, leftSeq }) => ({ id, kind, displayName, role, joinedSeq, leftSeq })), mode })), mainBotIds: rt.state.mainBotIds.filter(id => bots.some(bot => bot.id === id)) } } export function requirePersonalSession(rt, actor, id) { const roster = personalRoster(rt, actor) diff --git a/patches/ds-bot/files/src/shared/feishu.js b/patches/ds-bot/files/src/shared/feishu.js new file mode 100644 index 000000000..ea27c552c --- /dev/null +++ b/patches/ds-bot/files/src/shared/feishu.js @@ -0,0 +1,37 @@ +// Shared setup contract; the browser and server validate the same application and permission names. +export const APP_ID = /^cli_[0-9a-f]{16}$/i +export const BASE_SCOPES = ['im:message.group_at_msg:readonly', 'im:message.p2p_msg:readonly', 'im:message:send_as_bot', 'im:message.reactions:write_only', 'im:resource', 'im:message:readonly', 'im:chat:readonly', 'contact:contact.base:readonly', 'contact:user.base:readonly', 'im:message.group_msg.include_bot:read'] +export const PRODUCTS = [ + { id: 'calendar', label: 'Calendar', scopes: ['calendar:calendar'] }, + { id: 'docs', label: 'Documents and wiki', scopes: ['docx:document', 'drive:drive', 'wiki:wiki'] }, + { id: 'bitable', label: 'Bitable', scopes: ['bitable:app'] }, + { id: 'sheets', label: 'Spreadsheets', scopes: ['sheets:spreadsheet'] }, + { id: 'meeting', label: 'Video meetings', scopes: ['vc:reserve'] }, + { id: 'task', label: 'Tasks', scopes: ['task:task:write'] }, +] +export const STEPS = ['Create an app on Feishu Open Platform', 'Enter credentials and test connection', 'Subscribe to message events and card callbacks', 'Publish an app version', 'Choose the Bot represented by the robot', 'Try it in Feishu'] +export const setupSteps = mode => mode === 'http' ? ['Prepare a public event address', ...STEPS] : [...STEPS] +export const permissionJSON = (selected = []) => JSON.stringify({ scopes: { tenant: [...new Set([...BASE_SCOPES, ...PRODUCTS.filter(p => selected.includes(p.id)).flatMap(p => p.scopes)])], user: [] } }, null, 2) +export function scopeGranted(scope, list = []) { + if (scope === 'im:message:readonly') return ['im:message:readonly', 'im:message', 'im:message.history:readonly'].some(s => list.includes(s)) + if (scope === 'im:message.reactions:write_only') return list.includes(scope) || list.includes('im:message') + return list.includes(scope) +} +export function productAccess(product, list = []) { + if (product.scopes.every(s => list.includes(s))) return 'write' + if (['meeting', 'task'].includes(product.id)) return 'disabled' + return product.scopes.every(s => list.includes(s) || list.includes(`${s}:readonly`)) ? 'read' : 'disabled' +} +export function validateCredentials({ appId, appSecret, verificationToken }, mode) { + if (!APP_ID.test(appId ?? '')) throw new Error('App ID must be cli_ followed by 16 hexadecimal characters') + if (typeof appSecret !== 'string' || !appSecret.trim()) throw new Error('Enter the App Secret') + if (!['socket', 'http'].includes(mode)) throw new Error('Choose a receiving method') + if (mode === 'http' && !verificationToken?.trim()) throw new Error('Enter the Verification Token') +} +export function publicAddress(value) { + try { + const u = new URL(value) + return u.protocol === 'https:' && !u.username && !u.password && !u.hash && !u.search && + !/^(localhost$|127\.|10\.|0\.|192\.168\.|172\.(1[6-9]|2\d|3[01])\.|\[|169\.254\.)/.test(u.hostname) && !u.hostname.endsWith('.local') + } catch { return false } +} diff --git a/patches/ds-bot/files/test/feishu-migration.test.js b/patches/ds-bot/files/test/feishu-migration.test.js new file mode 100644 index 000000000..e2b766d88 --- /dev/null +++ b/patches/ds-bot/files/test/feishu-migration.test.js @@ -0,0 +1,450 @@ +import assert from 'node:assert/strict' +import { test } from 'node:test' +import { mkdtemp, readFile, rm, stat, writeFile } from 'node:fs/promises' +import { tmpdir } from 'node:os' +import { join } from 'node:path' +import { setTimeout as delay } from 'node:timers/promises' +import { createFeishuService } from '../src/host/feishu-service.js' +import { createFeishuVault } from '../src/host/feishu-vault.js' +import { createFeishuEventServer } from '../src/host/feishu-http.js' +import { readMessage, fromPost, markdown, toCard, MAX_POST } from '../src/host/feishu-format.js' +import { setupSteps, permissionJSON, validateCredentials } from '../src/shared/feishu.js' +import { canUse } from '../src/host/secrets.js' +import { installFeishuTools, FEISHU_OPERATIONS, operationWrites } from '../src/host/feishu-tools.js' +import { createFeishuCalendars } from '../src/host/feishu-calendar.js' +import { createRuntime } from '../index.js' +import { fakeContext } from './fake-ctx.js' +import { SOURCE_KIND } from '../src/host/constants.js' +import { createFeishuApi } from '../src/host/feishu-api.js' +import { createFeishuTransport, SDK_PACKAGE } from '../src/host/feishu-sdk.js' +import { install as installResume } from '../src/host/resume.js' +import { install as installDelivery } from '../src/host/delivery.js' + +const APP = 'cli_0123456789abcdef', OTHER = 'cli_fedcba9876543210' +const owner = { memberId: 'owner-1' } +const creds = { appId: APP, appSecret: 'fixture-app-secret', verificationToken: 'fixture-verification' } +const event = (id = 'm1', more = {}) => ({ header: { event_id: `e-${id}`, event_type: 'im.message.receive_v1', app_id: APP, token: creds.verificationToken }, event: { sender: { sender_id: { open_id: 'ou_alice' }, sender_type: 'user' }, message: { message_id: id, chat_id: 'oc_group', chat_type: 'group', root_id: 'om_root', message_type: 'text', mentions: [{ id: { open_id: 'ou_bot' } }], content: JSON.stringify({ text: 'hello' }), ...more } } }) +const until = async fn => { for (let i = 0; i < 100; i++) { if (fn()) return; await delay(5) }; assert.fail('condition did not settle') } +function rig(snapshot, options = {}) { + const rt = { home: '', config: {}, state: snapshot ?? { members: { 'owner-1': { id: 'owner-1', displayName: 'Owner' }, bob: { id: 'bob', displayName: 'Bob' } }, bots: { b1: { id: 'b1', ownerId: 'owner-1', name: 'Chief' } } }, ctx: {}, authzEnforced: () => true, readOnly: () => undefined, load: async () => {}, save: async () => {}, botOf(id) { return rt.state.bots[id] } } + const calls = [], delivered = [], history = [], secrets = new Map() + const vault = { get: async id => secrets.get(id), set: async (id, value) => value === undefined ? secrets.delete(id) : secrets.set(id, structuredClone(value)) } + let failSend = false, failPost = false + const request = async (url, init) => { + const path = new URL(url).pathname, body = init.body instanceof FormData ? init.body : init.body ? JSON.parse(init.body) : undefined + calls.push({ path, method: init.method, body }) + if (path.includes('tenant_access_token')) return Response.json({ code: 0, tenant_access_token: 'fixture-tenant-token', expire: 7200 }) + if (failSend && path.includes('/messages') && init.method === 'POST' && !path.includes('reactions')) throw new Error('fixture network failure') + if (failPost && body?.msg_type === 'post') return Response.json({ code: 230001 }) + const data = path.includes('bot/v3/info') ? { bot: { open_id: 'ou_bot', app_name: 'Example' } } : path.includes('application/v6/scopes') ? { scopes: [] } : path.includes('/chats/') ? { name: 'Example group' } : path.includes('reactions') ? { reaction_id: 'reaction1' } : { message_id: 'sent-card' } + return Response.json({ code: 0, data }) + } + rt.deliver = async m => { delivered.push(m) } + rt.remoteChats = { open: async () => {}, deliver: async m => { history.push(m) } } + const transport = options.transport ?? (() => ({ connect: async () => ({ close: async () => {} }) })) + const service = createFeishuService(rt, { request, vault, transport }) + const save = async (id = APP, mode = 'socket') => { + await service.endpoint({ operation: 'save', appId: id, appSecret: creds.appSecret, mode, verificationToken: creds.verificationToken, publicUrl: 'https://events.example.com', botId: 'b1' }, owner) + await service.endpoint({ operation: 'allow', appId: id, openId: 'ou_alice' }, owner) + } + return { rt, service, calls, delivered, history, vault, secrets, save, failSend: value => { failSend = value }, failPost: value => { failPost = value } } +} + +test('setup flows, credential validation and a single permission import cover both receiving methods', () => { + assert.equal(setupSteps('socket').length, 6) + assert.equal(setupSteps('http').length, 7) + assert.equal(setupSteps('http')[0], 'Prepare a public event address') + assert.throws(() => validateCredentials({ ...creds, appId: 'cli_nothexcharacters' }, 'socket'), /16 hexadecimal/) + assert.throws(() => validateCredentials({ ...creds, verificationToken: '' }, 'http'), /Verification Token/) + validateCredentials(creds, 'http') + const permissions = JSON.parse(permissionJSON(['calendar', 'docs', 'bitable', 'sheets', 'meeting', 'task'])) + assert.ok(permissions.scopes.tenant.includes('im:message.reactions:write_only')) + assert.ok(permissions.scopes.tenant.includes('wiki:wiki')) + assert.ok(permissions.scopes.tenant.includes('vc:reserve')) + assert.equal(new Set(permissions.scopes.tenant).size, permissions.scopes.tenant.length) +}) + +test('vault encrypts credentials on disk and authenticates their application binding', async t => { + const home = await mkdtemp(join(tmpdir(), 'feishu-vault-')); t.after(() => rm(home, { recursive: true, force: true })) + const vault = createFeishuVault(home) + await vault.set(APP, creds) + const bytes = await readFile(join(home, 'feishu-credentials.json'), 'utf8') + assert.ok(!bytes.includes(creds.appSecret)); assert.ok(!bytes.includes(creds.verificationToken)) + assert.equal((await stat(join(home, 'feishu-credentials.json'))).mode & 0o777, 0o600) + assert.deepEqual(await createFeishuVault(home).get(APP), creds) + assert.equal(canUse({ name: 'FEISHU_APP_SECRET', scope: 'all' }, 'b1'), false) + assert.equal(canUse({ name: 'OTHER_KEY', scope: 'all' }, 'b1'), true) + assert.equal(canUse({ name: 'FEISHU_CUSTOM_USER_KEY', scope: 'all' }, 'b1'), true) + await vault.set(APP, undefined); assert.equal(await vault.get(APP), undefined) +}) + +test('switching methods retains app, sender list, identity, Bot and conversation handle, but deletes token', async () => { + const r = rig(); await r.save(APP, 'http') + await r.service.endpoint({ operation: 'identity', appId: APP, openId: 'ou_alice', memberId: 'bob' }, owner) + await r.service.endpoint({ operation: 'save', appId: APP, mode: 'socket' }, owner) + assert.equal(Object.keys(r.service.data().apps).length, 1) + assert.equal((await r.vault.get(APP)).verificationToken, undefined) + assert.deepEqual(r.service.appOf(APP).allowed, ['ou_alice']) + assert.equal(r.service.appOf(APP).botId, 'b1') + assert.equal(r.service.identity(APP, 'ou_alice').memberId, 'bob') + await assert.rejects(r.service.receive(APP, event(), 'http'), /Receiving method changed/) + const display = JSON.stringify(r.service.view(owner)) + assert.ok(!display.includes(creds.appSecret)); assert.ok(!display.includes(creds.verificationToken)) +}) + +test('persisted inbox deduplicates concurrent and restarted deliveries and routes replies to their thread', async () => { + const r = rig(); await r.save() + await Promise.all([r.service.receive(APP, event(), 'socket'), r.service.receive(APP, event(), 'socket')]) + await until(() => r.delivered.length === 1) + assert.equal(r.delivered[0].toId, 'b1'); assert.equal(r.delivered[0].feishu.rootId, 'om_root') + assert.equal(r.history[0].handle, `feishu:oc_group`) + const restarted = rig(structuredClone(r.rt.state)); await restarted.vault.set(APP, await r.vault.get(APP)) + assert.equal((await restarted.service.receive(APP, event(), 'socket')).duplicate, true) + assert.equal(restarted.delivered.length, 0) + await r.service.complete(r.delivered[0].feishu, '**answer**') + const reply = r.calls.find(c => c.path.endsWith('/om_root/reply')) + assert.ok(reply); assert.equal(reply.body.reply_in_thread, true) + assert.equal(reply.body.msg_type, 'post') + assert.ok(r.calls.some(c => c.method === 'DELETE' && c.path.endsWith('/reactions/reaction1'))) +}) + +test('save failure is not acknowledged as a handled event', async () => { + const r = rig(); await r.save() + r.rt.save = async () => { throw new Error('disk full') } + await assert.rejects(r.service.receive(APP, event(), 'socket'), /disk full/) + assert.equal(Object.keys(r.service.data().events).length, 0) + r.rt.save = async () => {} + assert.equal((await r.service.receive(APP, event(), 'socket')).duplicate, false) + await until(() => r.delivered.length === 1) +}) + +test('HTTP verifies token, application, mode and encryption before accepting a challenge or event', async () => { + const r = rig(); await r.save(APP, 'http') + await assert.rejects(r.service.receive(APP, { token: 'wrong', type: 'url_verification', challenge: 'x' }, 'http'), /Verification Token/) + assert.deepEqual(await r.service.receive(APP, { token: creds.verificationToken, type: 'url_verification', challenge: 'x' }, 'http'), { challenge: 'x' }) + await assert.rejects(r.service.receive(APP, { token: creds.verificationToken, encrypt: 'ciphertext' }, 'http'), /Encrypt Key/) + const foreign = event(); foreign.header.app_id = OTHER + await assert.rejects(r.service.receive(APP, foreign, 'http'), /does not match/) + assert.equal(Object.keys(r.service.data().events).length, 0) +}) + +test('event listener exposes only event paths and never console or arbitrary API access', async t => { + const r = rig(); await r.save(APP, 'http') + const server = createFeishuEventServer(r.service) + await new Promise(resolve => server.listen(0, '127.0.0.1', resolve)); t.after(() => server.close()) + const base = `http://127.0.0.1:${server.address().port}` + assert.equal((await fetch(`${base}/api/bot`)).status, 404) + const response = await fetch(`${base}/api/feishu/events/${APP}`, { method: 'POST', body: JSON.stringify({ type: 'url_verification', token: creds.verificationToken, challenge: 'challenge' }) }) + assert.equal(response.status, 200); assert.deepEqual(await response.json(), { challenge: 'challenge' }) +}) + +test('Markdown round trip preserves rich content and thread metadata without fetching external images', () => { + const text = fromPost({ zh_cn: { title: 'Title', content: [[{ tag: 'text', text: 'bold', style: ['bold'] }, { tag: 'a', text: 'link', href: 'https://example.com' }], [{ tag: 'code_block', language: 'js', text: 'x()' }], [{ tag: 'hr' }]] } }) + assert.match(text, /\*\*bold\*\*/); assert.match(text, /\[link\]/); assert.match(text, /```js/); assert.match(text, /---/) + const m = event('rich', { message_type: 'post', content: JSON.stringify({ zh_cn: { content: [[{ tag: 'text', text: 'hello' }, { tag: 'img', image_key: 'fixture-image' }]] } }) }) + const read = readMessage(m) + assert.equal(read.text, 'hello'); assert.equal(read.files.length, 1); assert.equal(read.rootId, 'om_root') + assert.match(markdown('# Title\n![pic](https://example.com/x.png)\nall'), /^#### Title/) + assert.ok(!markdown('').includes('')) + assert.equal(markdown('See [notes](/files/1) and [site](https://example.com)'), 'See notes and [site](https://example.com)', 'a console-relative link keeps only its text') + assert.equal(markdown('```mermaid\ngraph TD\n```'), '```mermaid\ngraph TD\n```', 'Mermaid stays code, with no console link') + assert.equal(markdown('Ask @Bob', new Map([['Bob', 'ou_bob']])), 'Ask Bob') +}) + +test('rich-post rejection and size overflow fall back to plain text, leaving technical details in diagnostics', async () => { + const r = rig(); await r.save(); r.failPost(true) + await r.service.sendText(APP, { chatId: 'chat' }, '**answer**', 'uuid1') + assert.deepEqual(r.calls.filter(c => c.body?.msg_type).map(c => c.body.msg_type), ['post', 'text']) + await r.service.sendText(APP, { chatId: 'chat' }, 'x'.repeat(MAX_POST + 1), 'uuid2') + assert.equal(r.calls.at(-1).body.msg_type, 'text') + assert.equal(r.service.appOf(APP).diagnostics[0].kind, 'format') +}) + +test('failed sending keeps the Get reaction; explicit retry sends once and only then removes it', async () => { + const r = rig(); await r.save(); await r.service.receive(APP, event(), 'socket'); await until(() => r.delivered.length === 1) + r.failSend(true); await r.service.complete(r.delivered[0].feishu, 'answer') + assert.equal(r.service.data().events[`${APP}:m1`].reactionId, 'reaction1') + assert.ok(!r.calls.some(c => c.method === 'DELETE')) + r.failSend(false); await r.service.endpoint({ operation: 'retry', appId: APP, outboxId: `${APP}:m1` }, owner) + assert.equal(r.service.data().outbox[`${APP}:m1`].status, 'sent') + assert.equal(r.service.data().events[`${APP}:m1`].reactionId, undefined) +}) + +test('cards persist before sending and require the actual linked clicker; replay and foreign app cannot resubmit', async () => { + const r = rig(); await r.save() + const card = await r.service.card(APP, 'b1', { chatId: 'oc_group', rootId: 'om_root' }, { title: 'Question', blocks: [{ type: 'text', text: 'Choose' }, { type: 'input', name: 'comment', label: 'Comment' }], actions: [{ id: 'yes', label: 'Submit' }] }) + const callback = { header: { event_type: 'card.action.trigger', event_id: 'click1' }, event: { operator: { open_id: 'ou_alice' }, context: { open_message_id: 'sent-card', open_chat_id: 'oc_group' }, action: { value: { flybot_card: card.id, action: 'yes', version: 1 }, form_value: { comment: 'hi' } } } } + assert.equal((await r.service.receive(APP, callback, 'socket')).toast.type, 'error') + assert.equal(r.delivered.length, 0) + await r.service.endpoint({ operation: 'identity', appId: APP, openId: 'ou_alice', memberId: 'bob' }, owner) + const response = await r.service.receive(APP, callback, 'socket') + assert.equal(response.toast.content, '已提交') + await until(() => r.delivered.length === 1) + assert.equal(r.service.data().cards[card.id].submissions[0].memberId, 'bob') + assert.match(r.delivered[0].text, /bob/) + assert.deepEqual(await r.service.receive(APP, callback, 'socket'), response) + await delay(10); assert.equal(r.delivered.length, 1) + const rendered = toCard(r.service.data().cards[card.id]) + assert.equal(rendered.body.elements.find(e => e.tag === 'form').elements[0].tag, 'input') + assert.equal(rendered.body.elements.find(e => e.tag === 'form').elements.at(-1).disabled, true) +}) + +test('tool capabilities default off, remain app-specific and are removed with the connection', async () => { + const r = rig(); await r.save(); await r.save(OTHER) + assert.throws(() => r.service.authorizeTool('b1', APP, 'calendar', false), /not granted/) + await r.service.endpoint({ operation: 'grant', appId: APP, botId: 'b1', product: 'calendar', mode: 'read' }, owner) + assert.equal(r.service.authorizeTool('b1', APP, 'calendar', false), 'read') + assert.throws(() => r.service.authorizeTool('b1', APP, 'calendar', true), /not granted/) + assert.throws(() => r.service.authorizeTool('b1', OTHER, 'calendar', false), /not granted/) + await assert.rejects(r.service.endpoint({ operation: 'grant', appId: APP, botId: 'b1', product: 'calendar', mode: 'write' }, { memberId: 'bob' }), /app owner/) + await r.service.endpoint({ operation: 'delete', appId: APP }, owner) + assert.equal(r.service.data().grants[APP], undefined); assert.equal(await r.vault.get(APP), undefined) +}) + +test('write gate requests native approval before network access; meeting host must come from linked request context', async () => { + const r = rig(); await r.save() + const tools = new Map(), listeners = new Map() + r.rt.ctx = { tools: { register: tool => tools.set(tool.name, tool) }, on: (name, listener) => listeners.set(name, listener) } + r.rt.whoseAgent = () => ({ bot: r.rt.state.bots.b1 }) + r.rt.liveOf = () => ({ info: { feishu: { appId: APP, openId: 'ou_alice' } } }) + installFeishuTools(r.rt, r.service) + const args = { appId: APP, operation: 'calendar_create', parameters: { body: { summary: 'Team' } } }, exec = { name: 'feishu_tool', arguments: args, agent: { id: 'b1' } } + await r.service.endpoint({ operation: 'grant', appId: APP, botId: 'b1', product: 'calendar', mode: 'ask' }, owner) + const before = r.calls.length + assert.equal((await listeners.get('tools/pre-execute')(exec, async () => ({ kind: 'allow' }))).kind, 'ask') + assert.equal(r.calls.length, before) + await r.service.endpoint({ operation: 'grant', appId: APP, botId: 'b1', product: 'meeting', mode: 'write' }, owner) + const booking = { appId: APP, operation: 'meeting_reserve', parameters: { body: { owner_id: 'forged-owner', end_time: '2000000000' } } } + await assert.rejects(tools.get('feishu_tool').execute(booking, exec), /没有关联/) + await r.service.endpoint({ operation: 'identity', appId: APP, openId: 'ou_alice', memberId: 'bob' }, owner) + await tools.get('feishu_tool').execute(booking, exec) + assert.equal(r.calls.at(-1).body.owner_id, 'ou_alice') + assert.deepEqual(new Set(Object.values(FEISHU_OPERATIONS).map(op => op[0])), new Set(['calendar', 'docs', 'bitable', 'sheets', 'meeting', 'task'])) + assert.equal(operationWrites(FEISHU_OPERATIONS.bitable_records), false) +}) + +test('multiple requests queue for one Bot and do not clear a later request reaction', async () => { + const r = rig(); await r.save() + await r.service.receive(APP, event('m1'), 'socket'); await until(() => r.delivered.length === 1) + await r.service.receive(APP, event('m2'), 'socket'); await delay(15) + assert.equal(r.delivered.length, 1) + await r.service.complete(r.delivered[0].feishu, 'first answer') + await until(() => r.delivered.length === 2) + assert.equal(r.delivered[1].feishu.eventId, `${APP}:m2`) + assert.ok(!r.calls.some(c => c.method === 'DELETE' && c.path.includes('/m2/'))) +}) + +test('meetings use the actual linked human across companies and refuse ambiguous or missing accounts', async () => { + const r = rig(); await r.save(); await r.save(OTHER) + const tools = new Map() + r.rt.ctx = { tools: { register: tool => tools.set(tool.name, tool) }, on() {} } + r.rt.whoseAgent = () => ({ bot: r.rt.state.bots.b1 }) + let live = { info: { feishu: { appId: APP, openId: 'ou_alice' } }, requesterMemberId: 'owner-1' } + r.rt.liveOf = () => live + installFeishuTools(r.rt, r.service) + for (const [appId, openId] of [[APP, 'ou_alice'], [OTHER, 'ou_bob_other']]) await r.service.endpoint({ operation: 'identity', appId, openId, memberId: 'bob' }, owner) + await r.service.endpoint({ operation: 'grant', appId: OTHER, botId: 'b1', product: 'meeting', mode: 'write' }, owner) + const booking = { appId: OTHER, operation: 'meeting_reserve', parameters: { body: { owner_id: 'forged', end_time: '2000000000' } } }, exec = { agent: { id: 'b1' } } + await tools.get('feishu_tool').execute(booking, exec) + assert.equal(r.calls.at(-1).body.owner_id, 'ou_bob_other') + live = { requesterMemberId: 'bob' } + await tools.get('feishu_tool').execute(booking, exec) + assert.equal(r.calls.at(-1).body.owner_id, 'ou_bob_other') + live = { info: { feishu: { appId: APP, openId: 'ou_unlinked' } }, requesterMemberId: 'bob' } + await assert.rejects(tools.get('feishu_tool').execute(booking, exec), /没有关联/) + live = { requesterMemberId: 'bob' } + await r.service.endpoint({ operation: 'identity', appId: OTHER, openId: 'ou_second', memberId: 'bob' }, owner) + await assert.rejects(tools.get('feishu_tool').execute(booking, exec), /没有关联/) +}) + +test('native delivery deduplicates a new event but permits its interrupted turn to resume', async () => { + const messages = [], meta = { eventId: 'event', appId: APP, chatId: 'oc_chat' } + const agent = { session: { surface: { nodes: [1] }, eventAt: () => ({ data: { source: { exchangeId: 'event' } } }) }, followup: message => messages.push(message) } + const rt = { state: {}, ctx: { sessionController: { resolveAgent: async () => ({ agent }) }, sessions: { flush: async () => {} } }, botOf: id => id ? { id } : undefined, chatOf: id => id, roomOf() {}, ensureCapabilities: async () => {}, hideBlockingQuestion() {} } + installDelivery(rt) + const args = { toId: 'b1', role: 'feishu', exchangeId: 'event', feishu: meta, origin: 'other', text: 'question' } + await rt.deliver(args); assert.equal(messages.length, 0) + await rt.deliver({ ...args, resumed: true }); assert.equal(messages.length, 1) + assert.deepEqual(messages[0].source.feishu, meta) +}) + +test('restart pickup retains the Feishu target and suppresses cancelled-handler recovery', async t => { + const home = await mkdtemp(join(tmpdir(), 'feishu-resume-')), meta = { eventId: 'event', appId: APP, chatId: 'oc_chat', rootId: 'om_thread', openId: 'ou_alice' } + await writeFile(join(home, 'inflight.json'), JSON.stringify({ turns: { b1: { botId: 'b1', trigger: { role: 'feishu', exchangeId: 'event', feishu: meta } }, b2: { botId: 'b2', trigger: { role: 'feishu', feishu: { ...meta, eventId: 'cancelled' } } } }, queued: {} })) + const ctx = fakeContext(), deliveries = [] + const rt = { home, ctx, state: { feishu: { apps: { [APP]: {} }, events: { event: { botId: 'b1', status: 'admitted' }, cancelled: { botId: 'b2', status: 'cancelled' } } } }, live: new Map(), readOnly() {}, load: async () => {}, botOf: id => ({ id }), chatOf: id => id, resolveAgent: async () => ({}), deliver: async args => deliveries.push(args), warn() {} } + t.mock.timers.enable({ apis: ['setTimeout'] }) + installResume(rt) + t.after(async () => { await ctx.dispose(); await rm(home, { recursive: true, force: true }) }) + t.mock.timers.tick(3000) + for (let i = 0; i < 1000 && !deliveries.length; i++) await new Promise(resolve => setImmediate(resolve)) + assert.equal(deliveries.length, 1) + assert.equal(deliveries[0].role, 'feishu'); assert.equal(deliveries[0].resumed, true) + assert.deepEqual(deliveries[0].feishu, meta) +}) + +test('native turn completion routes the original Feishu metadata to its durable outbox', async t => { + const home = await mkdtemp(join(tmpdir(), 'feishu-turn-')) + const ctx = fakeContext(), rt = createRuntime(ctx, { home }) + await rt.load() + rt.state.bots.b1 = { id: 'b1', sessionId: 'b1', name: 'Chief', ownerId: 'owner-1' } + rt.chatOwners.set('b1', 'b1') + const completed = [], meta = { eventId: 'fixture-event', appId: APP, chatId: 'oc_chat', rootId: 'om_root', openId: 'ou_alice' } + rt.feishu = { complete: async (...args) => completed.push(args) } + t.after(async () => { await ctx.dispose(); await rm(home, { recursive: true, force: true, maxRetries: 5, retryDelay: 20 }) }) + const emit = async (type, data) => { for (const listener of ctx.listeners.get('session/event') ?? []) await listener({ id: 'b1' }, { type, data }) } + await emit('turn/start', { turn: 1 }) + await emit('user/message', { source: { kind: 'user', authorKind: 'human', authorId: 'bob' }, content: [{ type: 'text', text: 'native question' }] }) + assert.equal(rt.liveOf('b1').requesterMemberId, 'bob') + await emit('turn/start', { turn: 2 }) + assert.equal(rt.liveOf('b1').requesterMemberId, undefined) + await emit('user/message', { source: { kind: SOURCE_KIND, form: 'relay', role: 'feishu', exchangeId: 'fixture-event', feishu: meta, origin: 'other', hop: 0 }, content: [{ type: 'text', text: 'question' }] }) + await emit('assistant/message', { message: { content: [{ type: 'text', text: 'answer' }] } }) + await emit('turn/end', { reason: { kind: 'completed' } }) + assert.equal(completed.length, 1) + assert.deepEqual(completed[0][0], meta) + assert.equal(completed[0][1], 'answer') +}) + +test('calendar group sharing preserves existing owners and removes only its own unchanged ACL additions', async () => { + const state = {}, calls = [], acl = [{ acl_id: 'owner-acl', role: 'owner', scope: { user_id: 'ou_owner' } }] + const api = { async call(method, path, options = {}) { + calls.push({ method, path, body: options.body }) + if (path.endsWith('/members')) return { items: [{ member_id: 'ou_owner' }, { member_id: 'ou_joiner' }] } + if (method === 'GET') return { acls: structuredClone(acl) } + if (method === 'POST') { const row = { acl_id: 'new-acl', ...options.body }; acl.push(row); return row } + return {} + } } + const service = { data: () => state, api: () => api, commit: async fn => fn(), diagnose: async () => {}, authorizeTool() {} } + const calendars = createFeishuCalendars(service) + const result = await calendars.share(APP, 'b1', { calendar_id: 'calendar', chat_id: 'chat', role: 'reader' }) + assert.equal(result.members, 2) + assert.equal(calls.filter(c => c.method === 'POST').length, 1) + assert.equal(calls.find(c => c.method === 'POST').body.scope.user_id, 'ou_joiner') + await calendars.share(APP, 'b1', { calendar_id: 'calendar', chat_id: 'chat', stop: true }) + assert.equal(calls.filter(c => c.method === 'DELETE').length, 1) + assert.ok(calls.find(c => c.method === 'DELETE').path.endsWith('/new-acl')) + assert.deepEqual(state.calendarShares, {}) +}) + +test('revocation while obtaining a tenant token prevents the pending product request', async () => { + let release, revoked = false + const requests = [] + const api = createFeishuApi(async () => creds, async url => { + requests.push(String(url)) + return new Promise(resolve => { release = () => resolve(Response.json({ code: 0, tenant_access_token: 'fixture-token' })) }) + }) + const pending = api.call('POST', 'calendar/v4/calendars', { body: { summary: 'Team' }, authorize: () => { if (revoked) throw new Error('grant revoked') } }) + await until(() => !!release) + revoked = true; release() + await assert.rejects(pending, /grant revoked/) + assert.equal(requests.length, 1) + assert.ok(requests[0].includes('/auth/v3/')) +}) + +test('changing a handler cancels only matching Feishu work and suppresses its late answer', async () => { + const r = rig(); await r.save() + r.rt.state.bots.b2 = { id: 'b2', ownerId: 'owner-1', name: 'Other Bot' } + await r.service.receive(APP, event(), 'socket'); await until(() => r.delivered.length === 1) + const meta = r.delivered[0].feishu, cancellations = [] + r.rt.liveOf = () => ({ turn: 1, info: { feishu: meta } }) + r.rt.resolveAgent = async () => ({ cancel: reason => cancellations.push(reason) }) + await r.service.endpoint({ operation: 'configure', appId: APP, botId: 'b2', chatId: 'oc_group' }, owner) + assert.equal(cancellations.length, 1) + assert.equal(r.service.data().events[meta.eventId].status, 'cancelled') + await r.service.complete(meta, 'late answer') + assert.equal(r.service.data().outbox[meta.eventId], undefined) +}) + +test('all six tool products use platform-held credentials and their named API operations', async () => { + const r = rig(); await r.save() + const tools = new Map() + r.rt.ctx = { tools: { register: tool => tools.set(tool.name, tool) }, on() {} } + r.rt.whoseAgent = () => ({ bot: r.rt.state.bots.b1 }) + r.rt.liveOf = () => ({ info: { feishu: { appId: APP, openId: 'ou_alice' } } }) + installFeishuTools(r.rt, r.service) + await r.service.endpoint({ operation: 'identity', appId: APP, openId: 'ou_alice', memberId: 'bob' }, owner) + const cases = [ + ['calendar', 'calendar_list', {}, '/calendar/v4/calendars'], + ['docs', 'docs_read', { document_id: 'doc' }, '/docx/v1/documents/doc/raw_content'], + ['bitable', 'bitable_records', { app_token: 'base', table_id: 'table', body: {} }, '/bitable/v1/apps/base/tables/table/records/search'], + ['sheets', 'sheets_read', { spreadsheet_token: 'sheet', range: 'sheet1!A1:B2' }, '/sheets/v2/spreadsheets/sheet/values/'], + ['meeting', 'meeting_reserve', { body: { end_time: '2000000000' } }, '/vc/v1/reserves/apply'], + ['task', 'task_create', { body: { summary: 'Work' }, query: { user_id_type: 'open_id' } }, '/task/v2/tasks'], + ] + for (const [product, operation, parameters, path] of cases) { + await r.service.endpoint({ operation: 'grant', appId: APP, botId: 'b1', product, mode: 'write' }, owner) + const result = await tools.get('feishu_tool').execute({ appId: APP, operation, parameters }, { agent: { id: 'b1' } }) + assert.ok(r.calls.at(-1).path.includes(path), operation) + assert.ok(!result.includes(creds.appSecret)) + assert.ok(!result.includes('fixture-tenant-token')) + } +}) + +test('rich cards keep tables outside the final form and include all supported block types', () => { + const record = { id: 'card', version: 1, card: { blocks: [ + { type: 'text', text: '**text**' }, { type: 'fields', items: [{ label: 'Key', value: 'Value' }] }, + { type: 'list', items: ['Item'] }, { type: 'progress', value: 50 }, { type: 'chart', spec: { type: 'bar', data: { values: [] } } }, + { type: 'pages', pages: [{ title: 'Table page', blocks: [{ type: 'table', columns: ['Column'], rows: [['Value']] }] }, { title: 'Text page', blocks: [{ type: 'text', text: 'Page' }] }] }, + { type: 'input', name: 'answer', label: 'Answer' }, { type: 'applet', description: 'Interactive explanation' }, + ], actions: [{ id: 'submit', label: 'Submit' }] } } + const card = toCard(record), elements = card.body.elements + assert.equal(card.schema, '2.0') + assert.ok(elements.some(e => e.tag === 'table')) + assert.ok(elements.some(e => e.tag === 'chart')) + assert.ok(elements.some(e => e.tag === 'collapsible_panel')) + assert.equal(elements.at(-1).tag, 'form') + assert.ok(elements.at(-1).elements.every(e => ['input', 'button'].includes(e.tag))) +}) + +test('a long connection without the SDK installed says so instead of blaming the network', async () => { + // The Docker image once linked ds-bot without its dependencies: credentials and network were + // fine, but the diagnosis sent the owner to check them. + const missing = (credentials) => createFeishuTransport({ credentials, importSdk: async () => { throw new Error(`Cannot find package '${SDK_PACKAGE}' imported from core`) } }) + const r = rig(undefined, { transport: ({ credentials }) => missing(credentials) }) + await r.save() + await until(() => r.service.appOf(APP).diagnostics?.length) + const [first] = r.service.appOf(APP).diagnostics + assert.equal(first.kind, 'connection') + assert.match(first.message, /long-connection SDK is not installed/) + assert.doesNotMatch(first.message, /open\.feishu\.cn|credentials/) + + const offline = rig(undefined, { transport: () => ({ connect: async () => { throw new Error('getaddrinfo ENOTFOUND open.feishu.cn') } }) }) + await offline.save() + await until(() => offline.service.appOf(APP).diagnostics?.length) + assert.match(offline.service.appOf(APP).diagnostics[0].message, /^Could not connect to open\.feishu\.cn/, 'other dial failures keep the network advice') +}) + +test('the connection keeps no console address: save and configure ignore one', async () => { + const r = rig(); await r.save() + await r.service.endpoint({ operation: 'save', appId: APP, mode: 'socket', consoleUrl: 'https://flybot.example.com' }, owner) + await r.service.endpoint({ operation: 'configure', appId: APP, consoleUrl: 'https://flybot.example.com' }, owner) + assert.equal(r.service.appOf(APP).consoleUrl, undefined) +}) + +test('feishu_file uploads within the Feishu limits and refuses the rest without sending a console link', async () => { + const r = rig(); await r.save() + const tools = new Map() + const small = { attachmentId: 'a-small', name: 'notes.txt', bytes: 5 } + const huge = { attachmentId: 'a-huge', name: 'video.mov', bytes: 31 * 1024 * 1024 } + const bigImage = { attachmentId: 'a-image', name: 'scan.png', mediaType: 'image/png', bytes: 11 * 1024 * 1024 } + r.rt.ctx = { tools: { register: tool => tools.set(tool.name, tool) }, on() {}, attachments: { + async* readFileStream() { yield Buffer.from('hello') }, + readImage: async () => assert.fail('an oversized image is not read'), + } } + r.rt.whoseAgent = () => ({ bot: r.rt.state.bots.b1 }) + r.rt.liveOf = () => ({ info: { feishu: { appId: APP, openId: 'ou_alice', chatId: 'oc_chat' } } }) + installFeishuTools(r.rt, r.service) + const session = { surface: { nodes: [1] }, eventAt: () => ({ data: { message: { content: [small, huge, bigImage].map(attachment => ({ type: 'file', attachment })) } } }) } + const send = attachmentId => tools.get('feishu_file').execute({ attachmentId }, { agent: { id: 'b1', session }, callId: `call-${attachmentId}` }) + + assert.equal(await send('a-small'), 'Sent') + assert.ok(r.calls.some(c => c.path.endsWith('/im/v1/files'))) + assert.equal(r.calls.filter(c => c.body?.msg_type === 'file').length, 1) + await assert.rejects(send('a-huge'), /files up to 30 MB/) + await assert.rejects(send('a-image'), /images up to 10 MB/) + r.failSend(true) + await assert.rejects(send('a-small'), /did not accept the attachment/) + assert.equal(r.service.appOf(APP).diagnostics.at(-1).kind, 'attachment-send') + assert.ok(!r.calls.some(c => ['post', 'text'].includes(c.body?.msg_type)), 'no fallback message with a link is sent') +}) diff --git a/patches/ds-bot/files/test/feishu-setup.test.js b/patches/ds-bot/files/test/feishu-setup.test.js new file mode 100644 index 000000000..625b274d5 --- /dev/null +++ b/patches/ds-bot/files/test/feishu-setup.test.js @@ -0,0 +1,87 @@ +import assert from 'node:assert/strict' +import { test } from 'node:test' +import { createRequire } from 'node:module' +import { readFile } from 'node:fs/promises' +import { join } from 'node:path' +import { setTimeout as delay } from 'node:timers/promises' +const { JSDOM } = createRequire(join(process.env.DSH_HARNESS ?? join(import.meta.dirname, '../dev/harness'), 'package.json'))('jsdom') + +async function setup(t, saved = [], language) { + const dom = new JSDOM('

', { url: 'http://localhost/', runScripts: 'outside-only', pretendToBeVisual: true }) + dom.window.eval(await readFile(join(import.meta.dirname, '../workbench-native.js'), 'utf8')) + const apps = saved, calls = [] + const api = async body => { + calls.push(body) + if (body.operation === 'save') { + let app = apps.find(a => a.id === body.appId) + if (!app) { app = { id: body.appId, name: 'Feishu', allowed: [], identities: [], grants: {} }; apps.push(app) } + Object.assign(app, { mode: body.mode, step: body.step, publicUrl: body.publicUrl, connection: 'connecting' }) + return { apps: structuredClone(apps), test: { ok: false, error: 'Publish the app first' } } + } + if (body.operation === 'configure') Object.assign(apps.find(a => a.id === body.appId), body) + return { apps: structuredClone(apps), members: [{ id: 'owner-1', name: 'Owner' }] } + } + const root = dom.window.document.getElementById('root') + let unmount = dom.window.FlyBotNativeConversation.mountNativeFeishu(root, { actions: { feishu: api }, roster: { bots: [{ id: 'b1', name: 'Chief' }] }, language, onClose() {} }) + t.after(() => { unmount?.(); dom.window.close() }) + for (let i = 0; i < 100; i++) { if (calls.length && (!saved.length || root.querySelector('select')?.value === saved[0].id)) break; await delay(10) } + await delay(20) + const button = title => [...root.querySelectorAll('button')].find(b => (b.getAttribute('aria-label') ?? b.textContent) === title) + const click = async title => { const b = button(title); assert.ok(b, title); assert.equal(b.disabled, false, title); b.click(); await delay(30) } + const input = async (name, value) => { + const target = root.querySelector(`input[aria-label="${name}"]`) + assert.ok(target, name) + Object.getOwnPropertyDescriptor(dom.window.HTMLInputElement.prototype, 'value').set.call(target, value) + target.dispatchEvent(new dom.window.Event('input', { bubbles: true })); target.dispatchEvent(new dom.window.Event('change', { bubbles: true })); await delay(10) + } + return { dom, root, apps, calls, button, click, input, unmount: () => { unmount(); unmount = undefined } } +} + +test('mounted guide defaults to six steps and validates credentials before saving', async t => { + const ui = await setup(t) + assert.equal(ui.root.querySelectorAll('ol > li').length, 6) + assert.match(ui.root.textContent, /im:message.reactions:write_only/) + await ui.click('Next') + await ui.input('App ID', 'cli_invalid') + await ui.input('App Secret', 'fixture-secret') + assert.equal(ui.button('Save and test connection').disabled, true) + await ui.input('App ID', 'cli_0123456789abcdef') + await ui.click('Save and test connection') + assert.match(ui.root.textContent, /Wait until connected/) + assert.ok(!ui.root.textContent.includes('Now set Events and callbacks')) + assert.ok(!ui.root.textContent.includes('fixture-secret')) + assert.ok(ui.calls.some(c => c.operation === 'save' && c.mode === 'socket')) +}) + +test('standalone guide reuses Chinese setup copy and keeps credential errors readable', async t => { + const ui = await setup(t, [], 'zh-CN') + assert.match(ui.root.textContent, /在飞书开放平台创建应用/) + assert.equal(ui.root.querySelector('button[aria-label="长连接(推荐,不需要公网地址)"]').getAttribute('aria-pressed'), 'true') + await ui.click('下一步') + await ui.input('App ID', 'cli_invalid') + assert.match(ui.root.textContent, /App ID 必须是 cli_ 加 16 位十六进制字符/) + assert.equal(ui.button('保存并测试连接').disabled, true) + assert.ok(!ui.root.textContent.includes('Enter credentials and test connection')) +}) + +test('mounted HTTP guide requires a public address, resumes saved progress and switches the same app', async t => { + const id = 'cli_0123456789abcdef' + const ui = await setup(t, [{ id, mode: 'socket', step: 2, botId: 'b1', connection: 'ready', allowed: [], grants: {}, identities: [] }]) + assert.match(ui.root.querySelector('h4').textContent, /Subscribe to message/) + assert.match(ui.root.textContent, /Now set Events and callbacks/) + await ui.click('Event address (HTTP, needs a public address)') + assert.equal(ui.root.querySelectorAll('ol > li').length, 7) + assert.equal(ui.button('Next').disabled, true) + await ui.input('Public HTTPS event origin', 'http://localhost') + assert.equal(ui.button('Next').disabled, true) + await ui.input('Public HTTPS event origin', 'https://events.example.com') + await ui.click('Next'); await ui.click('Next') + assert.equal(ui.root.querySelector('input[aria-label="App ID"]').disabled, true) + await ui.input('Verification Token', 'fixture-token') + await ui.click('Save and test connection') + assert.equal(ui.apps.length, 1) + assert.equal(ui.apps[0].id, id) + assert.equal(ui.apps[0].mode, 'http') + assert.match(ui.root.textContent, new RegExp(`/api/feishu/events/${id}`)) + assert.ok(!ui.root.textContent.includes('fixture-token')) +}) diff --git a/patches/ds-bot/files/test/feishu.test.js b/patches/ds-bot/files/test/feishu.test.js index c0662ce91..6042536ba 100644 --- a/patches/ds-bot/files/test/feishu.test.js +++ b/patches/ds-bot/files/test/feishu.test.js @@ -235,9 +235,9 @@ const all = (node, out = []) => { if (node && typeof node === 'object') { if (Ar const text = node => (node === null || node === undefined ? '' : Array.isArray(node) ? node.map(text).join('') : typeof node === 'object' ? text(node.props.children) : String(node)) const actions = { connectorConnect: async () => {}, connectorDisconnect: async () => {}, connectorRetry: async () => {}, connectorSend: async () => {} } -const renderRow = (connector, given = []) => { +const renderRow = (connector, given = [], overrides = {}) => { states = [...given] - const tree = expand(h(ConnectorsPage, { roster: { connectors: [connector], bots: [], self: { memberId: 'me' } }, actions })) + const tree = expand(h(ConnectorsPage, { roster: { connectors: [connector], bots: [], self: { memberId: 'me' } }, actions: { ...actions, ...overrides } })) states = [] return tree } @@ -245,6 +245,17 @@ const renderRow = (connector, given = []) => { const FEISHU_OFF = { id: 'feishu', name: 'Feishu', state: 'off', kind: 'channel', account: null, mode: null, modes: FEISHU_MODES, allowed: [] } const FEISHU_APP = { ...FEISHU_OFF, state: 'ready', mode: 'app', allowed: [{ openId: 'ou_owner_1', name: 'Owner' }], inbound: { state: 'ready', refusedSenders: [{ openId: 'ou_stranger_1', name: 'Mallory', at: '2026-10-26T10:00:00.000Z' }] } } +test('guided Feishu uses one Connect entry before and after connecting', () => { + for (const connector of [FEISHU_OFF, { ...FEISHU_APP, managed: true }]) { + const tree = renderRow(connector, [], { feishu: async () => ({ apps: [] }) }) + const labels = all(tree).filter(node => node.type === 'button').map(text) + assert.equal(labels.filter(label => label === 'Connect').length, 1) + assert.ok(!labels.includes('Setup guide')) + const entry = all(tree).find(node => node.type === 'button' && text(node) === 'Connect') + assert.equal(entry.props['aria-expanded'], false) + } +}) + test('#1266: the Feishu row offers both ways to connect, and the webhook one links to Feishu', () => { // form open, so the two mode buttons, the field and the link are drawn const tree = renderRow(FEISHU_OFF, [true, false, '', [], false, false, null]) diff --git a/patches/ds-bot/files/test/run-bot-tools.test.js b/patches/ds-bot/files/test/run-bot-tools.test.js index 9c1d8a238..985affc25 100644 --- a/patches/ds-bot/files/test/run-bot-tools.test.js +++ b/patches/ds-bot/files/test/run-bot-tools.test.js @@ -111,8 +111,8 @@ test('the constant refuses every name at the guard and the approval seam, with n const { fb, home, callAsDsh, ask, refusalOf, received, saved, stop } = await start() t.after(stop) const id = await runBot(fb, []) - assert.equal(EPHEMERAL_DENIED_TOOLS.length, 32) - assert.equal(new Set(EPHEMERAL_DENIED_TOOLS).size, 32, 'no duplicate name') + assert.equal(EPHEMERAL_DENIED_TOOLS.length, 36) + assert.equal(new Set(EPHEMERAL_DENIED_TOOLS).size, 36, 'no duplicate name') assert.equal(new Set(EPHEMERAL_ALLOWED_TOOLS).size, EPHEMERAL_ALLOWED_TOOLS.length) assert.deepEqual(EPHEMERAL_DENIED_TOOLS.filter(name => ALLOWED.has(name)), [], 'a name is in one list only') diff --git a/patches/ds-bot/files/workbench-native.css b/patches/ds-bot/files/workbench-native.css index 80ce0d0bc..70a7c1be3 100644 --- a/patches/ds-bot/files/workbench-native.css +++ b/patches/ds-bot/files/workbench-native.css @@ -572,6 +572,62 @@ button.bt-set-row:hover{background:var(--bt-hover)} .bt-connector[data-state=error] .bt-connector-status{color:#e02135;white-space:normal} .bt-connector-actions{flex:none;display:flex;gap:6px} .bt-connector-form{display:flex;flex-direction:column;gap:8px;padding-left:48px;animation:bt-q-in 420ms linear(0.0000,0.0510,0.1692,0.3153,0.4639,0.6001,0.7163,0.8102,0.8823,0.9350,0.9717,0.9955,1.0098,1.0171,1.0198,1.0195,1.0175,1.0147,1.0117,1.0089,1.0064,1.0044,1.0028,1.0016,1.0000),bt-veil-in .2s ease-out} +.bt-feishu-setup{container-type:inline-size;min-width:0;width:100%;max-width:960px;box-sizing:border-box;padding:20px;border:1px solid var(--bt-line);border-radius:14px;background:var(--bt-card);color:var(--bt-ink);font:13px/1.6 ui-sans-serif,system-ui,sans-serif;overflow-wrap:anywhere;animation:bt-veil-in .16s ease-out} +.bt-feishu-setup *{box-sizing:border-box} +.bt-feishu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--bt-line)} +.bt-feishu-header h3{padding:0;margin:0 0 4px;font-size:17px;line-height:24px;font-weight:650;letter-spacing:-.02em} +.bt-feishu-header>.bt-input{width:220px;max-width:45%;flex:none} +.bt-feishu-setup .bt-set-hint{margin:0;font-size:12px;line-height:1.7;color:var(--bt-ink-2)} +.bt-feishu-body{display:flex;flex-direction:column;gap:22px;padding-top:18px} +.bt-feishu-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px} +.bt-feishu-modes button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:11px 14px;border:1px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color .12s,border-color .12s} +.bt-feishu-modes button:hover{background:var(--bt-hover)} +.bt-feishu-modes button[aria-pressed=true]{border-color:var(--bt-accent);background:color-mix(in srgb,var(--bt-accent) 6%,var(--bt-card));box-shadow:0 0 0 1px var(--bt-accent)} +.bt-feishu-modes strong{font-size:13px;font-weight:600}.bt-feishu-modes small{color:var(--bt-ink-2);font-size:11px} +.bt-feishu-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:start} +.bt-feishu-progress{min-width:0}.bt-feishu-progress ol{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0} +.bt-feishu-progress li{min-width:0}.bt-feishu-progress button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-2);font:inherit;font-size:12px;line-height:19px;text-align:left;cursor:pointer} +.bt-feishu-progress button:hover:not(:disabled){background:var(--bt-hover)} +.bt-feishu-progress button[aria-current=step]{background:color-mix(in srgb,var(--bt-accent) 7%,var(--bt-card));color:var(--bt-accent);font-weight:600} +.bt-feishu-progress button:disabled{opacity:.48;cursor:default} +.bt-feishu-step-number{display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border:1px solid var(--bt-line-2);border-radius:50%;font-size:11px;font-variant-numeric:tabular-nums} +.bt-feishu-progress [aria-current=step] .bt-feishu-step-number{background:var(--bt-accent);border-color:var(--bt-accent);color:white} +.bt-feishu-progress [data-done=true] .bt-feishu-step-number{border-color:transparent;background:var(--bt-hover);color:var(--bt-ink-2)} +.bt-feishu-step{min-width:0}.bt-feishu-step-heading{margin-bottom:16px}.bt-feishu-eyebrow{display:block;margin-bottom:4px;color:var(--bt-ink-2);font-size:11px} +.bt-feishu-step h4{margin:0;font-size:16px;line-height:24px;font-weight:650;letter-spacing:-.02em} +.bt-feishu-step-content>div{display:flex;flex-direction:column;align-items:stretch;gap:14px} +.bt-feishu-external{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;align-self:flex-start;border:1px solid var(--bt-line-2);border-radius:8px;padding:7px 11px;color:var(--bt-ink);font-size:12px;font-weight:500;text-decoration:none} +.bt-feishu-external:hover{background:var(--bt-hover)}.bt-feishu-external span{color:var(--bt-ink-2)} +.bt-feishu-permissions{display:flex;flex-direction:column;gap:10px;padding-top:5px}.bt-feishu-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.bt-feishu-section-head strong{font-size:13px;font-weight:600} +.bt-feishu-optional{color:var(--bt-ink-2);font-size:11px}.bt-feishu-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px} +.bt-feishu-permission{display:flex;align-items:center;gap:9px;min-width:0;min-height:42px;margin:0;padding:9px 11px;border:1px solid var(--bt-line);border-radius:9px;background:var(--bt-card);font-size:12px;line-height:20px;cursor:pointer;transition:background-color .12s,border-color .12s} +.bt-feishu-permission:hover{border-color:var(--bt-line-2);background:var(--bt-hover)} +.bt-feishu-permission[data-checked=true]{border-color:color-mix(in srgb,var(--bt-accent) 55%,var(--bt-line));background:color-mix(in srgb,var(--bt-accent) 5%,var(--bt-card))} +.bt-feishu-setup input[type=checkbox]{appearance:auto;flex:none;width:15px;height:15px;min-height:0;margin:0;padding:0;border-radius:4px;accent-color:var(--bt-accent);cursor:pointer} +.bt-feishu-permission-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px} +.bt-feishu-setup .bt-feishu-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:6px;flex:none;width:auto;min-height:34px;height:auto;margin:0;padding:6px 12px;border:1px solid var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:12px;font-weight:500;cursor:pointer;box-shadow:none} +.bt-feishu-setup .bt-feishu-button:hover:not(:disabled){background:var(--bt-hover)}.bt-feishu-setup .bt-feishu-button:disabled{opacity:.4;cursor:default} +.bt-feishu-setup .bt-feishu-primary{background:var(--bt-accent);border-color:var(--bt-accent);color:#fff;padding-inline:18px} +.bt-feishu-setup .bt-feishu-primary:hover:not(:disabled){background:color-mix(in srgb,var(--bt-accent) 88%,#000)} +.bt-feishu-setup .bt-feishu-quiet{border-color:transparent;background:transparent;color:var(--bt-ink-2)} +.bt-feishu-setup :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--bt-accent);outline-offset:3px} +.bt-feishu-setup details{min-width:0}.bt-feishu-setup summary{cursor:pointer;font-size:12px;font-weight:500;line-height:20px;padding:8px 0;color:var(--bt-ink-2)} +.bt-feishu-json{border:0}.bt-feishu-setup .bt-feishu-json summary{padding:2px 0;color:var(--bt-accent);font-weight:400} +.bt-feishu-setup .bt-feishu-json textarea{width:100%;height:180px;min-height:120px;max-height:320px;margin-top:10px;padding:12px;border:1px solid var(--bt-line);border-radius:8px;background:var(--bt-sidebar);color:var(--bt-ink-2);font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical;white-space:pre;overflow:auto;overflow-wrap:normal} +.bt-feishu-field,.bt-feishu-setup .bt-q-field{display:flex;flex-direction:column;flex:initial;gap:6px;min-width:0;min-height:0;margin:0;padding:0;border:0;cursor:default;color:var(--bt-ink-2);font-size:12px} +.bt-feishu-setup .bt-input{min-width:0;height:38px;padding:0 11px;font-size:13px;border-color:var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink)} +.bt-feishu-field+.bt-feishu-field{margin-top:2px}.bt-feishu-setup .bt-input:disabled{opacity:.65;background:var(--bt-sidebar)} +.bt-feishu-check{display:flex;align-items:flex-start;gap:9px;font-size:12px}.bt-feishu-check input{margin-top:3px!important} +.bt-feishu-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--bt-line)} +.bt-feishu-footer>div{display:flex;align-items:center;gap:6px}.bt-feishu-result,.bt-feishu-error{margin:14px 0 0;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.6;background:var(--bt-sidebar);color:var(--bt-ink-2)} +.bt-feishu-result[data-success=true]{color:var(--bt-ink);border:1px solid var(--bt-line)}.bt-feishu-error{color:#d33e4e;background:color-mix(in srgb,#e5484d 7%,var(--bt-card))} +.bt-feishu-management{border-top:1px solid var(--bt-line);padding-top:8px}.bt-feishu-management>details+details{border-top:1px solid var(--bt-line)} +.bt-feishu-management>details>summary{padding:12px 0;color:var(--bt-ink)}.bt-feishu-management>details[open]{display:flex;flex-direction:column;gap:10px;padding-bottom:14px} +.bt-feishu-management>details>fieldset{min-width:0;margin:4px 0;padding:12px;border:1px solid var(--bt-line);border-radius:10px}.bt-feishu-management legend{font-size:12px;font-weight:600;padding-inline:4px} +.bt-feishu-management fieldset>.bt-q-field+.bt-q-field{margin-top:10px}.bt-feishu-setup code,.bt-feishu-setup pre{white-space:pre-wrap;overflow-wrap:anywhere}.bt-feishu-setup ul{padding-left:18px;margin:4px 0} +.bt-feishu-webhook{margin-top:18px;padding-top:10px;border-top:1px solid var(--bt-line)}.bt-feishu-webhook[open]{display:flex;flex-direction:column;gap:12px}.bt-feishu-webhook>summary{color:var(--bt-ink-2)} +@container (max-width:640px){.bt-feishu-layout{display:flex;flex-direction:column;gap:18px}.bt-feishu-progress{width:100%}.bt-feishu-progress ol{flex-direction:row;gap:5px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.bt-feishu-progress li{flex:1}.bt-feishu-progress button{justify-content:center;padding:5px;gap:7px}.bt-feishu-step-label{display:none}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{display:block;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-feishu-progress li:has([aria-current=step]){flex:4}.bt-feishu-step{width:100%}.bt-feishu-header{flex-direction:column;gap:10px}.bt-feishu-header>.bt-input{max-width:100%;width:100%}} +@container (max-width:340px){.bt-feishu-modes{gap:8px}.bt-feishu-modes button{padding:9px 10px}.bt-feishu-modes small{font-size:10px}.bt-feishu-permission{padding:8px}.bt-feishu-footer>div{gap:2px}.bt-feishu-footer .bt-feishu-button{padding-inline:9px}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{max-width:90px}} .bt-connector-form-row{display:flex;align-items:center;gap:6px} .bt-connector-apps{display:flex;flex-direction:column;gap:8px} .bt-connector-link{flex:1;font-size:12px;color:var(--bt-ink-2)} diff --git a/patches/ds-bot/files/workbench-native.js b/patches/ds-bot/files/workbench-native.js index a08d7c6dc..0439d844c 100644 --- a/patches/ds-bot/files/workbench-native.js +++ b/patches/ds-bot/files/workbench-native.js @@ -1,4 +1,4 @@ -var FlyBotNativeConversation=(()=>{var vz=Object.create,ll=Object.freeze,gt=Object.defineProperty;var yz=Object.getOwnPropertyDescriptor;var _z=Object.getOwnPropertyNames;var wz=Object.getPrototypeOf,xz=Object.prototype.hasOwnProperty;var n1=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(a){throw n=[a],a}};var ye=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},u1=(e,t)=>{for(var n in t)gt(e,n,{get:t[n],enumerable:!0})},pl=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of _z(t))!xz.call(e,i)&&i!==n&>(e,i,{get:()=>t[i],enumerable:!(a=yz(t,i))||a.enumerable});return e};var U1=(e,t,n)=>(n=e!=null?vz(wz(e)):{},pl(t||!e||!e.__esModule?gt(n,"default",{value:e,enumerable:!0}):n,e)),kz=e=>pl(gt({},"__esModule",{value:!0}),e);var t1=(e,t)=>ll(gt(e,"raw",{value:ll(t||e.slice())}));var wl=ye(F1=>{"use strict";var bt=Symbol.for("react.element"),zz=Symbol.for("react.portal"),Cz=Symbol.for("react.fragment"),Az=Symbol.for("react.strict_mode"),Mz=Symbol.for("react.profiler"),$z=Symbol.for("react.provider"),Lz=Symbol.for("react.context"),Sz=Symbol.for("react.forward_ref"),Zz=Symbol.for("react.suspense"),Ez=Symbol.for("react.memo"),Fz=Symbol.for("react.lazy"),ul=Symbol.iterator;function jz(e){return e===null||typeof e!="object"?null:(e=ul&&e[ul]||e["@@iterator"],typeof e=="function"?e:null)}var hl={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},gl=Object.assign,bl={};function e5(e,t,n){this.props=e,this.context=t,this.refs=bl,this.updater=n||hl}e5.prototype.isReactComponent={};e5.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)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,e,t,"setState")};e5.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function fl(){}fl.prototype=e5.prototype;function r9(e,t,n){this.props=e,this.context=t,this.refs=bl,this.updater=n||hl}var s9=r9.prototype=new fl;s9.constructor=r9;gl(s9,e5.prototype);s9.isPureReactComponent=!0;var ml=Array.isArray,vl=Object.prototype.hasOwnProperty,c9={current:null},yl={key:!0,ref:!0,__self:!0,__source:!0};function _l(e,t,n){var a,i={},r=null,s=null;if(t!=null)for(a in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(r=""+t.key),t)vl.call(t,a)&&!yl.hasOwnProperty(a)&&(i[a]=t[a]);var c=arguments.length-2;if(c===1)i.children=n;else if(1{"use strict";xl.exports=wl()});var Ip=ye(Y1=>{"use strict";function I9(e,t){var n=e.length;e.push(t);e:for(;0>>1,i=e[a];if(0>>1;aP7(c,n))oP7(l,c)?(e[a]=l,e[o]=n,a=o):(e[a]=c,e[s]=n,a=s);else if(oP7(l,n))e[a]=l,e[o]=n,a=o;else break e}}return t}function P7(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(Zp=performance,Y1.unstable_now=function(){return Zp.now()}):(T9=Date,Ep=T9.now(),Y1.unstable_now=function(){return T9.now()-Ep});var Zp,T9,Ep,_e=[],x3=[],WC=1,P2=null,W0=3,G7=!1,g4=!1,St=!1,Hp=typeof setTimeout=="function"?setTimeout:null,Np=typeof clearTimeout=="function"?clearTimeout:null,Fp=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function B9(e){for(var t=ae(x3);t!==null;){if(t.callback===null)D7(x3);else if(t.startTime<=e)D7(x3),t.sortIndex=t.expirationTime,I9(_e,t);else break;t=ae(x3)}}function P9(e){if(St=!1,B9(e),!g4)if(ae(_e)!==null)g4=!0,D9(R9);else{var t=ae(x3);t!==null&&G9(P9,t.startTime-e)}}function R9(e,t){g4=!1,St&&(St=!1,Np(Zt),Zt=-1),G7=!0;var n=W0;try{for(B9(t),P2=ae(_e);P2!==null&&(!(P2.expirationTime>t)||e&&!qp());){var a=P2.callback;if(typeof a=="function"){P2.callback=null,W0=P2.priorityLevel;var i=a(P2.expirationTime<=t);t=Y1.unstable_now(),typeof i=="function"?P2.callback=i:P2===ae(_e)&&D7(_e),B9(t)}else D7(_e);P2=ae(_e)}if(P2!==null)var r=!0;else{var s=ae(x3);s!==null&&G9(P9,s.startTime-t),r=!1}return r}finally{P2=null,W0=n,G7=!1}}var O7=!1,R7=null,Zt=-1,Tp=5,Vp=-1;function qp(){return!(Y1.unstable_now()-Vpe||125a?(e.sortIndex=n,I9(x3,e),ae(_e)===null&&e===ae(x3)&&(St?(Np(Zt),Zt=-1):St=!0,G9(P9,n-a))):(e.sortIndex=i,I9(_e,e),g4||G7||(g4=!0,D9(R9))),e};Y1.unstable_shouldYield=qp;Y1.unstable_wrapCallback=function(e){var t=W0;return function(){var n=W0;W0=t;try{return e.apply(this,arguments)}finally{W0=n}}}});var Pp=ye((oD,Bp)=>{"use strict";Bp.exports=Ip()});var Ud=ye(H2=>{"use strict";var Xu=g0(),F2=Pp();function K(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),hi=Object.prototype.hasOwnProperty,UC=/^[: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]*$/,Rp={},Dp={};function XC(e){return hi.call(Dp,e)?!0:hi.call(Rp,e)?!1:UC.test(e)?Dp[e]=!0:(Rp[e]=!0,!1)}function KC(e,t,n,a){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return a?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function YC(e,t,n,a){if(t===null||typeof t>"u"||KC(e,t,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function c2(e,t,n,a,i,r,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=a,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=r,this.removeEmptyString=s}var R0={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){R0[e]=new c2(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];R0[t]=new c2(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){R0[e]=new c2(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){R0[e]=new c2(e,2,!1,e,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(e){R0[e]=new c2(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){R0[e]=new c2(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){R0[e]=new c2(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){R0[e]=new c2(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){R0[e]=new c2(e,5,!1,e.toLowerCase(),null,!1,!1)});var sr=/[\-:]([a-z])/g;function cr(e){return e[1].toUpperCase()}"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(e){var t=e.replace(sr,cr);R0[t]=new c2(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(sr,cr);R0[t]=new c2(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(sr,cr);R0[t]=new c2(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){R0[e]=new c2(e,1,!1,e.toLowerCase(),null,!1,!1)});R0.xlinkHref=new c2("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){R0[e]=new c2(e,1,!1,e.toLowerCase(),null,!0,!0)});function or(e,t,n,a){var i=R0.hasOwnProperty(t)?R0[t]:null;(i!==null?i.type!==0:a||!(2c||i[s]!==r[c]){var o="\n"+i[s].replace(" at new "," at ");return e.displayName&&o.includes("")&&(o=o.replace("",e.displayName)),o}while(1<=s&&0<=c);break}}}finally{W9=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?It(e):""}function QC(e){switch(e.tag){case 5:return It(e.type);case 16:return It("Lazy");case 13:return It("Suspense");case 19:return It("SuspenseList");case 0:case 2:case 15:return e=U9(e.type,!1),e;case 11:return e=U9(e.type.render,!1),e;case 1:return e=U9(e.type,!0),e;default:return""}}function vi(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case p5:return"Fragment";case l5:return"Portal";case gi:return"Profiler";case lr:return"StrictMode";case bi:return"Suspense";case fi:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Qu:return(e.displayName||"Context")+".Consumer";case Yu:return(e._context.displayName||"Context")+".Provider";case pr:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ur:return t=e.displayName||null,t!==null?t:vi(e.type)||"Memo";case z3:t=e._payload,e=e._init;try{return vi(e(t))}catch{}}return null}function JC(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return vi(t);case 8:return t===lr?"StrictMode":"Mode";case 22:return"Offscreen";case 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(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function V3(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function em(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function eA(e){var t=em(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,r=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){a=""+s,r.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(s){a=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function U7(e){e._valueTracker||(e._valueTracker=eA(e))}function tm(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=em(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function x8(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function yi(e,t){var n=t.checked;return l0({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Op(e,t){var n=t.defaultValue==null?"":t.defaultValue,a=t.checked!=null?t.checked:t.defaultChecked;n=V3(t.value!=null?t.value:n),e._wrapperState={initialChecked:a,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function nm(e,t){t=t.checked,t!=null&&or(e,"checked",t,!1)}function _i(e,t){nm(e,t);var n=V3(t.value),a=t.type;if(n!=null)a==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(a==="submit"||a==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?wi(e,t.type,n):t.hasOwnProperty("defaultValue")&&wi(e,t.type,V3(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Wp(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!(a!=="submit"&&a!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function wi(e,t,n){(t!=="number"||x8(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Bt=Array.isArray;function w5(e,t,n,a){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=X7.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function e6(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Dt={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,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},tA=["Webkit","ms","Moz","O"];Object.keys(Dt).forEach(function(e){tA.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Dt[t]=Dt[e]})});function sm(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Dt.hasOwnProperty(e)&&Dt[e]?(""+t).trim():t+"px"}function cm(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var a=n.indexOf("--")===0,i=sm(n,t[n],a);n==="float"&&(n="cssFloat"),a?e.setProperty(n,i):e[n]=i}}var nA=l0({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});function zi(e,t){if(t){if(nA[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(K(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(K(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(K(61))}if(t.style!=null&&typeof t.style!="object")throw Error(K(62))}}function Ci(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 Ai=null;function mr(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Mi=null,x5=null,k5=null;function Kp(e){if(e=v6(e)){if(typeof Mi!="function")throw Error(K(280));var t=e.stateNode;t&&(t=K8(t),Mi(e.stateNode,e.type,t))}}function om(e){x5?k5?k5.push(e):k5=[e]:x5=e}function lm(){if(x5){var e=x5,t=k5;if(k5=x5=null,Kp(e),t)for(e=0;e>>=0,e===0?32:31-(dA(e)/hA|0)|0}var K7=64,Y7=4194304;function Pt(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function A8(e,t){var n=e.pendingLanes;if(n===0)return 0;var a=0,i=e.suspendedLanes,r=e.pingedLanes,s=n&268435455;if(s!==0){var c=s&~i;c!==0?a=Pt(c):(r&=s,r!==0&&(a=Pt(r)))}else s=n&~i,s!==0?a=Pt(s):r!==0&&(a=Pt(r));if(a===0)return 0;if(t!==0&&t!==a&&(t&i)===0&&(i=a&-a,r=t&-t,i>=r||i===16&&(r&4194240)!==0))return t;if((a&4)!==0&&(a|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=a;0n;n++)t.push(e);return t}function b6(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-oe(t),e[t]=n}function vA(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0=Ot),ru=" ",su=!1;function Lm(e,t){switch(e){case"keyup":return OA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Sm(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var u5=!1;function UA(e,t){switch(e){case"compositionend":return Sm(t);case"keypress":return t.which!==32?null:(su=!0,ru);case"textInput":return e=t.data,e===ru&&su?null:e;default:return null}}function XA(e,t){if(u5)return e==="compositionend"||!_r&&Lm(e,t)?(e=Mm(),d8=fr=$3=null,u5=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=lu(n)}}function jm(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?jm(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Hm(){for(var e=window,t=x8();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=x8(e.document)}return t}function wr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function iM(e){var t=Hm(),n=e.focusedElem,a=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&jm(n.ownerDocument.documentElement,n)){if(a!==null&&wr(n)){if(t=a.start,e=a.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,r=Math.min(a.start,i);a=a.end===void 0?r:Math.min(a.end,i),!e.extend&&r>a&&(i=a,a=r,r=i),i=pu(n,r);var s=pu(n,a);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),r>a?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,m5=null,Fi=null,Ut=null,ji=!1;function uu(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ji||m5==null||m5!==x8(a)||(a=m5,"selectionStart"in a&&wr(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Ut&&s6(Ut,a)||(Ut=a,a=L8(Fi,"onSelect"),0g5||(e.current=Ii[g5],Ii[g5]=null,g5--)}function Q1(e,t){g5++,Ii[g5]=e.current,e.current=t}var q3={},Y0=B3(q3),_2=B3(!1),k4=q3;function $5(e,t){var n=e.type.contextTypes;if(!n)return q3;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var i={},r;for(r in n)i[r]=t[r];return a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function w2(e){return e=e.childContextTypes,e!=null}function Z8(){n0(_2),n0(Y0)}function _u(e,t,n){if(Y0.current!==q3)throw Error(K(168));Q1(Y0,t),Q1(_2,n)}function Dm(e,t,n){var a=e.stateNode;if(t=t.childContextTypes,typeof a.getChildContext!="function")return n;a=a.getChildContext();for(var i in a)if(!(i in t))throw Error(K(108,JC(e)||"Unknown",i));return l0({},n,a)}function E8(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||q3,k4=Y0.current,Q1(Y0,e),Q1(_2,_2.current),!0}function wu(e,t,n){var a=e.stateNode;if(!a)throw Error(K(169));n?(e=Dm(e,t,k4),a.__reactInternalMemoizedMergedChildContext=e,n0(_2),n0(Y0),Q1(Y0,e)):n0(_2),Q1(_2,n)}var Re=null,Y8=!1,ri=!1;function Gm(e){Re===null?Re=[e]:Re.push(e)}function hM(e){Y8=!0,Gm(e)}function P3(){if(!ri&&Re!==null){ri=!0;var e=0,t=W1;try{var n=Re;for(W1=1;e>=s,i-=s,De=1<<32-oe(t)+i|n<N?(H=j,j=null):H=j.sibling;var S=m(v,j,_[N],z);if(S===null){j===null&&(j=H);break}e&&j&&S.alternate===null&&t(v,j),b=r(S,b,N),C===null?L=S:C.sibling=S,C=S,j=H}if(N===_.length)return n(v,j),a0&&b4(v,N),L;if(j===null){for(;N<_.length;N++)j=u(v,_[N],z),j!==null&&(b=r(j,b,N),C===null?L=j:C.sibling=j,C=j);return a0&&b4(v,N),L}for(j=a(v,j);N<_.length;N++)H=d(j,v,N,_[N],z),H!==null&&(e&&H.alternate!==null&&j.delete(H.key===null?N:H.key),b=r(H,b,N),C===null?L=H:C.sibling=H,C=H);return e&&j.forEach(function(R){return t(v,R)}),a0&&b4(v,N),L}function w(v,b,_,z){var L=Et(_);if(typeof L!="function")throw Error(K(150));if(_=L.call(_),_==null)throw Error(K(151));for(var C=L=null,j=b,N=b=0,H=null,S=_.next();j!==null&&!S.done;N++,S=_.next()){j.index>N?(H=j,j=null):H=j.sibling;var R=m(v,j,S.value,z);if(R===null){j===null&&(j=H);break}e&&j&&R.alternate===null&&t(v,j),b=r(R,b,N),C===null?L=R:C.sibling=R,C=R,j=H}if(S.done)return n(v,j),a0&&b4(v,N),L;if(j===null){for(;!S.done;N++,S=_.next())S=u(v,S.value,z),S!==null&&(b=r(S,b,N),C===null?L=S:C.sibling=S,C=S);return a0&&b4(v,N),L}for(j=a(v,j);!S.done;N++,S=_.next())S=d(j,v,N,S.value,z),S!==null&&(e&&S.alternate!==null&&j.delete(S.key===null?N:S.key),b=r(S,b,N),C===null?L=S:C.sibling=S,C=S);return e&&j.forEach(function(B){return t(v,B)}),a0&&b4(v,N),L}function k(v,b,_,z){if(typeof _=="object"&&_!==null&&_.type===p5&&_.key===null&&(_=_.props.children),typeof _=="object"&&_!==null){switch(_.$$typeof){case W7:e:{for(var L=_.key,C=b;C!==null;){if(C.key===L){if(L=_.type,L===p5){if(C.tag===7){n(v,C.sibling),b=i(C,_.props.children),b.return=v,v=b;break e}}else if(C.elementType===L||typeof L=="object"&&L!==null&&L.$$typeof===z3&&$u(L)===C.type){n(v,C.sibling),b=i(C,_.props),b.ref=Nt(v,C,_),b.return=v,v=b;break e}n(v,C);break}else t(v,C);C=C.sibling}_.type===p5?(b=x4(_.props.children,v.mode,z,_.key),b.return=v,v=b):(z=w8(_.type,_.key,_.props,null,v.mode,z),z.ref=Nt(v,b,_),z.return=v,v=z)}return s(v);case l5:e:{for(C=_.key;b!==null;){if(b.key===C)if(b.tag===4&&b.stateNode.containerInfo===_.containerInfo&&b.stateNode.implementation===_.implementation){n(v,b.sibling),b=i(b,_.children||[]),b.return=v,v=b;break e}else{n(v,b);break}else t(v,b);b=b.sibling}b=di(_,v.mode,z),b.return=v,v=b}return s(v);case z3:return C=_._init,k(v,b,C(_._payload),z)}if(Bt(_))return f(v,b,_,z);if(Et(_))return w(v,b,_,z);o8(v,_)}return typeof _=="string"&&_!==""||typeof _=="number"?(_=""+_,b!==null&&b.tag===6?(n(v,b.sibling),b=i(b,_),b.return=v,v=b):(n(v,b),b=mi(_,v.mode,z),b.return=v,v=b),s(v)):n(v,b)}return k}var S5=Jm(!0),ed=Jm(!1),y6={},Ce=B3(y6),p6=B3(y6),u6=B3(y6);function _4(e){if(e===y6)throw Error(K(174));return e}function Sr(e,t){switch(Q1(u6,t),Q1(p6,e),Q1(Ce,y6),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ki(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=ki(t,e)}n0(Ce),Q1(Ce,t)}function Z5(){n0(Ce),n0(p6),n0(u6)}function td(e){_4(u6.current);var t=_4(Ce.current),n=ki(t,e.type);t!==n&&(Q1(p6,e),Q1(Ce,n))}function Zr(e){p6.current===e&&(n0(Ce),n0(p6))}var c0=B3(0);function V8(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var si=[];function Er(){for(var e=0;en?n:4,e(!0);var a=ci.transition;ci.transition={};try{e(!1),t()}finally{W1=n,ci.transition=a}}function fd(){return U2().memoizedState}function vM(e,t,n){var a=N3(e);if(n={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null},vd(e))yd(t,n);else if(n=Xm(e,t,n,a),n!==null){var i=s2();le(n,e,a,i),_d(n,t,a)}}function yM(e,t,n){var a=N3(e),i={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null};if(vd(e))yd(t,i);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var s=t.lastRenderedState,c=r(s,n);if(i.hasEagerState=!0,i.eagerState=c,pe(c,s)){var o=t.interleaved;o===null?(i.next=i,$r(t)):(i.next=o.next,o.next=i),t.interleaved=i;return}}catch{}n=Xm(e,t,i,a),n!==null&&(i=s2(),le(n,e,a,i),_d(n,t,a))}}function vd(e){var t=e.alternate;return e===o0||t!==null&&t===o0}function yd(e,t){Xt=q8=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function _d(e,t,n){if((n&4194240)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,hr(e,n)}}var I8={readContext:W2,useCallback:U0,useContext:U0,useEffect:U0,useImperativeHandle:U0,useInsertionEffect:U0,useLayoutEffect:U0,useMemo:U0,useReducer:U0,useRef:U0,useState:U0,useDebugValue:U0,useDeferredValue:U0,useTransition:U0,useMutableSource:U0,useSyncExternalStore:U0,useId:U0,unstable_isNewReconciler:!1},_M={readContext:W2,useCallback:function(e,t){return xe().memoizedState=[e,t===void 0?null:t],e},useContext:W2,useEffect:Su,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,f8(4194308,4,md.bind(null,t,e),n)},useLayoutEffect:function(e,t){return f8(4194308,4,e,t)},useInsertionEffect:function(e,t){return f8(4,2,e,t)},useMemo:function(e,t){var n=xe();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var a=xe();return t=n!==void 0?n(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=vM.bind(null,o0,e),[a.memoizedState,e]},useRef:function(e){var t=xe();return e={current:e},t.memoizedState=e},useState:Lu,useDebugValue:Tr,useDeferredValue:function(e){return xe().memoizedState=e},useTransition:function(){var e=Lu(!1),t=e[0];return e=fM.bind(null,e[1]),xe().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var a=o0,i=xe();if(a0){if(n===void 0)throw Error(K(407));n=n()}else{if(n=t(),V0===null)throw Error(K(349));(C4&30)!==0||id(a,t,n)}i.memoizedState=n;var r={value:n,getSnapshot:t};return i.queue=r,Su(sd.bind(null,a,r,e),[e]),a.flags|=2048,h6(9,rd.bind(null,a,r,n,t),void 0,null),n},useId:function(){var e=xe(),t=V0.identifierPrefix;if(a0){var n=Ge,a=De;n=(a&~(1<<32-oe(a)-1)).toString(32)+n,t=":"+t+"R"+n,n=m6++,0<\/script>",e=e.removeChild(e.firstChild)):typeof a.is=="string"?e=s.createElement(n,{is:a.is}):(e=s.createElement(n),n==="select"&&(s=e,a.multiple?s.multiple=!0:a.size&&(s.size=a.size))):e=s.createElementNS(e,n),e[ke]=t,e[l6]=a,Ld(e,t,!1,!1),t.stateNode=e;e:{switch(s=Ci(n,a),n){case"dialog":t0("cancel",e),t0("close",e),i=a;break;case"iframe":case"object":case"embed":t0("load",e),i=a;break;case"video":case"audio":for(i=0;iF5&&(t.flags|=128,a=!0,Tt(r,!1),t.lanes=4194304)}else{if(!a)if(e=V8(s),e!==null){if(t.flags|=128,a=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Tt(r,!0),r.tail===null&&r.tailMode==="hidden"&&!s.alternate&&!a0)return X0(t),null}else 2*x0()-r.renderingStartTime>F5&&n!==1073741824&&(t.flags|=128,a=!0,Tt(r,!1),t.lanes=4194304);r.isBackwards?(s.sibling=t.child,t.child=s):(n=r.last,n!==null?n.sibling=s:t.child=s,r.last=s)}return r.tail!==null?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=x0(),t.sibling=null,n=c0.current,Q1(c0,a?n&1|2:n&1),t):(X0(t),null);case 22:case 23:return Rr(),a=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==a&&(t.flags|=8192),a&&(t.mode&1)!==0?(S2&1073741824)!==0&&(X0(t),t.subtreeFlags&6&&(t.flags|=8192)):X0(t),null;case 24:return null;case 25:return null}throw Error(K(156,t.tag))}function $M(e,t){switch(kr(t),t.tag){case 1:return w2(t.type)&&Z8(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Z5(),n0(_2),n0(Y0),Er(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return Zr(t),null;case 13:if(n0(c0),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(K(340));L5()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return n0(c0),null;case 4:return Z5(),null;case 10:return Mr(t.type._context),null;case 22:case 23:return Rr(),null;case 24:return null;default:return null}}var p8=!1,K0=!1,LM=typeof WeakSet=="function"?WeakSet:Set,p1=null;function y5(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(a){b0(e,t,a)}else n.current=null}function Qi(e,t,n){try{n()}catch(a){b0(e,t,a)}}var qu=!1;function SM(e,t){if(Hi=M8,e=Hm(),wr(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var i=a.anchorOffset,r=a.focusNode;a=a.focusOffset;try{n.nodeType,r.nodeType}catch{n=null;break e}var s=0,c=-1,o=-1,l=0,p=0,u=e,m=null;t:for(;;){for(var d;u!==n||i!==0&&u.nodeType!==3||(c=s+i),u!==r||a!==0&&u.nodeType!==3||(o=s+a),u.nodeType===3&&(s+=u.nodeValue.length),(d=u.firstChild)!==null;)m=u,u=d;for(;;){if(u===e)break t;if(m===n&&++l===i&&(c=s),m===r&&++p===a&&(o=s),(d=u.nextSibling)!==null)break;u=m,m=u.parentNode}u=d}n=c===-1||o===-1?null:{start:c,end:o}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ni={focusedElem:e,selectionRange:n},M8=!1,p1=t;p1!==null;)if(t=p1,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,p1=e;else for(;p1!==null;){t=p1;try{var f=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(f!==null){var w=f.memoizedProps,k=f.memoizedState,v=t.stateNode,b=v.getSnapshotBeforeUpdate(t.elementType===t.type?w:re(t.type,w),k);v.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var _=t.stateNode.containerInfo;_.nodeType===1?_.textContent="":_.nodeType===9&&_.documentElement&&_.removeChild(_.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(K(163))}}catch(z){b0(t,t.return,z)}if(e=t.sibling,e!==null){e.return=t.return,p1=e;break}p1=t.return}return f=qu,qu=!1,f}function Kt(e,t,n){var a=t.updateQueue;if(a=a!==null?a.lastEffect:null,a!==null){var i=a=a.next;do{if((i.tag&e)===e){var r=i.destroy;i.destroy=void 0,r!==void 0&&Qi(t,n,r)}i=i.next}while(i!==a)}}function en(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var a=n.create;n.destroy=a()}n=n.next}while(n!==t)}}function Ji(e){var t=e.ref;if(t!==null){var n=e.stateNode;e.tag,e=n,typeof t=="function"?t(e):t.current=e}}function Ed(e){var t=e.alternate;t!==null&&(e.alternate=null,Ed(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ke],delete t[l6],delete t[qi],delete t[mM],delete t[dM])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Fd(e){return e.tag===5||e.tag===3||e.tag===4}function Iu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function er(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=S8));else if(a!==4&&(e=e.child,e!==null))for(er(e,t,n),e=e.sibling;e!==null;)er(e,t,n),e=e.sibling}function tr(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(e=e.child,e!==null))for(tr(e,t,n),e=e.sibling;e!==null;)tr(e,t,n),e=e.sibling}var B0=null,se=!1;function k3(e,t,n){for(n=n.child;n!==null;)jd(e,t,n),n=n.sibling}function jd(e,t,n){if(ze&&typeof ze.onCommitFiberUnmount=="function")try{ze.onCommitFiberUnmount(O8,n)}catch{}switch(n.tag){case 5:K0||y5(n,t);case 6:var a=B0,i=se;B0=null,k3(e,t,n),B0=a,se=i,B0!==null&&(se?(e=B0,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):B0.removeChild(n.stateNode));break;case 18:B0!==null&&(se?(e=B0,n=n.stateNode,e.nodeType===8?ii(e.parentNode,n):e.nodeType===1&&ii(e,n),i6(e)):ii(B0,n.stateNode));break;case 4:a=B0,i=se,B0=n.stateNode.containerInfo,se=!0,k3(e,t,n),B0=a,se=i;break;case 0:case 11:case 14:case 15:if(!K0&&(a=n.updateQueue,a!==null&&(a=a.lastEffect,a!==null))){i=a=a.next;do{var r=i,s=r.destroy;r=r.tag,s!==void 0&&((r&2)!==0||(r&4)!==0)&&Qi(n,t,s),i=i.next}while(i!==a)}k3(e,t,n);break;case 1:if(!K0&&(y5(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"))try{a.props=n.memoizedProps,a.state=n.memoizedState,a.componentWillUnmount()}catch(c){b0(n,t,c)}k3(e,t,n);break;case 21:k3(e,t,n);break;case 22:n.mode&1?(K0=(a=K0)||n.memoizedState!==null,k3(e,t,n),K0=a):k3(e,t,n);break;default:k3(e,t,n)}}function Bu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new LM),t.forEach(function(a){var i=qM.bind(null,e,a);n.has(a)||(n.add(a),a.then(i,i))})}}function ie(e,t){var n=t.deletions;if(n!==null)for(var a=0;ai&&(i=s),a&=~r}if(a=i,a=x0()-a,a=(120>a?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*EM(a/1960))-a,10e?16:e,L3===null)var a=!1;else{if(e=L3,L3=null,R8=0,(V1&6)!==0)throw Error(K(331));var i=V1;for(V1|=4,p1=e.current;p1!==null;){var r=p1,s=r.child;if((p1.flags&16)!==0){var c=r.deletions;if(c!==null){for(var o=0;ox0()-Br?w4(e,0):Ir|=n),x2(e,t)}function Pd(e,t){t===0&&((e.mode&1)===0?t=1:(t=Y7,Y7<<=1,(Y7&130023424)===0&&(Y7=4194304)));var n=s2();e=Xe(e,t),e!==null&&(b6(e,t,n),x2(e,n))}function VM(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Pd(e,n)}function qM(e,t){var n=0;switch(e.tag){case 13:var a=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(K(314))}a!==null&&a.delete(t),Pd(e,n)}var Rd;Rd=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||_2.current)y2=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return y2=!1,AM(e,t,n);y2=(e.flags&131072)!==0}else y2=!1,a0&&(t.flags&1048576)!==0&&Om(t,j8,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;v8(e,t),e=t.pendingProps;var i=$5(t,Y0.current);C5(t,n),i=jr(null,t,a,e,i,n);var r=Hr();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,w2(a)?(r=!0,E8(t)):r=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Lr(t),i.updater=Q8,t.stateNode=i,i._reactInternals=t,Gi(t,a,e,n),t=Ui(null,t,a,!0,r,n)):(t.tag=0,a0&&r&&xr(t),r2(null,t,i,n),t=t.child),t;case 16:a=t.elementType;e:{switch(v8(e,t),e=t.pendingProps,i=a._init,a=i(a._payload),t.type=a,i=t.tag=BM(a),e=re(a,e),i){case 0:t=Wi(null,t,a,e,n);break e;case 1:t=Nu(null,t,a,e,n);break e;case 11:t=ju(null,t,a,e,n);break e;case 14:t=Hu(null,t,a,re(a.type,e),n);break e}throw Error(K(306,a,""))}return t;case 0:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:re(a,i),Wi(e,t,a,i,n);case 1:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:re(a,i),Nu(e,t,a,i,n);case 3:e:{if(Ad(t),e===null)throw Error(K(387));a=t.pendingProps,r=t.memoizedState,i=r.element,Km(e,t),T8(t,a,null,n);var s=t.memoizedState;if(a=s.element,r.isDehydrated)if(r={element:a,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=r,t.memoizedState=r,t.flags&256){i=E5(Error(K(423)),t),t=Tu(e,t,a,n,i);break e}else if(a!==i){i=E5(Error(K(424)),t),t=Tu(e,t,a,n,i);break e}else for(Z2=F3(t.stateNode.containerInfo.firstChild),E2=t,a0=!0,ce=null,n=ed(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(L5(),a===i){t=Ke(e,t,n);break e}r2(e,t,a,n)}t=t.child}return t;case 5:return td(t),e===null&&Pi(t),a=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,s=i.children,Ti(a,i)?s=null:r!==null&&Ti(a,r)&&(t.flags|=32),Cd(e,t),r2(e,t,s,n),t.child;case 6:return e===null&&Pi(t),null;case 13:return Md(e,t,n);case 4:return Sr(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=S5(t,null,a,n):r2(e,t,a,n),t.child;case 11:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:re(a,i),ju(e,t,a,i,n);case 7:return r2(e,t,t.pendingProps,n),t.child;case 8:return r2(e,t,t.pendingProps.children,n),t.child;case 12:return r2(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(a=t.type._context,i=t.pendingProps,r=t.memoizedProps,s=i.value,Q1(H8,a._currentValue),a._currentValue=s,r!==null)if(pe(r.value,s)){if(r.children===i.children&&!_2.current){t=Ke(e,t,n);break e}}else for(r=t.child,r!==null&&(r.return=t);r!==null;){var c=r.dependencies;if(c!==null){s=r.child;for(var o=c.firstContext;o!==null;){if(o.context===a){if(r.tag===1){o=Oe(-1,n&-n),o.tag=2;var l=r.updateQueue;if(l!==null){l=l.shared;var p=l.pending;p===null?o.next=o:(o.next=p.next,p.next=o),l.pending=o}}r.lanes|=n,o=r.alternate,o!==null&&(o.lanes|=n),Ri(r.return,n,t),c.lanes|=n;break}o=o.next}}else if(r.tag===10)s=r.type===t.type?null:r.child;else if(r.tag===18){if(s=r.return,s===null)throw Error(K(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),Ri(s,n,t),s=r.sibling}else s=r.child;if(s!==null)s.return=r;else for(s=r;s!==null;){if(s===t){s=null;break}if(r=s.sibling,r!==null){r.return=s.return,s=r;break}s=s.return}r=s}r2(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,a=t.pendingProps.children,C5(t,n),i=W2(i),a=a(i),t.flags|=1,r2(e,t,a,n),t.child;case 14:return a=t.type,i=re(a,t.pendingProps),i=re(a.type,i),Hu(e,t,a,i,n);case 15:return kd(e,t,t.type,t.pendingProps,n);case 17:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:re(a,i),v8(e,t),t.tag=1,w2(a)?(e=!0,E8(t)):e=!1,C5(t,n),Qm(t,a,i),Gi(t,a,i,n),Ui(null,t,a,!0,e,n);case 19:return $d(e,t,n);case 22:return zd(e,t,n)}throw Error(K(156,t.tag))};function Dd(e,t){return bm(e,t)}function IM(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function G2(e,t,n,a){return new IM(e,t,n,a)}function Gr(e){return e=e.prototype,!(!e||!e.isReactComponent)}function BM(e){if(typeof e=="function")return Gr(e)?1:0;if(e!=null){if(e=e.$$typeof,e===pr)return 11;if(e===ur)return 14}return 2}function T3(e,t){var n=e.alternate;return n===null?(n=G2(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function w8(e,t,n,a,i,r){var s=2;if(a=e,typeof e=="function")Gr(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case p5:return x4(n.children,i,r,t);case lr:s=8,i|=8;break;case gi:return e=G2(12,n,t,i|2),e.elementType=gi,e.lanes=r,e;case bi:return e=G2(13,n,t,i),e.elementType=bi,e.lanes=r,e;case fi:return e=G2(19,n,t,i),e.elementType=fi,e.lanes=r,e;case Ju:return nn(n,i,r,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Yu:s=10;break e;case Qu:s=9;break e;case pr:s=11;break e;case ur:s=14;break e;case z3:s=16,a=null;break e}throw Error(K(130,e==null?e:typeof e,""))}return t=G2(s,n,t,i),t.elementType=e,t.type=a,t.lanes=r,t}function x4(e,t,n,a){return e=G2(7,e,a,t),e.lanes=n,e}function nn(e,t,n,a){return e=G2(22,e,a,t),e.elementType=Ju,e.lanes=n,e.stateNode={isHidden:!1},e}function mi(e,t,n){return e=G2(6,e,null,t),e.lanes=n,e}function di(e,t,n){return t=G2(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function PM(e,t,n,a,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=K9(0),this.expirationTimes=K9(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=K9(0),this.identifierPrefix=a,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Or(e,t,n,a,i,r,s,c,o){return e=new PM(e,t,n,c,o),t===1?(t=1,r===!0&&(t|=8)):t=0,r=G2(3,null,null,t),e.current=r,r.stateNode=e,r.memoizedState={element:a,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Lr(r),e}function RM(e,t,n){var a=3{"use strict";function Xd(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Xd)}catch(e){console.error(e)}}Xd(),Kd.exports=Ud()});var Qd=ye(on=>{"use strict";var UM=g0(),XM=Symbol.for("react.element"),KM=Symbol.for("react.fragment"),YM=Object.prototype.hasOwnProperty,QM=UM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,JM={key:!0,ref:!0,__self:!0,__source:!0};function Yd(e,t,n){var a,i={},r=null,s=null;n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),t.ref!==void 0&&(s=t.ref);for(a in t)YM.call(t,a)&&!JM.hasOwnProperty(a)&&(i[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps,t)i[a]===void 0&&(i[a]=t[a]);return{$$typeof:XM,type:e,key:r,ref:s,props:i,_owner:QM.current}}on.Fragment=KM;on.jsx=Yd;on.jsxs=Yd});var eh=ye((mD,Jd)=>{"use strict";Jd.exports=Qd()});var rE,K3,P6=n1(()=>{rE=Object.freeze(JSON.parse('{"displayName":"TypeScript","name":"typescript","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.ts"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?)","name":"cast.expr.ts"},{"begin":"(??^|]|[^$_[:alnum:]](?:\\\\+\\\\+|--)|[^+]\\\\+|[^-]-)\\\\s*(<)(?!)","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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\s*(?]|=[^<]|<\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?]|=[^<]|<\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|^|[]),;}]|((?{sE=Object.freeze(JSON.parse('{"displayName":"Shell","name":"shellscript","patterns":[{"include":"#initial_context"}],"repository":{"alias_statement":{"begin":"[\\\\t ]*+(alias)[\\\\t ]*+((?:((?\\\\\\\\`|]+(?!>))"},{"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 ]*+((?\\\\[{|]|$|[\\\\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 ]*#|])(?`{|]+)"},{"begin":"(?:\\\\G|(?\\\\[{|]|$|[\\\\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 ]*#|])(?]|&&|\\\\|\\\\|","name":"keyword.operator.logical.shell"},{"match":"(?[=>]?|==|!=|^|\\\\|{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":"(?[=>]?|==|!=|^|\\\\|{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 ;]))","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 ]*#|])(?>?)[\\\\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":"(?{cE=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"}')),Q3=[cE]});var _v=ye((oX,yv)=>{"use strict";var J3=[[{color:"0, 0, 0",class:"ansi-black"},{color:"187, 0, 0",class:"ansi-red"},{color:"0, 187, 0",class:"ansi-green"},{color:"187, 187, 0",class:"ansi-yellow"},{color:"0, 0, 187",class:"ansi-blue"},{color:"187, 0, 187",class:"ansi-magenta"},{color:"0, 187, 187",class:"ansi-cyan"},{color:"255,255,255",class:"ansi-white"}],[{color:"85, 85, 85",class:"ansi-bright-black"},{color:"255, 85, 85",class:"ansi-bright-red"},{color:"0, 255, 0",class:"ansi-bright-green"},{color:"255, 255, 85",class:"ansi-bright-yellow"},{color:"85, 85, 255",class:"ansi-bright-blue"},{color:"255, 85, 255",class:"ansi-bright-magenta"},{color:"85, 255, 255",class:"ansi-bright-cyan"},{color:"255, 255, 255",class:"ansi-bright-white"}]],pE=/(https?:\/\/(?:[A-Za-z0-9#;/?:@=+$',_.!~*()[\]-]|&|%[A-Fa-f0-9]{2})+)/gm,Xs=class e{static escapeForHtml(t){return new e().escapeForHtml(t)}static linkify(t){return new e().linkify(t)}static ansiToHtml(t,n){return new e().ansiToHtml(t,n)}static ansiToJson(t,n){return new e().ansiToJson(t,n)}static ansiToText(t){return new e().ansiToText(t)}constructor(){this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null,this.bright=0,this.decorations=[]}setupPalette(){this.PALETTE_COLORS=[];for(let c=0;c<2;++c)for(let o=0;o<8;++o)this.PALETTE_COLORS.push(J3[c][o].color);let t=[0,95,135,175,215,255],n=(c,o,l)=>t[c]+", "+t[o]+", "+t[l],a,i,r;for(let c=0;c<6;++c)for(let o=0;o<6;++o)for(let l=0;l<6;++l)this.PALETTE_COLORS.push(n(c,o,l));let s=8;for(let c=0;c<24;++c,s+=10)this.PALETTE_COLORS.push(s+", "+s+", "+s)}escapeForHtml(t){return t.replace(/[&<>\"]/gm,n=>n=="&"?"&":n=='"'?""":n=="<"?"<":n==">"?">":"")}linkify(t){return t.replace(pE,n=>'').concat(n,""))}ansiToHtml(t,n){return this.process(t,n,!0)}ansiToJson(t,n){return n=n||{},n.json=!0,n.clearLine=!1,this.process(t,n,!0)}ansiToText(t){return this.process(t,{},!1)}process(t,n,a){let i=this,r=t.split(/\033\[/),s=r.shift();n==null&&(n={}),n.clearLine=/\r/.test(t);let c=r.map(o=>this.processChunk(o,n,a));if(n&&n.json){let o=i.processChunkJson("");return o.content=s,o.clearLine=n.clearLine,c.unshift(o),n.remove_empty&&(c=c.filter(l=>!l.isEmpty())),c}else c.unshift(s);return c.join("")}processChunkJson(t,n,a){n=typeof n>"u"?{}:n;let i=n.use_classes=typeof n.use_classes<"u"&&n.use_classes,r=n.key=i?"class":"color",s={content:t,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,isInverted:!1,clearLine:n.clearLine,decoration:null,decorations:[],was_processed:!1,isEmpty:()=>!s.content},c=t.match(/^([!\x3c-\x3f]*)([\d;]*)([\x20-\x2c]*[\x40-\x7e])([\s\S]*)/m);if(!c)return s;let o=s.content=c[4],l=c[2].split(";");if(c[1]!==""||c[3]!=="m"||!a)return s;let p=this;for(;l.length>0;){let u=l.shift(),m=parseInt(u);if(isNaN(m)||m===0)p.fg=p.bg=null,p.decorations=[];else if(m===1)p.decorations.push("bold");else if(m===2)p.decorations.push("dim");else if(m===3)p.decorations.push("italic");else if(m===4)p.decorations.push("underline");else if(m===5)p.decorations.push("blink");else if(m===7)p.decorations.push("reverse");else if(m===8)p.decorations.push("hidden");else if(m===9)p.decorations.push("strikethrough");else if(m===21)p.removeDecoration("bold");else if(m===22)p.removeDecoration("bold"),p.removeDecoration("dim");else if(m===23)p.removeDecoration("italic");else if(m===24)p.removeDecoration("underline");else if(m===25)p.removeDecoration("blink");else if(m===27)p.removeDecoration("reverse");else if(m===28)p.removeDecoration("hidden");else if(m===29)p.removeDecoration("strikethrough");else if(m===39)p.fg=null;else if(m===49)p.bg=null;else if(m>=30&&m<38)p.fg=J3[0][m%10][r];else if(m>=90&&m<98)p.fg=J3[1][m%10][r];else if(m>=40&&m<48)p.bg=J3[0][m%10][r];else if(m>=100&&m<108)p.bg=J3[1][m%10][r];else if(m===38||m===48){let d=m===38;if(l.length>=1){let f=l.shift();if(f==="5"&&l.length>=1){let w=parseInt(l.shift());if(w>=0&&w<=255)if(!i)this.PALETTE_COLORS||p.setupPalette(),d?p.fg=this.PALETTE_COLORS[w]:p.bg=this.PALETTE_COLORS[w];else{let k=w>=16?"ansi-palette-"+w:J3[w>7?1:0][w%8].class;d?p.fg=k:p.bg=k}}else if(f==="2"&&l.length>=3){let w=parseInt(l.shift()),k=parseInt(l.shift()),v=parseInt(l.shift());if(w>=0&&w<=255&&k>=0&&k<=255&&v>=0&&v<=255){let b=w+", "+k+", "+v;i?d?(p.fg="ansi-truecolor",p.fg_truecolor=b):(p.bg="ansi-truecolor",p.bg_truecolor=b):d?p.fg=b:p.bg=b}}}}}if(p.fg===null&&p.bg===null&&p.decorations.length===0)return s;{let u=[],m=[],d={};return s.fg=p.fg,s.bg=p.bg,s.fg_truecolor=p.fg_truecolor,s.bg_truecolor=p.bg_truecolor,s.decorations=p.decorations,s.decoration=p.decorations.slice(-1).pop()||null,s.was_processed=!0,s}}processChunk(t,n,a){n=n||{};let i=this.processChunkJson(t,n,a),r=n.use_classes;if(i.decorations=i.decorations.filter(u=>{if(u==="reverse"){i.fg||(i.fg=J3[0][7][r?"class":"color"]),i.bg||(i.bg=J3[0][0][r?"class":"color"]);let m=i.fg;i.fg=i.bg,i.bg=m;let d=i.fg_truecolor;return i.fg_truecolor=i.bg_truecolor,i.bg_truecolor=d,i.isInverted=!0,!1}return!0}),n.json)return i;if(i.isEmpty())return"";if(!i.was_processed)return i.content;let s=[],c=[],o=[],l={},p=u=>{let m=[],d;for(d in u)u.hasOwnProperty(d)&&m.push("data-"+d+'="'+this.escapeForHtml(u[d])+'"');return m.length>0?" "+m.join(" "):""};return i.isInverted&&(l["ansi-is-inverted"]="true"),i.fg&&(r?(s.push(i.fg+"-fg"),i.fg_truecolor!==null&&(l["ansi-truecolor-fg"]=i.fg_truecolor,i.fg_truecolor=null)):s.push("color:rgb("+i.fg+")")),i.bg&&(r?(s.push(i.bg+"-bg"),i.bg_truecolor!==null&&(l["ansi-truecolor-bg"]=i.bg_truecolor,i.bg_truecolor=null)):s.push("background-color:rgb("+i.bg+")")),i.decorations.forEach(u=>{if(r){c.push("ansi-"+u);return}u==="bold"?c.push("font-weight:bold"):u==="dim"?c.push("opacity:0.5"):u==="italic"?c.push("font-style:italic"):u==="hidden"?c.push("visibility:hidden"):u==="strikethrough"?o.push("line-through"):o.push(u)}),o.length&&c.push("text-decoration:"+o.join(" ")),r?'"+i.content+"":'"+i.content+""}removeDecoration(t){let n=this.decorations.indexOf(t);n>=0&&this.decorations.splice(n,1)}};yv.exports=Xs});var P_={};u1(P_,{default:()=>p7});var pT,p7,qa=n1(()=>{pT=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":"`|(?))","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":"(]|(?=\\"))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?)","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)|((?^]?[- +]?#?\\\\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(?>|[\\\\&^|~])|(\\\\*\\\\*|[-%*+]|//|[/@])|(!=|==|>=|<=|[<>])|(:=)"},"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":"(\\")|(?)","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":"(]|(?=\'))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\'))|((?=(?)","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(?^]?[- +]?#?\\\\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)|((?{uT=Object.freeze(JSON.parse('{"displayName":"JavaScript","name":"javascript","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.js"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?))","end":"(/>)|()","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:]]*)(?)","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":"(?=|/\\\\*|//)"},"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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","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":"()","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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","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":"(?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.js"}},"name":"meta.type.parameters.js","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js"}},"end":"(?=$|^|[]),;}]|((?G0});var mT,G0,Ve=n1(()=>{mT=Object.freeze(JSON.parse('{"displayName":"CSS","name":"css","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"include":"#combinator-invalid"},{"include":"#selector"},{"include":"#at-rules"},{"include":"#rule-list"}],"repository":{"arithmetic-operators":{"match":"[*/]|(?<=\\\\s|^)[-+](?=\\\\s|$)","name":"keyword.operator.arithmetic.css"},"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"},{"match":"\\\\s+"},{"include":"#layer-import"},{"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":"#rule-list-innards"},{"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)(?>>","name":"invalid.deprecated.combinator.css"},"combinators":{"patterns":[{"include":"#combinator-invalid"},{"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":"^(?]|/\\\\*)"},"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"},{"include":"#functions"}]}]},"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)(?A-\\\\[a-z|~[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.)|[#.](?:[-\\\\w]|\\\\\\\\(?:\\\\h{1,6}|.))|::??[-A-Za-z])(?![-\\\\w]*:+\\\\s|[^{]*;|[^{]*}|[^:]+(::):+)","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.nesting.css"},{"match":"\\\\*","name":"entity.name.tag.wildcard.css"},{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#escapes"}]}},"match":"(?\\\\[{|~\\\\s]|/\\\\*)|(?:[-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":"(?\\\\[{|~\\\\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":"(?I2});var dT,I2,u4=n1(()=>{ee();Ve();dT=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}\uFDD0-\uFDEF\uFFFE\uFFFF\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\\\\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":"","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.cdata.html"},"comment":{"begin":"","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":"","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)()","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}\uFDD0-\uFDEF\uFFFE\uFFFF\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()","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}\uFDD0-\uFDEF\uFFFE\uFFFF\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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":"(\\\\s]*))(?)","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":"(?=)","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":"(?=|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":"(?=)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.script.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?!\\\\G)","end":"(?=)","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)()","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)()","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)()","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)()","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)()","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)()","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)()","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)()","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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]*-[-.0-9A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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":"()","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"]}')),I2=[...w0,...G0,dT]});var hT,G_,O_=n1(()=>{ee();Ve();hT=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":"$|(?![#(.\\\\[{]|&|[-=~]|!=|&=|/)","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":"(?Zo});var gT,Zo,Eo=n1(()=>{gT=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":"(?","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":"(?>>?|[\\\\^~])","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(?)?(\\\\()","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"}')),Zo=[gT]});var U_={};u1(U_,{default:()=>y3});var bT,y3,rt=n1(()=>{Eo();bT=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":"()","name":"meta.tag.sgml.doctype.xml","patterns":[{"include":"#internalSubset"}]},{"include":"#comments"},{"begin":"(<)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(?=(\\\\s[^>]*)?>)","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":"(>)()","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":"()","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":"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.unquoted.cdata.xml"}],"repository":{"EntityDecl":{"begin":"()","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":"","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"]}')),y3=[...Zo,bT]});var X_={};u1(X_,{default:()=>_3});var fT,_3,st=n1(()=>{fT=Object.freeze(JSON.parse('{"displayName":"SQL","name":"sql","patterns":[{"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":"(?{vT=Object.freeze(JSON.parse('{"displayName":"JSX","name":"jsx","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.js.jsx"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?))","end":"(/>)|()","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:]]*)(?)","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":"(?=|/\\\\*|//)"},"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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","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":"()","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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","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":"(?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.js.jsx"}},"name":"meta.type.parameters.js.jsx","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js.jsx"}},"end":"(?=$|^|[]),;}]|((?{yT=Object.freeze(JSON.parse('{"displayName":"TSX","name":"tsx","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.tsx"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?))","end":"(/>)|()","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:]]*)(?)","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":"(?=|/\\\\*|//)"},"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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","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":"()","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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","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":"(?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.tsx"}},"name":"meta.type.parameters.tsx","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.tsx"}},"end":"(?=$|^|[]),;}]|((?u7});var _T,u7,Ia=n1(()=>{ee();P6();Y_();J_();_T=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"]}')),u7=[...w0,...K3,...K_,...Q_,_T]});var wT,Ba,Fo=n1(()=>{wT=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":{"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"]}')),Ba=[wT]});var tw={};u1(tw,{default:()=>U4});var xT,U4,m7=n1(()=>{xT=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+((?","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":"(?=/[*/])|(?]+|\\\\(\\\\)|\\\\[]))\\\\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":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?\\\\s*)(//[!/]+)","beginCaptures":{"1":{"name":"punctuation.definition.comment.documentation.c"}},"end":"(?<=\\\\n)(?]|::|\\\\||---??)\\\\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":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?]+|\\\\(\\\\)|\\\\[]))\\\\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)(?\\\\*?))"}]},"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)))*)?((?>|\\\\|)=","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:(?]+|\\\\(\\\\)|\\\\[])\\\\s*\\\\()","end":"(?<=\\\\))(?!\\\\w)|(?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.c"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.c"}},"end":"(\\\\))|(?])\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(?=(?:\\\\[]\\\\s*)?[),])"},"static_assert":{"begin":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\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:(?\\\\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":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\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":"(((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"(?{m7();kT=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"]}')),Pa=[...U4,kT]});var zT,nw,aw=n1(()=>{Fo();jo();zT=Object.freeze(JSON.parse('{"displayName":"C++","name":"cpp-macro","patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"source.cpp#simple_array_assignment"},{"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":"\\\\)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"\\\\)|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"\\\\)|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(::))?\\\\s+{0,1}((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)([A-Z][0-9A-Z_]*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.function.call.upper-case.cpp 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_helper"}]},"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 punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp"}},"end":"\\\\)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"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_helper"}]},"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":"\\\\)|(?=(?|\\\\*/))\\\\s*+(?:((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?)((?:\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"}]},"lambdas":{"begin":"(?:(?<=\\\\S|^)(?\\\\[\\\\w])|(?<=(?:\\\\W|^)return))\\\\s+{0,1}(\\\\[(?!\\\\[| *+\\"| *+\\\\d))((?:[^]\\\\[]|((??)++]))*+)(](?!((?:\\\\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":"(?<=[;}])|(?=(?","beginCaptures":{"0":{"name":"punctuation.definition.lambda.return-type.cpp"}},"end":"(?=\\\\{)|(?=(?\\\\*?))((?:(?:[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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"},"13":{"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.lower-case.cpp variable.other.object.property.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.property.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.property.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.property.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"14":{"name":"entity.name.function.member.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"end":"\\\\)|(?=(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=)))","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":"meta.assignment.cpp"},"6":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(operator)(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(?:(?:(delete\\\\[]|delete|new\\\\[]|<=>|<<=|new|>>=|->\\\\*|/=|%=|&=|>=|\\\\|=|\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|<<|>>|--|<=|\\\\^=|==|!=|&&|\\\\|\\\\||\\\\+=|-=|\\\\*=|[!%\\\\&*-\\\\-/<=>^|~])|((?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[-%*+]|(?>|\\\\|)=)|(=)"},{"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":"(?:(?=\\\\))|(,))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(:)(?!:)"},{"captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(,)((?:\\\\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)(])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:)(?!:)","name":"meta.binding.cpp"},{"include":"#evaluation_context"}]},"requires_keyword":{"begin":"((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)?((?X4});var CT,X4,d7=n1(()=>{aw();Fo();jo();CT=Object.freeze(JSON.parse('{"displayName":"C++","name":"cpp","patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"#simple_array_assignment"},{"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+((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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":"((?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\b(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"((?|\\\\?\\\\?>","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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"((?|\\\\?\\\\?>","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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?]*(>?)(((?:\\\\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"},"decltype":{"begin":"((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(::))?\\\\s+{0,1}((?|\\\\?\\\\?>)\\\\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":"((?|\\\\?\\\\?>)\\\\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":"#simple_array_assignment"},{"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":"#over_qualified_types"},{"include":"#normal_variable_assignment"},{"include":"#normal_variable_declaration"},{"include":"#switch_statement"},{"include":"#goto_statement"},{"include":"#evaluation_context"},{"include":"#label"}]},"function_call":{"patterns":[{"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)([A-Z][0-9A-Z_]*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.function.call.upper-case.cpp 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_helper"}]},"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 punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.cpp punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"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_helper"}]},"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*+(?:((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"(?)((?:\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()","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"},"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.modifier.specifier.functional.post-parameters.$10.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"}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()","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"},"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.modifier.specifier.functional.post-parameters.$10.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"}},"patterns":[{"include":"#function_parameter_context"}]},"functional_specifiers_pre_parameters":{"match":"(?]*(>?)(((?:\\\\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":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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])|(?<=(?:\\\\W|^)return))\\\\s+{0,1}(\\\\[(?!\\\\[| *+\\"| *+\\\\d))((?:[^]\\\\[]|((??)++]))*+)(](?!((?:\\\\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":"(?","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":"#function_body_context"}]}]},"language_constants":{"match":"(?\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"12":{"name":"variable.other.property.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+{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)((?\\\\*?))((?:(?:[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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"},"13":{"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.lower-case.cpp variable.other.object.property.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.property.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.property.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.property.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"14":{"name":"entity.name.function.member.cpp"},"15":{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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"},{"include":"#normal_variable_assignment"},{"include":"#normal_variable_declaration"},{"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_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>","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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=)))","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":"meta.assignment.cpp"},"6":{"patterns":[{"include":"#storage_specifiers"}]},"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":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(operator)(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(?:(?:(delete\\\\[]|delete|new\\\\[]|<=>|<<=|new|>>=|->\\\\*|/=|%=|&=|>=|\\\\|=|\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|<<|>>|--|<=|\\\\^=|==|!=|&&|\\\\|\\\\||\\\\+=|-=|\\\\*=|[!%\\\\&*-\\\\-/<=>^|~])|((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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_helper"},{"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":"((?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[-%*+]|(?>|\\\\|)=)|(=)"},{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w])","name":"meta.qualified-type.cpp"},"qualifiers_and_specifiers_post_parameters":{"patterns":[{"begin":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(:)(?!:)"},{"captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"#storage_specifiers"}]},"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":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(,)((?:\\\\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)(])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:)(?!:)","name":"meta.binding.cpp"},{"include":"#evaluation_context"}]},"requires_keyword":{"begin":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.operator-overload.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.alias.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.block.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.using.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.parameter.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"semicolon":{"match":";","name":"punctuation.terminator.statement.cpp"},"simple_array_assignment":{"captures":{"1":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=))"},"simple_constructor_call":{"captures":{"1":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(?=(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?"},"sizeof_operator":{"begin":"((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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":"((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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_helper"},{"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_helper"}]},"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*+","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_call_range_helper":{"patterns":[{"captures":{"1":{"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)))*)?(?:(?","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}))*))|(?)\\\\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":"(?)\\\\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":"#constructor_bracket_call"},{"include":"#simple_constructor_call"},{"include":"#simple_array_assignment"},{"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"},{"include":"#unknown_variable"}]},"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))|(.*(?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()","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"},"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.modifier.specifier.functional.post-parameters.$10.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"}},"patterns":[{"include":"#function_parameter_context"}]}]},"typedef_struct":{"begin":"((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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)((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)?((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=))","name":"meta.assignment.cpp"},"variable_declare":{"captures":{"1":{"patterns":[{"include":"#storage_specifiers"}]},"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":{"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":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?Ho});var AT,Ho,No=n1(()=>{m7();AT=Object.freeze(JSON.parse('{"displayName":"Lua","name":"lua","patterns":[{"begin":"\\\\b(?:(local)\\\\s+)?(function)\\\\b(?![,:])","beginCaptures":{"1":{"name":"keyword.local.lua"},"2":{"name":"keyword.control.lua"}},"end":"(?<=[-\\\\]\\"\')\\\\[{}])","name":"meta.function.lua","patterns":[{"include":"#comment"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.lua"}},"end":"(\\\\))|(?=[-\\\\]\\"\'\\\\[{}])|(?"},{"match":"<[*A-Z_a-z][-*.0-9A-Z_a-z]*>","name":"storage.type.generic.lua"},{"match":"\\\\b(break|do|else|for|if|elseif|goto|return|then|repeat|while|until|end|in)\\\\b","name":"keyword.control.lua"},{"match":"\\\\b(local)\\\\b","name":"keyword.local.lua"},{"captures":{"1":{"name":"keyword.global.lua"}},"match":"^\\\\s*(global)\\\\b(?!\\\\s*=)"},{"match":"\\\\b(function)\\\\b(?![,:])","name":"keyword.control.lua"},{"match":"(?=?|(?]","name":"keyword.operator.lua"}]},{"begin":"(?<=---)[\\\\t ]*@see","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"match":"\\\\b([*A-Z_a-z][-*.0-9A-Z_a-z]*)","name":"support.class.lua"},{"match":"#","name":"keyword.operator.lua"}]},{"begin":"(?<=---)[\\\\t ]*@diagnostic","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"begin":"([-0-9A-Z_a-z]+)[\\\\t ]*(:)?","beginCaptures":{"1":{"name":"keyword.other.unit"},"2":{"name":"keyword.operator.unit"}},"end":"(?=\\\\n)","patterns":[{"match":"\\\\b([*A-Z_a-z][-0-9A-Z_a-z]*)","name":"support.class.lua"},{"match":",","name":"keyword.operator.lua"}]}]},{"begin":"(?<=---)[\\\\t ]*@module","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"include":"#string"}]},{"match":"(?<=---)[\\\\t ]*@(async|nodiscard)","name":"storage.type.annotation.lua"},{"begin":"(?<=---)\\\\|\\\\s*[+>]?","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"include":"#string"}]}]},"emmydoc.type":{"patterns":[{"begin":"\\\\bfun\\\\b","beginCaptures":{"0":{"name":"keyword.control.lua"}},"end":"(?=[#\\\\s])","patterns":[{"match":"[](),:<>?\\\\[][\\\\t ]*","name":"keyword.operator.lua"},{"match":"([A-Z_a-z][-*.0-9A-Z_a-z]*)(?","name":"storage.type.generic.lua"},{"match":"\\\\basync\\\\b","name":"entity.name.tag.lua"},{"match":"[,:?`{|}][\\\\t ]*","name":"keyword.operator.lua"},{"begin":"(?=[\\"\'*.A-\\\\[_a-z])","end":"(?=[#),:?|}\\\\s])","patterns":[{"match":"([-\\\\]*,.0-9<>A-\\\\[_a-z]+)(?h7});var MT,h7,Ra=n1(()=>{MT=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"]}')),h7=[MT]});var cw={};u1(cw,{default:()=>To});var $T,To,Vo=n1(()=>{u4();O_();rt();st();Ia();Ve();d7();m7();ee();R6();No();Ra();$T=Object.freeze(JSON.parse('{"displayName":"Ruby","name":"ruby","patterns":[{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"entity.name.type.class.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"},"7":{"name":"punctuation.separator.inheritance.ruby"},"8":{"name":"entity.other.inherited-class.ruby"},"11":{"name":"punctuation.separator.namespace.ruby"}},"match":"\\\\b(class)\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)\\\\s*((<)\\\\s*(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*))?","name":"meta.class.ruby"},{"captures":{"1":{"name":"keyword.control.module.ruby"},"2":{"name":"entity.name.type.module.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"}},"match":"\\\\b(module)\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)","name":"meta.module.ruby"},{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"punctuation.separator.inheritance.ruby"}},"match":"\\\\b(class)\\\\s*(<<)\\\\s*","name":"meta.class.ruby"},{"match":"(?>)=)"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"},"4":{"name":"keyword.operator.assignment.augmented.ruby"}},"match":"(?>)=)"},{"captures":{"1":{"name":"variable.ruby"}},"match":"^\\\\s*([_a-z][0-9A-Z_a-z]*)\\\\s*(?==[^=>])"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"}},"match":"(?]"},{"captures":{"1":{"name":"punctuation.definition.constant.hashkey.ruby"}},"match":"(?>[A-Z_a-z]\\\\w*[!?]?)(:)(?!:)","name":"constant.language.symbol.hashkey.ruby"},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"match":"(?[A-Z_a-z]\\\\w*[!?]?)(?=\\\\s*=>)","name":"constant.language.symbol.hashkey.ruby"},{"match":"(?)\\\\(","beginCaptures":{"1":{"name":"support.function.kernel.ruby"}},"end":"\\\\)","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[),])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"},"3":{"name":"punctuation.definition.parameters.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.ruby"}},"name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[),])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))[\\\\t ](?=[\\\\t ]*[^#;\\\\s])","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"}},"end":"(?=;)|(?<=[]!\\"\')?`}\\\\w])(?=\\\\s*#|\\\\s*$)","name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[,;]|\\\\s*#|\\\\s*$)","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"captures":{"1":{"name":"keyword.control.def.ruby"},"3":{"name":"entity.name.function.ruby"}},"match":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?)))?","name":"meta.function.method.without-arguments.ruby"},{"match":"\\\\b(\\\\d(?>_?\\\\d)*(\\\\.(?![^\\\\s\\\\d])(?>_?\\\\d)*)?([Ee][-+]?\\\\d(?>_?\\\\d)*)?|0(?:[Xx]\\\\h(?>_?\\\\h)*|[Oo]?[0-7](?>_?[0-7])*|[Bb][01](?>_?[01])*|[Dd]\\\\d(?>_?\\\\d)*))\\\\b","name":"constant.numeric.ruby"},{"begin":":\'","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.ruby"}]},{"begin":":\\"","beginCaptures":{"0":{"name":"punctuation.section.symbol.begin.ruby"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.section.symbol.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"match":"(?|=>|==|=~|!~|!=|;|$|if|else|elsif|then|do|end|unless|while|until|or|and))","captures":{"1":{"name":"string.regexp.interpolated.ruby"},"2":{"name":"punctuation.section.regexp.ruby"}},"contentName":"string.regexp.interpolated.ruby","end":"((/[eimnosux]*))","patterns":[{"include":"#regex_sub"}]},{"begin":"%r\\\\{","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"}[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},{"begin":"%r\\\\[","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"][eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},{"begin":"%r\\\\(","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\\\)[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},{"begin":"%r<","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":">[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},{"begin":"%r(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\\\1[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"%I\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%I\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%I<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%I\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%I(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%i\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%i\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%i<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%i\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%i(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%W\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%W\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%W<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%W\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%W(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%w\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%w\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%w<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%w\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%w(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%[Qx]?\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%[Qx]?\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%[Qx]?\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%[Qx]?<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%[Qx](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%([^=\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%q\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%q<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%q\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%q\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%q(\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%s\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%s<","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%s\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%s\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%s(\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\."}]},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"match":"(?[$A-Z_a-z]\\\\w*(?>[!?]|=(?![=>]))?|===?|<=>|>[=>]?|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?|@@?[A-Z_a-z]\\\\w*)","name":"constant.language.symbol.ruby"},{"begin":"^=begin","captures":{"0":{"name":"punctuation.definition.comment.ruby"}},"end":"^=end","name":"comment.block.documentation.ruby"},{"include":"#yard"},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ruby"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"end":"\\\\n","name":"comment.line.number-sign.ruby"}]},{"match":"(?<<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)HTML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.html","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.html","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.html.basic"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)HTML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)HAML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.haml","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.haml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.haml"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)HAML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)XML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.xml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.xml"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)XML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)SQL)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.sql","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.sql"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)SQL)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)G(?:RAPHQL|QL))$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.graphql","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.graphql","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.graphql"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)CSS)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.css","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.css","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.css"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)CSS)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)CPP)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.cpp","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.cpp","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.cpp"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)CPP)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)C)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.c","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.c","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.c"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)C)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.js","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.js","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)JQUERY)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.js.jquery","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.js.jquery","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js.jquery"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)JQUERY)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)SH(?:|ELL))$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.shell","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.shell","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.shell"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)SH(?:|ELL))\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)LUA)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.lua","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.lua","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.lua"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)LUA)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)RUBY)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.ruby","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.ruby"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)RUBY)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)YA?ML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)YA?ML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.yaml","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)YA?ML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.yaml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.yaml"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)YA?ML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)SLIM)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.slim","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.slim","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.slim"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)SLIM)\\\\s*$)"}]},{"begin":"(?>=\\\\s*<<([\\"\'`]?)([A-Z_a-z]\\\\w*)\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"string.unquoted.heredoc.ruby","end":"^\\\\2$","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?>((<<[-~]?([\\"\'`]?)([A-Z_a-z]\\\\w*)\\\\3,\\\\s?)*<<[-~]?([\\"\'`]?)([A-Z_a-z]\\\\w*)\\\\5))(.*)","beginCaptures":{"1":{"name":"string.definition.begin.ruby"},"7":{"patterns":[{"include":"source.ruby"}]}},"contentName":"string.unquoted.heredoc.ruby","end":"^\\\\s*\\\\6$","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?<=\\\\{|\\\\{\\\\s+|[^$0-:@-Z_a-z]do|^do|[^$0-:@-Z_a-z]do\\\\s+|^do\\\\s+)(\\\\|)","captures":{"1":{"name":"punctuation.separator.variable.ruby"}},"end":"(?","name":"punctuation.separator.key-value"},{"match":"->","name":"support.function.kernel.ruby"},{"match":"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<","name":"keyword.operator.assignment.augmented.ruby"},{"match":"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\t ])\\\\?","name":"keyword.operator.comparison.ruby"},{"match":"(?>","name":"keyword.operator.other.ruby"},{"match":";","name":"punctuation.separator.statement.ruby"},{"match":",","name":"punctuation.separator.object.ruby"},{"captures":{"1":{"name":"punctuation.separator.namespace.ruby"}},"match":"(::)\\\\s*(?=[A-Z])"},{"captures":{"1":{"name":"punctuation.separator.method.ruby"}},"match":"(\\\\.|::)\\\\s*(?![A-Z])"},{"match":":","name":"punctuation.separator.other.ruby"},{"match":"\\\\{","name":"punctuation.section.scope.begin.ruby"},{"match":"}","name":"punctuation.section.scope.end.ruby"},{"match":"\\\\[","name":"punctuation.section.array.begin.ruby"},{"match":"]","name":"punctuation.section.array.end.ruby"},{"match":"[()]","name":"punctuation.section.function.ruby"},{"begin":"(?<=[^.]\\\\.|::)(?=[A-Za-z][!0-9?A-Z_a-z]*[^!0-9?A-Z_a-z])","end":"(?<=[!0-9?A-Z_a-z])(?=[^!0-9?A-Z_a-z])","name":"meta.function-call.ruby","patterns":[{"match":"([A-Za-z][!0-9?A-Z_a-z]*)(?=[^!0-9?A-Z_a-z])","name":"entity.name.function.ruby"}]},{"begin":"([A-Za-z]\\\\w*[!?]?)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.ruby"},"2":{"name":"punctuation.section.function.ruby"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.function.ruby"}},"name":"meta.function-call.ruby","patterns":[{"include":"$self"}]}],"repository":{"escaped_char":{"match":"\\\\\\\\(?:[0-7]{1,3}|x[A-Fa-f\\\\d]{1,2}|.)","name":"constant.character.escape.ruby"},"heredoc":{"begin":"^<<[-~]?[A-Z_a-z]\\\\w*","end":"$","patterns":[{"include":"$self"}]},"interpolated_ruby":{"patterns":[{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.ruby"}},"contentName":"source.ruby","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.ruby"}},"name":"meta.embedded.line.ruby","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}]},{"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"}]},"method_parameters":{"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"#params"},{"include":"$self"}],"repository":{"braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"brackets":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"params":{"captures":{"1":{"name":"storage.type.variable.ruby"},"2":{"name":"constant.other.symbol.hashkey.parameter.function.ruby"},"3":{"name":"punctuation.definition.constant.ruby"},"4":{"name":"variable.parameter.function.ruby"}},"match":"\\\\G(&|\\\\*\\\\*?)?(?:([A-Z_a-z]\\\\w*[!?]?(:))|([A-Z_a-z]\\\\w*))"},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.function.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]}}},"nest_brackets":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#nest_brackets"}]},"nest_brackets_i":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},"nest_brackets_r":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]},"nest_curly_i":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},"nest_curly_r":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},"nest_ltgt":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#nest_ltgt"}]},"nest_ltgt_i":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},"nest_ltgt_r":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},"nest_parens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#nest_parens"}]},"nest_parens_i":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},"nest_parens_r":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},"regex_sub":{"patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.ruby"},"3":{"name":"punctuation.definition.arbitrary-repetition.ruby"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.ruby"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.ruby"}},"end":"]","name":"string.regexp.character-class.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.ruby"}},"name":"comment.line.number-sign.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.group.ruby"}},"end":"\\\\)","name":"string.regexp.group.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"(?<=^|\\\\s)(#)\\\\s(?=[-\\\\t !,.0-9?A-Za-z[^\\\\x00-\\\\x7F]]*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ruby"}},"end":"$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"name":"comment.line.number-sign.ruby"}]},"yard":{"patterns":[{"include":"#yard_comment"},{"include":"#yard_param_types"},{"include":"#yard_option"},{"include":"#yard_tag"},{"include":"#yard_types"},{"include":"#yard_directive"},{"include":"#yard_see"},{"include":"#yard_macro_attribute"}]},"yard_comment":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\\\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_continuation":{"match":"^\\\\s*#","name":"punctuation.definition.comment.ruby"},"yard_directive":{"begin":"^(\\\\s*)(#)(\\\\s*)(@!)(endgroup|group|method|parse|scope|visibility)(\\\\s+((\\\\[).+(])))?(?=\\\\s)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_macro_attribute":{"begin":"^(\\\\s*)(#)(\\\\s*)(@!)(attribute|macro)(\\\\s+((\\\\[).+(])))?(?=\\\\s)(\\\\s+([_a-z]\\\\w*:?))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"11":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_option":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(option)(?=\\\\s)(?>\\\\s+([_a-z]\\\\w*:?))?(?>\\\\s+((\\\\[).+(])))?(?>\\\\s+((\\\\S*)))?(?>\\\\s+((\\\\().+(\\\\))))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.keyword.yard.ruby"},"11":{"name":"comment.line.hashkey.yard.ruby"},"12":{"name":"comment.line.defaultvalue.yard.ruby"},"13":{"name":"comment.line.punctuation.yard.ruby"},"14":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_param_types":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(attr|attr_reader|attr_writer|yieldparam|param)(?=\\\\s)(?>\\\\s+(?>([_a-z]\\\\w*:?)|((\\\\[).+(]))))?(?>\\\\s+(?>((\\\\[).+(]))|([_a-z]\\\\w*:?)))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.type.yard.ruby"},"11":{"name":"comment.line.punctuation.yard.ruby"},"12":{"name":"comment.line.punctuation.yard.ruby"},"13":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_see":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(see)(?=\\\\s)(\\\\s+(.+?))?(?=\\\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_tag":{"captures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"match":"^(\\\\s*)(#)(\\\\s*)(@)(private)$","name":"comment.line.number-sign.ruby"},"yard_types":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(raise|return|yield(?:return)?)(?=\\\\s)(\\\\s+((\\\\[).+(])))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]}},"scopeName":"source.ruby","embeddedLangs":["html","haml","xml","sql","graphql","css","cpp","c","javascript","shellscript","lua","yaml"],"aliases":["rb"]}')),To=[...I2,...G_,...y3,..._3,...u7,...G0,...X4,...U4,...w0,...Y3,...Ho,...h7,$T]});var ow={};u1(ow,{default:()=>ST});var LT,ST,lw=n1(()=>{LT=Object.freeze(JSON.parse('{"displayName":"Go","name":"go","patterns":[{"include":"#statements"}],"repository":{"after_control_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"variable.other.go"}]}},"match":"(?<=\\\\brange\\\\b|;|\\\\bif\\\\b|\\\\bfor\\\\b|[<>]|<=|>=|==|!=|\\\\w[-%*+/]|\\\\w[-%*+/]=|\\\\|\\\\||&&)\\\\s*((?![]\\\\[]+)[-\\\\]!%*+./:<=>\\\\[_[:alnum:]]+)\\\\s*(?=\\\\{)"},"brackets":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"$self"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"$self"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"$self"}]}]},"built_in_functions":{"patterns":[{"match":"\\\\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\\\\b(?=\\\\()","name":"entity.name.function.support.builtin.go"},{"begin":"\\\\b(new)\\\\b(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.support.builtin.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#functions"},{"include":"#struct_variables_types"},{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#generic_types"},{"match":"\\\\w+","name":"entity.name.type.go"},{"include":"$self"}]},{"begin":"\\\\b(make)\\\\b(\\\\()((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?[]*\\\\[]+{0,1}(?:(?!\\\\bmap\\\\b)[.\\\\w]+)?(\\\\[(?:\\\\S+(?:,\\\\s*\\\\S+)*)?])?,?)?","beginCaptures":{"1":{"name":"entity.name.function.support.builtin.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"},"3":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"$self"}]}]},"comments":{"patterns":[{"begin":"(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"end":"(\\\\*/)","endCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"name":"comment.block.go"},{"begin":"(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"end":"\\\\n|$","name":"comment.line.double-slash.go"}]},"const_assignment":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.constant.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\bconst\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"begin":"(?<=\\\\bconst\\\\b)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.constant.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"include":"$self"}]}]},"delimiters":{"patterns":[{"match":",","name":"punctuation.other.comma.go"},{"match":"\\\\.(?!\\\\.\\\\.)","name":"punctuation.other.period.go"},{"match":":(?!=)","name":"punctuation.other.colon.go"}]},"double_parentheses_types":{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?\\\\[\\\\w]+\\\\s*(?:/[*/].*)?)$"},{"include":"$self"}]},"function_param_types":{"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$"},{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.parameter.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[]*.\\\\[\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:[]*\\\\[]+{0,1}[*.\\\\w]+(?:\\\\[[^]]+])?[*.\\\\w]+{0,1})+))"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"([.\\\\w]+)"},{"include":"$self"}]},"functions":{"begin":"\\\\b(func)\\\\b(?=\\\\()","beginCaptures":{"1":{"name":"keyword.function.go"}},"end":"(?<=\\\\))(\\\\s*(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(\\\\s*(?:[]*\\\\[]+{0,1}[*.\\\\w]+)?(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+]|\\\\([^)]+{0,1}\\\\))?[*.\\\\w]+{0,1}\\\\s*(?=\\\\{)|\\\\s*(?:[]*\\\\[]+{0,1}(?!\\\\bfunc\\\\b)[*.\\\\w]+(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])?[*.\\\\w]+{0,1}|\\\\([^)]+{0,1}\\\\)))?","endCaptures":{"1":{"patterns":[{"include":"#type-declarations"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#parameter-variable-types"}]},"functions_inline":{"captures":{"1":{"name":"keyword.function.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b(func)\\\\b(\\\\([^/]*?\\\\)\\\\s+\\\\([^/]*?\\\\))\\\\s+(?=\\\\{)"},"generic_param_types":{"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$"},{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.parameter.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"3":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[*.\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:(?:[*.~\\\\w]+|\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])[*.\\\\w]+{0,1})+))"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b([.\\\\w]+)"},{"include":"$self"}]},"generic_types":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"patterns":[{"include":"#parameter-variable-types"}]}},"match":"([*.\\\\w]+)(\\\\[[^]]+{0,1}])"},"group-functions":{"patterns":[{"include":"#function_declaration"},{"include":"#functions_inline"},{"include":"#functions"},{"include":"#built_in_functions"},{"include":"#support_functions"}]},"group-types":{"patterns":[{"include":"#other_struct_interface_expressions"},{"include":"#type_assertion_inline"},{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#single_type"},{"include":"#multi_types"},{"include":"#struct_interface_declaration"},{"include":"#double_parentheses_types"},{"include":"#switch_types"},{"include":"#type-declarations"}]},"group-variables":{"patterns":[{"include":"#const_assignment"},{"include":"#var_assignment"},{"include":"#variable_assignment"},{"include":"#label_loop_variables"},{"include":"#slice_index_variables"},{"include":"#property_variables"},{"include":"#switch_variables"},{"include":"#other_variables"}]},"hover":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"match":"\\\\binvalid\\\\b\\\\s+\\\\btype\\\\b","name":"invalid.field.go"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=^\\\\bfield\\\\b)\\\\s+([*.\\\\w]+)\\\\s+([\\\\s\\\\S]+)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=^\\\\breturns\\\\b)\\\\s+([\\\\s\\\\S]+)"}]},"import":{"patterns":[{"begin":"\\\\b(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.import.go"}},"end":"(?!\\\\G)","patterns":[{"include":"#imports"}]}]},"imports":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.import.go"}]},"2":{"name":"string.quoted.double.go"},"3":{"name":"punctuation.definition.string.begin.go"},"4":{"name":"entity.name.import.go"},"5":{"name":"punctuation.definition.string.end.go"}},"match":"(\\\\s*[.\\\\w]+)?\\\\s*((\\")([^\\"]*)(\\"))"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.imports.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.imports.end.bracket.round.go"}},"patterns":[{"include":"#comments"},{"include":"#imports"}]},{"include":"$self"}]},"interface_variables_types":{"begin":"\\\\b(interface)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.interface.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}]},"interface_variables_types_field":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations-without-brackets"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"([.\\\\w]+)"}]},"keywords":{"patterns":[{"match":"\\\\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\\\\b","name":"keyword.control.go"},{"match":"\\\\bchan\\\\b","name":"keyword.channel.go"},{"match":"\\\\bconst\\\\b","name":"keyword.const.go"},{"match":"\\\\bvar\\\\b","name":"keyword.var.go"},{"match":"\\\\bfunc\\\\b","name":"keyword.function.go"},{"match":"\\\\binterface\\\\b","name":"keyword.interface.go"},{"match":"\\\\bmap\\\\b","name":"keyword.map.go"},{"match":"\\\\bstruct\\\\b","name":"keyword.struct.go"},{"match":"\\\\bimport\\\\b","name":"keyword.control.import.go"},{"match":"\\\\btype\\\\b","name":"keyword.type.go"}]},"label_loop_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.label.go"}]}},"match":"^(\\\\s*\\\\w+:\\\\s*|\\\\s*\\\\b(?:break|goto|continue)\\\\b\\\\s+\\\\w+(?:\\\\s*/[*/]\\\\s*.*)?)$"},"language_constants":{"captures":{"1":{"name":"constant.language.boolean.go"},"2":{"name":"constant.language.null.go"},"3":{"name":"constant.language.iota.go"}},"match":"\\\\b(?:(true|false)|(nil)|(iota))\\\\b"},"map_types":{"begin":"\\\\b(map)\\\\b(\\\\[)","beginCaptures":{"1":{"name":"keyword.map.go"},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"(])((?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:func|struct|map)\\\\b)[]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?)?","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.square.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"include":"#functions"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"multi_types":{"begin":"\\\\b(type)\\\\b\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"numeric_literals":{"captures":{"0":{"patterns":[{"begin":"(?=.)","end":"\\\\n|$","patterns":[{"captures":{"1":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"2":{"name":"punctuation.separator.constant.numeric.go"},"3":{"name":"constant.numeric.decimal.point.go"},"4":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"5":{"name":"punctuation.separator.constant.numeric.go"},"6":{"name":"keyword.other.unit.exponent.decimal.go"},"7":{"name":"keyword.operator.plus.exponent.decimal.go"},"8":{"name":"keyword.operator.minus.exponent.decimal.go"},"9":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"10":{"name":"keyword.other.unit.imaginary.go"},"11":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"12":{"name":"punctuation.separator.constant.numeric.go"},"13":{"name":"keyword.other.unit.exponent.decimal.go"},"14":{"name":"keyword.operator.plus.exponent.decimal.go"},"15":{"name":"keyword.operator.minus.exponent.decimal.go"},"16":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"17":{"name":"keyword.other.unit.imaginary.go"},"18":{"name":"constant.numeric.decimal.point.go"},"19":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"20":{"name":"punctuation.separator.constant.numeric.go"},"21":{"name":"keyword.other.unit.exponent.decimal.go"},"22":{"name":"keyword.operator.plus.exponent.decimal.go"},"23":{"name":"keyword.operator.minus.exponent.decimal.go"},"24":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"25":{"name":"keyword.other.unit.imaginary.go"},"26":{"name":"keyword.other.unit.hexadecimal.go"},"27":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"28":{"name":"punctuation.separator.constant.numeric.go"},"29":{"name":"constant.numeric.hexadecimal.go"},"30":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"31":{"name":"punctuation.separator.constant.numeric.go"},"32":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"33":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"34":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"35":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"36":{"name":"keyword.other.unit.imaginary.go"},"37":{"name":"keyword.other.unit.hexadecimal.go"},"38":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"39":{"name":"punctuation.separator.constant.numeric.go"},"40":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"41":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"42":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"43":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"44":{"name":"keyword.other.unit.imaginary.go"},"45":{"name":"keyword.other.unit.hexadecimal.go"},"46":{"name":"constant.numeric.hexadecimal.go"},"47":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"48":{"name":"punctuation.separator.constant.numeric.go"},"49":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"50":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"51":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"52":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"53":{"name":"keyword.other.unit.imaginary.go"}},"match":"\\\\G(?:(?:(?:(?:(?:(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)?(?:(?=|<(?!<)|>(?!>))","name":"keyword.operator.comparison.go"},{"match":"(&&|\\\\|\\\\||!)","name":"keyword.operator.logical.go"},{"match":"((?:|[-%*+/:^|]|<<|>>|&\\\\^?)=)","name":"keyword.operator.assignment.go"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.go"},{"match":"(&(?!\\\\^)|[\\\\^|]|&\\\\^|<<|>>|~)","name":"keyword.operator.arithmetic.bitwise.go"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.ellipsis.go"}]},"other_struct_interface_expressions":{"patterns":[{"include":"#after_control_variables"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b(?!(?:struct|interface)\\\\b)([.\\\\w]+)(?\\\\[(?:[^]\\\\[]|\\\\g)*])?(?=\\\\{)"}]},"other_variables":{"match":"\\\\w+","name":"variable.other.go"},"package_name":{"patterns":[{"begin":"\\\\b(package)\\\\s+","beginCaptures":{"1":{"name":"keyword.package.go"}},"end":"(?!\\\\G)","patterns":[{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"entity.name.type.package.go"}]}]},"parameter-variable-types":{"patterns":[{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]}]},"property_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]}},"match":"\\\\b([.\\\\w]+:(?!=))"},"raw_string_literals":{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.raw.go","patterns":[{"include":"#string_placeholder"}]},"runes":{"patterns":[{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.rune.go","patterns":[{"match":"\\\\G(\\\\\\\\([0-7]{3}|[\\"\'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})|.)(?=\')","name":"constant.other.rune.go"},{"match":"[^\']+","name":"invalid.illegal.unknown-rune.go"}]}]},"single_type":{"patterns":[{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"3":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"include":"#type-declarations"},{"include":"#generic_types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)\\\\s+(?!(?:=\\\\s*)?[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b)([\\\\s\\\\S]+)"},{"begin":"(?:^|\\\\s+)\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)(?=\\\\[)","beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"end":"(?<=])(\\\\s+(?:=\\\\s*)?(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:struct|interface|func)\\\\b)[-\\\\]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?","endCaptures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#struct_variables_types"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}]},"slice_index_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.go"}]}},"match":"(?<=\\\\w\\\\[)((?:\\\\b[-%\\\\&*+./<>|\\\\w]+:|:\\\\b[-%\\\\&*+./<>|\\\\w]+)(?:\\\\b[-%\\\\&*+./<>|\\\\w]+)?(?::\\\\b[-%\\\\&*+./<>|\\\\w]+)?)(?=])"},"statements":{"patterns":[{"include":"#package_name"},{"include":"#import"},{"include":"#syntax_errors"},{"include":"#group-functions"},{"include":"#group-types"},{"include":"#group-variables"},{"include":"#hover"}]},"storage_types":{"patterns":[{"match":"\\\\bbool\\\\b","name":"storage.type.boolean.go"},{"match":"\\\\bbyte\\\\b","name":"storage.type.byte.go"},{"match":"\\\\berror\\\\b","name":"storage.type.error.go"},{"match":"\\\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\\\b","name":"storage.type.numeric.go"},{"match":"\\\\brune\\\\b","name":"storage.type.rune.go"},{"match":"\\\\bstring\\\\b","name":"storage.type.string.go"},{"match":"\\\\buintptr\\\\b","name":"storage.type.uintptr.go"},{"match":"\\\\bany\\\\b","name":"entity.name.type.any.go"},{"match":"\\\\bcomparable\\\\b","name":"entity.name.type.comparable.go"}]},"string_escaped_char":{"patterns":[{"match":"\\\\\\\\([0-7]{3}|[\\"\'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.go"},{"match":"\\\\\\\\[^\\"\'0-7Uabfnrtuvx]","name":"invalid.illegal.unknown-escape.go"}]},"string_literals":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.double.go","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"}]}]},"string_placeholder":{"patterns":[{"match":"%(\\\\[\\\\d+])?([- #+0]{0,2}((\\\\d+|\\\\*)?(\\\\.?(\\\\d+|\\\\*|(\\\\[\\\\d+])\\\\*?)?(\\\\[\\\\d+])?)?))?[%EFGTUXb-gopqstvwx]","name":"constant.other.placeholder.go"}]},"struct_interface_declaration":{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b(type)\\\\b\\\\s*([.\\\\w]+)"},"struct_variable_types_fields_multi":{"patterns":[{"begin":"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(struct)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.struct.go"},"3":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}]},{"begin":"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(interface)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.interface.go"},"3":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}]},{"begin":"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(func)\\\\b\\\\s*(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.function.go"},"3":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"include":"#parameter-variable-types"}]},"struct_variables_types":{"begin":"\\\\b(struct)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.struct.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}]},"struct_variables_types_fields":{"patterns":[{"include":"#struct_variable_types_fields_multi"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\{)\\\\s*((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\{)\\\\s*((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})"},{"captures":{"1":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[^\\"/`\\\\s]+;?)"}]}},"match":"(?<=\\\\{)((?:\\\\s*(?:(?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[^\\"/`\\\\s]+;?)+)\\\\s*(?=})"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[*.\\\\w]+\\\\s*)(?:(?=[\\"/`])|$)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b(\\\\w+(?:\\\\s*,\\\\s*\\\\b\\\\w+)*)\\\\s*([^\\"/`]+)"}]},"support_functions":{"captures":{"1":{"name":"entity.name.function.support.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"entity.name.function.support.go"}]},"3":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?:((?<=\\\\.)\\\\b\\\\w+)|\\\\b(\\\\w+))(?\\\\[(?:[^]\\\\[]|\\\\g)*])?(?=\\\\()"},"switch_types":{"begin":"(?<=\\\\bswitch\\\\b)\\\\s*(\\\\w+\\\\s*:=)?\\\\s*([-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+)(\\\\.\\\\(\\\\btype\\\\b\\\\)\\\\s*)(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#operators"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.go"}]},"3":{"patterns":[{"include":"#delimiters"},{"include":"#brackets"},{"match":"\\\\btype\\\\b","name":"keyword.type.go"}]},"4":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"captures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"3":{"name":"punctuation.other.colon.go"},"4":{"patterns":[{"include":"#comments"}]}},"match":"^\\\\s*\\\\b(case)\\\\b\\\\s+([!*,.<=>\\\\w\\\\s]+)(:)(\\\\s*/[*/]\\\\s*.*)?$"},{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.go"}},"end":":","endCaptures":{"0":{"name":"punctuation.other.colon.go"}},"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},{"include":"$self"}]},"switch_variables":{"patterns":[{"captures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"#type-declarations"},{"include":"#support_functions"},{"include":"#variable_assignment"},{"match":"\\\\w+","name":"variable.other.go"}]}},"match":"^\\\\s*\\\\b(case)\\\\b\\\\s+([\\\\s\\\\S]+:\\\\s*(?:/[*/].*)?)$"},{"begin":"(?<=\\\\bswitch\\\\b)\\\\s*((?:[.\\\\w]+(?:\\\\s*[-!%\\\\&+,/:<=>|]+\\\\s*[.\\\\w]+)*\\\\s*[-!%\\\\&+,/:<=>|]+)?\\\\s*[-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+{0,1}\\\\s*(?:;\\\\s*[-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+\\\\s*)?)(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#variable_assignment"},{"match":"\\\\w+","name":"variable.other.go"}]},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.go"}},"end":":","endCaptures":{"0":{"name":"punctuation.other.colon.go"}},"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#variable_assignment"},{"match":"\\\\w+","name":"variable.other.go"}]},{"include":"$self"}]}]},"syntax_errors":{"patterns":[{"captures":{"1":{"name":"invalid.illegal.slice.go"}},"match":"\\\\[](\\\\s+)"},{"match":"\\\\b0[0-7]*[89]\\\\d*\\\\b","name":"invalid.illegal.numeric.go"}]},"terminators":{"match":";","name":"punctuation.terminator.go"},"type-declarations":{"patterns":[{"include":"#language_constants"},{"include":"#comments"},{"include":"#map_types"},{"include":"#brackets"},{"include":"#delimiters"},{"include":"#keywords"},{"include":"#operators"},{"include":"#runes"},{"include":"#storage_types"},{"include":"#raw_string_literals"},{"include":"#string_literals"},{"include":"#numeric_literals"},{"include":"#terminators"}]},"type-declarations-without-brackets":{"patterns":[{"include":"#language_constants"},{"include":"#comments"},{"include":"#map_types"},{"include":"#delimiters"},{"include":"#keywords"},{"include":"#operators"},{"include":"#runes"},{"include":"#storage_types"},{"include":"#raw_string_literals"},{"include":"#string_literals"},{"include":"#numeric_literals"},{"include":"#terminators"}]},"type_assertion_inline":{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\.\\\\()(?:\\\\b(type)\\\\b|((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?))(?=\\\\))"},"var_assignment":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\bvar\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"begin":"(?<=\\\\bvar\\\\b)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"include":"$self"}]}]},"variable_assignment":{"patterns":[{"captures":{"0":{"patterns":[{"include":"#delimiters"},{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]}},"match":"\\\\b\\\\w+(?:,\\\\s*\\\\w+)*(?=\\\\s*:=)"},{"captures":{"0":{"patterns":[{"include":"#delimiters"},{"include":"#operators"},{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]}},"match":"\\\\b[*.\\\\w]+(?:,\\\\s*[*.\\\\w]+)*(?=\\\\s*=(?!=))"}]}},"scopeName":"source.go"}')),ST=[LT]});var pw={};u1(pw,{default:()=>ET});var ZT,ET,uw=n1(()=>{ZT=Object.freeze(JSON.parse('{"displayName":"Rust","name":"rust","patterns":[{"begin":"(<)(\\\\[)","beginCaptures":{"1":{"name":"punctuation.brackets.angle.rust"},"2":{"name":"punctuation.brackets.square.rust"}},"end":">","endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}},"patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"}]},{"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"3":{"name":"keyword.other.crate.rust"},"4":{"name":"entity.name.type.metavariable.rust"},"6":{"name":"keyword.operator.key-value.rust"},"7":{"name":"variable.other.metavariable.specifier.rust"}},"match":"(\\\\$)((crate)|([A-Z]\\\\w*))(\\\\s*(:)\\\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\\\b)?","name":"meta.macro.metavariable.type.rust","patterns":[{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"2":{"name":"variable.other.metavariable.name.rust"},"4":{"name":"keyword.operator.key-value.rust"},"5":{"name":"variable.other.metavariable.specifier.rust"}},"match":"(\\\\$)([a-z]\\\\w*)(\\\\s*(:)\\\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\\\b)?","name":"meta.macro.metavariable.rust","patterns":[{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.function.macro.rules.rust"},"3":{"name":"entity.name.function.macro.rust"},"4":{"name":"entity.name.type.macro.rust"},"5":{"name":"punctuation.brackets.curly.rust"}},"match":"\\\\b(macro_rules!)\\\\s+(([0-9_a-z]+)|([A-Z][0-9_a-z]*))\\\\s+(\\\\{)","name":"meta.macro.rules.rust"},{"captures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.module.rust"}},"match":"(mod)\\\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][0-9A-Z_a-z]*)"},{"begin":"\\\\b(extern)\\\\s+(crate)","beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"keyword.other.crate.rust"}},"end":";","endCaptures":{"0":{"name":"punctuation.semi.rust"}},"name":"meta.import.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"}]},{"begin":"\\\\b(use)\\\\s","beginCaptures":{"1":{"name":"keyword.other.rust"}},"end":";","endCaptures":{"0":{"name":"punctuation.semi.rust"}},"name":"meta.use.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}]},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"begin":"(#)(!?)(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.attribute.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"end":"]","endCaptures":{"0":{"name":"punctuation.brackets.attribute.rust"}},"name":"meta.attribute.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}]},"block-comments":{"patterns":[{"match":"/\\\\*\\\\*/","name":"comment.block.rust"},{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.documentation.rust","patterns":[{"include":"#block-comments"}]},{"begin":"/\\\\*(?!\\\\*)","end":"\\\\*/","name":"comment.block.rust","patterns":[{"include":"#block-comments"}]}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.rust"}},"match":"(///).*$","name":"comment.line.documentation.rust"},{"captures":{"1":{"name":"punctuation.definition.comment.rust"}},"match":"(//).*$","name":"comment.line.double-slash.rust"}]},"constants":{"patterns":[{"match":"\\\\b[A-Z]{2}[0-9A-Z_]*\\\\b","name":"constant.other.caps.rust"},{"captures":{"1":{"name":"storage.type.rust"},"2":{"name":"constant.other.caps.rust"}},"match":"\\\\b(const)\\\\s+([A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"punctuation.separator.dot.decimal.rust"},"2":{"name":"keyword.operator.exponent.rust"},"3":{"name":"keyword.operator.exponent.sign.rust"},"4":{"name":"constant.numeric.decimal.exponent.mantissa.rust"},"5":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b\\\\d[_\\\\d]*(\\\\.?)[_\\\\d]*(?:([Ee])([-+]?)([_\\\\d]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.decimal.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0x[A-F_a-f\\\\d]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.hex.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.oct.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.bin.rust"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.bool.rust"}]},"escapes":{"captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}},"match":"(\\\\\\\\)(?:(x[0-7][A-Fa-f\\\\d])|(u(\\\\{)[A-Fa-f\\\\d]{4,6}(}))|.)","name":"constant.character.escape.rust"},"functions":{"patterns":[{"captures":{"1":{"name":"storage.modifier.visibility.rust"}},"match":"\\\\b(pub)\\\\b"},{"captures":{"1":{"name":"storage.modifier.visibility.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"match":"\\\\b(pub)(\\\\()"},{"begin":"\\\\b(fn)\\\\s+((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)((\\\\()|(<))","beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"},"4":{"name":"punctuation.brackets.round.rust"},"5":{"name":"punctuation.brackets.angle.rust"}},"end":"(\\\\{)|(;)","endCaptures":{"1":{"name":"punctuation.brackets.curly.rust"},"2":{"name":"punctuation.semi.rust"}},"name":"meta.function.definition.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]},{"begin":"((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}},"name":"meta.function.call.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]},{"begin":"((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)(?=::<.*>\\\\()","beginCaptures":{"1":{"name":"entity.name.function.rust"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}},"name":"meta.function.call.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]}]},"gtypes":{"patterns":[{"match":"\\\\b(Some|None)\\\\b","name":"entity.name.type.option.rust"},{"match":"\\\\b(Ok|Err)\\\\b","name":"entity.name.type.result.rust"}]},"interpolations":{"captures":{"1":{"name":"punctuation.definition.interpolation.rust"},"2":{"name":"punctuation.definition.interpolation.rust"}},"match":"(\\\\{)[^\\"{}]*(})","name":"meta.interpolation.rust"},"keywords":{"patterns":[{"match":"\\\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\\\b","name":"keyword.control.rust"},{"match":"\\\\b(extern|let|macro|mod)\\\\b","name":"keyword.other.rust storage.type.rust"},{"match":"\\\\b(const)\\\\b","name":"storage.modifier.rust"},{"match":"\\\\b(type)\\\\b","name":"keyword.declaration.type.rust storage.type.rust"},{"match":"\\\\b(enum)\\\\b","name":"keyword.declaration.enum.rust storage.type.rust"},{"match":"\\\\b(trait)\\\\b","name":"keyword.declaration.trait.rust storage.type.rust"},{"match":"\\\\b(struct)\\\\b","name":"keyword.declaration.struct.rust storage.type.rust"},{"match":"\\\\b(abstract|static)\\\\b","name":"storage.modifier.rust"},{"match":"\\\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|ref|typeof|union|unsafe|unsized|use|virtual|where)\\\\b","name":"keyword.other.rust"},{"match":"\\\\bfn\\\\b","name":"keyword.other.fn.rust"},{"match":"\\\\bcrate\\\\b","name":"keyword.other.crate.rust"},{"match":"\\\\bmut\\\\b","name":"storage.modifier.mut.rust"},{"match":"([\\\\^|]|\\\\|\\\\||&&|<<|>>|!)(?!=)","name":"keyword.operator.logical.rust"},{"match":"&(?![\\\\&=])","name":"keyword.operator.borrow.and.rust"},{"match":"((?:[-%\\\\&*+/^|]|<<|>>)=)","name":"keyword.operator.assignment.rust"},{"match":"(?])=(?![=>])","name":"keyword.operator.assignment.equal.rust"},{"match":"(=(=)?(?!>)|!=|<=|(?=)","name":"keyword.operator.comparison.rust"},{"match":"(([%+]|(\\\\*(?!\\\\w)))(?!=))|(-(?!>))|(/(?!/))","name":"keyword.operator.math.rust"},{"captures":{"1":{"name":"punctuation.brackets.round.rust"},"2":{"name":"punctuation.brackets.square.rust"},"3":{"name":"punctuation.brackets.curly.rust"},"4":{"name":"keyword.operator.comparison.rust"},"5":{"name":"punctuation.brackets.round.rust"},"6":{"name":"punctuation.brackets.square.rust"},"7":{"name":"punctuation.brackets.curly.rust"}},"match":"(?:\\\\b|(?:(\\\\))|(])|(})))[\\\\t ]+([<>])[\\\\t ]+(?:\\\\b|(?:(\\\\()|(\\\\[)|(\\\\{)))"},{"match":"::","name":"keyword.operator.namespace.rust"},{"captures":{"1":{"name":"keyword.operator.dereference.rust"}},"match":"(\\\\*)(?=\\\\w+)"},{"match":"@","name":"keyword.operator.subpattern.rust"},{"match":"\\\\.(?!\\\\.)","name":"keyword.operator.access.dot.rust"},{"match":"\\\\.{2}([.=])?","name":"keyword.operator.range.rust"},{"match":":(?!:)","name":"keyword.operator.key-value.rust"},{"match":"->|<-","name":"keyword.operator.arrow.skinny.rust"},{"match":"=>","name":"keyword.operator.arrow.fat.rust"},{"match":"\\\\$","name":"keyword.operator.macro.dollar.rust"},{"match":"\\\\?","name":"keyword.operator.question.rust"}]},"lifetimes":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.lifetime.rust"},"2":{"name":"entity.name.type.lifetime.rust"}},"match":"(\')([A-Z_a-z][0-9A-Z_a-z]*)(?!\')\\\\b"},{"captures":{"1":{"name":"keyword.operator.borrow.rust"},"2":{"name":"punctuation.definition.lifetime.rust"},"3":{"name":"entity.name.type.lifetime.rust"}},"match":"(&)(\')([A-Z_a-z][0-9A-Z_a-z]*)(?!\')\\\\b"}]},"lvariables":{"patterns":[{"match":"\\\\b[Ss]elf\\\\b","name":"variable.language.self.rust"},{"match":"\\\\bsuper\\\\b","name":"variable.language.super.rust"}]},"macros":{"patterns":[{"captures":{"2":{"name":"entity.name.function.macro.rust"},"3":{"name":"entity.name.type.macro.rust"}},"match":"(([_a-z][0-9A-Z_a-z]*!)|([A-Z_][0-9A-Z_a-z]*!))","name":"meta.macro.rust"}]},"namespaces":{"patterns":[{"captures":{"1":{"name":"entity.name.namespace.rust"},"2":{"name":"keyword.operator.namespace.rust"}},"match":"(?]","name":"punctuation.brackets.angle.rust"}]},"strings":{"patterns":[{"begin":"(b?)(\\")","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.rust"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.rust"}},"name":"string.quoted.double.rust","patterns":[{"include":"#escapes"},{"include":"#interpolations"}]},{"begin":"(b?r)(#*)(\\")","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"end":"(\\")(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}},"name":"string.quoted.double.rust"},{"begin":"(b)?(\')","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.char.rust"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.char.rust"}},"name":"string.quoted.single.char.rust","patterns":[{"include":"#escapes"}]}]},"types":{"patterns":[{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"(?","endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}},"patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}]},{"match":"\\\\b(bool|char|str)\\\\b","name":"entity.name.type.primitive.rust"},{"captures":{"1":{"name":"keyword.declaration.trait.rust storage.type.rust"},"2":{"name":"entity.name.type.trait.rust"}},"match":"\\\\b(trait)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.struct.rust storage.type.rust"},"2":{"name":"entity.name.type.struct.rust"}},"match":"\\\\b(struct)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.enum.rust storage.type.rust"},"2":{"name":"entity.name.type.enum.rust"}},"match":"\\\\b(enum)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.type.rust storage.type.rust"},"2":{"name":"entity.name.type.declaration.rust"}},"match":"\\\\b(type)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"match":"\\\\b_?[A-Z][0-9A-Z_a-z]*\\\\b(?!!)","name":"entity.name.type.rust"}]},"variables":{"patterns":[{"match":"\\\\b(?jT});var FT,jT,dw=n1(()=>{FT=Object.freeze(JSON.parse('{"displayName":"C#","name":"csharp","patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#directives"},{"include":"#declarations"},{"include":"#script-top-level"}],"repository":{"accessor-getter":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"contentName":"meta.accessor.getter.cs","end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},{"include":"#accessor-getter-expression"},{"include":"#punctuation-semicolon"}]},"accessor-getter-expression":{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"contentName":"meta.accessor.getter.cs","end":"(?=[;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"accessor-setter":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"contentName":"meta.accessor.setter.cs","end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"contentName":"meta.accessor.setter.cs","end":"(?=[;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},{"include":"#punctuation-semicolon"}]},"anonymous-method-expression":{"patterns":[{"begin":"((?:\\\\b(?:async|static)\\\\b\\\\s*)*)(?:(@?[_[:alpha:]][_[:alnum:]]*)\\\\b|(\\\\()(?(?:[^()]|\\\\(\\\\g\\\\))*)(\\\\)))\\\\s*(=>)","beginCaptures":{"1":{"patterns":[{"match":"async|static","name":"storage.modifier.$0.cs"}]},"2":{"name":"entity.name.variable.parameter.cs"},"3":{"name":"punctuation.parenthesis.open.cs"},"4":{"patterns":[{"include":"#comment"},{"include":"#explicit-anonymous-function-parameter"},{"include":"#implicit-anonymous-function-parameter"},{"include":"#default-argument"},{"include":"#punctuation-comma"}]},"5":{"name":"punctuation.parenthesis.close.cs"},"6":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#intrusive"},{"begin":"(?=\\\\{)","end":"(?=[),;}])","patterns":[{"include":"#block"},{"include":"#intrusive"}]},{"begin":"\\\\b(ref)\\\\b|(?=\\\\S)","beginCaptures":{"1":{"name":"storage.modifier.ref.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#expression"}]}]},{"begin":"((?:\\\\b(?:async|static)\\\\b\\\\s*)*)\\\\b(delegate)\\\\b\\\\s*","beginCaptures":{"1":{"patterns":[{"match":"async|static","name":"storage.modifier.$0.cs"}]},"2":{"name":"storage.type.delegate.cs"}},"end":"(?<=})|(?=[),;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#explicit-anonymous-function-parameter"},{"include":"#punctuation-comma"}]},{"include":"#block"}]}]},"anonymous-object-creation-expression":{"begin":"\\\\b(new)\\\\b\\\\s*(?=\\\\{|//|/\\\\*|$)","beginCaptures":{"1":{"name":"keyword.operator.expression.new.cs"}},"end":"(?<=})","patterns":[{"include":"#comment"},{"include":"#initializer-expression"}]},"argument":{"patterns":[{"match":"\\\\b(ref|in)\\\\b","name":"storage.modifier.$1.cs"},{"begin":"\\\\b(out)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.out.cs"}},"end":"(?=[]),])","patterns":[{"include":"#declaration-expression-local"},{"include":"#expression"}]},{"include":"#expression"}]},"argument-list":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#named-argument"},{"include":"#argument"},{"include":"#punctuation-comma"}]},"array-creation-expression":{"begin":"\\\\b(new|stackalloc)\\\\b\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\*\\\\s*)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)?\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"patterns":[{"include":"#type"}]}},"end":"(?<=])","patterns":[{"include":"#bracketed-argument-list"}]},"as-expression":{"captures":{"1":{"name":"keyword.operator.expression.as.cs"},"2":{"patterns":[{"include":"#type"}]}},"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?(?!\\\\?))?(?:\\\\s*\\\\[\\\\s*(?:,\\\\s*)*](?:\\\\s*\\\\?(?!\\\\?))?)*)?"},"assignment-expression":{"begin":"(?:[-%*+/]|\\\\?\\\\?|[\\\\&^]|<<|>>>?|\\\\|)?=(?![=>])","beginCaptures":{"0":{"patterns":[{"include":"#assignment-operators"}]}},"end":"(?=[]),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"assignment-operators":{"patterns":[{"match":"(?:[-%*+/]|\\\\?\\\\?)=","name":"keyword.operator.assignment.compound.cs"},{"match":"(?:[\\\\&^]|<<|>>>?|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.cs"},{"match":"=","name":"keyword.operator.assignment.cs"}]},"attribute":{"patterns":[{"include":"#type-name"},{"include":"#type-arguments"},{"include":"#attribute-arguments"}]},"attribute-arguments":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#attribute-named-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"attribute-named-argument":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?==)","beginCaptures":{"1":{"name":"entity.name.variable.property.cs"}},"end":"(?=([),]))","patterns":[{"include":"#operator-assignment"},{"include":"#expression"}]},"attribute-section":{"begin":"(\\\\[)(assembly|module|field|event|method|param|property|return|typevar|type)?(:)?","beginCaptures":{"1":{"name":"punctuation.squarebracket.open.cs"},"2":{"name":"keyword.other.attribute-specifier.cs"},"3":{"name":"punctuation.separator.colon.cs"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute"},{"include":"#punctuation-comma"}]},"await-expression":{"match":"(?[^()<>]|\\\\((?:[^()<>]|<[^()<>]*>|\\\\([^()<>]*\\\\))*\\\\)|<\\\\g*>)*>\\\\s*)?(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"entity.name.type.cs"},"4":{"patterns":[{"include":"#type-arguments"}]}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"base-types":{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\\\{|where|;)","patterns":[{"include":"#base-class-constructor-call"},{"include":"#type"},{"include":"#punctuation-comma"},{"include":"#preprocessor"}]},"block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},"boolean-literal":{"patterns":[{"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(\\\\))(?=\\\\s*-*!*@?[(_[:alnum:]])"},"casted-constant-pattern":{"begin":"(\\\\()([.:@_\\\\s[:alnum:]]+)(\\\\))(?=[-!+~\\\\s]*@?[\\"\'(_[:alnum:]]+)","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"},"2":{"patterns":[{"include":"#type-builtin"},{"include":"#type-name"}]},"3":{"name":"punctuation.parenthesis.close.cs"}},"end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#casted-constant-pattern"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#constant-pattern"}]},{"include":"#constant-pattern"},{"captures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(::)"},{"captures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(\\\\.)"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"variable.other.constant.cs"}]},"catch-clause":{"begin":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(?:(\\\\g)\\\\b)?"}]},{"include":"#when-clause"},{"include":"#comment"},{"include":"#block"}]},"char-character-escape":{"match":"\\\\\\\\(x\\\\h{1,4}|u\\\\h{4}|.)","name":"constant.character.escape.cs"},"char-literal":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.char.begin.cs"}},"end":"(\')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.char.end.cs"},"2":{"name":"invalid.illegal.newline.cs"}},"name":"string.quoted.single.cs","patterns":[{"include":"#char-character-escape"}]},"class-declaration":{"begin":"(?=(\\\\brecord\\\\b\\\\s+)?\\\\bclass\\\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(\\\\b(record)\\\\b\\\\s+)?\\\\b(class)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*","beginCaptures":{"2":{"name":"storage.type.record.cs"},"3":{"name":"storage.type.class.cs"},"4":{"name":"entity.name.type.class.cs"}},"end":"(?=\\\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#parenthesized-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#class-or-struct-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"class-or-struct-members":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#type-declarations"},{"include":"#constructor-declaration"},{"include":"#property-declaration"},{"include":"#fixed-size-buffer-declaration"},{"include":"#field-declaration"},{"include":"#event-declaration"},{"include":"#indexer-declaration"},{"include":"#variable-initializer"},{"include":"#destructor-declaration"},{"include":"#operator-declaration"},{"include":"#conversion-operator-declaration"},{"include":"#method-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"combinator-pattern":{"match":"\\\\b(and|or|not)\\\\b","name":"keyword.operator.expression.pattern.combinator.$1.cs"},"comment":{"patterns":[{"begin":"(^\\\\s+)?(///)(?!/)","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"name":"comment.block.documentation.cs","patterns":[{"include":"#xml-doc-comment"}],"while":"^(\\\\s*)(///)(?!/)"},{"begin":"(^\\\\s+)?(/\\\\*\\\\*)(?!/)","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"end":"(^\\\\s+)?(\\\\*/)","name":"comment.block.documentation.cs","patterns":[{"begin":"\\\\G(?=(?~\\\\*/)$)","patterns":[{"include":"#xml-doc-comment"}],"while":"^(\\\\s*+)(\\\\*(?!/))?(?=(?~\\\\*/)$)","whileCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}}},{"include":"#xml-doc-comment"}]},{"begin":"(^\\\\s+)?(//).*$","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"name":"comment.line.double-slash.cs","while":"^(\\\\s*)(//).*$"},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.cs"}},"end":"\\\\*/","name":"comment.block.cs"}]},"conditional-operator":{"patterns":[{"match":"\\\\?(?!\\\\?|\\\\s*[.\\\\[])","name":"keyword.operator.conditional.question-mark.cs"},{"match":":","name":"keyword.operator.conditional.colon.cs"}]},"constant-pattern":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#char-literal"},{"include":"#string-literal"},{"include":"#raw-string-literal"},{"include":"#verbatim-string-literal"},{"include":"#type-operator-expression"},{"include":"#expression-operator-expression"},{"include":"#expression-operators"},{"include":"#casted-constant-pattern"}]},"constructor-declaration":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?=\\\\(|$)","beginCaptures":{"1":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\\\{|=>)","patterns":[{"include":"#constructor-initializer"}]},{"include":"#parenthesized-parameter-list"},{"include":"#preprocessor"},{"include":"#comment"},{"include":"#expression-body"},{"include":"#block"}]},"constructor-initializer":{"begin":"\\\\b(base|this)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"variable.language.$1.cs"}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"context-control-paren-statement":{"patterns":[{"include":"#fixed-statement"},{"include":"#lock-statement"},{"include":"#using-statement"}]},"context-control-statement":{"match":"\\\\b(checked|unchecked|unsafe)\\\\b(?!\\\\s*[(@_[:alpha:]])","name":"keyword.control.context.$1.cs"},"conversion-operator-declaration":{"begin":"\\\\b(?(?:ex|im)plicit)\\\\s*\\\\b(?operator)\\\\s*(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"captures":{"1":{"name":"storage.modifier.explicit.cs"}},"match":"\\\\b(explicit)\\\\b"},{"captures":{"1":{"name":"storage.modifier.implicit.cs"}},"match":"\\\\b(implicit)\\\\b"}]},"2":{"name":"storage.type.operator.cs"},"3":{"patterns":[{"include":"#type"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"declaration-expression-local":{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.local.cs"}},"match":"(?:\\\\b(var)\\\\b|(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\b\\\\s*(?=[]),])"},"declaration-expression-tuple":{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.tuple-element.cs"}},"match":"(?:\\\\b(var)\\\\b|(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\b\\\\s*(?=[),])"},"declarations":{"patterns":[{"include":"#namespace-declaration"},{"include":"#type-declarations"},{"include":"#punctuation-semicolon"}]},"default-argument":{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[),])","patterns":[{"include":"#expression"}]},"default-literal-expression":{"captures":{"1":{"name":"keyword.operator.expression.default.cs"}},"match":"\\\\b(default)\\\\b"},"delegate-declaration":{"begin":"\\\\b(delegate)\\\\b\\\\s+(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)\\\\s*(<([^<>]+)>)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.type.delegate.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.type.delegate.cs"},"8":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"}]},"designation-pattern":{"patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#punctuation-comma"},{"include":"#designation-pattern"}]},{"include":"#simple-designation-pattern"}]},"destructor-declaration":{"begin":"(~)(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.tilde.cs"},"2":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"directives":{"patterns":[{"include":"#extern-alias-directive"},{"include":"#using-directive"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"discard-pattern":{"match":"_(?![_[:alnum:]])","name":"variable.language.discard.cs"},"do-statement":{"begin":"(?)\\\\s*)?(?:(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*)?(?:(\\\\?)\\\\s*)?(?=\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"variable.other.object.property.cs"},"5":{"name":"keyword.operator.null-conditional.cs"}},"end":"(?<=])(?!\\\\s*\\\\[)","patterns":[{"include":"#bracketed-argument-list"}]},"else-part":{"begin":"(?|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.type.accessor.$1.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-setter"}]}]},"event-declaration":{"begin":"\\\\b(event)\\\\b\\\\s*(?(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(\\\\g)\\\\s*(?=[,;={]|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.type.event.cs"},"2":{"patterns":[{"include":"#type"}]},"8":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"9":{"name":"entity.name.variable.event.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#event-accessors"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.event.cs"},{"include":"#punctuation-comma"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.cs"}},"end":"(?<=,)|(?=;)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]}]},"explicit-anonymous-function-parameter":{"captures":{"1":{"name":"storage.modifier.$1.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.parameter.cs"}},"match":"(?:\\\\b(ref|params|out|in)\\\\b\\\\s*)?(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?<(?:[^<>]|\\\\g)*>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)*\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*\\\\b(\\\\g)\\\\b"},"expression":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#expression-operator-expression"},{"include":"#type-operator-expression"},{"include":"#default-literal-expression"},{"include":"#throw-expression"},{"include":"#raw-interpolated-string"},{"include":"#interpolated-string"},{"include":"#verbatim-interpolated-string"},{"include":"#type-builtin"},{"include":"#language-variable"},{"include":"#switch-statement-or-expression"},{"include":"#with-expression"},{"include":"#conditional-operator"},{"include":"#assignment-expression"},{"include":"#expression-operators"},{"include":"#await-expression"},{"include":"#query-expression"},{"include":"#as-expression"},{"include":"#is-expression"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#anonymous-method-expression"},{"include":"#object-creation-expression"},{"include":"#array-creation-expression"},{"include":"#anonymous-object-creation-expression"},{"include":"#invocation-expression"},{"include":"#member-access-expression"},{"include":"#element-access-expression"},{"include":"#cast-expression"},{"include":"#literal"},{"include":"#parenthesized-expression"},{"include":"#tuple-deconstruction-assignment"},{"include":"#initializer-expression"},{"include":"#identifier"}]},"expression-body":{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"expression-operator-expression":{"begin":"\\\\b(checked|unchecked|nameof)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},"expression-operators":{"patterns":[{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.cs"},{"match":"[!=]=","name":"keyword.operator.comparison.cs"},{"match":"<=|>=|[<>]","name":"keyword.operator.relational.cs"},{"match":"!|&&|\\\\|\\\\|","name":"keyword.operator.logical.cs"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cs"},{"match":"--","name":"keyword.operator.decrement.cs"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.cs"},{"match":"\\\\+|-(?!>)|[%*/]","name":"keyword.operator.arithmetic.cs"},{"match":"\\\\?\\\\?","name":"keyword.operator.null-coalescing.cs"},{"match":"\\\\.\\\\.","name":"keyword.operator.range.cs"}]},"extern-alias-directive":{"begin":"\\\\b(extern)\\\\s+(alias)\\\\b","beginCaptures":{"1":{"name":"keyword.other.directive.extern.cs"},"2":{"name":"keyword.other.directive.alias.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"variable.other.alias.cs"}]},"field-declaration":{"begin":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)\\\\s*(?!=[=>])(?=[,;=]|$)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.field.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.field.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"},{"include":"#class-or-struct-members"}]},"finally-clause":{"begin":"(?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*)\\\\s+(\\\\g)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"storage.modifier.fixed.cs"},"2":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.field.cs"}},"end":"(?=;)","patterns":[{"include":"#bracketed-argument-list"},{"include":"#comment"}]},"fixed-statement":{"begin":"\\\\b(fixed)\\\\b","beginCaptures":{"1":{"name":"keyword.control.context.fixed.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#local-variable-declaration"}]}]},"for-statement":{"begin":"\\\\b(for)\\\\b","beginCaptures":{"1":{"name":"keyword.control.loop.for.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"begin":"(?=[^);])","end":"(?=[);])","patterns":[{"include":"#intrusive"},{"include":"#local-variable-declaration"},{"include":"#local-tuple-var-deconstruction"},{"include":"#tuple-deconstruction-assignment"},{"include":"#expression"}]},{"begin":"(?=;)","end":"(?=\\\\))","patterns":[{"include":"#intrusive"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]}]}]},"foreach-statement":{"begin":"\\\\b(foreach)\\\\b","beginCaptures":{"1":{"name":"keyword.control.loop.foreach.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"captures":{"1":{"name":"storage.modifier.ref.cs"},"2":{"name":"storage.type.var.cs"},"3":{"patterns":[{"include":"#type"}]},"8":{"name":"entity.name.variable.local.cs"},"9":{"name":"keyword.control.loop.in.cs"}},"match":"(?:(?:\\\\b(ref)\\\\s+)?\\\\b(var)\\\\b|(?(?:ref\\\\s+)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\s+\\\\b(in)\\\\b"},{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]},"3":{"name":"keyword.control.loop.in.cs"}},"match":"(?:\\\\b(var)\\\\b\\\\s*)?(?\\\\((?:[^()]|\\\\g)+\\\\))\\\\s+\\\\b(in)\\\\b"},{"include":"#expression"}]}]},"generic-constraints":{"begin":"(where)\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)","beginCaptures":{"1":{"name":"storage.modifier.where.cs"},"2":{"name":"entity.name.type.type-parameter.cs"},"3":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\\\{|where|;|=>)","patterns":[{"match":"\\\\bclass\\\\b","name":"storage.type.class.cs"},{"match":"\\\\bstruct\\\\b","name":"storage.type.struct.cs"},{"match":"\\\\bdefault\\\\b","name":"keyword.other.constraint.default.cs"},{"match":"\\\\bnotnull\\\\b","name":"keyword.other.constraint.notnull.cs"},{"match":"\\\\bunmanaged\\\\b","name":"keyword.other.constraint.unmanaged.cs"},{"captures":{"1":{"name":"keyword.operator.expression.new.cs"},"2":{"name":"punctuation.parenthesis.open.cs"},"3":{"name":"punctuation.parenthesis.close.cs"}},"match":"(new)\\\\s*(\\\\()\\\\s*(\\\\))"},{"include":"#type"},{"include":"#punctuation-comma"},{"include":"#generic-constraints"}]},"goto-statement":{"begin":"(?(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(?this)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"variable.language.this.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#bracketed-parameter-list"},{"include":"#property-accessors"},{"include":"#accessor-getter-expression"},{"include":"#variable-initializer"}]},"initializer-expression":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"interface-declaration":{"begin":"(?=\\\\binterface\\\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(interface)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"storage.type.interface.cs"},"2":{"name":"entity.name.type.interface.cs"}},"end":"(?=\\\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#interface-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"interface-members":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#property-declaration"},{"include":"#event-declaration"},{"include":"#indexer-declaration"},{"include":"#method-declaration"},{"include":"#operator-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"interpolated-string":{"begin":"\\\\$\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"(\\")|([^\\\\n\\\\\\\\{])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.cs"},"2":{"name":"invalid.illegal.newline.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#string-character-escape"},{"include":"#interpolation"}]},"interpolation":{"begin":"(?<=[^{]|^)((?:\\\\{\\\\{)*)(\\\\{)(?!\\\\{)","beginCaptures":{"1":{"name":"string.quoted.double.cs"},"2":{"name":"punctuation.definition.interpolation.begin.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.interpolation.end.cs"}},"name":"meta.embedded.interpolation.cs","patterns":[{"include":"#expression"}]},"intrusive":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"}]},"invocation-expression":{"begin":"(?:(?:(\\\\?)\\\\s*)?(\\\\.)\\\\s*|(->)\\\\s*)?(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(<(?[^()<>]|\\\\((?:[^()<>]|<[^()<>]*>|\\\\([^()<>]*\\\\))*\\\\)|<\\\\g*>)*>\\\\s*)?(?=\\\\()","beginCaptures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"entity.name.function.cs"},"5":{"patterns":[{"include":"#type-arguments"}]}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"is-expression":{"begin":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)?\\\\s+(\\\\g)\\\\b\\\\s*\\\\b(in)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.join.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.range-variable.cs"},"8":{"name":"keyword.operator.expression.query.in.cs"}},"end":"(?=[);])","patterns":[{"include":"#join-on"},{"include":"#join-equals"},{"include":"#join-into"},{"include":"#query-body"},{"include":"#expression"}]},"join-equals":{"captures":{"1":{"name":"keyword.operator.expression.query.equals.cs"}},"match":"\\\\b(equals)\\\\b\\\\s*"},"join-into":{"captures":{"1":{"name":"keyword.operator.expression.query.into.cs"},"2":{"name":"entity.name.variable.range-variable.cs"}},"match":"\\\\b(into)\\\\b\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*"},"join-on":{"captures":{"1":{"name":"keyword.operator.expression.query.on.cs"}},"match":"\\\\b(on)\\\\b\\\\s*"},"labeled-statement":{"captures":{"1":{"name":"entity.name.label.cs"},"2":{"name":"punctuation.separator.colon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)"},"language-variable":{"patterns":[{"match":"\\\\b(base|this)\\\\b","name":"variable.language.$1.cs"},{"match":"\\\\b(value)\\\\b","name":"variable.other.$1.cs"}]},"let-clause":{"begin":"\\\\b(let)\\\\b\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.let.cs"},"2":{"name":"entity.name.variable.range-variable.cs"},"3":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[);])","patterns":[{"include":"#query-body"},{"include":"#expression"}]},"list-pattern":{"begin":"(?=\\\\[)","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.cs"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#pattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=])","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#simple-designation-pattern"}]}]},"literal":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#char-literal"},{"include":"#raw-string-literal"},{"include":"#string-literal"},{"include":"#verbatim-string-literal"},{"include":"#tuple-literal"}]},"local-constant-declaration":{"begin":"\\\\b(?const)\\\\b\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)\\\\s*(?=[,;=])","beginCaptures":{"1":{"name":"storage.modifier.const.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.local.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.local.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}]},"local-declaration":{"patterns":[{"include":"#local-constant-declaration"},{"include":"#local-variable-declaration"},{"include":"#local-function-declaration"},{"include":"#local-tuple-var-deconstruction"},{"include":"#local-tuple-declaration-deconstruction"}]},"local-function-declaration":{"begin":"\\\\b((?:(?:async|unsafe|static|extern)\\\\s+)*)(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?)?(?:\\\\s*\\\\[\\\\s*(?:,\\\\s*)*](?:\\\\s*\\\\?)?)*)\\\\s+(\\\\g)\\\\s*(<[^<>]+>)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#storage-modifier"}]},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.function.cs"},"8":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"},{"include":"#expression-body"},{"include":"#block"}]},"local-tuple-declaration-deconstruction":{"captures":{"1":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]}},"match":"(?\\\\((?:[^()]|\\\\g)+\\\\))\\\\s*(?!=[=>])(?==)"},"local-tuple-var-deconstruction":{"begin":"\\\\b(var)\\\\b\\\\s*(?\\\\((?:[^()]|\\\\g)+\\\\))\\\\s*(?=[);=])","beginCaptures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]}},"end":"(?=[);])","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}]},"local-variable-declaration":{"begin":"(?:(?:\\\\b(ref)\\\\s+(?:\\\\b(readonly)\\\\s+)?)?\\\\b(var)\\\\b|(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\*\\\\s*)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\s*(?!=>)(?=[),;=])","beginCaptures":{"1":{"name":"storage.modifier.ref.cs"},"2":{"name":"storage.modifier.readonly.cs"},"3":{"name":"storage.type.var.cs"},"4":{"patterns":[{"include":"#type"}]},"9":{"name":"entity.name.variable.local.cs"}},"end":"(?=[);}])","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.local.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}]},"lock-statement":{"begin":"\\\\b(lock)\\\\b","beginCaptures":{"1":{"name":"keyword.control.context.lock.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#expression"}]}]},"member-access-expression":{"patterns":[{"captures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"variable.other.object.property.cs"}},"match":"(?:(?:(\\\\?)\\\\s*)?(\\\\.)\\\\s*|(->)\\\\s*)(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?![(_[:alnum:]]|(\\\\?)?\\\\[|<)"},{"captures":{"1":{"name":"punctuation.accessor.cs"},"2":{"name":"variable.other.object.cs"},"3":{"patterns":[{"include":"#type-arguments"}]}},"match":"(\\\\.)?\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)(?\\\\s*<([^<>]|\\\\g)+>\\\\s*)(?=(\\\\s*\\\\?)?\\\\s*\\\\.\\\\s*@?[_[:alpha:]][_[:alnum:]]*)"},{"captures":{"1":{"name":"variable.other.object.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)(?=\\\\s*(?:(?:\\\\?\\\\s*)?\\\\.|->)\\\\s*@?[_[:alpha:]][_[:alnum:]]*)"}]},"method-declaration":{"begin":"(?(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(\\\\g)\\\\s*(<([^<>]+)>)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"entity.name.function.cs"},"9":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"},{"include":"#expression-body"},{"include":"#block"}]},"named-argument":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.variable.parameter.cs"},"2":{"name":"punctuation.separator.colon.cs"}},"end":"(?=([]),]))","patterns":[{"include":"#argument"}]},"namespace-declaration":{"begin":"\\\\b(namespace)\\\\s+","beginCaptures":{"1":{"name":"storage.type.namespace.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.namespace.cs"},{"include":"#punctuation-accessor"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#declarations"},{"include":"#using-directive"},{"include":"#punctuation-semicolon"}]}]},"null-literal":{"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(?=\\\\{|//|/\\\\*|$)"},"object-creation-expression-with-parameters":{"begin":"(new)(?:\\\\s+(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))?\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.new.cs"},"2":{"patterns":[{"include":"#type"}]}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"operator-assignment":{"match":"(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*\\\\b(?operator)\\\\b\\\\s*(?[-!%\\\\&*+/<=>^|~]+|true|false)\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"storage.type.operator.cs"},"7":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"orderby-clause":{"begin":"\\\\b(orderby)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.orderby.cs"}},"end":"(?=[);])","patterns":[{"include":"#ordering-direction"},{"include":"#query-body"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"ordering-direction":{"captures":{"1":{"name":"keyword.operator.expression.query.$1.cs"}},"match":"\\\\b((?:a|de)scending)\\\\b"},"parameter":{"captures":{"1":{"name":"storage.modifier.$1.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.parameter.cs"}},"match":"(?:\\\\b(ref|params|out|in|this)\\\\b\\\\s+)?(?(?:ref\\\\s+)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)"},"parenthesized-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},"parenthesized-parameter-list":{"begin":"(\\\\()","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute-section"},{"include":"#parameter"},{"include":"#punctuation-comma"},{"include":"#variable-initializer"}]},"parenthesized-type-list":{"begin":"(\\\\()","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#type"},{"include":"#punctuation-comma"}]},"pattern":{"patterns":[{"include":"#intrusive"},{"include":"#combinator-pattern"},{"include":"#discard-pattern"},{"include":"#constant-pattern"},{"include":"#relational-pattern"},{"include":"#var-pattern"},{"include":"#type-pattern"},{"include":"#positional-pattern"},{"include":"#property-pattern"},{"include":"#list-pattern"},{"include":"#slice-pattern"}]},"positional-pattern":{"begin":"(?=\\\\()","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#subpattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=\\\\))","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#property-pattern"},{"include":"#simple-designation-pattern"}]}]},"preprocessor":{"begin":"^\\\\s*(#)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.hash.cs"}},"end":"(?<=$)","name":"meta.preprocessor.cs","patterns":[{"include":"#preprocessor-comment"},{"include":"#preprocessor-define-or-undef"},{"include":"#preprocessor-if-or-elif"},{"include":"#preprocessor-else-or-endif"},{"include":"#preprocessor-warning-or-error"},{"include":"#preprocessor-region"},{"include":"#preprocessor-endregion"},{"include":"#preprocessor-load"},{"include":"#preprocessor-r"},{"include":"#preprocessor-line"},{"include":"#preprocessor-pragma-warning"},{"include":"#preprocessor-pragma-checksum"},{"include":"#preprocessor-app-directive"}]},"preprocessor-app-directive":{"begin":"\\\\s*(:)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"end":"(?=$)","patterns":[{"include":"#preprocessor-app-directive-package"},{"include":"#preprocessor-app-directive-property"},{"include":"#preprocessor-app-directive-exclude"},{"include":"#preprocessor-app-directive-include"},{"include":"#preprocessor-app-directive-project"},{"include":"#preprocessor-app-directive-ref"},{"include":"#preprocessor-app-directive-sdk"},{"include":"#preprocessor-app-directive-generic"}]},"preprocessor-app-directive-exclude":{"captures":{"1":{"name":"keyword.preprocessor.exclude.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(exclude)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-generic":{"captures":{"1":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(.*)?\\\\s*"},"preprocessor-app-directive-include":{"captures":{"1":{"name":"keyword.preprocessor.include.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(include)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-package":{"captures":{"1":{"name":"keyword.preprocessor.package.cs"},"2":{"patterns":[{"include":"#preprocessor-app-directive-package-name"}]},"3":{"name":"punctuation.separator.at.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(package)\\\\b\\\\s*([_[:alpha:]][._[:alnum:]]*)?(@)?(.*)?\\\\s*"},"preprocessor-app-directive-package-name":{"patterns":[{"captures":{"1":{"name":"punctuation.dot.cs"},"2":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"(\\\\.)([_[:alpha:]][_[:alnum:]]*)"},{"match":"[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.preprocessor.symbol.cs"}]},"preprocessor-app-directive-project":{"captures":{"1":{"name":"keyword.preprocessor.project.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(project)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-property":{"captures":{"1":{"name":"keyword.preprocessor.property.cs"},"2":{"name":"entity.name.variable.preprocessor.symbol.cs"},"3":{"name":"punctuation.separator.equals.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(property)\\\\b\\\\s*([_[:alpha:]][_[:alnum:]]*)?(=)?(.*)?\\\\s*"},"preprocessor-app-directive-ref":{"captures":{"1":{"name":"keyword.preprocessor.ref.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(ref)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-sdk":{"captures":{"1":{"name":"keyword.preprocessor.sdk.cs"},"2":{"patterns":[{"include":"#preprocessor-app-directive-package-name"}]},"3":{"name":"punctuation.separator.at.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(sdk)\\\\b\\\\s*([_[:alpha:]][._[:alnum:]]*)?(@)?(.*)?\\\\s*"},"preprocessor-comment":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.cs"}},"match":"(//).*(?=$)","name":"comment.line.double-slash.cs"},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.cs"}},"end":"\\\\*/","name":"comment.block.cs"}]},"preprocessor-define-or-undef":{"captures":{"1":{"name":"keyword.preprocessor.define.cs"},"2":{"name":"keyword.preprocessor.undef.cs"},"3":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"\\\\b(?:(define)|(undef))\\\\b\\\\s*\\\\b([_[:alpha:]][_[:alnum:]]*)\\\\b"},"preprocessor-else-or-endif":{"captures":{"1":{"name":"keyword.preprocessor.else.cs"},"2":{"name":"keyword.preprocessor.endif.cs"}},"match":"\\\\b(?:(else)|(endif))\\\\b"},"preprocessor-endregion":{"captures":{"1":{"name":"keyword.preprocessor.endregion.cs"}},"match":"\\\\b(endregion)\\\\b"},"preprocessor-expression":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#preprocessor-expression"}]},{"captures":{"1":{"name":"constant.language.boolean.true.cs"},"2":{"name":"constant.language.boolean.false.cs"},"3":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"\\\\b(?:(true)|(false)|([_[:alpha:]][_[:alnum:]]*))\\\\b"},{"captures":{"1":{"name":"keyword.operator.comparison.cs"},"2":{"name":"keyword.operator.logical.cs"}},"match":"([!=]=)|(!|&&|\\\\|\\\\|)"}]},"preprocessor-if-or-elif":{"begin":"\\\\b(?:(if)|(elif))\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.if.cs"},"2":{"name":"keyword.preprocessor.elif.cs"}},"end":"(?=$)","patterns":[{"include":"#preprocessor-comment"},{"include":"#preprocessor-expression"}]},"preprocessor-line":{"begin":"\\\\b(line)\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.line.cs"}},"end":"(?=$)","patterns":[{"captures":{"1":{"name":"keyword.preprocessor.default.cs"},"2":{"name":"keyword.preprocessor.hidden.cs"}},"match":"\\\\b(default|hidden)"},{"captures":{"0":{"name":"constant.numeric.decimal.cs"}},"match":"[0-9]+"},{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\\"[^\\"]*\\""}]},"preprocessor-load":{"begin":"\\\\b(load)\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.load.cs"}},"end":"(?=$)","patterns":[{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\\"[^\\"]*\\""}]},"preprocessor-pragma-checksum":{"captures":{"1":{"name":"keyword.preprocessor.pragma.cs"},"2":{"name":"keyword.preprocessor.checksum.cs"},"3":{"name":"string.quoted.double.cs"},"4":{"name":"string.quoted.double.cs"},"5":{"name":"string.quoted.double.cs"}},"match":"\\\\b(pragma)\\\\b\\\\s*\\\\b(checksum)\\\\b\\\\s*(\\"[^\\"]*\\")\\\\s*(\\"[^\\"]*\\")\\\\s*(\\"[^\\"]*\\")"},"preprocessor-pragma-warning":{"captures":{"1":{"name":"keyword.preprocessor.pragma.cs"},"2":{"name":"keyword.preprocessor.warning.cs"},"3":{"name":"keyword.preprocessor.disable.cs"},"4":{"name":"keyword.preprocessor.restore.cs"},"5":{"patterns":[{"captures":{"0":{"name":"constant.numeric.decimal.cs"}},"match":"[0-9]+"},{"include":"#punctuation-comma"}]}},"match":"\\\\b(pragma)\\\\b\\\\s*\\\\b(warning)\\\\b\\\\s*\\\\b(?:(disable)|(restore))\\\\b(\\\\s*[0-9]+(?:\\\\s*,\\\\s*[0-9]+)?)?"},"preprocessor-r":{"begin":"\\\\b(r)\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.r.cs"}},"end":"(?=$)","patterns":[{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\\"[^\\"]*\\""}]},"preprocessor-region":{"captures":{"1":{"name":"keyword.preprocessor.region.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(region)\\\\b\\\\s*(.*)(?=$)"},"preprocessor-warning-or-error":{"captures":{"1":{"name":"keyword.preprocessor.warning.cs"},"2":{"name":"keyword.preprocessor.error.cs"},"3":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(?:(warning)|(error))\\\\b\\\\s*(.*)(?=$)"},"property-accessors":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute-section"},{"match":"\\\\b(private|protected|internal)\\\\b","name":"storage.modifier.$1.cs"},{"begin":"(?:\\\\b(readonly)\\\\s+)?\\\\b(get)\\\\b\\\\s*(?=[;{]|=>|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.modifier.readonly.cs"},"2":{"name":"storage.type.accessor.get.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-getter"}]},{"begin":"\\\\b(set|init)\\\\b\\\\s*(?=[;{]|=>|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.type.accessor.$1.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-setter"}]}]},"property-declaration":{"begin":"(?![[:word:]\\\\s]*\\\\b(?:class|interface|struct|union|enum|event)\\\\b)(?(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(?\\\\g)\\\\s*(?=\\\\{|=>|//|/\\\\*|$)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"entity.name.variable.property.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#property-accessors"},{"include":"#accessor-getter-expression"},{"include":"#variable-initializer"},{"include":"#class-or-struct-members"}]},"property-pattern":{"begin":"(?=\\\\{)","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#subpattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=})","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#simple-designation-pattern"}]}]},"punctuation-accessor":{"match":"\\\\.","name":"punctuation.accessor.cs"},"punctuation-comma":{"match":",","name":"punctuation.separator.comma.cs"},"punctuation-semicolon":{"match":";","name":"punctuation.terminator.statement.cs"},"query-body":{"patterns":[{"include":"#let-clause"},{"include":"#where-clause"},{"include":"#join-clause"},{"include":"#orderby-clause"},{"include":"#select-clause"},{"include":"#group-clause"}]},"query-expression":{"begin":"\\\\b(from)\\\\b\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)?\\\\s+(\\\\g)\\\\b\\\\s*\\\\b(in)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.from.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.range-variable.cs"},"8":{"name":"keyword.operator.expression.query.in.cs"}},"end":"(?=[);])","patterns":[{"include":"#query-body"},{"include":"#expression"}]},"raw-interpolated-string":{"patterns":[{"include":"#raw-interpolated-string-five-or-more-quote-one-or-more-interpolation"},{"include":"#raw-interpolated-string-three-or-more-quote-three-or-more-interpolation"},{"include":"#raw-interpolated-string-quadruple-quote-double-interpolation"},{"include":"#raw-interpolated-string-quadruple-quote-single-interpolation"},{"include":"#raw-interpolated-string-triple-quote-double-interpolation"},{"include":"#raw-interpolated-string-triple-quote-single-interpolation"}]},"raw-interpolated-string-five-or-more-quote-one-or-more-interpolation":{"begin":"\\\\$+\\"\\"\\"\\"\\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"\\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-interpolated-string-quadruple-quote-double-interpolation":{"begin":"\\\\$\\\\$\\"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#double-raw-interpolation"}]},"raw-interpolated-string-quadruple-quote-single-interpolation":{"begin":"\\\\$\\"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#raw-interpolation"}]},"raw-interpolated-string-three-or-more-quote-three-or-more-interpolation":{"begin":"\\\\$\\\\$\\\\$+\\"\\"\\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-interpolated-string-triple-quote-double-interpolation":{"begin":"\\\\$\\\\$\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#double-raw-interpolation"}]},"raw-interpolated-string-triple-quote-single-interpolation":{"begin":"\\\\$\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#raw-interpolation"}]},"raw-interpolation":{"begin":"(?<=[^{]|^)(\\\\{*)(\\\\{)(?!\\\\{)","beginCaptures":{"1":{"name":"string.quoted.double.cs"},"2":{"name":"punctuation.definition.interpolation.begin.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.interpolation.end.cs"}},"name":"meta.embedded.interpolation.cs","patterns":[{"include":"#expression"}]},"raw-string-literal":{"patterns":[{"include":"#raw-string-literal-more"},{"include":"#raw-string-literal-quadruple"},{"include":"#raw-string-literal-triple"}]},"raw-string-literal-more":{"begin":"\\"\\"\\"\\"\\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"\\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-string-literal-quadruple":{"begin":"\\"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-string-literal-triple":{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"readonly-modifier":{"match":"\\\\breadonly\\\\b","name":"storage.modifier.readonly.cs"},"record-declaration":{"begin":"(?=\\\\brecord\\\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(record)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"storage.type.record.cs"},"2":{"name":"entity.name.type.class.cs"}},"end":"(?=\\\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#parenthesized-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#class-or-struct-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"ref-modifier":{"match":"\\\\bref\\\\b","name":"storage.modifier.ref.cs"},"relational-pattern":{"begin":"<=?|>=?","beginCaptures":{"0":{"name":"keyword.operator.relational.cs"}},"end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#expression"}]},"return-statement":{"begin":"(?","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[,}])","patterns":[{"include":"#expression"}]},{"begin":"\\\\b(when)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.when.cs"}},"end":"(?==>|[,}])","patterns":[{"include":"#case-guard"}]},{"begin":"(?!\\\\s)","end":"(?=\\\\bwhen\\\\b|=>|[,}])","patterns":[{"include":"#pattern"}]}]},"switch-label":{"begin":"\\\\b(case|default)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.$1.cs"}},"end":"(:)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"patterns":[{"begin":"\\\\b(when)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.when.cs"}},"end":"(?=[:}])","patterns":[{"include":"#case-guard"}]},{"begin":"(?!\\\\s)","end":"(?=\\\\bwhen\\\\b|[:}])","patterns":[{"include":"#pattern"}]}]},"switch-statement":{"patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#switch-label"},{"include":"#statement"}]}]},"switch-statement-or-expression":{"begin":"(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\))\\\\s*(?!=[=>])(?==)"},"tuple-deconstruction-element-list":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#tuple-deconstruction-element-list"},{"include":"#declaration-expression-tuple"},{"include":"#punctuation-comma"},{"captures":{"1":{"name":"variable.other.readwrite.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*(?=[),])"}]},"tuple-element":{"captures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.tuple-element.cs"}},"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)(?:(?\\\\g)\\\\b)?"},"tuple-literal":{"begin":"(\\\\()(?=.*[,:])","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#tuple-literal-element"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"tuple-literal-element":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?=:)","beginCaptures":{"1":{"name":"entity.name.variable.tuple-element.cs"}},"end":"(:)","endCaptures":{"0":{"name":"punctuation.separator.colon.cs"}}},"tuple-type":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#tuple-element"},{"include":"#punctuation-comma"}]},"type":{"patterns":[{"include":"#comment"},{"include":"#ref-modifier"},{"include":"#readonly-modifier"},{"include":"#tuple-type"},{"include":"#type-builtin"},{"include":"#type-name"},{"include":"#type-arguments"},{"include":"#type-array-suffix"},{"include":"#type-nullable-suffix"},{"include":"#type-pointer-suffix"}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.cs"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.cs"}},"patterns":[{"include":"#type"},{"include":"#punctuation-comma"}]},"type-array-suffix":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.cs"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#punctuation-comma"}]},"type-builtin":{"captures":{"1":{"name":"keyword.type.$1.cs"}},"match":"\\\\b(bool|s?byte|u?short|n?u?int|u?long|float|double|decimal|char|string|object|void|dynamic)\\\\b"},"type-declarations":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#class-declaration"},{"include":"#delegate-declaration"},{"include":"#enum-declaration"},{"include":"#interface-declaration"},{"include":"#struct-declaration"},{"include":"#union-declaration"},{"include":"#record-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"type-name":{"patterns":[{"captures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(::)"},{"captures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(\\\\.)"},{"captures":{"1":{"name":"punctuation.accessor.cs"},"2":{"name":"entity.name.type.cs"}},"match":"(\\\\.)\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},"type-nullable-suffix":{"match":"\\\\?","name":"punctuation.separator.question-mark.cs"},"type-operator-expression":{"begin":"\\\\b(default|sizeof|typeof)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#type"}]},"type-parameter-list":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.cs"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.cs"}},"patterns":[{"match":"\\\\b(in|out)\\\\b","name":"storage.modifier.$1.cs"},{"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\b","name":"entity.name.type.type-parameter.cs"},{"include":"#comment"},{"include":"#punctuation-comma"},{"include":"#attribute-section"}]},"type-pattern":{"begin":"(?=@?[_[:alpha:]][_[:alnum:]]*)","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\G","end":"(?!\\\\G[@_[:alpha:]])(?=[]\\\\&(),:;=@^_{|}[:alpha:]]|(?:\\\\s|^)\\\\?|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#type-subpattern"}]},{"begin":"(?=[(@_{[:alpha:]])","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#positional-pattern"},{"include":"#property-pattern"},{"include":"#simple-designation-pattern"}]}]},"type-pointer-suffix":{"match":"\\\\*","name":"punctuation.separator.asterisk.cs"},"type-subpattern":{"patterns":[{"include":"#type-builtin"},{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(::)","beginCaptures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"end":"(?<=[_[:alnum:]])|(?=[]\\\\&(),.:-=?\\\\[^{|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"},{"begin":"\\\\.","beginCaptures":{"0":{"name":"punctuation.accessor.cs"}},"end":"(?<=[_[:alnum:]])|(?=[]\\\\&(),:-=?\\\\[^{|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},{"include":"#type-arguments"},{"include":"#type-array-suffix"},{"match":"(?])","beginCaptures":{"1":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[]),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"verbatim-interpolated-string":{"begin":"(?:\\\\$@|@\\\\$)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"(?=[^\\"])","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#verbatim-string-character-escape"},{"include":"#interpolation"}]},"verbatim-string-character-escape":{"match":"\\"\\"","name":"constant.character.escape.cs"},"verbatim-string-literal":{"begin":"@\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"(?=[^\\"])","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#verbatim-string-character-escape"}]},"when-clause":{"begin":"(?","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.unquoted.cdata.cs"},"xml-character-entity":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.constant.cs"},"3":{"name":"punctuation.definition.constant.cs"}},"match":"(&)([:_[:alpha:]][-.:_[:alnum:]]*|#\\\\d+|#x\\\\h+)(;)","name":"constant.character.entity.cs"},{"match":"&","name":"invalid.illegal.bad-ampersand.cs"}]},"xml-comment":{"begin":"","endCaptures":{"0":{"name":"punctuation.definition.comment.cs"}},"name":"comment.block.cs"},"xml-doc-comment":{"patterns":[{"include":"#xml-comment"},{"include":"#xml-character-entity"},{"include":"#xml-cdata"},{"include":"#xml-tag"}]},"xml-string":{"patterns":[{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.single.cs","patterns":[{"include":"#xml-character-entity"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#xml-character-entity"}]}]},"xml-tag":{"begin":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.cs"}},"name":"meta.tag.cs","patterns":[{"include":"#xml-attribute"}]},"yield-break-statement":{"captures":{"1":{"name":"keyword.control.flow.yield.cs"},"2":{"name":"keyword.control.flow.break.cs"}},"match":"(?NT});var HT,NT,gw=n1(()=>{HT=Object.freeze(JSON.parse('{"displayName":"Kotlin","fileTypes":["kt","kts"],"name":"kotlin","patterns":[{"include":"#import"},{"include":"#package"},{"include":"#code"}],"repository":{"annotation-simple":{"match":"(?<([^<>]|\\\\g)+>)?"},"code":{"patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#annotation-simple"},{"include":"#annotation-site-list"},{"include":"#annotation-site"},{"include":"#class-declaration"},{"include":"#object"},{"include":"#type-alias"},{"include":"#function"},{"include":"#variable-declaration"},{"include":"#type-constraint"},{"include":"#type-annotation"},{"include":"#function-call"},{"include":"#method-reference"},{"include":"#key"},{"include":"#string"},{"include":"#string-empty"},{"include":"#string-multiline"},{"include":"#character"},{"include":"#lambda-arrow"},{"include":"#operators"},{"include":"#self-reference"},{"include":"#decimal-literal"},{"include":"#hex-literal"},{"include":"#binary-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"}]},"comment-block":{"begin":"/\\\\*(?!\\\\*)","end":"\\\\*/","name":"comment.block.kotlin"},"comment-javadoc":{"patterns":[{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.javadoc.kotlin","patterns":[{"match":"@(return|constructor|receiver|sample|see|author|since|suppress)\\\\b","name":"keyword.other.documentation.javadoc.kotlin"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"variable.parameter.kotlin"}},"match":"(@p(?:aram|roperty))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"variable.parameter.kotlin"}},"match":"(@param)\\\\[(\\\\S+)]"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"entity.name.type.class.kotlin"}},"match":"(@(?:exception|throws))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"entity.name.type.class.kotlin"},"3":{"name":"variable.parameter.kotlin"}},"match":"\\\\{(@link)\\\\s+(\\\\S+)?#([$\\\\w]+\\\\s*\\\\([^()]*\\\\)).*}"}]}]},"comment-line":{"begin":"//","end":"$","name":"comment.line.double-slash.kotlin"},"comments":{"patterns":[{"include":"#comment-line"},{"include":"#comment-block"},{"include":"#comment-javadoc"}]},"control-keywords":{"match":"\\\\b(if|else|while|do|when|try|throw|break|continue|return|for)\\\\b","name":"keyword.control.kotlin"},"decimal-literal":{"match":"\\\\b\\\\d[_\\\\d]*(\\\\.[_\\\\d]+)?(([Ee])\\\\d+)?([Uu])?([FLf])?\\\\b","name":"constant.numeric.decimal.kotlin"},"function":{"captures":{"1":{"name":"keyword.hard.fun.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]},"4":{"name":"entity.name.type.class.extension.kotlin"},"5":{"name":"entity.name.function.declaration.kotlin"}},"match":"\\\\b(fun)\\\\b\\\\s*(?<([^<>]|\\\\g)+>)?\\\\s*(?:(?:(\\\\w+)\\\\.)?(\\\\b\\\\w+\\\\b|`[^`]+`))?"},"function-call":{"captures":{"1":{"name":"entity.name.function.call.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]}},"match":"\\\\??\\\\.?(\\\\b\\\\w+\\\\b|`[^`]+`)\\\\s*(?<([^<>]|\\\\g)+>)?\\\\s*(?=[({])"},"hard-keywords":{"match":"\\\\b(as|typeof|is|in)\\\\b","name":"keyword.hard.kotlin"},"hex-literal":{"match":"0([Xx])\\\\h[_\\\\h]*([Uu])?","name":"constant.numeric.hex.kotlin"},"import":{"begin":"\\\\b(import)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.soft.kotlin"}},"contentName":"entity.name.package.kotlin","end":";|$","name":"meta.import.kotlin","patterns":[{"include":"#comments"},{"include":"#hard-keywords"},{"match":"\\\\*","name":"variable.language.wildcard.kotlin"}]},"key":{"captures":{"1":{"name":"variable.parameter.kotlin"},"2":{"name":"keyword.operator.assignment.kotlin"}},"match":"\\\\b(\\\\w=)\\\\s*(=)"},"keywords":{"patterns":[{"include":"#prefix-modifiers"},{"include":"#postfix-modifiers"},{"include":"#soft-keywords"},{"include":"#hard-keywords"},{"include":"#control-keywords"}]},"lambda-arrow":{"match":"->","name":"storage.type.function.arrow.kotlin"},"method-reference":{"captures":{"1":{"name":"entity.name.function.reference.kotlin"}},"match":"\\\\??::(\\\\b\\\\w+\\\\b|`[^`]+`)"},"null-literal":{"match":"\\\\bnull\\\\b","name":"constant.language.null.kotlin"},"object":{"captures":{"1":{"name":"keyword.hard.object.kotlin"},"2":{"name":"entity.name.type.object.kotlin"}},"match":"\\\\b(object)(?:\\\\s+(\\\\b\\\\w+\\\\b|`[^`]+`))?"},"operators":{"patterns":[{"match":"(===?|!==?|<=|>=|[<>])","name":"keyword.operator.comparison.kotlin"},{"match":"([-%*+/]=)","name":"keyword.operator.assignment.arithmetic.kotlin"},{"match":"(=)","name":"keyword.operator.assignment.kotlin"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.kotlin"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.kotlin"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.kotlin"},{"match":"(\\\\.\\\\.)","name":"keyword.operator.range.kotlin"}]},"package":{"begin":"\\\\b(package)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.hard.package.kotlin"}},"contentName":"entity.name.package.kotlin","end":";|$","name":"meta.package.kotlin","patterns":[{"include":"#comments"}]},"postfix-modifiers":{"match":"\\\\b(where|by|get|set)\\\\b","name":"storage.modifier.other.kotlin"},"prefix-modifiers":{"match":"\\\\b(abstract|final|enum|open|annotation|sealed|data|override|final|lateinit|private|protected|public|internal|inner|companion|noinline|crossinline|vararg|reified|tailrec|operator|infix|inline|external|const|suspend|value)\\\\b","name":"storage.modifier.other.kotlin"},"self-reference":{"match":"\\\\b(this|super)(@\\\\w+)?\\\\b","name":"variable.language.this.kotlin"},"soft-keywords":{"match":"\\\\b(init|catch|finally|field)\\\\b","name":"keyword.soft.kotlin"},"string":{"begin":"(?<([^<>]|\\\\g)+>)?"},"type-annotation":{"captures":{"0":{"patterns":[{"include":"#type-parameter"}]}},"match":"(?|(?[(<]([^\\"\'()<>]|\\\\g)+[)>]))+"},"type-parameter":{"patterns":[{"match":"\\\\b\\\\w+\\\\b","name":"entity.name.type.kotlin"},{"match":"\\\\b(in|out)\\\\b","name":"storage.modifier.kotlin"}]},"unescaped-annotation":{"match":"\\\\b[.\\\\w]+\\\\b","name":"entity.name.type.annotation.kotlin"},"variable-declaration":{"captures":{"1":{"name":"keyword.hard.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]}},"match":"\\\\b(va[lr])\\\\b\\\\s*(?<([^<>]|\\\\g)+>)?"}},"scopeName":"source.kotlin","aliases":["kt","kts"]}')),NT=[HT]});var bw={};u1(bw,{default:()=>VT});var TT,VT,fw=n1(()=>{TT=Object.freeze(JSON.parse('{"displayName":"Swift","fileTypes":["swift"],"firstLineMatch":"^#!/.*\\\\bswift","name":"swift","patterns":[{"include":"#root"}],"repository":{"async-throws":{"captures":{"1":{"name":"invalid.illegal.await-must-precede-throws.swift"},"2":{"name":"storage.modifier.exception.swift"},"3":{"name":"storage.modifier.async.swift"}},"match":"\\\\b(?:((?:throws\\\\s+|rethrows\\\\s+)async)|((?:|re)throws)|(async))\\\\b"},"attributes":{"patterns":[{"begin":"((@)available)(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.attribute.available.swift","patterns":[{"captures":{"1":{"name":"keyword.other.platform.os.swift"},"2":{"name":"constant.numeric.swift"}},"match":"\\\\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b(?:\\\\s+([0-9]+(?:\\\\.[0-9]+)*)\\\\b)?"},{"begin":"\\\\b((?:introduc|deprecat|obsolet)ed)\\\\s*(:)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"match":"\\\\b[0-9]+(?:\\\\.[0-9]+)*\\\\b","name":"constant.numeric.swift"}]},{"begin":"\\\\b(message|renamed)\\\\s*(:)\\\\s*(?=\\")","beginCaptures":{"1":{"name":"keyword.other.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#literals"}]},{"captures":{"1":{"name":"keyword.other.platform.all.swift"},"2":{"name":"keyword.other.swift"},"3":{"name":"invalid.illegal.character-not-allowed-here.swift"}},"match":"(?:(\\\\*)|\\\\b(deprecated|unavailable|noasync)\\\\b)\\\\s*(.*?)(?=[),])"}]},{"begin":"((@)objc)(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.attribute.objc.swift","patterns":[{"captures":{"1":{"name":"invalid.illegal.missing-colon-after-selector-piece.swift"}},"match":"\\\\w*(?::(?:\\\\w*:)*(\\\\w*))?","name":"entity.name.function.swift"}]},{"begin":"(@)(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)","beginCaptures":{"0":{"name":"storage.modifier.attribute.swift"},"1":{"name":"punctuation.definition.attribute.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G\\\\()","name":"meta.attribute.swift","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.arguments.attribute.swift","patterns":[{"include":"#expressions"}]}]}]},"builtin-functions":{"patterns":[{"match":"(?<=\\\\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a[px]))(?=\\\\s*[({])\\\\b","name":"support.function.swift"},{"match":"(?<=\\\\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:|OrPinned)Reference|as(?:Suf|Pre)fix)|ne(?:gated?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:R|Unr)etainedValue|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:R|Unr)etained|re(?:decessor|fix))|e(?:scaped?|n(?:code|umerated?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:(?:Backward|)From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:(?:R|Subr)ange)?|versed?|quest(?:Native|UniqueMutableBacking)Buffer|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\\\\s*\\\\()","name":"support.function.swift"},{"match":"(?<=\\\\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\\\\s*\\\\()","name":"support.function.swift"}]},"builtin-global-functions":{"patterns":[{"begin":"\\\\b(type)(\\\\()\\\\s*(of)(:)","beginCaptures":{"1":{"name":"support.function.dynamic-type.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"},"3":{"name":"support.variable.parameter.swift"},"4":{"name":"punctuation.separator.argument-label.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"include":"#expressions"}]},{"match":"\\\\ba(?:nyGenerator|utoreleasepool)(?=\\\\s*[({])\\\\b","name":"support.function.swift"},{"match":"\\\\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:Mutable|)Pointer|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\\\\s*\\\\()","name":"support.function.swift"},{"match":"\\\\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:Mutable|)Pointers|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\\\\s*\\\\()","name":"support.function.swift"}]},"builtin-properties":{"patterns":[{"match":"(?<=(?:^|\\\\W)(?:Process\\\\.|CommandLine\\\\.))(arguments|argc|unsafeArgv)","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:|bugDe)scription|u(?:n(?:safelyUnwrapped|icodeScalars?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|values?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzero|rmal)Magnitude|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\\\\b","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\\\\b","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\\\\b","name":"support.variable.swift"}]},"builtin-types":{"patterns":[{"include":"#builtin-types-builtin-class-type"},{"include":"#builtin-types-builtin-enum-type"},{"include":"#builtin-types-builtin-protocol-type"},{"include":"#builtin-types-builtin-struct-type"},{"include":"#builtin-types-builtin-typealias"},{"match":"\\\\bAny\\\\b","name":"support.type.any.swift"}]},"builtin-types-builtin-class-type":{"match":"\\\\b(Managed((?:|Proto)Buffer)|NonObjectiveCBase|AnyGenerator)\\\\b","name":"support.class.swift"},"builtin-types-builtin-enum-type":{"patterns":[{"match":"\\\\b(?:CommandLine|Process(?=\\\\.))\\\\b","name":"support.constant.swift"},{"match":"\\\\bNever\\\\b","name":"support.constant.never.swift"},{"match":"\\\\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:MirrorDisposition|QuickLookObject)\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-protocol-type":{"patterns":[{"match":"\\\\bActor\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ide|eam)able|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflecta|StringConverti|DebugStringConverti|PlaygroundQuickLooka|LeafReflecta)ble|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:Sequence|Collection)Protocol)|A(?:nyObject|bsoluteValuable))\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Ran(?:domAccessIndex|geReplaceableCollection)Type|GeneratorType|M(?:irror(?:|Path)Type|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperations|directionalIndex)Type|oolean(?:Type|LiteralConvertible))|S(?:tring(?:Interpolation|Literal)Convertible|i(?:nk|gned(?:Numb|Integ)er)Type|e(?:tAlgebra|quence)Type|liceable)|NilLiteralConvertible|C(?:ollection|VarArg)Type|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStream|ptionSet)Type|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-struct-type":{"patterns":[{"match":"\\\\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccess|Bidirectional|)Slice|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccess|geReplaceable(?:RandomAccess|Bidirectional|))|Bidirectional|)Slice|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:(?:Gen|It)erator)?|o(?:(?:Gen|It)erator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:|Closed)Range|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Gen|It)erator)?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccess|Bidirectional|)Indices)|U(?:n(?:safe(?:RawPointer|Mutable(?:Raw|Buffer|)Pointer|BufferPointer(?:(?:Gen|It)erator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-typealias":{"patterns":[{"match":"\\\\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam[12]))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lements?|x(?:tendedGraphemeCluster(?:|Literal)Type|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Generator|PlaygroundQuickLook|UWord|Word)\\\\b","name":"support.type.swift"}]},"code-block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.swift"}},"patterns":[{"include":"$self"}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.swift"}},"match":"\\\\A^(#!).*$\\\\n?","name":"comment.line.number-sign.swift"},{"begin":"/\\\\*\\\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.documentation.swift","patterns":[{"include":"#comments-nested"}]},{"begin":"/\\\\*:","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.documentation.playground.swift","patterns":[{"include":"#comments-nested"}]},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.swift","patterns":[{"include":"#comments-nested"}]},{"match":"\\\\*/","name":"invalid.illegal.unexpected-end-of-block-comment.swift"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.swift"}},"end":"(?!\\\\G)","patterns":[{"begin":"///","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.triple-slash.documentation.swift"},{"begin":"//:","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.double-slash.documentation.swift"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.double-slash.swift"}]}]},"comments-nested":{"begin":"/\\\\*","end":"\\\\*/","patterns":[{"include":"#comments-nested"}]},"compiler-control":{"patterns":[{"begin":"^\\\\s*(#)(if|elseif)\\\\s+(false)\\\\b.*?(?=$|//|/\\\\*)","beginCaptures":{"0":{"name":"meta.preprocessor.conditional.swift"},"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"},"3":{"name":"constant.language.boolean.swift"}},"contentName":"comment.block.preprocessor.swift","end":"(?=^\\\\s*(#(e(?:lseif|lse|ndif)))\\\\b)"},{"begin":"^\\\\s*(#)(if|elseif)\\\\s+","captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"}},"end":"(?=\\\\s*/[*/])|$","name":"meta.preprocessor.conditional.swift","patterns":[{"match":"(&&|\\\\|\\\\|)","name":"keyword.operator.logical.swift"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.swift"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"support.constant.platform.architecture.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(arch)\\\\s*(\\\\()\\\\s*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|\\\\w+)\\\\s*(\\\\))"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"support.constant.platform.os.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(os)\\\\s*(\\\\()\\\\s*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|\\\\w+)\\\\s*(\\\\))"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"entity.name.type.module.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(canImport)\\\\s*(\\\\()([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)(\\\\))"},{"begin":"\\\\b(targetEnvironment)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))|$","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"match":"\\\\b(simulator|UIKitForMac)\\\\b","name":"support.constant.platform.environment.swift"}]},{"begin":"\\\\b(swift|compiler)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))|$","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"match":">=|<","name":"keyword.operator.comparison.swift"},{"match":"\\\\b[0-9]+(?:\\\\.[0-9]+)*\\\\b","name":"constant.numeric.swift"}]}]},{"captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"},"3":{"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"match":"^\\\\s*(#)(e(?:lse|ndif))(.*?)(?=$|//|/\\\\*)","name":"meta.preprocessor.conditional.swift"},{"captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.sourcelocation.swift"},"4":{"name":"punctuation.definition.parameters.begin.swift"},"5":{"patterns":[{"begin":"(file)\\\\s*(:)\\\\s*(?=\\")","beginCaptures":{"1":{"name":"support.variable.parameter.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#literals"}]},{"captures":{"1":{"name":"support.variable.parameter.swift"},"2":{"name":"punctuation.separator.key-value.swift"},"3":{"name":"constant.numeric.integer.swift"}},"match":"(line)\\\\s*(:)\\\\s*([0-9]+)"},{"match":",","name":"punctuation.separator.parameters.swift"},{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"6":{"name":"punctuation.definition.parameters.begin.swift"},"7":{"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"match":"^\\\\s*(#)(sourceLocation)((\\\\()([^)]*)(\\\\)))(.*?)(?=$|//|/\\\\*)","name":"meta.preprocessor.sourcelocation.swift"}]},"conditionals":{"patterns":[{"begin":"(?^|~])(->)(?![-!%\\\\&*+./<=>^|~])"},{"captures":{"1":{"name":"keyword.operator.type.composition.swift"}},"match":"(?^|~])(&)(?![-!%\\\\&*+./<=>^|~])"},{"match":"[!?]","name":"keyword.operator.type.optional.swift"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.function.variadic-parameter.swift"},{"match":"\\\\bprotocol\\\\b","name":"keyword.other.type.composition.swift"},{"match":"(?<=\\\\.)(?:Protocol|Type)\\\\b","name":"keyword.other.type.metatype.swift"},{"include":"#declarations-available-types-tuple-type"},{"include":"#declarations-available-types-collection-type"},{"include":"#declarations-generic-argument-clause"}]},"declarations-available-types-collection-type":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.collection-type.begin.swift"}},"end":"]|(?=[)>{}])","endCaptures":{"0":{"name":"punctuation.section.collection-type.end.swift"}},"patterns":[{"include":"#declarations-available-types"},{"include":"#literals-numeric"},{"match":"\\\\b_\\\\b","name":"support.variable.inferred.swift"},{"match":"(?<=\\\\s)\\\\bof\\\\b(?=\\\\s+[(\\\\[_\\\\p{L}\\\\d\\\\p{N}\\\\p{M}])","name":"keyword.other.inline-array.swift"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.key-value.swift"}},"end":"(?=[])>{}])","patterns":[{"match":":","name":"invalid.illegal.extra-colon-in-dictionary-type.swift"},{"include":"#declarations-available-types"}]}]},"declarations-available-types-tuple-type":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.tuple-type.begin.swift"}},"end":"\\\\)|(?=[]>{}])","endCaptures":{"0":{"name":"punctuation.section.tuple-type.end.swift"}},"patterns":[{"include":"#declarations-available-types"}]},"declarations-extension":{"begin":"\\\\b(extension)\\\\s+","beginCaptures":{"1":{"name":"storage.type.$1.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"begin":"\\\\G(?!\\\\s*[\\\\n:{])","end":"(?=\\\\s*[\\\\n:{])|(?!\\\\G)(?=\\\\s*where\\\\b)","name":"entity.name.type.swift","patterns":[{"include":"#declarations-available-types"}]},{"include":"#comments"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function":{"begin":"\\\\b(func)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)|(?:((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g|\\\\g|\\\\.)+)))\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})|$","name":"meta.definition.function.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.function.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.function.end.swift"}},"name":"meta.definition.function.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function-initializer":{"begin":"(?^|~])(->)(?![-!%\\\\&*+./<=>^|~])\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.function-result.swift"}},"end":"(?!\\\\G)(?=\\\\{|\\\\bwhere\\\\b|[;=])|$","name":"meta.function-result.swift","patterns":[{"match":"\\\\bsending\\\\b","name":"storage.modifier.swift"},{"include":"#declarations-available-types"}]},"declarations-function-subscript":{"begin":"(?|(?=[]){}])","endCaptures":{"0":{"name":"punctuation.separator.generic-argument-clause.end.swift"}},"name":"meta.generic-argument-clause.swift","patterns":[{"include":"#literals-numeric"},{"include":"#declarations-available-types"}]},"declarations-generic-parameter-clause":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.separator.generic-parameter-clause.begin.swift"}},"end":">|(?=[^\\\\&,:<=>`\\\\w\\\\d\\\\s])","endCaptures":{"0":{"name":"punctuation.separator.generic-parameter-clause.end.swift"}},"name":"meta.generic-parameter-clause.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause"},{"match":"\\\\blet\\\\b","name":"keyword.other.declaration-specifier.swift"},{"match":"\\\\beach\\\\b","name":"keyword.control.loop.swift"},{"captures":{"1":{"name":"variable.language.generic-parameter.swift"}},"match":"\\\\b((?!\\\\d)\\\\w[\\\\w\\\\d]*)\\\\b"},{"match":",","name":"punctuation.separator.generic-parameters.swift"},{"begin":"(:)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.generic-parameter-constraint.swift"}},"end":"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.generic-parameter-constraint.swift","patterns":[{"begin":"\\\\G","end":"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)","name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-type-identifier"},{"include":"#declarations-type-operators"}]}]}]},"declarations-generic-where-clause":{"begin":"\\\\b(where)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.generic-constraint-introducer.swift"}},"end":"(?!\\\\G)$|(?=[\\\\n;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause-requirement-list"}]},"declarations-generic-where-clause-requirement-list":{"begin":"\\\\G|,\\\\s*","end":"(?=[\\\\n,;>{}]|//|/\\\\*)","patterns":[{"include":"#comments"},{"include":"#constraint"},{"include":"#declarations-available-types"},{"begin":"(?^|~])(==)(?![-!%\\\\&*+./<=>^|~])","beginCaptures":{"1":{"name":"keyword.operator.generic-constraint.same-type.swift"}},"end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.same-type-requirement.swift","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(?^|~])(:)(?![-!%\\\\&*+./<=>^|~])","beginCaptures":{"1":{"name":"keyword.operator.generic-constraint.conforms-to.swift"}},"end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.conformance-requirement.swift","patterns":[{"begin":"\\\\G\\\\s*","contentName":"entity.other.inherited-class.swift","end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","patterns":[{"include":"#declarations-available-types"}]}]}]},"declarations-import":{"begin":"(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)","name":"entity.name.type.swift"},{"match":"(?<=\\\\G|\\\\.)\\\\$[0-9]+","name":"entity.name.type.swift"},{"captures":{"1":{"patterns":[{"match":"\\\\.","name":"invalid.illegal.dot-not-allowed-here.swift"}]}},"match":"(?<=\\\\G|\\\\.)(?:((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g|\\\\g|\\\\.)+))(?=[.;]|$|//|/\\\\*|\\\\s)","name":"entity.name.type.swift"},{"match":"\\\\.","name":"punctuation.separator.import.swift"},{"begin":"(?!\\\\s*(;|$|//|/\\\\*))","end":"(?=\\\\s*(;|$|//|/\\\\*))","name":"invalid.illegal.character-not-allowed-here.swift"}]}]},"declarations-inheritance-clause":{"begin":"(:)(?=\\\\s*\\\\{)|(:)\\\\s*","beginCaptures":{"1":{"name":"invalid.illegal.empty-inheritance-clause.swift"},"2":{"name":"punctuation.separator.inheritance-clause.swift"}},"end":"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.inheritance-clause.swift","patterns":[{"begin":"\\\\bclass\\\\b","beginCaptures":{"0":{"name":"storage.type.class.swift"}},"end":"(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause-more-types"}]},{"begin":"\\\\G","end":"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","patterns":[{"include":"#attributes"},{"include":"#comments"},{"include":"#declarations-inheritance-clause-inherited-type"},{"include":"#declarations-inheritance-clause-more-types"},{"include":"#declarations-type-operators"}]}]},"declarations-inheritance-clause-inherited-type":{"begin":"(?=[_`\\\\p{L}])","end":"(?!\\\\G)","name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-type-identifier"}]},"declarations-inheritance-clause-more-types":{"begin":",\\\\s*","end":"(?!\\\\G)(?!/[*/])|(?=[,={}]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.inheritance-list.more-types","patterns":[{"include":"#attributes"},{"include":"#comments"},{"include":"#declarations-inheritance-clause-inherited-type"},{"include":"#declarations-inheritance-clause-more-types"},{"include":"#declarations-type-operators"}]},"declarations-macro":{"begin":"\\\\b(macro)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(?=[(<=])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"$|(?=;|//|/\\\\*|[=}])","name":"meta.definition.macro.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"}]},"declarations-operator":{"begin":"(?:\\\\b((?:pre|in|post)fix)\\\\s+)?\\\\b(operator)\\\\s+(((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|\\\\.|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*+)|(\\\\.(\\\\g|\\\\g|\\\\.)++))\\\\s*","beginCaptures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"storage.type.function.operator.swift"},"3":{"name":"entity.name.function.operator.swift"},"4":{"name":"entity.name.function.operator.swift","patterns":[{"match":"\\\\.","name":"invalid.illegal.dot-not-allowed-here.swift"}]}},"end":"(;)|$\\\\n?|(?=/[*/])","endCaptures":{"1":{"name":"punctuation.terminator.statement.swift"}},"name":"meta.definition.operator.swift","patterns":[{"include":"#declarations-operator-swift2"},{"include":"#declarations-operator-swift3"},{"match":"((?!$|;|//|/\\\\*)\\\\S)+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"declarations-operator-swift2":{"begin":"\\\\G(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.operator.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.operator.end.swift"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"keyword.other.operator.associativity.swift"}},"match":"\\\\b(associativity)\\\\s+(left|right)\\\\b"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"constant.numeric.integer.swift"}},"match":"\\\\b(precedence)\\\\s+([0-9]+)\\\\b"},{"captures":{"1":{"name":"storage.modifier.swift"}},"match":"\\\\b(assignment)\\\\b"}]},"declarations-operator-swift3":{"captures":{"2":{"name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-types-precedencegroup"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"\\\\G(:)\\\\s*((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))"},"declarations-parameter-clause":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))(?:\\\\s*(async)\\\\b)?","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"},"2":{"name":"storage.modifier.async.swift"}},"name":"meta.parameter-clause.swift","patterns":[{"include":"#declarations-parameter-list"}]},"declarations-parameter-list":{"patterns":[{"captures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"variable.parameter.function.swift"},"5":{"name":"punctuation.definition.identifier.swift"},"6":{"name":"punctuation.definition.identifier.swift"}},"match":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))(?=\\\\s*:)"},{"captures":{"1":{"name":"variable.parameter.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"(((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)))(?=\\\\s*:)"},{"begin":":\\\\s*(?!\\\\s)","end":"(?=[),])","patterns":[{"match":"\\\\bsending\\\\b","name":"storage.modifier.swift"},{"include":"#declarations-available-types"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.swift"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.swift"}},"end":"(?=[),])","patterns":[{"include":"#expressions"}]}]}]},"declarations-precedencegroup":{"begin":"\\\\b(precedencegroup)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.precedencegroup.swift"},"2":{"name":"entity.name.type.precedencegroup.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)","name":"meta.definition.precedencegroup.swift","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.precedencegroup.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.precedencegroup.end.swift"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-types-precedencegroup"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"\\\\b((?:high|low)erThan)\\\\s*:\\\\s*((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"keyword.other.operator.associativity.swift"}},"match":"\\\\b(associativity)\\\\b(?:\\\\s*:\\\\s*(right|left|none)\\\\b)?"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"constant.language.boolean.swift"}},"match":"\\\\b(assignment)\\\\b(?:\\\\s*:\\\\s*(true|false)\\\\b)?"}]}]},"declarations-protocol":{"begin":"\\\\b(protocol)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.protocol.swift","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause"},{"include":"#declarations-generic-where-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"#declarations-protocol-protocol-method"},{"include":"#declarations-protocol-protocol-initializer"},{"include":"#declarations-protocol-associated-type"},{"include":"$self"}]}]},"declarations-protocol-associated-type":{"begin":"\\\\b(associatedtype)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration-specifier.swift"},"2":{"name":"variable.language.associatedtype.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)$|(?=[;}]|$)","name":"meta.definition.associatedtype.swift","patterns":[{"include":"#declarations-inheritance-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-typealias-assignment"}]},"declarations-protocol-protocol-initializer":{"begin":"(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)|(?:((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g|\\\\g|\\\\.)+)))\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"$|(?=;|//|/\\\\*|})","name":"meta.definition.function.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.function.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.function.end.swift"}},"name":"invalid.illegal.function-body-not-allowed-in-protocol.swift","patterns":[{"include":"$self"}]}]},"declarations-type":{"patterns":[{"begin":"\\\\b(class(?!\\\\s+(?:func|var|let)\\\\b)|struct|actor)\\\\b\\\\s*((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"$self"}]}]},{"include":"#declarations-type-enum"}]},"declarations-type-enum":{"begin":"\\\\b(enum)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"#declarations-type-enum-enum-case-clause"},{"include":"$self"}]}]},"declarations-type-enum-associated-values":{"begin":"\\\\G\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"include":"#comments"},{"begin":"(?:(_)|((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k))\\\\s+(((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k))\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"invalid.illegal.distinct-labels-not-allowed.swift"},"5":{"name":"variable.parameter.function.swift"},"7":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k))\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"variable.parameter.function.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(?![]),])(?=\\\\S)","end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.swift"}]}]},"declarations-type-enum-enum-case":{"begin":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"variable.other.enummember.swift"}},"end":"(?<=\\\\))|(?![(=])","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-associated-values"},{"include":"#declarations-type-enum-raw-value-assignment"}]},"declarations-type-enum-enum-case-clause":{"begin":"\\\\b(case)\\\\b\\\\s*","beginCaptures":{"1":{"name":"storage.type.enum.case.swift"}},"end":"(?=[;}])|(?!\\\\G)(?!/[*/])(?=[^,\\\\s])","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-enum-case"},{"include":"#declarations-type-enum-more-cases"}]},"declarations-type-enum-more-cases":{"begin":",\\\\s*","end":"(?!\\\\G)(?!/[*/])(?=[;}[^,\\\\s]])","name":"meta.enum-case.more-cases","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-enum-case"},{"include":"#declarations-type-enum-more-cases"}]},"declarations-type-enum-raw-value-assignment":{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#comments"},{"include":"#literals"}]},"declarations-type-identifier":{"begin":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"meta.type-name.swift","patterns":[{"include":"#builtin-types"}]},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!<)","patterns":[{"begin":"(?=<)","end":"(?!\\\\G)","patterns":[{"include":"#declarations-generic-argument-clause"}]}]},"declarations-type-operators":{"patterns":[{"captures":{"1":{"name":"keyword.operator.type.composition.swift"}},"match":"(?^|~])(&)(?![-!%\\\\&*+./<=>^|~])"},{"captures":{"1":{"name":"keyword.operator.type.requirement-suppression.swift"}},"match":"(?^|~])(~)(?![-!%\\\\&*+./<=>^|~])"}]},"declarations-typealias":{"begin":"\\\\b(typealias)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration-specifier.swift"},"2":{"name":"entity.name.type.typealias.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)$|(?=;|//|/\\\\*|$)","name":"meta.definition.typealias.swift","patterns":[{"begin":"\\\\G(?=<)","end":"(?!\\\\G)","patterns":[{"include":"#declarations-generic-parameter-clause"}]},{"include":"#declarations-typealias-assignment"}]},"declarations-typealias-assignment":{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.swift"}},"end":"(?!\\\\G)$|(?=;|//|/\\\\*|$)","patterns":[{"include":"#declarations-available-types"}]},"declarations-typed-variable-declaration":{"begin":"\\\\b(?:(async)\\\\s+)?(let|var)\\\\b\\\\s+(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)\\\\s*:","beginCaptures":{"1":{"name":"storage.modifier.async.swift"},"2":{"name":"keyword.other.declaration-specifier.swift"}},"end":"(?=$|[={])","patterns":[{"include":"#declarations-available-types"}]},"declarations-types-precedencegroup":{"patterns":[{"match":"\\\\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\\\\b","name":"support.type.swift"}]},"expressions":{"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references"},{"include":"#expressions-trailing-closure"},{"include":"#member-reference"}]},"expressions-trailing-closure":{"patterns":[{"captures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"match":"(#?(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))(?=\\\\s*\\\\{)","name":"meta.function-call.trailing-closure-only.swift"},{"captures":{"1":{"name":"support.function.any-method.trailing-closure-label.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"match":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(:)(?=\\\\s*\\\\{)"}]},"expressions-without-trailing-closures":{"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references"},{"include":"#member-references"}]},"expressions-without-trailing-closures-or-member-references":{"patterns":[{"include":"#comments"},{"include":"#code-block"},{"include":"#attributes"},{"include":"#expressions-without-trailing-closures-or-member-references-closure-parameter"},{"include":"#literals"},{"include":"#operators"},{"include":"#builtin-types"},{"include":"#builtin-functions"},{"include":"#builtin-global-functions"},{"include":"#builtin-properties"},{"include":"#expressions-without-trailing-closures-or-member-references-compound-name"},{"include":"#conditionals"},{"include":"#keywords"},{"include":"#expressions-without-trailing-closures-or-member-references-availability-condition"},{"include":"#expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression"},{"include":"#expressions-without-trailing-closures-or-member-references-macro-expansion"},{"include":"#expressions-without-trailing-closures-or-member-references-subscript-expression"},{"include":"#expressions-without-trailing-closures-or-member-references-parenthesized-expression"},{"match":"\\\\b_\\\\b","name":"support.variable.discard-value.swift"}]},"expressions-without-trailing-closures-or-member-references-availability-condition":{"begin":"\\\\B(#(?:un)?available)(\\\\()","beginCaptures":{"1":{"name":"support.function.availability-condition.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"captures":{"1":{"name":"keyword.other.platform.os.swift"},"2":{"name":"constant.numeric.swift"}},"match":"\\\\s*\\\\b((?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b\\\\s+([0-9]+(?:\\\\.[0-9]+)*)\\\\b"},{"captures":{"1":{"name":"keyword.other.platform.all.swift"},"2":{"name":"invalid.illegal.character-not-allowed-here.swift"}},"match":"(\\\\*)\\\\s*(.*?)(?=[),])"},{"match":"[^),\\\\s]+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"expressions-without-trailing-closures-or-member-references-closure-parameter":{"match":"\\\\$[0-9]+","name":"variable.language.closure-parameter.swift"},"expressions-without-trailing-closures-or-member-references-compound-name":{"captures":{"1":{"name":"entity.name.function.compound-name.swift"},"2":{"name":"punctuation.definition.entity.swift"},"3":{"name":"punctuation.definition.entity.swift"},"4":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.swift"},"2":{"name":"punctuation.definition.entity.swift"}},"match":"(?`?)(?!_:)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k):","name":"entity.name.function.compound-name.swift"}]}},"match":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\(((((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)):)+)\\\\)"},"expressions-without-trailing-closures-or-member-references-expression-element-list":{"patterns":[{"include":"#comments"},{"begin":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(:)","beginCaptures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#expressions"}]},{"begin":"(?![]),])(?=\\\\S)","end":"(?=[]),])","patterns":[{"include":"#expressions"}]}]},"expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression":{"patterns":[{"begin":"(#?(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.function-call.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},{"begin":"(?<=[])>_`}\\\\p{L}\\\\p{N}\\\\p{M}])\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.function-call.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]}]},"expressions-without-trailing-closures-or-member-references-macro-expansion":{"match":"(#(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","name":"support.function.any-method.swift"},"expressions-without-trailing-closures-or-member-references-parenthesized-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.tuple.begin.swift"}},"end":"(\\\\))\\\\s*((?:\\\\b(?:async|throws|rethrows)\\\\s)*)","endCaptures":{"1":{"name":"punctuation.section.tuple.end.swift"},"2":{"patterns":[{"match":"\\\\brethrows\\\\b","name":"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift"},{"include":"#async-throws"}]}},"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"expressions-without-trailing-closures-or-member-references-subscript-expression":{"begin":"(?<=[_`\\\\p{L}\\\\p{N}\\\\p{M}])\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.subscript-expression.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"keywords":{"patterns":[{"match":"(?(?>(?:\\\\\\\\Q(?:(?!\\\\\\\\E)(?!/).)*+(?:\\\\\\\\E|(?=/))|\\\\\\\\.|\\\\(\\\\?#[^)]*\\\\)|\\\\(\\\\?(?>\\\\{(?:[^{].*?|\\\\{[^{].*?}|\\\\{\\\\{[^{].*?}}|\\\\{\\\\{\\\\{[^{].*?}}}|\\\\{\\\\{\\\\{\\\\{[^{].*?}}}}|\\\\{\\\\{\\\\{\\\\{\\\\{.+?}}}}})})(?:\\\\[(?!\\\\d)\\\\w+])?[<>X]?\\\\)|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\])+])+])+])+]|\\\\(\\\\g?+\\\\)|(?:(?!/)[^()\\\\[\\\\\\\\])+)+))?+(?(?>(?:\\\\\\\\Q(?:(?!\\\\\\\\E)(?!/\\\\2).)*+(?:\\\\\\\\E|(?=/\\\\2))|\\\\\\\\.|\\\\(\\\\?#[^)]*\\\\)|\\\\(\\\\?(?>\\\\{(?:[^{].*?|\\\\{[^{].*?}|\\\\{\\\\{[^{].*?}}|\\\\{\\\\{\\\\{[^{].*?}}}|\\\\{\\\\{\\\\{\\\\{[^{].*?}}}}|\\\\{\\\\{\\\\{\\\\{\\\\{.+?}}}}})})(?:\\\\[(?!\\\\d)\\\\w+])?[<>X]?\\\\)|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\])+])+])+])+]|\\\\(\\\\g?+\\\\)|(?:(?!/\\\\2)[^()\\\\[\\\\\\\\])+)+))?+(/\\\\2)|#+/.+(\\\\n)","name":"string.regexp.line.extended.swift"}]},"literals-regular-expression-literal-backreference-or-subpattern":{"patterns":[{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\g\\\\{)(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(})"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"constant.numeric.integer.decimal.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"}},"match":"(\\\\\\\\g)([-+]?\\\\d+)(?:([-+])(\\\\d+))?"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\[gk]<)(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(>)"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\[gk]\')(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(\')"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\k\\\\{)((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?(})"},{"match":"\\\\\\\\[1-9][0-9]+","name":"keyword.other.back-reference.regexp"},{"captures":{"1":{"name":"keyword.other.back-reference.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.other.back-reference.regexp"}},"match":"(\\\\(\\\\?(?:P[=>]|&))((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?(\\\\))"},{"match":"\\\\(\\\\?R\\\\)","name":"keyword.other.back-reference.regexp"},{"captures":{"1":{"name":"keyword.other.back-reference.regexp"},"2":{"name":"constant.numeric.integer.decimal.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.other.back-reference.regexp"}},"match":"(\\\\(\\\\?)([-+]?\\\\d+)(?:([-+])(\\\\d+))?(\\\\))"}]},"literals-regular-expression-literal-backtracking-directive-or-global-matching-option":{"captures":{"1":{"name":"keyword.control.directive.regexp"},"2":{"name":"keyword.control.directive.regexp"},"3":{"name":"keyword.control.directive.regexp"},"4":{"name":"variable.language.tag.regexp"},"5":{"name":"keyword.control.directive.regexp"},"6":{"name":"keyword.operator.assignment.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"keyword.control.directive.regexp"},"9":{"name":"keyword.control.directive.regexp"}},"match":"(\\\\(\\\\*)(?:(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)(?:(:)([^)]+))?|(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\\\\d+)|(CRLF|CR|ANYCRLF|ANY|LF|NUL|BSR_ANYCRLF|BSR_UNICODE|NOTEMPTY_ATSTART|NOTEMPTY|NO_AUTO_POSSESS|NO_DOTSTAR_ANCHOR|NO_JIT|NO_START_OPT|UTF|UCP))(\\\\))"},"literals-regular-expression-literal-callout":{"captures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.callout.regexp"},"3":{"name":"constant.numeric.integer.decimal.regexp"},"4":{"name":"entity.name.function.callout.regexp"},"5":{"name":"entity.name.function.callout.regexp"},"6":{"name":"entity.name.function.callout.regexp"},"7":{"name":"entity.name.function.callout.regexp"},"8":{"name":"entity.name.function.callout.regexp"},"9":{"name":"entity.name.function.callout.regexp"},"10":{"name":"entity.name.function.callout.regexp"},"11":{"name":"entity.name.function.callout.regexp"},"12":{"name":"punctuation.definition.group.regexp"},"13":{"name":"punctuation.definition.group.regexp"},"14":{"name":"keyword.control.callout.regexp"},"15":{"name":"entity.name.function.callout.regexp"},"16":{"name":"variable.language.tag-name.regexp"},"17":{"name":"punctuation.definition.group.regexp"},"18":{"name":"punctuation.definition.group.regexp"},"19":{"name":"keyword.control.callout.regexp"},"21":{"name":"variable.language.tag-name.regexp"},"22":{"name":"keyword.control.callout.regexp"},"23":{"name":"punctuation.definition.group.regexp"}},"match":"(\\\\()(?\\\\?C)(?:(?\\\\d+)|`(?(?:[^`]|``)*)`|\'(?(?:[^\']|\'\')*)\'|\\"(?(?:[^\\"]|\\"\\")*)\\"|\\\\^(?(?:[^^]|\\\\^\\\\^)*)\\\\^|%(?(?:[^%]|%%)*)%|#(?(?:[^#]|##)*)#|\\\\$(?(?:[^$]|\\\\$\\\\$)*)\\\\$|\\\\{(?(?:[^}]|}})*)})?(\\\\))|(\\\\()(?\\\\*)(?(?!\\\\d)\\\\w+)(?:\\\\[(?(?!\\\\d)\\\\w+)])?(?:\\\\{[^,}]+(?:,[^,}]+)*})?(\\\\))|(\\\\()(?\\\\?)(?>(\\\\{(?:\\\\g<20>|(?!\\\\{).*?)}))(?:\\\\[(?(?!\\\\d)\\\\w+)])?(?[<>X]?)(\\\\))","name":"meta.callout.regexp"},"literals-regular-expression-literal-character-properties":{"captures":{"1":{"name":"support.variable.character-property.regexp"},"2":{"name":"punctuation.definition.character-class.regexp"},"3":{"name":"support.variable.character-property.regexp"},"4":{"name":"punctuation.definition.character-class.regexp"}},"match":"\\\\\\\\[Pp]\\\\{([-\\\\s\\\\w]+(?:=[-\\\\s\\\\w]+)?)}|(\\\\[:)([-\\\\s\\\\w]+(?:=[-\\\\s\\\\w]+)?)(:])","name":"constant.other.character-class.set.regexp"},"literals-regular-expression-literal-custom-char-class":{"patterns":[{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"include":"#literals-regular-expression-literal-custom-char-class-members"}]}]},"literals-regular-expression-literal-custom-char-class-members":{"patterns":[{"match":"\\\\\\\\b","name":"constant.character.escape.backslash.regexp"},{"include":"#literals-regular-expression-literal-custom-char-class"},{"include":"#literals-regular-expression-literal-quote"},{"include":"#literals-regular-expression-literal-set-operators"},{"include":"#literals-regular-expression-literal-unicode-scalars"},{"include":"#literals-regular-expression-literal-character-properties"}]},"literals-regular-expression-literal-group-option-toggle":{"match":"\\\\(\\\\?(?:\\\\^(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*)\\\\)","name":"keyword.other.option-toggle.regexp"},"literals-regular-expression-literal-group-or-conditional":{"patterns":[{"begin":"(\\\\()(\\\\?~)","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.conditional.absent.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.absent.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},{"begin":"(\\\\()(?\\\\?\\\\()(?:(?(?[-+]?\\\\d+)(?:(?[-+])(?\\\\d+))?)|(?R)\\\\g?|(?R&)(?(?(?!\\\\d)\\\\w+)(?:(?[-+])(?\\\\d+))?)|(?<)(?:\\\\g|\\\\g)(?>)|(?\')(?:\\\\g|\\\\g)(?\')|(?DEFINE)|(?VERSION)(?>?=)(?\\\\d+\\\\.\\\\d+))(?\\\\))|(\\\\()(?\\\\?)(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.conditional.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.operator.recursion-level.regexp"},"6":{"name":"constant.numeric.integer.decimal.regexp"},"7":{"name":"keyword.control.conditional.regexp"},"8":{"name":"keyword.control.conditional.regexp"},"10":{"name":"variable.other.group-name.regexp"},"11":{"name":"keyword.operator.recursion-level.regexp"},"12":{"name":"constant.numeric.integer.decimal.regexp"},"13":{"name":"keyword.control.conditional.regexp"},"14":{"name":"keyword.control.conditional.regexp"},"15":{"name":"keyword.control.conditional.regexp"},"16":{"name":"keyword.control.conditional.regexp"},"17":{"name":"keyword.control.conditional.regexp"},"18":{"name":"keyword.control.conditional.regexp"},"19":{"name":"keyword.operator.comparison.regexp"},"20":{"name":"constant.numeric.integer.decimal.regexp"},"21":{"name":"keyword.control.conditional.regexp"},"22":{"name":"punctuation.definition.group.regexp"},"23":{"name":"keyword.control.conditional.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.conditional.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},{"begin":"(\\\\()((\\\\?)(?:([!*:=>|]|<[!*=])|P?<(?:((?!\\\\d)\\\\w+)(-))?((?!\\\\d)\\\\w+)>|\'(?:((?!\\\\d)\\\\w+)(-))?((?!\\\\d)\\\\w+)\'|(?:\\\\^(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*):)|\\\\*(atomic|pla|positive_lookahead|nla|negative_lookahead|plb|positive_lookbehind|nlb|negative_lookbehind|napla|non_atomic_positive_lookahead|naplb|non_atomic_positive_lookbehind|sr|script_run|asr|atomic_script_run):)?+","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.other.group-options.regexp"},"3":{"name":"punctuation.definition.group.regexp"},"4":{"name":"punctuation.definition.group.regexp"},"5":{"name":"variable.other.group-name.regexp"},"6":{"name":"keyword.operator.balancing-group.regexp"},"7":{"name":"variable.other.group-name.regexp"},"8":{"name":"variable.other.group-name.regexp"},"9":{"name":"keyword.operator.balancing-group.regexp"},"10":{"name":"variable.other.group-name.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]}]},"literals-regular-expression-literal-line-comment":{"captures":{"1":{"name":"punctuation.definition.comment.regexp"}},"match":"(#).*$","name":"comment.line.regexp"},"literals-regular-expression-literal-quote":{"begin":"\\\\\\\\Q","beginCaptures":{"0":{"name":"constant.character.escape.backslash.regexp"}},"end":"\\\\\\\\E|(\\\\n)","endCaptures":{"0":{"name":"constant.character.escape.backslash.regexp"},"1":{"name":"invalid.illegal.returns-not-allowed.regexp"}},"name":"string.quoted.other.regexp.swift"},"literals-regular-expression-literal-regex-guts":{"patterns":[{"include":"#literals-regular-expression-literal-quote"},{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.regexp"}},"name":"comment.block.regexp"},{"begin":"<\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.regexp"}},"end":"}>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.regexp"}},"name":"meta.embedded.expression.regexp"},{"include":"#literals-regular-expression-literal-unicode-scalars"},{"include":"#literals-regular-expression-literal-character-properties"},{"match":"[$^]|\\\\\\\\[ABGYZbyz]|\\\\\\\\K","name":"keyword.control.anchor.regexp"},{"include":"#literals-regular-expression-literal-backtracking-directive-or-global-matching-option"},{"include":"#literals-regular-expression-literal-callout"},{"include":"#literals-regular-expression-literal-backreference-or-subpattern"},{"match":"\\\\.|\\\\\\\\[CDHNORSVWXdhsvw]","name":"constant.character.character-class.regexp"},{"match":"\\\\\\\\c.","name":"constant.character.entity.control-character.regexp"},{"match":"\\\\\\\\[^c]","name":"constant.character.escape.backslash.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"match":"[*+?]","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\{(?:\\\\s*\\\\d+\\\\s*(?:,\\\\s*\\\\d*\\\\s*)?}|\\\\s*,\\\\s*\\\\d+\\\\s*})","name":"keyword.operator.quantifier.regexp"},{"include":"#literals-regular-expression-literal-custom-char-class"},{"include":"#literals-regular-expression-literal-group-option-toggle"},{"include":"#literals-regular-expression-literal-group-or-conditional"}]},"literals-regular-expression-literal-set-operators":{"patterns":[{"match":"&&","name":"keyword.operator.intersection.regexp.swift"},{"match":"--","name":"keyword.operator.subtraction.regexp.swift"},{"match":"~~","name":"keyword.operator.symmetric-difference.regexp.swift"}]},"literals-regular-expression-literal-unicode-scalars":{"match":"\\\\\\\\(?:u\\\\{\\\\s*(?:\\\\h+\\\\s*)+}|u\\\\h{4}|x\\\\{\\\\h+}|x\\\\h{0,2}|U\\\\h{8}|o\\\\{[0-7]+}|0[0-7]{0,3}|N\\\\{(?:U\\\\+\\\\h{1,8}|[-\\\\s\\\\w]+)})","name":"constant.character.numeric.regexp"},"literals-string":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"\\"\\"(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.swift","patterns":[{"match":"\\\\G(?:.+(?=\\"\\"\\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"},{"match":"\\\\\\\\\\\\s*\\\\n","name":"constant.character.escape.newline.swift"},{"include":"#literals-string-string-guts"},{"match":"\\\\S((?!\\\\\\\\\\\\().)*(?=\\"\\"\\")","name":"invalid.illegal.content-before-closing-delimiter.swift"}]},{"begin":"#\\"\\"\\"(?!#)(?=(?:[^\\"]|\\"(?!#))*$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"\\"\\"#(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.raw.swift","patterns":[{"match":"\\\\G(?:.+(?=\\"\\"\\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"},{"match":"\\\\\\\\#\\\\s*\\\\n","name":"constant.character.escape.newline.swift"},{"include":"#literals-string-raw-string-guts"},{"match":"\\\\S((?!\\\\\\\\#\\\\().)*(?=\\"\\"\\")","name":"invalid.illegal.content-before-closing-delimiter.swift"}]},{"begin":"(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))"}]},"operators":{"patterns":[{"match":"\\\\b(is\\\\b|as([!?]\\\\B|\\\\b))","name":"keyword.operator.type-casting.swift"},{"begin":"(?=(?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])|\\\\.(\\\\g|[.\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))","end":"(?!\\\\G)","patterns":[{"captures":{"0":{"patterns":[{"match":"\\\\G(\\\\+\\\\+|--)$","name":"keyword.operator.increment-or-decrement.swift"},{"match":"\\\\G([-+])$","name":"keyword.operator.arithmetic.unary.swift"},{"match":"\\\\G!$","name":"keyword.operator.logical.not.swift"},{"match":"\\\\G~$","name":"keyword.operator.bitwise.not.swift"},{"match":".+","name":"keyword.operator.custom.prefix.swift"}]}},"match":"\\\\G(?<=^|[(,:;\\\\[{\\\\s])((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u0300-\u036F\u1DC0-\u1DFF\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u20D0-\u20FF\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))++(?![]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":"\\\\G(\\\\+\\\\+|--)$","name":"keyword.operator.increment-or-decrement.swift"},{"match":"\\\\G!$","name":"keyword.operator.increment-or-decrement.swift"},{"match":".+","name":"keyword.operator.custom.postfix.swift"}]}},"match":"\\\\G(?>|[\\\\&^|]|&&|\\\\|\\\\|)=$","name":"keyword.operator.assignment.compound.swift"},{"match":"\\\\G([-*+/])$","name":"keyword.operator.arithmetic.swift"},{"match":"\\\\G&([-*+])$","name":"keyword.operator.arithmetic.overflow.swift"},{"match":"\\\\G%$","name":"keyword.operator.arithmetic.remainder.swift"},{"match":"\\\\G(==|!=|[<>]|>=|<=|~=)$","name":"keyword.operator.comparison.swift"},{"match":"\\\\G\\\\?\\\\?$","name":"keyword.operator.coalescing.swift"},{"match":"\\\\G(&&|\\\\|\\\\|)$","name":"keyword.operator.logical.swift"},{"match":"\\\\G([\\\\&^|]|<<|>>)$","name":"keyword.operator.bitwise.swift"},{"match":"\\\\G([!=]==)$","name":"keyword.operator.bitwise.swift"},{"match":"\\\\G\\\\?$","name":"keyword.operator.ternary.swift"},{"match":".+","name":"keyword.operator.custom.infix.swift"}]}},"match":"\\\\G((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u0300-\u036F\u1DC0-\u1DFF\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u20D0-\u20FF\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))++"},{"captures":{"0":{"patterns":[{"match":".+","name":"keyword.operator.custom.prefix.dot.swift"}]}},"match":"\\\\G(?<=^|[(,:;\\\\[{\\\\s])\\\\.((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+./<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u0300-\u036F\u1DC0-\u1DFF\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u20D0-\u20FF\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))++(?![]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":".+","name":"keyword.operator.custom.postfix.dot.swift"}]}},"match":"\\\\G(?IT});var qT,IT,yw=n1(()=>{u4();rt();st();ee();D6();Ve();qT=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":"storage.modifier.inheritance.${3:/downcase}.php"},"4":{"name":"storage.modifier.visibility.${4:/downcase}.php"},"5":{"name":"storage.modifier.static.php"},"6":{"name":"entity.other.alias.php"}},"match":"(?i)\\\\b(as)\\\\s+((final|abstract)|(p(?:ublic|rivate|rotected))|(static))\\\\s+([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)"},{"captures":{"1":{"name":"keyword.other.use-as.php"},"2":{"patterns":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.visibility.${2:/downcase}.php"},"3":{"name":"storage.modifier.static.php"}},"match":"(?i)\\\\b(?:(final|abstract)|(p(?:ublic|rivate|rotected))|(static))\\\\b","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":"storage.type.enum.case.php"},"3":{"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":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.readonly.php"}},"match":"(?i)(final|abstract)|(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.modifier.readonly.php"},"8":{"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":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.visibility.${2:/downcase}.php"}},"match":"(?i)(final|abstract)|(p(?:ublic|rivate|rotected))","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]+(?)","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":"storage.type.cast.${3:/downcase}.php"},"5":{"name":"punctuation.definition.storage-type.end.bracket.round.php"}},"match":"(?i)(\\\\()\\\\s*((bool|int|float|string|array|object)|(binary|boolean|integer|double|real|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"},{"captures":{"1":{"name":"storage.modifier.global.php"},"2":{"name":"storage.modifier.inheritance.${2:/downcase}.php"},"3":{"name":"storage.modifier.visibility.${3:/downcase}.php"},"4":{"name":"storage.modifier.static.php"}},"match":"(?i)\\\\b(?:(global)|(abstract|final)|(p(?:rivate|rotected|ublic))|(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)\\\\b","name":"keyword.operator.logical.php"},{"match":"(?i)\\\\bas\\\\b","name":"keyword.operator.as.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}]*(?)","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":"(\\\\\\\\?(?)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.function-call.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"begin":"(\\\\\\\\)?(?)","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":"(?i)(?=<<<\\\\s*\'([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)\'\\\\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":{"begin":"(?i)((\\\\$+)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.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.invoke.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},"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"},"2":{"name":"storage.modifier.php"},"3":{"name":"storage.modifier.visibility.${3:/downcase}.php"},"4":{"name":"invalid.illegal.wrong-access-type.phpdoc.php"}},"match":"^\\\\s*\\\\*\\\\s*(@access)\\\\s+(?i:((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":"N(?=\')"},{"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":"(?[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*))\\\\s*(?:(\\\\??->)\\\\s*(\\\\g)|(\\\\[)(?:(\\\\d+)|((\\\\$)\\\\g)|([_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)((\\\\$\\\\{)(?[_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"]}')),IT=[...I2,...y3,..._3,...w0,...Q3,...G0,qT]});var _w={};u1(_w,{default:()=>PT});var BT,PT,ww=n1(()=>{BT=Object.freeze(JSON.parse('{"displayName":"TOML","fileTypes":["toml"],"name":"toml","patterns":[{"include":"#comments"},{"include":"#groups"},{"include":"#key_pair"},{"include":"#invalid"}],"repository":{"comments":{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.toml"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.toml"}},"end":"\\\\n","name":"comment.line.number-sign.toml"}]},"groups":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.section.begin.toml"},"2":{"patterns":[{"match":"[^.\\\\s]+","name":"entity.name.section.toml"}]},"3":{"name":"punctuation.definition.section.begin.toml"}},"match":"^\\\\s*(\\\\[)([^]\\\\[]*)(])","name":"meta.group.toml"},{"captures":{"1":{"name":"punctuation.definition.section.begin.toml"},"2":{"patterns":[{"match":"[^.\\\\s]+","name":"entity.name.section.toml"}]},"3":{"name":"punctuation.definition.section.begin.toml"}},"match":"^\\\\s*(\\\\[\\\\[)([^]\\\\[]*)(]])","name":"meta.group.double.toml"}]},"invalid":{"match":"\\\\S+(\\\\s*(?=\\\\S))?","name":"invalid.illegal.not-allowed-here.toml"},"key_pair":{"patterns":[{"begin":"([-0-9A-Z_a-z]+)\\\\s*(=)\\\\s*","captures":{"1":{"name":"variable.other.key.toml"},"2":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\\\S)(?DT});var RT,DT,kw=n1(()=>{RT=Object.freeze(JSON.parse('{"displayName":"INI","name":"ini","patterns":[{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ini"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ini"}},"end":"\\\\n","name":"comment.line.number-sign.ini"}]},{"begin":"(^[\\\\t ]+)?(?=;)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ini"}},"end":"(?!\\\\G)","patterns":[{"begin":";","beginCaptures":{"0":{"name":"punctuation.definition.comment.ini"}},"end":"\\\\n","name":"comment.line.semicolon.ini"}]},{"captures":{"1":{"name":"keyword.other.definition.ini"},"2":{"name":"punctuation.separator.key-value.ini"}},"match":"\\\\b([-.0-9A-Z_a-z]+)\\\\b\\\\s*(=)"},{"captures":{"1":{"name":"punctuation.definition.entity.ini"},"3":{"name":"punctuation.definition.entity.ini"}},"match":"^(\\\\[)(.*?)(])","name":"entity.name.section.group-title.ini"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ini"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.ini"}},"name":"string.quoted.single.ini","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.ini"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ini"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ini"}},"name":"string.quoted.double.ini"}],"scopeName":"source.ini","aliases":["properties"]}')),DT=[RT]});var zw={};u1(zw,{default:()=>g7});var GT,g7,Da=n1(()=>{GT=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":"(?(\\\\*\\\\*(?=\\\\w)|(?]*+>|(?`+)([^`]|(?!(?(?!`))`)*+\\\\k|\\\\\\\\[-\\\\]!#(-+.>\\\\[\\\\\\\\_`{}]?+|\\\\[((?[^]\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[\\\\g*+])*+](( ?\\\\[[^]]*+])|(\\\\([\\\\t ]*+?[\\\\t ]*+((?[\\"\'])(.*?)\\\\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"]}')),g7=[GT]});var Cw={};u1(Cw,{default:()=>WT});var OT,WT,Aw=n1(()=>{OT=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"]}')),WT=[OT]});var Mw={};u1(Mw,{default:()=>XT});var UT,XT,$w=n1(()=>{Ve();UT=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"]}')),XT=[...G0,UT]});var Lw={};u1(Lw,{default:()=>YT});var KT,YT,Sw=n1(()=>{KT=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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7]|\\\\\\\\\\\\.|[\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}])*-(?:[-0-9_a-z\xB7]|\\\\\\\\\\\\.|[\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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"}')),YT=[KT]});var Zw={};u1(Zw,{default:()=>JT});var QT,JT,Ew=n1(()=>{QT=Object.freeze(JSON.parse('{"displayName":"Batch File","injections":{"L:meta.block.repeat.batchfile":{"patterns":[{"include":"#repeatParameter"}]}},"name":"bat","patterns":[{"include":"#commands"},{"include":"#comments"},{"include":"#constants"},{"include":"#controls"},{"include":"#escaped_characters"},{"include":"#labels"},{"include":"#numbers"},{"include":"#operators"},{"include":"#parens"},{"include":"#strings"},{"include":"#variables"}],"repository":{"command_set":{"patterns":[{"begin":"(?<=^|[@\\\\s])(?i:SET)(?=$|\\\\s)","beginCaptures":{"0":{"name":"keyword.command.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#command_set_inside"}]}]},"command_set_group":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.batchfile"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.batchfile"}},"patterns":[{"include":"#command_set_inside_arithmetic"}]}]},"command_set_inside":{"patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#parens"},{"include":"#command_set_strings"},{"include":"#strings"},{"begin":"([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#parens"},{"include":"#strings"}]},{"begin":"\\\\s+/[Aa]\\\\s+","end":"(?=$\\\\n|[\\\\&)<>|])","name":"meta.expression.set.batchfile","patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.batchfile"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"include":"#command_set_inside_arithmetic"},{"include":"#command_set_group"},{"include":"#variables"}]},{"include":"#command_set_inside_arithmetic"},{"include":"#command_set_group"}]},{"begin":"\\\\s+/[Pp]\\\\s+","end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#command_set_strings"},{"begin":"([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","name":"meta.prompt.set.batchfile","patterns":[{"include":"#strings"}]}]}]},"command_set_inside_arithmetic":{"patterns":[{"include":"#command_set_operators"},{"include":"#numbers"},{"match":",","name":"punctuation.separator.batchfile"}]},"command_set_operators":{"patterns":[{"captures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.augmented.batchfile"}},"match":"([^ ]*)((?:[-*+/]|%%|[\\\\&^|]|<<|>>)=)"},{"match":"[-*+/]|%%|[\\\\&^|]|<<|>>|~","name":"keyword.operator.arithmetic.batchfile"},{"match":"!","name":"keyword.operator.logical.batchfile"},{"captures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"match":"([^ =]*)(=)"}]},"command_set_strings":{"patterns":[{"begin":"(\\")\\\\s*([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.batchfile"},"2":{"name":"variable.other.readwrite.batchfile"},"3":{"name":"keyword.operator.assignment.batchfile"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"include":"#variables"},{"include":"#numbers"},{"include":"#escaped_characters"}]}]},"commands":{"patterns":[{"match":"(?<=^|[@\\\\s])(?i:adprep|append|arp|assoc|at|atmadm|attrib|auditpol|autochk|autoconv|autofmt|bcdboot|bcdedit|bdehdcfg|bitsadmin|bootcfg|brea|cacls|cd|certreq|certutil|change|chcp|chdir|chglogon|chgport|chgusr|chkdsk|chkntfs|choice|cipher|clip|cls|clscluadmin|cluster|cmd|cmdkey|cmstp|color|comp|compact|convert|copy|cprofile|cscript|csvde|date|dcdiag|dcgpofix|dcpromo|defra|del|dfscmd|dfsdiag|dfsrmig|diantz|dir|dirquota|diskcomp|diskcopy|diskpart|diskperf|diskraid|diskshadow|dispdiag|doin|dnscmd|doskey|driverquery|dsacls|dsadd|dsamain|dsdbutil|dsget|dsmgmt|dsmod|dsmove|dsquery|dsrm|edit|endlocal|eraseesentutl|eventcreate|eventquery|eventtriggers|evntcmd|expand|extract|fc|filescrn|find|findstr|finger|flattemp|fonde|forfiles|format|freedisk|fsutil|ftp|ftype|fveupdate|getmac|gettype|gpfixup|gpresult|gpupdate|graftabl|hashgen|hep|helpctr|hostname|icacls|iisreset|inuse|ipconfig|ipxroute|irftp|ismserv|jetpack|klist|ksetup|ktmutil|ktpass|label|ldifd|ldp|lodctr|logman|logoff|lpq|lpr|macfile|makecab|manage-bde|mapadmin|md|mkdir|mklink|mmc|mode|more|mount|mountvol|move|mqbup|mqsvc|mqtgsvc|msdt|msg|msiexec|msinfo32|mstsc|nbtstat|net computer|net group|net localgroup|net print|net session|net share|net start|net stop|net user??|net view|net|netcfg|netdiag|netdom|netsh|netstat|nfsadmin|nfsshare|nfsstat|nlb|nlbmgr|nltest|nslookup|ntackup|ntcmdprompt|ntdsutil|ntfrsutl|openfiles|pagefileconfig|path|pathping|pause|pbadmin|pentnt|perfmon|ping|pnpunatten|pnputil|popd|powercfg|powershell|powershell_ise|print|prncnfg|prndrvr|prnjobs|prnmngr|prnport|prnqctl|prompt|pubprn|pushd|pushprinterconnections|pwlauncher|qappsrv|qprocess|query|quser|qwinsta|rasdial|rcp|rd|rdpsign|regentc|recover|redircmp|redirusr|reg|regini|regsvr32|relog|ren|rename|rendom|repadmin|repair-bde|replace|reset session|rxec|risetup|rmdir|robocopy|route|rpcinfo|rpcping|rsh|runas|rundll32|rwinsta|sc|schtasks|scp|scwcmd|secedit|serverceipoptin|servrmanagercmd|serverweroptin|setspn|setx|sfc|sftp|shadow|shift|showmount|shutdown|sort|ssh|ssh-add|ssh-agent|ssh-keygen|ssh-keyscan|start|storrept|subst|sxstrace|ysocmgr|systeminfo|takeown|tapicfg|taskkill|tasklist|tcmsetup|telnet|tftp|time|timeout|title|tlntadmn|tpmvscmgr|tacerpt|tracert|tree|tscon|tsdiscon|tsecimp|tskill|tsprof|type|typeperf|tzutil|uddiconfig|umount|unlodctr|ver|verifier|verif|vol|vssadmin|w32tm|waitfor|wbadmin|wdsutil|wecutil|wevtutil|where|whoami|winnt|winnt32|winpop|winrm|winrs|winsat|wlbs|wmic|wscript|wsl|xcopy)(?=$|\\\\s)","name":"keyword.command.batchfile"},{"begin":"(?i)(?<=^|[@\\\\s])(echo)(?:(?=$|[.:])|\\\\s+(?:(o(?:n|ff))(?=\\\\s*$))?)","beginCaptures":{"1":{"name":"keyword.command.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#strings"}]},{"captures":{"1":{"name":"keyword.command.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"match":"(?i)(?<=^|[@\\\\s])(setlocal)(?:\\\\s*$|\\\\s+((?:En|Dis)able(?:Extensions|DelayedExpansion))(?=\\\\s*$))"},{"include":"#command_set"}]},"comments":{"patterns":[{"begin":"(?:^|(&))\\\\s*(?=(:[ +,:;=]))","beginCaptures":{"1":{"name":"keyword.operator.conditional.batchfile"}},"end":"\\\\n","patterns":[{"begin":"(:[ +,:;=])","beginCaptures":{"1":{"name":"punctuation.definition.comment.batchfile"}},"end":"(?=\\\\n)","name":"comment.line.colon.batchfile"}]},{"begin":"(?<=^|[@\\\\s])(?i)(REM)(\\\\.)","beginCaptures":{"1":{"name":"keyword.command.rem.batchfile"},"2":{"name":"punctuation.separator.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","name":"comment.line.rem.batchfile"},{"begin":"(?<=^|[@\\\\s])(?i:rem)\\\\b","beginCaptures":{"0":{"name":"keyword.command.rem.batchfile"}},"end":"\\\\n","name":"comment.line.rem.batchfile","patterns":[{"match":"[<>|]","name":"invalid.illegal.unexpected-character.batchfile"}]}]},"constants":{"patterns":[{"match":"\\\\b(?i:NUL)\\\\b","name":"constant.language.batchfile"}]},"controls":{"patterns":[{"match":"(?i)(?<=^|\\\\s)(?:call|exit(?=$|\\\\s)|goto(?=$|[:\\\\s]))","name":"keyword.control.statement.batchfile"},{"captures":{"1":{"name":"keyword.control.conditional.batchfile"},"2":{"name":"keyword.operator.logical.batchfile"},"3":{"name":"keyword.other.special-method.batchfile"}},"match":"(?<=^|\\\\s)(?i)(if)\\\\s+(?:(not)\\\\s+)?(exist|defined|errorlevel|cmdextversion)(?=\\\\s)"},{"match":"(?<=^|\\\\s)(?i)(?:if|else)(?=$|\\\\s)","name":"keyword.control.conditional.batchfile"},{"begin":"(?<=^|[\\\\&(^\\\\s])(?i)for(?=\\\\s)","beginCaptures":{"0":{"name":"keyword.control.repeat.batchfile"}},"end":"\\\\n","name":"meta.block.repeat.batchfile","patterns":[{"begin":"(?<=[\\\\^\\\\s])(?i)in(?=\\\\s)","beginCaptures":{"0":{"name":"keyword.control.repeat.in.batchfile"}},"end":"(?<=[)^\\\\s])(?i)do(?=\\\\s)|\\\\n","endCaptures":{"0":{"name":"keyword.control.repeat.do.batchfile"}},"patterns":[{"include":"$self"}]},{"include":"$self"}]}]},"escaped_characters":{"patterns":[{"match":"%%|\\\\^\\\\^!|\\\\^(?=.)|\\\\^\\\\n","name":"constant.character.escape.batchfile"}]},"labels":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"match":"(?i)(?:^\\\\s*|(?<=call|goto)\\\\s*)(:)([^+,:;=\\\\s]\\\\S*)"}]},"numbers":{"patterns":[{"match":"(?<=^|[=\\\\s])(0[Xx]\\\\h*|[-+]?\\\\d+)(?=$|[<>\\\\s])","name":"constant.numeric.batchfile"}]},"operators":{"patterns":[{"match":"@(?=\\\\S)","name":"keyword.operator.at.batchfile"},{"match":"(?<=\\\\s)(?i:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?=\\\\s)|==","name":"keyword.operator.comparison.batchfile"},{"match":"(?<=\\\\s)(?i)(NOT)(?=\\\\s)","name":"keyword.operator.logical.batchfile"},{"match":"(?<!\\\\^)&&?|\\\\|\\\\|","name":"keyword.operator.conditional.batchfile"},{"match":"(?<!\\\\^)\\\\|","name":"keyword.operator.pipe.batchfile"},{"match":"<&?|>[\\\\&>]?","name":"keyword.operator.redirection.batchfile"}]},"parens":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.batchfile"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.batchfile"}},"name":"meta.group.batchfile","patterns":[{"match":"[,;]","name":"punctuation.separator.batchfile"},{"include":"$self"}]}]},"repeatParameter":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.batchfile"}},"match":"(%%)(?i:~[adfnpstxz]*(?:\\\\$PATH:)?)?[A-Za-z]","name":"variable.parameter.repeat.batchfile"}]},"strings":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.batchfile"}},"end":"(\\")|(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.batchfile"},"2":{"name":"invalid.illegal.newline.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"match":"%%","name":"constant.character.escape.batchfile"},{"include":"#variables"}]}]},"variable":{"patterns":[{"begin":"%(?=[^%]+%)","beginCaptures":{"0":{"name":"punctuation.definition.variable.begin.batchfile"}},"end":"(%)|\\\\n","endCaptures":{"1":{"name":"punctuation.definition.variable.end.batchfile"}},"name":"variable.other.readwrite.batchfile","patterns":[{"begin":":~","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n%])","name":"meta.variable.substring.batchfile","patterns":[{"include":"#variable_substring"}]},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n%])","name":"meta.variable.substitution.batchfile","patterns":[{"include":"#variable_replace"},{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n%])","patterns":[{"include":"#variable_delayed_expansion"},{"match":"[^%]+","name":"string.unquoted.batchfile"}]}]}]}]},"variable_delayed_expansion":{"patterns":[{"begin":"!(?=[^!]+!)","beginCaptures":{"0":{"name":"punctuation.definition.variable.begin.batchfile"}},"end":"(!)|\\\\n","endCaptures":{"1":{"name":"punctuation.definition.variable.end.batchfile"}},"name":"variable.other.readwrite.batchfile","patterns":[{"begin":":~","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n!])","name":"meta.variable.substring.batchfile","patterns":[{"include":"#variable_substring"}]},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n!])","name":"meta.variable.substitution.batchfile","patterns":[{"include":"#escaped_characters"},{"include":"#variable_replace"},{"include":"#variable"},{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n!])","patterns":[{"include":"#variable"},{"match":"[^!]+","name":"string.unquoted.batchfile"}]}]}]}]},"variable_replace":{"patterns":[{"match":"[^\\\\n!%=]+","name":"string.unquoted.batchfile"}]},"variable_substring":{"patterns":[{"captures":{"1":{"name":"constant.numeric.batchfile"},"2":{"name":"punctuation.separator.batchfile"},"3":{"name":"constant.numeric.batchfile"}},"match":"([-+]?\\\\d+)(?:(,)([-+]?\\\\d+))?"}]},"variables":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.batchfile"}},"match":"(%)(?:(?i:~[adfnpstxz]*(?:\\\\$PATH:)?)?\\\\d|\\\\*)","name":"variable.parameter.batchfile"},{"include":"#variable"},{"include":"#variable_delayed_expansion"}]}},"scopeName":"source.batchfile","aliases":["batch","cmd"]}')),JT=[QT]});var Fw={};u1(Fw,{default:()=>tV});var eV,tV,jw=n1(()=>{eV=Object.freeze(JSON.parse('{"displayName":"PowerShell","name":"powershell","patterns":[{"begin":"<#","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.powershell"}},"end":"#>","endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.powershell"}},"name":"comment.block.powershell","patterns":[{"include":"#commentEmbeddedDocs"}]},{"match":"[2-6]>&1|>>?|<<|[<>]|>\\\\||[1-6]>|[1-6]>>","name":"keyword.operator.redirection.powershell"},{"include":"#commands"},{"include":"#commentLine"},{"include":"#variable"},{"include":"#subexpression"},{"include":"#function"},{"include":"#attribute"},{"include":"#UsingDirective"},{"include":"#type"},{"include":"#hashtable"},{"include":"#doubleQuotedString"},{"include":"#scriptblock"},{"include":"#doubleQuotedStringEscapes"},{"applyEndPatternLast":true,"begin":"[\'\u2018-\u201B]","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"end":"[\'\u2018-\u201B]","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.single.powershell","patterns":[{"match":"[\'\u2018-\u201B]{2}","name":"constant.character.escape.powershell"}]},{"begin":"(@[\\"\u201C\u201D\u201E])\\\\s*$","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"end":"^[\\"\u201C\u201D\u201E]@","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.double.heredoc.powershell","patterns":[{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"include":"#interpolation"}]},{"begin":"(@[\'\u2018-\u201B])\\\\s*$","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"end":"^[\'\u2018-\u201B]@","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.single.heredoc.powershell"},{"include":"#numericConstant"},{"begin":"(@)(\\\\()","beginCaptures":{"1":{"name":"keyword.other.array.begin.powershell"},"2":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.array-expression.powershell","patterns":[{"include":"$self"}]},{"begin":"((\\\\$))(\\\\()","beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.subexpression.powershell"},"3":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.complex.subexpression.powershell","patterns":[{"include":"$self"}]},{"match":"\\\\b((([-.0-9A-Z_a-z]+)\\\\.(?i:exe|com|cmd|bat)))\\\\b","name":"support.function.powershell"},{"match":"(?<![-.\\\\w])((?i:begin|break|catch|clean|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|[%?])(?!\\\\w)","name":"keyword.control.powershell"},{"match":"(?<![-\\\\w]|[^)]\\\\.)((?i:(foreach|where)(?!-object))|[%?])(?!\\\\w)","name":"keyword.control.powershell"},{"begin":"(?<!\\\\w)(--%)(?!\\\\w)","beginCaptures":{"1":{"name":"keyword.control.powershell"}},"end":"$","patterns":[{"match":".+","name":"string.unquoted.powershell"}]},{"match":"(?<!\\\\w)((?i:hidden|static))(?!\\\\w)","name":"storage.modifier.powershell"},{"captures":{"1":{"name":"storage.type.powershell"},"2":{"name":"entity.name.function"}},"match":"(?<![-\\\\w])((?i:class)|[%?])\\\\s+([-_\\\\p{L}\\\\d]?{1,})\\\\b"},{"match":"(?<!\\\\w)-(?i:is(?:not)?|as)\\\\b","name":"keyword.operator.comparison.powershell"},{"match":"(?<!\\\\w)-(?i:[ci]?(?:eq|ne|[gl][et]|(?:not)?(?:like|match|contains|in)|replace))(?!\\\\p{L})","name":"keyword.operator.comparison.powershell"},{"match":"(?<!\\\\w)-(?i:join|split)(?!\\\\p{L})|!","name":"keyword.operator.unary.powershell"},{"match":"(?<!\\\\w)-(?i:and|or|not|xor)(?!\\\\p{L})|!","name":"keyword.operator.logical.powershell"},{"match":"(?<!\\\\w)-(?i:band|bor|bnot|bxor|shl|shr)(?!\\\\p{L})","name":"keyword.operator.bitwise.powershell"},{"match":"(?<!\\\\w)-(?i:f)(?!\\\\p{L})","name":"keyword.operator.string-format.powershell"},{"match":"[-%*+/]?=|[-%*+/]","name":"keyword.operator.assignment.powershell"},{"match":"\\\\|{2}|&{2}|;","name":"punctuation.terminator.statement.powershell"},{"match":"&|(?<!\\\\w)\\\\.(?= )|[,`|]","name":"keyword.operator.other.powershell"},{"match":"(?<!\\\\s|^)\\\\.\\\\.(?=-?\\\\d|[$(])","name":"keyword.operator.range.powershell"}],"repository":{"RequiresDirective":{"begin":"(?<=#)(?i:(requires))\\\\s","beginCaptures":{"0":{"name":"keyword.control.requires.powershell"}},"end":"$","name":"meta.requires.powershell","patterns":[{"match":"-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version|Assembly|PSEdition)","name":"keyword.other.powershell"},{"match":"(?<!-)\\\\b\\\\p{L}+|\\\\d+(?:\\\\.\\\\d+)*","name":"variable.parameter.powershell"},{"include":"#hashtable"}]},"UsingDirective":{"captures":{"1":{"name":"keyword.control.using.powershell"},"2":{"name":"keyword.other.powershell"},"3":{"name":"variable.parameter.powershell"}},"match":"(?<!\\\\w)(?i:(using))\\\\s+(?i:(namespace|module))\\\\s+(?i:((?:\\\\w+\\\\.?)+))"},"attribute":{"begin":"(\\\\[)\\\\s*\\\\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength|supportswildcards)\\\\b","beginCaptures":{"1":{"name":"punctuation.section.bracket.begin.powershell"},"2":{"name":"support.function.attribute.powershell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.section.bracket.end.powershell"}},"name":"meta.attribute.powershell","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"patterns":[{"include":"$self"},{"captures":{"1":{"name":"variable.parameter.attribute.powershell"},"2":{"name":"keyword.operator.assignment.powershell"}},"match":"(?i)\\\\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\\\\b\\\\s+{0,1}(=)?"}]}]},"commands":{"patterns":[{"match":"(?:([-:\\\\\\\\_\\\\p{L}\\\\d])*\\\\\\\\)?\\\\b(?i:Add|Approve|Assert|Backup|Block|Build|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Deploy|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Mount|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Write)-.+?(?:\\\\.(?i:exe|cmd|bat|ps1))?\\\\b","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:foreach-object)(?!\\\\w)","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:where-object)(?!\\\\w)","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:sort-object)(?!\\\\w)","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:tee-object)(?!\\\\w)","name":"support.function.powershell"}]},"commentEmbeddedDocs":{"patterns":[{"captures":{"1":{"name":"constant.string.documentation.powershell"},"2":{"name":"keyword.operator.documentation.powershell"}},"match":"(?:^|\\\\G)(?i:\\\\s*(\\\\.)(COMPONENT|DESCRIPTION|EXAMPLE|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|ROLE|SYNOPSIS))\\\\s*$","name":"comment.documentation.embedded.powershell"},{"captures":{"1":{"name":"constant.string.documentation.powershell"},"2":{"name":"keyword.operator.documentation.powershell"},"3":{"name":"keyword.operator.documentation.powershell"}},"match":"(?:^|\\\\G)(?i:\\\\s*(\\\\.)(EXTERNALHELP|FORWARDHELP(?:CATEGORY|TARGETNAME)|PARAMETER|REMOTEHELPRUNSPACE))\\\\s+(.+?)\\\\s*$","name":"comment.documentation.embedded.powershell"}]},"commentLine":{"begin":"(?<![-\\\\\\\\`])(#)#*","captures":{"1":{"name":"punctuation.definition.comment.powershell"}},"end":"$\\\\n?","name":"comment.line.powershell","patterns":[{"include":"#commentEmbeddedDocs"},{"include":"#RequiresDirective"}]},"doubleQuotedString":{"applyEndPatternLast":true,"begin":"[\\"\u201C\u201D\u201E]","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"end":"[\\"\u201C\u201D\u201E]","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.double.powershell","patterns":[{"match":"(?i)\\\\b[-%+.0-9A-Z_]+@[-.0-9A-Z]+\\\\.[A-Z]{2,64}\\\\b"},{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"match":"[\\"\u201C\u201D\u201E]{2}","name":"constant.character.escape.powershell"},{"include":"#interpolation"},{"match":"`\\\\s*$","name":"keyword.other.powershell"}]},"doubleQuotedStringEscapes":{"patterns":[{"match":"`[\\"$\'0`abefnrtv\u2018-\u201E]","name":"constant.character.escape.powershell"},{"include":"#unicodeEscape"}]},"function":{"begin":"^\\\\s*+(?i)(function|filter|configuration|workflow)\\\\s+(?:(global|local|script|private):)?([-._\\\\p{L}\\\\d]+)","beginCaptures":{"0":{"name":"meta.function.powershell"},"1":{"name":"storage.type.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"3":{"name":"entity.name.function.powershell"}},"end":"(?=[({])","patterns":[{"include":"#commentLine"}]},"hashtable":{"begin":"(@)(\\\\{)","beginCaptures":{"1":{"name":"keyword.other.hashtable.begin.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.braces.end.powershell"}},"name":"meta.hashtable.powershell","patterns":[{"captures":{"1":{"name":"punctuation.definition.string.begin.powershell"},"2":{"name":"variable.other.readwrite.powershell"},"3":{"name":"punctuation.definition.string.end.powershell"},"4":{"name":"keyword.operator.assignment.powershell"}},"match":"\\\\b([\\"\']?)(\\\\w+)([\\"\']?)\\\\s+{0,1}(=)\\\\s+{0,1}","name":"meta.hashtable.assignment.powershell"},{"include":"#scriptblock"},{"include":"$self"}]},"interpolation":{"begin":"(((\\\\$)))((\\\\())","beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.substatement.powershell"},"3":{"name":"punctuation.section.embedded.substatement.begin.powershell"},"4":{"name":"punctuation.section.group.begin.powershell"},"5":{"name":"punctuation.section.embedded.substatement.begin.powershell"}},"contentName":"interpolated.complex.source.powershell","end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"},"1":{"name":"punctuation.section.embedded.substatement.end.powershell"}},"name":"meta.embedded.substatement.powershell","patterns":[{"include":"$self"}]},"numericConstant":{"patterns":[{"captures":{"1":{"name":"constant.numeric.hex.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?0[Xx][_\\\\h]+(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+{0,1}\\\\.[0-9_]+(?:[Ee][0-9]+)?[DFMdfm]?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.octal.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?0[Bb][01_]+(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+[Ee][0-9_]?+[DFMdfm]?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+\\\\.[Ee][0-9_]?+[DFMdfm]?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+\\\\.?[DFMdfm])((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+\\\\.?(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\\\b"}]},"scriptblock":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.powershell"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.powershell"}},"name":"meta.scriptblock.powershell","patterns":[{"include":"$self"}]},"subexpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.simple.subexpression.powershell","patterns":[{"include":"$self"}]},"type":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.bracket.begin.powershell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.bracket.end.powershell"}},"patterns":[{"match":"(?!\\\\d+|\\\\.)[.\\\\p{L}\\\\p{N}]+","name":"storage.type.powershell"},{"include":"$self"}]},"unicodeEscape":{"patterns":[{"match":"`u\\\\{(?:(?:10)?(\\\\h){1,4}|0?\\\\g<1>{1,5})}","name":"constant.character.escape.powershell"},{"match":"`u(?:\\\\{\\\\h{0,6}.)?","name":"invalid.character.escape.powershell"}]},"variable":{"patterns":[{"captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}},"match":"(\\\\$)(?i:(False|Null|True))\\\\b"},{"captures":{"0":{"name":"variable.other.constant.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?\\\\b"},{"captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)([$?^]|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\\\b)((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?\\\\b"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:([$@])(global|local|private|script|using|workflow):([_\\\\p{L}\\\\d]+))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"storage.modifier.scope.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)(global|local|private|script|using|workflow):([^}]*[^`}])(}))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:([$@])([_\\\\p{L}\\\\d]+:)?([_\\\\p{L}\\\\d]+))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)([_\\\\p{L}\\\\d]+:)?([^}]*[^`}])(}))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"}]},"variableNoProperty":{"patterns":[{"captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}},"match":"(\\\\$)(?i:(False|Null|True))\\\\b"},{"captures":{"0":{"name":"variable.other.constant.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))\\\\b"},{"captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)([$?^]|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\\\b)"},{"captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))\\\\b"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(global|local|private|script|using|workflow):([_\\\\p{L}\\\\d]+))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"keyword.other.powershell"},"5":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)(global|local|private|script|using|workflow):([^}]*[^`}])(}))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)([_\\\\p{L}\\\\d]+:)?([_\\\\p{L}\\\\d]+))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end"}},"match":"(?i:(\\\\$)(\\\\{)([_\\\\p{L}\\\\d]+:)?([^}]*[^`}])(}))"}]}},"scopeName":"source.powershell","aliases":["ps","ps1","pwsh"]}')),tV=[eV]});var Hw={};u1(Hw,{default:()=>aV});var nV,aV,Nw=n1(()=>{nV=Object.freeze(JSON.parse('{"displayName":"Fish","name":"fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#comment"},{"include":"#subshell-bare"},{"include":"#subshell"},{"include":"#command"},{"include":"#keywords"},{"include":"#io-redirection"},{"include":"#operators"},{"include":"#options"},{"include":"#variable"},{"include":"#escape"}],"repository":{"command":{"captures":{"2":{"name":"keyword.operator.pipe.fish"},"3":{"name":"keyword.control.fish"},"5":{"name":"support.function.command.fish"}},"match":"(^\\\\s*|&&\\\\s*|(\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|\\\\b(if|while)\\\\b\\\\s+)(?!(?<!\\\\.)\\\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\\\b(?![!?]))([-\\\\].0-9A-\\\\[_a-z]+)"},"command-subshell":{"captures":{"2":{"name":"keyword.operator.pipe.fish"},"3":{"name":"keyword.control.fish"},"5":{"name":"support.function.command.fish"}},"match":"(\\\\G\\\\s*|&&\\\\s*|(\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|\\\\b(if|while)\\\\b\\\\s+)(?!(?<!\\\\.)\\\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\\\b(?![!?]))([-\\\\].0-9A-\\\\[_a-z]+)"},"comment":{"captures":{"1":{"name":"punctuation.definition.comment.fish"}},"match":"(?<!\\\\$)(#)(?!\\\\{).*$\\\\n?","name":"comment.line.number-sign.fish"},"escape":{"patterns":[{"match":"\\\\\\\\[] \\"#$\\\\&-*;<>?\\\\[^abefnrtv{-~]","name":"constant.character.escape.string.fish"},{"match":"\\\\\\\\x\\\\h{1,2}","name":"constant.character.escape.hex-ascii.fish"},{"match":"\\\\\\\\X\\\\h{1,2}","name":"constant.character.escape.hex-byte.fish"},{"match":"\\\\\\\\[0-7]{1,3}","name":"constant.character.escape.octal.fish"},{"match":"\\\\\\\\u\\\\h{1,4}","name":"constant.character.escape.unicode-16-bit.fish"},{"match":"\\\\\\\\U\\\\h{1,8}","name":"constant.character.escape.unicode-32-bit.fish"},{"match":"\\\\\\\\c[A-Za-z]","name":"constant.character.escape.control.fish"}]},"io-redirection":{"patterns":[{"captures":{"1":{"name":"keyword.operator.redirect.fish"},"2":{"name":"keyword.operator.redirect.target.fish"}},"match":"(<|(?:[>^]|>>|\\\\^\\\\^)(?:&[-012])?|[012](?:[<>]|>>)(?:&[-012])?)\\\\s*(?!\\\\()([\\\\--9A-Z_a-z]+)"},{"match":"<|([>^]|>>|\\\\^\\\\^)(&[-012])?|[012]([<>]|>>)(&[-012])?","name":"keyword.operator.redirect.fish"}]},"keywords":{"patterns":[{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(^\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|(?<=\\\\bwhile\\\\b)\\\\s+|(?<=\\\\bif\\\\b)\\\\s+|(?<=\\\\band\\\\b)\\\\s+|(?<=\\\\bor\\\\b)\\\\s+|(?<=\\\\bnot\\\\b)\\\\s+)(?<!\\\\.)\\\\b(while|if|and|or|not)\\\\b(?![!?])"},{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(^\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*)(?<!\\\\.)\\\\b(function|else|switch|case|for|begin|end|continue|break|return|source|exit|wait)\\\\b(?![!?])"},{"match":"\\\\b(in)\\\\b(?![!?])","name":"keyword.control.fish"}]},"keywords-subshell":{"patterns":[{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(\\\\G\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|(?<=\\\\bwhile\\\\b)\\\\s+|(?<=\\\\bif\\\\b)\\\\s+|(?<=\\\\band\\\\b)\\\\s+|(?<=\\\\bor\\\\b)\\\\s+|(?<=\\\\bnot\\\\b)\\\\s+)(?<!\\\\.)\\\\b(while|if|and|or|not)\\\\b(?![!?])"},{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(\\\\G\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*)(?<!\\\\.)\\\\b(function|else|switch|case|for|begin|end|continue|break|return|source|exit|wait)\\\\b(?![!?])"},{"match":"\\\\b(in)\\\\b(?![!?])","name":"keyword.control.fish"}]},"operators":{"patterns":[{"match":"&","name":"keyword.operator.background.fish"},{"match":"\\\\*\\\\*|[*?]","name":"keyword.operator.glob.fish"}]},"options":{"captures":{"1":{"name":"source.option.fish"}},"match":"\\\\s(-{1,2}[-0-9A-Z_a-z]+|-\\\\w)\\\\b"},"slice":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.slice.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(])","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.slice.end.fish"}},"name":"meta.embedded.slice.fish variable.interpolation.fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#subshell-bare"},{"include":"#subshell"},{"include":"#variable"},{"include":"#escape"}]},"slice-string-double":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.slice.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(])","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.slice.end.fish"}},"name":"meta.embedded.slice.fish variable.interpolation.string.fish","patterns":[{"include":"#subshell"},{"include":"#variable"},{"match":"\\\\\\\\([\\"$]|$|\\\\\\\\)","name":"constant.character.escape.fish"}]},"string-double":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fish"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.fish"}},"name":"string.quoted.double.fish","patterns":[{"include":"#subshell"},{"include":"#variable-string-double"},{"match":"\\\\\\\\([\\"$]|$|\\\\\\\\)","name":"constant.character.escape.fish"}]},"string-single":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fish"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.fish"}},"name":"string.quoted.single.fish","patterns":[{"match":"\\\\\\\\([\'\\\\\\\\`])","name":"constant.character.escape.fish"}]},"subshell":{"begin":"\\\\$\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.subshell.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(\\\\))","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.subshell.end.fish"}},"name":"meta.embedded.subshell.fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#comment"},{"include":"#keywords-subshell"},{"include":"#command-subshell"},{"include":"#io-redirection"},{"include":"#operators"},{"include":"#options"},{"include":"#subshell"},{"include":"#variable"},{"include":"#escape"}]},"subshell-bare":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.subshell.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(\\\\))","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.subshell.end.fish"}},"name":"meta.embedded.subshell.fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#comment"},{"include":"#keywords-subshell"},{"include":"#command-subshell"},{"include":"#io-redirection"},{"include":"#operators"},{"include":"#options"},{"include":"#subshell-bare"},{"include":"#subshell"},{"include":"#variable"},{"include":"#escape"}]},"variable":{"patterns":[{"begin":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.language.fish"}},"end":"(?<=])","name":"variable.language.fish","patterns":[{"include":"#slice"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b","name":"variable.language.fish"},{"begin":"(\\\\$)([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.other.normal.fish"}},"end":"(?<=])","name":"variable.other.normal.fish","patterns":[{"include":"#slice"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.normal.fish"}]},"variable-string-double":{"patterns":[{"begin":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.language.fish"}},"end":"(?<=])","name":"variable.language.fish","patterns":[{"include":"#slice-string-double"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b","name":"variable.language.fish"},{"begin":"(\\\\$)([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.other.normal.fish"}},"end":"(?<=])","name":"variable.other.normal.fish","patterns":[{"include":"#slice-string-double"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.normal.fish"}]}},"scopeName":"source.fish"}')),aV=[nV]});var Tw={};u1(Tw,{default:()=>rV});var iV,rV,Vw=n1(()=>{iV=Object.freeze(JSON.parse('{"displayName":"dotEnv","name":"dotenv","patterns":[{"captures":{"1":{"patterns":[{"include":"#line-comment"}]}},"match":"^\\\\s?(#.*)$\\\\n"},{"captures":{"1":{"patterns":[{"include":"#key"}]},"2":{"name":"keyword.operator.assignment.dotenv"},"3":{"name":"constant.numeric.dotenv"},"4":{"name":"comment.line.dotenv"}},"match":"^([\\\\t ]*(?:export[\\\\t ]+)?[-.\\\\w]+[\\\\t ]*)(=)[\\\\t ]*([-+]?[0-9](?:[0-9_]*[0-9])?(?:\\\\.[0-9](?:[0-9_]*[0-9])?)?)[\\\\t ]*(#.*)?$"},{"captures":{"1":{"patterns":[{"include":"#key"}]},"2":{"name":"keyword.operator.assignment.dotenv"},"3":{"name":"property.value.dotenv","patterns":[{"include":"#line-comment"},{"include":"#double-quoted-string"},{"include":"#single-quoted-string"},{"include":"#interpolation"}]}},"match":"^\\\\s?(.*?)\\\\s?(=)(.*)$"}],"repository":{"double-quoted-string":{"captures":{"1":{"patterns":[{"include":"#interpolation"},{"include":"#escape-characters"}]}},"match":"\\"(.*)\\"","name":"string.quoted.double.dotenv"},"escape-characters":{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|u[0-9A-F]{4})","name":"constant.character.escape.dotenv"},"interpolation":{"captures":{"1":{"name":"keyword.interpolation.begin.dotenv"},"2":{"name":"variable.interpolation.dotenv"},"3":{"name":"keyword.interpolation.end.dotenv"}},"match":"(\\\\$\\\\{)(.*)(})"},"key":{"captures":{"1":{"name":"keyword.key.export.dotenv"},"2":{"name":"variable.key.dotenv","patterns":[{"include":"#variable"}]}},"match":"(export\\\\s)?(.*)"},"line-comment":{"match":"#.*$","name":"comment.line.dotenv"},"single-quoted-string":{"match":"\'(.*)\'","name":"string.quoted.single.dotenv"},"variable":{"match":"[A-Z_a-z]+[0-9A-Z_a-z]*"}},"scopeName":"source.dotenv"}')),rV=[iV]});var qw={};u1(qw,{default:()=>cV});var sV,cV,Iw=n1(()=>{sV=Object.freeze(JSON.parse('{"displayName":"Log file","fileTypes":["log"],"name":"log","patterns":[{"match":"\\\\b([Tt]race|TRACE)\\\\b:?","name":"comment log.verbose"},{"match":"(?i)\\\\[(v(?:erbose|erb|rb|b?))]","name":"comment log.verbose"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bV\\\\b","name":"comment log.verbose"},{"match":"\\\\b(D(?:EBUG|ebug))\\\\b|(?i)\\\\b(debug):","name":"markup.changed log.debug"},{"match":"(?i)\\\\[(d(?:ebug|bug|bg|e?))]","name":"markup.changed log.debug"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bD\\\\b","name":"markup.changed log.debug"},{"match":"\\\\b(HINT|INFO|INFORMATION|Info|NOTICE|II)\\\\b|(?i)\\\\b(info(?:|rmation)):","name":"markup.inserted log.info"},{"match":"(?i)\\\\[(i(?:nformation|nfo?|n?))]","name":"markup.inserted log.info"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bI\\\\b","name":"markup.inserted log.info"},{"match":"\\\\b(W(?:ARNING|ARN|arn|W))\\\\b|(?i)\\\\b(warning):","name":"markup.deleted log.warning"},{"match":"(?i)\\\\[(w(?:arning|arn|rn|n?))]","name":"markup.deleted log.warning"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bW\\\\b","name":"markup.deleted log.warning"},{"match":"\\\\b(ALERT|CRITICAL|EMERGENCY|ERROR|FAILURE|FAIL|Fatal|FATAL|Error|EE)\\\\b|(?i)\\\\b(error):","name":"string.regexp, strong log.error"},{"match":"(?i)\\\\[(error|eror|err?|e|fatal|fatl|ftl|fa?)]","name":"string.regexp, strong log.error"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bE\\\\b","name":"string.regexp, strong log.error"},{"match":"\\\\b\\\\d{4}-\\\\d{2}-\\\\d{2}(?=T|\\\\b)","name":"comment log.date"},{"match":"(?<=(^|\\\\s))\\\\d{2}[^\\\\w\\\\s]\\\\d{2}[^\\\\w\\\\s]\\\\d{4}\\\\b","name":"comment log.date"},{"match":"T?\\\\d{1,2}:\\\\d{2}(:\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}:\\\\d{2})?\\\\b","name":"comment log.date"},{"match":"T\\\\d{2}\\\\d{2}(\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}\\\\d{2})?\\\\b","name":"comment log.date"},{"match":"\\\\b(\\\\h{40}|\\\\h{10}|\\\\h{7})\\\\b","name":"constant.language"},{"match":"\\\\b\\\\h{8}-?(\\\\h{4}-?){3}\\\\h{12}\\\\b","name":"constant.language log.constant"},{"match":"\\\\b(\\\\h{2,}[-:])+\\\\h{2,}+\\\\b","name":"constant.language log.constant"},{"match":"\\\\b([0-9]+|true|false|null)\\\\b","name":"constant.language log.constant"},{"match":"\\\\b(0x\\\\h+)\\\\b","name":"constant.language log.constant"},{"match":"\\"[^\\"]*\\"","name":"string log.string"},{"match":"(?<!\\\\w)\'[^\']*\'","name":"string log.string"},{"match":"\\\\b([.A-Za-z]*Exception)\\\\b","name":"string.regexp, emphasis log.exceptiontype"},{"begin":"^[\\\\t ]*at[\\\\t ]","end":"$","name":"string.key, emphasis log.exception"},{"match":"\\\\b[a-z]+://\\\\S+\\\\b/?","name":"constant.language log.constant"},{"match":"(?<![/\\\\\\\\\\\\w])([-\\\\w]+\\\\.)+([-\\\\w])+(?![/\\\\\\\\\\\\w])","name":"constant.language log.constant"}],"scopeName":"text.log"}')),cV=[sV]});var Bw={};u1(Bw,{default:()=>lV});var oV,lV,Pw=n1(()=>{oV=Object.freeze(JSON.parse('{"displayName":"CSV","fileTypes":["csv"],"name":"csv","patterns":[{"captures":{"1":{"name":"rainbow1"},"2":{"name":"keyword.rainbow2"},"3":{"name":"entity.name.function.rainbow3"},"4":{"name":"comment.rainbow4"},"5":{"name":"string.rainbow5"},"6":{"name":"variable.parameter.rainbow6"},"7":{"name":"constant.numeric.rainbow7"},"8":{"name":"entity.name.type.rainbow8"},"9":{"name":"markup.bold.rainbow9"},"10":{"name":"invalid.rainbow10"}},"match":"( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?","name":"rainbowgroup"}],"scopeName":"text.csv"}')),lV=[oV]});var Rw={};u1(Rw,{default:()=>uV});var pV,uV,Dw=n1(()=>{pV=Object.freeze(JSON.parse('{"displayName":"Diff","name":"diff","patterns":[{"captures":{"1":{"name":"punctuation.definition.separator.diff"}},"match":"^((\\\\*{15})|(={67})|(-{3}))$\\\\n?","name":"meta.separator.diff"},{"match":"^\\\\d+(,\\\\d+)*([acd])\\\\d+(,\\\\d+)*$\\\\n?","name":"meta.diff.range.normal"},{"captures":{"1":{"name":"punctuation.definition.range.diff"},"2":{"name":"meta.toc-list.line-number.diff"},"3":{"name":"punctuation.definition.range.diff"}},"match":"^(@@)\\\\s*(.+?)\\\\s*(@@)($\\\\n?)?","name":"meta.diff.range.unified"},{"captures":{"3":{"name":"punctuation.definition.range.diff"},"4":{"name":"punctuation.definition.range.diff"},"6":{"name":"punctuation.definition.range.diff"},"7":{"name":"punctuation.definition.range.diff"}},"match":"^(((-{3}) .+ (-{4}))|((\\\\*{3}) .+ (\\\\*{4})))$\\\\n?","name":"meta.diff.range.context"},{"match":"^diff --git a/.*$\\\\n?","name":"meta.diff.header.git"},{"match":"^diff (-|\\\\S+\\\\s+\\\\S+).*$\\\\n?","name":"meta.diff.header.command"},{"captures":{"4":{"name":"punctuation.definition.from-file.diff"},"6":{"name":"punctuation.definition.from-file.diff"},"7":{"name":"punctuation.definition.from-file.diff"}},"match":"^((((-{3}) .+)|((\\\\*{3}) .+))$\\\\n?|(={4}) .+(?= - ))","name":"meta.diff.header.from-file"},{"captures":{"2":{"name":"punctuation.definition.to-file.diff"},"3":{"name":"punctuation.definition.to-file.diff"},"4":{"name":"punctuation.definition.to-file.diff"}},"match":"(^(\\\\+{3}) .+$\\\\n?| (-) .* (={4})$\\\\n?)","name":"meta.diff.header.to-file"},{"captures":{"3":{"name":"punctuation.definition.inserted.diff"},"6":{"name":"punctuation.definition.inserted.diff"}},"match":"^(((>)( .*)?)|((\\\\+).*))$\\\\n?","name":"markup.inserted.diff"},{"captures":{"1":{"name":"punctuation.definition.changed.diff"}},"match":"^(!).*$\\\\n?","name":"markup.changed.diff"},{"captures":{"3":{"name":"punctuation.definition.deleted.diff"},"6":{"name":"punctuation.definition.deleted.diff"}},"match":"^(((<)( .*)?)|((-).*))$\\\\n?","name":"markup.deleted.diff"},{"begin":"^(#)","captures":{"1":{"name":"punctuation.definition.comment.diff"}},"end":"\\\\n","name":"comment.line.number-sign.diff"},{"match":"^index [0-9a-f]{7,40}\\\\.\\\\.[0-9a-f]{7,40}.*$\\\\n?","name":"meta.diff.index.git"},{"captures":{"1":{"name":"punctuation.separator.key-value.diff"},"2":{"name":"meta.toc-list.file-name.diff"}},"match":"^Index(:) (.+)$\\\\n?","name":"meta.diff.index"},{"match":"^Only in .*: .*$\\\\n?","name":"meta.diff.only-in"}],"scopeName":"source.diff"}')),uV=[pV]});var Gw={};u1(Gw,{default:()=>dV});var mV,dV,Ow=n1(()=>{R6();D6();rt();Ia();mV=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"]}')),dV=[...Y3,...Q3,...y3,...u7,mV]});var hV,Ga,qo=n1(()=>{u4();hV=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"]}')),Ga=[...I2,hV]});var Ww={};u1(Ww,{default:()=>Io});var gV,Io,Bo=n1(()=>{gV=Object.freeze(JSON.parse('{"displayName":"CMake","fileTypes":["cmake","CMakeLists.txt"],"name":"cmake","patterns":[{"match":"\\\\b(?i:APPLE|BORLAND|(CMAKE_)?(CL_64|COMPILER_2005|HOST_APPLE|HOST_SYSTEM|HOST_SYSTEM_NAME|HOST_SYSTEM_PROCESSOR|HOST_SYSTEM_VERSION|HOST_UNIX|HOST_WIN32|LIBRARY_ARCHITECTURE|LIBRARY_ARCHITECTURE_REGEX|OBJECT_PATH_MAX|SYSTEM|SYSTEM_NAME|SYSTEM_PROCESSOR|SYSTEM_VERSION)|CYGWIN|MSVC|MSVC80|MSVC_IDE|MSVC_VERSION|UNIX|WIN32|XCODE_VERSION|MSVC60|MSVC70|MSVC90|MSVC71)\\\\b","name":"constant.source.cmake"},{"match":"\\\\b(?i:ABSOLUTE|AND|BOOL|CACHE|COMMAND|COMMENT|DEFINED|DOC|EQUAL|EXISTS|EXT|FALSE|GREATER|GREATER_EQUAL|INTERNAL|IN_LIST|IS_ABSOLUTE|IS_DIRECTORY|IS_NEWER_THAN|IS_SYMLINK|LESS|LESS_EQUAL|MATCHES|NAMES??|NAME_WE|NOT|OFF|ON|OR|PATHS??|POLICY|PROGRAM|STREQUAL|STRGREATER|STRGREATER_EQUAL|STRING|STRLESS|STRLESS_EQUAL|TARGET|TEST|TRUE|VERSION_EQUAL|VERSION_GREATER|VERSION_GREATER_EQUAL|VERSION_LESS)\\\\b","name":"keyword.cmake"},{"match":"^\\\\s*\\\\b(?i:add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_libraries|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)\\\\b","name":"keyword.cmake"},{"match":"\\\\b(?i:BUILD_SHARED_LIBS|(CMAKE_)?(ABSOLUTE_DESTINATION_FILES|AUTOMOC_RELAXED_MODE|BACKWARDS_COMPATIBILITY|BUILD_TYPE|COLOR_MAKEFILE|CONFIGURATION_TYPES|DEBUG_TARGET_PROPERTIES|DISABLE_FIND_PACKAGE_\\\\w+|FIND_LIBRARY_PREFIXES|FIND_LIBRARY_SUFFIXES|IGNORE_PATH|INCLUDE_PATH|INSTALL_DEFAULT_COMPONENT_NAME|INSTALL_PREFIX|LIBRARY_PATH|MFC_FLAG|MODULE_PATH|NOT_USING_CONFIG_FLAGS|POLICY_DEFAULT_CMP\\\\w+|PREFIX_PATH|PROGRAM_PATH|SKIP_INSTALL_ALL_DEPENDENCY|SYSTEM_IGNORE_PATH|SYSTEM_INCLUDE_PATH|SYSTEM_LIBRARY_PATH|SYSTEM_PREFIX_PATH|SYSTEM_PROGRAM_PATH|USER_MAKE_RULES_OVERRIDE|WARN_ON_ABSOLUTE_INSTALL_DESTINATION))\\\\b","name":"variable.source.cmake"},{"match":"\\\\$\\\\{\\\\w+}","name":"storage.source.cmake"},{"match":"\\\\$ENV\\\\{\\\\w+}","name":"storage.source.cmake"},{"match":"\\\\b(?i:(CMAKE_)?(\\\\w+_POSTFIX|ARCHIVE_OUTPUT_DIRECTORY|AUTOMOC|AUTOMOC_MOC_OPTIONS|BUILD_WITH_INSTALL_RPATH|DEBUG_POSTFIX|EXE_LINKER_FLAGS|EXE_LINKER_FLAGS_\\\\w+|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GNUtoMS|INCLUDE_CURRENT_DIR|INCLUDE_CURRENT_DIR_IN_INTERFACE|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_PATH_FLAG|LINK_DEF_FILE_FLAG|LINK_DEPENDS_NO_SHARED|LINK_INTERFACE_LIBRARIES|LINK_LIBRARY_FILE_FLAG|LINK_LIBRARY_FLAG|MACOSX_BUNDLE|NO_BUILTIN_CHRPATH|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|RUNTIME_OUTPUT_DIRECTORY|SKIP_BUILD_RPATH|SKIP_INSTALL_RPATH|TRY_COMPILE_CONFIGURATION|USE_RELATIVE_PATHS|WIN32_EXECUTABLE)|EXECUTABLE_OUTPUT_PATH|LIBRARY_OUTPUT_PATH)\\\\b","name":"variable.source.cmake"},{"match":"\\\\b(?i:CMAKE_(AR|ARGC|ARGV0|BINARY_DIR|BUILD_TOOL|CACHEFILE_DIR|CACHE_MAJOR_VERSION|CACHE_MINOR_VERSION|CACHE_PATCH_VERSION|CFG_INTDIR|COMMAND|CROSSCOMPILING|CTEST_COMMAND|CURRENT_BINARY_DIR|CURRENT_LIST_DIR|CURRENT_LIST_FILE|CURRENT_LIST_LINE|CURRENT_SOURCE_DIR|DL_LIBS|EDIT_COMMAND|EXECUTABLE_SUFFIX|EXTRA_GENERATOR|EXTRA_SHARED_LIBRARY_SUFFIXES|GENERATOR|HOME_DIRECTORY|IMPORT_LIBRARY_PREFIX|IMPORT_LIBRARY_SUFFIX|LINK_LIBRARY_SUFFIX|MAJOR_VERSION|MAKE_PROGRAM|MINOR_VERSION|PARENT_LIST_FILE|PATCH_VERSION|PROJECT_NAME|RANLIB|ROOT|SCRIPT_MODE_FILE|SHARED_LIBRARY_PREFIX|SHARED_LIBRARY_SUFFIX|SHARED_MODULE_PREFIX|SHARED_MODULE_SUFFIX|SIZEOF_VOID_P|SKIP_RPATH|SOURCE_DIR|STANDARD_LIBRARIES|STATIC_LIBRARY_PREFIX|STATIC_LIBRARY_SUFFIX|TWEAK_VERSION|USING_VC_FREE_TOOLS|VERBOSE_MAKEFILE|VERSION)|PROJECT_BINARY_DIR|PROJECT_NAME|PROJECT_SOURCE_DIR|\\\\w+_BINARY_DIR|\\\\w+__SOURCE_DIR)\\\\b","name":"variable.source.cmake"},{"begin":"#\\\\[(=*)\\\\[","end":"]\\\\1]","name":"comment.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"begin":"\\\\[(=*)\\\\[","end":"]\\\\1]","name":"argument.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"match":"#+.*$","name":"comment.source.cmake"},{"match":"\\\\b(?i:ADVANCED|HELPSTRING|MODIFIED|STRINGS|TYPE|VALUE)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ABSTRACT|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_<CONFIG>|COMPILE_FLAGS|EXTERNAL_OBJECT|Fortran_FORMAT|GENERATED|HEADER_FILE_ONLY|KEEP_EXTENSION|LABELS|LANGUAGE|LOCATION|MACOSX_PACKAGE_LOCATION|OBJECT_DEPENDS|OBJECT_OUTPUTS|SYMBOLIC|WRAP_EXCLUDE)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|COST|DEPENDS|ENVIRONMENT|FAIL_REGULAR_EXPRESSION|LABELS|MEASUREMENT|PASS_REGULAR_EXPRESSION|PROCESSORS|REQUIRED_FILES|RESOURCE_LOCK|RUN_SERIAL|TIMEOUT|WILL_FAIL|WORKING_DIRECTORY)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ADDITIONAL_MAKE_CLEAN_FILES|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_\\\\w+|DEFINITIONS|EXCLUDE_FROM_ALL|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\\\w+|LINK_DIRECTORIES|LISTFILE_STACK|MACROS|PARENT_DIRECTORY|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|TEST_INCLUDE_FILE|VARIABLES|VS_GLOBAL_SECTION_POST_\\\\w+|VS_GLOBAL_SECTION_PRE_\\\\w+)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ALLOW_DUPLICATE_CUSTOM_TARGETS|DEBUG_CONFIGURATIONS|DISABLED_FEATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|IN_TRY_COMPILE|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PREDEFINED_TARGETS_FOLDER|REPORT_UNDEFINED_PROPERTIES|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_SUPPORTS_SHARED_LIBS|USE_FOLDERS|__CMAKE_DELETE_CACHE_CHANGE_VARS_)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:\\\\w+_(OUTPUT_NAME|POSTFIX)|ARCHIVE_OUTPUT_(DIRECTORY(_\\\\w+)?|NAME(_\\\\w+)?)|AUTOMOC(_MOC_OPTIONS)?|BUILD_WITH_INSTALL_RPATH|BUNDLE(_EXTENSION)??|COMPATIBLE_INTERFACE_BOOL|COMPATIBLE_INTERFACE_STRING|COMPILE_(DEFINITIONS(_\\\\w+)?|FLAGS)|DEBUG_POSTFIX|DEFINE_SYMBOL|ENABLE_EXPORTS|EXCLUDE_FROM_ALL|EchoString|FOLDER|FRAMEWORK|Fortran_(FORMAT|MODULE_DIRECTORY)|GENERATOR_FILE_NAME|GNUtoMS|HAS_CXX|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(CONFIGURATIONS|IMPLIB(_\\\\w+)?|LINK_DEPENDENT_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_LANGUAGES(_\\\\w+)?|LINK_INTERFACE_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\\\w+)?|LOCATION(_\\\\w+)?|NO_SONAME(_\\\\w+)?|SONAME(_\\\\w+)?)|IMPORT_PREFIX|IMPORT_SUFFIX|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE|INTERFACE_COMPILE_DEFINITIONS|INTERFACE_INCLUDE_DIRECTORIES|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\\\w+|LABELS|LIBRARY_OUTPUT_DIRECTORY(_\\\\w+)?|LIBRARY_OUTPUT_NAME(_\\\\w+)?|LINKER_LANGUAGE|LINK_DEPENDS|LINK_FLAGS(_\\\\w+)?|LINK_INTERFACE_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\\\w+)?|LINK_LIBRARIES|LINK_SEARCH_END_STATIC|LINK_SEARCH_START_STATIC|LOCATION(_\\\\w+)?|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MAP_IMPORTED_CONFIG_\\\\w+|NO_SONAME|OSX_ARCHITECTURES(_\\\\w+)?|OUTPUT_NAME(_\\\\w+)?|PDB_NAME(_\\\\w+)?|POST_INSTALL_SCRIPT|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE|PRIVATE_HEADER|PROJECT_LABEL|PUBLIC|PUBLIC_HEADER|RESOURCE|RULE_LAUNCH_(COMPILE|CUSTOM|LINK)|RUNTIME_OUTPUT_(DIRECTORY(_\\\\w+)?|NAME(_\\\\w+)?)|SKIP_BUILD_RPATH|SOURCES|SOVERSION|STATIC_LIBRARY_FLAGS(_\\\\w+)?|SUFFIX|TYPE|VERSION|VS_DOTNET_REFERENCES|VS_GLOBAL_(\\\\w+|KEYWORD|PROJECT_TYPES)|VS_KEYWORD|VS_SCC_(AUXPATH|LOCALPATH|PROJECTNAME|PROVIDER)|VS_WINRT_EXTENSIONS|VS_WINRT_REFERENCES|WIN32_EXECUTABLE|XCODE_ATTRIBUTE_\\\\w+)\\\\b","name":"entity.source.cmake"},{"begin":"\\\\\\\\\\"","end":"\\\\\\\\\\"","name":"string.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"begin":"\\"","end":"\\"","name":"string.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"match":"\\\\bBUILD_NAME\\\\b","name":"invalid.deprecated.source.cmake"},{"match":"\\\\b(?i:(CMAKE_)?(C(?:XX_FLAGS|MAKE_CXX_FLAGS_DEBUG|MAKE_CXX_FLAGS_MINSIZEREL|MAKE_CXX_FLAGS_RELEASE|MAKE_CXX_FLAGS_RELWITHDEBINFO)))\\\\b","name":"variable.source.cmake"}],"repository":{},"scopeName":"source.cmake"}')),Io=[gV]});var Uw={};u1(Uw,{default:()=>fV});var bV,fV,Xw=n1(()=>{qo();d7();qa();ee();R6();Ra();Bo();Vo();bV=Object.freeze(JSON.parse('{"displayName":"reStructuredText","name":"rst","patterns":[{"include":"#body"}],"repository":{"anchor":{"match":"^\\\\.{2}\\\\s+(_[^:]+:)\\\\s*","name":"entity.name.tag.anchor"},"block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+\\\\S+::)(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"variable"}},"end":"^(?!\\\\1\\\\s|\\\\s*$)","patterns":[{"include":"#block-param"},{"include":"#body"}]},"block-comment":{"begin":"^(\\\\s*)\\\\.{2}(\\\\s+|$)","end":"^(?:(?=\\\\S)|\\\\s*$)","name":"comment.block","patterns":[{"begin":"^\\\\s{3,}(?=\\\\S)","name":"comment.block","while":"^(?:\\\\s{3}.*|\\\\s*$)"}]},"block-param":{"patterns":[{"captures":{"1":{"name":"keyword.control"},"2":{"name":"variable.parameter"}},"match":"(:param\\\\s+(.+?):)(?:\\\\s|$)"},{"captures":{"1":{"name":"keyword.control"},"2":{"patterns":[{"match":"\\\\b(0x[A-Fa-f\\\\d]+|\\\\d+)\\\\b","name":"constant.numeric"},{"include":"#inline-markup"}]}},"match":"(:.+?:)(?:$|\\\\s+(.*))"}]},"blocks":{"patterns":[{"include":"#domains"},{"include":"#doctest"},{"include":"#code-block-cpp"},{"include":"#code-block-py"},{"include":"#code-block-console"},{"include":"#code-block-javascript"},{"include":"#code-block-yaml"},{"include":"#code-block-cmake"},{"include":"#code-block-kconfig"},{"include":"#code-block-ruby"},{"include":"#code-block-dts"},{"include":"#code-block"},{"include":"#doctest-block"},{"include":"#raw-html"},{"include":"#block"},{"include":"#literal-block"},{"include":"#block-comment"}]},"body":{"patterns":[{"include":"#title"},{"include":"#inline-markup"},{"include":"#anchor"},{"include":"#line-block"},{"include":"#replace-include"},{"include":"#footnote"},{"include":"#substitution"},{"include":"#blocks"},{"include":"#table"},{"include":"#simple-table"},{"include":"#options-list"}]},"bold":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)\\\\*{2}[^*\\\\s]","end":"\\\\*{2}|^\\\\s*$","name":"markup.bold"},"citation":{"applyEndPatternLast":0,"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)`[^`\\\\s]","end":"`_{0,2}|^\\\\s*$","name":"entity.name.tag"},"code-block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)","beginCaptures":{"2":{"name":"keyword.control"}},"patterns":[{"include":"#block-param"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-cmake":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(cmake)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.cmake"}},"patterns":[{"include":"#block-param"},{"include":"source.cmake"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-console":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(console|shell|bash)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.console"}},"patterns":[{"include":"#block-param"},{"include":"source.shell"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-cpp":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(c|c\\\\+\\\\+|cpp|C|C\\\\+\\\\+|CPP|Cpp)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.cpp"}},"patterns":[{"include":"#block-param"},{"include":"source.cpp"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-dts":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(dts|DTS|devicetree)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.dts"}},"patterns":[{"include":"#block-param"},{"include":"source.dts"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-javascript":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(javascript)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.js"}},"patterns":[{"include":"#block-param"},{"include":"source.js"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-kconfig":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*([Kk]config)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.kconfig"}},"patterns":[{"include":"#block-param"},{"include":"source.kconfig"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-py":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(python)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.py"}},"patterns":[{"include":"#block-param"},{"include":"source.python"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-ruby":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(ruby)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.ruby"}},"patterns":[{"include":"#block-param"},{"include":"source.ruby"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-yaml":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(ya?ml)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.yaml"}},"patterns":[{"include":"#block-param"},{"include":"source.yaml"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"doctest":{"begin":"^(>>>)\\\\s*(.*)","beginCaptures":{"1":{"name":"keyword.control"},"2":{"patterns":[{"include":"source.python"}]}},"end":"^\\\\s*$"},"doctest-block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+doctest::)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"}},"patterns":[{"include":"#block-param"},{"include":"source.python"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-auto":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+auto(?:class|module|exception|function|decorator|data|method|attribute|property)::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control.py"},"3":{"patterns":[{"include":"source.python"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-cpp":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+c(?:pp|):(?:class|struct|function|member|var|type|enum|enum-struct|enum-class|enumerator|union|concept)::)\\\\s*(?:(@\\\\w+)|(.*))","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"entity.name.tag"},"4":{"patterns":[{"include":"source.cpp"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-js":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+js:\\\\w+::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"patterns":[{"include":"source.js"}]}},"end":"^(?!\\\\1[\\\\t ]|$)","patterns":[{"include":"#block-param"},{"include":"#body"}]},"domain-py":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+py:(?:module|function|data|exception|class|attribute|property|method|staticmethod|classmethod|decorator|decoratormethod)::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"patterns":[{"include":"source.python"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domains":{"patterns":[{"include":"#domain-cpp"},{"include":"#domain-py"},{"include":"#domain-auto"},{"include":"#domain-js"}]},"escaped":{"match":"\\\\\\\\.","name":"constant.character.escape"},"footnote":{"match":"^\\\\s*\\\\.{2}\\\\s+\\\\[(?:[-.\\\\w]+|[#*]|#\\\\w+)]\\\\s+","name":"entity.name.tag"},"footnote-ref":{"match":"\\\\[(?:[-.\\\\w]+|[#*])]_","name":"entity.name.tag"},"ignore":{"patterns":[{"match":"\'[*`]+\'"},{"match":"<[*`]+>"},{"match":"\\\\{[*`]+}"},{"match":"\\\\([*`]+\\\\)"},{"match":"\\\\[[*`]+]"},{"match":"\\"[*`]+\\""}]},"inline-markup":{"patterns":[{"include":"#escaped"},{"include":"#ignore"},{"include":"#ref"},{"include":"#literal"},{"include":"#monospaced"},{"include":"#citation"},{"include":"#bold"},{"include":"#italic"},{"include":"#list"},{"include":"#macro"},{"include":"#reference"},{"include":"#footnote-ref"}]},"italic":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)\\\\*[^*\\\\s]","end":"\\\\*|^\\\\s*$","name":"markup.italic"},"line-block":{"match":"^\\\\|\\\\s+","name":"keyword.control"},"list":{"match":"^\\\\s*(\\\\d+\\\\.|\\\\* -|[#A-Za-z]\\\\.|[CIMVXcimvx]+\\\\.|\\\\(\\\\d+\\\\)|\\\\d+\\\\)|[-*+])\\\\s+","name":"keyword.control"},"literal":{"captures":{"1":{"name":"keyword.control"},"2":{"name":"entity.name.tag"}},"match":"(:\\\\S+:)(`.*?`\\\\\\\\?)"},"literal-block":{"begin":"^(\\\\s*)(.*)(::)\\\\s*$","beginCaptures":{"2":{"patterns":[{"include":"#inline-markup"}]},"3":{"name":"keyword.control"}},"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"macro":{"match":"\\\\|[^|]+\\\\|","name":"entity.name.tag"},"monospaced":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)``[^`\\\\s]","end":"``|^\\\\s*$","name":"string.interpolated"},"options-list":{"match":"(?:(?:^|,\\\\s+)(?:[-+]\\\\w|--?[A-Za-z][-\\\\w]+|/\\\\w+)(?:[ =](?:\\\\w+|<[^<>]+?>))?)+(?= |\\\\t|$)","name":"variable.parameter"},"raw-html":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+raw\\\\s*::)\\\\s+(html)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"variable.parameter.html"}},"patterns":[{"include":"#block-param"},{"include":"text.html.derivative"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"ref":{"begin":"(:ref:)`","beginCaptures":{"1":{"name":"keyword.control"}},"end":"`|^\\\\s*$","name":"entity.name.tag","patterns":[{"match":"<.*?>","name":"markup.underline.link"}]},"reference":{"match":"[-\\\\w]*[-A-Za-z\\\\d]__?\\\\b","name":"entity.name.tag"},"replace-include":{"captures":{"1":{"name":"keyword.control"},"2":{"name":"entity.name.tag"},"3":{"name":"keyword.control"}},"match":"^\\\\s*(\\\\.{2})\\\\s+(\\\\|[^|]+\\\\|)\\\\s+(replace::)"},"simple-table":{"match":"^[=\\\\s]+$","name":"keyword.control.table"},"substitution":{"match":"^\\\\.{2}\\\\s*\\\\|([^|]+)\\\\|","name":"entity.name.tag"},"table":{"begin":"^\\\\s*\\\\+[-+=]+\\\\+\\\\s*$","beginCaptures":{"0":{"name":"keyword.control.table"}},"end":"^(?![+|])","patterns":[{"match":"[-+=|]","name":"keyword.control.table"}]},"title":{"match":"^(\\\\*{3,}|#{3,}|={3,}|~{3,}|\\\\+{3,}|-{3,}|`{3,}|\\\\^{3,}|:{3,}|\\"{3,}|_{3,}|\'{3,})$","name":"markup.heading"}},"scopeName":"source.rst","embeddedLangs":["html-derivative","cpp","python","javascript","shellscript","yaml","cmake","ruby"]}')),fV=[...Ga,...X4,...p7,...w0,...Y3,...h7,...Io,...To,bV]});var Kw={};u1(Kw,{default:()=>b7});var vV,b7,Oa=n1(()=>{vV=Object.freeze(JSON.parse('{"displayName":"R","fileTypes":["R","r","Rprofile"],"foldingStartMarker":"\\\\{\\\\s*(?:#|$)","foldingStopMarker":"^\\\\s*}","name":"r","patterns":[{"include":"#roxygen-example"},{"include":"#basic"}],"repository":{"basic":{"patterns":[{"include":"#roxygen"},{"include":"#comment"},{"include":"#expression"}]},"basic-roxygen-example":{"patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"},{"include":"#comment"},{"include":"#expression"}]},"brackets":{"patterns":[{"begin":"\\\\{","end":"}","name":"meta.bracket","patterns":[{"include":"#basic"}]},{"begin":"\\\\[","end":"]","name":"meta.bracket","patterns":[{"captures":{"1":{"name":"variable.parameter"}},"match":"([.\\\\w]+)\\\\s*(?==[^=])"},{"include":"#basic"}]},{"begin":"\\\\(","end":"\\\\)","name":"meta.bracket","patterns":[{"captures":{"1":{"name":"variable.parameter"}},"match":"([.\\\\w]+)\\\\s*(?==[^=])"},{"include":"#basic"}]}]},"comment":{"match":"#.*","name":"comment.line"},"escape-code":{"match":"\\\\\\\\[\\"\'\\\\\\\\`abefnrtv]","name":"constant.character.escape"},"escape-hex":{"match":"\\\\\\\\x\\\\h+","name":"constant.numeric"},"escape-invalid":{"match":"\\\\\\\\.","name":"invalid"},"escape-octal":{"match":"\\\\\\\\\\\\d{1,3}","name":"constant.character.escape"},"escape-unicode":{"match":"\\\\\\\\[Uu](?:\\\\h+|\\\\{\\\\h+})","name":"constant.character.escape"},"escapes":{"patterns":[{"include":"#escape-code"},{"include":"#escape-hex"},{"include":"#escape-octal"},{"include":"#escape-unicode"},{"include":"#escape-invalid"}]},"expression":{"patterns":[{"include":"#brackets"},{"include":"#raw-strings"},{"include":"#strings"},{"include":"#function-definition"},{"include":"#keywords"},{"include":"#namespace-call"},{"include":"#function-call"},{"include":"#identifiers"},{"include":"#numbers"},{"include":"#operators"}]},"function-call":{"captures":{"0":{"name":"meta.function-call"},"1":{"name":"entity.name.function"}},"match":"([.\\\\w]+)(?=\\\\()"},"function-definition":{"begin":"(function)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other"},"2":{"name":"meta.bracket"}},"end":"(\\\\))","endCaptures":{"1":{"name":"meta.bracket"}},"name":"meta.function.definition","patterns":[{"begin":"([.\\\\w]+)","beginCaptures":{"1":{"name":"variable.parameter"}},"end":"(?=[),])","patterns":[{"include":"#basic"}]},{"include":"#basic"}]},"identifier-quoted":{"begin":"`","end":"`","name":"variable.object","patterns":[{"match":"\\\\\\\\`"}]},"identifier-syntactic":{"match":"[.\\\\p{L}\\\\p{Nl}][.\\\\p{L}\\\\p{Nl}\\\\p{Mn}\\\\p{Mc}\\\\d\\\\p{Pc}]*","name":"variable.object"},"identifiers":{"patterns":[{"include":"#identifier-syntactic"},{"include":"#identifier-quoted"}]},"keywords":{"patterns":[{"include":"#keywords-control"},{"include":"#keywords-builtin"},{"include":"#keywords-constant"}]},"keywords-builtin":{"match":"(?:setGroupGeneric|setRefClass|setGeneric|NextMethod|setMethod|UseMethod|tryCatch|setClass|warning|require|library|R6Class|return|switch|attach|detach|source|stop|try)(?=\\\\()","name":"keyword.other"},"keywords-constant":{"match":"(?:NA_character_|NA_integer_|NA_complex_|NA_real_|TRUE|FALSE|NULL|Inf|NaN|NA)\\\\b","name":"constant.language"},"keywords-control":{"match":"(?:\\\\\\\\|function|if|else|in|break|next|repeat|for|while)\\\\b","name":"keyword"},"latex":{"patterns":[{"match":"\\\\\\\\\\\\w+","name":"keyword.other"}]},"markdown":{"patterns":[{"begin":"(`{3,})\\\\s*(.*)","beginCaptures":{"1":{"name":"comment.line"},"2":{"name":"entity.name.section"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"comment.line"}},"patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"}]},{"captures":{"1":{"name":"meta.bracket"},"2":{"name":"variable.object"},"3":{"name":"keyword.operator"},"4":{"name":"entity.name.function"},"5":{"name":"meta.bracket"},"6":{"name":"meta.bracket"}},"match":"(\\\\[)(?:(\\\\w+)(:{2,3}))?(\\\\w+)(\\\\(\\\\))?(])"},{"match":"(\\\\s+|^)(__.+?__)\\\\b","name":"markdown.bold"},{"match":"(\\\\s+|^)(_(?=[^_])(?:\\\\\\\\.|[^\\\\\\\\_])*?_)\\\\b","name":"markdown.italic"},{"match":"(\\\\*\\\\*.+?\\\\*\\\\*)","name":"markdown.bold"},{"match":"(\\\\*(?=[^*\\\\s])(?:\\\\\\\\.|[^*\\\\\\\\])*?\\\\*)","name":"markdown.italic"},{"match":"(`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","name":"markup.quote"},{"match":"(<)([^>]*)(>)","name":"markup.underline.link"}]},"namespace-call":{"captures":{"1":{"name":"entity.name.namespace.r"},"2":{"name":"keyword.operator"}},"match":"(?<![.0-9A-Z_a-z])([.A-Z_a-z][.0-9A-Z_a-z]*)(:::?)"},"numbers":{"patterns":[{"match":"0[Xx]\\\\h+(?:p[-+]?\\\\d+)?[Li]?","name":"constant.numeric"},{"match":"(?:\\\\d+(?:\\\\.\\\\d*)?|\\\\.\\\\d+)(?:[Ee][-+]?\\\\d*)?[Li]?","name":"constant.numeric"}]},"operators":{"match":"%.*?%|:::?|:=|\\\\|>|=>|%%|>=|<=|==|!=|<<-|->>?|<-|\\\\|\\\\||&&|[-+=]|\\\\*\\\\*?|[!$\\\\&,/:<>?@^|~]","name":"keyword.operator"},"qqstring":{"begin":"\\"","end":"\\"","name":"string.quoted.double","patterns":[{"include":"#escapes"}]},"qstring":{"begin":"\'","end":"\'","name":"string.quoted.single","patterns":[{"include":"#escapes"}]},"raw-strings":{"name":"string.quoted.other","patterns":[{"begin":"[Rr]\\"(-*)\\\\{","end":"}\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\{","end":"}\\\\1\'","name":"string.quoted.other"},{"begin":"[Rr]\\"(-*)\\\\[","end":"]\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\[","end":"]\\\\1\'","name":"string.quoted.other"},{"begin":"[Rr]\\"(-*)\\\\(","end":"\\\\)\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\(","end":"\\\\)\\\\1\'","name":"string.quoted.other"}]},"roxygen":{"begin":"^(\\\\s*#+\')","beginCaptures":{"1":{"name":"comment.line.roxygen"}},"end":"$","patterns":[{"include":"#markdown"},{"include":"#roxygen-tokens"},{"include":"#latex"},{"match":".","name":"comment.line"}]},"roxygen-example":{"begin":"^(\\\\s*#+\')\\\\s*(?:(@examples)\\\\s*|(@examplesIf)\\\\s+(.*))$","beginCaptures":{"1":{"name":"comment.line"},"2":{"name":"keyword.other"},"3":{"name":"keyword.other"},"4":{"patterns":[{"include":"#expression"}]}},"end":"^(?:\\\\s*(?=#+\'\\\\s*@)|\\\\s*(?!#+\'))","patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"},{"match":"[]()\\\\[{}]","name":"meta.bracket"},{"include":"#latex"},{"include":"#roxygen-tokens"},{"include":"#basic-roxygen-example"}]},"roxygen-tokens":{"patterns":[{"match":"@@","name":"constant.character.escape"},{"begin":"(@(?:param|field|slot))\\\\s*","beginCaptures":{"1":{"name":"keyword.other"}},"end":"\\\\s|$","patterns":[{"match":"([.\\\\w]+)","name":"variable.parameter"},{"match":",","name":"keyword.operator"}]},{"match":"@(?!@)\\\\w*","name":"keyword.other"}]},"strings":{"patterns":[{"include":"#qstring"},{"include":"#qqstring"}]}},"scopeName":"source.r"}')),b7=[vV]});var yV,Yw,Qw=n1(()=>{Oa();yV=Object.freeze(JSON.parse('{"displayName":"TeX","name":"tex","patterns":[{"include":"#iffalse-block"},{"include":"#macro-control"},{"include":"#catcode"},{"include":"#comment"},{"match":"[]\\\\[]","name":"punctuation.definition.brackets.tex"},{"include":"#dollar-math"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.newline.tex"},{"include":"#ifnextchar"},{"include":"#macro-general"}],"repository":{"braces":{"begin":"(?<!\\\\\\\\)\\\\{","beginCaptures":{"0":{"name":"punctuation.group.begin.tex"}},"end":"(?<!\\\\\\\\)}","endCaptures":{"0":{"name":"punctuation.group.end.tex"}},"name":"meta.group.braces.tex","patterns":[{"include":"#braces"}]},"catcode":{"captures":{"1":{"name":"keyword.control.catcode.tex"},"2":{"name":"punctuation.definition.keyword.tex"},"3":{"name":"punctuation.separator.key-value.tex"},"4":{"name":"constant.numeric.category.tex"}},"match":"((\\\\\\\\)catcode)`\\\\\\\\?.(=)(\\\\d+)","name":"meta.catcode.tex"},"comment":{"begin":"(^[\\\\t ]+)?(?=%)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.tex"}},"end":"(?!\\\\G)","patterns":[{"begin":"%:?","beginCaptures":{"0":{"name":"punctuation.definition.comment.tex"}},"end":"$\\\\n?","name":"comment.line.percentage.tex"},{"begin":"^(%!TEX) (\\\\S*) =","beginCaptures":{"1":{"name":"punctuation.definition.comment.tex"}},"end":"$\\\\n?","name":"comment.line.percentage.directive.tex"}]},"conditionals":{"begin":"(?<=^\\\\s*)\\\\\\\\if(?!f\\\\b)[a-z]*","end":"(?<=^\\\\s*)\\\\\\\\fi","patterns":[{"include":"#comment"},{"include":"#conditionals"}]},"dollar-math":{"begin":"(\\\\$\\\\$?)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.tex"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.tex"}},"name":"meta.math.block.tex support.class.math.block.tex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.tex"},{"include":"#math-content"},{"include":"$self"}]},"iffalse-block":{"begin":"(?<=^\\\\s*)((\\\\\\\\)iffalse)(?!\\\\s*[{}]\\\\s*\\\\\\\\fi\\\\b)","beginCaptures":{"1":{"name":"keyword.control.tex"},"2":{"name":"punctuation.definition.keyword.tex"}},"contentName":"comment.line.percentage.tex","end":"((\\\\\\\\)(?:else|fi))\\\\b","endCaptures":{"1":{"name":"keyword.control.tex"},"2":{"name":"punctuation.definition.keyword.tex"}},"patterns":[{"include":"#comment"},{"include":"#braces"},{"include":"#conditionals"}]},"ifnextchar":{"match":"\\\\\\\\@ifnextchar[(\\\\[{]","name":"keyword.control.ifnextchar.tex"},"macro-control":{"captures":{"1":{"name":"punctuation.definition.keyword.tex"}},"match":"(\\\\\\\\)(backmatter|csname|else|endcsname|fi|frontmatter|mainmatter|unless|if(case|cat|csname|defined|dim|eof|false|fontchar|hbox|hmode|inner|mmode|num|odd|true|vbox|vmode|void|x)?)(?![@-Za-z])","name":"keyword.control.tex"},"macro-general":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\\\\\)_*[@\\\\p{Alphabetic}]+(?:_[@\\\\p{Alphabetic}]+)*:[DFNTVcefnopvwx]*","name":"support.class.general.latex3.tex"},{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\.)[@\\\\p{Alphabetic}]+(?:_[@\\\\p{Alphabetic}]+)*:[DFNTVcefnopvwx]*","name":"support.class.general.latex3.tex"},{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\\\\\)(?:[,;]|[@\\\\p{Alphabetic}]+)","name":"support.function.general.tex"},{"captures":{"1":{"name":"punctuation.definition.keyword.tex"}},"match":"(\\\\\\\\)[^@-Za-z]","name":"constant.character.escape.tex"}]},"math-content":{"patterns":[{"begin":"((\\\\\\\\)(?:text|mbox))(\\\\{)","beginCaptures":{"1":{"name":"constant.other.math.tex"},"2":{"name":"punctuation.definition.function.tex"},"3":{"name":"punctuation.definition.arguments.begin.tex meta.text.normal.tex"}},"contentName":"meta.text.normal.tex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.tex meta.text.normal.tex"}},"patterns":[{"include":"#math-content"},{"include":"$self"}]},{"match":"\\\\\\\\[{}]","name":"punctuation.math.bracket.pair.tex"},{"match":"\\\\\\\\(left|right|((bigg??|Bigg??)[lr]?))([]().<>\\\\[|]|\\\\\\\\[{|}]|\\\\\\\\[lr]?[Vv]ert|\\\\\\\\[lr]angle)","name":"punctuation.math.bracket.pair.big.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(s(s(earrow|warrow|lash)|h(ort(downarrow|uparrow|parallel|leftarrow|rightarrow|mid)|arp)|tar|i(gma|m(eq)?)|u(cc(sim|n(sim|approx)|curlyeq|eq|approx)?|pset(neq(q)?|plus(eq)?|eq(q)?)?|rd|m|bset(neq(q)?|plus(eq)?|eq(q)?)?)|p(hericalangle|adesuit)|e(tminus|arrow)|q(su(pset(eq)?|bset(eq)?)|c([au]p)|uare)|warrow|m(ile|all(s(etminus|mile)|frown)))|h(slash|ook((?:lef|righ)tarrow)|eartsuit|bar)|R(sh|ightarrow|e|bag)|Gam(e|ma)|n(s(hort(parallel|mid)|im|u(cc(eq)?|pseteq(q)?|bseteq))|Rightarrow|n([ew]arrow)|cong|triangle(left(eq(slant)?)?|right(eq(slant)?)?)|i(plus)?|u|p(lus|arallel|rec(eq)?)|e(q|arrow|g|xists)|v([Dd]ash)|warrow|le(ss|q(slant|q)?|ft((?:|right)arrow))|a(tural|bla)|VDash|rightarrow|g(tr|eq(slant|q)?)|mid|Left((?:|right)arrow))|c(hi|irc(eq|le(d(circ|S|dash|ast)|arrow(left|right)))?|o(ng|prod|lon|mplement)|dot([ps])?|u(p|r(vearrow(left|right)|ly(eq(succ|prec)|vee((?:down|up)arrow)?|wedge((?:down|up)arrow)?)))|enterdot|lubsuit|ap)|Xi|Maps(to(char)?|from(char)?)|B(ox|umpeq|bbk)|t(h(ick(sim|approx)|e(ta|refore))|imes|op|wohead((?:lef|righ)tarrow)|a(u|lloblong)|riangle(down|q|left(eq(slant)?)?|right(eq(slant)?)?)?)|i(n(t(er(cal|leave))?|plus|fty)?|ota|math)|S(igma|u([bp]set))|zeta|o(slash|times|int|dot|plus|vee|wedge|lessthan|greaterthan|m(inus|ega)|b(slash|long|ar))|d(i(v(ideontimes)?|a(g(down|up)|mond(suit)?)|gamma)|o(t(plus|eq(dot)?)|ublebarwedge|wn(harpoon(left|right)|downarrows|arrow))|d(ots|agger)|elta|a(sh(v|leftarrow|rightarrow)|leth|gger))|Y(down|up|left|right)|C([au]p)|u(n([lr]hd)|p(silon|harpoon(left|right)|downarrow|uparrows|lus|arrow)|lcorner|rcorner)|jmath|Theta|Im|p(si|hi|i(tchfork)?|erp|ar(tial|allel)|r(ime|o(d|pto)|ec(sim|n(sim|approx)|curlyeq|eq|approx)?)|m)|e(t([ah])|psilon|q(slant(less|gtr)|circ|uiv)|ll|xists|mptyset)|Omega|D(iamond|ownarrow|elta)|v(d(ots|ash)|ee(bar)?|Dash|ar(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|curly(vee|wedge)|t(heta|imes|riangle(left|right)?)|o(slash|circle|times|dot|plus|vee|wedge|lessthan|ast|greaterthan|minus|b(slash|ar))|p(hi|i|ropto)|epsilon|kappa|rho|bigcirc))|kappa|Up(silon|downarrow|arrow)|Join|f(orall|lat|a(t(s(emi|lash)|bslash)|llingdotseq)|rown)|P((?:s|h?)i)|w(p|edge|r)|l(hd|n(sim|eq(q)?|approx)|ceil|times|ightning|o(ng(left((?:|right)arrow)|rightarrow|maps(to|from))|zenge|oparrow(left|right))|dot([ps])|e(ss(sim|dot|eq(q?gtr)|approx|gtr)|q(slant|q)?|ft(slice|harpoon(down|up)|threetimes|leftarrows|arrow(t(ail|riangle))?|right(squigarrow|harpoons|arrow(s|triangle|eq)?))|adsto)|vertneqq|floor|l(c(orner|eil)|floor|l|bracket)?|a(ngle|mbda)|rcorner|bag)|a(s(ymp|t)|ngle|pprox(eq)?|l(pha|eph)|rrownot|malg)|V(v??dash)|r(h([do])|ceil|times|i(singdotseq|ght(s(quigarrow|lice)|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(t(ail|riangle))?|rightarrows))|floor|angle|r(ceil|parenthesis|floor|bracket)|bag)|g(n(sim|eq(q)?|approx)|tr(sim|dot|eq(q?less)|less|approx)|imel|eq(slant|q)?|vertneqq|amma|g(g)?)|Finv|xi|m(ho|i(nuso|d)|o(o|dels)|u(ltimap)?|p|e(asuredangle|rge)|aps(to|from(char)?))|b(i(n(dnasrepma|ampersand)|g(s(tar|qc([au]p))|nplus|c(irc|u(p|rly(vee|wedge))|ap)|triangle(down|up)|interleave|o(times|dot|plus)|uplus|parallel|vee|wedge|box))|o(t|wtie|x(slash|circle|times|dot|plus|empty|ast|minus|b(slash|ox|ar)))|u(llet|mpeq)|e(cause|t(h|ween|a))|lack(square|triangle(down|left|right)?|lozenge)|a(ck(s(im(eq)?|lash)|prime|epsilon)|r(o|wedge))|bslash)|L(sh|ong(left((?:|right)arrow)|rightarrow|maps(to|from))|eft((?:|right)arrow)|leftarrow|ambda|bag)|ge|le|Arrownot)(?![@-Za-z])","name":"constant.character.math.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(sum|prod|coprod|int|oint|bigcap|bigcup|bigsqcup|bigvee|bigwedge|bigodot|bigotimes|bogoplus|biguplus)\\\\b","name":"constant.character.math.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(arccos|arcsin|arctan|arg|cosh??|coth??|csc|deg|det|dim|exp|gcd|hom|inf|ker|lg|lim|liminf|limsup|ln|log|max|min|pr|sec|sinh??|sup|tanh??)\\\\b","name":"constant.other.math.tex"},{"begin":"((\\\\\\\\)Sexpr(\\\\{))","beginCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.definition.function.math.tex"},"3":{"name":"punctuation.section.embedded.begin.math.tex"}},"contentName":"support.function.sexpr.math.tex","end":"(((})))","endCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.section.embedded.end.math.tex"},"3":{"name":"source.r"}},"name":"meta.embedded.line.r","patterns":[{"begin":"\\\\G(?!})","end":"(?=})","name":"source.r","patterns":[{"include":"source.r"}]}]},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(?!begin\\\\{|verb)([A-Za-z]+)","name":"constant.other.general.math.tex"},{"match":"(?<!\\\\\\\\)\\\\{","name":"punctuation.math.begin.bracket.curly.tex"},{"match":"(?<!\\\\\\\\)}","name":"punctuation.math.end.bracket.curly.tex"},{"match":"(?<!\\\\\\\\)\\\\(","name":"punctuation.math.begin.bracket.round.tex"},{"match":"(?<!\\\\\\\\)\\\\)","name":"punctuation.math.end.bracket.round.tex"},{"match":"(([0-9]*\\\\.[0-9]+)|[0-9]+)","name":"constant.numeric.math.tex"},{"match":"[-*+/]|(?<!\\\\^)\\\\^(?!\\\\^)|(?<!_)_(?!_)","name":"punctuation.math.operator.tex"}]}},"scopeName":"text.tex","embeddedLangs":["r"]}')),Yw=[...b7,yV]});var Jw={};u1(Jw,{default:()=>wV});var _V,wV,ex=n1(()=>{Qw();_V=Object.freeze(JSON.parse('{"displayName":"LaTeX","name":"latex","patterns":[{"match":"(?<=\\\\\\\\(?:[@\\\\w]|[@\\\\w]{2}|[@\\\\w]{3}|[@\\\\w]{4}|[@\\\\w]{5}|[@\\\\w]{6}))\\\\s","name":"meta.space-after-command.latex"},{"include":"#songs-env"},{"include":"#embedded-code-env"},{"include":"#verbatim-env"},{"include":"#document-env"},{"include":"#all-balanced-env"},{"include":"#documentclass-usepackage-macro"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#newcommand-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"text.tex"}],"repository":{"all-balanced-env":{"patterns":[{"begin":"\\\\s*((\\\\\\\\)begin)(\\\\{)((?:\\\\+?array|equation|(?:IEEE|sub)?eqnarray|multline|align|aligned|alignat|alignedat|flalign|flaligned|flalignat|split|gather|gathered|(?:[+dr]|dr)?cases|(?:display)?math|\\\\+?[A-Za-z]*matrix|[BVbpv]?NiceMatrix|[BVbpv]?NiceArray|(?:arg)?m(?:ini|axi))[!*]?)(})(\\\\s*\\\\n)?","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"variable.parameter.function.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.math.block.latex support.class.math.block.environment.latex","end":"\\\\s*((\\\\\\\\)end)(\\\\{)(\\\\4)(})(?:\\\\s*\\\\n)?","name":"meta.function.environment.math.latex","patterns":[{"match":"(?<!\\\\\\\\)&","name":"keyword.control.equation.align.latex"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.equation.newline.latex"},{"include":"#label-macro"},{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\s*(\\\\\\\\begin\\\\{empheq}(?:\\\\[.*])?)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.math.block.latex support.class.math.block.environment.latex","end":"\\\\s*(\\\\\\\\end\\\\{empheq})","name":"meta.function.environment.math.latex","patterns":[{"match":"(?<!\\\\\\\\)&","name":"keyword.control.equation.align.latex"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.equation.newline.latex"},{"include":"#label-macro"},{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(tabular[*xy]?|xltabular|longtable|(?:long)?tabu|(?:long|tall)?tblr|NiceTabular[*X]?|booktabs)}(\\\\s*\\\\n)?)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.data.environment.tabular.latex","end":"(\\\\s*\\\\\\\\end\\\\{(\\\\2)}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.tabular.latex","patterns":[{"match":"(?<!\\\\\\\\)&","name":"keyword.control.table.cell.latex"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.table.newline.latex"},{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(itemize|enumerate|description|list)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.list.latex","patterns":[{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{tikzpicture})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{tikzpicture}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.latex.tikz","patterns":[{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{frame})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{frame})","name":"meta.function.environment.frame.latex","patterns":[{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(mpost\\\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.latex.mpost"},{"begin":"(\\\\s*\\\\\\\\begin\\\\{markdown})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.embedded.markdown_latex_combined","end":"(\\\\\\\\end\\\\{markdown})","patterns":[{"include":"text.tex.markdown_latex_combined"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(\\\\p{Alphabetic}+\\\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.general.latex","patterns":[{"include":"$self"}]}]},"all-other-macro":{"patterns":[{"match":"\\\\\\\\(?:newline|pagebreak|clearpage|linebreak|pause)\\\\b","name":"keyword.control.layout.latex"},{"begin":"((\\\\\\\\)marginpar)((?:\\\\[[^\\\\[]*?])*)(\\\\{)","beginCaptures":{"1":{"name":"support.function.marginpar.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.marginpar.begin.latex"}},"contentName":"meta.paragraph.margin.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.marginpar.end.latex"}},"patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)footnote)((?:\\\\[[^\\\\[]*?])*)(\\\\{)","beginCaptures":{"1":{"name":"support.function.footnote.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.footnote.begin.latex"}},"contentName":"entity.name.footnote.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.footnote.end.latex"}},"patterns":[{"include":"#braces"},{"include":"$self"}]},{"captures":{"0":{"name":"keyword.other.item.latex"},"1":{"name":"punctuation.definition.keyword.latex"}},"match":"(\\\\\\\\)item\\\\b","name":"meta.scope.item.latex"},{"captures":{"1":{"name":"punctuation.definition.constant.latex"}},"match":"(\\\\\\\\)(text(s(terling|ixoldstyle|urd|e(ction|venoldstyle|rvicemark))|yen|n(ineoldstyle|umero|aira)|c(ircledP|o(py(left|right)|lonmonetary)|urrency|e(nt(oldstyle)?|lsius))|t(hree(superior|oldstyle|quarters(emdash)?)|i(ldelow|mes)|w(o(superior|oldstyle)|elveudash)|rademark)|interrobang(down)?|zerooldstyle|o(hm|ne(superior|half|oldstyle|quarter)|penbullet|rd((?:femin|mascul)ine))|d(i(scount|ed|v(orced)?)|o(ng|wnarrow|llar(oldstyle)?)|egree|agger(dbl)?|blhyphen(char)?)|uparrow|p(ilcrow|e(so|r(t((?:|ent)housand)|iodcentered))|aragraph|m)|e(stimated|ightoldstyle|uro)|quotes(traight((?:dbl|)base)|ingle)|f(iveoldstyle|ouroldstyle|lorin|ractionsolidus)|won|l(not|ira|e(ftarrow|af)|quill|angle|brackdbl)|a(s(cii(caron|dieresis|acute|grave|macron|breve)|teriskcentered)|cutedbl)|r(ightarrow|e(cipe|ferencemark|gistered)|quill|angle|brackdbl)|g(uarani|ravedbl)|m(ho|inus|u(sicalnote)?|arried)|b(igcircle|orn|ullet|lank|a(ht|rdbl)|rokenbar)))\\\\b","name":"constant.character.latex"},{"captures":{"1":{"name":"punctuation.definition.variable.latex"}},"match":"(\\\\\\\\)(?:[cgl]_+[@_\\\\p{Alphabetic}]+_[a-z]+|[qs]_[@_\\\\p{Alphabetic}]+[@\\\\p{Alphabetic}])","name":"variable.other.latex3.latex"}]},"autocites-arg":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#optional-arg-parenthesis-no-highlight"}]},"2":{"patterns":[{"include":"#optional-arg-bracket-no-highlight"}]},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"constant.other.reference.citation.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"patterns":[{"include":"#autocites-arg"}]}},"match":"((?:\\\\([^)]*\\\\)){0,2})((?:\\\\[[^]]*]){0,2})(\\\\{)([-.:_\\\\p{Alphabetic}\\\\p{N}]+)(})(.*)"}]},"braces":{"begin":"(?<!\\\\\\\\)\\\\{","beginCaptures":{"0":{"name":"punctuation.group.begin.latex"}},"end":"(?<!\\\\\\\\)}","endCaptures":{"0":{"name":"punctuation.group.end.latex"}},"name":"meta.group.braces.latex","patterns":[{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#macro-with-args-tokenizer"},{"include":"#all-other-macro"},{"include":"text.tex"},{"include":"#braces"}]},"citation-macro":{"begin":"((\\\\\\\\)(?:[Aa]uto|foot|full|footfull|no|ref|short|[Tt]ext|[Pp]aren|[Ss]mart|[FPfp]vol|vol)?[Cc]ite(?:al)?(?:[pst]|author|year(?:par)?|title|url|date)?[ANP]*\\\\*?)((?:(?:\\\\([^)]*\\\\)){0,2}(?:\\\\[[^]]*]){0,2}\\\\{[-.:_\\\\p{Alphabetic}\\\\p{N}]*})*)(<[^]<>]*>)?((?:\\\\[[^]]*])*)(\\\\{)","captures":{"1":{"name":"keyword.control.cite.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"patterns":[{"include":"#autocites-arg"}]},"4":{"patterns":[{"include":"#optional-arg-angle-no-highlight"}]},"5":{"patterns":[{"include":"#optional-arg-bracket-no-highlight"}]},"6":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.citation.latex","patterns":[{"captures":{"1":{"name":"comment.line.percentage.tex"},"2":{"name":"punctuation.definition.comment.tex"}},"match":"((%).*)$"},{"match":"[-.:\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.citation.latex"}]},"column-specials":{"captures":{"1":{"name":"punctuation.definition.column-specials.begin.latex"},"2":{"name":"punctuation.definition.column-specials.end.latex"}},"match":"[<>](\\\\{)\\\\$(})","name":"meta.column-specials.latex"},"display-math":{"patterns":[{"begin":"\\\\\\\\\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\\\\\]","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\$\\\\$","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\$\\\\$","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.latex"},{"include":"text.tex#math-content"},{"include":"$self"}]}]},"document-env":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\\\s*\\\\\\\\begin\\\\{document})","name":"meta.function.begin-document.latex"},{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\\\s*\\\\\\\\end\\\\{document})","name":"meta.function.end-document.latex"}]},"documentclass-usepackage-macro":{"begin":"((\\\\\\\\)(?:usepackage|documentclass))\\\\b(?=[\\\\[{])","beginCaptures":{"1":{"name":"keyword.control.preamble.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.preamble.latex","patterns":[{"include":"#multiline-optional-arg"},{"begin":"((?:\\\\G|(?<=]))\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"support.class.latex","end":"(})","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"$self"}]}]},"embedded-code-env":{"patterns":[{"begin":"(?:^\\\\s*)?\\\\\\\\begin\\\\{(lstlisting|minted|pyglist)}(?=[\\\\[{])","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\\\\\end\\\\{\\\\1}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(asy(?:|mptote))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.asy","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.asy"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(bash)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.shell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.shell"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(c(?:|pp))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.cpp.embedded.latex"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(css)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.css","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.css"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(gnuplot)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.gnuplot"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(h(?:s|askell))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.haskell"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(html)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"text.html","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"text.html.basic"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(java)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.java"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(j(?:l|ulia))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.julia"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(j(?:s|avascript))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.js","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.js"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(lua)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.lua"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(py|python|sage)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.python"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(r(?:b|uby))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.ruby","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.ruby"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(rust)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.rust","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.rust"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(t(?:s|ypescript))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.ts","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.ts"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(xml)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"text.xml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"text.xml"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(yaml)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.yaml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.yaml"}]},{"begin":"(?:\\\\G|(?<=]))(?:(\\\\{)([A-Za-z]*)(}))?","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:lstlisting|minted|pyglist)})","name":"meta.embedded.block.generic.latex"}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{asy(?:|code)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{asy(?:|code)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.asymptote","end":"^\\\\s*(?=\\\\\\\\end\\\\{asy(?:|code)\\\\*?})","patterns":[{"include":"source.asymptote"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{cppcode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{cppcode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{cppcode\\\\*?})","patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{dot(?:2tex|code)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{dot(?:2tex|code)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.dot","end":"^\\\\s*(?=\\\\\\\\end\\\\{dot(?:2tex|code)\\\\*?})","patterns":[{"include":"source.dot"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{gnuplot\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{gnuplot\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{gnuplot\\\\*?})","patterns":[{"include":"source.gnuplot"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{hscode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{hscode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{hscode\\\\*?})","patterns":[{"include":"source.haskell"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.java"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{lua(?:code|draw)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{lua(?:code|draw)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{lua(?:code|draw)\\\\*?})","patterns":[{"include":"source.lua"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{scalacode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{scalacode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.scala","end":"^\\\\s*(?=\\\\\\\\end\\\\{scalacode\\\\*?})","patterns":[{"include":"source.scala"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{((?:[A-Za-z]*code|lstlisting|minted|pyglist)\\\\*?)}(?:\\\\[.*])?(?:\\\\{.*})?","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.function.embedded.latex","end":"\\\\\\\\end\\\\{\\\\1}(?:\\\\s*\\\\n)?","name":"meta.embedded.block.generic.latex"},{"begin":"((?:^\\\\s*)?\\\\\\\\begin\\\\{((?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?))})(?:\\\\[[^]]*]){0,2}(?=\\\\{)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2})","patterns":[{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:asy(?:|mptote))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.asy","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.asy"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:bash)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.shell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.shell"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:c(?:|pp))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:css)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.css","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.css"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:gnuplot)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.gnuplot"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:h(?:s|askell))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.haskell"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:html)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.html","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.html.basic"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:java)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.java"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:j(?:l|ulia))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:j(?:s|avascript))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.js","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.js"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:lua)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.lua"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:py|python|sage)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:r(?:b|uby))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.ruby","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.ruby"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:rust)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.rust","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.rust"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:t(?:s|ypescript))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.ts","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.ts"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:xml)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.xml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.xml"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:yaml)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.yaml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.yaml"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:tikz(?:|picture))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.tex.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.tex.latex"}]}]},{"begin":"\\\\G(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","name":"meta.embedded.block.generic.latex"}]}]},{"begin":"(?:^\\\\s*)?\\\\\\\\begin\\\\{(terminal\\\\*?)}(?=[\\\\[{])","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\\\\\end\\\\{\\\\1}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)([A-Za-z]*)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{terminal\\\\*?})","name":"meta.embedded.block.generic.latex"}]}]},"hyperref-macro":{"patterns":[{"begin":"\\\\s*((\\\\\\\\)h(?:ref|yperref|yperimage))(?=[\\\\[{])","beginCaptures":{"1":{"name":"support.function.url.latex"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.function.hyperlink.latex","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)([^}]*)(})(?:\\\\{[^}]*}){2}?(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"markup.underline.link.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"},"4":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.variable.parameter.function.latex","end":"(?=})","patterns":[{"include":"$self"}]},{"begin":"(?:\\\\G|(?<=]))(?:(\\\\{)[^}]*(}))?(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"punctuation.definition.arguments.end.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.variable.parameter.function.latex","end":"(?=})","patterns":[{"include":"$self"}]}]},{"captures":{"1":{"name":"support.function.url.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"markup.underline.link.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"}},"match":"\\\\s*((\\\\\\\\)(?:url|path))(\\\\{)([^}]*)(})","name":"meta.function.link.url.latex"}]},"inline-code-macro":{"patterns":[{"begin":"((\\\\\\\\)addplot)\\\\+?(\\\\[[^\\\\[]*])*\\\\s*(gnuplot)\\\\s*(\\\\[[^\\\\[]*])*\\\\s*(\\\\{)","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"variable.parameter.function.latex"},"5":{"patterns":[{"include":"#optional-arg-bracket"}]},"6":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"\\\\s*(};)","patterns":[{"begin":"%","beginCaptures":{"0":{"name":"punctuation.definition.comment.latex"}},"end":"$\\\\n?","name":"comment.line.percentage.latex"},{"include":"source.gnuplot"}]},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.arguments.begin.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"markup.raw.verb.latex"},"8":{"name":"punctuation.definition.verb.latex"},"9":{"name":"punctuation.definition.verb.latex"},"10":{"name":"markup.raw.verb.latex"},"11":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)mint(?:|inline))((?:\\\\[[^\\\\[]*?])?)(\\\\{)[A-Za-z]*(})(?:([^A-Za-{])(.*?)(\\\\6)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"markup.raw.verb.latex"},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"markup.raw.verb.latex"},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)[a-z]+inline)((?:\\\\[[^\\\\[]*?])?)(?:([^A-Za-{])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"source.python","patterns":[{"include":"source.python"}]},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"source.python","patterns":[{"include":"source.python"}]},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)(?:(?:py|pycon|pylab|pylabcon|sympy|sympycon)[cv]?|pyq|pycq|pyif))((?:\\\\[[^\\\\[]*?])?)(?:([^](),;A-\\\\[a-{}\\\\s])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"source.julia","patterns":[{"include":"source.julia"}]},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"source.julia","patterns":[{"include":"source.julia"}]},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)j(?:l|ulia)[cv]?)((?:\\\\[[^\\\\[]*?])?)(?:([^A-Za-{])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"begin":"((\\\\\\\\)(?:directlua|luadirect|luaexec))(\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.lua","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.lua"},{"include":"text.tex#braces"}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:asy(?:|mptote))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.asy","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.asy"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:bash)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.shell","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.shell"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:c(?:|pp))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.cpp.embedded.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:css)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.css","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.css"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:gnuplot)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.gnuplot","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.gnuplot"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:h(?:s|askell))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.haskell","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.haskell"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:html)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.html","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.html.basic"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:java)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.java","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.java"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:j(?:l|ulia))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.julia","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.julia"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:j(?:s|avascript))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.js","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.js"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:lua)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.lua","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.lua"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:py|python|sage)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.python","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.python"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:r(?:b|uby))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.ruby","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.ruby"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:rust)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.rust","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.rust"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:t(?:s|ypescript))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.ts"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:xml)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.xml","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.xml"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:yaml)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.yaml","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.yaml"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:tikz(?:|picture))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.tex.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex.latex"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=[\\\\[{])","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.embedded.block.generic.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"}]}]},{"begin":"((\\\\\\\\)sys_get_shell:nnN(?:TF)?\\\\s?)(\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"markup.raw.verb.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}}}]},"inline-math":{"patterns":[{"begin":"\\\\\\\\\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\\\\\\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\$(?!\\\\$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tex"}},"end":"(?<!\\\\$)\\\\$","endCaptures":{"0":{"name":"punctuation.definition.string.end.tex"}},"name":"meta.math.block.tex support.class.math.block.tex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.latex"},{"include":"text.tex#math-content"},{"include":"$self"}]}]},"input-macro":{"begin":"((\\\\\\\\)in(?:clude|put))(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.include.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.include.latex","patterns":[{"include":"$self"}]},"label-macro":{"begin":"((\\\\\\\\)z?label)((?:\\\\[[^\\\\[]*?])*)(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.label.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.definition.label.latex","patterns":[{"match":"[!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+","name":"variable.parameter.definition.label.latex"}]},"macro-with-args-tokenizer":{"captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"variable.parameter.function.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.arguments.optional.begin.latex"},"7":{"patterns":[{"include":"$self"}]},"8":{"name":"punctuation.definition.arguments.optional.end.latex"},"9":{"name":"punctuation.definition.arguments.begin.latex"},"10":{"name":"variable.parameter.function.latex"},"11":{"name":"punctuation.definition.arguments.end.latex"}},"match":"\\\\s*((\\\\\\\\)\\\\p{Alphabetic}+)(\\\\{)(\\\\\\\\?\\\\p{Alphabetic}+\\\\*?)(})(?:(\\\\[)([^]]*)(])){0,2}(?:(\\\\{)([^{}]*)(}))?"},"multiline-arg-no-highlight":{"begin":"\\\\G\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.parameter.latex","patterns":[{"include":"#documentclass-usepackage-macro"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#newcommand-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"#braces"},{"include":"text.tex"}]},"multiline-optional-arg":{"begin":"\\\\G\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.arguments.optional.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.optional.end.latex"}},"name":"meta.parameter.optional.latex","patterns":[{"include":"$self"}]},"multiline-optional-arg-no-highlight":{"begin":"(?:\\\\G|(?<=}))\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.arguments.optional.begin.latex"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.optional.end.latex"}},"name":"meta.parameter.optional.latex","patterns":[{"include":"$self"}]},"newcommand-macro":{"begin":"((\\\\\\\\)(?:newcommand|renewcommand|(?:re)?newrobustcmd|DeclareRobustCommand)\\\\*?)(\\\\{)?((\\\\\\\\)[@\\\\p{Alphabetic}]+\\\\*?)(})?(?:(\\\\[)[^]]*(])){0,2}(\\\\{)","beginCaptures":{"1":{"name":"storage.type.function.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.begin.latex"},"4":{"name":"support.function.general.latex"},"5":{"name":"punctuation.definition.function.latex"},"6":{"name":"punctuation.definition.end.latex"},"7":{"name":"punctuation.definition.arguments.optional.begin.latex"},"8":{"name":"punctuation.definition.arguments.optional.end.latex"},"9":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.parameter.newcommand.latex","patterns":[{"include":"#documentclass-usepackage-macro"},{"include":"#unbalanced-env"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#macro-with-args-tokenizer"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"#braces"},{"include":"text.tex"}]},"optional-arg-angle-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(<)[^<]*?(>)","name":"meta.parameter.optional.latex"}]},"optional-arg-bracket":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\[)([^\\\\[]*?)(])","name":"meta.parameter.optional.latex"}]},"optional-arg-bracket-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\[)[^\\\\[]*?(])","name":"meta.parameter.optional.latex"}]},"optional-arg-parenthesis":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\()([^(]*?)(\\\\))","name":"meta.parameter.optional.latex"}]},"optional-arg-parenthesis-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\()[^(]*?(\\\\))","name":"meta.parameter.optional.latex"}]},"references-macro":{"patterns":[{"begin":"((\\\\\\\\)\\\\w*[Rr]ef\\\\*?)(?:\\\\[[^]]*])?(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.ref.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.reference.label.latex","patterns":[{"match":"[!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.label.latex"}]},{"captures":{"1":{"name":"keyword.control.ref.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"constant.other.reference.label.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.arguments.begin.latex"},"7":{"name":"constant.other.reference.label.latex"},"8":{"name":"punctuation.definition.arguments.end.latex"}},"match":"((\\\\\\\\)\\\\w*[Rr]efrange\\\\*?)(?:\\\\[[^]]*])?(\\\\{)([!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+)(})(\\\\{)([!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+)(})"},{"begin":"((\\\\\\\\)bibentry)(\\\\{)","captures":{"1":{"name":"keyword.control.cite.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.citation.latex","patterns":[{"match":"[.:\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.citation.latex"}]}]},"sections-macro":{"begin":"((\\\\\\\\)((?:sub){0,2}section|(?:sub)?paragraph|chapter|part|addpart|addchap|addsec|minisec|frametitle)\\\\*?)((?:\\\\[[^\\\\[]*?]){0,2})(\\\\{)","beginCaptures":{"1":{"name":"support.function.section.latex"},"2":{"name":"punctuation.definition.function.latex"},"4":{"patterns":[{"include":"#optional-arg-bracket"}]},"5":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"entity.name.section.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.function.section.$3.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},"songs-chords":{"patterns":[{"begin":"\\\\\\\\\\\\[","end":"]","name":"meta.chord.block.latex support.class.chord.block.environment.latex","patterns":[{"include":"$self"}]},{"match":"\\\\^","name":"meta.chord.block.latex support.class.chord.block.environment.latex"},{"include":"$self"}]},"songs-env":{"patterns":[{"begin":"(\\\\s*\\\\\\\\begin\\\\{songs}\\\\{.*})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.data.environment.songs.latex","end":"(\\\\\\\\end\\\\{songs}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.songs.latex","patterns":[{"include":"text.tex.latex#songs-chords"}]},{"begin":"\\\\s*((\\\\\\\\)beginsong)(?=\\\\{)","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"punctuation.definition.arguments.end.latex"}},"end":"((\\\\\\\\)endsong)(?:\\\\s*\\\\n)?","name":"meta.function.environment.song.latex","patterns":[{"include":"#multiline-arg-no-highlight"},{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=[]}]))\\\\s*","contentName":"meta.data.environment.song.latex","end":"\\\\s*(?=\\\\\\\\endsong)","patterns":[{"include":"text.tex.latex#songs-chords"}]}]}]},"text-font-macro":{"patterns":[{"begin":"((\\\\\\\\)emph)(\\\\{)","beginCaptures":{"1":{"name":"support.function.emph.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.emph.begin.latex"}},"contentName":"markup.italic.emph.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.emph.end.latex"}},"name":"meta.function.emph.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)textit)(\\\\{)","captures":{"1":{"name":"support.function.textit.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.textit.begin.latex"}},"contentName":"markup.italic.textit.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.textit.end.latex"}},"name":"meta.function.textit.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)textbf)(\\\\{)","captures":{"1":{"name":"support.function.textbf.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.textbf.begin.latex"}},"contentName":"markup.bold.textbf.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.textbf.end.latex"}},"name":"meta.function.textbf.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)texttt)(\\\\{)","captures":{"1":{"name":"support.function.texttt.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.texttt.begin.latex"}},"contentName":"markup.raw.texttt.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.texttt.end.latex"}},"name":"meta.function.texttt.latex","patterns":[{"include":"#braces"},{"include":"$self"}]}]},"unbalanced-env":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\\\s*\\\\\\\\(?:begin|end)\\\\{(\\\\p{Alphabetic}+\\\\*?)})","name":"meta.function.environment.general.latex"}]},"verb-macro":{"patterns":[{"begin":"((\\\\\\\\)(?:[Vv]|spv)erb\\\\*?)\\\\s*((\\\\\\\\)scantokens)(\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"support.function.verb.latex"},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"punctuation.definition.begin.latex"}},"contentName":"markup.raw.verb.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.end.latex"}},"name":"meta.function.verb.latex","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.verb.latex"},"4":{"name":"markup.raw.verb.latex"},"5":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)(?:[Vv]|spv)erb\\\\*?)\\\\s*((?<=\\\\s)\\\\S|[^A-Za-z])(.*?)(\\\\3|$)","name":"meta.function.verb.latex"}]},"verbatim-env":{"patterns":[{"begin":"(\\\\s*\\\\\\\\begin\\\\{((?:fboxv|boxedv|[Vv]|spv)erbatim\\\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{\\\\2})","name":"meta.function.verbatim.latex"},{"begin":"(\\\\s*\\\\\\\\begin\\\\{VerbatimOut}\\\\{[^}]*})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{VerbatimOut})","name":"meta.function.verbatim.latex"},{"begin":"(\\\\s*\\\\\\\\begin\\\\{alltt})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{alltt})","name":"meta.function.alltt.latex","patterns":[{"captures":{"1":{"name":"punctuation.definition.function.latex"}},"match":"(\\\\\\\\)[A-Za-z]+","name":"support.function.general.latex"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{([Cc]omment)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"comment.line.percentage.latex","end":"(\\\\\\\\end\\\\{\\\\2})","name":"meta.function.verbatim.latex"}]}},"scopeName":"text.tex.latex","embeddedLangs":["tex"],"embeddedLangsLazy":["shellscript","css","gnuplot","haskell","html","java","julia","javascript","lua","python","ruby","rust","typescript","xml","yaml","scala"]}')),wV=[...Yw,_V]});var tx={};u1(tx,{default:()=>kV});var xV,kV,nx=n1(()=>{xV=Object.freeze(JSON.parse('{"displayName":"BibTeX","name":"bibtex","patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.bibtex"}},"match":"@(?i:comment)(?=[({\\\\s])","name":"comment.block.at-sign.bibtex"},{"include":"#preamble"},{"include":"#string"},{"include":"#entry"},{"begin":"[^\\\\n@]","end":"(?=@)","name":"comment.block.bibtex"}],"repository":{"entry":{"patterns":[{"begin":"((@)[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(\\\\{)\\\\s*([^,}\\\\s]*)","beginCaptures":{"1":{"name":"keyword.other.entry-type.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.entry.begin.bibtex"},"4":{"name":"entity.name.type.entry-key.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.entry.end.bibtex"}},"name":"meta.entry.braces.bibtex","patterns":[{"begin":"([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(=)","beginCaptures":{"1":{"name":"support.function.key.bibtex"},"2":{"name":"punctuation.separator.key-value.bibtex"}},"end":"(?=[,}])","name":"meta.key-assignment.bibtex","patterns":[{"include":"#field_value"}]}]},{"begin":"((@)[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(\\\\()\\\\s*([^,\\\\s]*)","beginCaptures":{"1":{"name":"keyword.other.entry-type.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.entry.begin.bibtex"},"4":{"name":"entity.name.type.entry-key.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.entry.end.bibtex"}},"name":"meta.entry.parenthesis.bibtex","patterns":[{"begin":"([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(=)","beginCaptures":{"1":{"name":"support.function.key.bibtex"},"2":{"name":"punctuation.separator.key-value.bibtex"}},"end":"(?=[),])","name":"meta.key-assignment.bibtex","patterns":[{"include":"#field_value"}]}]}]},"field_value":{"patterns":[{"include":"#string_content"},{"include":"#integer"},{"include":"#string_var"},{"match":"#","name":"keyword.operator.bibtex"}]},"integer":{"captures":{"1":{"name":"constant.numeric.bibtex"}},"match":"\\\\s*(\\\\d+)\\\\s*"},"nested_braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.group.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]},"preamble":{"patterns":[{"begin":"((@)(?i:preamble))\\\\s*(\\\\{)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preamble.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.preamble.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.preamble.end.bibtex"}},"name":"meta.preamble.braces.bibtex","patterns":[{"include":"#field_value"}]},{"begin":"((@)(?i:preamble))\\\\s*(\\\\()\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preamble.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.preamble.begin.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.preamble.end.bibtex"}},"name":"meta.preamble.parenthesis.bibtex","patterns":[{"include":"#field_value"}]}]},"string":{"patterns":[{"begin":"((@)(?i:string))\\\\s*(\\\\{)\\\\s*([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)","beginCaptures":{"1":{"name":"keyword.other.string-constant.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.string-constant.begin.bibtex"},"4":{"name":"variable.other.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.string-constant.end.bibtex"}},"name":"meta.string-constant.braces.bibtex","patterns":[{"include":"#field_value"}]},{"begin":"((@)(?i:string))\\\\s*(\\\\()\\\\s*([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)","beginCaptures":{"1":{"name":"keyword.other.string-constant.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.string-constant.begin.bibtex"},"4":{"name":"variable.other.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.string-constant.end.bibtex"}},"name":"meta.string-constant.parenthesis.bibtex","patterns":[{"include":"#field_value"}]}]},"string_content":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bibtex"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]}]},"string_var":{"captures":{"0":{"name":"support.variable.bibtex"}},"match":"[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*"}},"scopeName":"text.bibtex"}')),kV=[xV]});var ax={};u1(ax,{default:()=>CV});var zV,CV,ix=n1(()=>{zV=Object.freeze(JSON.parse('{"displayName":"AsciiDoc","fileTypes":["ad","asc","adoc","asciidoc","adoc.txt"],"name":"asciidoc","patterns":[{"include":"#comment"},{"include":"#callout-list-item"},{"include":"#titles"},{"include":"#attribute-entry"},{"include":"#blocks"},{"include":"#block-title"},{"include":"#tables"},{"include":"#horizontal-rule"},{"include":"#list"},{"include":"#inlines"},{"include":"#block-attribute"},{"include":"#line-break"}],"repository":{"admonition-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)([#%,.][^]]+)*]$))","end":"((?<=--|====)|^\\\\p{blank}*)$","name":"markup.admonition.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)([#%,.]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(={4,})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]}]},{"begin":"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\\\p{blank}+","captures":{"1":{"name":"entity.name.function.asciidoc"}},"end":"^\\\\p{blank}*$|(?=^/{2})","name":"markup.admonition.asciidoc","patterns":[{"include":"#inlines"}]}]},"anchor-macro":{"patterns":[{"captures":{"1":{"name":"support.constant.asciidoc"},"2":{"name":"markup.blockid.asciidoc"},"3":{"name":"string.unquoted.asciidoc"},"4":{"name":"support.constant.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[{2})([:_[:alpha:]][-.:[:word:]]*)(?:,\\\\p{blank}*(\\\\S.*?))?(]{2})","name":"markup.other.anchor.asciidoc"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.blockid.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(anchor):(\\\\S+)\\\\[(.*?[^\\\\\\\\])?]","name":"markup.other.anchor.asciidoc"}]},"attribute-entry":{"patterns":[{"begin":"^(:)(!?\\\\w.*?)(:)(\\\\p{blank}+.+\\\\p{blank}[+\\\\\\\\])$","beginCaptures":{"1":{"name":"punctuation.separator.attribute-entry.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"},"3":{"name":"punctuation.separator.attribute-entry.asciidoc"},"4":{"name":"string.unquoted.attribute-value.asciidoc","patterns":[{"include":"#inlines"},{"include":"#hard-break-backslash"},{"include":"#line-break"},{"include":"#line-break-backslash"}]}},"contentName":"string.unquoted.attribute-value.asciidoc","end":"^(?:\\\\p{blank}+.+$(?<![+\\\\\\\\])|\\\\p{blank}*$)","endCaptures":{"0":{"name":"string.unquoted.attribute-value.asciidoc"}},"name":"meta.definition.attribute-entry.asciidoc","patterns":[{"include":"#inlines"},{"include":"#hard-break-backslash"},{"include":"#line-break"},{"include":"#line-break-backslash"}]},{"captures":{"1":{"name":"punctuation.separator.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"},"3":{"name":"punctuation.separator.asciidoc"},"4":{"name":"string.unquoted.attribute-value.asciidoc","patterns":[{"include":"#inlines"},{"include":"#line-break"}]}},"match":"^(:)(!?\\\\w.*?)(:)(\\\\p{blank}+(.*))?$","name":"meta.definition.attribute-entry.asciidoc"}]},"attribute-reference":{"patterns":[{"captures":{"2":{"name":"entity.name.function.asciidoc"},"3":{"name":"punctuation.separator.asciidoc"},"4":{"name":"support.constant.attribute-name.asciidoc"},"6":{"name":"punctuation.separator.asciidoc"},"7":{"name":"string.unquoted.attribute-value.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\{)(set|counter2?)(:)([-!_[:alnum:]]+)((:)(.*?))?(?<!\\\\\\\\)(})","name":"markup.substitution.attribute-reference.asciidoc"},{"captures":{"1":{"name":"punctuation.definition.attribute-reference.begin.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"},"3":{"name":"punctuation.definition.attribute-reference.end.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\{)(\\\\w+(?:-\\\\w+)*)(?<!\\\\\\\\)(})","name":"markup.substitution.attribute-reference.asciidoc"}]},"bibliography-anchor":{"patterns":[{"captures":{"1":{"name":"support.constant.asciidoc"},"2":{"name":"markup.biblioref.asciidoc"},"3":{"name":"support.constant.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[{3})([:[:word:]][-.:[:word:]]*?)(]{3})","name":"bibliography-anchor.asciidoc"}]},"bibtex-macro":{"patterns":[{"begin":"(?<!\\\\\\\\)(citenp:)([,a-z]*)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.macro.inline.bibtex.asciidoc"}]},"block-attribute":{"patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(|\\\\p{blank}*[\\"#%\',.{[:word:]].*)]$","name":"markup.heading.block-attribute.asciidoc"}]},"block-attribute-inner":{"patterns":[{"match":"([#%,.])","name":"punctuation.separator.asciidoc"},{"captures":{"0":{"name":"markup.meta.attribute-list.asciidoc","patterns":[{"include":"#keywords"}]}},"match":"(?<=\\\\[)([^]#%,.=\\\\[]+)"},{"captures":{"0":{"patterns":[{"include":"#attribute-reference"}]}},"match":"(?<=[,{]|.|[\\"#%\'])((?:[^]#%,.]|](?=[\\\\t ]*\\\\S))+)","name":"markup.meta.attribute-list.asciidoc"}]},"block-callout":{"patterns":[{"captures":{"2":{"name":"constant.other.symbol.asciidoc"},"4":{"name":"constant.numeric.asciidoc"},"5":{"name":"constant.other.symbol.asciidoc"}},"match":"(?:(?://|#|--|;;) ?)?( )?(?<!\\\\\\\\)(<)!?(--|)(\\\\d+)\\\\3(>)(?=(?: ?<!?\\\\3\\\\d+\\\\3>)*$)","name":"callout.source.code.asciidoc"}]},"block-title":{"patterns":[{"begin":"^\\\\.([^.[:blank:]].*)","captures":{"1":{"name":"markup.heading.blocktitle.asciidoc"}},"end":"$"}]},"blocks":{"patterns":[{"include":"#front-matter-block"},{"include":"#comment-paragraph"},{"include":"#admonition-paragraph"},{"include":"#quote-paragraph"},{"include":"#listing-paragraph"},{"include":"#source-paragraphs"},{"include":"#passthrough-paragraph"},{"include":"#example-paragraph"},{"include":"#sidebar-paragraph"},{"include":"#literal-paragraph"},{"include":"#open-block"}]},"callout-list-item":{"patterns":[{"captures":{"1":{"name":"constant.other.symbol.asciidoc"},"2":{"name":"constant.numeric.asciidoc"},"3":{"name":"constant.other.symbol.asciidoc"},"4":{"patterns":[{"include":"#inlines"}]}},"match":"^(<)(\\\\d+)(>)\\\\p{blank}+(.*)$","name":"callout.asciidoc"}]},"characters":{"patterns":[{"captures":{"1":{"name":"constant.character.asciidoc"},"3":{"name":"constant.character.asciidoc"}},"match":"(?<!\\\\\\\\)(&)(\\\\S+?)(;)","name":"markup.character-reference.asciidoc"}]},"comment":{"patterns":[{"begin":"^(/{4,})$","end":"^\\\\1$","name":"comment.block.asciidoc","patterns":[{"include":"#inlines"}]},{"match":"^/{2}([^/].*)?$","name":"comment.inline.asciidoc"}]},"comment-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(comment)([#%,.][^]]+)*]$))","end":"((?<=--)|^\\\\p{blank}*)$","name":"comment.block.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(comment)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"include":"#inlines"}]}]},"emphasis":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.italic.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)(\\\\[[^]]+?])?((__)((?!_).+?)(__))","name":"markup.emphasis.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.italic.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?!_{4,}\\\\s*$)(?<=^|[^:;[:word:]])(\\\\[[^]]+?])?((_)(\\\\S(?:|.*?\\\\S))(_))(?!\\\\p{word})","name":"markup.emphasis.constrained.asciidoc"}]},"example-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(example)([#%,.][^]]+)*]$))","end":"((?<=--|====)|^\\\\p{blank}*)$","name":"markup.block.example.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(example)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(={4,})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"begin":"^(-{2})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"include":"#inlines"}]},{"begin":"^(={4,})$","end":"^(\\\\1)$","name":"markup.block.example.asciidoc","patterns":[{"include":"$self"}]}]},"footnote-macro":{"patterns":[{"begin":"(?<!\\\\\\\\)footnote(?:(ref):|:([-\\\\w]+)?)\\\\[(.*?[^\\\\\\\\])??","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.other.footnote.asciidoc","patterns":[{"include":"#inlines"}]}]},"front-matter-block":{"patterns":[{"begin":"\\\\A(-{3})$","end":"^(\\\\1)$","name":"markup.block.front-matter.asciidoc","patterns":[{"include":"source.yaml"}]}]},"general-block-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"4":{"name":"punctuation.separator.asciidoc"},"5":{"name":"string.unquoted.asciidoc","patterns":[{"include":"#attribute-reference"}]},"6":{"name":"punctuation.separator.asciidoc"}},"match":"^(\\\\p{word}+)(::)(\\\\S*?)(\\\\[)((?:\\\\\\\\]|[^]])*?)(])[\\\\t ]*$","name":"markup.macro.block.general.asciidoc"}]},"hard-break-backslash":{"patterns":[{"captures":{"1":{"name":"constant.other.symbol.hard-break.asciidoc"}},"match":"(?<=\\\\S)\\\\p{blank}+(\\\\+ \\\\\\\\)$"}]},"horizontal-rule":{"patterns":[{"match":"^(?:[\'<]{3,}| {0,3}([-\'*])( *)\\\\1\\\\2\\\\1)$","name":"constant.other.symbol.horizontal-rule.asciidoc"}]},"image-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.link.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(i(?:mage|con)):([^:\\\\[][^\\\\[]*)\\\\[((?:\\\\\\\\]|[^]])*?)]","name":"markup.macro.image.asciidoc"}]},"include-directive":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"4":{"name":"punctuation.separator.asciidoc"},"5":{"name":"string.unquoted.asciidoc","patterns":[{"include":"#attribute-reference"}]},"6":{"name":"punctuation.separator.asciidoc"}},"match":"^(include)(::)([^\\\\[]+)(\\\\[)(.*?)(])$"}]},"indexterm-concealed":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"2":{"patterns":[{"include":"#attribute-reference"}]},"3":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\(\\\\(\\\\()(.*?)(\\\\)\\\\)\\\\))","name":"markup.other.indexterm.concealed.asciidoc"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"4":{"patterns":[{"include":"#attribute-reference"}]},"5":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<!\\\\\\\\)(indexterm)(:)(\\\\[)((?:\\\\\\\\]|[^]])*?)(])","name":"markup.other.indexterm.concealed.asciidoc"}]},"indexterm-flow":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"2":{"name":"markup.other.indexterm.flow.asciidoc","patterns":[{"include":"#attribute-reference"}]},"3":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<![(\\\\\\\\])(\\\\(\\\\()([^(].*?)(\\\\)\\\\))"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"4":{"name":"markup.other.indexterm.flow.asciidoc","patterns":[{"include":"#attribute-reference"}]},"5":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<!\\\\\\\\)(indexterm2)(:)(\\\\[)((?:\\\\\\\\]|[^]])*?)(])"}]},"inlines":{"patterns":[{"include":"#typographic-quotes"},{"include":"#strong"},{"include":"#monospace"},{"include":"#emphasis"},{"include":"#superscript"},{"include":"#subscript"},{"include":"#mark"},{"include":"#general-block-macro"},{"include":"#anchor-macro"},{"include":"#footnote-macro"},{"include":"#indexterm-concealed"},{"include":"#indexterm-flow"},{"include":"#image-macro"},{"include":"#kbd-macro"},{"include":"#link-macro"},{"include":"#stem-macro"},{"include":"#menu-macro"},{"include":"#passthrough-macro"},{"include":"#xref-macro"},{"include":"#attribute-reference"},{"include":"#characters"},{"include":"#bibtex-macro"},{"include":"#bibliography-anchor"}]},"kbd-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(kbd|btn):(\\\\[)((?:\\\\\\\\]|[^]])+?)(])","name":"markup.macro.kbd.asciidoc"}]},"keywords":{"patterns":[{"match":"(NOTE|TIP|IMPORTANT|WARNING|CAUTION)","name":"entity.name.function.asciidoc"},{"match":"(comment|example|literal|listing|normal|pass|quote|sidebar|source|verse|abstract|partintro)","name":"entity.name.function.asciidoc"},{"match":"(actdiag|blockdiag|ditaa|graphviz|tikz|meme|mermaid|nwdiag|packetdiag|pikchr|plantuml|rackdiag|seqdiag|shaape|wavedrom)","name":"entity.name.function.asciidoc"},{"match":"(sect[1-4]|preface|colophon|dedication|glossary|bibliography|synopsis|appendix|index|normal|partintro|music|latex|stem)","name":"entity.name.function.asciidoc"}]},"line-break":{"patterns":[{"captures":{"1":{"name":"variable.line-break.asciidoc"}},"match":"(?<=\\\\S)\\\\p{blank}+(\\\\+)$"}]},"line-break-backslash":{"patterns":[{"captures":{"1":{"name":"variable.line-break.asciidoc"}},"match":"(?<=\\\\S)\\\\p{blank}+(\\\\\\\\)$"}]},"link-macro":{"patterns":[{"captures":{"1":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"2":{"name":"string.unquoted.asciidoc"}},"match":"(?:^|[]();<>\\\\[\\\\s])((?<!\\\\\\\\)(?:https?|file|ftp|irc)://[^]<\\\\[\\\\s]*[^]),.<\\\\[\\\\s])(?:\\\\[((?:\\\\\\\\]|[^]])*?)])?","name":"markup.other.url.asciidoc"},{"captures":{"1":{"name":"markup.substitution.attribute-reference.asciidoc"},"2":{"name":"string.unquoted.asciidoc"}},"match":"(?:^|[]();<>\\\\[[:blank:]])((?<!\\\\\\\\)\\\\{uri-\\\\w+(?:-\\\\w+)*(?<!\\\\\\\\)})\\\\[((?:\\\\\\\\]|[^]])*?)]","name":"markup.other.url.asciidoc"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(link|mailto):([^\\\\[\\\\s]+)\\\\[((?:\\\\\\\\]|[^]])*?)]","name":"markup.other.url.asciidoc"},{"match":"\\\\p{word}[-%+.[:word:]]*(@)\\\\p{alnum}[-.[:alnum:]]*(\\\\.)\\\\p{alpha}{2,4}\\\\b","name":"markup.link.email.asciidoc"}]},"list":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.list.begin.asciidoc punctuation.definition.list.begin.markdown"},"1":{"name":"punctuation.definition.metadata.asciidoc punctuation.definition.metadata.markdown"}},"match":"^\\\\s*(-)\\\\p{blank}(\\\\[[*x[:blank:]]])(?=\\\\p{blank})","name":"markup.list.todo.asciidoc"},{"captures":{"0":{"name":"punctuation.definition.list.begin.asciidoc punctuation.definition.list.begin.markdown"}},"match":"^\\\\p{blank}*(-|\\\\*{1,5}|\u2022{1,5})(?=\\\\p{blank})","name":"markup.list.unnumbered.asciidoc markup.list.unnumbered.markdown"},{"captures":{"0":{"name":"punctuation.definition.list.begin.asciidoc punctuation.definition.list.begin.markdown"}},"match":"^\\\\p{blank}*(\\\\.{1,5}|\\\\d+\\\\.|[A-Za-z]\\\\.|[IVXivx]+\\\\))(?=\\\\p{blank})","name":"markup.list.numbered.asciidoc markup.list.numbered.markdown"},{"captures":{"1":{"patterns":[{"include":"#link-macro"},{"include":"#attribute-reference"}]},"2":{"name":"markup.list.bullet.asciidoc"}},"match":"^\\\\p{blank}*(.*?\\\\S)(:{2,4}|;;)($|\\\\p{blank}+)","name":"markup.heading.list.asciidoc"}]},"listing-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(listing)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.block.listing.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(listing)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","end":"^(\\\\1)$"},{"begin":"^(\\\\.{4,})\\\\s*$","end":"^(\\\\1)$"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$"},{"include":"#inlines"}]}]},"literal-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(literal)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.block.literal.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(literal)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\.{4,})$","end":"^(\\\\1)$"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$"},{"include":"#inlines"}]},{"begin":"^(\\\\.{4,})$","end":"^(\\\\1)$","name":"markup.block.literal.asciidoc"}]},"mark":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.mark.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)(\\\\[[^]]+?])((##)(.+?)(##))","name":"markup.mark.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.highlight.asciidoc"},"2":{"name":"punctuation.definition.asciidoc"},"4":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)((##)(.+?)(##))","name":"markup.mark.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.mark.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![#:;\\\\\\\\[:word:]])(\\\\[[^]]+?])((#)(\\\\S(?:|.*?\\\\S))(#)(?!\\\\p{word}))","name":"markup.mark.constrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.highlight.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![#:;\\\\\\\\[:word:]])(\\\\[[^]]+?])?((#)(\\\\S(?:|.*?\\\\S))(#)(?!\\\\p{word}))","name":"markup.mark.constrained.asciidoc"}]},"menu-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.link.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(menu):(\\\\p{word}(?:|.*?\\\\S))\\\\[\\\\p{blank}*(.+?)?]","name":"markup.other.menu.asciidoc"}]},"monospace":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.inline.raw.monospace.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[.+?])?((``)(.+?)(``))","name":"markup.monospace.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.inline.raw.monospace.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![\\"\':;\\\\\\\\`[:word:]])(\\\\[.+?])?((`)(\\\\S(?:|.*?\\\\S))(`))(?![\\"\'`[:word:]])","name":"markup.monospace.constrained.asciidoc"}]},"open-block":{"patterns":[{"begin":"^(-{2})$","beginCaptures":{"1":{"name":"constant.other.symbol.asciidoc"}},"end":"^(\\\\1)$","endCaptures":{"1":{"name":"constant.other.symbol.asciidoc"}},"name":"markup.block.open.asciidoc","patterns":[{"include":"$self"}]}]},"passthrough-macro":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"support.constant.asciidoc"},"4":{"name":"string.unquoted.asciidoc","patterns":[{"include":"text.html.basic"}]},"5":{"name":"support.constant.asciidoc"}},"match":"(?:(?<!\\\\\\\\)(\\\\[([^]]+?)]))?\\\\\\\\{0,2}(?<delim>\\\\+{2,3}|\\\\${2})(.*?)(\\\\k<delim>)","name":"markup.macro.inline.passthrough.asciidoc"},{"begin":"(?<!\\\\\\\\)(pass:)([,a-z]*)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.macro.inline.passthrough.asciidoc","patterns":[{"include":"text.html.basic"}]}]},"passthrough-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(pass)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\+\\\\+)|^\\\\p{blank}*)$","name":"markup.block.passthrough.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(pass)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\+{4,})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"text.html.basic"}]},{"begin":"^(-{2})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"text.html.basic"}]}]},{"begin":"^(\\\\+{4,})$","end":"\\\\1","name":"markup.block.passthrough.asciidoc","patterns":[{"include":"text.html.basic"}]}]},"quote-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(quote|verse)([#%,.](?:[^],]|](?=[\\\\t ]*\\\\S))+)*]$))","end":"((?<=____|\\"\\"|--)|^\\\\p{blank}*)$","name":"markup.italic.quotes.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(quote|verse)([#%,.](?:[^],]|](?=[\\\\t ]*\\\\S))+)*]$"},{"include":"#block-title"},{"include":"#inlines"},{"begin":"^(_{4,})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(\\"{2})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(-{2})\\\\s*$","end":"(?<=\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(-{4,})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(\\\\.{4,})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]}]},{"begin":"^(\\"\\")$","end":"^\\\\1$","name":"markup.italic.quotes.asciidoc","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^\\\\p{blank}*(>) ","end":"^\\\\p{blank}*?$","name":"markup.italic.quotes.asciidoc","patterns":[{"include":"#inlines"},{"include":"#list"}]}]},"sidebar-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(sidebar)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\*\\\\*\\\\*\\\\*)|^\\\\p{blank}*)$","name":"markup.block.sidebar.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(sidebar)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\*{4,})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"begin":"^(-{2})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"include":"#inlines"}]},{"begin":"^(\\\\*{4,})$","end":"^(\\\\1)$","name":"markup.block.sidebar.asciidoc","patterns":[{"include":"$self"}]}]},"source-asciidoctor":{"patterns":[{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(css(?:|.erb)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.css.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(css(?:|.erb)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(html?|shtml|xhtml|inc|tmpl|tpl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.basic.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(html?|shtml|xhtml|inc|tmpl|tpl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ini|conf))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ini.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ini|conf))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(java|bsh))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.java.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(java|bsh))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(lua))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.lua.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(lua))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:[Mm]|GNUm|OCamlM)akefile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.makefile.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:[Mm]|GNUm|OCamlM)akefile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.perl.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([RSrs]|Rprofile|\\\\{\\\\.r.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.r.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([RSrs]|Rprofile|\\\\{\\\\.r.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?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))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ruby.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?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))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.php.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(sql|ddl|dml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.sql.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(sql|ddl|dml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(vb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.vs_net.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(vb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.xml.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xslt??))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.xsl.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xslt??))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ya?ml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.yaml.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ya?ml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bat(?:|ch)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.dosbatch.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bat(?:|ch)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(cl(?:js??|ojure)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.clojure.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(cl(?:js??|ojure)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(coffee|Cakefile|coffee.erb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.coffee.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(coffee|Cakefile|coffee.erb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([ch]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.c.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([ch]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:pp|\\\\+\\\\+|xx)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.cpp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:pp|\\\\+\\\\+|xx)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(patch|diff|rej))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.diff.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(patch|diff|rej))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([Dd]ockerfile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.dockerfile.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([Dd]ockerfile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:COMMIT_EDIT|MERGE_)MSG))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.git_commit.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:COMMIT_EDIT|MERGE_)MSG))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(git-rebase-todo))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.git_rebase.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(git-rebase-todo))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(go(?:|lang)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.go.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(go(?:|lang)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(g(?:roovy|vy)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.groovy.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(g(?:roovy|vy)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jade|pug))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.pug.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jade|pug))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\{\\\\.js.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.js.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\{\\\\.js.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(regexp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.js_regexp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(regexp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.json.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsonc))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.jsonc.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsonc))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(less))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.less.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(less))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.objc.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(swift))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.swift.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(swift))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(scss))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.scss.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(scss))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl6|p6|pl6|pm6|nqp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.perl6.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl6|p6|pl6|pm6|nqp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(p(?:owershell|s1|sm1|sd1|wsh)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.powershell.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(p(?:owershell|s1|sm1|sd1|wsh)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\{\\\\.python.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.python.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\{\\\\.python.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(julia|\\\\{\\\\.julia.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.julia.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(julia|\\\\{\\\\.julia.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(re))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.regexp_python.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(re))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(rust|rs|\\\\{\\\\.rust.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.rust.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(rust|rs|\\\\{\\\\.rust.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(s(?:cala|bt)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.scala.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(s(?:cala|bt)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\{\\\\.bash.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.shell.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\{\\\\.bash.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(t(?:ypescript|s)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ts.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(t(?:ypescript|s)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(tsx))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.tsx.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(tsx))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.csharp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(f(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.fsharp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(f(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(dart))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.dart.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(dart))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(h(?:andlebars|bs)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.handlebars.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(h(?:andlebars|bs)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(m(?:arkdown|d)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.markdown.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(m(?:arkdown|d)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(log))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.log.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(log))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(erlang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.erlang.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(erlang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(elixir))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.elixir.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(elixir))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:la|)tex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.latex.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:la|)tex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bibtex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.bibtex.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bibtex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(twig))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.twig.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(twig))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(yang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.yang.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(yang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(abap))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.abap.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(abap))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(r(?:estructuredtext|st)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.restructuredtext.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(r(?:estructuredtext|st)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(haskell))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.haskell.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(haskell))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(k(?:otlin|t)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.kotlin.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(k(?:otlin|t)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]}]},"source-markdown":{"patterns":[{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(css(?:|.erb))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.css.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(html?|shtml|xhtml|inc|tmpl|tpl)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.basic.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(ini|conf)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.ini.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(java|bsh)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.java.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(lua)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.lua.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:((?:[Mm]|GNUm|OCamlM)akefile)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.makefile.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.perl.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:([RSrs]|Rprofile|\\\\{\\\\.r.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.r.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{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+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.ruby.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.php.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(sql|ddl|dml)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.sql.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(vb)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.vs_net.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.xml.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(xslt??)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.xsl.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(ya?ml)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.yaml.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(bat(?:|ch))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.dosbatch.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(cl(?:js??|ojure))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.clojure.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(coffee|Cakefile|coffee.erb)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.coffee.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:([ch])((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.c.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(c(?:pp|\\\\+\\\\+|xx))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.cpp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(patch|diff|rej)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.diff.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:([Dd]ockerfile)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.dockerfile.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:((?:COMMIT_EDIT|MERGE_)MSG)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.git_commit.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(git-rebase-todo)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.git_rebase.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(go(?:|lang))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.go.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(g(?:roovy|vy))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.groovy.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(jade|pug)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.pug.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\{\\\\.js.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.js.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(regexp)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.js_regexp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.json.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(jsonc)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.jsonc.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(less)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.less.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm])((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.objc.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(swift)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.swift.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(scss)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.scss.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.perl6.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(p(?:owershell|s1|sm1|sd1|wsh))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.powershell.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\{\\\\.python.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.python.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(julia|\\\\{\\\\.julia.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.julia.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(re)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.regexp_python.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(rust|rs|\\\\{\\\\.rust.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.rust.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(s(?:cala|bt))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.scala.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\{\\\\.bash.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.shell.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(t(?:ypescript|s))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.ts.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(tsx)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.tsx.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(c(?:s|sharp|#))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.csharp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(f(?:s|sharp|#))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.fsharp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(dart)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.dart.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(h(?:andlebars|bs))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.handlebars.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(m(?:arkdown|d))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.markdown.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(log)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.log.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(erlang)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.erlang.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(elixir)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.elixir.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:((?:la|)tex)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.latex.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(bibtex)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.bibtex.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(twig)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.twig.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(yang)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.yang.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(abap)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.abap.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(r(?:estructuredtext|st))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.restructuredtext.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(haskell)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.haskell.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(k(?:otlin|t))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.kotlin.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]}]},"source-paragraphs":{"patterns":[{"include":"#source-asciidoctor"},{"include":"#source-markdown"}]},"stem-macro":{"patterns":[{"begin":"(?<!\\\\\\\\)(stem|(?:latex|ascii)math):([,a-z]*)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.macro.inline.stem.asciidoc"}]},"strong":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.bold.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)(\\\\[.+?])?((\\\\*\\\\*)(.+?)(\\\\*\\\\*))","name":"markup.strong.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.bold.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![*:;\\\\\\\\[:word:]])(\\\\[.+?])?((\\\\*)(\\\\S(?:|.*?\\\\S))(\\\\*)(?!\\\\p{word}))","name":"markup.strong.constrained.asciidoc"}]},"subscript":{"patterns":[{"captures":{"1":{"name":"markup.meta.sub.attribute-list.asciidoc"},"2":{"name":"markup.sub.subscript.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[.+?])?((~)(\\\\S+?)(~))","name":"markup.subscript.asciidoc"}]},"superscript":{"patterns":[{"captures":{"1":{"name":"markup.meta.super.attribute-list.asciidoc"},"2":{"name":"markup.super.superscript.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[.+?])?((\\\\^)(\\\\S+?)(\\\\^))","name":"markup.superscript.asciidoc"}]},"table-csv":{"patterns":[{"begin":"^(,===)$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"^(\\\\1)$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.csv.asciidoc","patterns":[{"include":"text.csv"},{"captures":{"0":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":","},{"include":"#general-block-macro"}]}]},"table-dsv":{"patterns":[{"begin":"^(:===)$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"^(\\\\1)$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.dsv.asciidoc","patterns":[{"captures":{"0":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":":"},{"include":"#general-block-macro"}]}]},"table-nested":{"patterns":[{"begin":"^(!===)$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"markup.table.content.asciidoc","end":"^(\\\\1)$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.nested.asciidoc","patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":"(^|[^\\\\\\\\[:blank:]]*)(?<!\\\\\\\\)(!)"},{"include":"#tables-includes"}]}]},"table-psv":{"patterns":[{"begin":"^(\\\\|===)\\\\s*$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"markup.table.content.asciidoc","end":"^(\\\\1)\\\\s*$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.asciidoc","patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":"(^|[^\\\\\\\\[:blank:]]*)(?<!\\\\\\\\)(\\\\|)"},{"include":"#tables-includes"}]}]},"tables":{"patterns":[{"include":"#table-psv"},{"include":"#table-nested"},{"include":"#table-csv"},{"include":"#table-dsv"}]},"tables-includes":{"patterns":[{"include":"#comment"},{"include":"#callout-list-item"},{"include":"#attribute-entry"},{"include":"#block-title"},{"include":"#explicit-paragraph"},{"include":"#section"},{"include":"#blocks"},{"include":"#list"},{"include":"#inlines"},{"include":"#line-break"}]},"titles":{"patterns":[{"begin":"^([#=]{6})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-5.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{5})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-4.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{4})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-3.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{3})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-2.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{2})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-1.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{1})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-0.asciidoc","patterns":[{"include":"$self"}]}]},"typographic-quotes":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?:^|(?<![:;[:word:]]))(\\\\[([^]]+?)])?(\\"`)(\\\\S(?:|.*?\\\\S))(`\\")(?!\\\\p{word})","name":"markup.italic.quote.typographic-quotes.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?:^|(?<![:;[:word:]]))(\\\\[([^]]+?)])?(\'`)(\\\\S(?:|.*?\\\\S))(`\')(?!\\\\p{word})","name":"markup.italic.quote.typographic-quotes.asciidoc"}]},"xref-macro":{"patterns":[{"captures":{"1":{"name":"constant.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"string.unquoted.asciidoc"},"4":{"name":"constant.asciidoc"}},"match":"(?<!\\\\\\\\)(<<)([\\"./:[:word:]]+,)?(.*?)(>>)","name":"markup.reference.xref.asciidoc"},{"begin":"(?<!\\\\\\\\)(xref:)([\\"./:[:word:]].*?)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.reference.xref.asciidoc"}]}},"scopeName":"text.asciidoc","embeddedLangs":[],"aliases":["adoc"],"embeddedLangsLazy":["html","yaml","csv","css","ini","java","lua","make","perl","r","ruby","php","sql","vb","xml","xsl","bat","clojure","coffee","c","cpp","diff","docker","git-commit","git-rebase","go","groovy","pug","javascript","json","jsonc","less","objective-c","swift","scss","raku","powershell","python","julia","regexp","rust","scala","shellscript","typescript","tsx","csharp","fsharp","dart","handlebars","markdown","log","erlang","elixir","latex","bibtex","abap","rst","haskell","kotlin"]}')),CV=[zV]});var rx={};u1(rx,{default:()=>MV});var AV,MV,sx=n1(()=>{d7();qa();ee();Oa();st();AV=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":"([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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+(?:[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*(\\\\.))?([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)(\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*})?|\\\\s*)(?=\\\\()"}]},"keyword":{"patterns":[{"match":"\\\\b(?<![.:_])(?:function|mutable\\\\s+struct|struct|macro|quote|abstract\\\\s+type|primitive\\\\s+type|typegroup|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":"@(\\\\.|[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"((?<![!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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)?|\u03C0|pi|\u212F)\\\\b)?|[0-9]+|Inf(?:16|32|64)?\\\\b|NaN(?:16|32|64)?\\\\b|\u03C0\\\\b|pi\\\\b|\u212F\\\\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":"\\\\.?(?:<-->|->|-->|<--|[\u2190\u2192\u2194\u219A-\u219E\u21A0\u21A2\u21A3\u21A4\u21A6\u21A9-\u21AC\u21AE\u21B6\u21B7\u21BA-\u21BD\u21C0\u21C1\u21C4\u21C6\u21C7\u21C9\u21CB-\u21D0\u21D2\u21D4\u21DA-\u21DD\u21E0\u21E2\u21F4\u21F6-\u21FF\u27F5\u27F6\u27F7\u27F9-\u27FF\u2900-\u2907\u290C-\u2911\u2914-\u2918\u291D-\u2920\u2944-\u2948\u294A\u294B\u294E\u2950\u2952\u2953\u2956\u2957\u295A\u295B\u295E\u295F\u2962\u2964\u2966-\u296D\u2970\u2977\u297A\u29F4\u2B30-\u2B44\u2B47-\u2B4C\uFFE9\uFFEB]|=>)","name":"keyword.operator.arrow.julia"},{"match":":=|\\\\+=|-=|\\\\*=|//=|/=|\\\\.//=|\\\\./=|\\\\.\\\\*=|\\\\\\\\=|\\\\.\\\\\\\\=|\\\\^=|\\\\.\\\\^=|%=|\\\\.%=|\xF7=|\\\\.\xF7=|\\\\|=|&=|\\\\.&=|\u22BB=|\\\\.\u22BB=|\\\\$=|<<=|>>=|>>>=|=(?!=)","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)?\\\\([^)]*\\\\)|[$_\u2207[:alpha:]][!.\u2032\u207A-\u209C[:word:]]*(?:\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*}|\\".+?(?<!\\\\\\\\)\\")?)(?:\\\\.\\\\.\\\\.)?(\\\\.?\'*)"},{"match":"(\\\\.?((?<!<)<=|(?<!>)>=|[<>\u2264\u2265]|===?|\u2261|!=|\u2260|!==|[\u2208-\u220D\u221D\u2225\u2226\u2237\u223A\u223B\u223D\u223E\u2241-\u224E\u2250-\u2253\u2256-\u225F\u2262\u2263\u2266-\u228B\u228F-\u2292\u229C\u22A2\u22A3\u22A9\u22AC\u22AE\u22B0-\u22B7\u22CD\u22D0\u22D1\u22D5-\u22ED\u22F2-\u22FF\u27C2\u27C8\u27C9\u27D2\u29B7\u29C0\u29C1\u29E1\u29E3\u29E4\u29E5\u2A66\u2A67\u2A6A-\u2A73\u2A75-\u2AD9\u2AEA\u2AEB\u2AF7-\u2AFA]|<:|>:))","name":"keyword.operator.relation.julia"},{"match":"(?<=\\\\s)\\\\?(?=\\\\s)","name":"keyword.operator.ternary.julia"},{"match":"(?<=\\\\s):(?=\\\\s)","name":"keyword.operator.ternary.julia"},{"match":"\\\\|\\\\||&&|(?<![!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]])!","name":"keyword.operator.boolean.julia"},{"match":"(?<=[]!)}\u2032\u207A-\u209C\u2207[:word:]]):","name":"keyword.operator.range.julia"},{"match":"\\\\|>","name":"keyword.operator.applies.julia"},{"match":"\\\\||\\\\.\\\\||&|\\\\.&|[~\xAC]|\\\\.~|\u22BB|\\\\.\u22BB","name":"keyword.operator.bitwise.julia"},{"match":"\\\\.?(?:\\\\+\\\\+|--|[-*+|\xA6\xB1\u2212\u2213\u2214\u2228\u222A\u2238\u224F\u228E\u2294\u2295\u2296\u229E\u229F\u22BB\u22BD\u22CE\u22D3\u27C7\u29FA\u29FB\u2A08\u2A22-\u2A2E\u2A39\u2A3A\u2A41\u2A42\u2A45\u2A4A\u2A4C\u2A4F\u2A50\u2A52\u2A54\u2A56\u2A57\u2A5B\u2A5D\u2A61\u2A62\u2A63]|//?|[%\\\\&\\\\\\\\^\xB1\xB7\xD7\xF7\u0387\u214B\u2191\u2193\u21F5\u2213\u2217-\u221C\u2224\u2227\u2229\u2240\u228D\u2293\u2297-\u229B\u22A0\u22A1\u22BC\u22C4-\u22C7\u22C9-\u22CC\u22CF\u22D2\u233F\u25B7\u27D1\u27D5\u27D6\u27D7\u27F0\u27F1\u2908-\u290B\u2912\u2913\u2949\u294C\u294D\u294F\u2951\u2954\u2955\u2958\u2959\u295C\u295D\u2960\u2961\u2963\u2965\u296E\u296F\u29B8\u29BC\u29BE\u29BF\u29F6\u29F7\u2A07\u2A1D\u2A1F\u2A30-\u2A38\u2A3B\u2A3C\u2A3D\u2A40\u2A43\u2A44\u2A4B\u2A4D\u2A4E\u2A51\u2A53\u2A55\u2A58\u2A5A\u2A5C\u2A5E\u2A5F\u2A60\u2ADB\uFFEA\uFFEC])","name":"keyword.operator.arithmetic.julia"},{"match":"\u2218","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}])|\\\\.\\\\.+|[\u2026\u205D\u22EE-\u22F1]","name":"keyword.operator.dots.julia"},{"match":"\\\\$(?=.+)","name":"keyword.operator.interpolation.julia"},{"captures":{"2":{"name":"keyword.operator.transposed-variable.julia"}},"match":"([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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_raw"}]},{"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_raw"}]},{"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":"(?<!\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(\\"\\"\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"(?<!\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(?<![^\\\\\\\\]\\\\\\\\)(\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"(?<!`)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)?```","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(```)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"(?<!`)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)?`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(?<![^\\\\\\\\]\\\\\\\\)(`)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"\\\\$[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}[^\u2190-\u21FF\\\\P{So}][^$\\\\P{Sc}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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"}]},"string_escaped_char_raw":{"patterns":[{"match":"(\\\\\\\\\\\\\\\\)*\\\\\\\\\\"","name":"constant.character.escape.julia"},{"match":"(\\\\\\\\\\\\\\\\)+(?=\\")","name":"constant.character.escape.julia"}]},"symbol":{"patterns":[{"match":"(?<![]!)}\u2032\u207A-\u209C\u2207[:word:]]):[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*(?![!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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+([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)(\\\\s*(<:)\\\\s*[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*(?:\\\\{.*})?)?","name":"meta.type.julia"}]}},"scopeName":"source.julia","embeddedLangs":["cpp","python","javascript","r","sql"],"aliases":["jl"]}')),MV=[...X4,...p7,...w0,...b7,..._3,AV]});var cx={};u1(cx,{default:()=>LV});var $V,LV,ox=n1(()=>{$V=Object.freeze(JSON.parse('{"displayName":"Dart","name":"dart","patterns":[{"match":"^(#!.*)$","name":"meta.preprocessor.script.dart"},{"begin":"^\\\\w*\\\\b(augment\\\\s+library|library|import\\\\s+augment|import|part\\\\s+of|part|export)\\\\b","beginCaptures":{"0":{"name":"keyword.other.import.dart"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.dart"}},"name":"meta.declaration.dart","patterns":[{"include":"#strings"},{"include":"#comments"},{"match":"\\\\b(as|show|hide)\\\\b","name":"keyword.other.import.dart"},{"match":"\\\\b(if)\\\\b","name":"keyword.control.dart"}]},{"include":"#comments"},{"include":"#punctuation"},{"include":"#annotations"},{"include":"#keywords"},{"include":"#constants-and-special-vars"},{"include":"#class-identifier-with-optional-factory-method"},{"include":"#function-identifier"},{"include":"#operators"},{"include":"#strings"}],"repository":{"annotations":{"patterns":[{"match":"@[A-Za-z]+","name":"storage.type.annotation.dart"}]},"class-identifier":{"patterns":[{"match":"(?<!\\\\$)\\\\b(bool|num|int|double|dynamic)\\\\b(?!\\\\$)","name":"support.class.dart"},{"match":"(?<!\\\\$)\\\\bvoid\\\\b(?!\\\\$)","name":"storage.type.primitive.dart"},{"begin":"(?<![$0-9A-Z_a-z])([$_]*[A-Z][$0-9A-Z_a-z]*)\\\\b","beginCaptures":{"1":{"name":"support.class.dart"}},"end":"(?!<)","patterns":[{"include":"#type-args"}]}]},"class-identifier-with-optional-factory-method":{"patterns":[{"captures":{"1":{"name":"support.class.dart"},"2":{"name":"entity.name.function.dart"}},"match":"(?<!\\\\$)\\\\b(bool|num|int|double|dynamic)\\\\b(?!\\\\$)\\\\s*(factory\\\\b)?"},{"captures":{"1":{"name":"storage.type.primitive.dart"},"2":{"name":"entity.name.function.dart"}},"match":"(?<!\\\\$)\\\\b(void)\\\\b(?!\\\\$)\\\\s*(factory\\\\b)?"},{"begin":"(?<![$0-9A-Z_a-z])([$_]*[A-Z][$0-9A-Z_a-z]*)\\\\b\\\\s*(factory\\\\b)?","beginCaptures":{"1":{"name":"support.class.dart"},"2":{"name":"entity.name.function.dart"}},"end":"(?!<)","patterns":[{"include":"#type-args"}]}]},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.dart"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.dart"},{"include":"#comments-doc-oldschool"},{"include":"#comments-doc"},{"include":"#comments-inline"}]},"comments-block":{"patterns":[{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.dart","patterns":[{"include":"#comments-block"}]}]},"comments-doc":{"patterns":[{"begin":"///","end":"^(?!\\\\s*///)","name":"comment.block.documentation.dart","patterns":[{"include":"#dartdoc"}]}]},"comments-doc-oldschool":{"patterns":[{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.documentation.dart","patterns":[{"include":"#comments-doc-oldschool"},{"include":"#comments-block"},{"include":"#dartdoc"}]}]},"comments-inline":{"patterns":[{"include":"#comments-block"},{"captures":{"1":{"name":"comment.line.double-slash.dart"}},"match":"((//).*)$"}]},"constants-and-special-vars":{"patterns":[{"match":"(?<!\\\\$)\\\\b(true|false|null)\\\\b(?!\\\\$)","name":"constant.language.dart"},{"match":"(?<!\\\\$)\\\\b(this|super|augmented)\\\\b(?!\\\\$)","name":"variable.language.dart"},{"match":"(?<!\\\\$)\\\\b((0([Xx])\\\\h[_\\\\h]*)|(([0-9][0-9_]*\\\\.?[0-9_]*)|(\\\\.[0-9][0-9_]*))(([Ee])([-+])?[0-9][0-9_]*)?)\\\\b(?!\\\\$)","name":"constant.numeric.dart"}]},"dartdoc":{"patterns":[{"captures":{"0":{"name":"variable.name.source.dart"}},"match":"(\\\\[.*?])"},{"begin":"^\\\\s*///\\\\s*(```)","end":"^(?:\\\\s*///\\\\s*(```)|(?!\\\\s*///))","patterns":[{"include":"#dartdoc-codeblock-triple"}]},{"begin":"^\\\\s*\\\\*\\\\s*(```)","end":"^(?:\\\\s*\\\\*\\\\s*(```)|(?=\\\\s*\\\\*/))","patterns":[{"include":"#dartdoc-codeblock-block"}]},{"match":"`[^\\\\n`]+`","name":"variable.other.source.dart"},{"captures":{"1":{"name":"variable.other.source.dart"}},"match":"(?:\\\\*|//)\\\\s{4,}(.*?)(?=($|\\\\*/))"}]},"dartdoc-codeblock-block":{"begin":"^\\\\s*\\\\*\\\\s*(?!(\\\\s*```|/))","contentName":"variable.other.source.dart","end":"$"},"dartdoc-codeblock-triple":{"begin":"^\\\\s*///\\\\s*(?!\\\\s*```)","contentName":"variable.other.source.dart","end":"$"},"expression":{"patterns":[{"include":"#constants-and-special-vars"},{"include":"#class-identifier-with-optional-factory-method"},{"include":"#function-identifier"},{"include":"#strings"},{"match":"[0-9A-Z_a-z]+","name":"variable.parameter.dart"},{"begin":"\\\\{","end":"}","patterns":[{"include":"#expression"}]}]},"function-identifier":{"patterns":[{"captures":{"1":{"name":"entity.name.function.dart"},"2":{"patterns":[{"include":"#type-args"}]}},"match":"([$_]*[a-z][$0-9A-Z_a-z]*)(<(?:[$0-9<>?A-Z_a-z]|,\\\\s*|\\\\s+extends\\\\s+)+>)?[!?]?\\\\("},{"match":"(?<=\\\\.)new\\\\b","name":"entity.name.function.dart"}]},"keywords":{"patterns":[{"match":"(?<!\\\\$)\\\\bas\\\\b(?!\\\\$)","name":"keyword.cast.dart"},{"match":"(?<!\\\\$)\\\\b(try|on|catch|finally|throw|rethrow)\\\\b(?!\\\\$)","name":"keyword.control.catch-exception.dart"},{"match":"(?<!\\\\$)\\\\b(break|case|continue|default|do|else|for|if|in|switch|while|when)\\\\b(?!\\\\$)","name":"keyword.control.dart"},{"match":"(?<!\\\\$)\\\\b(sync(\\\\*)?|async(\\\\*)?|await|yield(\\\\*)?)\\\\b(?!\\\\$)","name":"keyword.control.dart"},{"match":"(?<!\\\\$)\\\\bassert\\\\b(?!\\\\$)","name":"keyword.control.dart"},{"match":"(?<![$.])\\\\b(new)\\\\b(?!\\\\$)","name":"keyword.new.dart"},{"match":"(?<!\\\\$)\\\\b(return)\\\\b(?!\\\\$)","name":"keyword.control.return.dart"},{"match":"(?<!\\\\$)\\\\b(abstract|sealed|base|interface|class|enum|extends|extension\\\\s+type|extension|external|factory|implements|get(?![(<])|mixin|native|operator|set(?![(<])|typedef|with|covariant)\\\\b(?!\\\\$)","name":"keyword.declaration.dart"},{"match":"(?<!\\\\$)\\\\b(macro|augment|static|final|const|required|late)\\\\b(?!\\\\$)","name":"storage.modifier.dart"},{"match":"(?<!\\\\$)\\\\bvar\\\\b(?!\\\\$)","name":"storage.type.primitive.dart"}]},"operators":{"patterns":[{"match":"(?<!\\\\$)\\\\b(is!?)\\\\b(?!\\\\$)","name":"keyword.operator.dart"},{"match":"[:?]","name":"keyword.operator.ternary.dart"},{"match":"(<<|>>>?|[\\\\&^|~])","name":"keyword.operator.bitwise.dart"},{"match":"(([\\\\&^|]|<<|>>>?)=)","name":"keyword.operator.assignment.bitwise.dart"},{"match":"(=>)","name":"keyword.operator.closure.dart"},{"match":"(==|!=|<=?|>=?)","name":"keyword.operator.comparison.dart"},{"match":"(([-%*+/~])=)","name":"keyword.operator.assignment.arithmetic.dart"},{"match":"(=)","name":"keyword.operator.assignment.dart"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.dart"},{"match":"([-*+/]|~/|%)","name":"keyword.operator.arithmetic.dart"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.dart"}]},"punctuation":{"patterns":[{"match":",","name":"punctuation.comma.dart"},{"match":";","name":"punctuation.terminator.dart"},{"match":"\\\\.","name":"punctuation.dot.dart"}]},"string-interp":{"patterns":[{"captures":{"1":{"name":"variable.parameter.dart"}},"match":"\\\\$([0-9A-Z_a-z]+)","name":"meta.embedded.expression.dart"},{"begin":"\\\\$\\\\{","end":"}","name":"meta.embedded.expression.dart","patterns":[{"include":"#expression"}]},{"match":"\\\\\\\\.","name":"constant.character.escape.dart"}]},"strings":{"patterns":[{"begin":"(?<!r)\\"\\"\\"","end":"\\"\\"\\"(?!\\")","name":"string.interpolated.triple.double.dart","patterns":[{"include":"#string-interp"}]},{"begin":"(?<!r)\'\'\'","end":"\'\'\'(?!\')","name":"string.interpolated.triple.single.dart","patterns":[{"include":"#string-interp"}]},{"begin":"r\\"\\"\\"","end":"\\"\\"\\"(?!\\")","name":"string.quoted.triple.double.dart"},{"begin":"r\'\'\'","end":"\'\'\'(?!\')","name":"string.quoted.triple.single.dart"},{"begin":"(?<!\\\\|r)\\"","end":"\\"","name":"string.interpolated.double.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"},{"include":"#string-interp"}]},{"begin":"r\\"","end":"\\"","name":"string.quoted.double.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"}]},{"begin":"(?<!\\\\|r)\'","end":"\'","name":"string.interpolated.single.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"},{"include":"#string-interp"}]},{"begin":"r\'","end":"\'","name":"string.quoted.single.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"}]}]},"type-args":{"begin":"(<)","beginCaptures":{"1":{"name":"other.source.dart"}},"end":"(>)","endCaptures":{"1":{"name":"other.source.dart"}},"patterns":[{"include":"#class-identifier"},{"match":","},{"match":"extends","name":"keyword.declaration.dart"},{"include":"#comments"}]}},"scopeName":"source.dart"}')),LV=[$V]});var lx={};u1(lx,{default:()=>ZV});var SV,ZV,px=n1(()=>{SV=Object.freeze(JSON.parse('{"displayName":"Scala","fileTypes":["scala"],"firstLineMatch":"^#!/.*\\\\b\\\\w*scala\\\\b","foldingStartMarker":"/\\\\*\\\\*|\\\\{\\\\s*$","foldingStopMarker":"\\\\*\\\\*/|^\\\\s*}","name":"scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.scala"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.scala"},{"begin":"^\\\\s*(/\\\\*\\\\*)(?!/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}},"name":"comment.block.documentation.scala","patterns":[{"captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}},"match":"(@param)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}},"match":"(@t(?:param|hrows))\\\\s+(\\\\S+)"},{"match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc|groupname|groupprio|groupdesc|group|contentDiagram|documentable|syntax)\\\\b","name":"keyword.other.documentation.scaladoc.scala"},{"captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}},"match":"(\\\\[\\\\[)([^]]+)(]])"},{"include":"#block-comments"}]},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.scala"}},"end":"\\\\*/","name":"comment.block.scala","patterns":[{"include":"#block-comments"}]}]},"char-literal":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.character.begin.scala"},"2":{"name":"punctuation.definition.character.end.scala"}},"match":"(\')\'(\')","name":"string.quoted.other constant.character.literal.scala"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"end":"\'|$","endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}},"name":"string.quoted.other constant.character.literal.scala","patterns":[{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-character-escape.scala"},{"match":"[^\']{2,}","name":"invalid.illegal.character-literal-too-long"},{"match":"(?<!\')[^\']","name":"invalid.illegal.character-literal-too-long"}]}]},"code":{"patterns":[{"include":"#using-directive"},{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#namedBounds"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted-or-symbol"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}},"end":"\\\\n","name":"comment.line.double-slash.scala"}]}]},"constants":{"patterns":[{"match":"\\\\b(false|null|true)\\\\b","name":"constant.language.scala"},{"match":"\\\\b(0[Xx][_\\\\h]*)\\\\b","name":"constant.numeric.scala"},{"match":"\\\\b(([0-9][0-9_]*(\\\\.[0-9][0-9_]*)?)([Ee]([-+])?[0-9][0-9_]*)?|[0-9][0-9_]*)[DFLdfl]?\\\\b","name":"constant.numeric.scala"},{"match":"(\\\\.[0-9][0-9_]*)([Ee]([-+])?[0-9][0-9_]*)?[DFLdfl]?\\\\b","name":"constant.numeric.scala"},{"match":"\\\\b0[Bb][01]([01_]*[01])?[Ll]?\\\\b","name":"constant.numeric.scala"},{"match":"\\\\b(this|super)\\\\b","name":"variable.language.scala"}]},"curly-braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}},"patterns":[{"include":"#code"}]},"declarations":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}},"match":"\\\\b(def)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}},"match":"\\\\b(trait)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}},"match":"\\\\b(?:(case)\\\\s+)?(class|object|enum)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}},"match":"(?<!\\\\.)\\\\b(type)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}},"match":"\\\\b(?:(val)|(var))\\\\b\\\\s*(?!/[*/])(?=(?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?\\\\()"},{"captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"variable.stable.declaration.scala"}},"match":"\\\\b(val)\\\\b\\\\s*(?!/[*/])((?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)(?:\\\\s*,\\\\s*(?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`))*)?(?!\\")"},{"captures":{"1":{"name":"keyword.declaration.volatile.scala"},"2":{"name":"variable.volatile.declaration.scala"}},"match":"\\\\b(var)\\\\b\\\\s*(?!/[*/])((?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)(?:\\\\s*,\\\\s*(?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`))*)?(?!\\")"},{"captures":{"1":{"name":"keyword.other.package.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}},"match":"\\\\b(package)\\\\s+(object)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"begin":"\\\\b(package)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.package.scala"}},"end":"(?<=[\\\\n;])","name":"meta.package.scala","patterns":[{"include":"#comments"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))","name":"entity.name.package.scala"},{"match":"\\\\.","name":"punctuation.definition.package"}]},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}},"match":"\\\\b(given)\\\\b\\\\s*([$_a-z\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|`[^`]+`)?"}]},"empty-parentheses":{"captures":{"1":{"name":"meta.bracket.scala"}},"match":"(\\\\(\\\\))","name":"meta.parentheses.scala"},"exports":{"begin":"\\\\b(export)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.export.scala"}},"end":"(?<=[\\\\n;])","name":"meta.export.scala","patterns":[{"include":"#comments"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.export.given.scala"},{"match":"[A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?","name":"entity.name.class.export.scala"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))","name":"entity.name.export.scala"},{"match":"\\\\.","name":"punctuation.definition.export"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"meta.bracket.scala"}},"end":"}","endCaptures":{"0":{"name":"meta.bracket.scala"}},"name":"meta.export.selector.scala","patterns":[{"captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.renamed-from.scala"},"3":{"name":"entity.name.export.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.export.renamed-to.scala"},"6":{"name":"entity.name.export.renamed-to.scala"}},"match":"(given\\\\s)?\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*(=>)\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.export.given.scala"},{"captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.scala"},"3":{"name":"entity.name.export.scala"}},"match":"(given\\\\s+)?(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))"}]}]},"extension":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"^\\\\s*(extension)\\\\s+(?=[(\\\\[])"}]},"imports":{"begin":"\\\\b(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.import.scala"}},"end":"(?<=[\\\\n;])","name":"meta.import.scala","patterns":[{"include":"#comments"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.import.given.scala"},{"match":"\\\\s(as)\\\\s","name":"keyword.other.import.as.scala"},{"match":"[A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?","name":"entity.name.class.import.scala"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))","name":"entity.name.import.scala"},{"match":"\\\\.","name":"punctuation.definition.import"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"meta.bracket.scala"}},"end":"}","endCaptures":{"0":{"name":"meta.bracket.scala"}},"name":"meta.import.selector.scala","patterns":[{"captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}},"match":"(given\\\\s)?\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*(=>)\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.import.given.scala"},{"captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}},"match":"(given\\\\s+)?(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))"}]}]},"inheritance":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class"}},"match":"\\\\b(extends|with|derives)\\\\b\\\\s*([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|`[^`]+`|(?=\\\\([^)]+=>)|(?=[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|(?=\\"))?"}]},"initialization":{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"\\\\b(new)\\\\b"},"inline":{"patterns":[{"match":"\\\\b(inline)(?=\\\\s+((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)\\\\s*:)","name":"storage.modifier.other"},{"match":"\\\\b(inline)\\\\b(?=(?:.(?!\\\\b(?:val|def|given)\\\\b))*\\\\b(if|match)\\\\b)","name":"keyword.control.flow.scala"}]},"keywords":{"patterns":[{"match":"\\\\b(return|throw)\\\\b","name":"keyword.control.flow.jump.scala"},{"match":"\\\\b((?:class|isInstance|asInstance)Of)\\\\b","name":"support.function.type-of.scala"},{"match":"\\\\b(else|if|then|do|while|for|yield|match|case)\\\\b","name":"keyword.control.flow.scala"},{"match":"^\\\\s*(end)\\\\s+(if|while|for|match)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.control.flow.end.scala"},{"match":"^\\\\s*(end)\\\\s+(val)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.declaration.stable.end.scala"},{"match":"^\\\\s*(end)\\\\s+(var)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.declaration.volatile.end.scala"},{"captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}},"match":"^\\\\s*(end)\\\\s+(?:(new|extension)|([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?))(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)"},{"match":"\\\\b(catch|finally|try)\\\\b","name":"keyword.control.exception.scala"},{"match":"^\\\\s*(end)\\\\s+(try)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.control.exception.end.scala"},{"captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}},"match":"^\\\\s*(end)\\\\s+(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))?(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)"},{"match":"([-!#%\\\\&*+/:<-@\\\\\\\\^|~\\\\p{Sm}\\\\p{So}]){3,}","name":"keyword.operator.scala"},{"captures":{"1":{"patterns":[{"match":"(\\\\|\\\\||&&)","name":"keyword.operator.logical.scala"},{"match":"([!<=>]=)","name":"keyword.operator.comparison.scala"},{"match":"..","name":"keyword.operator.scala"}]}},"match":"([-!#%\\\\&*+/:<-@\\\\\\\\^|~\\\\p{Sm}\\\\p{So}]{2,}|_\\\\*)"},{"captures":{"1":{"patterns":[{"match":"(!)","name":"keyword.operator.logical.scala"},{"match":"([-%*+/~])","name":"keyword.operator.arithmetic.scala"},{"match":"([<=>])","name":"keyword.operator.comparison.scala"},{"match":".","name":"keyword.operator.scala"}]}},"match":"(?<!_)([-!#%\\\\&*+/:<-@\\\\\\\\^|~\\\\p{Sm}\\\\p{So}])"}]},"meta-bounds":{"match":"<%|=:=|<:<|<%<|>:|<:","name":"meta.bounds.scala"},"meta-brackets":{"patterns":[{"match":"\\\\{","name":"punctuation.section.block.begin.scala"},{"match":"}","name":"punctuation.section.block.end.scala"},{"match":"[]()\\\\[{}]","name":"meta.bracket.scala"}]},"meta-colons":{"patterns":[{"match":"(?<!:):(?!:)","name":"meta.colon.scala"}]},"namedBounds":{"patterns":[{"captures":{"1":{"name":"keyword.other.import.as.scala"},"2":{"name":"variable.stable.declaration.scala"}},"match":"\\\\s+(as)\\\\s+([$_a-z\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)\\\\b"}]},"parameter-list":{"patterns":[{"captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}},"match":"(?<=[^$.0-9A-Z_a-z])(`[^`]+`|[$_a-z\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)\\\\s*(:)\\\\s+"}]},"qualifiedClassName":{"captures":{"1":{"name":"entity.name.class"}},"match":"\\\\b(([A-Z]\\\\w*)(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)"},"scala-quoted-or-symbol":{"patterns":[{"captures":{"1":{"name":"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{"name":"constant.other.symbol.scala"}},"match":"(\')((?>[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))(?!\')"},{"match":"\'(?=\\\\s*\\\\{(?!\'))","name":"keyword.control.flow.staging.scala"},{"match":"\'(?=\\\\s*\\\\[(?!\'))","name":"keyword.control.flow.staging.scala"},{"match":"\\\\$(?=\\\\s*\\\\{)","name":"keyword.control.flow.staging.scala"}]},"script-header":{"captures":{"1":{"name":"string.unquoted.shebang.scala"}},"match":"^#!(.*)$","name":"comment.block.shebang.scala"},"singleton-type":{"captures":{"1":{"name":"keyword.type.scala"}},"match":"\\\\.(type)(?![$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[0-9])"},"storage-modifiers":{"patterns":[{"match":"\\\\b(pr(?:ivate\\\\[\\\\S+]|otected\\\\[\\\\S+]|ivate|otected))\\\\b","name":"storage.modifier.access"},{"match":"\\\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\\\b","name":"storage.modifier.other"},{"match":"(?<=^|\\\\s)\\\\b(transparent|opaque|infix|open|inline|into)\\\\b(?=[a-z\\\\s]*\\\\b(def|val|var|given|type|class|trait|object|enum)\\\\b)","name":"storage.modifier.other"}]},"string-interpolation":{"patterns":[{"match":"\\\\$\\\\$","name":"constant.character.escape.interpolation.scala"},{"captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}},"match":"(\\\\$)([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*)","name":"meta.template.expression.scala"},{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"contentName":"meta.embedded.line.scala","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}},"name":"meta.template.expression.scala","patterns":[{"include":"#code"}]}]},"strings":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"end":"\\"\\"\\"(?!\\")","endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}},"name":"string.quoted.triple.scala","patterns":[{"match":"\\\\\\\\(?:\\\\\\\\|u\\\\h{4})","name":"constant.character.escape.scala"}]},{"begin":"\\\\b(raw)(\\"\\"\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\"\\"\\")(?!\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":".","name":"string.quoted.triple.interpolated.scala"}]},{"begin":"\\\\b([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)(\\"\\"\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\"\\"\\")(?!\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"include":"#string-interpolation"},{"match":"\\\\\\\\(?:\\\\\\\\|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":".","name":"string.quoted.triple.interpolated.scala"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}},"name":"string.quoted.double.scala","patterns":[{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.scala"}]},{"begin":"\\\\b(raw)(\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":".","name":"string.quoted.double.interpolated.scala"}]},{"begin":"\\\\b([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)(\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.scala"},{"match":".","name":"string.quoted.double.interpolated.scala"}]}]},"using":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"(?<=\\\\()\\\\s*(using)\\\\s"}]},"using-directive":{"begin":"^\\\\s*(//>)\\\\s*(using)[^\\\\n\\\\S]+(\\\\S+)?","beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"},"3":{"patterns":[{"match":"[A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)","name":"entity.name.import.scala"},{"match":"\\\\.","name":"punctuation.definition.import"}]}},"end":"\\\\n","name":"comment.line.shebang.scala","patterns":[{"include":"#constants"},{"include":"#strings"},{"match":"[^,\\\\s]+","name":"string.quoted.double.scala"}]},"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":"#xml-entity"}]},"xml-embedded-content":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"meta.bracket.scala"}},"end":"}","name":"meta.source.embedded.scala","patterns":[{"include":"#code"}]},{"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":" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Z_a-z]+)="},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-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"},"xml-literal":{"patterns":[{"begin":"(<)((?:([0-9A-Z_a-z][0-9A-Z_a-z]*)((:)))?([0-9A-Z_a-z][-0-:A-Z_a-z]*))(?=(\\\\s[^>]*)?></\\\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"end":"(>(<))/(?:([-0-9A-Z_a-z]+)((:)))?([-0-:A-Z_a-z]*[0-9A-Z_a-z])(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.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":"#xml-embedded-content"}]},{"begin":"(</?)(?:([0-9A-Z_a-z][-0-9A-Z_a-z]*)((:)))?([0-9A-Z_a-z][-0-:A-Z_a-z]*)(?=[^>]*?>)","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":"#xml-embedded-content"}]},{"include":"#xml-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":"#xml-entity"}]}},"scopeName":"source.scala"}')),ZV=[SV]});var ux={};u1(ux,{default:()=>FV});var EV,FV,mx=n1(()=>{EV=Object.freeze(JSON.parse('{"displayName":"Clojure","name":"clojure","patterns":[{"include":"#comment"},{"include":"#shebang-comment"},{"include":"#quoted-sexp"},{"include":"#sexp"},{"include":"#keyfn"},{"include":"#string"},{"include":"#vector"},{"include":"#set"},{"include":"#map"},{"include":"#regexp"},{"include":"#var"},{"include":"#constants"},{"include":"#dynamic-variables"},{"include":"#metadata"},{"include":"#namespace-symbol"},{"include":"#symbol"}],"repository":{"comment":{"begin":"(?<!\\\\\\\\);","beginCaptures":{"0":{"name":"punctuation.definition.comment.clojure"}},"end":"$","name":"comment.line.semicolon.clojure"},"constants":{"patterns":[{"match":"(nil)(?=([])}\\\\s]))","name":"constant.language.nil.clojure"},{"match":"(true|false)","name":"constant.language.boolean.clojure"},{"match":"(##(?:Inf|-Inf|NaN))","name":"constant.numeric.symbol.clojure"},{"match":"([-+]?\\\\d+/\\\\d+)","name":"constant.numeric.ratio.clojure"},{"match":"([-+]?(?:3[0-6]|[12]\\\\d|[2-9])[Rr][0-9A-Za-z]+N?)","name":"constant.numeric.arbitrary-radix.clojure"},{"match":"([-+]?0[Xx]\\\\h+N?)","name":"constant.numeric.hexadecimal.clojure"},{"match":"([-+]?0[0-7]+N?)","name":"constant.numeric.octal.clojure"},{"match":"([-+]?[0-9]+(\\\\.|(?=[EMe]))[0-9]*([Ee][-+]?[0-9]+)?M?)","name":"constant.numeric.double.clojure"},{"match":"([-+]?\\\\d+N?)","name":"constant.numeric.long.clojure"},{"include":"#keyword"}]},"dynamic-variables":{"match":"\\\\*[-!+.:<-?_\\\\w\\\\d]+\\\\*","name":"meta.symbol.dynamic.clojure"},"keyfn":{"patterns":[{"match":"(?<=([(\\\\[{\\\\s]))(if(-[-?\\\\p{Ll}]*)?|when(-[-\\\\p{Ll}]*)?|for(-[-\\\\p{Ll}]*)?|cond|do|let(-[-?\\\\p{Ll}]*)?|binding|loop|recur|fn|throw[-\\\\p{Ll}]*|try|catch|finally|(\\\\p{Ll}*case))(?=([])}\\\\s]))","name":"storage.control.clojure"},{"match":"(?<=([(\\\\[{\\\\s]))(declare-?|(in-)?ns|import|use|require|load|compile|(def[-\\\\p{Ll}]*))(?=([])}\\\\s]))","name":"keyword.control.clojure"}]},"keyword":{"match":"(?<=([(\\\\[{\\\\s])):[-!#*+./:<-?_\\\\w]+(?=([]),}\\\\s]))","name":"constant.keyword.clojure"},"map":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.map.begin.clojure"}},"end":"(}(?=[])}\\\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.map.end.trailing.clojure"},"2":{"name":"punctuation.section.map.end.clojure"}},"name":"meta.map.clojure","patterns":[{"include":"$self"}]},"metadata":{"patterns":[{"begin":"(\\\\^\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.metadata.map.begin.clojure"}},"end":"(}(?=[])}\\\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.metadata.map.end.trailing.clojure"},"2":{"name":"punctuation.section.metadata.map.end.clojure"}},"name":"meta.metadata.map.clojure","patterns":[{"include":"$self"}]},{"begin":"(\\\\^)","end":"(\\\\s)","name":"meta.metadata.simple.clojure","patterns":[{"include":"#keyword"},{"include":"$self"}]}]},"namespace-symbol":{"patterns":[{"captures":{"1":{"name":"meta.symbol.namespace.clojure"}},"match":"([-!*+.<-?_\\\\p{L}][-!*+.:<-?_\\\\w\\\\d]*)/"}]},"quoted-sexp":{"begin":"([\'`]\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.clojure"}},"end":"(\\\\))$|(\\\\)(?=[])}\\\\s]*(?:;|$)))|(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.trailing.clojure"},"2":{"name":"punctuation.section.expression.end.trailing.clojure"},"3":{"name":"punctuation.section.expression.end.clojure"}},"name":"meta.quoted-expression.clojure","patterns":[{"include":"$self"}]},"regexp":{"begin":"#\\"","beginCaptures":{"0":{"name":"punctuation.definition.regexp.begin.clojure"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.regexp.end.clojure"}},"name":"string.regexp.clojure","patterns":[{"include":"#regexp_escaped_char"}]},"regexp_escaped_char":{"match":"\\\\\\\\.","name":"constant.character.escape.clojure"},"set":{"begin":"(#\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.set.begin.clojure"}},"end":"(}(?=[])}\\\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.set.end.trailing.clojure"},"2":{"name":"punctuation.section.set.end.clojure"}},"name":"meta.set.clojure","patterns":[{"include":"$self"}]},"sexp":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.clojure"}},"end":"(\\\\))$|(\\\\)(?=[])}\\\\s]*(?:;|$)))|(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.trailing.clojure"},"2":{"name":"punctuation.section.expression.end.trailing.clojure"},"3":{"name":"punctuation.section.expression.end.clojure"}},"name":"meta.expression.clojure","patterns":[{"begin":"(?<=\\\\()(ns|declare|def[-!*+.:<-?_\\\\w\\\\d]*|[-!*+.:<-?_\\\\w][-!*+.:<-?_\\\\w\\\\d]*/def[-!*+.:<-?_\\\\w\\\\d]*)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.clojure"}},"end":"(?=\\\\))","name":"meta.definition.global.clojure","patterns":[{"include":"#metadata"},{"include":"#dynamic-variables"},{"match":"([-!*+.<-?_\\\\p{L}][-!*+.:<-?_\\\\w\\\\d]*)","name":"entity.global.clojure"},{"include":"$self"}]},{"include":"#keyfn"},{"include":"#constants"},{"include":"#vector"},{"include":"#map"},{"include":"#set"},{"include":"#sexp"},{"captures":{"1":{"name":"entity.name.function.clojure"}},"match":"(?<=\\\\()(.+?)(?=[)\\\\s])","patterns":[{"include":"$self"}]},{"include":"$self"}]},"shebang-comment":{"begin":"^(#!)","beginCaptures":{"1":{"name":"punctuation.definition.comment.shebang.clojure"}},"end":"$","name":"comment.line.shebang.clojure"},"string":{"begin":"(?<!\\\\\\\\)(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.clojure"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.clojure"}},"name":"string.quoted.double.clojure","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.clojure"}]},"symbol":{"patterns":[{"match":"([-!*+.<-?_\\\\p{L}][-!*+.:<-?_\\\\w\\\\d]*)","name":"meta.symbol.clojure"}]},"var":{"match":"(?<=([(\\\\[{\\\\s])#)\'[-!*+./:<-?_\\\\w]+(?=([])}\\\\s]))","name":"meta.var.clojure"},"vector":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.section.vector.begin.clojure"}},"end":"(](?=[])}\\\\s]*(?:;|$)))|(])","endCaptures":{"1":{"name":"punctuation.section.vector.end.trailing.clojure"},"2":{"name":"punctuation.section.vector.end.clojure"}},"name":"meta.vector.clojure","patterns":[{"include":"$self"}]}},"scopeName":"source.clojure","aliases":["clj"]}')),FV=[EV]});var dx={};u1(dx,{default:()=>HV});var jV,HV,hx=n1(()=>{Da();jV=Object.freeze(JSON.parse('{"displayName":"Erlang","fileTypes":["erl","escript","hrl","xrl","yrl"],"name":"erlang","patterns":[{"include":"#module-directive"},{"include":"#import-export-directive"},{"include":"#behaviour-directive"},{"include":"#record-directive"},{"include":"#define-directive"},{"include":"#macro-directive"},{"include":"#doc-directive"},{"include":"#directive"},{"include":"#function"},{"include":"#everything-else"}],"repository":{"atom":{"patterns":[{"begin":"(\')","beginCaptures":{"1":{"name":"punctuation.definition.symbol.begin.erlang"}},"end":"(\')","endCaptures":{"1":{"name":"punctuation.definition.symbol.end.erlang"}},"name":"constant.other.symbol.quoted.single.erlang","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\\\\\)([\\"\'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2})","name":"constant.other.symbol.escape.erlang"},{"match":"\\\\\\\\\\\\^?.?","name":"invalid.illegal.atom.erlang"}]},{"match":"[a-z][@-Z_a-z\\\\d]*+","name":"constant.other.symbol.unquoted.erlang"}]},"behaviour-directive":{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.behaviour.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.behaviour.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(behaviour)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.behaviour.erlang"},"binary":{"begin":"(<<)","beginCaptures":{"1":{"name":"punctuation.definition.binary.begin.erlang"}},"end":"(>>)","endCaptures":{"1":{"name":"punctuation.definition.binary.end.erlang"}},"name":"meta.structure.binary.erlang","patterns":[{"captures":{"1":{"name":"punctuation.separator.binary.erlang"},"2":{"name":"punctuation.separator.value-size.erlang"}},"match":"(,)|(:)"},{"include":"#internal-type-specifiers"},{"include":"#everything-else"}]},"character":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.character.erlang"},"2":{"name":"constant.character.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"},"5":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\$)((\\\\\\\\)([\\"\'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2}))","name":"constant.character.erlang"},{"match":"\\\\$\\\\\\\\\\\\^?.?","name":"invalid.illegal.character.erlang"},{"captures":{"1":{"name":"punctuation.definition.character.erlang"}},"match":"(\\\\$)[ \\\\S]","name":"constant.character.erlang"},{"match":"\\\\$.?","name":"invalid.illegal.character.erlang"}]},"comment":{"begin":"(^[\\\\t ]+)?(?=%)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.erlang"}},"end":"(?!\\\\G)","patterns":[{"begin":"%","beginCaptures":{"0":{"name":"punctuation.definition.comment.erlang"}},"end":"\\\\n","name":"comment.line.percentage.erlang"}]},"define-directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([@-Z_a-z\\\\d]++)\\\\s*+","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.define.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"(?=^\\\\s*+-\\\\s*+define\\\\s*+\\\\(\\\\s*+[@-Z_a-z\\\\d]++\\\\s*+\\\\()","end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.define.erlang","patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([@-Z_a-z\\\\d]++)\\\\s*+(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))\\\\s*(,)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.separator.parameters.erlang"}},"patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"match":"\\\\|\\\\||[,.:;|]|->","name":"punctuation.separator.define.erlang"},{"include":"#everything-else"}]}]},"directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\(?)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\)?)\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.erlang","patterns":[{"include":"#everything-else"}]},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\.)","name":"meta.directive.erlang"}]},"doc-directive":{"begin":"^\\\\s*+(-)\\\\s*+((module)?doc)\\\\s*(\\\\(\\\\s*)?(~[BSbs]?)?((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.doc.erlang"},"4":{"name":"punctuation.definition.parameters.begin.erlang"},"5":{"name":"storage.type.string.erlang"},"6":{"name":"comment.block.documentation.erlang"},"7":{"name":"punctuation.definition.string.begin.erlang"},"8":{"name":"invalid.illegal.string.erlang"}},"contentName":"meta.embedded.block.markdown","end":"^(\\\\s*(\\\\7))\\\\s*(\\\\)\\\\s*)?(\\\\.)","endCaptures":{"1":{"name":"comment.block.documentation.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"},"3":{"name":"punctuation.section.directive.end.Erlang"}},"name":"meta.directive.doc.erlang","patterns":[{"include":"text.html.markdown"}]},"docstring":{"begin":"(?<!\\")((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"meta.string.quoted.triple.begin.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"},"3":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\2))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.triple.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"everything-else":{"patterns":[{"include":"#comment"},{"include":"#record-usage"},{"include":"#macro-usage"},{"include":"#expression"},{"include":"#keyword"},{"include":"#textual-operator"},{"include":"#language-constant"},{"include":"#function-call"},{"include":"#tuple"},{"include":"#list"},{"include":"#binary"},{"include":"#parenthesized-expression"},{"include":"#character"},{"include":"#number"},{"include":"#atom"},{"include":"#sigil-docstring"},{"include":"#sigil-docstring-verbatim"},{"include":"#sigil-string"},{"include":"#docstring"},{"include":"#string"},{"include":"#symbolic-operator"},{"include":"#variable"}]},"expression":{"patterns":[{"begin":"\\\\b(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.if.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.if.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(case)\\\\b","beginCaptures":{"1":{"name":"keyword.control.case.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.case.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(receive)\\\\b","beginCaptures":{"1":{"name":"keyword.control.receive.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.receive.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"captures":{"1":{"name":"keyword.control.fun.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"variable.other.erlang"},"6":{"name":"punctuation.separator.module-function.erlang"},"8":{"name":"entity.name.function.erlang"},"9":{"name":"variable.other.erlang"},"10":{"name":"punctuation.separator.function-arity.erlang"}},"match":"\\\\b(fun)\\\\s+((([a-z][@-Z_a-z\\\\d]*+)|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)\\\\s*+)?(([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*(/)","name":"meta.expression.fun.implicit.erlang"},{"begin":"\\\\b(fun)\\\\s+(([a-z][@-Z_a-z\\\\d]*+)|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"},"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"}},"end":"(/)","endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}},"name":"meta.expression.fun.implicit.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\s+(?!\\\\()","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"end":"(/)","endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}},"name":"meta.expression.fun.implicit.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\s*+(\\\\()(?=(\\\\s*+\\\\()|(\\\\)))","beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\b","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.fun.erlang","patterns":[{"begin":"(?=\\\\()","end":"(;)|(?=\\\\bend\\\\b)","endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}},"patterns":[{"include":"#internal-function-parts"}]},{"include":"#everything-else"}]},{"begin":"\\\\b(try)\\\\b","beginCaptures":{"1":{"name":"keyword.control.try.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.try.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(begin)\\\\b","beginCaptures":{"1":{"name":"keyword.control.begin.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.begin.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(maybe)\\\\b","beginCaptures":{"1":{"name":"keyword.control.maybe.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.maybe.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]}]},"function":{"begin":"^\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.definition.erlang"}},"end":"(\\\\.)","endCaptures":{"1":{"name":"punctuation.terminator.function.erlang"}},"name":"meta.function.erlang","patterns":[{"captures":{"1":{"name":"entity.name.function.erlang"}},"match":"^\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(?=\\\\()"},{"begin":"(?=\\\\()","end":"(;)|(?=\\\\.)","endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}},"patterns":[{"include":"#parenthesized-expression"},{"include":"#internal-function-parts"}]},{"include":"#everything-else"}]},"function-call":{"begin":"(?=([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\'|_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\(|:\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\'|_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)\\\\s*+\\\\())","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"name":"meta.function-call.erlang","patterns":[{"begin":"((erlang)\\\\s*+(:)\\\\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\\\\s*+(\\\\()","beginCaptures":{"2":{"name":"entity.name.type.class.module.erlang"},"3":{"name":"punctuation.separator.module-function.erlang"},"4":{"name":"entity.name.function.guard.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(?=\\\\))","patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"begin":"((([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)\\\\s*+)?(([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(\\\\()","beginCaptures":{"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"},"7":{"name":"entity.name.function.erlang"},"8":{"name":"variable.other.erlang"},"9":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(?=\\\\))","patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]}]},"import-export-directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(import)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(,)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.import.erlang","patterns":[{"include":"#internal-function-list"}]},{"begin":"^\\\\s*+(-)\\\\s*+(export)\\\\s*+(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.export.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.export.erlang","patterns":[{"include":"#internal-function-list"}]}]},"internal-expression-punctuation":{"captures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"},"2":{"name":"punctuation.separator.clauses.erlang"},"3":{"name":"punctuation.separator.expressions.erlang"}},"match":"(->)|(;)|(,)"},"internal-function-list":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}},"name":"meta.structure.list.function.erlang","patterns":[{"begin":"([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(/)","beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.separator.function-arity.erlang"}},"end":"(,)|(?=])","endCaptures":{"1":{"name":"punctuation.separator.list.erlang"}},"patterns":[{"include":"#everything-else"}]},{"include":"#everything-else"}]},"internal-function-parts":{"patterns":[{"begin":"(?=\\\\()","end":"(->)","endCaptures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"match":"[,;]","name":"punctuation.separator.guards.erlang"},{"include":"#everything-else"}]},{"match":",","name":"punctuation.separator.expressions.erlang"},{"include":"#everything-else"}]},"internal-record-body":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.class.record.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.class.record.end.erlang"}},"name":"meta.structure.record.erlang","patterns":[{"begin":"(([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_))","beginCaptures":{"2":{"name":"variable.other.field.erlang"},"3":{"name":"variable.language.omitted.field.erlang"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.class.record.erlang"}},"patterns":[{"include":"#everything-else"}]},{"include":"#everything-else"}]},"internal-string-body":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\\\\\)([\\"\'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2})","name":"constant.character.escape.erlang"},{"match":"\\\\\\\\\\\\^?.?","name":"invalid.illegal.string.erlang"},{"include":"#internal-string-body-verbatim"}]},"internal-string-body-verbatim":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.placeholder.erlang"},"6":{"name":"punctuation.separator.placeholder-parts.erlang"},"10":{"name":"punctuation.separator.placeholder-parts.erlang"}},"match":"(~)((-)?\\\\d++|(\\\\*))?((\\\\.)(\\\\d++|(\\\\*))?((\\\\.)((\\\\*)|.))?)?[Kklt]*[#+BPWXbcefginpswx~]","name":"constant.character.format.placeholder.other.erlang"},{"captures":{"1":{"name":"punctuation.definition.placeholder.erlang"}},"match":"(~)(\\\\*)?(\\\\d++)?(t)?[-#acdflsu~]","name":"constant.character.format.placeholder.other.erlang"},{"match":"~[^\\"]?","name":"invalid.illegal.string.erlang"}]},"internal-type-specifiers":{"begin":"(/)","beginCaptures":{"1":{"name":"punctuation.separator.value-type.erlang"}},"end":"(?=[,:]|>>)","patterns":[{"captures":{"1":{"name":"storage.type.erlang"},"2":{"name":"storage.modifier.signedness.erlang"},"3":{"name":"storage.modifier.endianness.erlang"},"4":{"name":"storage.modifier.unit.erlang"},"5":{"name":"punctuation.separator.unit-specifiers.erlang"},"6":{"name":"constant.numeric.integer.decimal.erlang"},"7":{"name":"punctuation.separator.type-specifiers.erlang"}},"match":"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|((?:|un)signed)|(big|little|native)|(unit)(:)(\\\\d++)|(-)"}]},"keyword":{"match":"\\\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\\\b","name":"keyword.control.erlang"},"language-constant":{"match":"\\\\b(false|true|undefined)\\\\b","name":"constant.language"},"list":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}},"name":"meta.structure.list.erlang","patterns":[{"match":"\\\\|\\\\|??|,","name":"punctuation.separator.list.erlang"},{"include":"#everything-else"}]},"macro-directive":{"patterns":[{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifdef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(ifdef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.ifdef.erlang"},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifndef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(ifndef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.ifndef.erlang"},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.undef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(undef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.undef.erlang"}]},"macro-usage":{"captures":{"1":{"name":"keyword.operator.macro.erlang"},"2":{"name":"entity.name.function.macro.erlang"}},"match":"(\\\\?\\\\??)\\\\s*+([@-Z_a-z\\\\d]++)","name":"meta.macro-usage.erlang"},"module-directive":{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.module.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(module)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.module.erlang"},"number":{"begin":"(?=\\\\d)","end":"(?!\\\\d)","patterns":[{"captures":{"1":{"name":"punctuation.separator.integer-float.erlang"},"2":{"name":"punctuation.separator.float-exponent.erlang"}},"match":"\\\\d++(\\\\.)\\\\d++([Ee][-+]?\\\\d++)?","name":"constant.numeric.float.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"2(#)([01]++_)*[01]++","name":"constant.numeric.integer.binary.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"3(#)([012]++_)*[012]++","name":"constant.numeric.integer.base-3.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"4(#)([0-3]++_)*[0-3]++","name":"constant.numeric.integer.base-4.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"5(#)([0-4]++_)*[0-4]++","name":"constant.numeric.integer.base-5.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"6(#)([0-5]++_)*[0-5]++","name":"constant.numeric.integer.base-6.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"7(#)([0-6]++_)*[0-6]++","name":"constant.numeric.integer.base-7.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"8(#)([0-7]++_)*[0-7]++","name":"constant.numeric.integer.octal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"9(#)([0-8]++_)*[0-8]++","name":"constant.numeric.integer.base-9.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"10(#)(\\\\d++_)*\\\\d++","name":"constant.numeric.integer.decimal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"11(#)([Aa\\\\d]++_)*[Aa\\\\d]++","name":"constant.numeric.integer.base-11.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"12(#)([ABab\\\\d]++_)*[ABab\\\\d]++","name":"constant.numeric.integer.base-12.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"13(#)([ABCabc\\\\d]++_)*[ABCabc\\\\d]++","name":"constant.numeric.integer.base-13.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"14(#)([A-Da-d\\\\d]++_)*[A-Da-d\\\\d]++","name":"constant.numeric.integer.base-14.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"15(#)([A-Ea-e\\\\d]++_)*[A-Ea-e\\\\d]++","name":"constant.numeric.integer.base-15.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"16(#)([A-Fa-f\\\\d]++_)*[A-Fa-f\\\\d]++","name":"constant.numeric.integer.hexadecimal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"17(#)([A-Ga-g\\\\d]++_)*[A-Ga-g\\\\d]++","name":"constant.numeric.integer.base-17.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"18(#)([A-Ha-h\\\\d]++_)*[A-Ha-h\\\\d]++","name":"constant.numeric.integer.base-18.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"19(#)([A-Ia-i\\\\d]++_)*[A-Ia-i\\\\d]++","name":"constant.numeric.integer.base-19.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"20(#)([A-Ja-j\\\\d]++_)*[A-Ja-j\\\\d]++","name":"constant.numeric.integer.base-20.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"21(#)([A-Ka-k\\\\d]++_)*[A-Ka-k\\\\d]++","name":"constant.numeric.integer.base-21.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"22(#)([A-La-l\\\\d]++_)*[A-La-l\\\\d]++","name":"constant.numeric.integer.base-22.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"23(#)([A-Ma-m\\\\d]++_)*[A-Ma-m\\\\d]++","name":"constant.numeric.integer.base-23.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"24(#)([A-Na-n\\\\d]++_)*[A-Na-n\\\\d]++","name":"constant.numeric.integer.base-24.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"25(#)([A-Oa-o\\\\d]++_)*[A-Oa-o\\\\d]++","name":"constant.numeric.integer.base-25.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"26(#)([A-Pa-p\\\\d]++_)*[A-Pa-p\\\\d]++","name":"constant.numeric.integer.base-26.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"27(#)([A-Qa-q\\\\d]++_)*[A-Qa-q\\\\d]++","name":"constant.numeric.integer.base-27.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"28(#)([A-Ra-r\\\\d]++_)*[A-Ra-r\\\\d]++","name":"constant.numeric.integer.base-28.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"29(#)([A-Sa-s\\\\d]++_)*[A-Sa-s\\\\d]++","name":"constant.numeric.integer.base-29.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"30(#)([A-Ta-t\\\\d]++_)*[A-Ta-t\\\\d]++","name":"constant.numeric.integer.base-30.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"31(#)([A-Ua-u\\\\d]++_)*[A-Ua-u\\\\d]++","name":"constant.numeric.integer.base-31.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"32(#)([A-Va-v\\\\d]++_)*[A-Va-v\\\\d]++","name":"constant.numeric.integer.base-32.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"33(#)([A-Wa-w\\\\d]++_)*[A-Wa-w\\\\d]++","name":"constant.numeric.integer.base-33.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"34(#)([A-Xa-x\\\\d]++_)*[A-Xa-x\\\\d]++","name":"constant.numeric.integer.base-34.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"35(#)([A-Ya-y\\\\d]++_)*[A-Ya-y\\\\d]++","name":"constant.numeric.integer.base-35.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"36(#)([A-Za-z\\\\d]++_)*[A-Za-z\\\\d]++","name":"constant.numeric.integer.base-36.erlang"},{"match":"\\\\d++#([A-Za-z\\\\d]++_)*[A-Za-z\\\\d]++","name":"invalid.illegal.integer.erlang"},{"match":"(\\\\d++_)*\\\\d++","name":"constant.numeric.integer.decimal.erlang"}]},"parenthesized-expression":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.erlang"}},"name":"meta.expression.parenthesized","patterns":[{"include":"#everything-else"}]},"record-directive":{"begin":"^\\\\s*+(-)\\\\s*+(record)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(,)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.record.definition.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.record.erlang","patterns":[{"include":"#internal-record-body"},{"include":"#comment"}]},"record-usage":{"patterns":[{"captures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"},"3":{"name":"punctuation.separator.record-field.erlang"},"4":{"name":"variable.other.field.erlang"}},"match":"(#)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(\\\\.)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')","name":"meta.record-usage.erlang"},{"begin":"(#)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')","beginCaptures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"}},"end":"(?<=})","name":"meta.record-usage.erlang","patterns":[{"include":"#internal-record-body"}]}]},"sigil-docstring":{"begin":"(~[bs])((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\3))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.tripple.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-docstring-verbatim":{"begin":"(~[BS]?)((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\3))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.tripple.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string":{"patterns":[{"include":"#sigil-string-parenthesis"},{"include":"#sigil-string-parenthesis-verbatim"},{"include":"#sigil-string-curly-brackets"},{"include":"#sigil-string-curly-brackets-verbatim"},{"include":"#sigil-string-square-brackets"},{"include":"#sigil-string-square-brackets-verbatim"},{"include":"#sigil-string-less-greater"},{"include":"#sigil-string-less-greater-verbatim"},{"include":"#sigil-string-single-character"},{"include":"#sigil-string-single-character-verbatim"},{"include":"#sigil-string-single-quote"},{"include":"#sigil-string-single-quote-verbatim"},{"include":"#sigil-string-double-quote"},{"include":"#sigil-string-double-quote-verbatim"}]},"sigil-string-curly-brackets":{"begin":"(~[bs]?)(\\\\{)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-curly-brackets-verbatim":{"begin":"(~[BS])(\\\\{)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-double-quote":{"begin":"(~[bs]?)(\\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-double-quote-verbatim":{"begin":"(~[BS])(\\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-less-greater":{"begin":"(~[bs]?)(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-less-greater-verbatim":{"begin":"(~[BS])(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-parenthesis":{"begin":"(~[bs]?)(\\\\()","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-parenthesis-verbatim":{"begin":"(~[BS])(\\\\()","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-single-character":{"begin":"(~[bs]?)([#/`|])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-character-verbatim":{"begin":"(~[BS])([#/`|])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-single-quote":{"begin":"(~[bs]?)(\')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-quote-verbatim":{"begin":"(~[BS])(\')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-square-brackets":{"begin":"(~[bs]?)(\\\\[)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-square-brackets-verbatim":{"begin":"(~[BS])(\\\\[)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"string":{"begin":"(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.erlang","patterns":[{"include":"#internal-string-body"}]},"symbolic-operator":{"match":"\\\\+\\\\+?|--|[-*]|/=?|=/=|=:=|==|=<?|<-?|>=|[!>]|::|\\\\?=","name":"keyword.operator.symbolic.erlang"},"textual-operator":{"match":"\\\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\\\b","name":"keyword.operator.textual.erlang"},"tuple":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.tuple.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.tuple.end.erlang"}},"name":"meta.structure.tuple.erlang","patterns":[{"match":",","name":"punctuation.separator.tuple.erlang"},{"include":"#everything-else"}]},"variable":{"captures":{"1":{"name":"variable.other.erlang"},"2":{"name":"variable.language.omitted.erlang"}},"match":"(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)|(_)"}},"scopeName":"source.erlang","embeddedLangs":["markdown"],"aliases":["erl"]}')),HV=[...g7,jV]});var gx={};u1(gx,{default:()=>TV});var NV,TV,bx=n1(()=>{u4();NV=Object.freeze(JSON.parse('{"displayName":"Elixir","fileTypes":["ex","exs"],"firstLineMatch":"^#!/.*\\\\belixir","foldingStartMarker":"(after|else|catch|rescue|->|[\\\\[{]|do)\\\\s*$","foldingStopMarker":"^\\\\s*(([]}]|after|else|catch|rescue)\\\\s*$|end\\\\b)","name":"elixir","patterns":[{"begin":"\\\\b(fn)\\\\b(?!.*->)","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"$","patterns":[{"include":"#core_syntax"}]},{"captures":{"1":{"name":"entity.name.type.class.elixir"},"2":{"name":"punctuation.separator.method.elixir"},"3":{"name":"entity.name.function.elixir"}},"match":"([A-Z]\\\\w+)\\\\s*(\\\\.)\\\\s*([_a-z]\\\\w*[!?]?)"},{"captures":{"1":{"name":"constant.other.symbol.elixir"},"2":{"name":"punctuation.separator.method.elixir"},"3":{"name":"entity.name.function.elixir"}},"match":"(:\\\\w+)\\\\s*(\\\\.)\\\\s*(_?\\\\w*[!?]?)"},{"captures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"entity.name.function.elixir"}},"match":"(\\\\|>)\\\\s*([_a-z]\\\\w*[!?]?)"},{"match":"\\\\b[_a-z]\\\\w*[!?]?(?=\\\\s*\\\\.?\\\\s*\\\\()","name":"entity.name.function.elixir"},{"begin":"\\\\b(fn)\\\\b(?=.*->)","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"(?>(->)|(when)|(\\\\)))","endCaptures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"keyword.control.elixir"},"3":{"name":"punctuation.section.function.elixir"}},"patterns":[{"include":"#core_syntax"}]},{"include":"#core_syntax"},{"begin":"^(?=.*->)((?![^\\"\']*([\\"\'])[^\\"\']*->)|(?=.*->[^\\"\']*([\\"\'])[^\\"\']*->))((?!.*\\\\([^)]*->)|(?=[^()]*->)|(?=\\\\s*\\\\(.*\\\\).*->))((?!.*\\\\b(fn)\\\\b)|(?=.*->.*\\\\bfn\\\\b))","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"(?>(->)|(when)|(\\\\)))","endCaptures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"keyword.control.elixir"},"3":{"name":"punctuation.section.function.elixir"}},"patterns":[{"include":"#core_syntax"}]}],"repository":{"core_syntax":{"patterns":[{"begin":"^\\\\s*(defmodule)\\\\b","beginCaptures":{"1":{"name":"keyword.control.module.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.module.elixir"}},"name":"meta.module.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*(?=\\\\.)","name":"entity.other.inherited-class.elixir"},{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.class.elixir"}]},{"begin":"^\\\\s*(defprotocol)\\\\b","beginCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"name":"meta.protocol_declaration.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.protocol.elixir"}]},{"begin":"^\\\\s*(defimpl)\\\\b","beginCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"name":"meta.protocol_implementation.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.protocol.elixir"}]},{"begin":"^\\\\s*(def(?:|macro|delegate|guard))\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))((\\\\()|\\\\s*)","beginCaptures":{"1":{"name":"keyword.control.module.elixir"},"2":{"name":"entity.name.function.public.elixir"},"4":{"name":"punctuation.section.function.elixir"}},"end":"\\\\b(do:)|\\\\b(do)\\\\b|(?=\\\\s+(def(?:|n|macro|delegate|guard))\\\\b)","endCaptures":{"1":{"name":"constant.other.keywords.elixir"},"2":{"name":"keyword.control.module.elixir"}},"name":"meta.function.public.elixir","patterns":[{"include":"$self"},{"begin":"\\\\s(\\\\\\\\\\\\\\\\)","beginCaptures":{"1":{"name":"keyword.operator.other.elixir"}},"end":"[),]|$","patterns":[{"include":"$self"}]},{"match":"\\\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\\\b","name":"keyword.control.elixir"}]},{"begin":"^\\\\s*(def(?:|n|macro|guard)p)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))((\\\\()|\\\\s*)","beginCaptures":{"1":{"name":"keyword.control.module.elixir"},"2":{"name":"entity.name.function.private.elixir"},"4":{"name":"punctuation.section.function.elixir"}},"end":"\\\\b(do:)|\\\\b(do)\\\\b|(?=\\\\s+(def(?:p|macrop|guardp))\\\\b)","endCaptures":{"1":{"name":"constant.other.keywords.elixir"},"2":{"name":"keyword.control.module.elixir"}},"name":"meta.function.private.elixir","patterns":[{"include":"$self"},{"begin":"\\\\s(\\\\\\\\\\\\\\\\)","beginCaptures":{"1":{"name":"keyword.operator.other.elixir"}},"end":"[),]|$","patterns":[{"include":"$self"}]},{"match":"\\\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\\\b","name":"keyword.control.elixir"}]},{"begin":"\\\\s*~L\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"sigil.leex","patterns":[{"include":"text.elixir"},{"include":"text.html.basic"}]},{"begin":"\\\\s*~H\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"sigil.heex","patterns":[{"include":"text.elixir"},{"include":"text.html.basic"}]},{"begin":"@(module|type)?doc (~[a-z])?\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"comment.block.documentation.heredoc","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"@(module|type)?doc ~[A-Z]\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"comment.block.documentation.heredoc"},{"begin":"@(module|type)?doc (~[a-z])?\'\'\'","end":"\\\\s*\'\'\'","name":"comment.block.documentation.heredoc","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"@(module|type)?doc ~[A-Z]\'\'\'","end":"\\\\s*\'\'\'","name":"comment.block.documentation.heredoc"},{"match":"@(module|type)?doc false","name":"comment.block.documentation.false"},{"begin":"@(module|type)?doc \\"","end":"\\"","name":"comment.block.documentation.string","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"match":"(?<!\\\\.)\\\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defnp?|defmacrop?|defguardp?|defdelegate|defexception|defoverridable|exit|after|rescue|catch|else|raise|reraise|throw|import|require|alias|use|quote|unquote|super|with)\\\\b(?![!:?])","name":"keyword.control.elixir"},{"match":"(?<!\\\\.)\\\\b(and|not|or|when|xor|in)\\\\b","name":"keyword.operator.elixir"},{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.class.elixir"},{"match":"\\\\b(nil|true|false)\\\\b(?![!?])","name":"constant.language.elixir"},{"match":"\\\\b(__(CALLER|ENV|MODULE|DIR|STACKTRACE)__)\\\\b(?![!?])","name":"variable.language.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"(@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.module.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"(&)\\\\d+","name":"variable.other.anonymous.elixir"},{"match":"&(?!&)","name":"variable.other.anonymous.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"\\\\^[_a-z]\\\\w*","name":"variable.other.capture.elixir"},{"match":"\\\\b0x\\\\h(?>_?\\\\h)*\\\\b","name":"constant.numeric.hex.elixir"},{"match":"\\\\b\\\\d(?>_?\\\\d)*(\\\\.(?![^\\\\s\\\\d])(?>_?\\\\d)+)([Ee][-+]?\\\\d(?>_?\\\\d)*)?\\\\b","name":"constant.numeric.float.elixir"},{"match":"\\\\b\\\\d(?>_?\\\\d)*\\\\b","name":"constant.numeric.integer.elixir"},{"match":"\\\\b0b[01](?>_?[01])*\\\\b","name":"constant.numeric.binary.elixir"},{"match":"\\\\b0o[0-7](?>_?[0-7])*\\\\b","name":"constant.numeric.octal.elixir"},{"begin":":\'","captures":{"0":{"name":"punctuation.definition.constant.elixir"}},"end":"\'","name":"constant.other.symbol.single-quoted.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":":\\"","captures":{"0":{"name":"punctuation.definition.constant.elixir"}},"end":"\\"","name":"constant.other.symbol.double-quoted.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\'\'\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\'\'\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.single.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.single.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.double.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.double.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"}[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"][a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":">[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\)[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\1[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[A-Z]\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.heredoc.literal.elixir"},{"begin":"~[A-Z]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"}[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"][a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":">[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\)[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\1[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"captures":{"1":{"name":"punctuation.definition.constant.elixir"}},"match":"(?<!:)(:)(?>[A-Z_a-z][@\\\\w]*(?>[!?]|=(?![=>]))?|<>|===?|!==?|<<>>|<<<|>>>|~~~|::|<-|\\\\|>|=>|=~|[/=]|\\\\\\\\\\\\\\\\|\\\\*\\\\*?|\\\\.\\\\.?\\\\.?|\\\\.\\\\.//|>=?|<=?|&&?&?|\\\\+\\\\+?|--?|\\\\|\\\\|?\\\\|?|[!@]|%?\\\\{}|%|\\\\[]|\\\\^(\\\\^\\\\^)?)","name":"constant.other.symbol.elixir"},{"captures":{"1":{"name":"punctuation.definition.constant.elixir"}},"match":"(?>[A-Z_a-z][@\\\\w]*[!?]?)(:)(?!:)","name":"constant.other.keywords.elixir"},{"begin":"(^[\\\\t ]+)?(?=##)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.elixir"}},"end":"(?!#)","patterns":[{"begin":"##","beginCaptures":{"0":{"name":"punctuation.definition.comment.elixir"}},"end":"\\\\n","name":"comment.line.section.elixir"}]},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.elixir"}},"end":"(?!#)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.elixir"}},"end":"\\\\n","name":"comment.line.number-sign.elixir"}]},{"match":"\\\\b_([^_]\\\\w+[!?]?)","name":"comment.unused.elixir"},{"match":"\\\\b_\\\\b","name":"comment.wildcard.elixir"},{"match":"(?<!\\\\w)\\\\?(\\\\\\\\(x\\\\h{1,2}(?!\\\\h)\\\\b|[^CMx])|[^\\\\\\\\\\\\s])","name":"constant.numeric.elixir"},{"match":"\\\\+\\\\+|--|<\\\\|>","name":"keyword.operator.concatenation.elixir"},{"match":"\\\\|>|<~>|<>|<<<|>>>|~>>|<<~|~>|<~|<\\\\|>","name":"keyword.operator.sigils_1.elixir"},{"match":"&&&?","name":"keyword.operator.sigils_2.elixir"},{"match":"<-|\\\\\\\\\\\\\\\\","name":"keyword.operator.sigils_3.elixir"},{"match":"===?|!==?|<=?|>=?","name":"keyword.operator.comparison.elixir"},{"match":"(\\\\|\\\\|\\\\||&&&|\\\\^\\\\^\\\\^|<<<|>>>|~~~)","name":"keyword.operator.bitwise.elixir"},{"match":"(?<=[\\\\t ])!+|\\\\bnot\\\\b|&&|\\\\band\\\\b|\\\\|\\\\||\\\\bor\\\\b|\\\\bxor\\\\b","name":"keyword.operator.logical.elixir"},{"match":"([-*+/])","name":"keyword.operator.arithmetic.elixir"},{"match":"\\\\||\\\\+\\\\+|--|\\\\*\\\\*|\\\\\\\\\\\\\\\\|<-|<>|<<|>>|::|\\\\.\\\\.|//|\\\\|>|~|=>|&","name":"keyword.operator.other.elixir"},{"match":"=","name":"keyword.operator.assignment.elixir"},{"match":":","name":"punctuation.separator.other.elixir"},{"match":";","name":"punctuation.separator.statement.elixir"},{"match":",","name":"punctuation.separator.object.elixir"},{"match":"\\\\.","name":"punctuation.separator.method.elixir"},{"match":"[{}]","name":"punctuation.section.scope.elixir"},{"match":"[]\\\\[]","name":"punctuation.section.array.elixir"},{"match":"[()]","name":"punctuation.section.function.elixir"}]},"escaped_char":{"match":"\\\\\\\\(x[A-Fa-f\\\\d]{1,2}|.)","name":"constant.character.escaped.elixir"},"interpolated_elixir":{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.elixir"}},"contentName":"source.elixir","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.elixir"}},"name":"meta.embedded.line.elixir","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.elixir"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]}},"scopeName":"source.elixir","embeddedLangs":["html"]}')),TV=[...I2,NV]});var fx={};u1(fx,{default:()=>qV});var VV,qV,vx=n1(()=>{VV=Object.freeze(JSON.parse('{"displayName":"Haskell","fileTypes":["hs","hs-boot","hsig"],"name":"haskell","patterns":[{"include":"#liquid_haskell"},{"include":"#comment_like"},{"include":"#numeric_literals"},{"include":"#string_literal"},{"include":"#char_literal"},{"match":"(?<![#@])-}","name":"invalid"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*(\\\\))","name":"constant.language.unit.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"constant.language.unit.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*,[,\\\\s]*(\\\\))","name":"support.constant.tuple.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*,[,\\\\s]*(#)(\\\\))","name":"support.constant.tuple.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.bracket.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"match":"(\\\\[)\\\\s*(])","name":"constant.language.empty-list.haskell"},{"begin":"(\\\\b(?<!\')(module)|^(signature))\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.module.haskell"},"3":{"name":"keyword.other.signature.haskell"}},"end":"(?=\\\\b(?<!\')where\\\\b(?!\'))","name":"meta.declaration.module.haskell","patterns":[{"include":"#comment_like"},{"include":"#module_name"},{"include":"#module_exports"},{"match":"[a-z]+","name":"invalid"}]},{"include":"#ffi"},{"begin":"^(\\\\s*)(class)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.class.haskell"}},"end":"(?=(?<!\')\\\\bwhere\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.class.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(data|newtype)(?:\\\\s+(instance))?\\\\s+((?:(?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')(?:where|deriving)\\\\b(?!\')|\\\\{-).)*)(?=\\\\b(?<!\'\')where\\\\b(?!\'\'))","beginCaptures":{"2":{"name":"keyword.other.$2.haskell"},"3":{"name":"keyword.other.instance.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=(?<!\')\\\\bderiving\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.$2.generalized.haskell","patterns":[{"include":"#comment_like"},{"begin":"(?<!\')\\\\b(where)\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.where.haskell"},"2":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#gadt_constructor"},{"match":";","name":"punctuation.semicolon.haskell"}]},{"match":"\\\\b(?<!\')(where)\\\\b(?!\')","name":"keyword.other.where.haskell"},{"include":"#deriving"},{"include":"#gadt_constructor"}]},{"include":"#role_annotation"},{"begin":"^(\\\\s*)(pattern)\\\\s+(.*?)\\\\s+(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","beginCaptures":{"2":{"name":"keyword.other.pattern.haskell"},"3":{"patterns":[{"include":"#comma"},{"include":"#data_constructor"}]},"4":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.pattern.type.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"^\\\\s*(pattern)\\\\b(?!\')","captures":{"1":{"name":"keyword.other.pattern.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.pattern.haskell","patterns":[{"include":"$self"}]},{"begin":"^(\\\\s*)(data|newtype)(?:\\\\s+(family|instance))?\\\\s+(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')(?:where|deriving)\\\\b(?!\')|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.$2.haskell"},"3":{"name":"keyword.other.$3.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.$2.algebraic.haskell","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#forall"},{"include":"#adt_constructor"},{"include":"#context"},{"include":"#record_decl"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(type)\\\\s+(family)\\\\b(?!\')(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')where\\\\b(?!\')|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.family.haskell"},"4":{"patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.type.family.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(type)(?:\\\\s+(instance))?\\\\s+(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+|::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.instance.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.type.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(instance)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.instance.haskell"}},"end":"(?=\\\\b(?<!\')(where)\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.instance.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(import)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.import.haskell"}},"end":"(?=\\\\b(?<!\')(where)\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.import.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"captures":{"1":{"name":"keyword.other.$1.haskell"}},"match":"(qualified|as|hiding)"},{"include":"#module_name"},{"include":"#module_exports"}]},{"include":"#deriving"},{"include":"#layout_herald"},{"include":"#keyword"},{"captures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"patterns":[{"include":"#comment_like"},{"include":"#integer_literals"},{"include":"#infix_op"}]}},"match":"^\\\\s*(infix[lr]?)\\\\s+(.*)","name":"meta.fixity-declaration.haskell"},{"include":"#overloaded_label"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#fun_decl"},{"include":"#qualifier"},{"include":"#data_constructor"},{"include":"#start_type_signature"},{"include":"#prefix_op"},{"include":"#infix_op"},{"begin":"(\\\\()(#)\\\\s","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"include":"#quasi_quote"},{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"include":"#record"}],"repository":{"adt_constructor":{"patterns":[{"include":"#comment_like"},{"begin":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:(=)|(\\\\|))(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","beginCaptures":{"1":{"name":"keyword.operator.eq.haskell"},"2":{"name":"keyword.operator.pipe.haskell"}},"end":"(?:\\\\G|^)\\\\s*(?:(?<!\')\\\\b([\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]+)|(\'?(?<paren>\\\\((?:[^()]?|\\\\g<paren>)*\\\\)))|(\'?(?<brac>\\\\((?:[^]\\\\[]?|\\\\g<brac>)*])))\\\\s*(?:(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)|(`)([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`))|(?<!\')\\\\b([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\))","endCaptures":{"1":{"patterns":[{"include":"#type_signature"}]},"2":{"patterns":[{"include":"#type_signature"}]},"4":{"patterns":[{"include":"#type_signature"}]},"6":{"name":"constant.other.operator.haskell"},"7":{"name":"punctuation.backtick.haskell"},"8":{"name":"constant.other.haskell"},"9":{"name":"punctuation.backtick.haskell"},"10":{"name":"constant.other.haskell"},"11":{"name":"punctuation.paren.haskell"},"12":{"name":"constant.other.operator.haskell"},"13":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#record_decl"},{"include":"#forall"},{"include":"#context"}]}]},"block_comment":{"applyEndPatternLast":1,"begin":"\\\\{-","captures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"-}","name":"comment.block.haskell","patterns":[{"include":"#block_comment"}]},"char_literal":{"captures":{"1":{"name":"punctuation.definition.string.begin.haskell"},"2":{"name":"constant.character.escape.haskell"},"3":{"name":"constant.character.escape.octal.haskell"},"4":{"name":"constant.character.escape.hexadecimal.haskell"},"5":{"name":"constant.character.escape.control.haskell"},"6":{"name":"punctuation.definition.string.end.haskell"}},"match":"(?<![\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])(\')(?:[ -\\\\[\\\\]-~]|(\\\\\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&\'\\\\\\\\abfnrtv]))|(\\\\\\\\o[0-7]+)|(\\\\\\\\x\\\\h+)|(\\\\\\\\\\\\^[@-_]))(\')","name":"string.quoted.single.haskell"},"comma":{"match":",","name":"punctuation.separator.comma.haskell"},"comment_like":{"patterns":[{"include":"#cpp"},{"include":"#pragma"},{"include":"#comments"}]},"comments":{"patterns":[{"begin":"^(\\\\s*)(--\\\\s[$|])","beginCaptures":{"2":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"(?=^(?!\\\\1--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])))","name":"comment.block.documentation.haskell"},{"begin":"(^[\\\\t ]+)?(--\\\\s[*^])","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"\\\\n","name":"comment.line.documentation.haskell"},{"applyEndPatternLast":1,"begin":"\\\\{-\\\\s?[$*^|]","captures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"-}","name":"comment.block.documentation.haskell","patterns":[{"include":"#block_comment"}]},{"begin":"(^[\\\\t ]+)?(?=--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]))","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"(?!\\\\G)","patterns":[{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"\\\\n","name":"comment.line.double-dash.haskell"}]},{"include":"#block_comment"}]},"context":{"captures":{"1":{"patterns":[{"include":"#comment_like"},{"include":"#type_signature"}]},"2":{"name":"keyword.operator.big-arrow.haskell"}},"match":"(.*)(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(=>|\u21D2)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},"cpp":{"captures":{"1":{"name":"punctuation.definition.preprocessor.c"}},"match":"^(#).*$","name":"meta.preprocessor.c"},"data_constructor":{"match":"\\\\b(?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?![\'.\\\\w])","name":"constant.other.haskell"},"deriving":{"patterns":[{"begin":"^(\\\\s*)(deriving)\\\\s+(?:(via|stock|newtype|anyclass)\\\\s+)?","beginCaptures":{"2":{"name":"keyword.other.deriving.haskell"},"3":{"name":"keyword.other.deriving.strategy.$3.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.deriving.haskell","patterns":[{"include":"#comment_like"},{"match":"(?<!\')\\\\b(instance)\\\\b(?!\')","name":"keyword.other.instance.haskell"},{"captures":{"1":{"name":"keyword.other.deriving.strategy.$1.haskell"}},"match":"(?<!\')\\\\b(via|stock|newtype|anyclass)\\\\b(?!\')"},{"include":"#type_signature"}]},{"begin":"(deriving)(?:\\\\s+(stock|newtype|anyclass))?\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.deriving.haskell"},"2":{"name":"keyword.other.deriving.strategy.$2.haskell"},"3":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"name":"meta.deriving.haskell","patterns":[{"include":"#type_signature"}]},{"captures":{"1":{"name":"keyword.other.deriving.haskell"},"2":{"name":"keyword.other.deriving.strategy.$2.haskell"},"3":{"patterns":[{"include":"#type_signature"}]},"5":{"name":"keyword.other.deriving.strategy.via.haskell"},"6":{"patterns":[{"include":"#type_signature"}]}},"match":"(deriving)(?:\\\\s+(stock|newtype|anyclass))?\\\\s+([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(\\\\s+(via)\\\\s+(.*)$)?","name":"meta.deriving.haskell"},{"match":"(?<!\')\\\\b(via)\\\\b(?!\')","name":"keyword.other.deriving.strategy.via.haskell"}]},"double_colon":{"captures":{"1":{"name":"keyword.operator.double-colon.haskell"}},"match":"\\\\s*(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])\\\\s*"},"export_constructs":{"patterns":[{"include":"#comment_like"},{"begin":"\\\\b(?<!\')(pattern)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.pattern.haskell"}},"end":"([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","endCaptures":{"1":{"name":"constant.other.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"constant.other.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"}]},{"begin":"\\\\b(?<!\')(type)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.type.haskell"}},"end":"([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","endCaptures":{"1":{"name":"storage.type.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"storage.type.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"}]},{"match":"(?<!\')\\\\b[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"entity.name.function.haskell"},{"match":"(?<!\')\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"storage.type.haskell"},{"include":"#record_wildcard"},{"include":"#reserved_symbol"},{"include":"#prefix_op"}]},"ffi":{"begin":"^(\\\\s*)(foreign)\\\\s+((?:im|ex)port)\\\\s+","beginCaptures":{"2":{"name":"keyword.other.foreign.haskell"},"3":{"name":"keyword.other.$3.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.$3.foreign.haskell","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.calling-convention.$1.haskell"}},"match":"\\\\b(?<!\')(ccall|cplusplus|dotnet|jvm|stdcall|prim|capi)\\\\s+"},{"begin":"(?=\\")|(?=\\\\b(?<!\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\'))","end":"(?=(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]))","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.safety.$1.haskell"},"2":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]},"3":{"name":"entity.name.function.haskell"},"4":{"name":"entity.name.function.infix.haskell"}},"match":"\\\\b(?<!\')(safe|unsafe|interruptible)\\\\b(?!\')\\\\s*(\\"(?:\\\\\\\\\\"|[^\\"])*\\")?\\\\s*(?:\\\\b(?<!\'\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\')|\\\\(\\\\s*(?!--+\\\\))([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*\\\\))"},{"captures":{"1":{"name":"keyword.other.safety.$1.haskell"},"2":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]}},"match":"\\\\b(?<!\')(safe|unsafe|interruptible)\\\\b(?!\')\\\\s*(\\"(?:\\\\\\\\\\"|[^\\"])*\\")?\\\\s*$"},{"captures":{"0":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]}},"match":"\\"(?:\\\\\\\\\\"|[^\\"])*\\""},{"captures":{"1":{"name":"entity.name.function.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"entity.name.function.infix.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"\\\\b(?<!\'\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\')|(\\\\()\\\\s*(?!--+\\\\))([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))"}]},{"include":"#double_colon"},{"include":"#type_signature"}]},"float_literals":{"captures":{"1":{"name":"constant.numeric.floating.decimal.haskell"},"2":{"name":"constant.numeric.floating.hexadecimal.haskell"}},"match":"\\\\b(?<!\')(?:([0-9][0-9_]*\\\\.[0-9][0-9_]*(?:[Ee][-+]?[0-9][0-9_]*)?|[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*)|(0(?:[Xx]_*\\\\h[_\\\\h]*\\\\.\\\\h[_\\\\h]*(?:[Pp][-+]?[0-9][0-9_]*)?|[Xx]_*\\\\h[_\\\\h]*[Pp][-+]?[0-9][0-9_]*)))\\\\b(?!\')"},"forall":{"begin":"\\\\b(?<!\')(forall|\u2200)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.forall.haskell"}},"end":"(\\\\.)|(->|\u2192)","endCaptures":{"1":{"name":"keyword.operator.period.haskell"},"2":{"name":"keyword.operator.arrow.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#type_variable"},{"include":"#type_signature"}]},"fun_decl":{"begin":"^(\\\\s*)(?<fn>(?:[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*#*|\\\\(\\\\s*(?!--+\\\\))[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),:;\\\\[_`{}]][[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*\\\\s*\\\\))(?:\\\\s*,\\\\s*\\\\g<fn>)?)\\\\s*(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'),;_`}]])(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])","beginCaptures":{"2":{"name":"entity.name.function.haskell","patterns":[{"include":"#reserved_symbol"},{"include":"#prefix_op"}]},"3":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])((<-|\u2190)|(=)|(-<|\u21A2)|(-<<|\u291B))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]]))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.function.type-declaration.haskell","patterns":[{"include":"#type_signature"}]},"gadt_constructor":{"patterns":[{"begin":"^(\\\\s*)(?:\\\\b((?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\)))","beginCaptures":{"2":{"name":"constant.other.haskell"},"3":{"name":"punctuation.paren.haskell"},"4":{"name":"constant.other.operator.haskell"},"5":{"name":"punctuation.paren.haskell"}},"end":"(?=\\\\b(?<!\'\')deriving\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#double_colon"},{"include":"#record_decl"},{"include":"#type_signature"}]},{"begin":"\\\\b((?<!\')[\\\\p{Lu}\\\\p{Lt}][_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"constant.other.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"constant.other.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"$","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#double_colon"},{"include":"#record_decl"},{"include":"#type_signature"}]}]},"infix_op":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"keyword.operator.infix.haskell"}},"match":"((?:(?<!\'\')(\'\')?[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))"},{"captures":{"1":{"name":"punctuation.backtick.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"patterns":[{"include":"#data_constructor"}]},"4":{"name":"punctuation.backtick.haskell"}},"match":"(`)((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([_\\\\p{Ll}\\\\p{Lu}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`)","name":"keyword.operator.function.infix.haskell"}]},"inline_phase":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"name":"meta.inlining-phase.haskell","patterns":[{"match":"~","name":"punctuation.tilde.haskell"},{"include":"#integer_literals"},{"match":"\\\\w*","name":"invalid"}]},"integer_literals":{"captures":{"1":{"name":"constant.numeric.integral.decimal.haskell"},"2":{"name":"constant.numeric.integral.hexadecimal.haskell"},"3":{"name":"constant.numeric.integral.octal.haskell"},"4":{"name":"constant.numeric.integral.binary.haskell"}},"match":"\\\\b(?<!\')(?:([0-9][0-9_]*)|(0[Xx]_*\\\\h[_\\\\h]*)|(0[Oo]_*[0-7][0-7_]*)|(0[Bb]_*[01][01_]*))\\\\b(?!\')"},"keyword":{"captures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"name":"keyword.control.$2.haskell"}},"match":"\\\\b(?<!\')(?:(where|let|in|default)|(m?do|if|then|else|case|of|proc|rec))\\\\b(?!\')"},"layout_herald":{"begin":"(?<!\')\\\\b(?:(where|let|m?do)|(of))\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"name":"keyword.control.of.haskell"},"3":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"$self"},{"match":";","name":"punctuation.semicolon.haskell"}]},"liquid_haskell":{"begin":"\\\\{-@","end":"@-}","name":"block.liquidhaskell.haskell","patterns":[{"include":"$self"}]},"module_exports":{"applyEndPatternLast":1,"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"name":"meta.declaration.exports.haskell","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.module.haskell"}},"match":"\\\\b(?<!\')(module)\\\\b(?!\')"},{"include":"#comma"},{"include":"#export_constructs"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#record_wildcard"},{"include":"#export_constructs"},{"include":"#comma"}]}]},"module_name":{"match":"(?<conid>[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(\\\\.\\\\g<conid>)?)","name":"entity.name.namespace.haskell"},"numeric_literals":{"patterns":[{"include":"#float_literals"},{"include":"#integer_literals"}]},"overloaded_label":{"patterns":[{"captures":{"1":{"name":"keyword.operator.prefix.hash.haskell"},"2":{"patterns":[{"include":"#string_literal"}]}},"match":"(?<![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^(,;\\\\[`{]])(#)(?:(\\"(?:\\\\\\\\\\"|[^\\"])*\\")|[\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]+)","name":"entity.name.label.haskell"}]},"pragma":{"begin":"\\\\{-#","end":"#-}","name":"meta.preprocessor.haskell","patterns":[{"begin":"(?i)\\\\b(?<!\')(LANGUAGE)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"}},"end":"(?=#-})","patterns":[{"match":"(?:No)?(?:AutoDeriveTypeable|DatatypeContexts|DoRec|IncoherentInstances|MonadFailDesugaring|MonoPatBinds|NullaryTypeClasses|OverlappingInstances|PatternSignatures|RecordPuns|RelaxedPolyRec)","name":"invalid.deprecated"},{"captures":{"1":{"name":"keyword.other.preprocessor.extension.haskell"}},"match":"((?:No)?(?:AllowAmbiguousTypes|AlternativeLayoutRule|AlternativeLayoutRuleTransitional|Arrows|BangPatterns|BinaryLiterals|CApiFFI|CPP|CUSKs|ConstrainedClassMethods|ConstraintKinds|DataKinds|DefaultSignatures|DeriveAnyClass|DeriveDataTypeable|DeriveFoldable|DeriveFunctor|DeriveGeneric|DeriveLift|DeriveTraversable|DerivingStrategies|DerivingVia|DisambiguateRecordFields|DoAndIfThenElse|BlockArguments|DuplicateRecordFields|EmptyCase|EmptyDataDecls|EmptyDataDeriving|ExistentialQuantification|ExplicitForAll|ExplicitNamespaces|ExtendedDefaultRules|FlexibleContexts|FlexibleInstances|ForeignFunctionInterface|FunctionalDependencies|GADTSyntax|GADTs|GHCForeignImportPrim|Generali[sz]edNewtypeDeriving|ImplicitParams|ImplicitPrelude|ImportQualifiedPost|ImpredicativeTypes|TypeFamilyDependencies|InstanceSigs|ApplicativeDo|InterruptibleFFI|JavaScriptFFI|KindSignatures|LambdaCase|LiberalTypeSynonyms|MagicHash|MonadComprehensions|MonoLocalBinds|MonomorphismRestriction|MultiParamTypeClasses|MultiWayIf|NumericUnderscores|NPlusKPatterns|NamedFieldPuns|NamedWildCards|NegativeLiterals|HexFloatLiterals|NondecreasingIndentation|NumDecimals|OverloadedLabels|OverloadedLists|OverloadedStrings|PackageImports|ParallelArrays|ParallelListComp|PartialTypeSignatures|PatternGuards|PatternSynonyms|PolyKinds|PolymorphicComponents|QuantifiedConstraints|PostfixOperators|QuasiQuotes|Rank2Types|RankNTypes|RebindableSyntax|RecordWildCards|RecursiveDo|RelaxedLayout|RoleAnnotations|ScopedTypeVariables|StandaloneDeriving|StarIsType|StaticPointers|Strict|StrictData|TemplateHaskell|TemplateHaskellQuotes|StandaloneKindSignatures|TraditionalRecordSyntax|TransformListComp|TupleSections|TypeApplications|TypeInType|TypeFamilies|TypeOperators|TypeSynonymInstances|UnboxedTuples|UnboxedSums|UndecidableInstances|UndecidableSuperClasses|UnicodeSyntax|UnliftedFFITypes|UnliftedNewtypes|ViewPatterns))"},{"include":"#comma"}]},{"begin":"(?i)\\\\b(?<!\')(SPECIALI[SZ]E)(?:\\\\s*(\\\\[[^]\\\\[]*])?\\\\s*|\\\\s+)(instance)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"},"2":{"patterns":[{"include":"#inline_phase"}]},"3":{"name":"keyword.other.instance.haskell"}},"end":"(?=#-})","patterns":[{"include":"#type_signature"}]},{"begin":"(?i)\\\\b(?<!\')(SPECIALI[SZ]E)\\\\b(?!\')(?:\\\\s+(INLINE)\\\\b(?!\'))?\\\\s*(\\\\[[^]\\\\[]*])?\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"},"2":{"name":"keyword.other.preprocessor.pragma.haskell"},"3":{"patterns":[{"include":"#inline_phase"}]}},"end":"(?=#-})","patterns":[{"include":"$self"}]},{"match":"(?i)\\\\b(?<!\')(LANGUAGE|OPTIONS_GHC|INCLUDE|MINIMAL|UNPACK|OVERLAPS|INCOHERENT|NOUNPACK|SOURCE|OVERLAPPING|OVERLAPPABLE|INLINE|NOINLINE|INLINE?ABLE|CONLIKE|LINE|COLUMN|RULES|COMPLETE)\\\\b(?!\')","name":"keyword.other.preprocessor.haskell"},{"begin":"(?i)\\\\b(DEPRECATED|WARNING)\\\\b","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"}},"end":"(?=#-})","patterns":[{"include":"#string_literal"}]}]},"prefix_op":{"patterns":[{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"entity.name.function.infix.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*(?!(?:--+|\\\\.\\\\.)\\\\))(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))\\\\s*(\\\\))"}]},"qualifier":{"match":"\\\\b(?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.","name":"entity.name.namespace.haskell"},"quasi_quote":{"patterns":[{"begin":"(\\\\[)([dep])?(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"entity.name.quasi-quoter.haskell"},"3":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\3]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell","patterns":[{"include":"$self"}]},{"begin":"(\\\\[)(t)(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"entity.name.quasi-quoter.haskell"},"3":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\3]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(\\\\[)(?:(\\\\$\\\\$)|(\\\\$))?([\'._[^\\\\s\\\\p{S}\\\\p{P}]]*)(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"keyword.operator.prefix.double-dollar.haskell"},"3":{"name":"keyword.operator.prefix.dollar.haskell"},"4":{"name":"entity.name.quasi-quoter.haskell","patterns":[{"include":"#qualifier"}]},"5":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\5]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell"}]},"record":{"begin":"(\\\\{)(?!-)","beginCaptures":{"1":{"name":"punctuation.brace.haskell"}},"end":"(?<!-)(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"name":"meta.record.haskell","patterns":[{"include":"#comment_like"},{"include":"#record_field"}]},"record_decl":{"begin":"(\\\\{)(?!-)","beginCaptures":{"1":{"name":"punctuation.brace.haskell"}},"end":"(?<!-)(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"name":"meta.record.definition.haskell","patterns":[{"include":"#comment_like"},{"include":"#record_decl_field"}]},"record_decl_field":{"begin":"([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"variable.other.member.definition.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"variable.other.member.definition.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.comma.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#comma"},{"include":"#double_colon"},{"include":"#type_signature"},{"include":"#record_decl_field"}]},"record_field":{"patterns":[{"begin":"([_\\\\p{Ll}\\\\p{Lu}][\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"variable.other.member.haskell","patterns":[{"include":"#qualifier"}]},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"variable.other.member.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.comma.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#comma"},{"include":"$self"}]},{"include":"#record_wildcard"}]},"record_wildcard":{"captures":{"1":{"name":"variable.other.member.wildcard.haskell"}},"match":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(\\\\.\\\\.)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},"reserved_symbol":{"patterns":[{"captures":{"1":{"name":"keyword.operator.double-dot.haskell"},"2":{"name":"keyword.operator.colon.haskell"},"3":{"name":"keyword.operator.eq.haskell"},"4":{"name":"keyword.operator.lambda.haskell"},"5":{"name":"keyword.operator.pipe.haskell"},"6":{"name":"keyword.operator.arrow.left.haskell"},"7":{"name":"keyword.operator.arrow.haskell"},"8":{"name":"keyword.operator.arrow.left.tail.haskell"},"9":{"name":"keyword.operator.arrow.left.tail.double.haskell"},"10":{"name":"keyword.operator.arrow.tail.haskell"},"11":{"name":"keyword.operator.arrow.tail.double.haskell"},"12":{"name":"keyword.other.forall.haskell"}},"match":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:(\\\\.\\\\.)|(:)|(=)|(\\\\\\\\)|(\\\\|)|(<-|\u2190)|(->|\u2192)|(-<|\u21A2)|(-<<|\u291B)|(>-|\u291A)|(>>-|\u291C)|(\u2200))(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},{"captures":{"1":{"name":"keyword.operator.postfix.hash.haskell"}},"match":"(?<=[[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^#,;\\\\[`{]])(#+)(?![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^]),;`}]])"},{"captures":{"1":{"name":"keyword.operator.infix.tight.at.haskell"}},"match":"(?<=[])_}\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])(@)(?=[(\\\\[_{\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])"},{"captures":{"1":{"name":"keyword.operator.prefix.tilde.haskell"},"2":{"name":"keyword.operator.prefix.bang.haskell"},"3":{"name":"keyword.operator.prefix.minus.haskell"},"4":{"name":"keyword.operator.prefix.dollar.haskell"},"5":{"name":"keyword.operator.prefix.double-dollar.haskell"}},"match":"(?<![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^(,;\\\\[`{]])(?:(~)|(!)|(-)|(\\\\$)|(\\\\$\\\\$))(?=[(\\\\[_{\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])"}]},"role_annotation":{"patterns":[{"begin":"^(\\\\s*)(type)\\\\s+(role)\\\\b(?!\')","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.role.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.role-annotation.haskell","patterns":[{"include":"#comment_like"},{"include":"#type_constructor"},{"captures":{"1":{"name":"keyword.other.role.$1.haskell"}},"match":"\\\\b(?<!\')(nominal|representational|phantom)\\\\b(?!\')"}]}]},"start_type_signature":{"patterns":[{"begin":"^(\\\\s*)(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])\\\\s*","beginCaptures":{"2":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=#?\\\\)|[],]|(?<!\')\\\\b(in|then|else|of)\\\\b(?!\')|(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:([\\\\\\\\\u03BB])|(<-|\u2190)|(=)|(-<|\u21A2)|(-<<|\u291B))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]])|([#@])-}|(?=[;}])|^(?!\\\\1\\\\s*\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$)))","name":"meta.type-declaration.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])","beginCaptures":{"1":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=#?\\\\)|[],]|\\\\b(?<!\')(in|then|else|of)\\\\b(?!\')|([#@])-}|(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:([\\\\\\\\\u03BB])|(<-|\u2190)|(=)|(-<|\u21A2)|(-<<|\u291B))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]])|(?=[;}])|$)","patterns":[{"include":"#type_signature"}]}]},"string_literal":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.haskell"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.haskell"}},"name":"string.quoted.double.haskell","patterns":[{"match":"\\\\\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&\'\\\\\\\\abfnrtv])","name":"constant.character.escape.haskell"},{"match":"\\\\\\\\(?:o[0-7]+|x\\\\h+|[0-9]+)","name":"constant.character.escape.octal.haskell"},{"match":"\\\\\\\\\\\\^[@-_]","name":"constant.character.escape.control.haskell"},{"begin":"\\\\\\\\\\\\s","beginCaptures":{"0":{"name":"constant.character.escape.begin.haskell"}},"end":"\\\\\\\\","endCaptures":{"0":{"name":"constant.character.escape.end.haskell"}},"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.haskell"}]}]},"type_application":{"patterns":[{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(\')?(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"},"2":{"name":"keyword.operator.promotion.haskell"},"3":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(\')?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"},"2":{"name":"keyword.operator.promotion.haskell"},"3":{"name":"punctuation.bracket.haskell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(?=\\")","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"}},"end":"(?<=\\")","name":"meta.type-application.haskell","patterns":[{"include":"#string_literal"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(?=[\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"}},"end":"(?![\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])","name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]}]},"type_constructor":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"storage.type.haskell"}},"match":"(\')?((?:\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)\\\\b([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"entity.name.namespace.haskell"},"4":{"name":"storage.type.operator.haskell"},"5":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))"}]},"type_operator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"storage.type.operator.infix.haskell"}},"match":"(?:(?<!\')(\'))?((?:\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)(?![#@]?-})(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.backtick.haskell"},"3":{"name":"entity.name.namespace.haskell"},"4":{"name":"storage.type.infix.haskell"},"5":{"name":"punctuation.backtick.haskell"}},"match":"(\')?(`)((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`)"}]},"type_signature":{"patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*(\\\\))","name":"support.constant.unit.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"support.constant.unit.unboxed.haskell"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*,[,\\\\s]*(\\\\))","name":"support.constant.tuple.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"support.constant.unit.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*,[,\\\\s]*(#)(\\\\))","name":"support.constant.tuple.unboxed.haskell"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"},"3":{"name":"punctuation.bracket.haskell"}},"match":"(\')?(\\\\[)\\\\s*(])","name":"support.constant.empty-list.haskell"},{"include":"#integer_literals"},{"match":"(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","name":"keyword.operator.double-colon.haskell"},{"include":"#forall"},{"match":"=>|\u21D2","name":"keyword.operator.big-arrow.haskell"},{"include":"#string_literal"},{"match":"\'[^\']\'","name":"invalid"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#type_operator"},{"include":"#type_constructor"},{"begin":"(\\\\()(#)","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(\')?(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(\')?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"include":"#type_variable"}]},"type_variable":{"match":"\\\\b(?<!\')(?!(?:forall|deriving)\\\\b(?!\'))[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"variable.other.generic-type.haskell"},"where":{"patterns":[{"begin":"(?<!\')\\\\b(where)\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.where.haskell"},"2":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"$self"},{"match":";","name":"punctuation.semicolon.haskell"}]},{"match":"\\\\b(?<!\')(where)\\\\b(?!\')","name":"keyword.other.where.haskell"}]}},"scopeName":"source.haskell","aliases":["hs"]}')),qV=[VV]});var yx={};u1(yx,{default:()=>BV});var IV,BV,_x=n1(()=>{Da();IV=Object.freeze(JSON.parse('{"displayName":"F#","name":"fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"begin":"\\\\b(static\\\\s+)?(abstract)\\\\s+(member)?(\\\\s+\\\\[<.*>])?\\\\s*([,.0-9_`[:alpha:]\\\\s]+)(<)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(with)\\\\b|=|$","endCaptures":{"1":{"name":"keyword.fsharp"}},"name":"abstract.definition.fsharp","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(\\\\??)([ \'.0-9^_`[:alpha:]]+)\\\\s*(:)((?!with\\\\b)\\\\b([ \'.0-9^_`\\\\w]+))?"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"(?!with|get|set\\\\b)\\\\s*([\'.0-9^_`\\\\w]+)"},{"include":"#keywords"}]},"anonymous_functions":{"patterns":[{"begin":"\\\\b(fun)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"(->)","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"name":"function.anonymous","patterns":[{"include":"#comments"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(->))","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#variables"}]}]},"anonymous_record_declaration":{"begin":"(\\\\{\\\\|)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\|})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(:)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]},"attributes":{"patterns":[{"begin":"\\\\[<","end":">?]","name":"support.function.attribute.fsharp","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"captures":{"0":{"name":"keyword.fsharp"}},"match":"\\\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\\\s*\\\\{)","name":"cexpr.fsharp"}]},"chars":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"}},"match":"(\'\\\\\\\\?.\')","name":"char.fsharp"}]},"comments":{"patterns":[{"begin":"^\\\\s*(\\\\(\\\\*\\\\*(?!\\\\)))((?!\\\\*\\\\)).)*$","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"^(?!\\\\s*(\\\\*)+\\\\)\\\\s*$)","whileCaptures":{"1":{"name":"comment.block.fsharp"}}},{"begin":"(\\\\(\\\\*(?!\\\\)))","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"end":"(\\\\*+\\\\))","endCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.fsharp","patterns":[{"comments":"Capture // when inside of (* *) like that the rule which capture comments starting by // is not trigger. See https://github.com/ionide/ionide-fsgrammar/issues/155","match":"//","name":"fast-capture.comment.line.double-slash.fsharp"},{"comments":"Capture (*) when inside of (* *) so that it doesn\'t prematurely end the comment block.","match":"\\\\(\\\\*\\\\)","name":"fast-capture.comment.line.mul-operator.fsharp"},{"include":"#comments"}]},{"captures":{"1":{"name":"comment.block.fsharp"}},"match":"((?<!\\\\()(\\\\*)+\\\\))","name":"comment.block.markdown.fsharp.end"},{"begin":"(?<![!%\\\\&+-/<-@^|])///(?!/)","name":"comment.line.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"(?<![!%\\\\&+-/<-@^|])///(?!/)"},{"match":"(?<![!%\\\\&+-/<-@^|])//(.*)$","name":"comment.line.double-slash.fsharp"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"begin":"(:)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([ \'.0-9?^_`[:alpha:]]*)))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(:)\\\\s*(\\\\^[\'.0-9_[:alpha:]]+)\\\\s*(when)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"end":"(?=:)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9^_[:alpha:]]+)"},{"match":"([()])","name":"keyword.symbol.fsharp"}]},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(:)\\\\s*([ \'.0-9?^_`[:alpha:]]+)(\\\\|\\\\s*(null))?"},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"(->)\\\\s*(\\\\()?\\\\s*([ \'.0-9?^_`[:alpha:]]+)*"},{"begin":"(\\\\*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([ \'.0-9?^_`[:alpha:]]+))*)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(\\\\*)(\\\\s*([ \'.0-9?^_`[:alpha:]]+))*","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"end":"(?==)|(?=\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(<+(?!\\\\s*\\\\)))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"beginComment":"The group (?![[:space:]]*\\\\) is for protection against overload operator. static member (<)","end":"((?<!:)>|\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endComment":"The group (?<!:) prevent us from stopping on :> when using SRTP synthax","patterns":[{"include":"#generic_declaration"}]},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#record_signature"}]},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\\\s*(->)\\\\s*([ \'.0-9^_`[:alpha:]]+)(<)","beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"match":"\\\\s*(->)\\\\s*(?!with|get|set\\\\b)\\\\b([\'.0-9^_`\\\\w]+)"},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\??)([ \'.0-9^_`[:alpha:]]+)\\\\s*(:)(\\\\s*([ \'.0-9?^_`[:alpha:]]+)(<))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]}]},"compiler_directives":{"patterns":[{"captures":{},"match":"\\\\s?(#(?:if|elif|elseif|else|endif|light|nowarn|warnon))","name":"keyword.control.directive.fsharp"}]},"constants":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"match":"\\\\b-?[0-9][0-9_]*((\\\\.(?!\\\\.)([0-9][0-9_]*([Ee][-+]??[0-9][0-9_]*)?)?)|([Ee][-+]??[0-9][0-9_]*))","name":"constant.numeric.float.fsharp"},{"match":"\\\\b(-?((0([Xx])\\\\h[_\\\\h]*)|(0([Oo])[0-7][0-7_]*)|(0([Bb])[01][01_]*)|([0-9][0-9_]*)))","name":"constant.numeric.integer.nativeint.fsharp"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.fsharp"},{"match":"\\\\b(null|void)\\\\b","name":"constant.other.fsharp"}]},"definition":{"patterns":[{"begin":"\\\\b(let mutable|static let mutable|static let|let inline|let|and inline|and|member val|member inline|static member inline|static member val|static member|default|member|override|let!)(\\\\s+rec|mutable)?(\\\\s+\\\\[<.*>])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\s*((with(?: inline|))\\\\b|(=|\\\\n+=|(?<==)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(use!??|and!??)\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"\\\\s*(=)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"(?<=with|and)\\\\s*\\\\b(([gs]et)\\\\s*(?=\\\\())(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"4":{"name":"variable.fsharp"}},"end":"\\\\s*(=|\\\\n+=|(?<==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(static val mutable|val mutable|val inline|val)(\\\\s+rec|mutable)?(\\\\s+\\\\[<.*>])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([,.0-9_[:alpha:]]+)*|``[_[:alpha:]]([,.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\n$","name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(new)\\\\b\\\\s+(\\\\()","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]}]},"double_tick":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}},"match":"(``)([^`]*)(``)","name":"variable.other.binding.fsharp"}]},"du_declaration":{"patterns":[{"begin":"\\\\b(of)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"$|(\\\\|)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"du_declaration.fsharp","patterns":[{"include":"#comments"},{"captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)\\\\s*(:)\\\\s*([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(``([ \'.0-9^_[:alpha:]]+)``|[\'.0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]}]},"generic_declaration":{"patterns":[{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"match":"\\\\b(private|to|public|internal|function|yield!?|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let!|return!?|interface|with|abstract|enum|member|try|finally|and|when|or|use!??|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":":","name":"keyword.symbol.fsharp"},{"include":"#constants"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"include":"#tuple_signature"},{"include":"#generic_declaration"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words are allowed","match":"(?!when|and|or\\\\b)\\\\b([\'.0-9^_`\\\\w]+)"},{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"comments":"Prevent captures of `|>` as a keyword when defining custom operator like `<|>`","match":"(\\\\|)"},{"include":"#keywords"}]},"keywords":{"patterns":[{"match":"\\\\b(private|public|internal)\\\\b","name":"storage.modifier"},{"match":"\\\\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use!??|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":"\\\\b(match|yield!??|with|if|then|else|elif|for|in|return!?|try|finally|while|do)(?!\')\\\\b","name":"keyword.control"},{"match":"(->|<-)","name":"keyword.symbol.arrow.fsharp"},{"match":"[.?]*(&&&|\\\\|\\\\|\\\\||\\\\^\\\\^\\\\^|~~~|~\\\\+|~-|<<<|>>>|\\\\|>|:>|:\\\\?>|[]:;\\\\[]|<>|[=@]|\\\\|\\\\||&&|[%\\\\&_{|}]|\\\\.\\\\.|[!*-\\\\-/>^]|>=|>>|<=??|[()]|<<)[.?]*","name":"keyword.symbol.fsharp"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"match":"([()])","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"},"7":{"name":"entity.name.type.fsharp"}},"match":"(\\\\??)([\'.0-9^_`[:alpha:]]+|``[ \',.0-:^_`[:alpha:]]+``)\\\\s*(:?)(\\\\s*([ \'.0-9<>?_`[:alpha:]]+))?(\\\\|\\\\s*(null))?"},{"include":"#keywords"}]},"modules":{"patterns":[{"begin":"\\\\b(?:(namespace global)|(namespace|module)\\\\s*(public|internal|private|rec)?\\\\s+([`|[:alpha:]][ \'.0-9_[:alpha:]]*))","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s?=|\\\\s|$)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"entity.name.section.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]},{"begin":"\\\\b(open(?: type|))\\\\s+([`|[:alpha:]][\'0-9_[:alpha:]]*)(?=(\\\\.[A-Z][0-9_[:alpha:]]*)*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.open.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)(\\\\p{alpha}[\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"},{"include":"#comments"}]},{"begin":"^\\\\s*(module)\\\\s+([A-Z][\'0-9_[:alpha:]]*)\\\\s*(=)\\\\s*([A-Z][\'0-9_[:alpha:]]*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.alias.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]}]},"record_declaration":{"patterns":[{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(?<=})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\\\s\\\\p{alpha}+)|[\'.0-9<>^_`[:alpha:]]*)\\\\s*((?<!:):(?!:))\\\\s*","beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"end":"$|([;}])","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]}]},"record_signature":{"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(=)([ \'0-9^_`[:alpha:]]+)"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(=)([ \'0-9^_`[:alpha:]]+)"},{"include":"#record_signature"}]},{"include":"#keywords"}]},"records":{"patterns":[{"begin":"\\\\b(type)\\\\s+(private|internal|public)?\\\\s*","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"end":"\\\\s*((with)|((as)\\\\s+([\'0-9[:alpha:]]+))|(=)|[\\\\n=]|(\\\\(\\\\)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"keyword.symbol.fsharp"}},"name":"record.fsharp","patterns":[{"include":"#comments"},{"include":"#attributes"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9^_[:alpha:]]+|``[ \',.0-:^_`[:alpha:]]+``)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"((?<!:)>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])``[ ,.0-:^_`[:alpha:]]+``|([\'^])[.0-:^_`[:alpha:]]+)"},{"match":"\\\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.fsharp"}},"match":"(static member|member|new)"},{"include":"#common_binding_definition"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"([\'.0-9^_`\\\\w]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"storage.modifier.fsharp"}},"match":"\\\\s*(private|internal|public)"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(=)|[\\\\n=]|(\\\\(\\\\))|(as))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#keywords"}]}]},"string_formatter":{"patterns":[{"captures":{"1":{"name":"keyword.format.specifier.fsharp"}},"match":"(%0?-?(\\\\d+)?(([at])|(\\\\.\\\\d+)?([EFGMefg])|([Xbcdiosux])|([Obs])|(\\\\+?A)))","name":"entity.name.type.format.specifier.fsharp"}]},"strings":{"patterns":[{"begin":"(?=[^\\\\\\\\])(@\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")(?!\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.literal.fsharp","patterns":[{"match":"\\"(\\")","name":"constant.character.string.escape.fsharp"}]},{"begin":"(?=[^\\\\\\\\])(\\"\\"\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\"\\"\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.triple.fsharp","patterns":[{"include":"#string_formatter"}]},{"begin":"(?=[^\\\\\\\\])(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.double.fsharp","patterns":[{"match":"\\\\\\\\$[\\\\t ]*","name":"punctuation.separator.string.ignore-eol.fsharp"},{"match":"\\\\\\\\([\\"\'\\\\\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x\\\\h{2})|(u\\\\h{4})|(U00(0\\\\h|10)\\\\h{4}))","name":"constant.character.string.escape.fsharp"},{"match":"\\\\\\\\(([0-9]{1,3})|(x\\\\S{0,2})|(u\\\\S{0,4})|(U\\\\S{0,8})|\\\\S)","name":"invalid.illegal.character.string.fsharp"},{"include":"#string_formatter"}]}]},"strp_inlined":{"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]},{"captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"match":"((?:static |)member)\\\\s*([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)\\\\s*(:)"},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"match":"\\\\\\\\","name":"text.fsharp"}]},"tuple_signature":{"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"include":"#keywords"}]},"variables":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"(\\\\??)(``[ \',.0-:^_`[:alpha:]]+``|(?!private|struct\\\\b)\\\\b[ \'.0-9<>^_`\\\\w[:alpha:]]+)"}]}},"scopeName":"source.fsharp","embeddedLangs":["markdown"],"aliases":["f#","fs"]}')),BV=[...g7,IV]});var wx={};u1(wx,{default:()=>RV});var PV,RV,xx=n1(()=>{PV=Object.freeze(JSON.parse('{"displayName":"Visual Basic","name":"vb","patterns":[{"match":"\\\\n","name":"meta.ending-space"},{"include":"#round-brackets"},{"begin":"^(?=\\\\t)","end":"(?=[^\\\\t])","name":"meta.leading-space","patterns":[{"captures":{"1":{"name":"meta.odd-tab.tabs"},"2":{"name":"meta.even-tab.tabs"}},"match":"(\\\\t)(\\\\t)?"}]},{"begin":"^(?= )","end":"(?=[^ ])","name":"meta.leading-space","patterns":[{"captures":{"1":{"name":"meta.odd-tab.spaces"},"2":{"name":"meta.even-tab.spaces"}},"match":"( )( )?"}]},{"captures":{"1":{"name":"storage.type.function.asp"},"2":{"name":"entity.name.function.asp"},"3":{"name":"punctuation.definition.parameters.asp"},"4":{"name":"variable.parameter.function.asp"},"5":{"name":"punctuation.definition.parameters.asp"}},"match":"^\\\\s*((?i:function|sub))\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(\\\\()([^)]*)(\\\\)).*\\\\n?","name":"meta.function.asp"},{"begin":"(^[\\\\t ]+)?(?=\')","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.asp"}},"end":"(?!\\\\G)","patterns":[{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.comment.asp"}},"end":"\\\\n","name":"comment.line.apostrophe.asp"}]},{"match":"(?i:\\\\b(If|Then|Else|ElseIf|Else If|End If|While|Wend|For|To|Each|Case|Select|End Select|Return|Continue|Do|Until|Loop|Next|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf)\\\\b)","name":"keyword.control.asp"},{"match":"(?i:\\\\b(Mod|And|Not|Or|Xor|as)\\\\b)","name":"keyword.operator.asp"},{"captures":{"1":{"name":"storage.type.asp"},"2":{"name":"variable.other.bfeac.asp"},"3":{"name":"meta.separator.comma.asp"}},"match":"(?i:(dim)\\\\s*\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b\\\\s*(,?))","name":"variable.other.dim.asp"},{"match":"(?i:\\\\s*\\\\b(Call|Class|Const|Dim|Redim|Function|Sub|Private Sub|Public Sub|End Sub|End Function|End Class|End Property|Public Property|Private Property|Set|Let|Get|New|Randomize|Option Explicit|On Error Resume Next|On Error GoTo)\\\\b\\\\s*)","name":"storage.type.asp"},{"match":"(?i:\\\\b(Private|Public|Default)\\\\b)","name":"storage.modifier.asp"},{"match":"(?i:\\\\s*\\\\b(Empty|False|Nothing|Null|True)\\\\b)","name":"constant.language.asp"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.asp"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.asp"}},"name":"string.quoted.double.asp","patterns":[{"match":"\\"\\"","name":"constant.character.escape.apostrophe.asp"}]},{"captures":{"1":{"name":"punctuation.definition.variable.asp"}},"match":"(\\\\$)[7A-Z_a-z][0-9A-Z_a-z]*?\\\\b\\\\s*","name":"variable.other.asp"},{"match":"(?i:\\\\b(Application|ObjectContext|Request|Response|Server|Session)\\\\b)","name":"support.class.asp"},{"match":"(?i:\\\\b(Contents|StaticObjects|ClientCertificate|Cookies|Form|QueryString|ServerVariables)\\\\b)","name":"support.class.collection.asp"},{"match":"(?i:\\\\b(TotalBytes|Buffer|CacheControl|Charset|ContentType|Expires|ExpiresAbsolute|IsClientConnected|PICS|Status|ScriptTimeout|CodePage|LCID|SessionID|Timeout)\\\\b)","name":"support.constant.asp"},{"match":"(?i:\\\\b(Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|End|Flush|Redirect|Write|CreateObject|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex)\\\\b)","name":"support.function.asp"},{"match":"(?i:\\\\b(Application_OnEnd|Application_OnStart|OnTransactionAbort|OnTransactionCommit|Session_OnEnd|Session_OnStart)\\\\b)","name":"support.function.event.asp"},{"match":"(?i:(?<=as )\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b)","name":"support.type.vb.asp"},{"match":"(?i:\\\\b(Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CreateObject|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exists|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetObject|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsArray|IsDate|IsEmpty|IsNull|IsNumeric|IsObject|Items??|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|LTrim|RTrim|Trim|Maths|Mid|Minute|Month|MonthName|MsgBox|Now|Oct|Remove|RemoveAll|Replace|RGB|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Split|Sqr|StrComp|String|StrReverse|Tan|Timer??|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year)\\\\b)","name":"support.function.vb.asp"},{"match":"-?\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\\\\b","name":"constant.numeric.asp"},{"match":"(?i:\\\\b(vbtrue|vbfalse|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|int32|vbtab|vbverticaltab|vbbinarycompare|vbtextcomparevbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant|vbDataObject|vbDecimal|vbByte|vbArray)\\\\b)","name":"support.type.vb.asp"},{"captures":{"1":{"name":"entity.name.function.asp"}},"match":"(?i:\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?=\\\\(\\\\)?))","name":"support.function.asp"},{"match":"(?i:((?<=([-\\\\&(+,/<=>\\\\\\\\]))\\\\s*\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?!([(.]))|\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?=\\\\s*([-\\\\&()+/<=>\\\\\\\\]))))","name":"variable.other.asp"},{"match":"[!$%\\\\&*]|--?|\\\\+\\\\+|[+~]|===?|=|!==??|<=|>=|<<=|>>=|>>>=|<>|[!<>]|&&|\\\\|\\\\||\\\\?:|\\\\*=|/=|%=|\\\\+=|-=|&=|\\\\^=|\\\\b(in|instanceof|new|delete|typeof|void)\\\\b","name":"keyword.operator.js"}],"repository":{"round-brackets":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.round-brackets.begin.asp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.round-brackets.end.asp"}},"name":"meta.round-brackets","patterns":[{"include":"source.asp.vb.net"}]}},"scopeName":"source.asp.vb.net"}')),RV=[PV]});var kx={};u1(kx,{default:()=>GV});var DV,GV,zx=n1(()=>{u4();rt();Ve();ee();st();DV=Object.freeze(JSON.parse('{"displayName":"Perl","name":"perl","patterns":[{"include":"#line_comment"},{"begin":"^(?==[A-Za-z]+)","end":"^(=cut\\\\b.*)$","endCaptures":{"1":{"patterns":[{"include":"#pod"}]}},"name":"comment.block.documentation.perl","patterns":[{"include":"#pod"}]},{"include":"#variable"},{"applyEndPatternLast":1,"begin":"\\\\b(?=qr\\\\s*[^\\\\s\\\\w])","end":"((([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[#),;{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.compile.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(qr)\\\\s*\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.compile.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"(qr)\\\\s*\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.compile.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"(qr)\\\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.compile.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"(qr)\\\\s*\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\)","name":"string.regexp.compile.nested_parens.perl","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[\\\\\\\\{\\\\s\\\\w])"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"(qr)\\\\s*\'","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\'","name":"string.regexp.compile.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"(qr)\\\\s*([^\'(<\\\\[{\\\\s\\\\w])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\2","name":"string.regexp.compile.simple-delimiter.perl","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[{\\\\s\\\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]}]},{"applyEndPatternLast":1,"begin":"(?<![-+{])\\\\b(?=m\\\\s*[^0-9A-Za-z\\\\s])","end":"((([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[#),;{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.find-m.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(m)\\\\s*\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.find-m.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"(m)\\\\s*\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.find-m.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"(m)\\\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.find-m.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"(m)\\\\s*\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\)","name":"string.regexp.find-m.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"(m)\\\\s*\'","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\'","name":"string.regexp.find-m.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\G(?<![-+{])(m)(?!_)\\\\s*([^\'(0-9<A-\\\\[a-{\\\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\2","name":"string.regexp.find-m.simple-delimiter.perl","patterns":[{"match":"\\\\$(?=[^\'(0-9<A-\\\\[a-{\\\\s])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"begin":"\\\\[","beginCaptures":{"1":{"name":"punctuation.definition.character-class.begin.perl"}},"end":"]","endCaptures":{"1":{"name":"punctuation.definition.character-class.end.perl"}},"name":"constant.other.character-class.set.perl","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[{\\\\s\\\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"}]},{"include":"#nested_parens_interpolated"}]}]},{"applyEndPatternLast":1,"begin":"\\\\b(?=(?<!&)(s)(\\\\s+\\\\S|\\\\s*[(),;<\\\\[{}]|$))","end":"((([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[]),;>{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s)\\\\s*\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces"}]},{"begin":"(s)\\\\s*\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets"}]},{"begin":"(s)\\\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt"}]},{"begin":"(s)\\\\s*\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\)","name":"string.regexp.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens"}]},{"begin":"\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"}","name":"string.regexp.format.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"]","name":"string.regexp.format.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"<","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":">","name":"string.regexp.format.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\)","name":"string.regexp.format.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"\'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\'","name":"string.regexp.format.single_quote.perl","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.perl"}]},{"begin":"([^(;<\\\\[{\\\\s\\\\w])","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\1","name":"string.regexp.format.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"match":"\\\\s+"}]},{"begin":"\\\\b(?=s([^(0-9<A-\\\\[a-{\\\\s]).*\\\\1([acdegil-prsux]*)([),;}]|\\\\s+))","end":"((([acdegil-prsux]*)))(?=([),;}]|\\\\s+|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s\\\\s*)([^(0-9<A-\\\\[a-{\\\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"(?=\\\\2)","name":"string.regexp.replaceXXX.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\'","name":"string.regexp.replaceXXX.format.single_quote.perl","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.perl.perl"}]},{"begin":"([^(0-9<A-\\\\[a-{\\\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\1","name":"string.regexp.replaceXXX.format.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},{"begin":"\\\\b(?=(?<!\\\\\\\\)s\\\\s*([^(<>\\\\[{\\\\s\\\\w]))","end":"((([acdegilmoprsu]*x[acdegilmoprsu]*)))\\\\b","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s)\\\\s*(.)","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"(?=\\\\2)","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\'(?=[acdegilmoprsu]*x[acdegilmoprsu]*)\\\\b","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"(.)","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\1(?=[acdegilmoprsu]*x[acdegilmoprsu]*)\\\\b","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},{"begin":"(?<=[\\\\&({|~]|if|unless|^)\\\\s*((/))","beginCaptures":{"1":{"name":"string.regexp.find.perl"},"2":{"name":"punctuation.definition.string.perl"}},"contentName":"string.regexp.find.perl","end":"((\\\\1([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[#),;{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.find.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"match":"\\\\$(?=/)","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"}]},{"captures":{"1":{"name":"constant.other.key.perl"}},"match":"\\\\b(\\\\w+)\\\\s*(?==>)"},{"match":"(?<=\\\\{)\\\\s*\\\\w+\\\\s*(?=})","name":"constant.other.bareword.perl"},{"captures":{"1":{"name":"keyword.control.perl"},"2":{"name":"entity.name.type.class.perl"}},"match":"^\\\\s*(package)\\\\s+([^;\\\\s]+)","name":"meta.class.perl"},{"captures":{"1":{"name":"storage.type.sub.perl"},"2":{"name":"entity.name.function.perl"},"3":{"name":"storage.type.method.perl"}},"match":"\\\\b(sub)(?:\\\\s+([-0-9A-Z_a-z]+))?\\\\s*(?:\\\\([$*;@]*\\\\))?[^{\\\\w]","name":"meta.function.perl"},{"captures":{"1":{"name":"entity.name.function.perl"},"2":{"name":"punctuation.definition.parameters.perl"},"3":{"name":"variable.parameter.function.perl"}},"match":"^\\\\s*(BEGIN|UNITCHECK|CHECK|INIT|END|DESTROY)\\\\b","name":"meta.function.perl"},{"begin":"^(?=(\\\\t| {4}))","end":"(?=[^\\\\t\\\\s])","name":"meta.leading-tabs","patterns":[{"captures":{"1":{"name":"meta.odd-tab"},"2":{"name":"meta.even-tab"}},"match":"(\\\\t| {4})(\\\\t| {4})?"}]},{"captures":{"1":{"name":"support.function.perl"},"2":{"name":"punctuation.definition.string.perl"},"5":{"name":"punctuation.definition.string.perl"},"8":{"name":"punctuation.definition.string.perl"}},"match":"\\\\b(tr|y)\\\\s*([^0-9A-Za-z\\\\s])(.*?)(?<!\\\\\\\\)(\\\\\\\\{2})*(\\\\2)(.*?)(?<!\\\\\\\\)(\\\\\\\\{2})*(\\\\2)","name":"string.regexp.replace.perl"},{"match":"\\\\b(__(?:FILE|LINE|PACKAGE|SUB)__)\\\\b","name":"constant.language.perl"},{"begin":"\\\\b(__(?:DATA__|END__))\\\\n?","beginCaptures":{"1":{"name":"constant.language.perl"}},"contentName":"comment.block.documentation.perl","end":"\\\\z","patterns":[{"include":"#pod"}]},{"match":"(?<!->)\\\\b(continue|default|die|do|else|elsif|exit|for|foreach|given|goto|if|last|next|redo|return|select|unless|until|wait|when|while|switch|case|require|use|eval)\\\\b","name":"keyword.control.perl"},{"match":"\\\\b(my|our|local)\\\\b","name":"storage.modifier.perl"},{"match":"(?<!\\\\w)-[ABCMORSTWXb-gklopr-uwxz]\\\\b","name":"keyword.operator.filetest.perl"},{"match":"\\\\b(and|or|xor|as|not)\\\\b","name":"keyword.operator.logical.perl"},{"match":"((?:<=|[-=])>)","name":"keyword.operator.comparison.perl"},{"include":"#heredoc"},{"begin":"\\\\bqq\\\\s*([^(<\\\\[{\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*([^\'(<\\\\[{\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.double.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqw?\\\\s*([^(<\\\\[{\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q.perl"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.single.perl","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.perl"}]},{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqq\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-paren.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqq\\\\s*\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-brace.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqq\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-bracket.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqq\\\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt_interpolated"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqx\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-paren.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-brace.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-bracket.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt_interpolated"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqw?\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-paren.perl","patterns":[{"include":"#nested_parens"}]},{"begin":"\\\\bqw?\\\\s*\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-brace.perl","patterns":[{"include":"#nested_braces"}]},{"begin":"\\\\bqw?\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-bracket.perl","patterns":[{"include":"#nested_brackets"}]},{"begin":"\\\\bqw?\\\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-ltgt.perl","patterns":[{"include":"#nested_ltgt"}]},{"begin":"^__\\\\w+__","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"$","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.unquoted.program-block.perl"},{"begin":"\\\\b(format)\\\\s+(\\\\w+)\\\\s*=","beginCaptures":{"1":{"name":"support.function.perl"},"2":{"name":"entity.name.function.format.perl"}},"end":"^\\\\.\\\\s*$","name":"meta.format.perl","patterns":[{"include":"#line_comment"},{"include":"#variable"}]},{"captures":{"1":{"name":"support.function.perl"},"2":{"name":"entity.name.function.perl"}},"match":"\\\\b(x)\\\\s*(\\\\d+)\\\\b"},{"match":"\\\\b(ARGV|DATA|ENV|SIG|STDERR|STDIN|STDOUT|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|cmp|connect|cos|crypt|dbmclose|dbmopen|defined|delete|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eq|eval|exec|exists|exp|fcntl|fileno|flock|fork|formline|ge|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|grep|gt|hex|import|index|int|ioctl|join|keys|kill|lc|lcfirst|le|length|link|listen|local|localtime|log|lstat|lt|m|map|mkdir|msgctl|msgget|msgrcv|msgsnd|ne|no|oct|open|opendir|ord|pack|pipe|pop|pos|printf??|push|quotemeta|rand|read|readdir|readlink|recv|ref|rename|reset|reverse|rewinddir|rindex|rmdir|s|say|scalar|seek|seekdir|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|substr|symlink|syscall|sysopen|sysread|system|syswrite|tell|telldir|tied??|times??|tr|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|utime|values|vec|waitpid|wantarray|warn|write|y)\\\\b","name":"support.function.perl"},{"captures":{"1":{"name":"punctuation.section.scope.begin.perl"},"2":{"name":"punctuation.section.scope.end.perl"}},"match":"(\\\\{)(})"},{"captures":{"1":{"name":"punctuation.section.scope.begin.perl"},"2":{"name":"punctuation.section.scope.end.perl"}},"match":"(\\\\()(\\\\))"}],"repository":{"escaped_char":{"patterns":[{"match":"\\\\\\\\\\\\d+","name":"constant.character.escape.perl"},{"match":"\\\\\\\\c[^\\\\\\\\\\\\s]","name":"constant.character.escape.perl"},{"match":"\\\\\\\\g(?:\\\\{(?:\\\\w*|-\\\\d+)}|\\\\d+)","name":"constant.character.escape.perl"},{"match":"\\\\\\\\k(?:\\\\{\\\\w*}|<\\\\w*>|\'\\\\w*\')","name":"constant.character.escape.perl"},{"match":"\\\\\\\\N\\\\{[^}]*}","name":"constant.character.escape.perl"},{"match":"\\\\\\\\o\\\\{\\\\d*}","name":"constant.character.escape.perl"},{"match":"\\\\\\\\[Pp](?:\\\\{\\\\w*}|P)","name":"constant.character.escape.perl"},{"match":"\\\\\\\\x(?:[0-9A-Za-z]{2}|\\\\{\\\\w*})?","name":"constant.character.escape.perl"},{"match":"\\\\\\\\.","name":"constant.character.escape.perl"}]},"heredoc":{"patterns":[{"begin":"((((<<(~)?) *\')(HTML)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\\\n","name":"text.html.basic","patterns":[{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *\')(XML)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\\\n","name":"text.xml","patterns":[{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *\')(CSS)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\\\n","name":"source.css","patterns":[{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *\')(JAVASCRIPT)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\\\n","name":"source.js","patterns":[{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *\')(SQL)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\\\n","name":"source.sql","patterns":[{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *\')(POSTSCRIPT)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\\\n","name":"source.postscript","patterns":[{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *\')([^\']*)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}}},{"begin":"((((<<(~)?) *\\\\\\\\)((?![ $(=\\\\d])[^\\"\'),;`\\\\s]*)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}}},{"begin":"((((<<(~)?) *\\")(HTML)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\\\n","name":"text.html.basic","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *\\")(XML)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\\\n","name":"text.xml","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *\\")(CSS)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\\\n","name":"source.css","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *\\")(JAVASCRIPT)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\\\n","name":"source.js","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *\\")(SQL)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\\\n","name":"source.sql","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *\\")(POSTSCRIPT)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\\\n","name":"source.postscript","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *\\")([^\\"]*)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"((((<<(~)?) *)(HTML)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\\\n","name":"text.html.basic","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *)(XML)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\\\n","name":"text.xml","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *)(CSS)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\\\n","name":"source.css","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *)(JAVASCRIPT)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\\\n","name":"source.js","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *)(SQL)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\\\n","name":"source.sql","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *)(POSTSCRIPT)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\\\n","name":"source.postscript","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *)((?![ $(=\\\\d])[^\\"\'),;`\\\\s]*)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"((((<<(~)?) *`)([^`]*)(`)))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.shell.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},"line_comment":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.perl"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.perl"}},"end":"\\\\n","name":"comment.line.number-sign.perl"}]}]},"nested_braces":{"begin":"\\\\{","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"}","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces"}]},"nested_braces_interpolated":{"begin":"\\\\{","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"}","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},"nested_brackets":{"begin":"\\\\[","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"]","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets"}]},"nested_brackets_interpolated":{"begin":"\\\\[","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"]","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},"nested_ltgt":{"begin":"<","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":">","patterns":[{"include":"#nested_ltgt"}]},"nested_ltgt_interpolated":{"begin":"<","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":">","patterns":[{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},"nested_parens":{"begin":"\\\\(","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"\\\\)","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens"}]},"nested_parens_interpolated":{"begin":"\\\\(","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"\\\\)","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[{\\\\s\\\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},"pod":{"patterns":[{"match":"^=(pod|back|cut)\\\\b","name":"storage.type.class.pod.perl"},{"begin":"^(=begin)\\\\s+(html)\\\\s*$","beginCaptures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl"}},"contentName":"text.embedded.html.basic","end":"^(?:(=end)\\\\s+(html)|(?==cut))","endCaptures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl"}},"name":"meta.embedded.pod.perl","patterns":[{"include":"text.html.basic"}]},{"captures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl","patterns":[{"include":"#pod-formatting"}]}},"match":"^(=(?:head[1-4]|item|over|encoding|begin|end|for))\\\\b\\\\s*(.*)"},{"include":"#pod-formatting"}]},"pod-formatting":{"patterns":[{"captures":{"1":{"name":"markup.italic.pod.perl"},"2":{"name":"markup.italic.pod.perl"}},"match":"I(?:<([^<>]+)>|<+(\\\\s+(?:(?<!\\\\s)>|[^>])+\\\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.bold.pod.perl"},"2":{"name":"markup.bold.pod.perl"}},"match":"B(?:<([^<>]+)>|<+(\\\\s+(?:(?<!\\\\s)>|[^>])+\\\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.raw.pod.perl"},"2":{"name":"markup.raw.pod.perl"}},"match":"C(?:<([^<>]+)>|<+(\\\\\\\\s+(?:(?<!\\\\\\\\s)>|[^>])+\\\\\\\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.underline.link.hyperlink.pod.perl"}},"match":"L<([^>]+)>","name":"entity.name.type.instance.pod.perl"},{"match":"[EFSXZ]<[^>]*>","name":"entity.name.type.instance.pod.perl"}]},"variable":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)&(?![0-9A-Z_a-z])","name":"variable.other.regexp.match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)`(?![0-9A-Z_a-z])","name":"variable.other.regexp.pre-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)\'(?![0-9A-Z_a-z])","name":"variable.other.regexp.post-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)\\\\+(?![0-9A-Z_a-z])","name":"variable.other.regexp.last-paren-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)\\"(?![0-9A-Z_a-z])","name":"variable.other.readwrite.list-separator.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)0(?![0-9A-Z_a-z])","name":"variable.other.predefined.program-name.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)[!#$%()*,-/:-@\\\\[-_ab|~](?![0-9A-Z_a-z])","name":"variable.other.predefined.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)[0-9]+(?![0-9A-Z_a-z])","name":"variable.other.subpattern.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"([$%@](#)?)([$7A-Za-z]|::)([$0-9A-Z_a-z]|::)*\\\\b","name":"variable.other.readwrite.global.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"},"2":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$\\\\{)(?:[$7A-Za-z]|::)(?:[$0-9A-Z_a-z]|::)*(})","name":"variable.other.readwrite.global.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"([$%@](#)?)[0-9_]\\\\b","name":"variable.other.readwrite.global.special.perl"}]}},"scopeName":"source.perl","embeddedLangs":["html","xml","css","javascript","sql"]}')),GV=[...I2,...y3,...G0,...w0,..._3,DV]});var Cx={};u1(Cx,{default:()=>WV});var OV,WV,Ax=n1(()=>{OV=Object.freeze(JSON.parse('{"displayName":"Verilog","fileTypes":["v","vh"],"name":"verilog","patterns":[{"include":"#comments"},{"include":"#module_pattern"},{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"},{"include":"#operators"},{"include":"#identifiers"}],"repository":{"comments":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.verilog"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.verilog"}},"end":"\\\\n","name":"comment.line.double-slash.verilog"}]},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.c-style.verilog"}]},"constants":{"patterns":[{"match":"`(?!(celldefine|endcelldefine|default_nettype|define|undef|ifdef|ifndef|else|endif|include|resetall|timescale|unconnected_drive|nounconnected_drive))[A-Z_a-z][$0-9A-Z_a-z]*","name":"variable.other.constant.verilog"},{"match":"[0-9]*\'[BDHObdho][XZ_xz\\\\h]+\\\\b","name":"constant.numeric.sized_integer.verilog"},{"captures":{"1":{"name":"constant.numeric.integer.verilog"},"2":{"name":"punctuation.separator.range.verilog"},"3":{"name":"constant.numeric.integer.verilog"}},"match":"\\\\b(\\\\d+)(:)(\\\\d+)\\\\b","name":"meta.block.numeric.range.verilog"},{"match":"\\\\b\\\\d[_\\\\d]*(?i:e\\\\d+)?\\\\b","name":"constant.numeric.integer.verilog"},{"match":"\\\\b\\\\d+\\\\.\\\\d+(?i:e\\\\d+)?\\\\b","name":"constant.numeric.real.verilog"},{"match":"#\\\\d+","name":"constant.numeric.delay.verilog"},{"match":"\\\\b[01XZxz]+\\\\b","name":"constant.numeric.logic.verilog"}]},"identifiers":{"patterns":[{"match":"(?<![$0-9A-Z_a-z])[A-Z_a-z][$0-9A-Z_a-z]*(?![$0-9A-Z_a-z])","name":"variable.other.identifier.verilog"}]},"instantiation_patterns":{"patterns":[{"include":"#keywords"},{"begin":"^\\\\s*(?!always|and|assign|output|input|inout|wire|module)([A-Z_a-z][$0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][$0-9A-Z_a-z]*)(?<!begin|if)\\\\s*(?=\\\\(|$)","beginCaptures":{"1":{"name":"entity.name.tag.module.reference.verilog"},"2":{"name":"entity.name.tag.module.identifier.verilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.expression.verilog"}},"name":"meta.block.instantiation.parameterless.verilog","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]},{"begin":"^\\\\s*([A-Z_a-z][$0-9A-Z_a-z]*)\\\\s*(#)(?=\\\\s*\\\\()","beginCaptures":{"1":{"name":"entity.name.tag.module.reference.verilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.expression.verilog"}},"name":"meta.block.instantiation.with.parameters.verilog","patterns":[{"include":"#parenthetical_list"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"entity.name.tag.module.identifier.verilog"}]}]},"keywords":{"patterns":[{"match":"\\\\b(always|and|assign|attribute|begin|buf|bufif0|bufif1|case[xz]?|cmos|deassign|default|defparam|disable|edge|else|end(attribute|case|function|generate|module|primitive|specify|table|task)?|event|for|force|forever|fork|function|generate|genvar|highz(01)|if(none)?|initial|inout|input|integer|join|localparam|medium|module|large|macromodule|nand|negedge|nmos|nor|not|notif(01)|or|output|parameter|pmos|posedge|primitive|pull0|pull1|pulldown|pullup|rcmos|real|realtime|reg|release|repeat|rnmos|rpmos|rtran|rtranif(01)|scalared|signed|small|specify|specparam|strength|strong0|strong1|supply0|supply1|table|task|time|tran|tranif(01)|tri(01)?|tri(and|or|reg)|unsigned|vectored|wait|wand|weak(01)|while|wire|wor|xnor|xor)\\\\b","name":"keyword.other.verilog"},{"match":"^\\\\s*`((cell)?define|default_(decay_time|nettype|trireg_strength)|delay_mode_(path|unit|zero)|ifdef|ifndef|include|end(if|celldefine)|else|(no)?unconnected_drive|resetall|timescale|undef)\\\\b","name":"keyword.other.compiler.directive.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(f(open|close)|readmem([bh])|timeformat|printtimescale|stop|finish|(s|real)?time|realtobits|bitstoreal|rtoi|itor|(f)?(display|write([bh])))(?![$0-9A-Z_a-z])","name":"support.function.system.console.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(random|dist_(chi_square|erlang|exponential|normal|poisson|t|uniform))(?![$0-9A-Z_a-z])","name":"support.function.system.random_number.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$((a)?sync\\\\$((n)?and|(n)or)\\\\$(array|plane))(?![$0-9A-Z_a-z])","name":"support.function.system.pld_modeling.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(q_(initialize|add|remove|full|exam))(?![$0-9A-Z_a-z])","name":"support.function.system.stochastic.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(hold|nochange|period|recovery|setup(hold)?|skew|width)(?![$0-9A-Z_a-z])","name":"support.function.system.timing.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(dump(file|vars|off|on|all|limit|flush))(?![$0-9A-Z_a-z])","name":"support.function.system.vcd.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(countdrivers|list|input|scope|showscopes|(no)?(key|log)|reset(_(?:count|value))?|(inc)?save|restart|showvars|getpattern|sreadmem([bh])|scale)(?![$0-9A-Z_a-z])","name":"support.function.non-standard.tasks.verilog"}]},"module_pattern":{"patterns":[{"begin":"\\\\b(module)\\\\s+([A-Z_a-z][$0-9A-Z_a-z]*)","beginCaptures":{"1":{"name":"storage.type.module.verilog"},"2":{"name":"entity.name.type.module.verilog"}},"end":"\\\\bendmodule\\\\b","endCaptures":{"0":{"name":"storage.type.module.verilog"}},"name":"meta.block.module.verilog","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"},{"include":"#instantiation_patterns"},{"include":"#operators"},{"include":"#identifiers"}]}]},"operators":{"patterns":[{"match":"[-%*+/]|([<>])=?|([!=])?==?|!|&&?|\\\\|\\\\|?|\\\\^?~|~\\\\^?","name":"keyword.operator.verilog"}]},"parenthetical_list":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.list.verilog"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.list.verilog"}},"name":"meta.block.parenthetical_list.verilog","patterns":[{"include":"#parenthetical_list"},{"include":"#comments"},{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]}]},"strings":{"patterns":[{"begin":"\\"","end":"\\"","name":"string.quoted.double.verilog","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.verilog"}]}]}},"scopeName":"source.verilog"}')),WV=[OV]});var Mx={};u1(Mx,{default:()=>XV});var UV,XV,$x=n1(()=>{UV=Object.freeze(JSON.parse('{"displayName":"SystemVerilog","fileTypes":["v","vh","sv","svh"],"name":"system-verilog","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#typedef-enum-struct-union"},{"include":"#typedef"},{"include":"#functions"},{"include":"#keywords"},{"include":"#tables"},{"include":"#function-task"},{"include":"#module-declaration"},{"include":"#class-declaration"},{"include":"#enum-struct-union"},{"include":"#sequence"},{"include":"#all-types"},{"include":"#module-parameters"},{"include":"#module-no-parameters"},{"include":"#port-net-parameter"},{"include":"#system-tf"},{"include":"#assertion"},{"include":"#bind-directive"},{"include":"#cast-operator"},{"include":"#storage-scope"},{"include":"#attributes"},{"include":"#imports"},{"include":"#operators"},{"include":"#constants"},{"include":"#identifiers"},{"include":"#selects"}],"repository":{"all-types":{"patterns":[{"include":"#built-ins"},{"include":"#modifiers"}]},"assertion":{"captures":{"1":{"name":"entity.name.goto-label.php"},"2":{"name":"keyword.operator.systemverilog"},"3":{"name":"keyword.sva.systemverilog"}},"match":"\\\\b([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*(assert|assume|cover|restrict)\\\\b"},"attributes":{"begin":"(?<!@[\\\\t\\\\n\\\\r ]?)\\\\(\\\\*","beginCaptures":{"0":{"name":"punctuation.attribute.rounds.begin"}},"end":"\\\\*\\\\)","endCaptures":{"0":{"name":"punctuation.attribute.rounds.end"}},"name":"meta.attribute.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"keyword.operator.assignment.systemverilog"}},"match":"([A-Z_a-z][$0-9A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]*(=)[\\\\t\\\\n\\\\r ]*)?"},{"include":"#constants"},{"include":"#strings"}]},"base-grammar":{"patterns":[{"include":"#all-types"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"captures":{"1":{"name":"storage.type.interface.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]+[A-Z_a-z][\\\\t\\\\n $,0-9=A-Z_a-z]*"},{"include":"#storage-scope"}]},"bind-directive":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(bind)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$.0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","name":"meta.definition.systemverilog"},"built-ins":{"patterns":[{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(bit|logic|reg)\\\\b","name":"storage.type.vector.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(byte|shortint|int|longint|integer|time|genvar)\\\\b","name":"storage.type.atom.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(shortreal|real|realtime)\\\\b","name":"storage.type.notint.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b","name":"storage.type.net.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(genvar|var|void|signed|unsigned|string|const|process)\\\\b","name":"storage.type.built-in.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(uvm_(?:root|transaction|component|monitor|driver|test|env|object|agent|sequence_base|sequence_item|sequence_state|sequencer|sequencer_base|sequence|component_registry|analysis_imp|analysis_port|analysis_export|config_db|active_passive_enum|phase|verbosity|tlm_analysis_fifo|tlm_fifo|report_server|objection|recorder|domain|reg_field|reg_block|reg|bitstream_t|radix_enum|printer|packer|comparer|scope_stack))\\\\b","name":"storage.type.uvm.systemverilog"}]},"cast-operator":{"captures":{"1":{"patterns":[{"include":"#built-ins"},{"include":"#constants"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.user-defined.systemverilog"}]},"2":{"name":"keyword.operator.cast.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*([0-9]+|[A-Z_a-z][$0-9A-Z_a-z]*)(\')(?=\\\\()","name":"meta.cast.systemverilog"},"class-declaration":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(virtual[\\\\t\\\\n\\\\r ]+)?(class)(?:[\\\\t\\\\n\\\\r ]+((?:st|autom)atic))?[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-:A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]+(extends|implements)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-:A-Z_a-z]*))?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.class.systemverilog"},"3":{"name":"storage.modifier.systemverilog"},"4":{"name":"entity.name.type.class.systemverilog"},"5":{"name":"keyword.control.systemverilog"},"6":{"name":"entity.name.type.class.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.class.end.systemverilog"}},"name":"meta.class.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"},"3":{"name":"entity.name.type.class.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]+\\\\b(extends|implements)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-:A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]*,[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-:A-Z_a-z]*))*"},{"captures":{"1":{"name":"storage.type.userdefined.systemverilog"},"2":{"name":"keyword.operator.param.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]+(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*(#)\\\\(","name":"meta.typedef.class.systemverilog"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#module-binding"},{"include":"#identifiers"}]},"comments":{"patterns":[{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"name":"comment.block.systemverilog","patterns":[{"include":"#fixme-todo"}]},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"$\\\\n?","name":"comment.line.double-slash.systemverilog","patterns":[{"include":"#fixme-todo"}]}]},"compiler-directives":{"name":"meta.preprocessor.systemverilog","patterns":[{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(else|endif|endcelldefine|celldefine|nounconnected_drive|resetall|undefineall|end_keywords|__FILE__|__LINE__)\\\\b"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"},"3":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)(ifdef|ifndef|elsif|define|undef|pragma)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(include|timescale|default_nettype|unconnected_drive|line|begin_keywords)\\\\b"},{"begin":"(`)(protected)\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"end":"(`)(endprotected)\\\\b","endCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"name":"meta.crypto.systemverilog"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])"}]},"constants":{"patterns":[{"match":"(\\\\b[1-9][0-9_]*)?\'([Ss]?[Bb][\\\\t\\\\n\\\\r ]*[01?XZxz][01?XZ_xz]*|[Ss]?[Oo][\\\\t\\\\n\\\\r ]*[0-7?XZxz][0-7?XZ_xz]*|[Ss]?[Dd][\\\\t\\\\n\\\\r ]*[0-9?XZxz][0-9?XZ_xz]*|[Ss]?[Hh][\\\\t\\\\n\\\\r ]*[?XZxz\\\\h][?XZ_xz\\\\h]*)(([Ee])([-+])?[0-9]+)?(?![\'\\\\w])","name":"constant.numeric.systemverilog"},{"match":"\'[01XZxz]","name":"constant.numeric.bit.systemverilog"},{"match":"\\\\b\\\\d[._\\\\d]*(?<!\\\\.)[Ee][-+]?[0-9]+\\\\b","name":"constant.numeric.exp.systemverilog"},{"match":"\\\\b\\\\d[._\\\\d]*(?![.\\\\d]|[\\\\t\\\\n\\\\r ]*(?:[Ee]|fs|ps|ns|us|ms|s))\\\\b","name":"constant.numeric.decimal.systemverilog"},{"match":"\\\\b\\\\d[.\\\\d]*[\\\\t\\\\n\\\\r ]*(?:[fnpu]|m?)s\\\\b","name":"constant.numeric.time.systemverilog"},{"include":"#compiler-directives"},{"match":"\\\\b(?:this|super|null)\\\\b","name":"constant.language.systemverilog"},{"match":"\\\\b([A-Z][0-9A-Z_]*)\\\\b","name":"constant.other.net.systemverilog"},{"match":"\\\\b(?<!\\\\.)([0-9A-Z_]+)(?!\\\\.)\\\\b","name":"constant.numeric.parameter.uppercase.systemverilog"},{"match":"\\\\.\\\\*","name":"keyword.operator.quantifier.regexp"}]},"enum-struct-union":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(enum|struct|union(?:[\\\\t\\\\n\\\\r ]+tagged)?|class|interface[\\\\t\\\\n\\\\r ]+class)(?:[\\\\t\\\\n\\\\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][$0-9A-Z_a-z]*)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?)?(?:[\\\\t\\\\n\\\\r ]+(packed))?(?:[\\\\t\\\\n\\\\r ]+((?:|un)signed))?(?=[\\\\t\\\\n\\\\r ]*(?:\\\\{|$))","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"patterns":[{"include":"#built-ins"}]},"3":{"patterns":[{"include":"#selects"}]},"4":{"name":"storage.modifier.systemverilog"},"5":{"name":"storage.modifier.systemverilog"}},"end":"(?<=})[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|(?<=^|[\\\\t\\\\n\\\\r ])\\\\\\\\[!-~]+(?=$|[\\\\t\\\\n\\\\r ]))[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*[,;]","endCaptures":{"1":{"patterns":[{"include":"#identifiers"}]},"2":{"patterns":[{"include":"#selects"}]}},"name":"meta.enum-struct-union.systemverilog","patterns":[{"include":"#keywords"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"fixme-todo":{"patterns":[{"match":"(?i:fixme)","name":"invalid.broken.fixme.systemverilog"},{"match":"(?i:todo)","name":"invalid.unimplemented.todo.systemverilog"}]},"function-task":{"begin":"[\\\\t\\\\n\\\\r ]*(?:\\\\b(virtual)[\\\\t\\\\n\\\\r ]+)?\\\\b(function|task)\\\\b(?:[\\\\t\\\\n\\\\r ]+\\\\b((?:st|autom)atic)\\\\b)?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.function.systemverilog"},"3":{"name":"storage.modifier.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.function.end.systemverilog"}},"name":"meta.function.systemverilog","patterns":[{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"},"3":{"patterns":[{"include":"#built-ins"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.user-defined.systemverilog"}]},"4":{"patterns":[{"include":"#modifiers"}]},"5":{"patterns":[{"include":"#selects"}]},"6":{"name":"entity.name.function.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*(?:(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(::))?([A-Z_a-z][$0-9A-Z_a-z]*(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]+)?(?:\\\\b((?:|un)signed)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])[\\\\t\\\\n\\\\r ]*)?(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*(?=[(;])"},{"include":"#keywords"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"functions":{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(?!while|for|iff??|else|casex??|casez)([A-Z_a-z][$0-9A-Z_a-z]*)(?=[\\\\t\\\\n\\\\r ]*\\\\()","name":"entity.name.function.systemverilog"},"identifiers":{"patterns":[{"match":"(?<![$0-9A-Z_a-z])[A-Z_a-z][$0-9A-Z_a-z]*(?![$0-9A-Z_a-z])","name":"variable.other.identifier.systemverilog"},{"match":"(?<=^|[\\\\t\\\\n\\\\r ])\\\\\\\\[!-~]+(?=$|[\\\\t\\\\n\\\\r ])","name":"string.regexp.identifier.systemverilog"}]},"imports":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"support.type.scope.systemverilog"},"3":{"name":"keyword.operator.scope.systemverilog"},"4":{"patterns":[{"include":"#operators"},{"include":"#identifiers"}]}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b((?:im|ex)port)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*|\\\\*)[\\\\t\\\\n\\\\r ]*(::)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|\\\\*)[\\\\t\\\\n\\\\r ]*([,;])","name":"meta.import.systemverilog"},"keywords":{"patterns":[{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(edge|negedge|posedge|cell|config|defparam|design|disable|endgenerate|endspecify|event|generate|ifnone|incdir|instance|liblist|library|noshowcancelled|pulsestyle_onevent|pulsestyle_ondetect|scalared|showcancelled|specify|specparam|use|vectored)\\\\b"},{"include":"#sv-control"},{"include":"#sv-control-begin"},{"include":"#sv-control-end"},{"include":"#sv-definition"},{"include":"#sv-cover-cross"},{"include":"#sv-std"},{"include":"#sv-option"},{"include":"#sv-local"},{"include":"#sv-rand"}]},"modifiers":{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(?:(?:un)?signed|packed|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\\\\b","name":"storage.modifier.systemverilog"},"module-binding":{"begin":"\\\\.([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*\\\\(","beginCaptures":{"1":{"name":"support.function.port.systemverilog"}},"end":"\\\\),?","name":"meta.port.binding.systemverilog","patterns":[{"include":"#constants"},{"include":"#comments"},{"include":"#operators"},{"include":"#strings"},{"include":"#constants"},{"include":"#storage-scope"},{"include":"#cast-operator"},{"include":"#system-tf"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"},{"include":"#identifiers"}]},"module-declaration":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b((?:macro)?module|interface|program|package|modport)[\\\\t\\\\n\\\\r ]+(?:((?:st|autom)atic)[\\\\t\\\\n\\\\r ]+)?([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"storage.modifier.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.module.end.systemverilog"}},"name":"meta.module.systemverilog","patterns":[{"include":"#parameters"},{"include":"#port-net-parameter"},{"include":"#imports"},{"include":"#base-grammar"},{"include":"#system-tf"},{"include":"#identifiers"}]},"module-no-parameters":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(?:(bind|pullup|pulldown)[\\\\t\\\\n\\\\r ]+(?:([A-Z_a-z][$.0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]+)?)?(\\\\b(?:and|nand|or|nor|xor|xnor|buf|not|bufif[01]|notif[01]|r?[cnp]mos|r?tran|r?tranif[01])\\\\b|[A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]+(?!intersect|and|or|throughout|within)([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*(?=\\\\(|$)(?!;)","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"},"4":{"name":"variable.other.module.systemverilog"},"5":{"patterns":[{"include":"#selects"}]}},"end":"\\\\)(?:[\\\\t\\\\n\\\\r ]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.no_parameters.systemverilog","patterns":[{"include":"#module-binding"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])(?=[\\\\t\\\\n\\\\r ]*(\\\\(|$))","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"module-parameters":{"begin":"^[\\\\t ]*\\\\b(?:(bind)[\\\\t ]+([A-Z_a-z][$.0-9A-Z_a-z]*)[\\\\t ]+)?(?!\\\\b(?:intersect|and|or|throughout|within)\\\\b)([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t ]*(?=#[^#]|$)","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":"\\\\)(?:[\\\\t\\\\n\\\\r ]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.parameters.systemverilog","patterns":[{"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])(?=[\\\\t\\\\n\\\\r ]*\\\\()","name":"variable.other.module.systemverilog"},{"include":"#module-binding"},{"include":"#parameters"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])(?=[\\\\t\\\\n\\\\r ]*$)","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"operators":{"patterns":[{"match":"\\\\b(?:dist|inside|with|intersect|and|or|throughout|within|first_match)\\\\b|:=|:/|\\\\|->|\\\\|=>|->>|\\\\*>|#-#|#=#|&&&","name":"keyword.operator.logical.systemverilog"},{"match":"@|##?|->|<->","name":"keyword.operator.channel.systemverilog"},{"match":"(?:[-%\\\\&*+/^|]|>>>?|<<<?|<?)=","name":"keyword.operator.assignment.systemverilog"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.systemverilog"},{"match":"--","name":"keyword.operator.decrement.systemverilog"},{"match":"[-+]|\\\\*\\\\*|[%*/]","name":"keyword.operator.arithmetic.systemverilog"},{"match":"!|&&|\\\\|\\\\|","name":"keyword.operator.logical.systemverilog"},{"match":"<<<?|>>>?","name":"keyword.operator.bitwise.shift.systemverilog"},{"match":"~&|~\\\\|?|\\\\^~|~\\\\^|[\\\\&^{|]|\'\\\\{|[:?}]","name":"keyword.operator.bitwise.systemverilog"},{"match":"<=?|>=?|==\\\\?|!=\\\\?|===|!==|==|!=","name":"keyword.operator.comparison.systemverilog"}]},"parameters":{"begin":"[\\\\t\\\\n\\\\r ]*(#)[\\\\t\\\\n\\\\r ]*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.channel.systemverilog"},"2":{"name":"punctuation.section.parameters.begin"}},"end":"(\\\\))[\\\\t\\\\n\\\\r ]*(?=[(;A-Z\\\\\\\\_a-z]|$)","endCaptures":{"1":{"name":"punctuation.section.parameters.end"}},"name":"meta.parameters.systemverilog","patterns":[{"include":"#port-net-parameter"},{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#strings"},{"include":"#system-tf"},{"include":"#functions"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"},{"include":"#module-binding"}]},"port-net-parameter":{"patterns":[{"captures":{"1":{"name":"support.type.direction.systemverilog"},"2":{"name":"storage.type.net.systemverilog"},"3":{"name":"support.type.scope.systemverilog"},"4":{"name":"keyword.operator.scope.systemverilog"},"5":{"patterns":[{"include":"#built-ins"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.user-defined.systemverilog"}]},"6":{"patterns":[{"include":"#modifiers"}]},"7":{"patterns":[{"include":"#selects"}]},"8":{"patterns":[{"include":"#constants"},{"include":"#identifiers"}]},"9":{"patterns":[{"include":"#selects"}]}},"match":",?[\\\\t\\\\n\\\\r ]*(?:\\\\b(output|input|inout|ref)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:\\\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(::))?(?:([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*)?(?:\\\\b((?:|un)signed)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])[\\\\t\\\\n\\\\r ]*)?(?<!(?<!#)[-!%\\\\&(*+/:<-?^|~][\\\\t\\\\n\\\\r ]*)(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*(?=[),/;=]|$)","name":"meta.port-net-parameter.declaration.systemverilog"}]},"selects":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.slice.brackets.begin"}},"end":"]","endCaptures":{"0":{"name":"punctuation.slice.brackets.end"}},"name":"meta.brackets.select.systemverilog","patterns":[{"match":"\\\\$(?![a-z])","name":"constant.language.systemverilog"},{"include":"#system-tf"},{"include":"#constants"},{"include":"#operators"},{"include":"#cast-operator"},{"include":"#storage-scope"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"variable.other.identifier.systemverilog"}]},"sequence":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.function.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(sequence)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","name":"meta.sequence.systemverilog"},"storage-scope":{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"}},"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(::)","name":"meta.scope.systemverilog"},"strings":{"patterns":[{"begin":"`?\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":"\\"`?","endCaptures":{"0":{"name":"punctuation.definition.string.end.systemverilog"}},"name":"string.quoted.double.systemverilog","patterns":[{"match":"\\\\\\\\(?:[\\"\\\\\\\\afntv]|[0-7]{3}|x\\\\h{2})","name":"constant.character.escape.systemverilog"},{"match":"%(\\\\d+\\\\$)?[- #\'+0]*[,:;_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh?|ll|[Ljltz])?[%B-HLMOPS-VXZb-hlmops-vxz]","name":"constant.character.format.placeholder.systemverilog"},{"match":"%","name":"invalid.illegal.placeholder.systemverilog"},{"include":"#fixme-todo"}]},{"begin":"(?<=include)[\\\\t\\\\n\\\\r ]*(<)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.systemverilog"}},"name":"string.quoted.other.lt-gt.include.systemverilog"}]},"sv-control":{"captures":{"1":{"name":"keyword.control.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|iff??|else|casex??|casez|default|endcase|return|break|continue|do|foreach|clocking|coverpoint|property|bins|binsof|illegal_bins|ignore_bins|randcase|matches|solve|before|expect|cross|ref|srandom|struct|chandle|tagged|extern|throughout|timeprecision|timeunit|priority|type|union|wait_order|triggered|randsequence|context|pure|wildcard|new|forkjoin|unique0??|priority)\\\\b"},"sv-control-begin":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"punctuation.definition.label.systemverilog"},"3":{"name":"entity.name.section.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(begin|fork)\\\\b(?:[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*))?","name":"meta.item.begin.systemverilog"},"sv-control-end":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"punctuation.definition.label.systemverilog"},"3":{"name":"entity.name.section.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\\\b(?:[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*))?","name":"meta.item.end.systemverilog"},"sv-cover-cross":{"captures":{"2":{"name":"entity.name.type.class.systemverilog"},"3":{"name":"keyword.operator.other.systemverilog"},"4":{"name":"keyword.control.systemverilog"}},"match":"(([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(:))?[\\\\t\\\\n\\\\r ]*(c(?:overpoint|ross))[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)","name":"meta.definition.systemverilog"},"sv-definition":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(primitive|package|constraint|interface|covergroup|program)[\\\\t\\\\n\\\\r ]+(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","name":"meta.definition.systemverilog"},"sv-local":{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(const|static|protected|virtual|localparam|parameter|local)\\\\b"},"sv-option":{"captures":{"1":{"name":"keyword.cover.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(option)\\\\."},"sv-rand":{"match":"[\\\\t\\\\n\\\\r ]*\\\\brandc??\\\\b","name":"storage.type.rand.systemverilog"},"sv-std":{"match":"\\\\b(std)\\\\b::","name":"support.class.systemverilog"},"system-tf":{"match":"(?<![$0-9A-Z_a-z])\\\\$[$0-9A-Z_a-z]+(?![$0-9A-Z_a-z])","name":"support.function.systemverilog"},"tables":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(table)\\\\b","beginCaptures":{"1":{"name":"keyword.table.systemverilog.begin"}},"end":"[\\\\t\\\\n\\\\r ]*\\\\b(endtable)\\\\b","endCaptures":{"1":{"name":"keyword.table.systemverilog.end"}},"name":"meta.table.systemverilog","patterns":[{"include":"#comments"},{"match":"\\\\b[01BFNPRXbfnprx]\\\\b","name":"constant.language.systemverilog"},{"match":"[-*?]","name":"constant.language.systemverilog"},{"captures":{"1":{"name":"constant.language.systemverilog"}},"match":"\\\\(([01?Xx]{2})\\\\)"},{"match":":","name":"punctuation.definition.label.systemverilog"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]},"typedef":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(typedef)[\\\\t\\\\n\\\\r ]+(?:([A-Z_a-z][$0-9A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]+\\\\b((?:|un)signed)\\\\b)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?)?(?=[\\\\t\\\\n\\\\r ]*[A-Z\\\\\\\\_a-z])","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"patterns":[{"include":"#built-ins"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"}]},"3":{"patterns":[{"include":"#modifiers"}]},"4":{"patterns":[{"include":"#selects"}]}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.typedef.end.systemverilog"}},"name":"meta.typedef.systemverilog","patterns":[{"include":"#identifiers"},{"include":"#selects"}]},"typedef-enum-struct-union":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(typedef)[\\\\t\\\\n\\\\r ]+(enum|struct|union(?:[\\\\t\\\\n\\\\r ]+tagged)?|class|interface[\\\\t\\\\n\\\\r ]+class)(?:[\\\\t\\\\n\\\\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][$0-9A-Z_a-z]*)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?)?(?:[\\\\t\\\\n\\\\r ]+(packed))?(?:[\\\\t\\\\n\\\\r ]+((?:|un)signed))?(?=[\\\\t\\\\n\\\\r ]*(?:\\\\{|$))","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"keyword.control.systemverilog"},"3":{"patterns":[{"include":"#built-ins"}]},"4":{"patterns":[{"include":"#selects"}]},"5":{"name":"storage.modifier.systemverilog"},"6":{"name":"storage.modifier.systemverilog"}},"end":"(?<=})[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|(?<=^|[\\\\t\\\\n\\\\r ])\\\\\\\\[!-~]+(?=$|[\\\\t\\\\n\\\\r ]))[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*[,;]","endCaptures":{"1":{"name":"storage.type.systemverilog"},"2":{"patterns":[{"include":"#selects"}]}},"name":"meta.typedef-enum-struct-union.systemverilog","patterns":[{"include":"#port-net-parameter"},{"include":"#keywords"},{"include":"#base-grammar"},{"include":"#identifiers"}]}},"scopeName":"source.systemverilog"}')),XV=[UV]});var Lx={};u1(Lx,{default:()=>YV});var KV,YV,Sx=n1(()=>{KV=Object.freeze(JSON.parse('{"displayName":"Protocol Buffer 3","fileTypes":["proto"],"name":"proto","patterns":[{"include":"#comments"},{"include":"#syntax"},{"include":"#package"},{"include":"#import"},{"include":"#optionStmt"},{"include":"#message"},{"include":"#enum"},{"include":"#service"}],"repository":{"comments":{"patterns":[{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.proto"},{"begin":"//","end":"$\\\\n?","name":"comment.line.double-slash.proto"}]},"constants":{"match":"\\\\b(true|false|max|[A-Z_]+)\\\\b","name":"constant.language.proto"},"enum":{"begin":"(enum)(\\\\s+)([A-Za-z][0-9A-Z_a-z]*)(\\\\s*)(\\\\{)?","beginCaptures":{"1":{"name":"keyword.other.proto"},"3":{"name":"entity.name.class.proto"}},"end":"}","patterns":[{"include":"#reserved"},{"include":"#optionStmt"},{"include":"#comments"},{"begin":"([A-Za-z][0-9A-Z_a-z]*)\\\\s*(=)\\\\s*(-?0[Xx]\\\\h+|-?[0-9]+)","beginCaptures":{"1":{"name":"variable.other.proto"},"2":{"name":"keyword.operator.assignment.proto"},"3":{"name":"constant.numeric.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#fieldOptions"}]}]},"field":{"begin":"\\\\s*(optional|repeated|required)?\\\\s*(\\\\.?[.\\\\w]+)\\\\s+(\\\\w+)\\\\s*(=)\\\\s*(0[Xx]\\\\h+|[0-9]+)","beginCaptures":{"1":{"name":"storage.modifier.proto"},"2":{"name":"storage.type.proto"},"3":{"name":"variable.other.proto"},"4":{"name":"keyword.operator.assignment.proto"},"5":{"name":"constant.numeric.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#fieldOptions"}]},"fieldOptions":{"begin":"\\\\[","end":"]","patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"},{"include":"#optionName"}]},"ident":{"match":"\\\\.?[A-Za-z][.0-9A-Z_a-z]*","name":"entity.name.class.proto"},"import":{"captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"keyword.other.proto"},"3":{"name":"string.quoted.double.proto.import"},"4":{"name":"punctuation.terminator.proto"}},"match":"\\\\s*(import)\\\\s+(weak|public)?\\\\s*(\\"[^\\"]+\\")\\\\s*(;)"},"kv":{"begin":"(\\\\w+)\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"punctuation.separator.key-value.proto"}},"end":"(;)|,|(?=[/A-Z_a-z}])","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"}]},"mapfield":{"begin":"\\\\s*(map)\\\\s*(<)\\\\s*(\\\\.?[.\\\\w]+)\\\\s*,\\\\s*(\\\\.?[.\\\\w]+)\\\\s*(>)\\\\s+(\\\\w+)\\\\s*(=)\\\\s*(\\\\d+)","beginCaptures":{"1":{"name":"storage.type.proto"},"2":{"name":"punctuation.definition.typeparameters.begin.proto"},"3":{"name":"storage.type.proto"},"4":{"name":"storage.type.proto"},"5":{"name":"punctuation.definition.typeparameters.end.proto"},"6":{"name":"variable.other.proto"},"7":{"name":"keyword.operator.assignment.proto"},"8":{"name":"constant.numeric.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#fieldOptions"}]},"message":{"begin":"(message|extend)(\\\\s+)([A-Z_a-z][.0-9A-Z_a-z]*)(\\\\s*)(\\\\{)?","beginCaptures":{"1":{"name":"keyword.other.proto"},"3":{"name":"entity.name.class.message.proto"}},"end":"}","patterns":[{"include":"#reserved"},{"include":"$self"},{"include":"#enum"},{"include":"#optionStmt"},{"include":"#comments"},{"include":"#oneof"},{"include":"#field"},{"include":"#mapfield"}]},"method":{"begin":"(rpc)\\\\s+([A-Za-z][0-9A-Z_a-z]*)","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"entity.name.function"}},"end":"}|(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#comments"},{"include":"#optionStmt"},{"include":"#rpcKeywords"},{"include":"#ident"}]},"number":{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)\\\\b","name":"constant.numeric.proto"},"oneof":{"begin":"(oneof)\\\\s+([A-Za-z][0-9A-Z_a-z]*)\\\\s*\\\\{?","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"variable.other.proto"}},"end":"}","patterns":[{"include":"#optionStmt"},{"include":"#comments"},{"include":"#field"}]},"optionName":{"captures":{"1":{"name":"support.other.proto"},"2":{"name":"support.other.proto"},"3":{"name":"support.other.proto"}},"match":"(\\\\w+|\\\\(\\\\w+(\\\\.\\\\w+)*\\\\))(\\\\.\\\\w+)*"},"optionStmt":{"begin":"(option)\\\\s+(\\\\w+|\\\\(\\\\w+(\\\\.\\\\w+)*\\\\))(\\\\.\\\\w+)*\\\\s*(=)","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"support.other.proto"},"3":{"name":"support.other.proto"},"4":{"name":"support.other.proto"},"5":{"name":"keyword.operator.assignment.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"}]},"package":{"captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"string.unquoted.proto.package"},"3":{"name":"punctuation.terminator.proto"}},"match":"\\\\s*(package)\\\\s+([.\\\\w]+)\\\\s*(;)"},"reserved":{"begin":"(reserved)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"captures":{"1":{"name":"constant.numeric.proto"},"3":{"name":"keyword.other.proto"},"4":{"name":"constant.numeric.proto"}},"match":"(\\\\d+)(\\\\s+(to)\\\\s+(\\\\d+))?"},{"include":"#string"}]},"rpcKeywords":{"match":"\\\\b(stream|returns)\\\\b","name":"keyword.other.proto"},"service":{"begin":"(service)\\\\s+([A-Za-z][.0-9A-Z_a-z]*)\\\\s*\\\\{?","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"entity.name.class.message.proto"}},"end":"}","patterns":[{"include":"#comments"},{"include":"#optionStmt"},{"include":"#method"}]},"storagetypes":{"match":"\\\\b(double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\\\\b","name":"storage.type.proto"},"string":{"match":"([\\"\'])(?:\\\\\\\\.|[^\\\\\\\\])*?\\\\1","name":"string.quoted.double.proto"},"subMsgOption":{"begin":"\\\\{","end":"}","patterns":[{"include":"#kv"},{"include":"#comments"}]},"syntax":{"captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"keyword.operator.assignment.proto"},"3":{"name":"string.quoted.double.proto.syntax"},"4":{"name":"punctuation.terminator.proto"}},"match":"\\\\s*(syntax)\\\\s*(=)\\\\s*(\\"proto[23]\\")\\\\s*(;)"}},"scopeName":"source.proto","aliases":["protobuf"]}')),YV=[KV]});var Zx={};u1(Zx,{default:()=>JV});var QV,JV,Ex=n1(()=>{QV=Object.freeze(JSON.parse('{"displayName":"HashiCorp HCL","fileTypes":["hcl"],"name":"hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\\\.(?!\\\\*)","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"end":"\\\\p{alpha}[-\\\\w]*|\\\\d*","endCaptures":{"0":{"patterns":[{"match":"(?!null|false|true)\\\\p{alpha}[-\\\\w]*","name":"variable.other.member.hcl"},{"match":"\\\\d+","name":"constant.numeric.integer.hcl"}]}}},"attribute_definition":{"captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}},"match":"(\\\\()?\\\\b((?!(?:null|false|true)\\\\b)\\\\p{alpha}[-_[:alnum:]]*)(\\\\))?\\\\s*(=(?![=>]))\\\\s*","name":"variable.declaration.hcl"},"attribute_splat":{"begin":"\\\\.","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"end":"\\\\*","endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"begin":"(\\\\w[-\\\\w]*)(([^\\\\n\\\\r\\\\S]+(\\\\w[-_\\\\w]*|\\"[^\\\\n\\\\r\\"]*\\"))*)[^\\\\n\\\\r\\\\S]*(\\\\{)","beginCaptures":{"1":{"patterns":[{"match":"\\\\b(?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*\\\\b","name":"entity.name.type.hcl"}]},"2":{"patterns":[{"match":"\\"[^\\\\n\\\\r\\"]*\\"","name":"variable.other.enummember.hcl"},{"match":"\\\\p{alpha}[-_[:alnum:]]*","name":"variable.other.enummember.hcl"}]},"5":{"name":"punctuation.section.block.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}},"name":"meta.block.hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#expressions"},{"include":"#block"}]},"block_inline_comments":{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"\\\\*/","name":"comment.block.hcl"},"brackets":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}},"patterns":[{"match":"\\\\*","name":"keyword.operator.splat.hcl"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}]},"char_escapes":{"match":"\\\\\\\\(?:[\\"\\\\\\\\nrt]|u(\\\\h{8}|\\\\h{4}))","name":"constant.character.escape.hcl"},"comma":{"match":",","name":"punctuation.separator.hcl"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"begin":"//","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"$\\\\n?","name":"comment.line.double-slash.hcl"},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"match":"\\\\bin\\\\b","name":"keyword.operator.word.hcl"},{"match":"\\\\bif\\\\b","name":"keyword.control.conditional.hcl"},{"match":":","name":"keyword.operator.hcl"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"begin":"([-:\\\\w]+)(\\\\()","beginCaptures":{"1":{"patterns":[{"match":"\\\\b\\\\p{alpha}[-_\\\\w]*::(\\\\p{alpha}[-_\\\\w]*::)?\\\\p{alpha}[-_\\\\w]*\\\\b","name":"support.function.namespaced.hcl"},{"match":"\\\\b\\\\p{alpha}[-_\\\\w]*\\\\b","name":"support.function.builtin.hcl"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}},"name":"meta.function-call.hcl","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}]},"hash_line_comments":{"begin":"#","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"$\\\\n?","name":"comment.line.number-sign.hcl"},"hcl_type_keywords":{"match":"\\\\b(any|string|number|bool|list|set|map|tuple|object)\\\\b","name":"storage.type.hcl"},"heredoc":{"begin":"(<<-?)\\\\s*(\\\\w+)\\\\s*$","beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"end":"^\\\\s*\\\\2\\\\s*$","endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}},"name":"string.unquoted.heredoc.hcl","patterns":[{"include":"#string_interpolation"}]},"inline_for_expression":{"captures":{"1":{"name":"keyword.control.hcl"},"2":{"patterns":[{"match":"=>","name":"storage.type.function.hcl"},{"include":"#for_expression_body"}]}},"match":"(for)\\\\b(.*)\\\\n"},"inline_if_expression":{"begin":"(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}},"end":"\\\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"language_constants":{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.hcl"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"}]},"local_identifiers":{"match":"\\\\b(?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*\\\\b","name":"variable.other.readwrite.hcl"},"numeric_literals":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.exponent.hcl"}},"match":"\\\\b\\\\d+([Ee][-+]?)\\\\d+\\\\b","name":"constant.numeric.float.hcl"},{"captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}},"match":"\\\\b\\\\d+(\\\\.)\\\\d+(?:([Ee][-+]?)\\\\d+)?\\\\b","name":"constant.numeric.float.hcl"},{"match":"\\\\b\\\\d+\\\\b","name":"constant.numeric.integer.hcl"}]},"object_for_expression":{"begin":"(\\\\{)\\\\s?(for)\\\\b","beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}},"patterns":[{"match":"=>","name":"storage.type.function.hcl"},{"include":"#for_expression_body"}]},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}},"name":"meta.braces.hcl","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl"}},"match":"\\\\b((?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*)\\\\s*(=(?!=))\\\\s*"},{"captures":{"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}},"match":"^\\\\s*((\\").*(\\"))\\\\s*(=)\\\\s*"},{"begin":"^\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"end":"(\\\\))\\\\s*([:=])\\\\s*","endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}},"name":"meta.mapping.key.hcl","patterns":[{"include":"#attribute_access"},{"include":"#attribute_splat"}]},{"include":"#object_key_values"}]},"operators":{"patterns":[{"match":">=","name":"keyword.operator.hcl"},{"match":"<=","name":"keyword.operator.hcl"},{"match":"==","name":"keyword.operator.hcl"},{"match":"!=","name":"keyword.operator.hcl"},{"match":"\\\\+","name":"keyword.operator.arithmetic.hcl"},{"match":"-","name":"keyword.operator.arithmetic.hcl"},{"match":"\\\\*","name":"keyword.operator.arithmetic.hcl"},{"match":"/","name":"keyword.operator.arithmetic.hcl"},{"match":"%","name":"keyword.operator.arithmetic.hcl"},{"match":"&&","name":"keyword.operator.logical.hcl"},{"match":"\\\\|\\\\|","name":"keyword.operator.logical.hcl"},{"match":"!","name":"keyword.operator.logical.hcl"},{"match":">","name":"keyword.operator.hcl"},{"match":"<","name":"keyword.operator.hcl"},{"match":"\\\\?","name":"keyword.operator.hcl"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.hcl"},{"match":":","name":"keyword.operator.hcl"},{"match":"=>","name":"keyword.operator.hcl"}]},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}},"patterns":[{"include":"#comments"},{"include":"#expressions"}]},"string_interpolation":{"begin":"(?<![$%])([$%]\\\\{)","beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}},"name":"meta.interpolation.hcl","patterns":[{"match":"~\\\\s","name":"keyword.operator.template.left.trim.hcl"},{"match":"\\\\s~","name":"keyword.operator.template.right.trim.hcl"},{"match":"\\\\b(if|else|endif|for|in|endfor)\\\\b","name":"keyword.control.hcl"},{"include":"#expressions"},{"include":"#local_identifiers"}]},"string_literals":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}},"name":"string.quoted.double.hcl","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}]},"tuple_for_expression":{"begin":"(\\\\[)\\\\s?(for)\\\\b","beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}},"patterns":[{"include":"#for_expression_body"}]}},"scopeName":"source.hcl"}')),JV=[QV]});var eq,Fx,jx=n1(()=>{eq=Object.freeze(JSON.parse('{"fileTypes":[],"injectTo":["text.html.markdown"],"injectionSelector":"L:text.html.markdown","name":"markdown-nix","patterns":[{"include":"#nix-code-block"}],"repository":{"nix-code-block":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(nix)(\\\\s+[^`~]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"5":{"name":"fenced_code.block.language"},"6":{"name":"fenced_code.block.language.attributes"}},"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.nix","patterns":[{"include":"source.nix"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]}},"scopeName":"markdown.nix.codeblock"}')),Fx=[eq]});var Hx={};u1(Hx,{default:()=>nq});var tq,nq,Nx=n1(()=>{jx();tq=Object.freeze(JSON.parse('{"displayName":"Nix","fileTypes":["nix"],"name":"nix","patterns":[{"include":"#expression"}],"repository":{"attribute-bind":{"patterns":[{"include":"#attribute-name"},{"include":"#attribute-bind-from-equals"}]},"attribute-bind-from-equals":{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.bind.nix"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.bind.nix"}},"patterns":[{"include":"#expression"}]},"attribute-inherit":{"begin":"\\\\binherit\\\\b","beginCaptures":{"0":{"name":"keyword.other.inherit.nix"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.inherit.nix"}},"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.function.arguments.nix"}},"end":"(?=;)","patterns":[{"begin":"\\\\)","beginCaptures":{"0":{"name":"punctuation.section.function.arguments.nix"}},"end":"(?=;)","patterns":[{"include":"#bad-reserved"},{"include":"#attribute-name-single"},{"include":"#others"}]},{"include":"#expression"}]},{"begin":"(?=[A-Z_a-z])","end":"(?=;)","patterns":[{"include":"#bad-reserved"},{"include":"#attribute-name-single"},{"include":"#others"}]},{"include":"#others"}]},"attribute-name":{"patterns":[{"match":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","name":"entity.other.attribute-name.multipart.nix"},{"match":"\\\\."},{"include":"#string-quoted"},{"include":"#interpolation"}]},"attribute-name-single":{"match":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","name":"entity.other.attribute-name.single.nix"},"attrset-contents":{"patterns":[{"include":"#attribute-inherit"},{"include":"#bad-reserved"},{"include":"#attribute-bind"},{"include":"#others"}]},"attrset-definition":{"begin":"(?=\\\\{)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}},"end":"(})","endCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}},"patterns":[{"include":"#attrset-contents"}]},{"begin":"(?<=})","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]}]},"attrset-definition-brace-opened":{"patterns":[{"begin":"(?<=})","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"(?=.?)","end":"}","endCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}},"patterns":[{"include":"#attrset-contents"}]}]},"attrset-for-sure":{"patterns":[{"begin":"(?=\\\\brec\\\\b)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\brec\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=\\\\{)","patterns":[{"include":"#others"}]},{"include":"#attrset-definition"},{"include":"#others"}]},{"begin":"(?=\\\\{\\\\s*(}|[^,?]*([;=])))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attrset-definition"},{"include":"#others"}]}]},"attrset-or-function":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.attrset-or-function.nix"}},"end":"(?=([]);}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"(?=(\\\\s*}|\\"|\\\\binherit\\\\b|\\\\$\\\\{|\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*(\\\\s*\\\\.|\\\\s*=[^=])))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attrset-definition-brace-opened"}]},{"begin":"(?=(\\\\.\\\\.\\\\.|\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*\\\\s*[,?]))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition-brace-opened"}]},{"include":"#bad-reserved"},{"begin":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"variable.parameter.function.maybe.nix"}},"end":"(?=([]);}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"(?=\\\\.)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attrset-definition-brace-opened"}]},{"begin":"\\\\s*(,)","beginCaptures":{"1":{"name":"keyword.operator.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition-brace-opened"}]},{"begin":"(?==)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attribute-bind-from-equals"},{"include":"#attrset-definition-brace-opened"}]},{"begin":"(?=\\\\?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-parameter-default"},{"begin":",","beginCaptures":{"0":{"name":"keyword.operator.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition-brace-opened"}]}]},{"include":"#others"}]},{"include":"#others"}]},"bad-reserved":{"match":"(?<![-\'\\\\w])(if|then|else|assert|with|let|in|rec|inherit)(?![-\'\\\\w])","name":"invalid.illegal.reserved.nix"},"comment":{"patterns":[{"begin":"/\\\\*([^*]|\\\\*[^/])*","end":"\\\\*/","name":"comment.block.nix"},{"begin":"#","end":"$","name":"comment.line.number-sign.nix"}]},"constants":{"patterns":[{"begin":"\\\\b(builtins|true|false|null)\\\\b","beginCaptures":{"0":{"name":"constant.language.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"\\\\b(scopedImport|import|isNull|abort|throw|baseNameOf|dirOf|removeAttrs|map|toString|derivationStrict|derivation)\\\\b","beginCaptures":{"0":{"name":"support.function.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"\\\\b[0-9]+\\\\b","beginCaptures":{"0":{"name":"constant.numeric.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]}]},"expression":{"patterns":[{"include":"#parens-and-cont"},{"include":"#list-and-cont"},{"include":"#string"},{"include":"#interpolation"},{"include":"#with-assert"},{"include":"#function-for-sure"},{"include":"#attrset-for-sure"},{"include":"#attrset-or-function"},{"include":"#let"},{"include":"#if"},{"include":"#operator-unary"},{"include":"#operator-binary"},{"include":"#constants"},{"include":"#bad-reserved"},{"include":"#parameter-name-and-cont"},{"include":"#others"}]},"expression-cont":{"begin":"(?=.?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#parens"},{"include":"#list"},{"include":"#string"},{"include":"#interpolation"},{"include":"#function-for-sure"},{"include":"#attrset-for-sure"},{"include":"#attrset-or-function"},{"include":"#operator-binary"},{"include":"#constants"},{"include":"#bad-reserved"},{"include":"#parameter-name"},{"include":"#others"}]},"function-body":{"begin":"(@\\\\s*([A-Z_a-z][-\'0-9A-Z_a-z]*)\\\\s*)?(:)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression"}]},"function-body-from-colon":{"begin":"(:)","beginCaptures":{"0":{"name":"punctuation.definition.function.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression"}]},"function-contents":{"patterns":[{"include":"#bad-reserved"},{"include":"#function-parameter"},{"include":"#others"}]},"function-definition":{"begin":"(?=.?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-body-from-colon"},{"begin":"(?=.?)","end":"(?=:)","patterns":[{"begin":"\\\\b([A-Z_a-z][-\'0-9A-Z_a-z]*)","beginCaptures":{"0":{"name":"variable.parameter.function.4.nix"}},"end":"(?=:)","patterns":[{"begin":"@","end":"(?=:)","patterns":[{"include":"#function-header-until-colon-no-arg"},{"include":"#others"}]},{"include":"#others"}]},{"begin":"(?=\\\\{)","end":"(?=:)","patterns":[{"include":"#function-header-until-colon-with-arg"}]}]},{"include":"#others"}]},"function-definition-brace-opened":{"begin":"(?=.?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-body-from-colon"},{"begin":"(?=.?)","end":"(?=:)","patterns":[{"include":"#function-header-close-brace-with-arg"},{"begin":"(?=.?)","end":"(?=})","patterns":[{"include":"#function-contents"}]}]},{"include":"#others"}]},"function-for-sure":{"patterns":[{"begin":"(?=(\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*\\\\s*[:@]|\\\\{[^\\"\'}]*}\\\\s*:|\\\\{[^\\"#\'/=}]*[,?]))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition"}]}]},"function-header-close-brace-no-arg":{"begin":"}","beginCaptures":{"0":{"name":"punctuation.definition.entity.function.nix"}},"end":"(?=:)","patterns":[{"include":"#others"}]},"function-header-close-brace-with-arg":{"begin":"}","beginCaptures":{"0":{"name":"punctuation.definition.entity.function.nix"}},"end":"(?=:)","patterns":[{"include":"#function-header-terminal-arg"},{"include":"#others"}]},"function-header-open-brace":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.entity.function.2.nix"}},"end":"(?=})","patterns":[{"include":"#function-contents"}]},"function-header-terminal-arg":{"begin":"(?=@)","end":"(?=:)","patterns":[{"begin":"@","end":"(?=:)","patterns":[{"begin":"\\\\b([A-Z_a-z][-\'0-9A-Z_a-z]*)","end":"(?=:)","name":"variable.parameter.function.3.nix"},{"include":"#others"}]},{"include":"#others"}]},"function-header-until-colon-no-arg":{"begin":"(?=\\\\{)","end":"(?=:)","patterns":[{"include":"#function-header-open-brace"},{"include":"#function-header-close-brace-no-arg"}]},"function-header-until-colon-with-arg":{"begin":"(?=\\\\{)","end":"(?=:)","patterns":[{"include":"#function-header-open-brace"},{"include":"#function-header-close-brace-with-arg"}]},"function-parameter":{"patterns":[{"begin":"(\\\\.\\\\.\\\\.)","end":"(,|(?=}))","name":"keyword.operator.nix","patterns":[{"include":"#others"}]},{"begin":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"variable.parameter.function.1.nix"}},"end":"(,|(?=}))","endCaptures":{"0":{"name":"keyword.operator.nix"}},"patterns":[{"include":"#whitespace"},{"include":"#comment"},{"include":"#function-parameter-default"},{"include":"#expression"}]},{"include":"#others"}]},"function-parameter-default":{"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.nix"}},"end":"(?=[,}])","patterns":[{"include":"#expression"}]},"if":{"begin":"(?=\\\\bif\\\\b)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\bif\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"\\\\bth(?=en\\\\b)","endCaptures":{"0":{"name":"keyword.other.nix"}},"patterns":[{"include":"#expression"}]},{"begin":"(?<=th)en\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"\\\\bel(?=se\\\\b)","endCaptures":{"0":{"name":"keyword.other.nix"}},"patterns":[{"include":"#expression"}]},{"begin":"(?<=el)se\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","endCaptures":{"0":{"name":"keyword.other.nix"}},"patterns":[{"include":"#expression"}]}]},"illegal":{"match":".","name":"invalid.illegal"},"interpolation":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nix"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.nix"}},"name":"meta.embedded","patterns":[{"include":"#expression"}]},"let":{"begin":"(?=\\\\blet\\\\b)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\blet\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=([]),;}]|\\\\b(in|else|then)\\\\b))","patterns":[{"begin":"(?=\\\\{)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\{","end":"}","patterns":[{"include":"#attrset-contents"}]},{"begin":"(^|(?<=}))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"include":"#others"}]},{"include":"#attrset-contents"},{"include":"#others"}]},{"begin":"\\\\bin\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression"}]}]},"list":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.list.nix"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.list.nix"}},"patterns":[{"include":"#expression"}]},"list-and-cont":{"begin":"(?=\\\\[)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#list"},{"include":"#expression-cont"}]},"operator-binary":{"match":"(\\\\bor\\\\b|\\\\.|\\\\|>|<\\\\||==|!=?|<=?|>=?|&&|\\\\|\\\\||->|//|\\\\?|\\\\+\\\\+|[-*]|/(?=([^*]|$))|\\\\+)","name":"keyword.operator.nix"},"operator-unary":{"match":"([-!])","name":"keyword.operator.unary.nix"},"others":{"patterns":[{"include":"#whitespace"},{"include":"#comment"},{"include":"#illegal"}]},"parameter-name":{"captures":{"0":{"name":"variable.parameter.name.nix"}},"match":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*"},"parameter-name-and-cont":{"begin":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"variable.parameter.name.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.expression.nix"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.expression.nix"}},"patterns":[{"include":"#expression"}]},"parens-and-cont":{"begin":"(?=\\\\()","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#parens"},{"include":"#expression-cont"}]},"string":{"patterns":[{"begin":"(?=\'\')","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\'\'","beginCaptures":{"0":{"name":"punctuation.definition.string.other.start.nix"}},"end":"\'\'(?![$\']|\\\\\\\\.)","endCaptures":{"0":{"name":"punctuation.definition.string.other.end.nix"}},"name":"string.quoted.other.nix","patterns":[{"match":"\'\'([$\']|\\\\\\\\.)","name":"constant.character.escape.nix"},{"include":"#interpolation"}]},{"include":"#expression-cont"}]},{"begin":"(?=\\")","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#string-quoted"},{"include":"#expression-cont"}]},{"begin":"(~?[-+.0-9A-Z_a-z]*(/[-+.0-9A-Z_a-z]+)+)","beginCaptures":{"0":{"name":"string.unquoted.path.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"(<[-+.0-9A-Z_a-z]+(/[-+.0-9A-Z_a-z]+)*>)","beginCaptures":{"0":{"name":"string.unquoted.spath.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"([A-Za-z][-+.0-9A-Za-z]*:[!$-\'*-:=?-Z_a-z~]+)","beginCaptures":{"0":{"name":"string.unquoted.url.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]}]},"string-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.double.start.nix"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.double.end.nix"}},"name":"string.quoted.double.nix","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.nix"},{"include":"#interpolation"}]},"whitespace":{"match":"\\\\s+"},"with-assert":{"begin":"(?<![-\'\\\\w])(with|assert)(?![-\'\\\\w])","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":";","patterns":[{"include":"#expression"}]}},"scopeName":"source.nix","embeddedLangs":["markdown-nix"]}')),nq=[...Fx,tq]});var aq,Tx,Vx=n1(()=>{aq=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":"text.html.vue"}]}},"scopeName":"markdown.vue.codeblock"}')),Tx=[aq]});var iq,qx,Ix=n1(()=>{iq=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":"text.html.vue#vue-directives"}],"scopeName":"vue.directives"}')),qx=[iq]});var rq,Bx,Px=n1(()=>{rq=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":"text.html.vue#vue-interpolations"}],"scopeName":"vue.interpolations"}')),Bx=[rq]});var sq,Rx,Dx=n1(()=>{ee();sq=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"]}')),Rx=[...w0,sq]});var Gx={};u1(Gx,{default:()=>oq});var cq,oq,Ox=n1(()=>{Ve();ee();P6();D6();u4();qo();Vx();Ix();Px();Dx();cq=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":"(?!template(?![-0-:A-Za-z]))([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"\']?)html\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"contentName":"text.html.derivative","end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"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":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.ts","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)","name":"source.ts","patterns":[{"include":"source.ts"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"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":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.tsx","patterns":[{"include":"source.tsx"}]},{"begin":"(?<=>)","name":"source.tsx","patterns":[{"include":"source.tsx"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"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":"text.html.vue","patterns":[{"include":"text.html.vue"}]}]},{"begin":"(template)(?=\\\\s|/?>)","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[>\\\\s])","name":"text.html.derivative","patterns":[{"include":"#html-stuff"}]}]},{"begin":"(script)(?=\\\\s|/?>)","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":"#multi-line-script-tag-stuff"}]},{"begin":"(style)(?=\\\\s|/?>)","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":"#multi-line-style-tag-stuff"}]},{"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":{"capitalized-tag":{"begin":"(<)([A-Z][-0-:A-Za-z]*)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.html.vue"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag.structure.$2.start.html.vue","patterns":[{"begin":"\\\\G","end":"(?=/?>)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]}]},"html-stuff":{"patterns":[{"include":"#template-tag"},{"include":"#capitalized-tag"},{"include":"text.html.derivative"},{"include":"text.html.basic"}]},"multi-line-script-tag-stuff":{"begin":"\\\\G","end":"(?=<\/script[>\\\\s])","patterns":[{"begin":"\\\\G(?!\\\\blang\\\\s*=\\\\s*[\\"\']?(?:tsx??|jsx|coffee)\\\\b)","end":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?(?:tsx??|jsx|coffee)\\\\b)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?ts\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.ts","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)","name":"source.ts","patterns":[{"include":"source.ts"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?tsx\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.tsx","patterns":[{"include":"source.tsx"}]},{"begin":"(?<=>)","name":"source.tsx","patterns":[{"include":"source.tsx"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?jsx\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\/script[>\\\\s])","name":"source.js.jsx","patterns":[{"include":"source.js.jsx"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?coffee\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\/script[>\\\\s])","name":"source.coffee","patterns":[{"include":"source.coffee"}]}]},{"begin":"(?<=>)","end":"(?=<\/script[>\\\\s])","name":"source.js","patterns":[{"include":"source.js"}]}]},"multi-line-style-tag-stuff":{"begin":"\\\\G","end":"(?=</style[>\\\\s])","patterns":[{"begin":"\\\\G(?!\\\\blang\\\\s*=\\\\s*[\\"\']?(?:scss|stylus|less|postcss)\\\\b)","end":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?(?:scss|stylus|less|postcss)\\\\b)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?scss\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css.scss","patterns":[{"include":"source.css.scss"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?stylus\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.stylus","patterns":[{"include":"source.stylus"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?less\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css.less","patterns":[{"include":"source.css.less"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?postcss\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.postcss","patterns":[{"include":"source.postcss"}]}]},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css","patterns":[{"include":"source.css"}]}]},"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)(?=[>\\\\s]))","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)(?=\\\\s|/?>)","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)(?=[>\\\\s]))","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":"text.html.vue","embeddedLangs":["css","javascript","typescript","json","html","html-derivative","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"]}')),oq=[...G0,...w0,...K3,...Q3,...I2,...Ga,...Tx,...qx,...Bx,...Rx,cq]});var lq,Wx,Ux=n1(()=>{lq=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"}')),Wx=[lq]});var Xx={};u1(Xx,{default:()=>uq});var pq,uq,Kx=n1(()=>{ee();P6();Ve();Ux();pq=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":"(?<=>)(?=[^\\\\n]+</(s(?:cript|tyle))[>\\\\s])","contentName":"source.ts","end":"(?=</(s(?:cript|tyle))[>\\\\s])","name":"meta.embedded.block.svelte","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)(?!</)","contentName":"source.ts","name":"meta.embedded.block.svelte","patterns":[{"include":"source.ts"}],"while":"^(?!\\\\s*</(s(?:cript|tyle))[>\\\\s])"}]},"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-comments"},{"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-comments":{"patterns":[{"match":"//.*$","name":"comment.line.double-slash.svelte"},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.svelte"}]},"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"]}')),uq=[...w0,...K3,...G0,...Wx,pq]});var Yx={};u1(Yx,{default:()=>dq});var mq,dq,Qx=n1(()=>{mq=Object.freeze(JSON.parse('{"displayName":"Makefile","name":"make","patterns":[{"include":"#comment"},{"include":"#variables"},{"include":"#variable-assignment"},{"include":"#directives"},{"include":"#recipe"},{"include":"#target"}],"repository":{"another-variable-braces":{"patterns":[{"begin":"(?<=\\\\{)(?!})","end":"(?=}|((?<!\\\\\\\\)\\\\n))","name":"variable.other.makefile","patterns":[{"include":"#variables"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"another-variable-parentheses":{"patterns":[{"begin":"(?<=\\\\()(?!\\\\))","end":"(?=\\\\)|((?<!\\\\\\\\)\\\\n))","name":"variable.other.makefile","patterns":[{"include":"#variables"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"braces-interpolation":{"begin":"\\\\{","end":"}","patterns":[{"include":"#variables"},{"include":"#interpolation"}]},"builtin-variable-braces":{"patterns":[{"match":"(?<=\\\\{)(MAKEFILES|VPATH|SHELL|MAKESHELL|MAKE|MAKELEVEL|MAKEFLAGS|MAKECMDGOALS|CURDIR|SUFFIXES|\\\\.LIBPATTERNS)(?=\\\\s*})","name":"variable.language.makefile"}]},"builtin-variable-parentheses":{"patterns":[{"match":"(?<=\\\\()(MAKEFILES|VPATH|SHELL|MAKESHELL|MAKE|MAKELEVEL|MAKEFLAGS|MAKECMDGOALS|CURDIR|SUFFIXES|\\\\.LIBPATTERNS)(?=\\\\s*\\\\))","name":"variable.language.makefile"}]},"comma":{"match":",","name":"punctuation.separator.delimeter.comma.makefile"},"comment":{"begin":"(^ +)?((?<!\\\\\\\\)(\\\\\\\\\\\\\\\\)*)(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.makefile"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.makefile"}},"end":"(?=[^\\\\\\\\])$","name":"comment.line.number-sign.makefile","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"directives":{"patterns":[{"begin":"^ *([-s]?include)\\\\b","beginCaptures":{"1":{"name":"keyword.control.include.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]},{"begin":"^ *(vpath)\\\\b","beginCaptures":{"1":{"name":"keyword.control.vpath.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]},{"begin":"^\\\\s*(?:(override)\\\\s*)?(define)\\\\s*(\\\\S+)\\\\s*([+:?]??=)?(?=\\\\s)","captures":{"1":{"name":"keyword.control.override.makefile"},"2":{"name":"keyword.control.define.makefile"},"3":{"name":"variable.other.makefile"},"4":{"name":"punctuation.separator.key-value.makefile"}},"end":"^\\\\s*(endef)\\\\b","name":"meta.scope.conditional.makefile","patterns":[{"begin":"\\\\G(?!\\\\n)","end":"^","patterns":[{"include":"#comment"}]},{"include":"#variables"},{"include":"#directives"}]},{"begin":"^ *(export)\\\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variable-assignment"},{"match":"\\\\S+","name":"variable.other.makefile"}]},{"begin":"^ *(override|private)\\\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variable-assignment"}]},{"begin":"^ *(un(?:export|define))\\\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"match":"\\\\S+","name":"variable.other.makefile"}]},{"begin":"^\\\\s*(ifn??(?:eq|def))(?=\\\\s)","captures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^\\\\s*(endif)\\\\b","name":"meta.scope.conditional.makefile","patterns":[{"begin":"\\\\G","end":"^","name":"meta.scope.condition.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#comment"}]},{"begin":"^\\\\s*else(?=\\\\s)\\\\s*(ifn??(?:eq|def))*(?=\\\\s)","beginCaptures":{"0":{"name":"keyword.control.else.makefile"}},"end":"^","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#comment"}]},{"include":"$self"}]}]},"flavor-variable-braces":{"patterns":[{"begin":"(?<=\\\\{)(origin|flavor)\\\\s(?=[^}\\\\s]+\\\\s*})","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"contentName":"variable.other.makefile","end":"(?=})","name":"meta.scope.function-call.makefile","patterns":[{"include":"#variables"}]}]},"flavor-variable-parentheses":{"patterns":[{"begin":"(?<=\\\\()(origin|flavor)\\\\s(?=[^)\\\\s]+\\\\s*\\\\))","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"contentName":"variable.other.makefile","end":"(?=\\\\))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#variables"}]}]},"function-variable-braces":{"patterns":[{"begin":"(?<=\\\\{)(subst|patsubst|strip|findstring|filter(-out)?|sort|word(list)?|firstword|lastword|dir|notdir|suffix|basename|addsuffix|addprefix|join|wildcard|realpath|abspath|info|error|warning|shell|foreach|if|or|and|call|eval|value|file|guile)\\\\s","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"end":"(?=}|((?<!\\\\\\\\)\\\\n))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#interpolation"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"function-variable-parentheses":{"patterns":[{"begin":"(?<=\\\\()(subst|patsubst|strip|findstring|filter(-out)?|sort|word(list)?|firstword|lastword|dir|notdir|suffix|basename|addsuffix|addprefix|join|wildcard|realpath|abspath|info|error|warning|shell|foreach|if|or|and|call|eval|value|file|guile)\\\\s","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"end":"(?=\\\\)|((?<!\\\\\\\\)\\\\n))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#interpolation"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"interpolation":{"patterns":[{"include":"#parentheses-interpolation"},{"include":"#braces-interpolation"}]},"parentheses-interpolation":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#variables"},{"include":"#interpolation"}]},"recipe":{"begin":"^\\\\t([-+@]*)","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"[^\\\\\\\\]$","name":"meta.scope.recipe.makefile","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"include":"#variables"}]},"simple-variable":{"patterns":[{"match":"\\\\$[^(){}]","name":"variable.language.makefile"}]},"target":{"begin":"^(?!\\\\t)([^:]*)(:)(?!=)","beginCaptures":{"1":{"patterns":[{"captures":{"1":{"name":"support.function.target.$1.makefile"}},"match":"^\\\\s*(\\\\.(PHONY|SUFFIXES|DEFAULT|PRECIOUS|INTERMEDIATE|SECONDARY|SECONDEXPANSION|DELETE_ON_ERROR|IGNORE|LOW_RESOLUTION_TIME|SILENT|EXPORT_ALL_VARIABLES|NOTPARALLEL|ONESHELL|POSIX))\\\\s*$"},{"begin":"(?=\\\\S)","end":"(?=\\\\s|$)","name":"entity.name.function.target.makefile","patterns":[{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]}]},"2":{"name":"punctuation.separator.key-value.makefile"}},"end":"[^\\\\\\\\]$","name":"meta.scope.target.makefile","patterns":[{"begin":"\\\\G","end":"(?=[^\\\\\\\\])$","name":"meta.scope.prerequisites.makefile","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"include":"#comment"},{"include":"#variables"}]}]},"variable-assignment":{"begin":"(^ *|\\\\G\\\\s*)([^#:=\\\\s]+)\\\\s*((?:(?<![!+:?])|[!+:?])=)","beginCaptures":{"2":{"name":"variable.other.makefile","patterns":[{"include":"#variables"}]},"3":{"name":"punctuation.separator.key-value.makefile"}},"end":"\\\\n","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"include":"#comment"},{"include":"#variables"}]},"variable-braces":{"patterns":[{"begin":"\\\\$\\\\{","captures":{"0":{"name":"punctuation.definition.variable.makefile"}},"end":"}|((?<!\\\\\\\\)\\\\n)","name":"string.interpolated.makefile","patterns":[{"include":"#variables"},{"include":"#builtin-variable-braces"},{"include":"#function-variable-braces"},{"include":"#flavor-variable-braces"},{"include":"#another-variable-braces"}]}]},"variable-parentheses":{"patterns":[{"begin":"\\\\$\\\\(","captures":{"0":{"name":"punctuation.definition.variable.makefile"}},"end":"\\\\)|((?<!\\\\\\\\)\\\\n)","name":"string.interpolated.makefile","patterns":[{"include":"#variables"},{"include":"#builtin-variable-parentheses"},{"include":"#function-variable-parentheses"},{"include":"#flavor-variable-parentheses"},{"include":"#another-variable-parentheses"}]}]},"variables":{"patterns":[{"include":"#simple-variable"},{"include":"#variable-parentheses"},{"include":"#variable-braces"}]}},"scopeName":"source.makefile","aliases":["makefile"]}')),dq=[mq]});var Jx={};u1(Jx,{default:()=>gq});var hq,gq,ek=n1(()=>{hq=Object.freeze(JSON.parse('{"displayName":"Groovy","name":"groovy","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.groovy"}},"match":"^(#!).+$\\\\n","name":"comment.line.hashbang.groovy"},{"captures":{"1":{"name":"keyword.other.package.groovy"},"2":{"name":"storage.modifier.package.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"match":"^\\\\s*(package)\\\\b(?:\\\\s*([^ $;]+)\\\\s*(;)?)?","name":"meta.package.groovy"},{"begin":"(import static)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.import.static.groovy"}},"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"storage.modifier.import.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"contentName":"storage.modifier.import.groovy","end":"\\\\s*(?:$|(?=%>)(;))","endCaptures":{"1":{"name":"punctuation.terminator.groovy"}},"name":"meta.import.groovy","patterns":[{"match":"\\\\.","name":"punctuation.separator.groovy"},{"match":"\\\\s","name":"invalid.illegal.character_not_allowed_here.groovy"}]},{"begin":"(import)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.import.groovy"}},"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"storage.modifier.import.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"contentName":"storage.modifier.import.groovy","end":"\\\\s*(?:$|(?=%>)|(;))","endCaptures":{"1":{"name":"punctuation.terminator.groovy"}},"name":"meta.import.groovy","patterns":[{"match":"\\\\.","name":"punctuation.separator.groovy"},{"match":"\\\\s","name":"invalid.illegal.character_not_allowed_here.groovy"}]},{"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"keyword.other.import.static.groovy"},"3":{"name":"storage.modifier.import.groovy"},"4":{"name":"punctuation.terminator.groovy"}},"match":"^\\\\s*(import)\\\\s+(static)\\\\s+\\\\b(?:\\\\s*([^ $;]+)\\\\s*(;)?)?","name":"meta.import.groovy"},{"include":"#groovy"}],"repository":{"annotations":{"patterns":[{"begin":"(?<!\\\\.)(@[^ (]+)(\\\\()","beginCaptures":{"1":{"name":"storage.type.annotation.groovy"},"2":{"name":"punctuation.definition.annotation-arguments.begin.groovy"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.annotation-arguments.end.groovy"}},"name":"meta.declaration.annotation.groovy","patterns":[{"captures":{"1":{"name":"constant.other.key.groovy"},"2":{"name":"keyword.operator.assignment.groovy"}},"match":"(\\\\w*)\\\\s*(=)"},{"include":"#values"},{"match":",","name":"punctuation.definition.seperator.groovy"}]},{"match":"(?<!\\\\.)@\\\\S+","name":"storage.type.annotation.groovy"}]},"anonymous-classes-and-new":{"begin":"\\\\bnew\\\\b","beginCaptures":{"0":{"name":"keyword.control.new.groovy"}},"end":"(?<=[])])(?!\\\\s*\\\\{)|(?<=})|(?=;)|$","patterns":[{"begin":"(\\\\w+)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"storage.type.groovy"}},"end":"}|(?=\\\\s*[),;])|$","patterns":[{"begin":"\\\\[","end":"]","patterns":[{"include":"#groovy"}]},{"begin":"\\\\{","end":"(?=})","patterns":[{"include":"#groovy"}]}]},{"begin":"(?=\\\\w.*\\\\(?)","end":"(?<=\\\\))|$","patterns":[{"include":"#object-types"},{"begin":"\\\\(","beginCaptures":{"1":{"name":"storage.type.groovy"}},"end":"\\\\)","patterns":[{"include":"#groovy"}]}]},{"begin":"\\\\{","end":"}","name":"meta.inner-class.groovy","patterns":[{"include":"#class-body"}]}]},"braces":{"begin":"\\\\{","end":"}","patterns":[{"include":"#groovy-code"}]},"class":{"begin":"(?=\\\\w?[\\\\w\\\\s]*(?:class|@?interface|enum)\\\\s+\\\\w+)","end":"}","endCaptures":{"0":{"name":"punctuation.section.class.end.groovy"}},"name":"meta.definition.class.groovy","patterns":[{"include":"#storage-modifiers"},{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.groovy"},"2":{"name":"entity.name.type.class.groovy"}},"match":"(class|@?interface|enum)\\\\s+(\\\\w+)","name":"meta.class.identifier.groovy"},{"begin":"extends","beginCaptures":{"0":{"name":"storage.modifier.extends.groovy"}},"end":"(?=\\\\{|implements)","name":"meta.definition.class.inherited.classes.groovy","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"(implements)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.groovy"}},"end":"(?=\\\\s*extends|\\\\{)","name":"meta.definition.class.implemented.interfaces.groovy","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\\\{","end":"(?=})","name":"meta.class.body.groovy","patterns":[{"include":"#class-body"}]}]},"class-body":{"patterns":[{"include":"#enum-values"},{"include":"#constructors"},{"include":"#groovy"}]},"closures":{"begin":"\\\\{(?=.*?->)","end":"}","patterns":[{"begin":"(?<=\\\\{)(?=[^}]*?->)","end":"->","endCaptures":{"0":{"name":"keyword.operator.groovy"}},"patterns":[{"begin":"(?!->)","end":"(?=->)","name":"meta.closure.parameters.groovy","patterns":[{"begin":"(?!,|->)","end":"(?=,|->)","name":"meta.closure.parameter.groovy","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"(?=,|->)","name":"meta.parameter.default.groovy","patterns":[{"include":"#groovy-code"}]},{"include":"#parameters"}]}]}]},{"begin":"(?=[^}])","end":"(?=})","patterns":[{"include":"#groovy-code"}]}]},"comment-block":{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.groovy"}},"end":"\\\\*/","name":"comment.block.groovy"},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.groovy"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.groovy"},{"include":"text.html.javadoc"},{"include":"#comment-block"},{"captures":{"1":{"name":"punctuation.definition.comment.groovy"}},"match":"(//).*$\\\\n?","name":"comment.line.double-slash.groovy"}]},"constants":{"patterns":[{"match":"\\\\b([A-Z][0-9A-Z_]+)\\\\b","name":"constant.other.groovy"},{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.groovy"}]},"constructors":{"applyEndPatternLast":1,"begin":"(?<=;|^)(?=\\\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)\\\\s+)*[A-Z]\\\\w*\\\\()","end":"}","patterns":[{"include":"#method-content"}]},"enum-values":{"patterns":[{"begin":"(?<=;|^)\\\\s*\\\\b([0-9A-Z_]+)(?=\\\\s*(?:[(,;}]|$))","beginCaptures":{"1":{"name":"constant.enum.name.groovy"}},"end":"[,;]|(?=})|^(?!\\\\s*\\\\w+\\\\s*(?:,|$))","patterns":[{"begin":"\\\\(","end":"\\\\)","name":"meta.enum.value.groovy","patterns":[{"match":",","name":"punctuation.definition.seperator.parameter.groovy"},{"include":"#groovy-code"}]}]}]},"groovy":{"patterns":[{"include":"#comments"},{"include":"#class"},{"include":"#variables"},{"include":"#methods"},{"include":"#annotations"},{"include":"#groovy-code"}]},"groovy-code":{"patterns":[{"include":"#groovy-code-minus-map-keys"},{"include":"#map-keys"}]},"groovy-code-minus-map-keys":{"patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#support-functions"},{"include":"#keyword-language"},{"include":"#values"},{"include":"#anonymous-classes-and-new"},{"include":"#keyword-operator"},{"include":"#types"},{"include":"#storage-modifiers"},{"include":"#parens"},{"include":"#closures"},{"include":"#braces"}]},"keyword":{"patterns":[{"include":"#keyword-operator"},{"include":"#keyword-language"}]},"keyword-language":{"patterns":[{"match":"\\\\b(try|catch|finally|throw)\\\\b","name":"keyword.control.exception.groovy"},{"match":"\\\\b((?<!\\\\.)(?:return|break|continue|default|do|while|for|switch|if|else))\\\\b","name":"keyword.control.groovy"},{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.groovy"}},"end":":","endCaptures":{"0":{"name":"punctuation.definition.case-terminator.groovy"}},"name":"meta.case.groovy","patterns":[{"include":"#groovy-code-minus-map-keys"}]},{"begin":"\\\\b(assert)\\\\s","beginCaptures":{"1":{"name":"keyword.control.assert.groovy"}},"end":"$|[;}]","name":"meta.declaration.assertion.groovy","patterns":[{"match":":","name":"keyword.operator.assert.expression-seperator.groovy"},{"include":"#groovy-code-minus-map-keys"}]},{"match":"\\\\b(throws)\\\\b","name":"keyword.other.throws.groovy"}]},"keyword-operator":{"patterns":[{"match":"\\\\b(as)\\\\b","name":"keyword.operator.as.groovy"},{"match":"\\\\b(in)\\\\b","name":"keyword.operator.in.groovy"},{"match":"\\\\?:","name":"keyword.operator.elvis.groovy"},{"match":"\\\\*:","name":"keyword.operator.spreadmap.groovy"},{"match":"\\\\.\\\\.","name":"keyword.operator.range.groovy"},{"match":"->","name":"keyword.operator.arrow.groovy"},{"match":"<<","name":"keyword.operator.leftshift.groovy"},{"match":"(?<=\\\\S)\\\\.(?=\\\\S)","name":"keyword.operator.navigation.groovy"},{"match":"(?<=\\\\S)\\\\?\\\\.(?=\\\\S)","name":"keyword.operator.safe-navigation.groovy"},{"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.groovy"}},"end":"(?=$|[])}])","name":"meta.evaluation.ternary.groovy","patterns":[{"match":":","name":"keyword.operator.ternary.expression-seperator.groovy"},{"include":"#groovy-code-minus-map-keys"}]},{"match":"==~","name":"keyword.operator.match.groovy"},{"match":"=~","name":"keyword.operator.find.groovy"},{"match":"\\\\b(instanceof)\\\\b","name":"keyword.operator.instanceof.groovy"},{"match":"(===?|!=|<=|>=|<=>|<>|[<>]|<<)","name":"keyword.operator.comparison.groovy"},{"match":"=","name":"keyword.operator.assignment.groovy"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.groovy"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.groovy"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.groovy"}]},"language-variables":{"patterns":[{"match":"\\\\b(this|super)\\\\b","name":"variable.language.groovy"}]},"map-keys":{"patterns":[{"captures":{"1":{"name":"constant.other.key.groovy"},"2":{"name":"punctuation.definition.seperator.key-value.groovy"}},"match":"(\\\\w+)\\\\s*(:)"}]},"method-call":{"begin":"([$\\\\w]+)(\\\\()","beginCaptures":{"1":{"name":"meta.method.groovy"},"2":{"name":"punctuation.definition.method-parameters.begin.groovy"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.method-parameters.end.groovy"}},"name":"meta.method-call.groovy","patterns":[{"match":",","name":"punctuation.definition.seperator.parameter.groovy"},{"include":"#groovy-code"}]},"method-content":{"patterns":[{"match":"\\\\s"},{"include":"#annotations"},{"begin":"(?=[<\\\\w][^(]*\\\\s+[$<\\\\w]+\\\\s*\\\\()","end":"(?=[$\\\\w]+\\\\s*\\\\()","name":"meta.method.return-type.java","patterns":[{"include":"#storage-modifiers"},{"include":"#types"}]},{"begin":"([$\\\\w]+)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.java"}},"end":"\\\\)","name":"meta.definition.method.signature.java","patterns":[{"begin":"(?=[^)])","end":"(?=\\\\))","name":"meta.method.parameters.groovy","patterns":[{"begin":"(?=[^),])","end":"(?=[),])","name":"meta.method.parameter.groovy","patterns":[{"match":",","name":"punctuation.definition.separator.groovy"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"(?=[),])","name":"meta.parameter.default.groovy","patterns":[{"include":"#groovy-code"}]},{"include":"#parameters"}]}]}]},{"begin":"(?=<)","end":"(?=\\\\s)","name":"meta.method.paramerised-type.groovy","patterns":[{"begin":"<","end":">","name":"storage.type.parameters.groovy","patterns":[{"include":"#types"},{"match":",","name":"punctuation.definition.seperator.groovy"}]}]},{"begin":"throws","beginCaptures":{"0":{"name":"storage.modifier.groovy"}},"end":"(?=[;{])|^(?=\\\\s*(?:[^{\\\\s]|$))","name":"meta.throwables.groovy","patterns":[{"include":"#object-types"}]},{"begin":"\\\\{","end":"(?=})","name":"meta.method.body.java","patterns":[{"include":"#groovy-code"}]}]},"methods":{"applyEndPatternLast":1,"begin":"(?<=;|^|\\\\{)(?=\\\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)|def|(?:(?:void|boolean|byte|char|short|int|float|long|double)|@?(?:[A-Za-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)[]\\\\[]*(?:<.*>)?)\\\\s+([^=]+\\\\s+)?\\\\w+\\\\s*\\\\()","end":"}|(?=[^{])","name":"meta.definition.method.groovy","patterns":[{"include":"#method-content"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.groovy"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"numbers":{"patterns":[{"match":"((0([Xx])\\\\h*)|([-+])?\\\\b(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdfglu]|UL|ul)?\\\\b","name":"constant.numeric.groovy"}]},"object-types":{"patterns":[{"begin":"\\\\b((?:[a-z]\\\\w*\\\\.)*(?:[A-Z]+\\\\w*[a-z]+\\\\w*|UR[IL]))<","end":"[>[^],<?\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy","patterns":[{"include":"#object-types"},{"begin":"<","end":"[>[^],<\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy"}]},{"begin":"\\\\b((?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*[a-z]+\\\\w*)(?=\\\\[)","end":"(?=[^]\\\\s])","name":"storage.type.object.array.groovy","patterns":[{"begin":"\\\\[","end":"]","patterns":[{"include":"#groovy"}]}]},{"match":"\\\\b(?:[A-Za-z]\\\\w*\\\\.)*(?:[A-Z]+\\\\w*[a-z]+\\\\w*|UR[IL])\\\\b","name":"storage.type.groovy"}]},"object-types-inherited":{"patterns":[{"begin":"\\\\b((?:[A-Za-z]\\\\w*\\\\.)*[A-Z]+\\\\w*[a-z]+\\\\w*)<","end":"[>[^],<?\\\\[\\\\w\\\\s]]","name":"entity.other.inherited-class.groovy","patterns":[{"include":"#object-types-inherited"},{"begin":"<","end":"[>[^],<\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy"}]},{"captures":{"1":{"name":"keyword.operator.dereference.groovy"}},"match":"\\\\b(?:[A-Za-z]\\\\w*(\\\\.))*[A-Z]+\\\\w*[a-z]+\\\\w*\\\\b","name":"entity.other.inherited-class.groovy"}]},"parameters":{"patterns":[{"include":"#annotations"},{"include":"#storage-modifiers"},{"include":"#types"},{"match":"\\\\w+","name":"variable.parameter.method.groovy"}]},"parens":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#groovy-code"}]},"primitive-arrays":{"patterns":[{"match":"\\\\b(?:void|boolean|byte|char|short|int|float|long|double)(\\\\[])*\\\\b","name":"storage.type.primitive.array.groovy"}]},"primitive-types":{"patterns":[{"match":"\\\\b(?:void|boolean|byte|char|short|int|float|long|double)\\\\b","name":"storage.type.primitive.groovy"}]},"regexp":{"patterns":[{"begin":"/(?=[^/]+/([^>]|$))","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.groovy"}},"end":"/","endCaptures":{"0":{"name":"punctuation.definition.string.regexp.end.groovy"}},"name":"string.regexp.groovy","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]},{"begin":"~\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.groovy"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.regexp.end.groovy"}},"name":"string.regexp.compiled.groovy","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]}]},"storage-modifiers":{"patterns":[{"match":"\\\\b(p(?:rivate|rotected|ublic))\\\\b","name":"storage.modifier.access-control.groovy"},{"match":"\\\\b(static)\\\\b","name":"storage.modifier.static.groovy"},{"match":"\\\\b(final)\\\\b","name":"storage.modifier.final.groovy"},{"match":"\\\\b(native|synchronized|abstract|threadsafe|transient)\\\\b","name":"storage.modifier.other.groovy"}]},"string-quoted-double":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.double.groovy","patterns":[{"include":"#string-quoted-double-contents"}]},"string-quoted-double-contents":{"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"},{"applyEndPatternLast":1,"begin":"\\\\$\\\\w","end":"(?=\\\\W)","name":"variable.other.interpolated.groovy","patterns":[{"match":"\\\\w","name":"variable.other.interpolated.groovy"},{"match":"\\\\.","name":"keyword.other.dereference.groovy"}]},{"begin":"\\\\$\\\\{","captures":{"0":{"name":"punctuation.section.embedded.groovy"}},"end":"}","name":"source.groovy.embedded.source","patterns":[{"include":"#nest_curly"}]}]},"string-quoted-double-multiline":{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.double.multiline.groovy","patterns":[{"include":"#string-quoted-double-contents"}]},"string-quoted-single":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.single.groovy","patterns":[{"include":"#string-quoted-single-contents"}]},"string-quoted-single-contents":{"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]},"string-quoted-single-multiline":{"begin":"\'\'\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\'\'\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.single.multiline.groovy","patterns":[{"include":"#string-quoted-single-contents"}]},"strings":{"patterns":[{"include":"#string-quoted-double-multiline"},{"include":"#string-quoted-single-multiline"},{"include":"#string-quoted-double"},{"include":"#string-quoted-single"},{"include":"#regexp"}]},"structures":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.structure.begin.groovy"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.structure.end.groovy"}},"name":"meta.structure.groovy","patterns":[{"include":"#groovy-code"},{"match":",","name":"punctuation.definition.separator.groovy"}]},"support-functions":{"patterns":[{"match":"\\\\b(?:sprintf|print(?:f|ln)?)\\\\b","name":"support.function.print.groovy"},{"match":"\\\\b(?:shouldFail|fail(?:NotEquals)?|ass(?:ume|ert(?:S(?:cript|ame)|N(?:ot(?:Same|Null)|ull)|Contains|T(?:hat|oString|rue)|Inspect|Equals|False|Length|ArrayEquals)))\\\\b","name":"support.function.testing.groovy"}]},"types":{"patterns":[{"match":"\\\\b(def)\\\\b","name":"storage.type.def.groovy"},{"include":"#primitive-types"},{"include":"#primitive-arrays"},{"include":"#object-types"}]},"values":{"patterns":[{"include":"#language-variables"},{"include":"#strings"},{"include":"#numbers"},{"include":"#constants"},{"include":"#types"},{"include":"#structures"},{"include":"#method-call"}]},"variables":{"applyEndPatternLast":1,"patterns":[{"begin":"(?=(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)|def|(?:void|boolean|byte|char|short|int|float|long|double)|(?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)\\\\s+[],<>\\\\[_\\\\w\\\\d\\\\s]+(?:=|$))","end":";|$","name":"meta.definition.variable.groovy","patterns":[{"match":"\\\\s"},{"captures":{"1":{"name":"constant.variable.groovy"}},"match":"([0-9A-Z_]+)\\\\s+(?==)"},{"captures":{"1":{"name":"meta.definition.variable.name.groovy"}},"match":"(\\\\w[^,\\\\s]*)\\\\s+(?==)"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"$","patterns":[{"include":"#groovy-code"}]},{"captures":{"1":{"name":"meta.definition.variable.name.groovy"}},"match":"(\\\\w[^=\\\\s]*)(?=\\\\s*($|;))"},{"include":"#groovy-code"}]}]}},"scopeName":"source.groovy"}')),gq=[hq]});var rz=ye(rl=>{"use strict";var iz=R3();rl.createRoot=iz.createRoot,rl.hydrateRoot=iz.hydrateRoot;var v51});var fP={};u1(fP,{mountNativeChatList:()=>mP,mountNativeComposer:()=>dP,mountNativeConversation:()=>pP,mountNativeRuntimeInput:()=>gP,nativeConversationCss:()=>uP});var At=U1(g0(),1);var zl={Workflows:"\u5DE5\u4F5C\u6D41","A workflow is a group of your Bots. Drag the flowchart to change who hands work to whom.":"\u5DE5\u4F5C\u6D41\u662F\u4E00\u7EC4\u4F60\u7684 Bot\u3002\u62D6\u52A8\u6D41\u7A0B\u56FE\uFF0C\u6539\u8C01\u628A\u5DE5\u4F5C\u4EA4\u7ED9\u8C01\u3002","Factory presets":"\u51FA\u5382\u9884\u8BBE","Ready-made pipelines. Use one to start your own.":"\u51FA\u5382\u5C31\u6709\u7684\u6D41\u7A0B\u3002\u7528\u4E00\u4E2A\uFF0C\u505A\u6210\u4F60\u81EA\u5DF1\u7684\u3002",Yours:"\u4F60\u81EA\u5DF1\u7684","Workflows saved on this machine.":"\u8FD9\u53F0\u673A\u5668\u4E0A\u4FDD\u5B58\u7684\u5DE5\u4F5C\u6D41\u3002","No workflows of your own yet.":"\u8FD8\u6CA1\u6709\u4F60\u81EA\u5DF1\u7684\u5DE5\u4F5C\u6D41\u3002","No workflows yet.":"\u8FD8\u6CA1\u6709\u5DE5\u4F5C\u6D41\u3002","Reading workflows\u2026":"\u6B63\u5728\u8BFB\u53D6\u5DE5\u4F5C\u6D41\u2026","Could not read workflows":"\u8BFB\u4E0D\u5230\u5DE5\u4F5C\u6D41\u3002","The Workflow plugin is not installed or not enabled. A default install includes @flybot/workflow.":"\u5DE5\u4F5C\u6D41\u63D2\u4EF6\u6CA1\u6709\u5B89\u88C5\uFF0C\u6216\u6CA1\u6709\u542F\u7528\u3002\u9ED8\u8BA4\u5B89\u88C5\u5305\u542B @flybot/workflow\u3002","Could not copy this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u590D\u5236\u4E0D\u4E86\u3002","Could not save this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u4FDD\u5B58\u4E0D\u4E86\u3002","Could not rename this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u6539\u4E0D\u4E86\u540D\u3002","Could not delete this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u5220\u4E0D\u6389\u3002","Use this":"\u7528\u8FD9\u4E2A","Rename workflow":"\u91CD\u547D\u540D\u5DE5\u4F5C\u6D41","Delete workflow":"\u5220\u9664\u5DE5\u4F5C\u6D41",'Are you sure you want to delete "{name}"? This cannot be undone.':"\u786E\u5B9A\u5220\u9664\u300C{name}\u300D\u5417\uFF1F\u5220\u9664\u540E\u65E0\u6CD5\u6062\u590D\u3002","Finish editing":"\u5B8C\u6210","Drag a Bot here":"\u628A Bot \u62D6\u5230\u56FE\u4E0A","System prompt":"\u7CFB\u7EDF\u63D0\u793A\u8BCD","Parallel branch, then join":"\u5E76\u884C\u5206\u652F \xB7 \u5168\u90E8\u901A\u8FC7\u540E\u6C47\u5408","This workflow has no flowchart yet.":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u8FD8\u6CA1\u6709\u6D41\u7A0B\u56FE\u3002",Queued:"\u6392\u961F\u4E2D",Running:"\u8FD0\u884C\u4E2D",Skipped:"\u8DF3\u8FC7",Idle:"\u7A7A\u95F2","project default":"\u9879\u76EE\u9ED8\u8BA4",Customize:"\u5B9A\u5236\u4E00\u4EFD",Save:"\u4FDD\u5B58","Use for this project":"\u672C\u9879\u76EE\u4F7F\u7528","This node has no guards, so nothing refuses it but its inputs.":"\u8FD9\u4E2A\u8282\u70B9\u6CA1\u6709 guard\uFF0C\u9664\u4E86\u8F93\u5165\u4E4B\u5916\u6CA1\u6709\u522B\u7684\u4E1C\u897F\u4F1A\u62D2\u7EDD\u5B83\u3002",Guards:"Guard",Edges:"\u8FB9","Guards of {node}":"{node} \u7684 Guard",holds:"\u6210\u7ACB","cannot read":"\u8BFB\u4E0D\u5230",refuses:"\u62D2\u7EDD","The flowchart, drawn from the node table":"\u6D41\u7A0B\u56FE\uFF0C\u6309\u8282\u70B9\u8868\u7ED8\u5236","This host could not read the facts, so these guards say what they could not read \u2014 none of them is a pass.":"\u8FD9\u53F0\u4E3B\u673A\u8BFB\u4E0D\u5230\u4E8B\u5B9E\uFF0C\u6240\u4EE5\u8FD9\u4E9B guard \u53EA\u8BF4\u8BFB\u4E0D\u5230\u4EC0\u4E48\u2014\u2014\u6CA1\u6709\u4E00\u6761\u7B97\u901A\u8FC7\u3002","Saved workflows/{id}.json":"\u5DF2\u4FDD\u5B58 workflows/{id}.json","Could not open this workflow":"\u6253\u4E0D\u5F00\u8FD9\u4E2A\u5DE5\u4F5C\u6D41","This definition cannot be saved":"\u8FD9\u4E2A\u5B9A\u4E49\u4E0D\u80FD\u4FDD\u5B58","This definition cannot be copied":"\u8FD9\u4E2A\u5B9A\u4E49\u4E0D\u80FD\u590D\u5236","Select a node to edit":"\u9009\u62E9\u4E00\u4E2A\u8282\u70B9\u6765\u7F16\u8F91","Node settings":"\u8282\u70B9\u8BBE\u7F6E",Tools:"\u5DE5\u5177","Inputs and outputs":"\u8F93\u5165\u548C\u8F93\u51FA","{count} card(s) name a node this workflow draws no column for.":"\u6709 {count} \u5F20\u5361\u6307\u5411\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u4E0D\u753B\u5217\u7684\u8282\u70B9\u3002","Main Bot":"\u4E3B Bot",Working:"\u5DE5\u4F5C\u4E2D","Waiting for your answer":"\u7B49\u4F60\u56DE\u7B54","Unread activity":"\u6709\u672A\u8BFB",Search:"\u641C\u7D22","New chat":"\u65B0\u5BF9\u8BDD","Message one of your Bots":"\u7ED9\u4F60\u7684\u4E00\u4E2A Bot \u53D1\u6D88\u606F","Set up a Bot with its own role":"\u521B\u5EFA\u4E00\u4E2A\u6709\u81EA\u5DF1\u89D2\u8272\u7684 Bot","New group chat":"\u65B0\u5EFA\u7FA4\u804A","Chat with several of your Bots":"\u548C\u4F60\u7684\u51E0\u4E2A Bot \u4E00\u8D77\u804A","Face-to-face room":"\u9762\u5BF9\u9762\u623F\u95F4","Meet people nearby with a 6-digit number":"\u7528\u540C\u4E00\u7EC4 6 \u4F4D\u6570\u5B57\u548C\u8EAB\u8FB9\u7684\u4EBA\u89C1\u9762","Join by number or link":"\u7528\u53F7\u7801\u6216\u94FE\u63A5\u52A0\u5165","Start a face-to-face room":"\u9762\u5BF9\u9762\u5EFA\u7FA4","Start a new room with {code}":"\u7528 {code} \u5F00\u4E00\u4E2A\u65B0\u623F\u95F4","No one is waiting under this number. If someone already opened the room, the number no longer works \u2014 ask them for an invite link.":"\u8FD9\u4E2A\u53F7\u7801\u4E0B\u8FD8\u6CA1\u6709\u4EBA\u5728\u7B49\u3002\u5982\u679C\u5DF2\u7ECF\u6709\u4EBA\u5F00\u8FC7\u8FD9\u4E2A\u623F\u95F4\uFF0C\u53F7\u7801\u5C31\u4E0D\u518D\u6709\u6548\u2014\u2014\u5411\u4ED6\u4EEC\u8981\u4E00\u6761\u9080\u8BF7\u94FE\u63A5\u3002","Start a new room":"\u5F00\u4E00\u4E2A\u65B0\u623F\u95F4","Enter a number, or paste a group invite link":"\u8F93\u5165\u6570\u5B57\u9762\u5BF9\u9762\u5EFA\u7FA4\uFF0C\u6216\u7C98\u8D34\u9080\u8BF7\u94FE\u63A5\u52A0\u5165","Pick your Bots. Enter the same 6-digit number as everyone nearby to build a room together, or paste a group invite link or scan its QR code to join that group.":"\u9009\u597D\u4F60\u7684 Bot\u3002\u548C\u8EAB\u8FB9\u7684\u4EBA\u8F93\u5165\u540C\u4E00\u7EC4 6 \u4F4D\u6570\u5B57\u4E00\u8D77\u5EFA\u7FA4\uFF0C\u6216\u7C98\u8D34\u7FA4\u9080\u8BF7\u94FE\u63A5\u3001\u626B\u63CF\u4E8C\u7EF4\u7801\u52A0\u5165\u90A3\u4E2A\u7FA4\u3002","Pick the number everyone nearby types":"\u5B9A\u4E00\u4E2A\u5927\u5BB6\u90FD\u8F93\u5165\u7684\u53F7\u7801","Pick your Bots and choose a 6-digit number. Everyone nearby types the same number to build the room together.":"\u9009\u597D\u4F60\u7684 Bot\uFF0C\u518D\u5B9A\u4E00\u7EC4 6 \u4F4D\u6570\u5B57\u3002\u8EAB\u8FB9\u7684\u4EBA\u8F93\u5165\u540C\u4E00\u4E2A\u53F7\u7801\uFF0C\u5C31\u80FD\u4E00\u8D77\u628A\u8FD9\u4E2A\u7FA4\u5EFA\u8D77\u6765\u3002","Or paste a group invite link (https://\u2026/r/\u2026)":"\u6216\u7C98\u8D34\u7FA4\u9080\u8BF7\u94FE\u63A5\uFF08https://\u2026/r/\u2026\uFF09","Could not run: {error}":"\u8FD9\u4E00\u8F6E\u6CA1\u80FD\u8DD1\u8D77\u6765\uFF1A{error}","the model call failed":"\u6A21\u578B\u8C03\u7528\u5931\u8D25","{count} turns in a row":"\u8FDE\u7EED {count} \u8F6E","Group invite link":"\u7FA4\u9080\u8BF7\u94FE\u63A5","Room-only: friends do not see these Bots unless you invite them.":"\u4EC5\u9650\u8FD9\u4E2A\u623F\u95F4\uFF1A\u9664\u975E\u4F60\u9080\u8BF7\uFF0C\u597D\u53CB\u770B\u4E0D\u5230\u8FD9\u4E9B Bot\u3002","6 digits":"6 \u4F4D\u6570\u5B57","6-digit room number":"6 \u4F4D\u623F\u95F4\u53F7","Pick a Bot first.":"\u8BF7\u5148\u9009\u4E00\u4E2A Bot\u3002","Enter all 6 digits.":"\u8BF7\u8F93\u5165\u5B8C\u6574\u7684 6 \u4F4D\u6570\u5B57\u3002","Enter 6 digits":"\u8BF7\u8F93\u5165 6 \u4F4D\u6570\u5B57","Join with link":"\u7528\u94FE\u63A5\u52A0\u5165","Scan a code":"\u626B\u7801","Join group":"\u52A0\u5165\u7FA4",Join:"\u52A0\u5165","Invite by link":"\u7528\u94FE\u63A5\u9080\u8BF7","Create link":"\u521B\u5EFA\u94FE\u63A5","New link":"\u65B0\u94FE\u63A5","Anyone you give the link to can join with their Bot, until you withdraw it. They do not become a friend.":"\u62FF\u5230\u94FE\u63A5\u7684\u4EBA\u53EF\u4EE5\u5E26\u7740\u81EA\u5DF1\u7684 Bot \u52A0\u5165\uFF0C\u76F4\u5230\u4F60\u64A4\u56DE\u94FE\u63A5\u3002\u4ED6\u4EEC\u4E0D\u4F1A\u6210\u4E3A\u4F60\u7684\u597D\u53CB\u3002","No link came back. Try again.":"\u6CA1\u6709\u62FF\u5230\u94FE\u63A5\uFF0C\u8BF7\u91CD\u8BD5\u3002","The link was withdrawn. Nobody can join with it now.":"\u94FE\u63A5\u5DF2\u64A4\u56DE\uFF0C\u73B0\u5728\u6CA1\u4EBA\u80FD\u7528\u5B83\u52A0\u5165\u3002","Every unused link was withdrawn.":"\u6240\u6709\u8FD8\u6CA1\u7528\u8FC7\u7684\u94FE\u63A5\u90FD\u5DF2\u64A4\u56DE\u3002","This link has expired.":"\u8FD9\u4E2A\u94FE\u63A5\u5DF2\u8FC7\u671F\u3002","QR code for this group invite":"\u8FD9\u4E2A\u7FA4\u9080\u8BF7\u7684\u4E8C\u7EF4\u7801","Scan with FlyBot to join this group":"\u7528 FlyBot \u626B\u7801\u52A0\u5165\u8FD9\u4E2A\u7FA4","Copy link":"\u590D\u5236\u94FE\u63A5","{time} left to join":"\u8FD8\u5269 {time} \u53EF\u52A0\u5165","Works until you withdraw it.":"\u5728\u4F60\u64A4\u56DE\u4E4B\u524D\u4E00\u76F4\u6709\u6548\u3002","Withdraw link":"\u64A4\u56DE\u94FE\u63A5","1 earlier link still works.":"\u8FD8\u6709 1 \u4E2A\u4E4B\u524D\u7684\u94FE\u63A5\u4ECD\u7136\u6709\u6548\u3002","{count} earlier links still work.":"\u8FD8\u6709 {count} \u4E2A\u4E4B\u524D\u7684\u94FE\u63A5\u4ECD\u7136\u6709\u6548\u3002","Withdraw all":"\u5168\u90E8\u64A4\u56DE","{names} cannot be shown to someone who joins by link. Share them (Bot settings \u2192 Sharing) or remove them from the group, then seat the guest.":"{names} \u4E0D\u80FD\u7ED9\u901A\u8FC7\u94FE\u63A5\u52A0\u5165\u7684\u4EBA\u770B\u5230\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E \u2192 \u5171\u4EAB\u91CC\u5171\u4EAB\u4ED6\u4EEC\uFF0C\u6216\u628A\u4ED6\u4EEC\u79FB\u51FA\u7FA4\uFF0C\u7136\u540E\u518D\u5B89\u6392\u5BA2\u4EBA\u5165\u5EA7\u3002","A Bot in this group cannot be shown to someone who joins by link. Share that Bot or remove it, then seat the guest.":"\u8FD9\u4E2A\u7FA4\u91CC\u6709\u4E00\u4E2A Bot \u4E0D\u80FD\u7ED9\u901A\u8FC7\u94FE\u63A5\u52A0\u5165\u7684\u4EBA\u770B\u5230\u3002\u8BF7\u5171\u4EAB\u8BE5 Bot \u6216\u628A\u5B83\u79FB\u51FA\u7FA4\uFF0C\u7136\u540E\u518D\u5B89\u6392\u5BA2\u4EBA\u5165\u5EA7\u3002","A guest is in the group, but telling their FlyBot is waiting for your approval.":"\u5BA2\u4EBA\u5DF2\u7ECF\u5728\u7FA4\u91CC\uFF0C\u4F46\u901A\u77E5\u5BF9\u65B9 FlyBot \u8FD8\u5728\u7B49\u4F60\u6279\u51C6\u3002","A guest is in the group, but their FlyBot has not opened it yet. Seat them again.":"\u5BA2\u4EBA\u5DF2\u7ECF\u5728\u7FA4\u91CC\uFF0C\u4F46\u5BF9\u65B9\u7684 FlyBot \u8FD8\u6CA1\u6709\u6253\u5F00\u8FD9\u4E2A\u7FA4\u3002\u8BF7\u518D\u5B89\u6392\u4E00\u6B21\u5165\u5EA7\u3002","Seat them":"\u5B89\u6392\u5165\u5EA7","Paste an invite link or code":"\u7C98\u8D34\u9080\u8BF7\u94FE\u63A5\u6216\u9080\u8BF7\u7801","A coding session without a Bot":"\u4E0D\u5E26 Bot \u7684\u7F16\u7801\u4F1A\u8BDD","New Bot \u201C{name}\u201D":"\u65B0\u5EFA Bot\u300C{name}\u300D","New\u2026":"\u65B0\u5EFA",Animation:"\u52A8\u753B","Bot animation":"Bot \u52A8\u753B",Quiet:"\u5B89\u9759",Normal:"\u6B63\u5E38",Lively:"\u6D3B\u6CFC",Settings:"\u8BBE\u7F6E",Usage:"\u7528\u91CF",Account:"\u8D26\u6237",Cancel:"\u53D6\u6D88",Delete:"\u5220\u9664",Duplicate:"\u590D\u5236\u4E00\u4EFD",Hidden:"\u5DF2\u9690\u85CF",Admin:"\u7BA1\u7406\u5458",Human:"\u4EBA",Chief:"Chief",Shared:"\u5171\u4EAB","Add person":"\u6DFB\u52A0\u6210\u5458","Add friend's Bot":"\u6DFB\u52A0\u597D\u53CB\u7684 Bot","Sending as {name}":"\u4EE5 {name} \u7684\u8EAB\u4EFD\u53D1\u9001","Messages in this room are attributed to you":"\u8FD9\u4E2A\u623F\u95F4\u91CC\u7684\u6D88\u606F\u4F1A\u8BB0\u5728\u4F60\u7684\u540D\u4E0B","You can remove your Bot from this room":"\u4F60\u53EF\u4EE5\u4ECE\u8FD9\u4E2A\u623F\u95F4\u79FB\u8D70\u81EA\u5DF1\u7684 Bot","Shared room from {name}":"\u6765\u81EA {name} \u7684\u5171\u4EAB\u623F\u95F4","a friend":"\u4E00\u4F4D\u670B\u53CB","Your Bot was invited to this room by {name}":"{name} \u9080\u8BF7\u4E86\u4F60\u7684 Bot \u52A0\u5165\u8FD9\u4E2A\u623F\u95F4","Invited {when}":"\u9080\u8BF7\u4E8E {when}","Remove my Bot":"\u79FB\u8D70\u6211\u7684 Bot","{count} to approve":"{count} \u6761\u5F85\u6279\u51C6","Outbound reply":"\u5F85\u53D1\u51FA\u7684\u56DE\u590D",Add:"\u6DFB\u52A0",Close:"\u5173\u95ED",Copy:"\u590D\u5236",Copied:"\u5DF2\u590D\u5236",Content:"\u5185\u5BB9","Referenced {labels}":"\u5F15\u7528\u4E86 {labels}",", ":"\u3001",You:"\u4F60",you:"\u4F60",Bot:"Bot","a Bot":"\u4E00\u4E2A Bot","a group chat":"\u4E00\u4E2A\u7FA4\u804A"," and ":"\u3001",and:"\u548C","{count} members":"{count} \u4F4D\u6210\u5458","{count} member":"{count} \u4F4D\u6210\u5458","1 person":"1 \u4EBA","{count} people":"{count} \u4EBA","1 Bot":"1 \u4E2A Bot","{count} Bots":"{count} \u4E2A Bot","Loading\u2026":"\u52A0\u8F7D\u4E2D\u2026","Edit Bot":"\u7F16\u8F91 Bot","Make Main Bot":"\u8BBE\u4E3A\u4E3B Bot","Remove Main Bot role":"\u53D6\u6D88\u4E3B Bot","Bot settings":"Bot \u8BBE\u7F6E","Create group chat":"\u65B0\u5EFA\u7FA4\u804A","{name} is not shared with {friend}, so it cannot be in a group with their Bot: the group's messages go to their home.":"{name} \u8FD8\u6CA1\u6709\u5171\u4EAB\u7ED9 {friend}\uFF0C\u6240\u4EE5\u4E0D\u80FD\u548C\u5BF9\u65B9\u7684 Bot \u5728\u540C\u4E00\u4E2A\u7FA4\u91CC\uFF1A\u7FA4\u6D88\u606F\u4F1A\u53D1\u5230\u5BF9\u65B9\u7684\u4E3B\u9875\u3002","{name} are not shared with {friend}, so they cannot be in a group with their Bot: the group's messages go to their home.":"{name} \u8FD8\u6CA1\u6709\u5171\u4EAB\u7ED9 {friend}\uFF0C\u6240\u4EE5\u4E0D\u80FD\u548C\u5BF9\u65B9\u7684 Bot \u5728\u540C\u4E00\u4E2A\u7FA4\u91CC\uFF1A\u7FA4\u6D88\u606F\u4F1A\u53D1\u5230\u5BF9\u65B9\u7684\u4E3B\u9875\u3002","that friend":"\u8FD9\u4F4D\u597D\u53CB","Copy invite link for {name}":"\u590D\u5236 {name} \u7684\u9080\u8BF7\u94FE\u63A5","Leave {name} out":"\u4E0D\u62C9 {name} \u8FDB\u7FA4","Invite link for {name} copied. Send it to your friend; once they accept, create the group again.":"{name} \u7684\u9080\u8BF7\u94FE\u63A5\u5DF2\u590D\u5236\u3002\u53D1\u7ED9\u597D\u53CB\uFF0C\u5BF9\u65B9\u63A5\u53D7\u540E\u518D\u91CD\u65B0\u5EFA\u7FA4\u3002","Invite link":"\u9080\u8BF7\u94FE\u63A5","Could not copy the invite link for {name}. Copy the link below and send it to your friend; once they accept, create the group again.":"\u65E0\u6CD5\u81EA\u52A8\u590D\u5236 {name} \u7684\u9080\u8BF7\u94FE\u63A5\u3002\u8BF7\u624B\u52A8\u590D\u5236\u4E0B\u9762\u7684\u94FE\u63A5\u53D1\u7ED9\u597D\u53CB\uFF0C\u5BF9\u65B9\u63A5\u53D7\u540E\u518D\u91CD\u65B0\u5EFA\u7FA4\u3002","Could not create the invite. Use Bot settings \u2192 Sharing \u2192 Copy invite link for this Bot.":"\u65E0\u6CD5\u521B\u5EFA\u9080\u8BF7\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E \u2192 Sharing \u91CC\u4F7F\u7528 Copy invite link for this Bot\u3002","Add friend":"\u6DFB\u52A0\u597D\u53CB","Friend requests":"\u597D\u53CB\u8BF7\u6C42","Accept or decline incoming requests.":"\u63A5\u53D7\u6216\u62D2\u7EDD\u6536\u5230\u7684\u8BF7\u6C42\u3002","Accept invite":"\u63A5\u53D7\u9080\u8BF7","Paste a friend\u2019s invite link or code.":"\u7C98\u8D34\u670B\u53CB\u7684\u9080\u8BF7\u94FE\u63A5\u6216\u9080\u8BF7\u7801\u3002","Copy invite link":"\u590D\u5236\u9080\u8BF7\u94FE\u63A5","Copy a link a friend can paste in Add friend.":"\u590D\u5236\u94FE\u63A5\uFF0C\u670B\u53CB\u5728\u6DFB\u52A0\u597D\u53CB\u91CC\u7C98\u8D34\u5373\u53EF\u3002","Copy my handle":"\u590D\u5236\u6211\u7684 handle","Your Bot Social handle":"\u4F60\u7684 Bot Social handle","Face-to-face":"\u9762\u5BF9\u9762","This Bot has no model set up yet.":"\u8FD9\u4E2A Bot \u8FD8\u6CA1\u6709\u914D\u7F6E\u6A21\u578B\u3002","This Bot could not answer right now.":"\u8FD9\u4E2A Bot \u73B0\u5728\u6CA1\u6CD5\u56DE\u7B54\u3002","Refreshing\u2026":"\u6B63\u5728\u5237\u65B0\u2026","Delete group":"\u5220\u9664\u7FA4\u804A","Open {name}'s chat":"\u6253\u5F00 {name} \u7684\u5BF9\u8BDD","New Bot":"\u65B0 Bot","Bot list":"Bot \u5217\u8868","Bot tree":"Bot \u6811","no longer shared":"\u5DF2\u4E0D\u518D\u5171\u4EAB","Messages waiting for your approval":"\u7B49\u4F60\u6279\u51C6\u7684\u6D88\u606F","Waiting for approval":"\u7B49\u5F85\u6279\u51C6","Decide on the reply bubble above.":"\u5728\u4E0A\u9762\u7684\u56DE\u590D\u6C14\u6CE1\u91CC\u6279\u51C6\u3002","Decide in {name}'s chat.":"\u5728 {name} \u7684\u804A\u5929\u91CC\u6279\u51C6\u3002","Not sent":"\u672A\u53D1\u51FA","{name} \xB7 Not sent":"{name} \xB7 \u672A\u53D1\u51FA","Sent to {to}":"\u5DF2\u53D1\u7ED9 {to}","Auto-sent to {to}":"\u5DF2\u81EA\u52A8\u53D1\u7ED9 {to}","Not sent: delivery failed":"\u672A\u53D1\u51FA\uFF1A\u53D1\u9001\u5931\u8D25","{from} \u2192 {to}":"{from} \u2192 {to}","+{count} more":"\u53E6\u6709 {count} \u6761",delegated:"\u59D4\u6258\u8F6C\u8FBE",All:"\u5168\u90E8",Filter:"\u7B5B\u9009",Review:"\u67E5\u770B","Attached files":"\u9644\u4EF6",Retry:"\u91CD\u8BD5",Approve:"\u6279\u51C6","Friend's Bot":"\u597D\u53CB\u7684 Bot",Unconfirmed:"\u672A\u786E\u8BA4","Not connected":"\u672A\u63A5\u5165",Expand:"\u5C55\u5F00",Collapse:"\u6536\u8D77","Setting up your Main Bot\u2026":"\u6B63\u5728\u8BBE\u7F6E\u4F60\u7684\u4E3B Bot\u2026","Connect apps":"\u8FDE\u63A5\u5E94\u7528",Plugins:"\u63D2\u4EF6",Connectors:"\u8FDE\u63A5\u5668","Search connectors":"\u641C\u7D22\u8FDE\u63A5\u5668","No connectors":"\u6682\u65E0\u8FDE\u63A5\u5668",Capabilities:"\u80FD\u529B","Shared capabilities":"\u5171\u4EAB\u80FD\u529B","Add capability":"\u6DFB\u52A0\u80FD\u529B","No capabilities saved":"\u8FD8\u6CA1\u6709\u4FDD\u5B58\u80FD\u529B",Type:"\u7C7B\u578B","MCP server":"MCP \u670D\u52A1",Skill:"\u6280\u80FD",Pack:"\u80FD\u529B\u5305",Connection:"\u8FDE\u63A5\u65B9\u5F0F","Local command":"\u672C\u5730\u547D\u4EE4","HTTP server":"HTTP \u670D\u52A1",Command:"\u547D\u4EE4","Arguments (one per line)":"\u53C2\u6570\uFF08\u6BCF\u884C\u4E00\u4E2A\uFF09","Environment (JSON)":"\u73AF\u5883\u53D8\u91CF\uFF08JSON\uFF09",'{"API_KEY": "$DSH_SECRET_MY_KEY"}':'{"API_KEY": "$DSH_SECRET_MY_KEY"}',URL:"URL","Headers (JSON)":"\u8BF7\u6C42\u5934\uFF08JSON\uFF09","Skill instructions":"\u6280\u80FD\u8BF4\u660E","Save changes":"\u4FDD\u5B58\u66F4\u6539",Edit:"\u7F16\u8F91","Click again to delete.":"\u518D\u70B9\u4E00\u6B21\u5220\u9664\u3002",Ready:"\u5C31\u7EEA","Needs approval":"\u9700\u8981\u6279\u51C6","No items":"\u6CA1\u6709\u9879\u76EE","Save an MCP server or skill first.":"\u8BF7\u5148\u4FDD\u5B58 MCP \u670D\u52A1\u6216\u6280\u80FD\u3002",Environment:"\u73AF\u5883\u53D8\u91CF",Headers:"\u8BF7\u6C42\u5934","{label} must be valid JSON.":"{label}\u5FC5\u987B\u662F\u6709\u6548\u7684 JSON\u3002","{label} must be a JSON object.":"{label}\u5FC5\u987B\u662F JSON \u5BF9\u8C61\u3002","Repositories, issues, and pull requests":"\u4ED3\u5E93\u3001issue \u548C PR","Connecting\u2026":"\u6B63\u5728\u8FDE\u63A5\u2026","Could not connect: {error}":"\u8FDE\u63A5\u5931\u8D25\uFF1A{error}","Connected as {account}":"\u5DF2\u8FDE\u63A5\uFF1A{account}","Bot Social":"Bot Social","Bot Social server":"Bot Social \u670D\u52A1\u5668","Connected as {handle}":"\u5DF2\u8FDE\u63A5\uFF1A{handle}","Held for your approval: contains {reasons}":"\u5DF2\u6263\u7559\uFF0C\u7B49\u5F85\u4F60\u6279\u51C6\uFF1A\u542B{reasons}","commitment language":"\u627F\u8BFA\u7528\u8BED","a phone number":"\u624B\u673A\u53F7","an email address":"\u90AE\u7BB1\u5730\u5740","a money amount":"\u91D1\u989D","one of your sensitive terms":"\u4F60\u8BBE\u7F6E\u7684\u654F\u611F\u8BCD","calendar details":"\u65E5\u7A0B\u8BE6\u60C5","No server set. Friends and sharing are off until you set one.":"\u8FD8\u6CA1\u6709\u8BBE\u7F6E\u670D\u52A1\u5668\u3002\u8BBE\u7F6E\u4E4B\u524D\uFF0C\u597D\u53CB\u548C\u5206\u4EAB\u529F\u80FD\u4E0D\u53EF\u7528\u3002","Set here":"\u5728\u8FD9\u91CC\u8BBE\u7F6E","Profile default":"\u914D\u7F6E\u6587\u4EF6\u9ED8\u8BA4\u503C","Not set":"\u672A\u8BBE\u7F6E","No server":"\u6CA1\u6709\u670D\u52A1\u5668","Change server":"\u66F4\u6362\u670D\u52A1\u5668",Features:"\u529F\u80FD","No optional features listed.":"\u670D\u52A1\u5668\u6CA1\u6709\u5217\u51FA\u53EF\u9009\u529F\u80FD\u3002","Supports: {list}":"\u652F\u6301\uFF1A{list}","typing as you":"\u4EE5\u4F60\u7684\u8EAB\u4EFD\u8F93\u5165","@mentions":"@\u63D0\u53CA","online status":"\u5728\u7EBF\u72B6\u6001","(+{count} more)":"\uFF08\u53E6\u6709 {count} \u9879\uFF09","Supports 1 optional feature":"\u652F\u6301 1 \u9879\u53EF\u9009\u529F\u80FD","Supports {count} optional features":"\u652F\u6301 {count} \u9879\u53EF\u9009\u529F\u80FD",Reachability:"\u8FDE\u901A\u6027","Read-only":"\u53EA\u8BFB","Another FlyBot window holds this team. Change the server there.":"\u53E6\u4E00\u4E2A FlyBot \u7A97\u53E3\u6B63\u5728\u4F7F\u7528\u8FD9\u4E2A\u56E2\u961F\uFF0C\u8BF7\u5728\u90A3\u91CC\u66F4\u6362\u670D\u52A1\u5668\u3002","Switch server":"\u5207\u6362\u670D\u52A1\u5668","Server address":"\u670D\u52A1\u5668\u5730\u5740","Used before:":"\u7528\u8FC7\u7684\u670D\u52A1\u5668\uFF1A","{host} (profile default)":"{host}\uFF08\u914D\u7F6E\u6587\u4EF6\u9ED8\u8BA4\u503C\uFF09","Name for your home (optional)":"\u4F60\u7684\u4E3B\u9875\u540D\u79F0\uFF08\u53EF\u9009\uFF09","Switching servers changes who you are":"\u6362\u670D\u52A1\u5668\uFF0C\u5C31\u662F\u6362\u4E00\u4E2A\u8EAB\u4EFD","You used this server before. Your saved identity, friends and settings for it come back.":"\u4F60\u4EE5\u524D\u7528\u8FC7\u8FD9\u53F0\u670D\u52A1\u5668\uFF0C\u5B83\u4E0A\u9762\u4FDD\u5B58\u7684\u8EAB\u4EFD\u3001\u597D\u53CB\u548C\u8BBE\u7F6E\u4F1A\u6062\u590D\u3002","You get a new identity on this server. The friends and sharing you have now stay on the current server; they do not move.":"\u4F60\u4F1A\u5728\u8FD9\u53F0\u670D\u52A1\u5668\u4E0A\u5F97\u5230\u4E00\u4E2A\u65B0\u8EAB\u4EFD\u3002\u73B0\u5728\u7684\u597D\u53CB\u548C\u5206\u4EAB\u7559\u5728\u5F53\u524D\u670D\u52A1\u5668\u4E0A\uFF0C\u4E0D\u4F1A\u642C\u8FC7\u53BB\u3002","Your current sign-in is kept as a backup on this computer and is never deleted. Switch back any time.":"\u5F53\u524D\u7684\u767B\u5F55\u51ED\u636E\u4F1A\u4F5C\u4E3A\u5907\u4EFD\u4FDD\u7559\u5728\u8FD9\u53F0\u7535\u8111\u4E0A\uFF0C\u4E0D\u4F1A\u88AB\u5220\u9664\u3002\u968F\u65F6\u53EF\u4EE5\u5207\u6362\u56DE\u6765\u3002","Your Bots stop being shared with friends until you share them again on the new server.":"\u5728\u65B0\u670D\u52A1\u5668\u4E0A\u91CD\u65B0\u5206\u4EAB\u4E4B\u524D\uFF0C\u4F60\u7684 Bot \u4E0D\u518D\u4E0E\u597D\u53CB\u5171\u4EAB\u3002",Friends:"\u597D\u53CB","No friends yet.":"\u8FD8\u6CA1\u6709\u597D\u53CB\u3002","Could not load friends.":"\u597D\u53CB\u6CA1\u6709\u52A0\u8F7D\u51FA\u6765\u3002","Accept them in Add friend.":"\u5230\u300C\u6DFB\u52A0\u597D\u53CB\u300D\u91CC\u63A5\u53D7\u3002","Waiting for them to accept":"\u7B49\u5F85\u5BF9\u65B9\u63A5\u53D7","Same panel as the + menu.":"\u548C\u4FA7\u680F\u7684 + \u83DC\u5355\u662F\u540C\u4E00\u4E2A\u9762\u677F\u3002","People with access":"\u53EF\u8BBF\u95EE\u7684\u4EBA","People with access to {name}":"\u53EF\u8BBF\u95EE {name} \u7684\u4EBA","No Bots to share yet.":"\u8FD8\u6CA1\u6709\u53EF\u5206\u4EAB\u7684 Bot\u3002","This is the server you already use.":"\u8FD9\u5C31\u662F\u4F60\u6B63\u5728\u7528\u7684\u670D\u52A1\u5668\u3002","Switching\u2026":"\u6B63\u5728\u5207\u6362\u2026","Switch to this server":"\u5207\u6362\u5230\u8FD9\u53F0\u670D\u52A1\u5668",Check:"\u68C0\u67E5",Connected:"\u5DF2\u8FDE\u63A5",Disconnect:"\u65AD\u5F00",Connect:"\u8FDE\u63A5","GitHub token":"GitHub token","Create a token on GitHub":"\u53BB GitHub \u751F\u6210 token","Could not reach GitHub":"\u8FDE\u4E0D\u4E0A GitHub","GitHub did not accept this token":"GitHub \u4E0D\u63A5\u53D7\u8FD9\u4E2A token","GitHub did not say who this token belongs to":"GitHub \u6CA1\u6709\u8FD4\u56DE\u8FD9\u4E2A token \u7684\u8D26\u53F7","Paste a token first":"\u8BF7\u5148\u7C98\u8D34 token","GitHub addresses must start with https://":"GitHub \u5730\u5740\u5FC5\u987B\u4EE5 https:// \u5F00\u5934","This DSH cannot load connectors":"\u8FD9\u4E2A DSH \u4E0D\u80FD\u52A0\u8F7D\u8FDE\u63A5\u5668","No such connector":"\u6CA1\u6709\u8FD9\u4E2A\u8FDE\u63A5\u5668","Gmail, Slack, Calendar, Notion and many more apps, through one Composio key":"Gmail\u3001Slack\u3001\u65E5\u5386\u3001Notion \u7B49\u4F17\u591A\u5E94\u7528\uFF0C\u4E00\u4E2A Composio key \u5C31\u80FD\u8FDE","Posts into one Feishu group through a custom bot webhook":"\u901A\u8FC7\u81EA\u5B9A\u4E49\u673A\u5668\u4EBA webhook \u53D1\u5230\u4F60\u7684\u4E00\u4E2A\u98DE\u4E66\u7FA4","Feishu webhook URL":"\u98DE\u4E66 webhook \u5730\u5740","Get a webhook URL in Feishu":"\u53BB\u98DE\u4E66\u83B7\u53D6 webhook \u5730\u5740","Custom bot webhook":"\u81EA\u5B9A\u4E49\u673A\u5668\u4EBA webhook","App (long connection)":"\u81EA\u5EFA\u5E94\u7528\uFF08\u957F\u8FDE\u63A5\uFF09","Webhook URL":"Webhook \u5730\u5740","App ID":"App ID","App Secret":"App Secret","Create a Feishu app":"\u53BB\u98DE\u4E66\u521B\u5EFA\u81EA\u5EFA\u5E94\u7528","How to connect":"\u8FDE\u63A5\u65B9\u5F0F","Connected: app, over the long connection":"\u5DF2\u8FDE\u63A5\uFF1A\u81EA\u5EFA\u5E94\u7528\uFF0C\u8D70\u957F\u8FDE\u63A5","Connected: custom bot webhook":"\u5DF2\u8FDE\u63A5\uFF1A\u81EA\u5B9A\u4E49\u673A\u5668\u4EBA webhook","Who may talk to the Bots":"\u5141\u8BB8\u7684\u98DE\u4E66\u7528\u6237","Nobody yet. A message from anyone else starts no turn.":"\u8FD8\u6CA1\u6709\u4EBA\u3002\u5176\u4ED6\u4EBA\u53D1\u6765\u7684\u6D88\u606F\u4E0D\u4F1A\u8D77 turn\u3002","Paste an open_id to allow":"\u7C98\u8D34 open_id \u6765\u5141\u8BB8\u67D0\u4E2A\u4EBA","Feishu open_id":"\u98DE\u4E66 open_id",Block:"\u79FB\u9664","Message to send to Feishu":"\u8981\u53D1\u5230\u98DE\u4E66\u7684\u6D88\u606F","Type a message for the Feishu group":"\u8F93\u5165\u8981\u53D1\u5230\u98DE\u4E66\u7FA4\u7684\u6D88\u606F",Send:"\u53D1\u9001","Connected: {apps}":"\u5DF2\u8FDE\u63A5\uFF1A{apps}","Composio API key":"Composio API key","Get a Composio API key":"\u53BB Composio \u83B7\u53D6 API key","Search apps":"\u641C\u7D22\u5E94\u7528","Search Composio apps":"\u641C\u7D22 Composio \u5E94\u7528","Could not search Composio: {error}":"\u65E0\u6CD5\u641C\u7D22 Composio\uFF1A{error}","No apps match":"\u6CA1\u6709\u5339\u914D\u7684\u5E94\u7528","Picked apps":"\u5DF2\u9009\u5E94\u7528","Apps to add":"\u53EF\u6DFB\u52A0\u7684\u5E94\u7528","Remove {app}":"\u79FB\u9664 {app}","App status":"\u5E94\u7528\u72B6\u6001","Needs sign-in":"\u9700\u8981\u767B\u5F55","Choose apps":"\u9009\u62E9\u5E94\u7528","Pick at least one app":"\u81F3\u5C11\u9009\u4E00\u4E2A\u5E94\u7528",'An app name has only lowercase letters, digits, "_" and "-"':"\u5E94\u7528\u540D\u53EA\u80FD\u542B\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u201C_\u201D\u548C\u201C-\u201D","The first time a Bot uses an app, it shows a sign-in link in the chat.":"Bot \u7B2C\u4E00\u6B21\u7528\u67D0\u4E2A\u5E94\u7528\u65F6\uFF0C\u4F1A\u5728\u804A\u5929\u91CC\u7ED9\u51FA\u767B\u5F55\u94FE\u63A5\u3002","Paste a key first":"\u8BF7\u5148\u7C98\u8D34 key","Could not reach Composio":"\u8FDE\u4E0D\u4E0A Composio","Composio did not accept this API key":"Composio \u4E0D\u63A5\u53D7\u8FD9\u4E2A API key","Composio did not give an MCP address":"Composio \u6CA1\u6709\u8FD4\u56DE MCP \u5730\u5740","Composio did not give a session id":"Composio \u6CA1\u6709\u8FD4\u56DE\u4F1A\u8BDD id","Say whether to turn it on or off":"\u8BF7\u8BF4\u660E\u662F\u5F00\u542F\u8FD8\u662F\u5173\u95ED","Composio gave an MCP address on another host":"Composio \u8FD4\u56DE\u7684 MCP \u5730\u5740\u4E0D\u5728\u5B83\u81EA\u5DF1\u7684\u57DF\u540D\u4E0A","Composio addresses must start with https://":"Composio \u5730\u5740\u5FC5\u987B\u4EE5 https:// \u5F00\u5934","Connect Composio first":"\u8BF7\u5148\u8FDE\u63A5 Composio","This connector has no apps to pick":"\u8FD9\u4E2A\u8FDE\u63A5\u5668\u6CA1\u6709\u53EF\u9009\u7684\u5E94\u7528","Switch to classic Agent mode":"\u5207\u6362\u7ECF\u5178 Agent \u6A21\u5F0F","{model} is not available anymore. Pick another model for me.":"{model} \u5DF2\u7ECF\u4E0D\u53EF\u7528\u4E86\u3002\u7ED9\u6211\u6362\u4E00\u4E2A\u6A21\u578B\u5427\u3002","{name} ({handle}) is no longer shared with you, so messages to it cannot be delivered. It runs on its owner's machine, so another model cannot stand in. Ask its owner for a new invite.":"{name}\uFF08{handle}\uFF09\u5DF2\u4E0D\u518D\u4E0E\u4F60\u5171\u4EAB\uFF0C\u6D88\u606F\u65E0\u6CD5\u9001\u8FBE\u3002\u5B83\u8FD0\u884C\u5728\u4E3B\u4EBA\u7684\u673A\u5668\u4E0A\uFF0C\u4E0D\u80FD\u6362\u7528\u5176\u4ED6\u6A21\u578B\u3002\u8BF7\u5411\u5B83\u7684\u4E3B\u4EBA\u8981\u4E00\u4E2A\u65B0\u7684\u9080\u8BF7\u3002","Hi, I'm {name}. I don't have a model yet. How do you want to set one up?":"\u4F60\u597D\uFF0C\u6211\u662F {name}\u3002\u6211\u8FD8\u6CA1\u6709\u53EF\u7528\u7684\u6A21\u578B\u3002\u4F60\u60F3\u600E\u4E48\u914D\u7F6E\uFF1F","Hi, I'm {name}. Pick a model for me first. You can change it later in my details.":"\u4F60\u597D\uFF0C\u6211\u662F {name}\u3002\u5148\u7ED9\u6211\u9009\u4E00\u4E2A\u6A21\u578B\u5427\uFF0C\u4EE5\u540E\u53EF\u4EE5\u5728\u6211\u7684\u8BE6\u60C5\u91CC\u6362\u3002","Sign in to DeepSeek":"\u767B\u5F55 DeepSeek \u8D26\u53F7","Enter a DeepSeek API key":"\u586B\u5165 DeepSeek API key","How to set a DeepSeek API key":"\u5982\u4F55\u8BBE\u7F6E DeepSeek API key","Open settings to set up a custom model":"\u6253\u5F00\u8BBE\u7F6E\u914D\u7F6E\u81EA\u5B9A\u4E49\u6A21\u578B",FlyBot:"FlyBot","FlyBot core":"FlyBot \u6838\u5FC3","Message {name}":"\u7ED9 {name} \u53D1\u6D88\u606F",Message:"\u53D1\u6D88\u606F","View conversation details":"\u67E5\u770B\u5BF9\u8BDD\u8BE6\u60C5","1 new message":"1 \u6761\u65B0\u6D88\u606F","{count} new messages":"{count} \u6761\u65B0\u6D88\u606F","New messages":"\u65B0\u6D88\u606F","Dismiss new messages":"\u5173\u95ED\u65B0\u6D88\u606F\u63D0\u793A",New:"\u65B0","Add to group chat":"\u52A0\u5165\u7FA4\u804A","Message Bot":"\u7ED9 Bot \u53D1\u6D88\u606F","To:":"\u53D1\u7ED9\uFF1A","Remove {name}":"\u79FB\u9664 {name}",Recipient:"\u6536\u4EF6\u4EBA",Recipients:"\u6536\u4EF6\u4EBA","Search Bots\u2026":"\u641C\u7D22 Bot\u2026","Start a chat with\u2026":"\u548C\u8C01\u804A\u2026","Close new chat":"\u5173\u95ED\u65B0\u5BF9\u8BDD","No Bots match":"\u6CA1\u6709\u5339\u914D\u7684 Bot","Type a name to create a Bot":"\u8F93\u5165\u540D\u5B57\u6765\u65B0\u5EFA Bot","Send message":"\u53D1\u9001",Details:"\u8BE6\u60C5",Browser:"\u6D4F\u89C8\u5668",About:"\u7B80\u4ECB","Show less":"\u6536\u8D77","Show more":"\u5C55\u5F00","Admin leads":"\u7BA1\u7406\u5458\u4E3B\u6301","Plain messages go to the admin, who calls others with @Name.":"\u666E\u901A\u6D88\u606F\u5148\u7ED9\u7BA1\u7406\u5458\uFF0C\u7531\u7BA1\u7406\u5458\u7528 @\u540D\u5B57 \u70B9\u540D\u5176\u4ED6\u6210\u5458\u3002",Everyone:"\u6240\u6709\u4EBA","Every member answers in turn, admin first.":"\u6BCF\u4F4D\u6210\u5458\u8F6E\u6D41\u56DE\u7B54\uFF0C\u7BA1\u7406\u5458\u5148\u8BF4\u3002","Members \xB7 {count}":"\u6210\u5458 \xB7 {count}","{name} (you)":"{name}\uFF08\u4F60\uFF09",Someone:"\u67D0\u4EBA","Leave the group without an admin":"\u8BA9\u7FA4\u804A\u4E0D\u8BBE\u7BA1\u7406\u5458",Unset:"\u53D6\u6D88","Make admin":"\u8BBE\u4E3A\u7BA1\u7406\u5458","Task lead":"\u603B\u8D1F\u8D23\u4EBA","Make task lead":"\u8BBE\u4E3A\u603B\u8D1F\u8D23\u4EBA","Use the admin":"\u6539\u7531\u7BA1\u7406\u5458\u8D1F\u8D23","The task lead divides the board. When unset, the admin does.":"\u603B\u8D1F\u8D23\u4EBA\u62C6\u5206\u770B\u677F\u4EFB\u52A1\u3002\u672A\u6307\u5B9A\u65F6\u7531\u7BA1\u7406\u5458\u8D1F\u8D23\u3002","Room lead":"\u603B\u8D1F\u8D23\u4EBA",Lead:"\u603B\u8D1F\u8D23\u4EBA","Make lead":"\u8BBE\u4E3A\u603B\u8D1F\u8D23\u4EBA","Use the default lead":"\u6539\u56DE\u9ED8\u8BA4\u603B\u8D1F\u8D23\u4EBA","Writes the plan and gives each Bot its part.":"\u5199\u8BA1\u5212\uFF0C\u5E76\u7ED9\u6BCF\u4E2A Bot \u5206\u914D\u4EFB\u52A1\u3002","Default: the first Bot of the room creator that joined.":"\u9ED8\u8BA4\uFF1A\u623F\u95F4\u521B\u5EFA\u8005\u6700\u5148\u52A0\u5165\u7684 Bot\u3002","Only the person who created this room can change it.":"\u53EA\u6709\u521B\u5EFA\u8FD9\u4E2A\u623F\u95F4\u7684\u4EBA\u53EF\u4EE5\u66F4\u6539\u3002","Could not change the room lead.":"\u65E0\u6CD5\u66F4\u6539\u603B\u8D1F\u8D23\u4EBA\u3002","Remove {name} from the group":"\u628A {name} \u79FB\u51FA\u7FA4\u804A","Remove from group":"\u79FB\u51FA\u7FA4\u804A","Add member":"\u6DFB\u52A0\u6210\u5458","{name} leads this group: it can call members with @Name, change the group, and post here.":"{name} \u4E3B\u6301\u8FD9\u4E2A\u7FA4\uFF1A\u53EF\u4EE5\u7528 @\u540D\u5B57 \u70B9\u540D\u6210\u5458\u3001\u4FEE\u6539\u7FA4\u8BBE\u7F6E\u3001\u5728\u7FA4\u91CC\u53D1\u8A00\u3002","No admin yet. An admin can call members with @Name, change the group, and post here.":"\u8FD8\u6CA1\u6709\u7BA1\u7406\u5458\u3002\u7BA1\u7406\u5458\u53EF\u4EE5\u7528 @\u540D\u5B57 \u70B9\u540D\u6210\u5458\u3001\u4FEE\u6539\u7FA4\u8BBE\u7F6E\u3001\u5728\u7FA4\u91CC\u53D1\u8A00\u3002","Who answers":"\u8C01\u6765\u56DE\u7B54","Choose an admin first":"\u5148\u9009\u4E00\u4E2A\u7BA1\u7406\u5458","@mentions always pick who answers.":"@\u63D0\u53CA\u603B\u662F\u6307\u5B9A\u7531\u8C01\u56DE\u7B54\u3002",Notice:"\u7FA4\u516C\u544A","Shared instructions every member reads before speaking\u2026":"\u6BCF\u4F4D\u6210\u5458\u53D1\u8A00\u524D\u90FD\u4F1A\u8BFB\u5230\u7684\u5171\u540C\u8BF4\u660E\u2026","Group notice":"\u7FA4\u516C\u544A","Back to details":"\u8FD4\u56DE\u8BE6\u60C5","Close details":"\u5173\u95ED\u8BE6\u60C5","Copied conversation":"\u5DF2\u590D\u5236\u5BF9\u8BDD","Share conversation":"\u5206\u4EAB\u5BF9\u8BDD","Copy conversation":"\u590D\u5236\u5BF9\u8BDD","Nothing to copy yet":"\u8FD8\u6CA1\u6709\u53EF\u590D\u5236\u7684\u5185\u5BB9","Conversation copied as Markdown":"\u5BF9\u8BDD\u5DF2\u590D\u5236\u4E3A Markdown","Could not copy the conversation":"\u65E0\u6CD5\u590D\u5236\u5BF9\u8BDD","No messages yet. Say something to {name}.":"\u8FD8\u6CA1\u6709\u6D88\u606F\u3002\u7ED9 {name} \u53D1\u70B9\u4EC0\u4E48\u5427\u3002","This model does not support that request. Pick another model in the Bot's settings.":"\u8BE5\u6A21\u578B\u4E0D\u652F\u6301\u8FD9\u9879\u8BF7\u6C42\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u6362\u4E00\u4E2A\u6A21\u578B\u3002","This model does not support {feature}. Pick another model in the Bot's settings.":"\u8BE5\u6A21\u578B\u4E0D\u652F\u6301 {feature}\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u6362\u4E00\u4E2A\u6A21\u578B\u3002","The provider does not know this model. Check the model name in the Bot's settings.":"\u670D\u52A1\u65B9\u4E0D\u8BA4\u8BC6\u8FD9\u4E2A\u6A21\u578B\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u68C0\u67E5\u6A21\u578B\u540D\u79F0\u3002","The conversation is longer than this model can read. Condense it, or pick a model with a larger window.":"\u8FD9\u6BB5\u5BF9\u8BDD\u8D85\u51FA\u4E86\u8BE5\u6A21\u578B\u80FD\u8BFB\u7684\u957F\u5EA6\u3002\u8BF7\u538B\u7F29\u5BF9\u8BDD\uFF0C\u6216\u6362\u4E00\u4E2A\u4E0A\u4E0B\u6587\u66F4\u5927\u7684\u6A21\u578B\u3002","The model service refused the request. Check the model and the endpoint in the Bot's settings.":"\u6A21\u578B\u670D\u52A1\u62D2\u7EDD\u4E86\u8FD9\u6B21\u8BF7\u6C42\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u68C0\u67E5\u6A21\u578B\u548C\u63A5\u53E3\u5730\u5740\u3002","Copy conversation as Markdown":"\u628A\u5BF9\u8BDD\u590D\u5236\u4E3A Markdown","This conversation is not part of your Bot team.":"\u8FD9\u4E2A\u5BF9\u8BDD\u4E0D\u5C5E\u4E8E\u4F60\u7684 Bot \u56E2\u961F\u3002","Admin {name}":"\u7BA1\u7406\u5458 {name}","No admin":"\u65E0\u7BA1\u7406\u5458","Bot name":"Bot \u540D\u5B57","Group name":"\u7FA4\u540D","Name after members":"\u6309\u6210\u5458\u547D\u540D","Rename {name}":"\u91CD\u547D\u540D {name}",Rename:"\u91CD\u547D\u540D","Add instructions in Bot settings":"\u5728 Bot \u8BBE\u7F6E\u91CC\u6DFB\u52A0\u8BF4\u660E","No scheduled tasks yet. To add one, tell the Bot in its chat what to do and when.":"\u8FD8\u6CA1\u6709\u5B9A\u65F6\u4EFB\u52A1\u3002\u8981\u6DFB\u52A0\uFF0C\u5728\u5BF9\u8BDD\u91CC\u544A\u8BC9 Bot \u505A\u4EC0\u4E48\u3001\u4EC0\u4E48\u65F6\u5019\u505A\u3002","The browser is in the DSH Desktop app.":"\u6D4F\u89C8\u5668\u5728 DSH \u684C\u9762\u7248\u5E94\u7528\u91CC\u3002","New tab":"\u65B0\u6807\u7B7E\u9875","Close tab":"\u5173\u95ED\u6807\u7B7E\u9875","Open {title}":"\u6253\u5F00 {title}","Conversation details":"\u5BF9\u8BDD\u8BE6\u60C5","Panel tabs":"\u9762\u677F\u6807\u7B7E\u9875","Close panel":"\u5173\u95ED\u9762\u677F","Choose a PNG, JPEG, WebP, or GIF image":"\u8BF7\u9009\u62E9 PNG\u3001JPEG\u3001WebP \u6216 GIF \u56FE\u7247","Choose an image smaller than 25 MB":"\u8BF7\u9009\u62E9\u5C0F\u4E8E 25 MB \u7684\u56FE\u7247","That image is too large":"\u56FE\u7247\u592A\u5927\u4E86",Model:"\u6A21\u578B","Avatar editor":"\u5F62\u8C61\u7F16\u8F91","Avatar source":"\u5F62\u8C61\u6765\u6E90",Upload:"\u4E0A\u4F20","Reset character to default":"\u6062\u590D\u9ED8\u8BA4\u5F62\u8C61",Reset:"\u6062\u590D\u9ED8\u8BA4","Character shape":"\u5F62\u72B6","Character color":"\u989C\u8272","Drag, drop, or paste an image":"\u62D6\u5165\u6216\u7C98\u8D34\u4E00\u5F20\u56FE\u7247",Replace:"\u66FF\u6362","Browse files":"\u9009\u62E9\u6587\u4EF6","Remove photo":"\u79FB\u9664\u7167\u7247","Edit Bot avatar":"\u7F16\u8F91 Bot \u5F62\u8C61",Name:"\u540D\u5B57",Instructions:"\u8BF4\u660E","What this Bot is responsible for\u2026":"\u8FD9\u4E2A Bot \u8D1F\u8D23\u4EC0\u4E48\u2026","Pick the model this Bot runs on.":"\u9009\u62E9\u8FD9\u4E2A Bot \u4F7F\u7528\u7684\u6A21\u578B\u3002","This model is not available now. Pick another one.":"\u8FD9\u4E2A\u6A21\u578B\u73B0\u5728\u4E0D\u53EF\u7528\uFF0C\u8BF7\u6362\u4E00\u4E2A\u3002","Every message of this Bot runs on it.":"\u8FD9\u4E2A Bot \u7684\u6BCF\u6761\u6D88\u606F\u90FD\u7528\u5B83\u3002","Applies from the next message.":"\u4ECE\u4E0B\u4E00\u6761\u6D88\u606F\u5F00\u59CB\u751F\u6548\u3002","Test connection":"\u6D4B\u8BD5\u8FDE\u63A5","Testing\u2026":"\u6B63\u5728\u6D4B\u8BD5\u2026","Sends one short request to this model. It may be billed.":"\u4F1A\u5411\u8FD9\u4E2A\u6A21\u578B\u53D1\u9001\u4E00\u6761\u5F88\u77ED\u7684\u8BF7\u6C42\uFF0C\u53EF\u80FD\u4EA7\u751F\u8D39\u7528\u3002","Works. {model} answered.":"\u8FDE\u63A5\u6B63\u5E38\uFF0C{model} \u5DF2\u56DE\u590D\u3002","Works. {model} answered in {seconds} s.":"\u8FDE\u63A5\u6B63\u5E38\uFF0C{model} \u5728 {seconds} \u79D2\u5185\u56DE\u590D\u3002","Pick a model first.":"\u8BF7\u5148\u9009\u62E9\u4E00\u4E2A\u6A21\u578B\u3002","This model has no API key yet. Set one up in the model settings.":"\u8FD9\u4E2A\u6A21\u578B\u8FD8\u6CA1\u6709 API \u5BC6\u94A5\uFF0C\u8BF7\u5728\u6A21\u578B\u8BBE\u7F6E\u91CC\u586B\u5199\u3002","The API key was rejected. Check it in the model settings.":"API \u5BC6\u94A5\u88AB\u62D2\u7EDD\uFF0C\u8BF7\u5728\u6A21\u578B\u8BBE\u7F6E\u91CC\u68C0\u67E5\u3002","The account is out of quota.":"\u8D26\u6237\u989D\u5EA6\u5DF2\u7528\u5B8C\u3002","Too many requests right now. Try again in a moment.":"\u8BF7\u6C42\u592A\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002","The model did not answer within 30 seconds.":"\u6A21\u578B\u5728 30 \u79D2\u5185\u6CA1\u6709\u56DE\u590D\u3002","This model is not available now. Check its provider in the model settings.":"\u8FD9\u4E2A\u6A21\u578B\u73B0\u5728\u4E0D\u53EF\u7528\uFF0C\u8BF7\u5728\u6A21\u578B\u8BBE\u7F6E\u91CC\u68C0\u67E5\u5B83\u7684\u670D\u52A1\u5546\u3002","The provider does not know this model. Check the model name.":"\u670D\u52A1\u5546\u6CA1\u6709\u8FD9\u4E2A\u6A21\u578B\uFF0C\u8BF7\u68C0\u67E5\u6A21\u578B\u540D\u79F0\u3002","Could not reach the model service. Check the endpoint address and your network.":"\u8FDE\u4E0D\u4E0A\u6A21\u578B\u670D\u52A1\uFF0C\u8BF7\u68C0\u67E5\u63A5\u53E3\u5730\u5740\u548C\u7F51\u7EDC\u3002","The model service failed. Try again later.":"\u6A21\u578B\u670D\u52A1\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002","The model service refused the request. Check the endpoint and the model.":"\u6A21\u578B\u670D\u52A1\u62D2\u7EDD\u4E86\u8BF7\u6C42\uFF0C\u8BF7\u68C0\u67E5\u63A5\u53E3\u5730\u5740\u548C\u6A21\u578B\u3002","The test failed.":"\u6D4B\u8BD5\u5931\u8D25\u3002","A test is already running for this Bot.":"\u8FD9\u4E2A Bot \u5DF2\u7ECF\u5728\u6D4B\u8BD5\u4E2D\u3002","A friend's Bot runs on its owner's model.":"\u670B\u53CB\u7684 Bot \u4F7F\u7528\u5B83\u4E3B\u4EBA\u7684\u6A21\u578B\u3002",Profile:"\u8D44\u6599",Label:"\u6807\u7B7E","Optional. Shown under the name.":"\u53EF\u9009\uFF0C\u663E\u793A\u5728\u540D\u5B57\u4E0B\u65B9\u3002","Research, admin\u2026":"\u7814\u7A76\u3001\u884C\u653F\u2026","What this Bot does":"\u8FD9\u4E2A Bot \u505A\u4EC0\u4E48","Its job on the team. Part of the Bot's system prompt.":"\u5B83\u5728\u56E2\u961F\u91CC\u7684\u5206\u5DE5\uFF0C\u4F1A\u5199\u8FDB Bot \u7684\u7CFB\u7EDF\u63D0\u793A\u8BCD\u3002","A copy with the same job and model, and fresh memory.":"\u590D\u5236\u5206\u5DE5\u548C\u6A21\u578B\uFF0C\u8BB0\u5FC6\u4ECE\u96F6\u5F00\u59CB\u3002","Delete {name}?":"\u5220\u9664 {name}\uFF1F","Delete Bot":"\u5220\u9664 Bot","Click again to delete. Its chats are archived.":"\u518D\u70B9\u4E00\u6B21\u5220\u9664\uFF0C\u5B83\u7684\u5BF9\u8BDD\u4F1A\u5F52\u6863\u3002","Removes the Bot from the team.":"\u628A\u8FD9\u4E2A Bot \u4ECE\u56E2\u961F\u91CC\u79FB\u9664\u3002","Pick a model and {name} can start.":"\u9009\u597D\u6A21\u578B\uFF0C{name} \u5C31\u80FD\u5F00\u59CB\u5DE5\u4F5C\u3002",Permissions:"\u6743\u9650","Read only":"\u4EC5\u53EF\u67E5\u770B",Workspace:"\u5DE5\u4F5C\u533A\u5185\u4FEE\u6539","Full access":"\u5B8C\u5168\u6743\u9650","The only Main Bot. To hand the role to another Bot, use Main Bot on the Bots page.":"\u8FD9\u662F\u552F\u4E00\u7684\u4E3B Bot\u3002\u8981\u628A\u4E3B Bot \u4EA4\u7ED9\u522B\u7684 Bot\uFF0C\u8BF7\u5230\u300CBot\u300D\u9875\u7684\u4E3B Bot \u91CC\u6362\u3002",Change:"\u66F4\u6362","Can create and change Bots, and runs every group chat.":"\u53EF\u4EE5\u521B\u5EFA\u548C\u4FEE\u6539 Bot\uFF0C\u5E76\u7BA1\u7406\u6240\u6709\u7FA4\u804A\u3002",Sidebar:"\u4FA7\u680F","Kept above the other chats.":"\u6392\u5728\u5176\u4ED6\u5BF9\u8BDD\u4E0A\u9762\u3002","Search still finds it.":"\u4ECD\u7136\u53EF\u4EE5\u641C\u7D22\u5230\u3002",Manage:"\u7BA1\u7406","Send a message. Your friend approves unless Auto-send is on.":"\u53D1\u9001\u6D88\u606F\u3002\u9664\u975E\u5DF2\u5F00\u542F\u81EA\u52A8\u53D1\u9001\uFF0C\u5426\u5219\u597D\u53CB\u9700\u8981\u6279\u51C6\u3002","Leave it empty to name the group after its members.":"\u7559\u7A7A\u5C31\u6309\u6210\u5458\u547D\u540D\u3002","Every member reads it before speaking in this group.":"\u6BCF\u4F4D\u6210\u5458\u5728\u8FD9\u4E2A\u7FA4\u91CC\u53D1\u8A00\u524D\u90FD\u4F1A\u8BFB\u5230\u3002","Add a Bot first: a group chat needs at least two.":"\u8BF7\u5148\u6DFB\u52A0\u4E00\u4E2A Bot\uFF1A\u7FA4\u804A\u81F3\u5C11\u8981\u4E24\u4E2A\u3002","Click again to delete. Its history is archived.":"\u518D\u70B9\u4E00\u6B21\u5220\u9664\uFF0C\u804A\u5929\u8BB0\u5F55\u4F1A\u5F52\u6863\u3002","Removes the group chat. Its members stay on the team.":"\u5220\u9664\u8FD9\u4E2A\u7FA4\u804A\uFF0C\u6210\u5458\u4ECD\u7559\u5728\u56E2\u961F\u91CC\u3002","Add a notice in group settings":"\u5728\u7FA4\u8BBE\u7F6E\u91CC\u6DFB\u52A0\u7FA4\u516C\u544A","Create Bot":"\u521B\u5EFA Bot","Back to new chat":"\u8FD4\u56DE\u65B0\u5BF9\u8BDD",Look:"\u5F62\u8C61",Shuffle:"\u968F\u673A","Replace photo":"\u66F4\u6362\u7167\u7247","Upload photo":"\u4E0A\u4F20\u7167\u7247","A Bot named {name} already exists":"\u5DF2\u7ECF\u6709\u53EB {name} \u7684 Bot \u4E86","The Bot runs on this model. You can change it later in its details.":"Bot \u4F1A\u4F7F\u7528\u8FD9\u4E2A\u6A21\u578B\u3002\u4EE5\u540E\u53EF\u4EE5\u5728\u8BE6\u60C5\u91CC\u4FEE\u6539\u3002","Add a provider and a model in DeepSeek Harness first, or pick one in the Bot's chat later.":"\u8BF7\u5148\u5728 DeepSeek Harness \u91CC\u6DFB\u52A0\u670D\u52A1\u5546\u548C\u6A21\u578B\uFF0C\u6216\u8005\u7A0D\u540E\u5728 Bot \u7684\u5BF9\u8BDD\u91CC\u9009\u62E9\u3002","Creating\u2026":"\u521B\u5EFA\u4E2D\u2026",Create:"\u521B\u5EFA",Default:"\u9ED8\u8BA4","Thinking level":"\u601D\u8003\u5F3A\u5EA6","Model: {model}":"\u6A21\u578B\uFF1A{model}",none:"\u65E0","Choose a model":"\u9009\u62E9\u6A21\u578B","{provider} \xB7 not available":"{provider} \xB7 \u4E0D\u53EF\u7528","Model for {name}":"{name} \u7684\u6A21\u578B","No models are set up in DeepSeek Harness yet.":"DeepSeek Harness \u91CC\u8FD8\u6CA1\u6709\u8BBE\u7F6E\u6A21\u578B\u3002","Models and providers\u2026":"\u6A21\u578B\u548C\u670D\u52A1\u5546\u2026",Models:"\u6A21\u578B","Harness default":"Harness \u9ED8\u8BA4",Saving:"\u4FDD\u5B58\u4E2D","Manage models":"\u7BA1\u7406\u6A21\u578B","This turn failed":"\u672C\u8F6E\u8FD0\u884C\u5931\u8D25","This Bot's model has no API key yet. Set one up, then send your message again.":"\u8FD9\u4E2A Bot \u7684\u6A21\u578B\u8FD8\u6CA1\u6709 API key\u3002\u8BBE\u7F6E\u597D\u540E\u518D\u53D1\u4E00\u6B21\u6D88\u606F\u3002",Whale:"\u9CB8\u9C7C",Star:"\u661F\u661F",Moon:"\u6708\u4EAE",Wave:"\u58F0\u6CE2",Squircle:"\u5706\u89D2\u65B9",Bull:"\u725B\u89D2",Blossom:"\u82B1\u6735",Gumdrop:"\u8F6F\u7CD6",Peanut:"\u82B1\u751F",Bubbles:"\u6CE1\u6CE1",Saucer:"\u98DE\u789F",Sprout:"\u5AE9\u82BD",Bunny:"\u5154\u5B50",Kitty:"\u5C0F\u732B",Beacon:"\u706F\u5854",Plus:"\u52A0\u53F7",Magnet:"\u78C1\u94C1",Acorn:"\u6A61\u679C",Pebbles:"\u77F3\u5B50",Cushion:"\u9760\u57AB",Ring:"\u5706\u73AF",Gem:"\u5B9D\u77F3",Black:"\u9ED1",Brown:"\u68D5",Red:"\u7EA2",Orange:"\u6A59",Yellow:"\u9EC4",Green:"\u7EFF",Cyan:"\u9752",Blue:"\u84DD",Violet:"\u7D2B",Magenta:"\u54C1\u7EA2",Gray:"\u7070",Aurora:"\u6781\u5149",Deepseek:"DeepSeek \u84DD",Charcoal:"\u70AD\u9ED1",Graphite:"\u77F3\u58A8",Rose:"\u73AB\u7470",Sky:"\u5929\u84DD",Tangerine:"\u6A58",Cobalt:"\u94B4\u84DD",DeepSeek:"DeepSeek",Mono:"\u9ED1\u767D",Paper:"\u7EB8\u5F20",Moonlight:"\u6708\u5149",General:"\u901A\u7528",Bots:"Bot","Group chats":"\u7FA4\u804A",Secrets:"\u5BC6\u94A5",Appearance:"\u5916\u89C2",Theme:"\u4E3B\u9898","Colors for the whole team, on every device.":"\u6574\u4E2A\u56E2\u961F\u7684\u914D\u8272\uFF0C\u6240\u6709\u8BBE\u5907\u540C\u6B65\u3002",Accent:"\u5F3A\u8C03\u8272","Unread marks, badges, and the brand mark.":"\u672A\u8BFB\u6807\u8BB0\u3001\u5FBD\u6807\u548C\u54C1\u724C\u6807\u5FD7\u3002","Theme accent":"\u4E3B\u9898\u5F3A\u8C03\u8272","Custom accent":"\u81EA\u5B9A\u4E49\u5F3A\u8C03\u8272","Bots \xB7 {count}":"Bot \xB7 {count}","First in the sidebar. Pick another Bot to hand it the role; {name} then stops being a Main Bot.":"\u6392\u5728\u4FA7\u680F\u6700\u4E0A\u9762\u3002\u9009\u53E6\u4E00\u4E2A Bot \u5C31\u4F1A\u628A\u4E3B Bot \u4EA4\u7ED9\u5B83\uFF0C{name} \u968F\u4E4B\u4E0D\u518D\u662F\u4E3B Bot\u3002","Choose a Bot\u2026":"\u9009\u62E9\u4E00\u4E2A Bot\u2026","Also a Main Bot.":"\u4E5F\u662F\u4E3B Bot\u3002","Move to first":"\u79FB\u5230\u6700\u524D","Add a Main Bot":"\u6DFB\u52A0\u4E3B Bot","Main Bots can create and change Bots, and run every group chat.":"\u4E3B Bot \u53EF\u4EE5\u521B\u5EFA\u548C\u4FEE\u6539 Bot\uFF0C\u5E76\u7BA1\u7406\u6240\u6709\u7FA4\u804A\u3002","Group chats \xB7 {count}":"\u7FA4\u804A \xB7 {count}","No group chats yet.":"\u8FD8\u6CA1\u6709\u7FA4\u804A\u3002","A group chat lets several Bots work on one thing with you.":"\u5728\u7FA4\u804A\u91CC\uFF0C\u51E0\u4E2A Bot \u548C\u4F60\u4E00\u8D77\u505A\u4E00\u4EF6\u4E8B\u3002","Back to group chats":"\u8FD4\u56DE\u7FA4\u804A\u5217\u8868","FlyBot settings":"FlyBot \u8BBE\u7F6E","Settings pages":"\u8BBE\u7F6E\u9875\u9762","Opens DeepSeek Harness's own settings (models, providers, permissions) in a separate window":"\u5728\u5355\u72EC\u7684\u7A97\u53E3\u4E2D\u6253\u5F00 DeepSeek Harness \u81EA\u5DF1\u7684\u8BBE\u7F6E\uFF08\u6A21\u578B\u3001\u670D\u52A1\u5546\u3001\u6743\u9650\uFF09","Harness settings, opens DeepSeek Harness's own settings window":"Harness \u8BBE\u7F6E\uFF0C\u6253\u5F00 DeepSeek Harness \u81EA\u5DF1\u7684\u8BBE\u7F6E\u7A97\u53E3","Harness settings":"Harness \u8BBE\u7F6E","Back to Bots":"\u8FD4\u56DE Bot \u5217\u8868","Close settings":"\u5173\u95ED\u8BBE\u7F6E",Unpin:"\u53D6\u6D88\u7F6E\u9876",Pin:"\u7F6E\u9876",Pinned:"\u5DF2\u7F6E\u9876","Mark as Unread":"\u6807\u4E3A\u672A\u8BFB","Group settings":"\u7FA4\u8BBE\u7F6E","Rename group":"\u91CD\u547D\u540D\u7FA4\u804A","Copy conversation ID":"\u590D\u5236\u5BF9\u8BDD ID","Hide from sidebar":"\u4ECE\u4FA7\u680F\u9690\u85CF","{name} actions":"{name} \u7684\u64CD\u4F5C","Add DSH Agent":"\u6DFB\u52A0 DSH Agent","Add coding agent":"\u6DFB\u52A0\u7F16\u7801 Agent","Add Agent":"\u6DFB\u52A0 Agent","Remove DSH Agent":"\u79FB\u9664 DSH Agent","New session":"\u65B0\u4F1A\u8BDD",Archive:"\u5F52\u6863","Session actions":"\u4F1A\u8BDD\u64CD\u4F5C","Plain dsh session":"\u539F\u751F dsh \u4F1A\u8BDD","just now":"\u521A\u521A","{n} min":"{n} \u5206\u949F","{n} h":"{n} \u5C0F\u65F6","{n} d":"{n} \u5929","FlyBot core {version} is available":"FlyBot \u6838\u5FC3 {version} \u53EF\u4EE5\u66F4\u65B0","Updating FlyBot core\u2026":"\u6B63\u5728\u66F4\u65B0 FlyBot \u6838\u5FC3\u2026","FlyBot core {version} is installed. Restart DSH to use it.":"FlyBot \u6838\u5FC3 {version} \u5DF2\u5B89\u88C5\uFF0C\u91CD\u542F DSH \u540E\u751F\u6548","FlyBot core update":"FlyBot \u6838\u5FC3\u66F4\u65B0","FlyBot core {version}":"FlyBot \u6838\u5FC3 {version}","Update installed":"\u66F4\u65B0\u5DF2\u5B89\u88C5","Restart DSH to start using FlyBot core {version}.":"\u91CD\u542F DSH \u540E\u5F00\u59CB\u4F7F\u7528 FlyBot \u6838\u5FC3 {version}\u3002","You have {version}.":"\u5F53\u524D\u7248\u672C {version}\u3002","The update did not finish: {reason}":"\u66F4\u65B0\u6CA1\u6709\u5B8C\u6210\uFF1A{reason}","What's new":"\u66F4\u65B0\u8BF4\u660E","Updating\u2026":"\u6B63\u5728\u66F4\u65B0\u2026","DSH {version} is available":"DSH {version} \u53EF\u4EE5\u66F4\u65B0","Updating DSH\u2026":"\u6B63\u5728\u66F4\u65B0 DSH\u2026","DSH update":"DSH \u66F4\u65B0","DSH {version}":"DSH {version}","Restart DSH to start using DSH {version}.":"\u91CD\u542F DSH \u540E\u5F00\u59CB\u4F7F\u7528 DSH {version}\u3002","Update FlyBot core {version} first.":"\u5148\u66F4\u65B0 FlyBot \u6838\u5FC3 {version}\u3002","Open updates":"\u6253\u5F00\u66F4\u65B0",Inbox:"\u6536\u4EF6\u7BB1","Inbox, {count} need you":"\u6536\u4EF6\u7BB1\uFF0C{count} \u9879\u9700\u8981\u4F60","Close inbox":"\u5173\u95ED\u6536\u4EF6\u7BB1","Your Bots":"\u4F60\u7684 Bot","Needs you":"\u9700\u8981\u4F60","In progress":"\u8FDB\u884C\u4E2D","Nothing needs you right now.":"\u73B0\u5728\u6CA1\u6709\u9700\u8981\u4F60\u5904\u7406\u7684\u4E8B\u3002","Nothing is running.":"\u6CA1\u6709\u6B63\u5728\u8FDB\u884C\u7684\u4E8B\u3002","Nothing finished in the last 7 days.":"\u6700\u8FD1 7 \u5929\u6CA1\u6709\u5B8C\u6210\u7684\u4E8B\u3002","Waiting to send":"\u7B49\u5F85\u53D1\u9001","Needs your answer":"\u7B49\u4F60\u56DE\u7B54","Result ready":"\u7ED3\u679C\u5DF2\u5C31\u7EEA",Failed:"\u5931\u8D25",Cancelled:"\u5DF2\u53D6\u6D88","A tool call":"\u4E00\u6B21\u5DE5\u5177\u8C03\u7528","A workflow":"\u4E00\u4E2A\u5DE5\u4F5C\u6D41","1 message waits for your approval":"1 \u6761\u6D88\u606F\u7B49\u4F60\u6279\u51C6","{count} messages wait for your approval":"{count} \u6761\u6D88\u606F\u7B49\u4F60\u6279\u51C6","Approve it in the chat":"\u8BF7\u5728\u5BF9\u8BDD\u91CC\u6279\u51C6","The last turn did not finish":"\u4E0A\u4E00\u8F6E\u6CA1\u6709\u5B8C\u6210","Latest: {text}":"\u6700\u65B0\uFF1A{text}","{count} tool calls":"{count} \u6B21\u5DE5\u5177\u8C03\u7528","Untitled task":"\u672A\u547D\u540D\u4EFB\u52A1",Accept:"\u63A5\u53D7","Send back":"\u9000\u56DE","Send it back":"\u9000\u56DE\u7ED9 Bot","What should change":"\u9700\u8981\u6539\u4EC0\u4E48","Sent back: {note}":"\u5DF2\u9000\u56DE\uFF1A{note}","Comment goes to {target}":"\u8BC4\u8BBA\u5199\u5230 {target}","Could not comment on {target}: {error}":"\u65E0\u6CD5\u5728 {target} \u4E0A\u7559\u8A00\uFF1A{error}","Could not confirm the comment on {target} went out":"\u65E0\u6CD5\u786E\u8BA4 {target} \u4E0A\u7684\u7559\u8A00\u662F\u5426\u53D1\u51FA",Board:"\u770B\u677F",Tasks:"\u4EFB\u52A1","Close board":"\u5173\u95ED\u770B\u677F","Close tasks":"\u5173\u95ED\u4EFB\u52A1","Task board":"\u4EFB\u52A1\u677F","Not started":"\u672A\u5F00\u59CB","Groups you admin":"\u4F60\u7BA1\u7406\u7684\u7FA4","No tasks yet.":"\u8FD8\u6CA1\u6709\u4EFB\u52A1\u3002","Nothing in this column.":"\u8FD9\u4E00\u5217\u662F\u7A7A\u7684\u3002",Highest:"\u6700\u9AD8",High:"\u8F83\u9AD8",Low:"\u8F83\u4F4E",Claimed:"\u5DF2\u8BA4\u9886",Blocked:"\u53D7\u963B",Waiting:"\u7B49\u5F85","In flight":"\u8FDB\u884C\u4E2D","PRs opened today":"\u4ECA\u65E5\u65B0\u5F00 PR","PRs merged today":"\u4ECA\u65E5\u5408\u5165 PR","Issues opened today":"\u4ECA\u65E5\u65B0\u5F00 issue","Issues closed today":"\u4ECA\u65E5\u5173\u95ED issue","PR merge time":"PR \u5408\u5165\u65F6\u957F","Issue close time":"issue \u5173\u95ED\u65F6\u957F","Task completion":"\u4EFB\u52A1\u5B8C\u6210\u65F6\u957F","Natural day in your time zone, by created_at.":"\u6309\u4F60\u6240\u5728\u65F6\u533A\u7684\u81EA\u7136\u65E5\uFF0C\u53D6 created_at\u3002","Natural day in your time zone, by merged_at.":"\u6309\u4F60\u6240\u5728\u65F6\u533A\u7684\u81EA\u7136\u65E5\uFF0C\u53D6 merged_at\u3002","Natural day in your time zone, by closed_at.":"\u6309\u4F60\u6240\u5728\u65F6\u533A\u7684\u81EA\u7136\u65E5\uFF0C\u53D6 closed_at\u3002","Median of the last 7 days, opened to merged.":"\u8FD1 7 \u5929\u4E2D\u4F4D\u6570\uFF0C\u5F00\u542F\u5230\u5408\u5165\u3002","Median of the last 7 days, opened to closed.":"\u8FD1 7 \u5929\u4E2D\u4F4D\u6570\uFF0C\u5F00\u542F\u5230\u5173\u95ED\u3002","Median of the last 7 days, created to done.":"\u8FD1 7 \u5929\u4E2D\u4F4D\u6570\uFF0C\u521B\u5EFA\u5230\u5B8C\u6210\u3002","Metrics unavailable":"\u6307\u6807\u4E0D\u53EF\u7528","Running tasks":"\u5728\u8DD1\u4EFB\u52A1","Claimed for":"\u5DF2\u505A\u591A\u4E45","Last activity":"\u6700\u8FD1\u6D3B\u52A8",Task:"\u4EFB\u52A1",Status:"\u72B6\u6001",Who:"\u8C01\u5728\u505A",Source:"\u6765\u6E90",unknown:"\u672A\u77E5",Start:"\u5F00\u59CB",Complete:"\u5B8C\u6210","Start task":"\u5F00\u59CB\u4EFB\u52A1","Complete task":"\u5B8C\u6210\u4EFB\u52A1","Add task":"\u6DFB\u52A0\u4EFB\u52A1","Group task":"\u7FA4\u4EFB\u52A1","Assign, claim, and progress live on this board: one overall task, a subtask per part, an assignee, a column, and progress. @ only wakes someone.":"\u6D3E\u6D3B\u3001\u9886\u6D3B\u548C\u8FDB\u5EA6\u90FD\u5728\u8FD9\u5757\u770B\u677F\u4E0A\uFF1A\u4E00\u4E2A\u603B\u4EFB\u52A1\u3001\u6BCF\u4E2A\u90E8\u5206\u4E00\u6761\u5B50\u4EFB\u52A1\u3001\u8D1F\u8D23\u4EBA\u3001\u5217\u548C\u8FDB\u5EA6\u3002@ \u53EA\u662F\u53EB\u9192\u5BF9\u65B9\u3002","Part of {title}":"\u5C5E\u4E8E {title}","Task title":"\u4EFB\u52A1\u6807\u9898",Progress:"\u8FDB\u5EA6",Group:"\u7FA4","{percent}%":"{percent}%","{done}/{total}":"{done}/{total}","for {time}":"\u5DF2 {time}","just started":"\u521A\u5F00\u59CB","Open {name}":"\u6253\u5F00 {name}","Allowed once for {name}":"\u5DF2\u4E3A {name} \u5141\u8BB8\u4E00\u6B21","Rejected for {name}":"\u5DF2\u62D2\u7EDD {name} \u7684\u8BF7\u6C42",Messages:"\u6D88\u606F",Commands:"\u547D\u4EE4","Search Bots, chats and messages":"\u641C\u7D22 Bot\u3001\u5BF9\u8BDD\u548C\u6D88\u606F","Clear search":"\u6E05\u9664\u641C\u7D22",Results:"\u7ED3\u679C","No results":"\u6CA1\u6709\u7ED3\u679C","Try a Bot name or words from a message":"\u8BD5\u8BD5 Bot \u540D\u5B57\u6216\u6D88\u606F\u91CC\u7684\u8BCD","Bot exchange":"Bot \u95F4\u5BF9\u8BDD","Bot exchange transcript":"Bot \u95F4\u5BF9\u8BDD\u8BB0\u5F55","No messages yet":"\u8FD8\u6CA1\u6709\u6D88\u606F","Close Chat":"\u5173\u95ED","Today {time}":"\u4ECA\u5929 {time}","Yesterday {time}":"\u6628\u5929 {time}","{tokens} tok \xB7 Cache hit {hit}%":"{tokens} tok \xB7 \u7F13\u5B58\u547D\u4E2D {hit}%",Footnotes:"\u811A\u6CE8","Remove reaction {emoji}":"\u79FB\u9664\u8868\u60C5 {emoji}","Add reaction":"\u6DFB\u52A0\u8868\u60C5",Reply:"\u56DE\u590D","More message actions":"\u66F4\u591A\u64CD\u4F5C",More:"\u66F4\u591A",Sharing:"\u5206\u4EAB",Reactions:"\u8868\u60C5","Message actions":"\u6D88\u606F\u64CD\u4F5C",Download:"\u4E0B\u8F7D","Thought it through":"\u601D\u8003\u8FC7\u7A0B","{n} line of reasoning":"{n} \u884C\u601D\u8003\u5185\u5BB9","{n} lines of reasoning":"{n} \u884C\u601D\u8003\u5185\u5BB9","Earlier messages":"\u66F4\u65E9\u7684\u6D88\u606F","Loading earlier messages\u2026":"\u6B63\u5728\u52A0\u8F7D\u66F4\u65E9\u7684\u6D88\u606F\u2026","Couldn\u2019t load earlier messages \xB7 Retry":"\u66F4\u65E9\u7684\u6D88\u606F\u6CA1\u52A0\u8F7D\u51FA\u6765 \xB7 \u91CD\u8BD5","Load earlier":"\u52A0\u8F7D\u66F4\u65E9\u7684\u6D88\u606F","1 image":"1 \u5F20\u56FE\u7247","{count} images":"{count} \u5F20\u56FE\u7247","Replies from":"\u7FA4\u804A\u56DE\u590D\uFF1A","Reply from":"\u6536\u5230\u56DE\u590D\uFF1A","Message from":"\u6536\u5230\u6D88\u606F\uFF1A","via {name}":"\u7ECF\u7531 {name}","{name} is talking to {bot} through Bot Social":"{name} \u6B63\u901A\u8FC7 Bot Social \u548C {bot} \u5BF9\u8BDD","your Bot":"\u4F60\u7684 Bot","Stopped by":"\u53EB\u505C\u8005\uFF1A","{count} messages with":"{count} \u6761\u6D88\u606F\uFF0C\u6765\u81EA","Routine started":"\u4F8B\u884C\u4EFB\u52A1\u5F00\u59CB",Update:"\u66F4\u65B0","Thinking about it":"\u60F3\u4E00\u60F3","Weighing the options":"\u6743\u8861\u4E00\u4E0B","Working out a plan":"\u7406\u4E00\u4E0B\u601D\u8DEF","Sorting out the details":"\u68B3\u7406\u7EC6\u8282","On it":"\u5728\u505A\u4E86","Using {tool}":"\u4F7F\u7528 {tool}","{action}: {detail}":"{action}\uFF1A{detail}","Busy with it":"\u6B63\u5728\u5904\u7406","Moving ahead":"\u63A8\u8FDB\u4E2D","Taking care of it":"\u5904\u7406\u4E2D","Making headway":"\u6709\u8FDB\u5C55\u4E86","Searching online":"\u4E0A\u7F51\u641C\u7D22","Reading a page":"\u9605\u8BFB\u7F51\u9875","Running shell commands":"\u8FD0\u884C\u547D\u4EE4","Opening a file":"\u6253\u5F00\u6587\u4EF6","Looking through files":"\u67E5\u627E\u6587\u4EF6","Writing changes":"\u5199\u5165\u4FEE\u6539","Working on an image":"\u5904\u7406\u56FE\u7247","Creating a group":"\u521B\u5EFA\u7FA4\u804A","Updating the group":"\u66F4\u65B0\u7FA4\u804A","Deleting the group":"\u5220\u9664\u7FA4\u804A","Posting in the group":"\u5728\u7FA4\u91CC\u53D1\u8A00","Checking the keys":"\u67E5\u770B\u5BC6\u94A5","Asking {name}":"\u8BE2\u95EE {name}","Asking another Bot":"\u8BE2\u95EE\u5176\u4ED6 Bot","Stopping {name}":"\u53EB\u505C {name}","Stopping another Bot":"\u53EB\u505C\u5176\u4ED6 Bot","Creating {name}":"\u521B\u5EFA {name}","Updating {name}":"\u66F4\u65B0 {name}","Checking the team":"\u67E5\u770B\u56E2\u961F","Reading {name}":"\u9605\u8BFB {name}","Looking back through the chat":"\u7FFB\u770B\u804A\u5929\u8BB0\u5F55","{name} looked up its own chat":"{name} \u67E5\u770B\u4E86\u81EA\u5DF1\u7684\u5BF9\u8BDD","{name} looked up its own chat for \u201C{text}\u201D":"{name} \u5728\u81EA\u5DF1\u7684\u5BF9\u8BDD\u91CC\u67E5\u627E\u300C{text}\u300D","{name} didn't answer in time":"{name} \u6CA1\u6709\u53CA\u65F6\u56DE\u5E94","{name} paused for your approval":"{name} \u505C\u4E0B\u6765\u7B49\u4F60\u6279\u51C6","{name} started on it":"{name} \u5F00\u59CB\u505A\u4E86","You stopped {name}'s work":"\u4F60\u505C\u4E0B\u4E86 {name} \u7684\u5DE5\u4F5C","{name} was cut off by a restart and picked its work back up":"{name} \u7684\u5DE5\u4F5C\u88AB\u91CD\u542F\u6253\u65AD\uFF0C\u5DF2\u7ECF\u63A5\u7740\u505A","{name} was cut off by a restart again and stopped":"{name} \u7684\u5DE5\u4F5C\u53C8\u88AB\u91CD\u542F\u6253\u65AD\uFF0C\u5DF2\u505C\u4E0B","Picked up its work after a restart":"\u91CD\u542F\u540E\u63A5\u7740\u505A\u4E4B\u524D\u7684\u5DE5\u4F5C","Asked to make the tool call it wrote as text":"\u5DE5\u5177\u8C03\u7528\u88AB\u5199\u6210\u4E86\u6587\u5B57\uFF0C\u5DF2\u8BA9\u5B83\u91CD\u65B0\u8C03\u7528","A Bot":"\u4E00\u4E2A Bot","{name} is waiting for your approval":"{name} \u7B49\u4F60\u6279\u51C6","{name} finished":"{name} \u5DF2\u5B8C\u6210","{name} failed: {reason}":"{name} \u5931\u8D25\uFF1A{reason}","{name} has waited {n} min for your approval":"{name} \u5DF2\u7ECF\u7B49\u4F60\u6279\u51C6 {n} \u5206\u949F\u4E86","{count} updates":"{count} \u6761\u66F4\u65B0","Once more if it still waits after 15 min.":"\u7B49\u4E86 15 \u5206\u949F\u8FD8\u6CA1\u6279\u51C6\u65F6\u518D\u63D0\u9192\u4E00\u6B21\u3002",Notifications:"\u901A\u77E5","In other chats":"\u5728\u5176\u4ED6\u5BF9\u8BDD\u65F6","When your Bots finish, fail, or wait for your approval while you are in another chat or app.":"\u4F60\u7684 Bot \u5B8C\u6210\u3001\u5931\u8D25\u6216\u7B49\u4F60\u6279\u51C6\u65F6\u63D0\u9192\u4F60\uFF08\u4F60\u5728\u522B\u7684\u5BF9\u8BDD\u6216\u5E94\u7528\u91CC\u65F6\uFF09\u3002","{first} and {second} are waiting for your approval":"{first}\u3001{second} \u7B49\u4F60\u6279\u51C6","{first}, {second} and {count} more are waiting for your approval":"{first}\u3001{second} \u7B49 {total} \u4E2A\u7B49\u4F60\u6279\u51C6","Waiting for your approval":"\u7B49\u4F60\u6279\u51C6","Waiting for their approval":"\u7B49\u5BF9\u65B9\u6279\u51C6","Your Bots post in rooms without asking each time. Use Auto-send in the room header to turn it off.":"\u4F60\u7684 Bot \u4F1A\u5728\u623F\u95F4\u91CC\u76F4\u63A5\u53D1\u9001\uFF0C\u4E0D\u518D\u6BCF\u6B21\u8BE2\u95EE\u3002\u8981\u5173\u6389\uFF0C\u7528\u623F\u95F4\u6807\u9898\u91CC\u7684\u81EA\u52A8\u53D1\u9001\u3002","Turn on auto-send":"\u6253\u5F00\u81EA\u52A8\u53D1\u9001","Approve and always auto-send in this room":"\u6279\u51C6\u5E76\u5728\u6B64\u623F\u95F4\u59CB\u7EC8\u81EA\u52A8\u53D1\u9001",Reject:"\u62D2\u7EDD","Allow once":"\u5141\u8BB8\u4E00\u6B21","Always allow for this Bot":"\u6B64 Bot \u59CB\u7EC8\u5141\u8BB8","Always allow for this group":"\u672C\u7FA4\u59CB\u7EC8\u5141\u8BB8","Always allowed for {name}":"\u5DF2\u4E3A {name} \u59CB\u7EC8\u5141\u8BB8","Always allowed in this group":"\u5DF2\u5728\u672C\u7FA4\u59CB\u7EC8\u5141\u8BB8","Always allowed":"\u59CB\u7EC8\u5141\u8BB8","Your Bots in this group do these without asking.":"\u4F60\u5728\u672C\u7FA4\u7684 Bot \u505A\u8FD9\u4E9B\u65F6\u4E0D\u518D\u8BE2\u95EE\u3002","This Bot does these without asking.":"\u6B64 Bot \u505A\u8FD9\u4E9B\u65F6\u4E0D\u518D\u8BE2\u95EE\u3002","Remove always allow for {kind}":"\u79FB\u9664 {kind} \u7684\u59CB\u7EC8\u5141\u8BB8","Couldn't message {name}":"\u6CA1\u80FD\u7ED9 {name} \u53D1\u6D88\u606F",Messaged:"\u5DF2\u53D1\u6D88\u606F\u7ED9","Couldn't stop {name}":"\u6CA1\u80FD\u53EB\u505C {name}",Stopped:"\u5DF2\u53EB\u505C",Created:"\u5DF2\u521B\u5EFA",Updated:"\u5DF2\u66F4\u65B0","Created group":"\u5DF2\u521B\u5EFA\u7FA4\u804A","Couldn't create the group":"\u6CA1\u80FD\u521B\u5EFA\u7FA4\u804A","Updated group":"\u5DF2\u66F4\u65B0\u7FA4\u804A","Couldn't update the group":"\u6CA1\u80FD\u66F4\u65B0\u7FA4\u804A","Deleted group":"\u5DF2\u5220\u9664\u7FA4\u804A","Couldn't delete the group":"\u6CA1\u80FD\u5220\u9664\u7FA4\u804A","Posted in":"\u5DF2\u53D1\u5230","Couldn't post in the group":"\u6CA1\u80FD\u5728\u7FA4\u91CC\u53D1\u8A00",Read:"\u5DF2\u8BFB\u53D6","Your own answer":"\u4F60\u81EA\u5DF1\u7684\u56DE\u7B54","Type your own answer":"\u8F93\u5165\u4F60\u81EA\u5DF1\u7684\u56DE\u7B54",Selected:"\u5DF2\u9009",Skip:"\u8DF3\u8FC7",Submit:"\u63D0\u4EA4",Answered:"\u5DF2\u56DE\u7B54","Choose all that apply":"\u53EF\u591A\u9009","Dismiss question":"\u5173\u95ED\u95EE\u9898",Dismiss:"\u5173\u95ED",Dismissed:"\u5DF2\u5173\u95ED","Your answer":"\u4F60\u7684\u56DE\u7B54","All my Bots":"\u6211\u7684\u6240\u6709 Bot","No Bot":"\u6CA1\u6709 Bot","Paste or type the key":"\u7C98\u8D34\u6216\u8F93\u5165\u5BC6\u94A5","Only {name}":"\u53EA\u7ED9 {name}","Who may use it":"\u8C01\u53EF\u4EE5\u7528","Cancel the request":"\u53D6\u6D88\u8BF7\u6C42","This page is not on HTTPS: the key crosses the network unencrypted.":"\u8FD9\u4E2A\u9875\u9762\u4E0D\u662F HTTPS\uFF1A\u5BC6\u94A5\u4F1A\u4EE5\u660E\u6587\u7ECF\u8FC7\u7F51\u7EDC\u3002","Let {bot} use {name}?":"\u5141\u8BB8 {bot} \u4F7F\u7528 {name}\uFF1F","{name} needs a key":"{name} \u9700\u8981\u4E00\u4E2A\u5BC6\u94A5","Saved for {scope}":"\u5DF2\u4FDD\u5B58\uFF0C\u53EF\u7528\u8303\u56F4\uFF1A{scope}","Value of {name}":"{name} \u7684\u503C","{bot} never sees the value. It reaches {bot}'s shell as ":"{bot} \u6C38\u8FDC\u770B\u4E0D\u5230\u8FD9\u4E2A\u503C\u3002\u5B83\u4F1A\u4F5C\u4E3A\u4E0B\u9762\u7684\u73AF\u5883\u53D8\u91CF\u8FDB\u5165 {bot} \u7684 shell\uFF1A"," At least {count} characters.":" \u81F3\u5C11 {count} \u4E2A\u5B57\u7B26\u3002","At least {count} characters.":"\u81F3\u5C11 {count} \u4E2A\u5B57\u7B26\u3002","Replace value":"\u66FF\u6362\u503C","Saving\u2026":"\u4FDD\u5B58\u4E2D\u2026","Allowing\u2026":"\u5141\u8BB8\u4E2D\u2026",Allow:"\u5141\u8BB8","{bot} asked for {name}":"{bot} \u8BF7\u6C42\u4E86 {name}","Allowed {bot} to use {name}":"\u5DF2\u5141\u8BB8 {bot} \u4F7F\u7528 {name}","Saved {name}":"\u5DF2\u4FDD\u5B58 {name}",Canceled:"\u5DF2\u53D6\u6D88",Done:"\u5B8C\u6210","Done cards":"\u5DF2\u5B8C\u6210","{bot} is using {name}":"{bot} \u6B63\u5728\u4F7F\u7528 {name}","a saved key":"\u4E00\u4E2A\u5DF2\u4FDD\u5B58\u7684\u5BC6\u94A5","Chosen Bots":"\u6307\u5B9A\u7684 Bot","Who may use {name}":"\u8C01\u53EF\u4EE5\u7528 {name}","Save access":"\u4FDD\u5B58\u6743\u9650","Replace the value":"\u66FF\u6362\u503C","New value of {name}":"{name} \u7684\u65B0\u503C","Replaced. Bots get the new value from their next command.":"\u5DF2\u66FF\u6362\u3002Bot \u4ECE\u4E0B\u4E00\u6761\u547D\u4EE4\u5F00\u59CB\u62FF\u5230\u65B0\u503C\u3002","a deleted Bot":"\u4E00\u4E2A\u5DF2\u5220\u9664\u7684 Bot","Asked by {name}":"\u7531 {name} \u8BF7\u6C42","added {time}":"\u6DFB\u52A0\u4E8E {time}","last used {time}":"\u4E0A\u6B21\u4F7F\u7528 {time}","not used yet":"\u8FD8\u6CA1\u7528\u8FC7","Delete {name}? Bots lose it at once.":"\u5220\u9664 {name}\uFF1FBot \u4F1A\u7ACB\u523B\u5931\u53BB\u5B83\u3002",Keep:"\u4FDD\u7559","Key name":"\u5BC6\u94A5\u540D","NAME, e.g. GITHUB_TOKEN":"\u540D\u5B57\uFF0C\u4F8B\u5982 GITHUB_TOKEN","What it is for":"\u7528\u9014",Value:"\u503C","New keys are for all your Bots; change who may use it afterwards.":"\u65B0\u5BC6\u94A5\u9ED8\u8BA4\u4F60\u7684\u6240\u6709 Bot \u53EF\u7528\uFF0C\u4E4B\u540E\u53EF\u4EE5\u66F4\u6539\u8C01\u80FD\u7528\u3002","Save key":"\u4FDD\u5B58\u5BC6\u94A5","Keys your Bots asked for. Bots never see the values: they use them as ":"\u4F60\u7684 Bot \u8BF7\u6C42\u8FC7\u7684\u5BC6\u94A5\u3002Bot \u6C38\u8FDC\u770B\u4E0D\u5230\u503C\uFF1A\u5B83\u4EEC\u5728 shell \u91CC\u901A\u8FC7 "," in their shell, and every value is replaced by ":" \u4F7F\u7528\uFF0C\u800C\u4E14\u53D1\u7ED9\u6A21\u578B\u4E4B\u524D\uFF0C\u6BCF\u4E2A\u503C\u90FD\u4F1A\u88AB\u66FF\u6362\u6210 "," before anything goes to a model.":"\u3002","Secrets \xB7 {count}":"\u5BC6\u94A5 \xB7 {count}","No keys yet. When a Bot needs one, it shows a card in its chat.":"\u8FD8\u6CA1\u6709\u5BC6\u94A5\u3002Bot \u9700\u8981\u65F6\uFF0C\u4F1A\u5728\u5BF9\u8BDD\u91CC\u5F39\u51FA\u4E00\u5F20\u5361\u7247\u3002","Add a key":"\u6DFB\u52A0\u5BC6\u94A5",Memory:"\u8BB0\u5FC6","Nothing saved yet":"\u8FD8\u6CA1\u6709\u4FDD\u5B58\u5185\u5BB9","1 entry":"1 \u6761","{count} entries":"{count} \u6761","Manage {name}'s memory":"\u7BA1\u7406 {name} \u7684\u8BB0\u5FC6","{name}'s memory":"{name} \u7684\u8BB0\u5FC6","Memory summary":"\u8BB0\u5FC6\u6458\u8981","All entries":"\u5168\u90E8\u8BB0\u5FC6","Memory options":"\u8BB0\u5FC6\u9009\u9879","Close memory":"\u5173\u95ED\u8BB0\u5FC6","Back to the summary":"\u8FD4\u56DE\u6458\u8981","Regenerate summary":"\u91CD\u65B0\u751F\u6210\u6458\u8981","Updated {time}":"\u66F4\u65B0\u4E8E {time}","Updated just now":"\u521A\u521A\u66F4\u65B0","Writing the summary\u2026":"\u6B63\u5728\u751F\u6210\u6458\u8981\u2026","The summary is out of date: {reason}":"\u6458\u8981\u4E0D\u662F\u6700\u65B0\u7684\uFF1A{reason}","The summary could not be written: {reason}":"\u6458\u8981\u6CA1\u80FD\u751F\u6210\uFF1A{reason}","{name} has not saved anything yet":"{name} \u8FD8\u6CA1\u6709\u8BB0\u4F4F\u4EFB\u4F55\u5185\u5BB9","Bots keep lasting preferences, decisions, and what you ask them to remember. Tell {name} below, or in its chat.":"Bot \u4F1A\u8BB0\u4F4F\u957F\u671F\u7684\u504F\u597D\u3001\u505A\u8FC7\u7684\u51B3\u5B9A\uFF0C\u4EE5\u53CA\u4F60\u8BA9\u5B83\u8BB0\u4F4F\u7684\u4E8B\u3002\u53EF\u4EE5\u5728\u4E0B\u9762\u544A\u8BC9 {name}\uFF0C\u4E5F\u53EF\u4EE5\u5728\u5BF9\u8BDD\u91CC\u8BF4\u3002","Team memory":"\u56E2\u961F\u8BB0\u5FC6","Every Bot reads it":"\u6240\u6709 Bot \u90FD\u4F1A\u8BFB","MEMORY.md, which every conversation reads":"MEMORY.md\uFF0C\u6BCF\u6B21\u5BF9\u8BDD\u90FD\u4F1A\u8BFB","{used} of {limit} characters":"{used} / {limit} \u5B57\u7B26","by you":"\u7531\u4F60\u6DFB\u52A0","by {name}":"\u7531 {name} \u6DFB\u52A0","Remove from memory":"\u4ECE\u8BB0\u5FC6\u4E2D\u5220\u9664","Click again to remove":"\u518D\u70B9\u4E00\u6B21\u5220\u9664",Remove:"\u5220\u9664","Ask or update":"\u8BE2\u95EE\u6216\u66F4\u65B0","Ask about or update {name}'s memory":"\u8BE2\u95EE\u6216\u66F4\u65B0 {name} \u7684\u8BB0\u5FC6","Added: {text}":"\u5DF2\u6DFB\u52A0\uFF1A{text}","Added to team memory: {text}":"\u5DF2\u52A0\u5165\u56E2\u961F\u8BB0\u5FC6\uFF1A{text}","Updated: {text}":"\u5DF2\u66F4\u65B0\uFF1A{text}","Removed: {text}":"\u5DF2\u5220\u9664\uFF1A{text}","Removed from team memory: {text}":"\u5DF2\u4ECE\u56E2\u961F\u8BB0\u5FC6\u5220\u9664\uFF1A{text}","Not changed: {text} ({reason})":"\u6CA1\u6709\u6539\u52A8\uFF1A{text}\uFF08{reason}\uFF09","Saving to memory":"\u6B63\u5728\u8BB0\u4E0B","Updating memory":"\u6B63\u5728\u66F4\u65B0\u8BB0\u5FC6","Checking memory":"\u6B63\u5728\u67E5\u770B\u8BB0\u5FC6","Memory updated":"\u8BB0\u5FC6\u5DF2\u66F4\u65B0","Team memory updated":"\u56E2\u961F\u8BB0\u5FC6\u5DF2\u66F4\u65B0","Updated {name}'s memory":"\u5DF2\u66F4\u65B0 {name} \u7684\u8BB0\u5FC6","Memory updated. Open {name}'s memory":"\u8BB0\u5FC6\u5DF2\u66F4\u65B0\uFF0C\u6253\u5F00 {name} \u7684\u8BB0\u5FC6","Close browser":"\u5173\u95ED\u6D4F\u89C8\u5668","Open browser":"\u6253\u5F00\u6D4F\u89C8\u5668","Open this Bot's browser":"\u6253\u5F00\u8FD9\u4E2A Bot \u7684\u6D4F\u89C8\u5668","{name}'s browser":"{name} \u7684\u6D4F\u89C8\u5668","Resize panel":"\u8C03\u6574\u9762\u677F\u5BBD\u5EA6","{name} read this page":"{name} \u8BFB\u4E86\u8FD9\u4E2A\u9875\u9762","{name}'s browser. {name} can read the page shown here.":"{name} \u7684\u6D4F\u89C8\u5668\u3002{name} \u80FD\u8BFB\u53D6\u8FD9\u91CC\u663E\u793A\u7684\u9875\u9762\u3002",Back:"\u540E\u9000",Forward:"\u524D\u8FDB",Stop:"\u505C\u6B62",Reload:"\u5237\u65B0",Address:"\u5730\u5740","Search or enter address":"\u641C\u7D22\u6216\u8F93\u5165\u7F51\u5740","This page didn\u2019t load":"\u9875\u9762\u6CA1\u6709\u52A0\u8F7D\u51FA\u6765","Try again":"\u91CD\u8BD5","Open a page here and {name} can read it with you. Logins and cookies stay with {name}; other Bots never see them.":"\u5728\u8FD9\u91CC\u6253\u5F00\u7F51\u9875\uFF0C{name} \u5C31\u80FD\u548C\u4F60\u4E00\u8D77\u8BFB\u3002\u767B\u5F55\u72B6\u6001\u548C cookie \u53EA\u5C5E\u4E8E {name}\uFF0C\u5176\u4ED6 Bot \u770B\u4E0D\u5230\u3002","Only http and https addresses open here.":"\u8FD9\u91CC\u53EA\u80FD\u6253\u5F00 http \u548C https \u5730\u5740\u3002","The page crashed.":"\u9875\u9762\u5D29\u6E83\u4E86\u3002","The browser blocked the new window.":"\u6D4F\u89C8\u5668\u62E6\u622A\u4E86\u65B0\u7A97\u53E3\u3002","Open the issue":"\u6253\u5F00\u95EE\u9898\u9875\u9762","Cloud metadata addresses do not open here.":"\u8FD9\u91CC\u4E0D\u80FD\u6253\u5F00\u4E91\u5143\u6570\u636E\u5730\u5740\u3002","Dictation is not available in this browser":"\u8FD9\u4E2A\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u542C\u5199","Microphone access is blocked":"\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u963B\u6B62\u4E86","Couldn't hear that":"\u6CA1\u542C\u6E05","Couldn't start dictation":"\u65E0\u6CD5\u5F00\u59CB\u542C\u5199","Stop dictation":"\u505C\u6B62\u542C\u5199",Dictate:"\u542C\u5199","Start voice chat":"\u5F00\u59CB\u8BED\u97F3\u5BF9\u8BDD","Voice chat":"\u8BED\u97F3\u5BF9\u8BDD",Listening:"\u5728\u542C",Thinking:"\u601D\u8003\u4E2D","Thinking\u2026":"\u601D\u8003\u4E2D\u2026",Speaking:"\u5728\u8BF4",Paused:"\u5DF2\u6682\u505C","Voice chat is not available in this browser":"\u8FD9\u4E2A\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u8BED\u97F3\u5BF9\u8BDD","Voice chat with {name}":"\u548C {name} \u8BED\u97F3\u5BF9\u8BDD","Resume listening":"\u7EE7\u7EED\u542C",Pause:"\u6682\u505C","End voice chat":"\u7ED3\u675F\u8BED\u97F3\u5BF9\u8BDD","Recognizing\u2026":"\u8BC6\u522B\u4E2D\u2026","Voice input needs its speech model":"\u8BED\u97F3\u8F93\u5165\u8FD8\u6CA1\u6709\u8BED\u97F3\u6A21\u578B","Set up voice input":"\u8BBE\u7F6E\u8BED\u97F3\u8F93\u5165","That was too long to recognize":"\u8FD9\u6BB5\u592A\u957F\u4E86\uFF0C\u8BC6\u522B\u4E0D\u4E86","24 hours":"24 \u5C0F\u65F6","7 days":"7 \u5929","30 days":"30 \u5929","12 weeks":"12 \u5468","12 months":"12 \u4E2A\u6708","Per hour":"\u6309\u5C0F\u65F6","Per day":"\u6309\u5929","Per week":"\u6309\u5468","Per month":"\u6309\u6708",Output:"\u8F93\u51FA",Input:"\u8F93\u5165","Cache hit":"\u7F13\u5B58\u547D\u4E2D","Deleted Bot":"\u5DF2\u5220\u9664\u7684 Bot",Deleted:"\u5DF2\u5220\u9664","Deleted group chat":"\u5DF2\u5220\u9664\u7684\u7FA4\u804A","Group chat":"\u7FA4\u804A","Own chat":"\u5355\u804A",Conversations:"\u5BF9\u8BDD","Compaction and handoff":"\u538B\u7F29\u4E0E\u4EA4\u63A5","Image reading":"\u8BC6\u56FE",Titles:"\u6807\u9898",Other:"\u5176\u4ED6","Last {range}":"\u6700\u8FD1 {range}",tokens:"Token","Compared with the {range} before":"\u4E0E\u518D\u5F80\u524D {range} \u76F8\u6BD4","{share}% of all usage in the last {range}":"\u5360\u6700\u8FD1 {range}\u5168\u90E8\u7528\u91CF\u7684 {share}%",Calls:"\u8C03\u7528\u6B21\u6570","Cache hit rate":"\u7F13\u5B58\u547D\u4E2D\u7387","Tokens over time":"Token \u8D70\u52BF","{count} tokens":"{count} Token","{tokens} tokens \xB7 {calls} calls":"{tokens} Token \xB7 {calls} \u6B21\u8C03\u7528","Active on 1 day in the last year":"\u8FD1\u4E00\u5E74\u6709 1 \u5929\u5728\u7528","Active on {count} days in the last year":"\u8FD1\u4E00\u5E74\u6709 {count} \u5929\u5728\u7528",Light:"\u5C11",Heavy:"\u591A","Unknown model":"\u672A\u77E5\u6A21\u578B","More Bots":"\u5176\u4F59 Bot","More models":"\u5176\u4F59\u6A21\u578B","Reading your chats\u2026":"\u6B63\u5728\u8BFB\u53D6\u804A\u5929\u8BB0\u5F55\u2026","No usage yet.":"\u8FD8\u6CA1\u6709\u7528\u91CF\u3002","Token usage shows up here after a model is called.":"\u8C03\u7528\u6A21\u578B\u4E4B\u540E\uFF0C\u8FD9\u91CC\u4F1A\u663E\u793A Token \u7528\u91CF\u3002","Nothing in this range.":"\u8FD9\u6BB5\u65F6\u95F4\u6CA1\u6709\u7528\u91CF\u3002","Who used it":"\u8C01\u5728\u7528","What for":"\u7528\u9014",Activity:"\u6D3B\u8DC3\u5EA6","Time range":"\u65F6\u95F4\u8303\u56F4","All usage":"\u5168\u90E8\u7528\u91CF","Group usage by":"\u7528\u91CF\u5206\u7EC4","By Bot":"\u6309 Bot","By model":"\u6309\u6A21\u578B","Still reading older chats; totals may grow.":"\u8FD8\u5728\u8BFB\u53D6\u8F83\u65E9\u7684\u804A\u5929\u8BB0\u5F55\uFF0C\u6570\u5B57\u53EF\u80FD\u8FD8\u4F1A\u53D8\u5927\u3002",Custom:"\u81EA\u5B9A\u4E49","Custom range":"\u81EA\u5B9A\u4E49\u65F6\u95F4\u8303\u56F4","This month":"\u672C\u6708","Last month":"\u4E0A\u4E2A\u6708","This year":"\u4ECA\u5E74","Previous month":"\u5F80\u524D\u4E00\u4E2A\u6708","Next month":"\u5F80\u540E\u4E00\u4E2A\u6708","Pick the first day":"\u9009\u62E9\u5F00\u59CB\u65E5\u671F","Pick the last day":"\u9009\u62E9\u7ED3\u675F\u65E5\u671F","1 day":"1 \u5929","{count} days":"{count} \u5929","Compared with the day before":"\u4E0E\u524D\u4E00\u5929\u76F8\u6BD4","Compared with the {count} days before":"\u4E0E\u518D\u5F80\u524D {count} \u5929\u76F8\u6BD4","{share}% of all usage from {span}":"\u5360 {span} \u5168\u90E8\u7528\u91CF\u7684 {share}%","About FlyBot":"\u5173\u4E8E FlyBot","Version {version}":"\u7248\u672C {version}","Star FlyBot on GitHub":"\u5728 GitHub \u4E0A\u7ED9 FlyBot \u70B9 Star","{count} stars":"{count} \u4E2A Star","If FlyBot helps you, a star on GitHub helps more people find it.":"\u5982\u679C FlyBot \u5BF9\u4F60\u6709\u7528\uFF0C\u6B22\u8FCE\u5728 GitHub \u4E0A\u70B9\u4E2A Star\uFF0C\u8BA9\u66F4\u591A\u4EBA\u770B\u5230\u5B83\u3002",Updates:"\u66F4\u65B0","Check for updates":"\u68C0\u67E5\u66F4\u65B0","Checking\u2026":"\u6B63\u5728\u68C0\u67E5\u2026","Up to date":"\u5DF2\u662F\u6700\u65B0\u7248\u672C","Checked {time}":"\u68C0\u67E5\u4E8E {time}","Could not check for updates.":"\u6CA1\u80FD\u68C0\u67E5\u66F4\u65B0\u3002","Update checks are off.":"\u5DF2\u5173\u95ED\u66F4\u65B0\u68C0\u67E5\u3002","Installed from a local folder; update it there.":"\u4ECE\u672C\u5730\u6587\u4EF6\u5939\u5B89\u88C5\uFF0C\u8BF7\u5728\u90A3\u91CC\u66F4\u65B0\u3002","Updates are not offered for this install.":"\u8FD9\u79CD\u5B89\u88C5\u65B9\u5F0F\u4E0D\u63D0\u4F9B\u66F4\u65B0\u3002","Installed from GitHub ({where}). Updates come from the maintainer: reinstall FlyBot to get them.":"\u4ECE GitHub \u5B89\u88C5\uFF08{where}\uFF09\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","Pinned to commit {commit}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u56FA\u5B9A\u5728\u63D0\u4EA4 {commit}\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","Up to date with {branch}.":"\u5DF2\u662F {branch} \u7684\u6700\u65B0\u63D0\u4EA4\u3002","1 commit behind {branch}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u843D\u540E {branch} 1 \u4E2A\u63D0\u4EA4\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","{count} commits behind {branch}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u843D\u540E {branch} {count} \u4E2A\u63D0\u4EA4\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","Could not compare with {branch}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u6CA1\u80FD\u548C {branch} \u6BD4\u8F83\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","DeepSeek Harness (underlying)":"DeepSeek Harness\uFF08\u5E95\u5C42\uFF09",Links:"\u94FE\u63A5","Source code":"\u6E90\u4EE3\u7801","Release notes":"\u53D1\u5E03\u8BF4\u660E",Open:"\u6253\u5F00",Feedback:"\u53CD\u9988","Report a problem":"\u62A5\u544A\u95EE\u9898","What happened?":"\u53D1\u751F\u4E86\u4EC0\u4E48\uFF1F","What you did, what you expected, and what happened instead. It goes into the issue.":"\u4F60\u505A\u4E86\u4EC0\u4E48\u3001\u671F\u671B\u4EC0\u4E48\u3001\u5B9E\u9645\u53D1\u751F\u4E86\u4EC0\u4E48\u3002\u4F1A\u5199\u8FDB issue\u3002","For example: I asked Writer in the group chat and it showed an error.":"\u4F8B\u5982\uFF1A\u6211\u5728\u7FA4\u804A\u91CC\u95EE Writer\uFF0C\u5B83\u663E\u793A\u51FA\u9519\u4E86\u3002",Diagnostics:"\u8BCA\u65AD\u4FE1\u606F","Versions, system, models, and the latest errors. Saved keys, tokens, and your home folder are hidden.":"\u7248\u672C\u3001\u7CFB\u7EDF\u3001\u6A21\u578B\u548C\u6700\u8FD1\u7684\u9519\u8BEF\u3002\u5DF2\u4FDD\u5B58\u7684\u5BC6\u94A5\u3001\u4EE4\u724C\u548C\u4F60\u7684\u7528\u6237\u76EE\u5F55\u90FD\u5DF2\u9690\u85CF\u3002",Show:"\u67E5\u770B",Hide:"\u6536\u8D77","GitHub issue":"GitHub issue","Opens a new issue in the FlyBot repository with all of this filled in. Nothing is sent until you submit it there.":"\u5728 FlyBot \u4ED3\u5E93\u65B0\u5EFA\u4E00\u4E2A issue\uFF0C\u5E76\u586B\u597D\u4EE5\u4E0A\u5185\u5BB9\u3002\u4F60\u5728 GitHub \u4E0A\u63D0\u4EA4\u4E4B\u524D\uFF0C\u4EC0\u4E48\u90FD\u4E0D\u4F1A\u53D1\u51FA\u3002","Report on GitHub":"\u5728 GitHub \u4E0A\u62A5\u544A","Copied the diagnostics.":"\u5DF2\u590D\u5236\u8BCA\u65AD\u4FE1\u606F\u3002","Could not copy. Select the text below and copy it.":"\u65E0\u6CD5\u590D\u5236\u3002\u8BF7\u9009\u4E2D\u4E0B\u9762\u7684\u6587\u5B57\u624B\u52A8\u590D\u5236\u3002","Opened a new GitHub issue with the diagnostics filled in. Check it before you submit.":"\u5DF2\u6253\u5F00\u65B0\u7684 GitHub issue\uFF0C\u8BCA\u65AD\u4FE1\u606F\u5DF2\u586B\u597D\u3002\u63D0\u4EA4\u524D\u8BF7\u68C0\u67E5\u4E00\u904D\u3002","Opened a new GitHub issue. The diagnostics are long, so they are on the clipboard: paste them into the issue.":"\u5DF2\u6253\u5F00\u65B0\u7684 GitHub issue\u3002\u8BCA\u65AD\u4FE1\u606F\u592A\u957F\uFF0C\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F\uFF0C\u8BF7\u7C98\u8D34\u5230 issue \u91CC\u3002","Opened a new GitHub issue. Copy the diagnostics below into it.":"\u5DF2\u6253\u5F00\u65B0\u7684 GitHub issue\u3002\u8BF7\u628A\u4E0B\u9762\u7684\u8BCA\u65AD\u4FE1\u606F\u590D\u5236\u8FDB\u53BB\u3002","Downloaded the log. Keys, tokens, and your home folder are hidden in it.":"\u5DF2\u4E0B\u8F7D\u65E5\u5FD7\u3002\u91CC\u9762\u7684\u5BC6\u94A5\u3001\u4EE4\u724C\u548C\u7528\u6237\u76EE\u5F55\u90FD\u5DF2\u9690\u85CF\u3002","Cleared the error log.":"\u5DF2\u6E05\u7A7A\u9519\u8BEF\u65E5\u5FD7\u3002","Recent errors":"\u6700\u8FD1\u7684\u9519\u8BEF","Recent errors \xB7 {count}":"\u6700\u8FD1\u7684\u9519\u8BEF \xB7 {count}","No errors recorded.":"\u6CA1\u6709\u9519\u8BEF\u8BB0\u5F55\u3002","Failed model calls and FlyBot problems show here, newest first.":"\u6A21\u578B\u8C03\u7528\u5931\u8D25\u548C FlyBot \u7684\u95EE\u9898\u4F1A\u663E\u793A\u5728\u8FD9\u91CC\uFF0C\u6700\u65B0\u7684\u5728\u524D\u3002","Model call":"\u6A21\u578B\u8C03\u7528","This window":"\u8FD9\u4E2A\u7A97\u53E3","Error log":"\u9519\u8BEF\u65E5\u5FD7","Kept on this computer across restarts, up to about 1 MB.":"\u4FDD\u5B58\u5728\u8FD9\u53F0\u7535\u8111\u4E0A\uFF0C\u91CD\u542F\u540E\u4ECD\u5728\uFF0C\u6700\u591A\u7EA6 1 MB\u3002",Clear:"\u6E05\u7A7A","Settings \u2192 Feedback has the details.":"\u8BE6\u60C5\u89C1 \u8BBE\u7F6E \u2192 \u53CD\u9988\u3002","Could not reach DSH. Check that it is still running.":"\u8FDE\u4E0D\u4E0A DSH\uFF0C\u8BF7\u786E\u8BA4\u5B83\u8FD8\u5728\u8FD0\u884C\u3002","{name} could not answer: {reason}":"{name} \u6CA1\u80FD\u56DE\u7B54\uFF1A{reason}","Unknown error":"\u672A\u77E5\u9519\u8BEF","The API key was rejected":"API \u5BC6\u94A5\u65E0\u6548","The account is out of quota":"\u8D26\u6237\u989D\u5EA6\u5DF2\u7528\u5C3D","Too many requests to the model":"\u6A21\u578B\u8BF7\u6C42\u592A\u9891\u7E41","The conversation is too long for the model":"\u5BF9\u8BDD\u592A\u957F\uFF0C\u8D85\u51FA\u6A21\u578B\u4E0A\u9650","The model service refused the request":"\u6A21\u578B\u670D\u52A1\u62D2\u7EDD\u4E86\u8BF7\u6C42","The model service failed":"\u6A21\u578B\u670D\u52A1\u51FA\u9519","The model took too long to answer":"\u6A21\u578B\u54CD\u5E94\u8D85\u65F6","Could not reach the model service":"\u8FDE\u4E0D\u4E0A\u6A21\u578B\u670D\u52A1","Its group conversation could not open":"\u5B83\u7684\u7FA4\u804A\u4F1A\u8BDD\u6253\u4E0D\u5F00","Add files":"\u6DFB\u52A0\u6587\u4EF6","Reference a chat":"\u5F15\u7528\u5BF9\u8BDD","Chat with {name}":"\u4E0E {name} \u7684\u5BF9\u8BDD","Scheduled task":"\u5B9A\u65F6\u4EFB\u52A1","Send to":"\u53D1\u7ED9","Scheduled task: {text}":"\u5B9A\u65F6\u4EFB\u52A1\uFF1A{text}","Choose the group admin":"\u9009\u62E9\u7FA4\u7BA1\u7406\u5458","Group admin":"\u7FA4\u7BA1\u7406\u5458","Who to chat with\u2026":"\u60F3\u548C\u8C01\u804A\u2026","Add at least one more Bot":"\u518D\u81F3\u5C11\u6DFB\u52A0\u4E00\u4E2A Bot",Members:"\u6210\u5458","Choose Bots":"\u9009\u62E9 Bot","Off for every Bot. Choose which Bots may use it.":"\u6240\u6709 Bot \u90FD\u672A\u5F00\u542F\u3002\u9009\u62E9\u54EA\u4E9B Bot \u53EF\u4EE5\u4F7F\u7528\u3002","On for {count} of {total} Bots":"\u5DF2\u4E3A {total} \u4E2A Bot \u4E2D\u7684 {count} \u4E2A\u5F00\u542F","On for all {total} Bots":"\u5DF2\u4E3A\u5168\u90E8 {total} \u4E2A Bot \u5F00\u542F","On. This Bot can use it on every turn.":"\u5DF2\u5F00\u542F\u3002\u8FD9\u4E2A Bot \u6BCF\u4E00\u8F6E\u90FD\u53EF\u4EE5\u4F7F\u7528\u5B83\u3002","Off. This Bot will not use it.":"\u5DF2\u5173\u95ED\u3002\u8FD9\u4E2A Bot \u4E0D\u4F1A\u4F7F\u7528\u5B83\u3002","On by default for each of your Bots, on every turn: in its own chat, in groups, on schedules and when a friend uses it. A friend's own Bot never gets it.":"\u9ED8\u8BA4\u5BF9\u4F60\u7684\u6BCF\u4E2A Bot \u5F00\u542F\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u53EF\u7528\uFF1A\u5B83\u81EA\u5DF1\u7684\u804A\u5929\u3001\u7FA4\u804A\u3001\u5B9A\u65F6\u4EFB\u52A1\uFF0C\u4EE5\u53CA\u597D\u53CB\u4F7F\u7528\u5B83\u65F6\u3002\u597D\u53CB\u81EA\u5DF1\u7684 Bot \u6C38\u8FDC\u62FF\u4E0D\u5230\u3002","No Bots":"\u6CA1\u6709 Bot","Scheduled tasks":"\u5B9A\u65F6\u4EFB\u52A1","Every day":"\u6BCF\u5929","Every {count} days":"\u6BCF {count} \u5929","Every hour":"\u6BCF\u5C0F\u65F6","Every {count} hours":"\u6BCF {count} \u5C0F\u65F6","Every {count} minutes":"\u6BCF {count} \u5206\u949F","Every {count} seconds":"\u6BCF {count} \u79D2","Once, {time}":"\u4E00\u6B21\uFF0C{time}","Every day at {time}":"\u6BCF\u5929 {time}","Every {days} at {time}":"\u6BCF{days} {time}","Every weekday at {time}":"\u6BCF\u4E2A\u5DE5\u4F5C\u65E5 {time}","Every weekend at {time}":"\u6BCF\u4E2A\u5468\u672B {time}","On the schedule {expression}":"\u6309\u8BA1\u5212 {expression}","Next: {time}":"\u4E0B\u6B21 {time}","Running since {time}":"\u8FD0\u884C\u4E2D\uFF0C{time} \u5F00\u59CB","Last run {time}":"\u4E0A\u6B21\u8FD0\u884C {time}","Last run {time} \xB7 Stopped":"\u4E0A\u6B21\u8FD0\u884C {time} \xB7 \u5DF2\u505C\u6B62","Last run {time} \xB7 Failed: {reason}":"\u4E0A\u6B21\u8FD0\u884C {time} \xB7 \u5931\u8D25\uFF1A{reason}","Run the task once now":"\u73B0\u5728\u8FD0\u884C\u4E00\u6B21\u8FD9\u4E2A\u4EFB\u52A1","DSH could not deliver it":"DSH \u6CA1\u80FD\u9001\u8FBE","Resume the task first":"\u8BF7\u5148\u7EE7\u7EED\u8FD9\u4E2A\u4EFB\u52A1","Copy to\u2026":"\u590D\u5236\u5230\u2026","Copy to":"\u590D\u5236\u5230","Copy to another Bot or group chat":"\u590D\u5236\u5230\u5176\u4ED6 Bot \u6216\u7FA4\u804A","Copy \u201C{name}\u201D to":"\u628A\u300C{name}\u300D\u590D\u5236\u5230","Pick a Bot or group chat":"\u9009\u62E9 Bot \u6216\u7FA4\u804A","Copying\u2026":"\u6B63\u5728\u590D\u5236\u2026",Finished:"\u5DF2\u7ED3\u675F",Resume:"\u7EE7\u7EED","in {name}":"\u5728 {name}","Click again to delete":"\u518D\u70B9\u4E00\u6B21\u5220\u9664","Delete task":"\u5220\u9664\u4EFB\u52A1",Once:"\u4E00\u6B21","Every week":"\u6BCF\u5468",Repeat:"\u91CD\u590D",minutes:"\u5206\u949F",hours:"\u5C0F\u65F6",days:"\u5929",seconds:"\u79D2","Morning briefing":"\u65E9\u95F4\u7B80\u62A5","What to do":"\u8981\u505A\u4EC0\u4E48","Sum up what changed since yesterday and what needs me today.":"\u603B\u7ED3\u4E00\u4E0B\u6628\u5929\u4EE5\u6765\u7684\u53D8\u5316\uFF0C\u4EE5\u53CA\u4ECA\u5929\u9700\u8981\u6211\u5904\u7406\u7684\u4E8B\u3002",When:"\u4EC0\u4E48\u65F6\u5019","Date and time":"\u65E5\u671F\u548C\u65F6\u95F4",Days:"\u661F\u671F",Time:"\u65F6\u95F4",Every:"\u6BCF","How many":"\u6570\u91CF",Unit:"\u5355\u4F4D","Create task":"\u521B\u5EFA\u4EFB\u52A1","Turn on Automation tasks in DSH":"\u5728 DSH \u91CC\u6253\u5F00\u300C\u81EA\u52A8\u5316\u4EFB\u52A1\u300D","Switch on Automation tasks on the Plugins page.":"\u5728\u300C\u63D2\u4EF6\u300D\u9875\u9762\u6253\u5F00\u300C\u81EA\u52A8\u5316\u4EFB\u52A1\u300D\u3002","Open Plugins":"\u6253\u5F00\u300C\u63D2\u4EF6\u300D\u9875\u9762","New task":"\u65B0\u5EFA\u4EFB\u52A1","Quiet hours":"\u5B89\u9759\u65F6\u6BB5","On, {from}\u2013{to}":"\u5F00\u7740\uFF0C{from}\u2013{to}",Off:"\u5173\u7740",Window:"\u65F6\u6BB5","Turn on":"\u6253\u5F00","Turn off":"\u5173\u6389","Save window":"\u4FDD\u5B58\u65F6\u6BB5","Quiet hours start":"\u5B89\u9759\u65F6\u6BB5\u5F00\u59CB","Quiet hours end":"\u5B89\u9759\u65F6\u6BB5\u7ED3\u675F","A new or edited task cannot be due inside the window. It never mutes a task that already exists.":"\u65B0\u5EFA\u6216\u4FEE\u6539\u7684\u4EFB\u52A1\u4E0D\u80FD\u843D\u5728\u65F6\u6BB5\u5185\u3002\u5DF2\u7ECF\u5B58\u5728\u7684\u4EFB\u52A1\u4E0D\u4F1A\u88AB\u9759\u97F3\u3002","A repeat or cron task can still run inside quiet hours, because DSH decides its next run. FlyBot says so here rather than claiming a silence it cannot keep.":"\u300C\u6BCF N \u5206\u949F\u300D\u548C cron \u4EFB\u52A1\u4ECD\u53EF\u80FD\u5728\u5B89\u9759\u65F6\u6BB5\u5185\u8FD0\u884C\uFF1A\u4E0B\u4E00\u6B21\u8FD0\u884C\u65F6\u95F4\u662F DSH \u7B97\u7684\u3002\u8FD9\u91CC\u5982\u5B9E\u8BF4\u660E\uFF0C\u4E0D\u5047\u88C5\u5DF2\u7ECF\u9759\u97F3\u3002","No scheduled tasks yet.":"\u8FD8\u6CA1\u6709\u5B9A\u65F6\u4EFB\u52A1\u3002","No scheduled tasks yet. Add one":"\u8FD8\u6CA1\u6709\u5B9A\u65F6\u4EFB\u52A1\uFF0C\u53BB\u6DFB\u52A0","Automation tasks are off in DSH":"DSH \u7684\u300C\u81EA\u52A8\u5316\u4EFB\u52A1\u300D\u6CA1\u6709\u6253\u5F00","No such Bot":"\u6CA1\u6709\u8FD9\u4E2A Bot","No such Bot or group chat":"\u6CA1\u6709\u8FD9\u4E2A Bot \u6216\u7FA4\u804A","Give the task a name":"\u7ED9\u4EFB\u52A1\u8D77\u4E2A\u540D\u5B57","Say what the Bot should do":"\u5199\u4E0B Bot \u8981\u505A\u4EC0\u4E48","Pick a date and time":"\u9009\u4E00\u4E2A\u65E5\u671F\u548C\u65F6\u95F4","Pick a time in the future":"\u9009\u4E00\u4E2A\u5C06\u6765\u7684\u65F6\u95F4","Pick a time of day":"\u9009\u4E00\u4E2A\u65F6\u95F4","Quiet hours must be on or off":"\u5B89\u9759\u65F6\u6BB5\u8981\u4E48\u5F00\u3001\u8981\u4E48\u5173","Quiet hours need a start and an end time":"\u5B89\u9759\u65F6\u6BB5\u9700\u8981\u5F00\u59CB\u548C\u7ED3\u675F\u65F6\u95F4","Quiet hours need two different times":"\u5B89\u9759\u65F6\u6BB5\u7684\u5F00\u59CB\u548C\u7ED3\u675F\u4E0D\u80FD\u662F\u540C\u4E00\u4E2A\u65F6\u95F4","Pick at least one day":"\u81F3\u5C11\u9009\u4E00\u5929","Repeat every 1 minute to 7 days":"\u91CD\u590D\u95F4\u9694\u8981\u5728 1 \u5206\u949F\u5230 7 \u5929\u4E4B\u95F4","Pick when it runs":"\u9009\u62E9\u4EC0\u4E48\u65F6\u5019\u8FD0\u884C","No such task":"\u6CA1\u6709\u8FD9\u4E2A\u4EFB\u52A1","This task has finished":"\u8FD9\u4E2A\u4EFB\u52A1\u5DF2\u7ECF\u7ED3\u675F","The task changed meanwhile. Try again":"\u4EFB\u52A1\u521A\u521A\u6709\u53D8\u5316\uFF0C\u8BF7\u518D\u8BD5\u4E00\u6B21","The task could not be saved":"\u4EFB\u52A1\u6CA1\u80FD\u4FDD\u5B58","This task cannot be edited here":"\u8FD9\u4E2A\u4EFB\u52A1\u4E0D\u80FD\u5728\u8FD9\u91CC\u7F16\u8F91","This task cannot be paused":"\u8FD9\u4E2A\u4EFB\u52A1\u4E0D\u80FD\u6682\u505C","Its time has passed. Edit the task to pick a new one":"\u65F6\u95F4\u5DF2\u7ECF\u8FC7\u4E86\uFF0C\u8BF7\u7F16\u8F91\u4EFB\u52A1\u9009\u4E00\u4E2A\u65B0\u65F6\u95F4","Working folder":"\u5DE5\u4F5C\u6587\u4EF6\u5939","Working folder: {folder}":"\u5DE5\u4F5C\u6587\u4EF6\u5939\uFF1A{folder}",Folder:"\u6587\u4EF6\u5939",Folders:"\u6587\u4EF6\u5939","Team workspace":"\u56E2\u961F\u5DE5\u4F5C\u533A","Each Bot's own folder":"\u5404 Bot \u81EA\u5DF1\u7684\u6587\u4EF6\u5939","Choose a folder\u2026":"\u9009\u62E9\u6587\u4EF6\u5939\u2026","Browse folders\u2026":"\u6D4F\u89C8\u6587\u4EF6\u5939\u2026","Enter a path\u2026":"\u8F93\u5165\u8DEF\u5F84\u2026","Folder path":"\u6587\u4EF6\u5939\u8DEF\u5F84","Full path of a folder":"\u6587\u4EF6\u5939\u7684\u5B8C\u6574\u8DEF\u5F84","Use this folder":"\u4F7F\u7528\u8FD9\u4E2A\u6587\u4EF6\u5939","Up one level":"\u4E0A\u4E00\u7EA7","No folders inside.":"\u91CC\u9762\u6CA1\u6709\u6587\u4EF6\u5939\u3002","Some folders are not shown.":"\u8FD8\u6709\u4E00\u4E9B\u6587\u4EF6\u5939\u6CA1\u6709\u663E\u793A\u3002","Project settings":"\u9879\u76EE\u8BBE\u7F6E","Project board":"\u9879\u76EE\u770B\u677F","No Project here.":"\u8FD9\u91CC\u6CA1\u6709\u9879\u76EE\u3002",Decisions:"\u51B3\u7B56",Meetings:"\u4F1A\u8BAE","Not decided":"\u672A\u51B3\u5B9A","decision file gone":"\u51B3\u7B56\u6587\u4EF6\u5DF2\u4E0D\u5728",ordinary:"\u666E\u901A",major:"\u91CD\u5927",severe:"\u4E25\u91CD","for {user}":"\u4EE3 {user} \u53D1\u8A00","not-started":"\u672A\u5F00\u59CB","in-progress":"\u8FDB\u884C\u4E2D",done:"\u5DF2\u5B8C\u6210",running:"\u8FD0\u884C\u4E2D",stalled:"\u5DF2\u505C\u6EDE",Projects:"\u9879\u76EE","New Project":"\u65B0\u5EFA\u9879\u76EE","Project name":"\u9879\u76EE\u540D\u79F0","e.g. Website":"\u4F8B\u5982\uFF1A\u5B98\u7F51","Optional. Where this Project's work happens.":"\u53EF\u9009\u3002\u8FD9\u4E2A\u9879\u76EE\u7684\u5DE5\u4F5C\u76EE\u5F55\u3002","Projects \xB7 {count}":"\u9879\u76EE \xB7 {count}",Maintainer:"\u7EF4\u62A4\u8005",Member:"\u6210\u5458","No Projects yet":"\u8FD8\u6CA1\u6709\u9879\u76EE","Reading Projects\u2026":"\u6B63\u5728\u8BFB\u53D6\u9879\u76EE\u2026","My role":"\u6211\u7684\u89D2\u8272","No role to switch here.":"\u8FD9\u91CC\u6CA1\u6709\u53EF\u5207\u6362\u7684\u89D2\u8272\u3002","Role changed.":"\u89D2\u8272\u5DF2\u66F4\u6539\u3002","Role unchanged: {reason}":"\u89D2\u8272\u672A\u66F4\u6539\uFF1A{reason}",refused:"\u88AB\u62D2\u7EDD","No Project yet \u2014 create one.":"\u8FD8\u6CA1\u6709\u9879\u76EE\u2014\u2014\u65B0\u5EFA\u4E00\u4E2A\u3002","Bind a Bot or group":"\u7ED1\u5B9A Bot \u6216\u7FA4\u804A","Bind to {name}":"\u7ED1\u5B9A\u5230 {name}","Open board":"\u6253\u5F00\u770B\u677F",Unbind:"\u89E3\u9664\u7ED1\u5B9A",Bindings:"\u7ED1\u5B9A\u5173\u7CFB","Bind a member to this Project":"\u628A\u6210\u5458\u7ED1\u5B9A\u5230\u8FD9\u4E2A\u9879\u76EE","Member kind":"\u6210\u5458\u7C7B\u578B","Member id":"\u6210\u5458 ID","Member bound.":"\u6210\u5458\u5DF2\u7ED1\u5B9A\u3002",Bind:"\u7ED1\u5B9A","Member unbound.":"\u5DF2\u89E3\u9664\u6210\u5458\u7684\u7ED1\u5B9A\u3002","Project Assistant":"\u9879\u76EE\u52A9\u624B","Project Chief":"\u9879\u76EE Chief","Chief of this Project":"\u672C\u9879\u76EE\u7684 Chief","Pause the daily digest":"\u6682\u505C\u6BCF\u65E5\u6458\u8981","Assistant settings saved.":"\u52A9\u624B\u8BBE\u7F6E\u5DF2\u4FDD\u5B58\u3002","Add to the assistant memory":"\u6DFB\u52A0\u5230\u52A9\u624B\u8BB0\u5FC6","Memory saved.":"\u8BB0\u5FC6\u5DF2\u4FDD\u5B58\u3002","Save memory":"\u4FDD\u5B58\u8BB0\u5FC6","Back to board":"\u8FD4\u56DE\u770B\u677F",Owner:"\u8D1F\u8D23\u4EBA","On the board":"\u5728\u770B\u677F\u4E0A","No member is named yet.":"\u8FD8\u6CA1\u6709\u6307\u5B9A\u6210\u5458\u3002","Member management is not part of this slice; owners and the members their cards name are listed here.":"\u6210\u5458\u7BA1\u7406\u4E0D\u5728\u672C\u6B21\u8303\u56F4\u5185\uFF1B\u8FD9\u91CC\u5217\u51FA\u9879\u76EE\u8D1F\u8D23\u4EBA\u548C\u5361\u7247\u4E0A\u70B9\u540D\u7684\u6210\u5458\u3002","Project team":"\u9879\u76EE\u56E2\u961F","My agent":"\u6211\u7684\u52A9\u624B","Role pool":"\u89D2\u8272\u6C60","Can switch to {roles}":"\u53EF\u5207\u6362\u4E3A {roles}","No one in this pool yet.":"\u89D2\u8272\u6C60\u91CC\u8FD8\u6CA1\u6709\u4EBA\u3002",Dossier:"\u6863\u6848",Persona:"\u4EBA\u8BBE",Skills:"\u6280\u80FD","No memory yet.":"\u8FD8\u6CA1\u6709\u8BB0\u5FC6\u3002","No skills attached.":"\u8FD8\u6CA1\u6709\u9644\u52A0\u6280\u80FD\u3002","Open chat":"\u6253\u5F00\u5BF9\u8BDD","Open my agent":"\u6253\u5F00\u6211\u7684\u9879\u76EE\u52A9\u624B","Open {name}'s dossier":"\u6253\u5F00 {name} \u7684\u6863\u6848","No cards yet.":"\u8FD8\u6CA1\u6709\u5361\u7247\u3002","Open Projects in Settings":"\u5728\u8BBE\u7F6E\u4E2D\u6253\u5F00\u9879\u76EE"},qz=[[/^Model (.+) is not available\. Available: (.*)$/,"\u6A21\u578B $1 \u4E0D\u53EF\u7528\u3002\u53EF\u7528\u7684\uFF1A$2"],[/^A Bot named (.+) already exists$/,"\u5DF2\u7ECF\u6709\u53EB $1 \u7684 Bot \u4E86"],[/^Name (.*) is not available$/,"\u540D\u5B57 $1 \u4E0D\u53EF\u7528"],[/^"(.+)" calls everyone in a group, so it cannot be a Bot name$/,"\u300C$1\u300D\u5728\u7FA4\u91CC\u8868\u793A\u6240\u6709\u4EBA\uFF0C\u4E0D\u80FD\u7528\u4F5C Bot \u540D\u5B57"],[/^Another group chat is already called "(.+)"$/,"\u5DF2\u7ECF\u6709\u53EB\u300C$1\u300D\u7684\u7FA4\u804A\u4E86"],[/^A group chat holds at most (\d+) Bots$/,"\u4E00\u4E2A\u7FA4\u804A\u6700\u591A $1 \u4E2A Bot"],[/^Reply mode must be one of (.+)$/,"\u56DE\u590D\u6A21\u5F0F\u53EA\u80FD\u662F $1"],[/^Only the user, a Main Bot, or the admin of "(.+)" can change it$/,"\u53EA\u6709\u4F60\u3001\u4E3B Bot \u6216\u300C$1\u300D\u7684\u7BA1\u7406\u5458\u53EF\u4EE5\u4FEE\u6539"],[/^A key must have at least (\d+) characters$/,"\u5BC6\u94A5\u81F3\u5C11 $1 \u4E2A\u5B57\u7B26"],[/^A key can have at most (\d+) characters$/,"\u5BC6\u94A5\u6700\u591A $1 \u4E2A\u5B57\u7B26"],[/^Quiet hours are on until (\d\d:\d\d)\. Pick a time outside (\d\d:\d\d)–(\d\d:\d\d)\.$/,"\u5B89\u9759\u65F6\u6BB5\u5230 $1 \u7ED3\u675F\u3002\u8BF7\u9009 $2\u2013$3 \u4E4B\u5916\u7684\u65F6\u95F4\u3002"],[/^(.+) is not saved yet$/,"$1 \u8FD8\u6CA1\u6709\u4FDD\u5B58"],[/^The Bot team in (.+) is open in another dsh \((.+)\)\. This window shows the team but cannot change it; close the other one and reload\.$/,"$1 \u91CC\u7684 Bot \u56E2\u961F\u5DF2\u5728\u53E6\u4E00\u4E2A dsh \u4E2D\u6253\u5F00\uFF08$2\uFF09\u3002\u8FD9\u4E2A\u7A97\u53E3\u53EA\u80FD\u67E5\u770B\uFF0C\u4E0D\u80FD\u4FEE\u6539\uFF1B\u5173\u6389\u53E6\u4E00\u4E2A\u540E\u5237\u65B0\u3002"],[/^The Bot team file (.+) could not be read \((.+)\)\. FlyBot does not change it; fix or move the file and reload\.$/,"$1 \u91CC\u7684 Bot \u56E2\u961F\u6587\u4EF6\u8BFB\u4E0D\u51FA\u6765\uFF08$2\uFF09\u3002FlyBot \u4E0D\u4F1A\u6539\u5B83\uFF1B\u4FEE\u597D\u6216\u79FB\u8D70\u6587\u4EF6\u540E\u5237\u65B0\u3002"],[/^The Bot team file lists (\d+) members; FlyBot runs one owner per team$/,"\u56E2\u961F\u6587\u4EF6\u5217\u51FA\u4E86 $1 \u4E2A\u6210\u5458\uFF1BFlyBot \u6BCF\u4E2A\u56E2\u961F\u53EA\u8FD0\u884C\u4E00\u4F4D\u4E3B\u4EBA"],[/^HTTP (\d+)$/,"\u8BF7\u6C42\u5931\u8D25\uFF08HTTP $1\uFF09"],[/^GitHub answered (\d+)$/,"GitHub \u8FD4\u56DE\u4E86 $1"],[/^Keep the name under (\d+) characters$/,"\u540D\u5B57\u4E0D\u80FD\u8D85\u8FC7 $1 \u4E2A\u5B57"],[/^Give the full path of the folder, not (.+)$/,"\u8BF7\u586B\u5199\u6587\u4EF6\u5939\u7684\u5B8C\u6574\u8DEF\u5F84\uFF0C\u800C\u4E0D\u662F $1"],[/^There is no folder at (.+)$/,"\u627E\u4E0D\u5230\u6587\u4EF6\u5939 $1"],[/^(.+) is a file, not a folder$/,"$1 \u662F\u6587\u4EF6\uFF0C\u4E0D\u662F\u6587\u4EF6\u5939"],[/^(.+) holds DeepSeek Harness data, so Bots cannot work there$/,"$1 \u91CC\u6709 DeepSeek Harness \u7684\u6570\u636E\uFF0CBot \u4E0D\u80FD\u5728\u8FD9\u91CC\u5DE5\u4F5C"],[/^This looks like a key, token, or password[\s\S]*$/,"\u770B\u8D77\u6765\u50CF\u5BC6\u94A5\u3001\u4EE4\u724C\u6216\u5BC6\u7801\uFF0C\u8BB0\u5FC6\u4E0D\u4F1A\u4FDD\u5B58\u8FD9\u7C7B\u5185\u5BB9"],[/^An entry holds at most (\d+) characters; this one has (\d+)\.[\s\S]*$/,"\u4E00\u6761\u8BB0\u5FC6\u6700\u591A $1 \u4E2A\u5B57\u7B26\uFF0C\u8FD9\u6761\u6709 $2 \u4E2A"],[/^[\s\S]*'s MEMORY\.md would have (\d+) of its (\d+) characters\.[\s\S]*$/,"\u4E3B\u8BB0\u5FC6\u4F1A\u8D85\u8FC7 $2 \u4E2A\u5B57\u7B26\u7684\u4E0A\u9650\uFF0C\u8BF7\u5148\u5220\u6389\u4E00\u4E9B"],[/^The topic \[\[(.+?)\]\] in [\s\S]* would have (\d+) of its (\d+) characters\.[\s\S]*$/,"\u4E3B\u9898 $1 \u4F1A\u8D85\u8FC7 $3 \u4E2A\u5B57\u7B26\u7684\u4E0A\u9650"],[/^[\s\S]* already has (\d+) topics, the most it holds\.[\s\S]*$/,"\u4E3B\u9898\u5DF2\u7ECF\u6709 $1 \u4E2A\uFF0C\u4E0D\u80FD\u518D\u52A0\u65B0\u4E3B\u9898"],[/^There is no entry (.+)\.$/,"\u6CA1\u6709\u7B2C $1 \u6761"],[/^No entry in [\s\S]* matches "([\s\S]*)"\.[\s\S]*$/,"\u627E\u4E0D\u5230\u300C$1\u300D\u8FD9\u6761\u8BB0\u5FC6"],[/^"([\s\S]*)" matches (\d+) entries in [\s\S]*$/,"\u300C$1\u300D\u5BF9\u5E94\u4E86 $2 \u6761\u8BB0\u5FC6\uFF0C\u8BF7\u8BF4\u5F97\u66F4\u5177\u4F53"],[/^Memory cannot change now: [\s\S]*$/,"\u73B0\u5728\u4E0D\u80FD\u4FEE\u6539\u8BB0\u5FC6\uFF1A\u53E6\u4E00\u4E2A dsh \u6B63\u5728\u4F7F\u7528\u8FD9\u4E2A Bot \u56E2\u961F"],[/^Only the owner of this Project may change it$/,"\u53EA\u6709\u8FD9\u4E2A\u9879\u76EE\u7684\u4E3B\u4EBA\u53EF\u4EE5\u4FEE\u6539"],[/^A binding needs the member id$/,"\u7ED1\u5B9A\u9700\u8981 member id"],[/^A Project memory entry needs text$/,"\u9879\u76EE\u8BB0\u5FC6\u6761\u76EE\u9700\u8981\u6587\u5B57"],[/^A Project memory entry is at most (\d+) characters$/,"\u9879\u76EE\u8BB0\u5FC6\u6761\u76EE\u6700\u591A $1 \u4E2A\u5B57\u7B26"],[/^Unknown Project (\S+)$/,"\u627E\u4E0D\u5230\u9879\u76EE $1"]],Iz={"Request failed":"\u8BF7\u6C42\u5931\u8D25","Permissions are not available in this DeepSeek Harness":"\u8FD9\u4E2A DeepSeek Harness \u4E0D\u652F\u6301\u6743\u9650\u8BBE\u7F6E","Avatar images must be PNG, JPEG, WebP, or GIF":"\u5934\u50CF\u56FE\u7247\u5FC5\u987B\u662F PNG\u3001JPEG\u3001WebP \u6216 GIF","Avatar image is too large":"\u5934\u50CF\u56FE\u7247\u592A\u5927\u4E86","A Bot needs a name":"Bot \u9700\u8981\u4E00\u4E2A\u540D\u5B57","A Bot name cannot contain @, ` or a line break":"Bot \u540D\u5B57\u91CC\u4E0D\u80FD\u6709 @\u3001` \u6216\u6362\u884C","Unknown Bot":"\u627E\u4E0D\u5230\u8FD9\u4E2A Bot","Unknown conversation":"\u627E\u4E0D\u5230\u8FD9\u4E2A\u5BF9\u8BDD","A group chat needs at least two Bots":"\u7FA4\u804A\u81F3\u5C11\u8981\u4E24\u4E2A Bot","You are not a member of that room":"\u4F60\u4E0D\u662F\u8FD9\u4E2A\u623F\u95F4\u7684\u6210\u5458","Only a room admin can add participants":"\u53EA\u6709\u623F\u95F4\u7BA1\u7406\u5458\u53EF\u4EE5\u6DFB\u52A0\u6210\u5458","Only a room admin can remove participants":"\u53EA\u6709\u623F\u95F4\u7BA1\u7406\u5458\u53EF\u4EE5\u79FB\u9664\u6210\u5458","Specialists stay in their owner's private rooms; a cross-owner room takes each side's Chief":"\u4E13\u5458\u53EA\u5F85\u5728\u5176\u4E3B\u4EBA\u7684\u79C1\u6709\u623F\u95F4\u91CC\uFF1B\u8DE8\u4E3B\u4EBA\u623F\u95F4\u53EA\u63A5\u53D7\u5404\u65B9\u7684 Chief","Only a designated Chief of a room member may join a shared room":"\u53EA\u6709\u623F\u95F4\u6210\u5458\u7684\u6307\u5B9A Chief \u53EF\u4EE5\u52A0\u5165\u5171\u4EAB\u623F\u95F4","Only a Bot granted to you may join a shared room":"\u53EA\u6709\u5DF2\u6388\u6743\u7ED9\u4F60\u7684 Bot \u53EF\u4EE5\u52A0\u5165\u5171\u4EAB\u623F\u95F4","Only a Chief or a Bot published to friends may join a shared room":"\u53EA\u6709\u5DF2\u6388\u6743\u7ED9\u4F60\u7684 Bot \u53EF\u4EE5\u52A0\u5165\u5171\u4EAB\u623F\u95F4","Participant kind must be human or bot":"\u6210\u5458\u7C7B\u578B\u53EA\u80FD\u662F human \u6216 bot","A participant needs an id":"\u6210\u5458\u9700\u8981 id","Room role must be admin or member":"\u623F\u95F4\u89D2\u8272\u53EA\u80FD\u662F admin \u6216 member","That participant is already in the room":"\u8FD9\u4E2A\u6210\u5458\u5DF2\u7ECF\u5728\u623F\u95F4\u91CC","Unknown team member":"\u627E\u4E0D\u5230\u8FD9\u4E2A\u56E2\u961F\u6210\u5458","That participant is not in the room":"\u8FD9\u4E2A\u6210\u5458\u4E0D\u5728\u623F\u95F4\u91CC","Each participant needs a kind (human or bot) and an id":"\u6BCF\u4E2A\u6210\u5458\u90FD\u9700\u8981\u7C7B\u578B\uFF08human \u6216 bot\uFF09\u548C id","The admin must be a member of the group":"\u7BA1\u7406\u5458\u5FC5\u987B\u662F\u7FA4\u6210\u5458","Unknown group chat":"\u627E\u4E0D\u5230\u8FD9\u4E2A\u7FA4\u804A","Hand the admin role to another member instead of leaving the group without one":"\u8BF7\u628A\u7BA1\u7406\u5458\u4EA4\u7ED9\u5176\u4ED6\u6210\u5458\uFF0C\u4E0D\u8981\u8BA9\u7FA4\u804A\u6CA1\u6709\u7BA1\u7406\u5458","Hand the admin role to another member before leaving the group":"\u79BB\u5F00\u7FA4\u804A\u524D\uFF0C\u8BF7\u5148\u628A\u7BA1\u7406\u5458\u4EA4\u7ED9\u5176\u4ED6\u6210\u5458","The team needs at least one Main Bot":"\u56E2\u961F\u81F3\u5C11\u8981\u6709\u4E00\u4E2A\u4E3B Bot","Only a Main Bot can be replaced":"\u53EA\u80FD\u66FF\u6362\u4E3B Bot","A Main Bot cannot be deleted; remove its Main Bot role first":"\u4E3B Bot \u4E0D\u80FD\u5220\u9664\uFF0C\u8BF7\u5148\u53D6\u6D88\u5B83\u7684\u4E3B Bot \u8EAB\u4EFD","Unknown theme":"\u672A\u77E5\u4E3B\u9898","Accent must be a #rrggbb color":"\u5F3A\u8C03\u8272\u5FC5\u987B\u662F #rrggbb \u683C\u5F0F","Type the key first":"\u8BF7\u5148\u8F93\u5165\u5BC6\u94A5","Choose every Bot or a list of Bots":"\u8BF7\u9009\u62E9\u6240\u6709 Bot \u6216\u6307\u5B9A\u7684 Bot","This request is gone":"\u8FD9\u4E2A\u8BF7\u6C42\u5DF2\u7ECF\u4E0D\u5B58\u5728\u4E86","This request was already answered":"\u8FD9\u4E2A\u8BF7\u6C42\u5DF2\u7ECF\u5904\u7406\u8FC7\u4E86","A name uses capitals, digits, and underscores, and starts with a letter":"\u540D\u5B57\u53EA\u80FD\u7528\u5927\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF\uFF0C\u5E76\u4EE5\u5B57\u6BCD\u5F00\u5934","No such key":"\u6CA1\u6709\u8FD9\u4E2A\u5BC6\u94A5","Type a question or a change first":"\u8BF7\u5148\u8F93\u5165\u95EE\u9898\u6216\u8981\u6539\u7684\u5185\u5BB9","No model is available. Add one in Harness settings.":"\u6CA1\u6709\u53EF\u7528\u7684\u6A21\u578B\uFF0C\u8BF7\u5148\u5728 Harness \u8BBE\u7F6E\u91CC\u6DFB\u52A0\u6A21\u578B\u3002","Memory is turned off on this host":"\u8FD9\u53F0\u4E3B\u673A\u5173\u95ED\u4E86\u8BB0\u5FC6\u529F\u80FD","The model wrote nothing":"\u6A21\u578B\u6CA1\u6709\u8F93\u51FA\u5185\u5BB9","Write the entry to save.":"\u8BF7\u5199\u4E0B\u8981\u4FDD\u5B58\u7684\u5185\u5BB9\u3002","This DeepSeek Harness has no folder chooser":"\u8FD9\u4E2A DeepSeek Harness \u6CA1\u6709\u6587\u4EF6\u5939\u9009\u62E9\u7A97\u53E3","This DeepSeek Harness cannot list folders":"\u8FD9\u4E2A DeepSeek Harness \u4E0D\u80FD\u5217\u51FA\u6587\u4EF6\u5939","No FlyBot core update is available":"\u6CA1\u6709\u53EF\u7528\u7684 FlyBot \u6838\u5FC3\u66F4\u65B0","saved by a newer FlyBot; update FlyBot":"\u7531\u66F4\u65B0\u7684 FlyBot \u4FDD\u5B58\uFF1B\u8BF7\u66F4\u65B0 FlyBot"};Object.assign(zl,Iz);var Bz=(e,t)=>t?e.replace(/\{(\w+)\}/g,(n,a)=>a in t?String(t[a]):n):e,Pz=null,kl=null;function T(e,t){return kl?kl(e,t):Bz(e,t)}function ft(e){if(!Cl().startsWith("zh"))return e;if(Object.hasOwn(zl,e))return T(e);for(let[t,n]of qz)if(t.test(e))return e.replace(t,n);return e}function Cl(){let e=Pz?.getLocale?.().active;return typeof e=="string"?e:"en"}var Al=30,Rz=300*1e3,vt=[],l9=new WeakSet,p9=e=>(e!==null&&typeof e=="object"&&l9.add(e),e);function L7(e,t){if(t!==null&&typeof t=="object"){if(l9.has(t))return;l9.add(t)}let n=String(t?.message??t??"error").slice(0,300),a=typeof t?.code=="string"?t.code:void 0,i="".concat(e,": ").concat(n),r=Date.now(),s=vt.at(-1);if(s&&s.text===i&&r-s.time<Rz){s.time=r,s.count=(s.count??1)+1;return}vt.push({time:r,level:"error",text:i,...a?{code:a}:{}}),vt.length>Al&&vt.splice(0,vt.length-Al)}var Dz="api/bot",Gz=new Set(["bot/refused","bot/invalid","bot/read-only","bot/not-found","bot/browser-off"]),yt=async(e,t,n)=>{let a;try{let r={"content-type":"application/json"};try{let s=localStorage.getItem("flybot-member-session");s&&(r["x-flybot-member-session"]=s)}catch{}a=await fetch(Dz,{method:"POST",credentials:"same-origin",headers:r,body:JSON.stringify({endpoint:e,payload:t??null}),signal:n})}catch(r){throw r?.name==="AbortError"?r:(L7(e,Object.assign(new Error("network error: ".concat(r?.message??r)),{code:"NETWORK"})),p9(Object.assign(new Error(T("Could not reach DSH. Check that it is still running.")),{code:"NETWORK",cause:r})))}if(!a.ok){let r=Object.assign(new Error(ft("HTTP ".concat(a.status))),{code:"HTTP_".concat(a.status)});throw L7(e,r),r}let i=await a.json();if(!i.ok){let r=i.error?.code??"bot/error",s=ft(i.error?.message??"Request failed"),c=Object.assign(new Error(r==="bot/internal"?"".concat(s," ").concat(T("Settings \u2192 Feedback has the details.")):s),{code:r,details:i.error?.details});throw Gz.has(r)||(L7(e,Object.assign(new Error(i.error?.message??"Request failed"),{code:r})),p9(c)),c}return i.value};function L2(e,t=""){return String(e??"").replace(/[\u0000-\u001f\u007f-\u009f\u2028\u2029]/g," ").replace(/[[\]"`<>]/g,"").replace(/\s+/g," ").trim().slice(0,60)||t}function Ll(e){return"@".concat(String(e??"").trim().replace(/^@+/,"").toLowerCase())}function _t(e){let t=String(e??"").replace(/^@/,"").split(".");return t.length>=3&&t.at(-1)==="home"?t.at(-2):t.length===2&&t[1]==="home"?t[0]:""}function Oz(e){let t=String(e?.handle??e?.remote?.handle??""),a=Ll(t).replace(/^@/,"").split(".");return a.length===2&&a[1]==="home"}function Sl(e){if(!e||e.hidden)return!1;let t=e.remote;return!t||typeof t.handle!="string"?!0:!(t.gone||t.hidden||Oz(t))}function Zl(e){return e?Sl(e)?!0:e.remote?.gone!==!0?!1:e.hidden!==!0||e.remote.hiddenByGone===!0:!1}var Wz=/^flybot[\s._-]*(?=[0-9a-f]*\d)[0-9a-f]{6,}$/i;function u9(e){return Wz.test(String(e??"").trim())}function n5(e){if(!e)return"";let t=L2(e.ownerName||e.owner||e.homeName||e.ownerHome||e.home||_t(e.handle),"");return u9(t)&&([e.ownerName,e.owner,e.homeName].map(a=>L2(a,"")).find(a=>a&&!u9(a))||L2(_t(e.handle)||_t(e.ownerHome)||_t(e.home),""))||t}var Ml=e=>String(e??"").toLowerCase().replace(/[\s._@-]+/g,"");function El(e,t=""){let n=L2(e?.displayName||e?.name,t),a=n.lastIndexOf(" \xB7 ");if(a<=0)return n;let i=Ml(n.slice(a+3)),r=[e?.ownerName,e?.owner,e?.homeName,_t(e?.handle),n5(e)].map(Ml).filter(Boolean);return u9(n.slice(a+3))||r.includes(i)?n.slice(0,a).trim():n}function Uz(e){return e?e.isChief===!0?!0:/^chief$/i.test(String(e.displayName||e.name||"")):!1}function Fl(e){let t=n5(e)||L2(e?.handle,"Friend"),n=El(e,Uz(e)?"Chief":L2(e?.handle,"Bot"));return"".concat(n," (").concat(t,")")}function Xz(e){return n5(e)||L2(e?.handle,"Friend")}function jl(e){let t=e?.remote&&typeof e.remote=="object"?e.remote:{};return{displayName:t.displayName||t.name||e?.name,ownerName:t.ownerName||t.owner||t.homeName||e?.ownerName||e?.owner||e?.homeName,handle:t.handle??e?.handle,isChief:t.isChief??e?.isChief}}function t5(e){return Fl(jl(e))}var $l=e=>String((e?.remote&&typeof e.remote=="object"?e.remote.handle:e?.handle)??"").replace(/^@+/,"").toLowerCase();function S7(e,t=[]){let n=t5(e),a=$l(e);if(!(t??[]).some(s=>{let c=$l(s);return c!==""&&c!==a&&t5(s)===n}))return n;let r=L2(String(e?.remote?.home??e?.home??"").replace(/^@+/,""),"");return r?"".concat(n," \xB7 ").concat(r):n}function m9(e){return Xz(jl(e))}function d9(e){return"Shared room from ".concat(L2(e,"a friend"))}function h9(e){if(!e)return"";let t=L2(e.name,"");return e.sharedFrom?.ticket&&t?t:e.displayName||(e.sharedFrom?d9(e.sharedFrom.inviterName):e.name)||""}var Hl=["flybot.sidebar.section","flybot.sidebar.structure","flybot.composer.mention","flybot.bot.details","flybot.approvals","flybot.room.overview","flybot.room.members","flybot.session.dock","flybot.new-chat.action","flybot.account.header","flybot.settings.page"];function Nl(){let e=new Map(Hl.map(i=>[i,[]])),t=new Set,n=0,a=()=>{n+=1;for(let i of[...t])i()};return{register(i,r){if(!e.has(i))throw new Error("flybot: unknown slot ".concat(i));if(typeof r?.id!="string")throw new Error("flybot: a slot entry needs an id");let s=e.get(i).filter(o=>o.id!==r.id),c={order:0,...r};return s.push(c),s.sort((o,l)=>o.order-l.order),e.set(i,s),a(),()=>{e.set(i,e.get(i).filter(o=>o!==c)),a()}},entries:i=>e.get(i)??[],subscribe(i){return t.add(i),()=>t.delete(i)},version:()=>n}}function g9(){let e=globalThis;return e.__flybot__??={slots:Nl()},e.__flybot__.slots}function b9(e,t,n){let a=new Map(e.map(o=>[o.id,o])),i=a.get(t);if(i===void 0)return[];let r=o=>{if(o===t)return null;let l;try{l=n(o)}catch{l=void 0}if(typeof l!="string"||l===o||!a.has(l))return t;let p=new Set([o]);for(let u=l;u!==t;){if(p.has(u))return t;p.add(u);let m;try{m=n(u)}catch{m=void 0}u=typeof m=="string"&&a.has(m)&&m!==u?m:t}return l},s=new Map;for(let o of e){if(o.id===t)continue;let l=r(o.id);s.has(l)||s.set(l,[]),s.get(l).push(o)}let c=(o,l)=>({bot:o,depth:l,children:(s.get(o.id)??[]).map(p=>c(p,l+1))});return[c(i,0)]}var k1=U1(g0(),1);var Be={deepseek:["#4D6BFE","#6A84FF"],charcoal:["#141416","#F1F2F4"],graphite:["#2D2D2D","#D6D6DA"],rose:["#EC2F6B","#FF5A7A"],sky:["#0AA8D6","#2EE6E0"],tangerine:["#FF6900","#FF8A2E"],cobalt:["#082DFF","#5C78FF"],black:["#000000","#FFFFFF"],brown:["#A27952","#855C36"],red:["#FF3E51","#E02135"],orange:["#FF781C","#FF6700"],yellow:["#FFAF38","#FF9800"],green:["#00C972","#009957"],cyan:["#1CC3B0","#00A592"],blue:["#2A92FE","#0E74E0"],violet:["#A97EFE","#804EE0"],magenta:["#FF5EB1","#E02A88"],gray:["#959595","#777777"],aurora:["#00B8D4","#2EE6E0"]},f9={aurora:[[0,"#A4FFB0"],[.42,"#00F0E4"],[1,"#2E9EF7"]]};var Tl={kimi:"charcoal",zai:"graphite",minimax:"rose",stepfun:"sky",mimo:"tangerine",qwen:"cobalt"},Z7=e=>typeof e=="string"&&/^#[0-9a-f]{6}$/i.test(e);var Kz=e=>Be[e]?e:Be[Tl[e]]?Tl[e]:"gray",E7=e=>Z7(e)?e:"var(--bt-ink-".concat(Kz(e),")");var Bl={whale:{label:"Whale",body:"M65.3 20.9l5.1 .1 4.8 .9 4.8 1.7 4.3 2.3 3.8 3.1 3 3.4 2.3 3.8 1.6 4.3 .9 4.3 0 4.8-.8 4.8-1.4 4.3-2.3 4.3-3.2 4.3-3.4 3.3-4.3 3.1-7.2 3.5-7.6 1.7-7.2 .1-9.6-1.6-3.3-1-2.9-1.7-8.8-8.9-6-4.7-3.3-.5-7.7 1.1-4.8-.1-4.7-1.2-1.9-1.2-1-1-.5-1.5 .4-1.4 1.1-1.3 1.9-1.3 4.7-1.5 7.7-.6 1.1-.5 .7-1 0-1.4-2.8-7.2-1.2-5.3-.1-4.3 .4-1.4 .9-1.2 1.9-.2 2 1 2.2 2.3 2.2 3.4 3.2 7.6 1.9 9.7 .5-.1 1.1-7.2 1.8-4.8 3.2-5.2 3.9-4.3 4.9-3.9 5.6-2.9 5.8-1.9z",paints:[["M93.3 55.8l1-.3 .1 1.2-2.4 5.3-3.4 4.8-3.8 3.8-4.8 3.4-5.7 2.8-4.8 1.5-4.8 .4 20.1-17.4 5.2-3.7z","#fff",1]],shade:"M88.6 29.5l2.4 2.9 1.9 2.8 2.4 6.3 .5 3.3 .1 5.3-1.5 6.6-1.9 4.3-2 3.3-4.8 5.4-5.7 4.3-7.2 3.3-6.2 1.5-6.7 .1-3.3-.2-9.6-1.8-3.3-1.5-2.4-1.9-8.6-8.9-5.3-3.9-3.3-.1-2.9 .2-3.3 .8-5.8 0-4.3-1-2.9-1.9 .6-.6 3.8-1.3 10.5-2.5 4.3 .9 1.4-.1 2.2-1.7 .5-1.4-.3-1.5-1.2-1.4-2.2-1.4-1.2-1.9-.6-12 .4-3.3 .5-.5 2.9 3.8 2.4 4.8 1.9 5.7 .7 5.8 .7 2.8 2.1 2.4 2.7 5.5 3.8 4.3 2.9 2.2 3.3 1 3.4-.4 6.2-3 7.1-4.5 7.3-5.6 6.6-5.9 5.9-6.5 3.7-5.3 1.7-4.2 .1-2.9z",light:"M55.6 22.8l1.9-.3 1.5 .3 .6 1 .1 .9-2 4.3-3.8 5.3-5.8 6.2-5.4 4.4-4.8 2.3-1.4 0-1.2-.5-.8-1.9 .5-3.3 2.5-4.8 3.3-4.3 2.4-2.4 5.3-3.9zM19.3 28.1l-1.4 2 .3-1.1zM21.7 49.1l.6 .5-.3 .5-.8 0zM35.8 52l1.2-.4 .9 .7 .7 1.6-.4 .9-1.2 .1-2.6-.5zM7.2 52.9l-2.9 2.9 1.2-1.6z",eyes:[[72.5,48.4,9.3,23,-15.8],[85.6,43.4,7,22.9,-21.2]]},star:{label:"Star",body:"M40.1 4.4l1.5-.4 1.9 .1 5.2 1.1 1.9 .9 13.2 14.9 17.1-.8 5.2 1.1 1.8 .9 1.7 1.6 .7 2.4-.4 1.9-9.7 23.6 5.6 23.7 .1 1.9-.6 1.4-2.1 1.8-2.3 .5-19.9-1.8-16.6 15.5-1.9 1-1.9 .3-7-1.5-2.6-2.1-.9-2.4-2.8-24.1-16-13.6-1.1-1.5-.5-1.9 .4-1.9 1.2-1.5 18.9-13.6 7.1-24.6 1-1.7z",shade:"M52 7.7l14.3 16.1 1 2.9 .3 3.1 19.4-1.3 2-1.4 .7-2.3-.4-1 .5 .5 .5 1.9-.4 1.9-9.8 23.2 5.5 23.1 .1 3.4-2 2.4-2.8 .8-19.4-2.1-1.9 1.4-14.7 14-2.4 1.4-3.3 .1-4.7-1-2-1 .6-.2 3.3 .8 2.8 .1 5.1-2.1 .7-.9 .4-2.4-2.6-22.7-.3-.3-1.4 .2-1.4 .7-5.7 .7-5.6-1.2-16.7-13.8 1-.1 5.2 1 3.8-1.1 1-.7 1.9-.4 .4-.4 1.5 .3 .4-.4 1 .2 18-12.8 6.7-23.5 0-1.8-.4-.5-.3-1.9 .4-2.4z",light:"M40.1 4.4l2-.1 4.7 1 .7 1-.5 1.4-2.8 1.5-6.6 23.1 .7 1.2 .6 .3-18.1 12.5-1.8 2.1-3.4 .7-5.2-1.2-.3-.4 .3-.9 1.4-1.4 18.3-12.9 .9-2.3 6.4-22.7 .8-1.4z",eyes:[[53.9,53.4,7.2,18.8,-10],[65.1,49.2,7.2,18.8,-10]]},moon:{label:"Moon",body:"M45.8 4.2l4.7-.2 4.2 .4 10.2 2.4 3.7 1.6 3.6 2.1 3.3 2.5 3 3.1 4.6 6.7 3.4 8.3 1.5 8.8 .1 4.6-.8 7.8-2.6 8.8-3.9 7.7-5.1 6.7-6.1 5.3-4.1 2.6-3.6 1.6-27.2 10.2-2.8 .7-2.6 0-5.7-1.3-2-.8-1.9-1.7-1.1-2.6-6.5-37.7-.2-5.2 .8-7.7 1.3-5.2 3.1-7.8 4.2-6.7 3-3.6 3.9-3.6 6.3-4.2 4.1-1.8z",paints:[["M57.6 9.9l.2-.3 .2 .3 2 4.7 1.9 1.9 2.6 .5 1.5-.7 1.1-1.1 .4 .4-.1 1.6-.7 1.5-2.2 2.5-1.6 .7-2 0-1.6-.8-1.3-1.4-.8-2-.4-2.6 .1-3.1z","#1783FF",1]],shade:"M74.3 13.5l2.1 1.5 .3-.4-.3-.6 2.1 2.1 4.6 6.7 3.1 7.4 1.5 7.6 .1 10.4-.6 4.6-2.5 8.3-4.2 8.2-3.1 4.2-5.7 5.7-6.2 4.2-4.6 2-28 10.3-4.1 0-5.2-1.1-2-.9-.5-.7 .5 .5 1.5 0 3.6 1 2.6-.3 5.7-2.1 2.1-2.1-5.4-31.5-.2-4.1 .4-1.1-.1-2.6 .5-3.6 1.8-7.7 2.8-6.7 1.9-3.1 3.9-5.2 3.2-3.1 2.5-2 5.2-2.9 3.1-1.1 3.1-.8 2.1 0 .5-.4 2.6 .2 1-.3 1.6 .4 1-.5 2.1 .8 1-.8 2.1 1.2z",light:"M38 6.3l1.7-.3 2.5 .2 .6 .4 1.5 0 .5 .5 1.6 .3-3.1 1.3 .4 .7-2.5 1.6-.5 1-2.5 2.1-2.7 2.9-6.2 7.9-1.5 2.7-1 .9-1.2 2.6-1.4 1-1.3 3.7-1.3 .3-6-1.4-1 3.6-.8 0 .9-3.6-.5-1 1.1-3.6 2.7-5.7 4.1-6.2 5.7-5.8 3.1-2.4 3.6-2.2z",eyes:[[51.6,48.5,8.4,22.1,-10],[66.8,42.9,8.4,22.1,-10]]},wave:{label:"Wave",body:"M46.1 4l6.1 .3 9.6 2.1 4.5 1.8 4.1 2.4 3.5 2.8 4.4 4.8 2.6 4 2.1 4.1 2.2 6 4.8 26 .5 5.3-.3 4.1-1.2 3.8-1.5 2.8-2.4 2.5-2.1 1.4-3.1 1-3 .3-8.1-1.5-3.2 5.3-2.1 2.1-2.5 1.5-2.8 1-3 .4-9.1-1.6-2.7 4.2-3.4 3.1-4 1.7-4.6 .1-7-1.5-3.5-1.9-3.4-3.5-2.1-4-1.5-5.6-3.7-20.7-.6-5.6-.1-5 .5-6.1 2.3-9.6 2.3-5.5 2.7-4.9 2.7-3.7 3.2-3.6 4.2-3.6 4.7-2.9 4.4-2 4-1.2z",paints:[["M61.6 48.5l2.2-.3 2 1.1 1.1 2.2 .3 3-.6 3.1-1.5 3.5-2.5 4.1-2.4 2.8-5-2.2-3-2.2-2.3-3-.7-3.5 .6-2.6 1.8-2.1 1.6-.7 1.5 0 1.5 .6 1.5 1.3 2-3.6z","#fff",.4]],shade:"M69.3 13.6l2.6 1.3 .5-.3 .5-1.3 2 1.7 .5 0 2.5 2.7 3.5 5.5 3.6 8.6 1.5 6.6 3.5 19.7 .5 5.5-.4 4.6-2 5-1 1.6-2.6 2.5-3 1.5-2.1 .5-4 0-6.6-1.4-1.4 2.9-1.9 2.5-2.7 2.6-3.1 1.5-2.5 .6-4 .1-7.1-1.5-1.5 2.8-2.6 3-2 1.6-3 1.4-4.5 .6-7.1-1.5-3.6-1.5-3.5-3.1 6.6 1.5 2.8-.5 .5-.5-.3-.5 3.2-2-.4-1 1.4-1.5-.3-1 .7-1.6-.2-2.5-3.4-19.2 .3-.5-.6-5 .5-.5-.1-4.6 .4-.5 .3-4 1-4.1 1.5-4.5 3.8-7.7 5.5-6.9 3.1-2.6 6.5-3.9 7.6-2.2 3.1 0 .5-.4 3 .5 1-.5 2.5 1z",light:"M36.5 6.1l2-.3 .5 .6 4.1 .5 1 .7-3.3 1.5-.3 1.2-3 2-.3 .8-2.8 2.6-3.5 4-3.9 5-2 3.6-1 .5-1.7 4-1.5 .5-1.4 4.6-1.6 .2-.5-.4-5.6-.9-.4-.4 1.4-5.1 1.5-3.5 2.6-5.1 4-5.5 6.6-6.2 4-2.5z",eyes:[[47.5,37.2,8.4,22.1,-10],[61.6,31.9,8.4,22.1,-10]]},squircle:{label:"Squircle",body:"M54.5 4.2l3.9-.2 3.7 .3 11.6 2.7 3.1 1.6 2.8 1.9 2.6 2.7 2.2 3.1 2.4 4.8 1.9 5.8 3.7 19.4 .8 11.1-.4 4.7-1 4.7-1.3 3.5-1.8 3.4-4.8 5.8-6.4 4.7-8 4-14.2 5.3-9.5 2.2-7.4 .1-10.5-2.2-5.3-2.5-4.3-3.7-3.3-4.8-2.7-6.3-2.4-9.5-2.8-17.9-.2-7.8 1.3-7.9 2.2-5.3 2.8-4.2 4.1-4.2 4.3-3.1 6.3-3.4 11.6-4.6 7.9-2.7z",shade:"M80.5 11.6l2.1 2.1 2.1 3.2 3.2 7.3 2.1 8.4 2.7 15.8 .5 7.9-.6 7.4-2 6.3-3.8 6.3-4.2 4.3-2.6 2-6.9 3.8-15.2 6.2-9.5 2.7-6.8 .6-6.2-.7-8.5-2-5.8-3.2-3.2-3.3 .5 .4 1.1-.2 5.8 1.4 2.1-.8 1.4-.7-.3-.5 1.4-1.1-.1-1 .8-.5 0-1.1 1.1-1 .1-2.1 .4-.6-.2-3.6-2.4-17.9-.2-9.5 .8-5.3 1.1-3.6 1.2-2.7 2.2-3.5 2.7-2.8 3.1-2.5 5.8-3.2 17.9-6.9 5.3-1.4 8.4-1.4 1.6-1.1 .5 .1 .9-1.5z",light:"M39.4 8.4l1.2 0-1.6 .7-1-.1 1-.1zM36.8 9.5l1 0 .6 .9 4.2 .6 .7 .6-3.8-.4-.3 .4 1.9 .3 .1 .7-3.2 1.6-6.9 5.8-5.3 6-4.7 6.1-3.8 3.7-.2 .5-1.8 .1-6.8-1.7 .4-3.6 2.1-4.2 2.2-3.2 4.2-4.3 4.2-3 3.1-1.8 5.3-2.5zM35.1 10.5l1.7 0-.5 .4zM36.5 11.1l.3-.5 2.2 .1 .4 .4-.4 .3z",eyes:[[52.6,52.4,8.4,22.1,-10],[67.3,46.9,8.4,22.1,-10]]},zed:{label:"Bull",body:"M77 4.4l1.1-.4 1.1 .2 1.2 1.3 2 9.8 2.2 5.9 .4 2.8-.3 2.1-.8 1.7-4.7 5.1-1.3 1.9-.4 1.7 .1 1.6 1 1.7 4.4 .2 3.8 1.3 2 1.7 .6 1.6-.3 1.7-.7 1.1-3.5 2.7 1.7 6 .4 5.9-.8 6.6-1.9 6-3.4 5.9-4.4 5.3-5.5 4.4-6 3.1-6.5 2-7.1 .7-6.5-.7-6.5-2.1-6-3.4-4.8-4.4-3.5-4.9-3.1-6.7-3.3 1.1-2.7 .3-2-.6-1.1-1.1-.3-2.2 .9-2.7 2.9-3.8 4.6-3.8 1.8-7.1-6.3-1.8-1.6-1.3-1.3-1.8-.6-2.7 0-6.6-1.4-8.7 .2-1.1 1.5-1.4 1.1-.1 1 .5 5.5 7.9 2.2 2.2 2.7 1.4 4.9 .4 .5-.1 6.5-5.1 6.6-3.2 6-1.6 8.7-.7 3.8-.9 2.7-1.5 3.9-3.2 3-3.8 2.4-4.9 2.1-10z",paints:[["M61 36.5l1.9 .7 1.4 2-.7 5.4 .3 .4 2.8-1.2 1.1 0 1 .9 .5 1.6-.5 .8-1 .5-7.1 2.4-1.1-.5-.9-1.6 1.4-5.4-.5-.6-3.3 1.1-1.1-.1-1.6-1-1-1.6 .5-.9z","#fff",1]],shade:"M80.2 5.5l.6 1.6 1.3 8.2 2.5 6 .2 3.7-.1 1.1-1.2 2.2-5.2 5.4-1.1 3.3 .9 2.7 3.8 3.9 1.6 .1 4.4-1.4 1.2 1.2 .1 1.1-.2 1.7-.6 1.1-3.6 2.7 .9 2.2 1.1 5.4 .1 6-1.1 6.5-2.3 6-3.8 6-6 6-4.9 3.3-5.9 2.6-7.1 1.7-7.1 .1-6-1.1-5.9-2.3-4.4-2.7-4.4-4.5 3.8 .4 5.5-1.5 7.6-3.9 6.8-4.7 7.9-6.5 7.1-6.9 5.4-6.5 4.4-6.7 1.8-4.4 .4-3.2-.3-1.1-3.3-3.8-.8-2.8 .8-2.7 6.2-7 .8-2.2-.1-2.7-1.7-4.4-.8-8.2zM14.9 29.9l.1-.5 4 6.5 2.3 2.7-1.4 .1-2-.6-3.6-7.1zM24.3 44.6l1-.3 1.1 .2 3.3 2.9 1.7 .5 .3 1.6-.5 2.2-1 1.6-1.6 1.5-1.6 .7-1.7 .1-3.2-2.2-2.2 0-2.7-.6-2.9-1.6 3.9-1.6 2.2-1.7 2.2-2.3zM21 68.6l.5-.5 1.1 .1 1.1 .5 .8 1 .6 2.7-.1 1.1-.7 1.1-.6 .1-2.2-1.2-2.7 1.1-3.8 .6-2.7-1.2 3.4-1.6z",light:"M77 4.4l.6-.2 .1 .7-1.2 .8-.1-.8zM74.2 15.8l.6 1.1 .1 2.7-.6 2.2-1 1.6-5.5 5-1.7 .7-3.3 .3 .1-.6 2.1-1.2 4.2-3.6 2.7-3.9zM11.7 28.9l.8 0-.1 .5-1.2 .8-.1-.8zM44.3 32.1l3.1 0 .8 1.1 0 1.1-1.9 4.3-3 4.1-1.7-1.1-2.1-.8-4.4-.6-4.4 .1 5.5-4.4zM22 54.4l.6 0-.3 .6 .2 .5 2.3 2.7 .4 1.7-1 .9-4.8 2.3-7.1 7.8 0-1.8 2.1-3.3 6.4-5.4 1.2-4.3z",eyes:[[61.8,69,9.5,22.3,-10.5],[78.4,62.7,6.9,22.2,-11.2]]},hex:{label:"Blossom",body:"M38.8 4.2l2.6-.1 6 1.3 2 1.3 3 3.3 12-4.5 2-.5 6.5 1.1 2.9 1.6 4.9 6 .8 2 .3 2-.2 2.5-1.9 7-1.3 2.2-1.9 1.8 2.9 1.3 1.8 1.7 10.1 12.5 1.5 3 .1 4-1.8 7-.9 2-2.8 2.7-7.1 2.7-5.2 20-.8 2-1.4 1.9-1.5 1.1-6.5 2.6-3 .2-6.5-1.6-2-1.4-4-4.9-16 5.7-2 .1-4.5-1-3-1.2-5.2-6-1.3-3 0-3.5 2-8.5-10.8-13.4-1.4-3-.3-2 .3-2.5 1.7-6.5 1.8-3 2.2-1.8 5.9-2.2 2.1-.4 2.5 .3 .4-.4-.7-2.5 .1-2.5 4.8-18.5 1-2.5 2.9-2.9z",shade:"M49.7 7.7l.2-.4 .5 .4 2 2.3 0 .7 1.6 1.5 1 2 .1 1.5-.3 .5 .6 1.3 17.5-6.5 2.5-1.3 1-1.5 4.5 6 .6 1.5 .3 3-1.9 8-1 2-3 3-.3 1 .4 .5-1.7 3 .1 .5-.5 .5 0 .7 5.5-2.2 1.5-1.5 2 2 8 10 1 1.5 1 2.5-.1 4-1.9 7-1.1 1.9-2.9 2.5-6.8 2.5-4.7 19-1.5 3.5-2.5 2.5-6.5 2.6-4 0-5.5-1.4-2.2-1.7-3.2-4 4.9 .8 2.5-1.4 1.5-2.6 .7-2.3 1.7-6.5-.4-.3-.6 .8-.7 3.5-1.1 1.5 .3 .5-.3 .5-.7-.5-1.4-5.5-.5 1-.2 2-.9 1-.1 1.5-1.1 2-2.7 2.8-1 .4-1 .1-15.5 5.8-3-.1-4.5-1-2-1-2-2-2.2-3 .2-.2 4 .9 2-1.1 1.7-1.6 1.3-3.2 1.7-6.3 1.1-2.5-.3-.3-.5 .2-6.5-.3-.5-.5-2 0-.5-.5-1.7-.1-10.4-13.4 4.1 .7 3.1-1.7 1.3-2 2.5-8.5 .9-1.5 1.7-1.3 6.5-2.7 2-1.5-.3-.5 .3-.5 1.5-1.2 1.5-3 5.6-20.3 1.9-2 6-2.4 1.1-.6zM73.2 31.2l1.5 0-.8 1-34 12.7-1 .1-1.5-.5-2 .8-1.9-2.6 .4-.9 2 .5 1.5 1 .5-.4 1 .5 1-.3 1 .4 3-1.5 1 .1 3-1.6 1 .1 3-1.6 1 .1 3-1.6 2.5-.5 1.5-1 2.5-.5 1.5-1 2.5-.5 1.5-1 2.5-.5 1.5-1 1 0zM61.3 74.6l.1-.2 .4 .2-.4 1.7z",light:"M33.4 6.2l3 .1 1.9 .9-.1 .5-1.8 2.5-3.4 3.5-4.5 17-3.6-.9-1 .4 0-1 4.4-16.5 0-1.5 2.1-3.1zM68.2 6.2l1.2 0zM14.9 37.7l3.5 .9 .4 .6-.3 1-5 5.5-1.1 4.6-2.5-.5-2 .1 0-1.7 1-4.5 1-2.5 2-2.1zM19.4 71.6l4 .7 1.8 .8-1.2 1-1.1 5.1-4.5-.5-.5-.6 1.4-5z",eyes:[[49.8,55.5,6.7,17.7,-10],[61.6,51.1,6.7,17.7,-10]]},gumdrop:{body:"M38.7 4.5l4.4-.5 4.6 .8 4.1 1.9 3.7 3.2 23.2 36.6 2.3 5 1.4 5.1 .7 6.4-.7 6.4-1.8 6.1-3.1 5.7-4.1 5.1-5.2 4.2-5.8 3.1-6 1.8-6.4 .6-6.4-.6-6-1.8-5.9-3.1-5.1-4.2-4.1-5.1-3-5.4-1.9-6.4-.7-6 .5-5.9 9-41.6 2-4.1 2.6-3.2 3.4-2.5z",shade:"M54.9 9.5l1.9 2.3 22.9 36.5 1.8 4.6 .9 3.7 .6 4.1-.1 5.9-1.4 6.4-2.3 5.5-3.7 5.4-4.1 4.2-4.5 3.3-7.3 3.2-6.4 1.2-6.4 0-5.1-.9-5.9-2.1-5.5-3.3-4.6-4.1 .5-.3 4.1 .8 5.5-1 6.4-2.6 7.3-4.5 7.2-5.7 6.5-6.4 5.5-6.9 3.5-5.9-18.1-37 1.1-3.7 .2-2.3z",light:"M37.1 4.9l2.5 0 .8 1.4-.5 2.1-1.8 2.9-3.2 3.2-3.2 2.1-2.3 .7-1.8-.1-.7-.9 .1-1.8 2.4-4.1 2.7-2.8z",eyes:[[52.1,40.3,9.7,22.9,-15.2],[64.8,35.6,6.3,23,-27]]},peanut:{body:"M43.5 4l6.6 .7 5.8 2.2 5.4 3.8 4.1 4.7 2 3.8 1.4 4.3 1.3 11.9 1 4.3 1.6 3.8 5.8 10.5 1.4 3.8 .8 4.3 .1 6.2-1 5.7-2.1 5.5-3.2 4.9-4.1 4.3-4.8 3.4-5.6 2.4-5.7 1.3-6.1 .1-5.8-1.1-5.7-2.2-4.7-3.1-4.3-4.1-3.3-4.8-2.5-5.7-1.2-5.7-.1-6.7 1.7-9 .4-4.3-.5-4.7-2.5-9.6-.6-3.8 .2-5.2 1.2-5.2 1.5-3.4 2.2-3.3 2.5-2.9 2.8-2.3 3.4-2.1 3.4-1.4 3.8-.9z",shade:"M62.7 12.6l2.6 2.8 2.8 5.8 1.1 4.2 1 11.9 1 3.4 2.3 4.7 4.2 6.7 1.9 4.7 .9 3.8 .2 2.9-.1 6.2-.5 3.3-1.9 5.3-3.4 5.7-3.4 3.8-4.2 3.3-5.7 2.9-4.8 1.4-5.7 .6-6.2-.6-3.8-1-5.2-2.3-4.8-3.4-2.9-2.8 3.9 .8 5.2-.7 6.2-2.5 5.7-3.3 6.7-5.1 6.2-5.9 5.1-6.2 3.5-5.7-1.1-2.8-2.4-2.4-3.2-1.7-11.5-4.1-2.7-1.8-1.6-2.4-.2-2.4 .8-2.9 7.8-8 4.9-7.7 1.6-5.2z",light:"M35.9 5.4l3.2-.2 1.3 .7 .5 1-.5 3.3-2.9 4.8-4.1 4.1-4.8 3.3-4.2 1.5-1.5 0-1.4-.6-.7-1.2 .2-2.4 1.9-3.8 2.4-3.3 4.3-3.9z",eyes:[[50.9,31.5,8.7,20.5,-11.9],[64.2,26.5,5.7,20.3,-16.3]]},saucer:{body:"M45 22.7l6.7 .1 6.7 1.9 4.3 2.5 3.5 3.1 2.8 3.5 2.5 4.5 6.8 .9 5.6 1.2 4.5 1.6 3.5 2.1 2.8 2.8 1.3 3.5-.5 3.5-2 3.5-2.6 2.8-3.5 2.8-4.5 2.8-5.1 2.6-12 4.4-13.6 3.1-13.6 1.5-12.6-.3-5.5-.7-5-1.2-4.1-1.6-3.5-2-2.8-3.1-1.1-3 .5-3.5 2-3.6 2.7-3 3.7-2.9 10.3-5.6 .7-5.1 1.5-4.5 2.6-4.5 3.1-3.5 3-2.4 3.5-2 3.5-1.4z",shade:"M66.5 31.3l.3-.2 .6 .7 1.9 2.5 2 4.5 1.6 1.5 .1 1.5-1.7 1.7-3 1.2-3.1 .5-3.1-.3 4-8.1 .7-3.5zM94.9 47.4l1.1 3-.5 3.5-2.1 3.5-4 4.1-5 3.5-6.1 3.1-7 2.9-6.6 2.1-8 2-9.1 1.5-6.5 .6-11.6 0-4.5-.2-8-1.4-4.6-1.5-3.6-2.1 4.1 1.2 5.1 .8 7 .3 6-.2 15.1-1.9 15.6-3.6 14.5-5.1 5.4-2.5 5.3-3.1 4-3 2.3-2.5 1.2-2.1zM7.3 71l.7 .5z",light:"M40.6 23.7l2.8 0 .8 .5 .7 1.5-.8 3.6-2.6 4-3.9 4-4.5 3.2-4.6 1.7-2.5-.4-1-1.4 0-1.6 .9-2.5 2.1-3.5 2.6-3 3-2.6 3.5-2.1zM22.4 47.4l.7 0-.5 .5 0 1.5 .4 .8 2 1.4 3 1.2 9.1 2 15.1 1.1-.2 1.5-2.2 3.6-3 2.5-4.9 2.5-6 2-7.9 1.5-6.5 .5-7.1-.4-4.9-1.1-3-1.5-1.6-1.7-.6-2.3 1.1-3.1 2.9-3.5 4.1-3.5 4.1-2.6z",eyes:[[53.6,45,7.8,18.4,-14.5],[66.2,40.3,5,18.3,-25.1]]},bunny:{body:"M49.3 4.4l1.5-.4 2 1.2 1.6 2.7 1.2 3.4 1.6 8.9 .2 6-.2 6.4 .6 3 2.4 2.5 5.4 3 3.4 2.4 5.1 5.5 2.4 3.9 1.7 4 1.1 4.4 .4 4.5-.5 5.9-1.6 5.5-2.8 5.4-3.6 4.5-4.6 3.8-4.9 2.7-5.5 1.7-5.9 .7-6-.5-5.4-1.7-4.9-2.5-4.7-3.7-3.8-4.5-2.7-4.9-1.8-5.5-.7-5.9 .6-6.5 1.9-5.9 3.1-5.4 4.6-5.5-.4-2-3.4-8.4-1.8-6.9-.6-6.9 .3-3 .6-2 1.3-1.4 2-.1 2.5 1.5 2.1 2.5 4 6.9 2.1 5.5 1.7 5.9 1.5 2.1 1.8-1.6 .7-2-.4-12.4 1-8.9 1.6-4.9z",shade:"M52.7 5.4l2.1 3.5 1.9 7.4 .7 7.9-.5 8.4 .8 3.6-4.4-2.5-2.1-2.6 1.4-17.3zM31.2 15.3l.3-.5 2 2.5 2.9 4.9 2.5 6 1.7 6.4 1.4 2.5 0 .5-1.1 .9-4.5 1.9-2.4 .2-1.2-.6zM71.5 46l3.6 4.4 2.9 6 1.5 6.4 .1 5.5-1.1 6.3-2 5-3.4 5.4-3.5 3.6-4 2.9-6.4 3-4 1-6.9 .5-5.9-1-5.5-2-5.4-3.5-3.6-3.4 2.6 .7 2.5 .1 2.9-.5 4-1.3 8.4-4.6 8.7-6.8 7.4-7.9 5.3-7.9 1.3-3 1-3.5 .2-2.9-.2-2z",light:"M49.3 4.4l.6 0-3.6 6.2 1-3.7zM26 13.3l.5-.4 .2 .4-1.7 2.2 0-.7zM44.8 34.6l.5-.1 1.2 1.1 .8 1 0 .7-.5 .3-4-.5zM45.1 42.5l.8 0-.3 1-2.4 4.5-3.8 4.4-4.1 3.5-3.8 2.4-4 1.6-2.9 .1-1.8-1.1-.4-2.5 1.1-3.5 3.5-5.4 3-3.1 .2 1.6 .8 .8 3 .1 4.4-1.2z",eyes:[[59.2,69.2,8.2,19.3,-12],[72.9,64,5.6,19.1,-15.4]]},kitty:{body:"M62.4 4.2l1.6-.1 1.5 1.2 7.4 21.3 3.7 6.4 6.2 7.4 3.1 5.9 1.5 4.8 .7 5.3-.2 5.4-1.1 5.3-3 7.4-4.4 6.4-5.3 5.4-6.9 4.6-7.5 3.1-8 1.7-8 .2-7.4-1.4-4.3-1.5-3.7-1.8-3.8-2.5-3.1-2.7-2.7-3-2.5-3.7-1.9-3.7-1.4-4.3-.9-5.3 .1-5.8 1.4-7 1.6-4.2 2-3.8 .8-3.2 .2-20.2 1.1-1.4 1.1-.3 1.1 .3 12.2 9.7 5.9-2.5 8-2.1 3.2-1.8 2.3-2.4 8.3-16z",shade:"M64.9 5.8l.1-.3 .7 .3 6.5 19.7 3.1 5.9 2.5 3.2-1.6-.8-2.6-2.4-5.1-8zM79.4 36.7l2.2 2.1 1.6 2.2 3.3 6.9 1.5 6.9-.1 6.4-1.6 7.5-3.1 6.9-3.8 5.3-5.3 5.4-6.4 4.3-7 3.1-6.3 1.6-4.3 .6-5.3 0-7.5-1.1-5.8-2-5.9-3.3-5.9-5.4 2.7 .7 3.2-.1 3.7-.8 5.2-1.9 10.3-5.5 11-7.8 10.7-9.6 7.8-9.1 3-4.6 1.6-3.4 .7-3.2z",light:"M62.4 4.2l.5-.1 0 .6-.8 1.1-4.5 14.4 .2 2.7-.3 1.6-1.1 1-2 .6-6.9-.5 2.6-1.3 3.1-3 8.1-16zM18.7 20.7l1.1-.5 0 .8-1.1 .9-.6-.1zM39.5 27.7l2.6-.3 1.9 .8 .4 1.6-.7 1.8-4.2-1.5-5.4 .2 0-.5zM16 47.4l.3 4.2 1.6 2.2 3 2.1-.6 .5-3.7 .6-1.1-.3-1.1-1.1-.4-1.8 .4-2.7z",eyes:[[59.6,65.1,9.4,22.6,-11.9],[77.5,58.4,7,22.5,-14]]},beacon:{body:"M40 4.1l2.7 0 2.5 .9 2 1.7 1.1 2.1 .5 2-.2 2.1-2.1 4.1-.4 1.6 1.5 7.7 9-3.1 4.1-.2 18.5 4 3.1 1.6 2.4 2.3 1.3 2.1 .9 2.6 5.8 33.4-.4 3.1-1.3 3.1-2 2.5-2.6 1.9-41.7 15.7-4.1 .7-19.6-4-3.5-1.9-2.5-2.5-1.2-2.1-.8-2.6-5.7-32.9 .4-3.1 1-2.7 1.7-2.5 2.4-1.9 28.4-10.9-1.5-9.3-.7-1-3.5-3.3-.9-1.9-.4-2 .5-2.6 1.1-2.1 1.7-1.5z",shade:"M47.1 7.2l.4 0 .8 1.6 .3 2-.2 2.6-2.5 4.7 1.5 8.2 0 2 .5 .6 .1 1.5 .5 1-1.2 .4-1.3-.4-.3-.5-1.9-10.3-4.1-1.5-3.2-2.6 3.1-.9 3.2-2.2 2.5-2.6zM84.2 30.9l1.2 1.1 1.5 3.6 5.7 32.4 0 2.6-1 3.6-1 1.5-3.1 3.2-4.2 1.9-40.6 15-4.2 0-16.4-3.6-3.6-1.4-2.6-2.2 .5 .4 17.5 3.4 3.8-1.2 5-3.4 1-1.3-5.4-30.3 .2-.6 3.1-3.4 40.2-15.1 2-3.6z",light:"M38.5 4.7l2 0-.1 1-.8 1.4-2.6 2.2-1 .4-1.1-.1-.1-.8 .7-1.6 1.5-1.6zM55 23.7l1.1 .1-1.6 .6-.9-.2 .9 0zM52.4 24.7l1 0-3 1.2-.9-.1 2.4-.6zM48.3 26.3l1 0-1.5 .6zM40 29.4l1.1 0-3.1 1.2-.9-.2 2.5-.5zM35.9 30.9l1 0-3 1.2-.9-.1 2.5-.6zM31.8 32.5l1 0-3 1.2-.9-.2 2.4-.5zM40.2 33l.4-.4 1-.1 1.6 .8 3 .7-1.5 .5-4.1 0-.9-1zM27.7 34l1 0-3 1.2-1-.2 2.5-.5zM23.6 35.6l1 0-3 1.1-1-.1 2.5-.5zM19.4 37.1l1 0-2.4 .8-.5 .7 15.4 3.3 .5 .3 .3 1.1-1.1 2.6-3.3 3.3-3.1 1.5-17.5-3.6-.6-1.2 .5-1.6 3.2-3.7 2.1-1.4 2.5-1.1 1 0 .6-.5 1 0z",eyes:[[55.5,65.3,8.4,22.1,-10],[74.2,58.3,8.4,22.1,-10]]},plus:{body:"M44.6 4.3l3.3-.1 11.9 2.5 2.5 1.3 1.3 1.4 .7 1.6 2.1 11.4 4.1-1.2 2.1 0 12.3 2.6 2.8 1.6 1.2 1.5 .7 1.5 3.8 21.6-.5 3.1-1 1.5-1.3 1.3-17 6.6 3.4 20.4-.4 2.5-1.2 2.1-2.3 1.6-19 6.9-2-.2-11.9-2.5-2.5-1.3-1.3-1.4-.7-1.6-2.1-11.4-4.1 1.2-2.1 0-12.3-2.6-2.8-1.6-1.2-1.5-.7-1.5-3.8-21.6 .5-3.1 1-1.5 1.3-1.3 17-6.6-3.4-20.4 .2-2 1.1-2.2 2.6-2z",shade:"M63.2 9.4l.7 .6 .5 1.5 2.1 13.3 .6 .6 0 2.5 .5 .5 .1 2.6 .5 .5 .1 2.1-.8 3.1 19-7.1 1-1.2 1-2.1 1.1 2.1 .4 2.6 3.2 18 0 3.1-1 2-2.2 2.1-15.9 5.8-.8 .8 3.6 19.5-.1 2.6-1.5 2.6-2.2 1.6-16.4 6.1-2.1 .6-2.5 0-12.4-2.7-2.2-1.5 12.5 2.5 2.4-1 2.7-2-3.9-22.1-3.8 3.5-1 .4-2.6 .5-1.5 1-2.6 .5-1.5 1-2.6 .4-1.5 1-4.6 1.5-2.5 0-11.9-2.6-2.7-1.6 12.4 2.3 2.6-.9 2.4-1.9-3.4-20.5 .3-.5 1.7-1.8 18.6-6.9 .3-.6-.7-1-3.8-22.1 2.1-2.1 16.4-6.1 .6-.5z",light:"M28.4 10.5l1.1 .5 10.2 2.1 .5 .4-.1 1.1-1.9 2.3-2.1 1-12.3-2.5-.1-1.3 1-1.6 1.2-1zM11.4 43.3l11.4 2.2 1 .6 0 .8-1.5 2.3-2.6 1.4-12.3-2.6-.2-1.1 .6-1 2.2-2.1z",eyes:[[54.5,53.1,6.1,15.9,-10],[64.5,49.4,6.1,15.9,-10]]},magnet:{body:"M71.9 4.2l1.2-.2 12.1 2.6 .5 .3 .6 1 6.2 35.6 .6 5.8-.1 5.7-.7 5.8-1.5 5.7-2.2 5.8-4.2 7.3-5.5 6.5-6.5 5-7.1 3.4-6.3 1.3-6.3 0-15.2-3.1-5.2-1.8-5.2-3-4.6-4.1-4-5.2-2.9-5.8-2.4-7.8-6.4-36.2 25-9.5 13.1 2.9 .5 .9 6.3 35.3 1.8-3.9 .5-4.7-6.3-36.1 .4-.6z",shade:"M86.2 9.5l.5 1 5.8 33 .6 4.7 0 5.2-.6 5.8-2.1 8.4-3.1 7.3-3.7 5.8-6.3 6.8-5.7 4.1-5.8 2.7-6.8 1.5-6.3 0-15.2-3.1-5.7-2-5.2-3.2-5.9-5.8 .1-.7 11.5 2.5 .3-3.4-1.9-13.6-5.7-32.4 1-.1 18.3-6.9 .9-.9 .4-1 6.1 35 1.6 2.1 .1 .6 4 4.7 3.2 1.1 3.6-.6 3.2-1.9 2.4-2.8 1.9-4.2 .6-3.7-6.4-36.6 19.3-7.1 .8-.8z",light:"M53.6 54.5l.7-.4 12 2.8 .6 1.8-.6 2.1-2.1 2.4-2.6 1-1.5 0-6.3-1.4-1.6-2.6-.2-2.1z",eyes:[[59.6,82.1,6.1,15.9,-10],[72,77.5,6.1,15.9,-10]]},acorn:{body:"M47.6 4l2.1 .6 1.3 1.5 .4 1.5-.4 5.2 .3 .3 8.8-.1 7.7 1 7.3 2.1 5.7 2.9 3.6 2.9 2.6 3 1.8 3.4 .9 3.7 0 4.1-1 3.6-1.7 2.2-3.9 3 2.9 8.3 .9 8.3-.9 8.3-2.7 7.7-4.2 6.8-2.9 3.1-3.2 2.6-6.7 3.8-3.7 1.2-4.1 .8-7.2 0-7.3-1.7-7-3.6-5.9-5.1-4.8-6.3-3.3-7.3-1.8-7.7-.1-8.3-4.5-1.5-2.6-1.7-2.6-4.1-1.1-4.1 0-4.2 1.2-4.1 2.2-4.1 2.8-3.7 5.2-4.6 6.3-3.8 7.2-3.2 8.3-2.3 .9-8.3 1.2-1.4z",shade:"M50.6 6.1l.1-.5 .6 2-.6 5.7 .2 2.1-1.2 .2-1.2-.7 .5-6.8zM85.8 23.7l1.7 2 1.6 3.7 .6 2.6-.1 4.1-.5 2.6-1.1 2.1-2.1 2-2.9 2.1 1.4 3.1 1.6 5.2 .9 8.8-.5 5.7-1.4 5.7-2.2 5.1-2.6 4.2-5.1 5.7-5.2 3.6-4.7 2.2-6.2 1.5-7.7 .1-5.7-1.2-6.8-3-4.6-3.2-4.2-4.2 2.1 1 2.1 .3 3.1-.3 3.1-.9 6.4-3.1 6.5-4.6 6.6-5.8 5.9-6.4 5.6-7.9 4-7.4-2.4 .4-.5 .5-1.1 0-.5 .5-1 0-.5 .5-1.1 0-.5 .5-1 0-.5 .6-1.6-.1-.5 .5-1.6 0-.5 .5-3.6 .5-.5 .5-2.1-.1-.5 .6-2.1-.1-.5 .7-3.1-.2-.5 .5-3.1 0-.5 .7-4.7-.2-.5 .7-15.6-.3 0-.3 8.3-.6 11.4-2.4 11.4-3.8 10.5-4.8 9.2-5.7 6-5.2 2.2-2.6 1.6-2.9 .5-1.7z",light:"M46 4.5l1.1-.1 0 .6-1.5 1.6-1.1 .2-.1-.7zM38.5 15.9l5 0 3.3 1.6 1.6 3.1 .1 3.1-.9 3.1-1.9 3.1-3.2 3.6-4 3.1-3.6 2.1-8.5 3.2-4.1 .7-4.2 .1-3.1-.5-2.6-1.5-1.1-2 .1-2.1 .5-1.5 2.1-3.7 4.1-4.6 3.7-3.1 5.1-3.2 6.3-3z",eyes:[[63.6,63.3,9.6,22.7,-11.9],[79.5,57.3,6.5,22.5,-15.5]]},pebbles:{body:"M47.3 4.5l2.7-.4 2.7 .1 13.7 3 4.3 2.1 3.3 3.4 1.3 2.2 1 2.8 2 12-.5 4.3-3.1 7.7 .2 .5 8.4 1.9 2.7 1 3.3 2.1 2.7 2.8 2.4 4.3 1.4 6.5 .1 4.4-.8 3.8-1.3 2.7-2 2.8-2.4 2.2-2.7 1.6-45.5 17-3.3 .6-3.2-.2-19.2-4.2-4.9-2.8-3.4-3.8-1.9-4.4-1.3-7.7 .2-3.2 .8-2.8 1.3-2.7 2-2.7 3.2-2.8 7.9-3.8 2.5-2.2-.4-1.6-5.4-6.1-1.8-3.8-2.3-12.5 .2-3.3 .7-2.7 2.6-4.4 2.2-2 2.2-1.4z",shade:"M73.2 12.2l.4 0 1.5 2.2 1.2 3.3 1.8 11.4-.2 4.4-3.3 7.6 0 1.1 .6 1.1-1.2 1.3-26.8 10.1-3.2 .5-5.8-.4-15.2-3.3-1.4-.5-3.5-3.8 .2-.3 1.6 .2 10.9 2.2 2.8-.5 4.4-2.2 5-3.8 .1-.6-1.5-8.7 4-4.5 24.2-9.2 2.4-3.8zM90.9 48.8l2.8 3.8 1 2.8 1.2 6 0 4.3-1.1 3.9-1.7 3.2-3.8 3.9-2.7 1.7-42.1 15.8-5.5 1.6-3.8 0-18-3.8-4.9-2.1-3.4-2.9 17.6 3.8 2.7-.2 3.3-1.2 4.3-2.6 4.4-3.6-.4-3.8 4.4-4.9 42.5-16 2.1-3.1 1.1-2.8 .5-3.3z",light:"M45.6 5.1l1.5 0-.4 .2-22.9 8.5 11.4 2.5 .6 .8 0 1.6-1.5 2.8-1.9 2.2-2.8 2.1-3.1 1.2-13.2-2.8-.1-2.2 1.2-2.2 1.7-2.2 2.7-2.2 2.2-1.1 2.2-.5 .5-.5 2.8-.6 1.6-1.1 2.7-.5 1.7-1.1 2.7-.6 1.6-1 2.8-.6 1.6-1.1 2.8-.5zM21.6 53.2l15.8 3.6 1.2 .7-.1 .9-.8 .8-3.1 1.6-1.3 3.8-3 3.8-3.3 2.5-3.3 1.4-18-3.6-.6-1.3 .6-2.2 1.6-2.7 1.7-1.8 3.8-2.8 5.5-2.2z",eyes:[[51.2,34.1,6.9,18.1,-10],[66.4,28.4,6.9,18.1,-10]]},cushion:{body:"M64.2 4.4l3.3-.4 2.8 .2 3.9 .8 2.8 1.1 2.7 1.7 2.4 2.1 1.9 2.4 1.5 2.8 1.2 3.9 7.1 40.6-.1 5-1.4 4.5-1.6 2.9-1.9 2.2-2.2 1.9-2.8 1.7-45.6 17.1-3.4 .9-3.4 .2-4.5-.7-3.4-1.2-3.3-2-2.9-2.7-2.3-3.4-1.5-3.9-7.3-41.7 .1-5 1.4-4.5 1.6-2.9 1.9-2.2 2.2-1.9 2.8-1.7z",shade:"M82.1 10l2.9 4 1.6 4.5 7.3 42.2-.5 5.1-1.1 3.3-1.7 2.9-4.6 4.5-3.3 1.7-46.8 17.4-5.6 .2-4-.7-3.3-1.2-3.4-2.2-1.7-1.8 .6 .4 3.3 .2 4.5-1.2 5.1-2.8 5.3-4.4-6.9-39.4 5-5.7 43.9-16.4 2.3-3.6 1.1-2.8 .5-3.6z",light:"M62.3 4.9l1.8 .1-43.4 16.1 1.1 .4 .8 .9 .1 1.7-1.6 3.4-2.6 3-3.4 2.7-3.4 1.5-3.4-.2-.8-.8-.2-1.2 .4-1.6 1.7-2.9 3.4-3.5 2.3-1.6 3.4-1.6 5.6-1.8 .6-.5 1.1 0 .5-.6 2.3-.5 .6-.6 1.1 0 .6-.6 2.2-.5 .6-.6 1.1 0 .6-.6 2.2-.5 .6-.6 1.1 0 .6-.5 2.2-.6 .6-.6 1.1 0 .6-.5 2.2-.6 .6-.5 1.1-.1 .6-.5 2.2-.6 .6-.5 1.1-.1 .6-.5 2.2-.6 .6-.5 1.1 0 .6-.6 2.2-.6 .6-.5 1.1 0z",eyes:[[51.1,57.2,8.4,22.1,-10],[69.9,50.1,8.4,22.1,-10]]},ring:{body:"M48.1 4.3l8-.1 7.8 1.8 7.3 3.5 6.7 5.4 5.2 6.7 4.1 8.3 2.3 8.9 .7 9-1 9.5-2.5 8.9-4.1 8.3-5.3 7.3-6.6 6.1-7.3 4.5-7.8 2.7-8.4 .9-7.2-.8-7.3-2.5-6.7-4.1-5.6-5.3-4.5-6.5-3.5-7.8-2-8.4-.6-8.4 .9-8.9 2.2-8.4 3.5-7.8 4.9-7.2 5.8-6.1 6.3-4.5 7.1-3.3zM50.5 33.8l2.3-.3 1.7 .4 1.6 1.1 2 2.2 1.3 2.8 .8 2.7 .4 3.4-.1 3.3-1.4 6.2-3 5.6-2.2 2.4-2.2 1.6-2.3 1-2.2 .3-1.7-.4-1.6-1.1-2.8-3.7-1.5-5.2-.1-5.5 1.2-5.6 2.4-5 3.6-4z",shade:"M76.2 14.9l1.1-.5 3.4 3.8 2.8 3.9 2.3 4.5 1.6 3.9 1.6 5.6 1.1 8.3-.4 10.1-1.3 6.1-2.6 7.8-4.6 8.3-4.4 5.6-6.2 5.7-6.1 3.8-7.2 2.9-6.2 1.1-7.8-.1-7.2-1.7-3.9-1.6-4-2.2-5.5-4.5-2.8-3.4 1.7-.6 2.4-2.1 2-2.8 1.2-2.8 1.2-5 1.1-13.4 1.4-7.8 2.5-7.8 3.8-7.3 3.3-4.5 3.4-3.4 3.9-3.1 4.4-2.6 3.9-1.5 4.5-1.1 12.3-.9zM50.5 33.8l.6-.3 2.8 0 1.6 .9 2.7 2.8 3 1.4 3.3 .5 6.1 .2 3.9 .9 1.7 1 1.7 1.6 2.1 4.4 .7 4.5-.3 5-1.2 5-1.9 4.5-2.8 4.2-3.3 3.6-3.9 2.8-3.9 1.7-3.4 .6-3.3-.1-3.4-1.1-2.5-1.7-2.5-3-3.6-7-2.9-3.4-2.1-5-.6-5.6 .6-4.4 1-3.4 2.3-4.4 1.4-2.1 2.3-2.2 2.7-1.7z",light:"M41.1 5.9l.5 .1 .2 .5-.3 .6-12.4 13.3-13.1 18.1-2.3 2.1-1.1 0-.2-1.2 .2-2.8 1.6-5 4.6-8.3 3.9-5.1 4.4-4.4 4.5-3.4 5-2.8zM60.5 53.3l1.2-.3 1.1 .6 1.1 1.3 .8 1.8-.2 3.3-1.5 2.8-2 1.7-2.6 1-7.3 .2 2.2-1.4 2.6-2.6z",eyes:[[56.2,84.6,5.3,13.3,-6.8],[71.7,78.8,5.1,13.4,-6.5]]},gem:{body:"M57 9.3l2.9-.4 14.9 3.5 19.6 14.1 1 1.4 .6 1.6-.5 2.6-27.1 56.5-1.6 1.8-2.1 .7-15.9-3.4-42.9-30.7-1.3-1.6-.6-1.6 .5-2.6 12-25.2 1.1-1.5 1.5-1z",shade:"M75.7 14.6l.1-.4 .6 .2 16.9 12.3 1.1 .7 .5-.2 .5 .7 .6 2.6-.5 1.6-26.4 55.1-1.2 2.1-1.1 1.1-1.6 .6-2.1 0-14.3-3.3-42.8-30.7 1.5-.2 11.6 2.5 2.2-.7 2.8-2.6 11.9-24.9 .6-.8 38.2-14.2z",light:"M19.1 23.6l1.1-.4 .5 .5 11.7 2.2 1 .9-.2 .5-1.8 2.7-11.7 24.4-1.6 .6-13.3-2.8-.5-.5 12.1-25.4 1.2-1.7z",eyes:[[51.4,42.9,6.7,17.7,-10],[66.1,37.4,6.7,17.7,-10]]}},Yz=Object.keys(Bl);var F7=["star","moon","gumdrop","peanut","bunny","kitty","acorn"],w9="gumdrop",Qz=Object.freeze({shape:"whale",color:"deepseek"}),Jz=["black","brown","red","orange","yellow","green","cyan","blue","violet","magenta","gray","aurora"],v9=Jz.filter(e=>!["black","gray","brown"].includes(e)&&!f9[e]),eC=e=>Z7(e)||Object.hasOwn(Be,e);function i5(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t=Math.imul(t^e.charCodeAt(n),16777619);return t>>>0}function x9(e){let t=i5(e)+1831565813|0,n=Math.imul(t^t>>>15,1|t);return n=n+Math.imul(n^n>>>7,61|n)^n,v9[Math.floor(((n^n>>>14)>>>0)/4294967296*v9.length)]}function tC(e){let t=i5(e)|0;return t=Math.imul(t^t>>>16,73244475),t=Math.imul(t^t>>>13,3266489909),F7[((t^t>>>16)>>>0)%F7.length]}var k9=e=>"remote:".concat(String(e??"").trim().replace(/^@+/,"").toLowerCase()),y9=e=>typeof e?.remote?.handle=="string"&&e.remote.handle.trim()!==""?k9(e.remote.handle):e?.id!==void 0?String(e.id):void 0;function j7(e,t){let n=String(e?.handle||e?.remote?.handle||"").trim(),a=n?(t?.bots??[]).find(s=>s.remote?.handle===n):void 0,i={};if(typeof e?.color=="string"&&(i.color=e.color),e?.avatar&&typeof e.avatar=="object"&&(i.avatar=e.avatar),a)return Object.keys(i).length?{...a,...i}:a;let r=e?.label||e?.displayName||e?.name||n||"Bot";return n?{id:k9(n),name:r,remote:{handle:n},...i}:{id:e?.id||"remote",name:r,...i}}var z9=e=>eC(e?.color)?e.color:y9(e)!==void 0?x9(y9(e)):"black";function d4(e){let t=e?.avatar??{},n=y9(e);return{shape:M9(t.shape)?t.shape:n!==void 0?tC(n):w9,image:t.image,...typeof t.emoji=="string"&&t.emoji?{emoji:t.emoji}:{},color:z9(e)}}var _9=e=>{let t=String(e??"");return Object.hasOwn(Be,t)?[t,...Be[t].map(n=>n.toLowerCase())]:[Z7(t)?t.toLowerCase():t]};function wt(e){return e?.image?["image:".concat(String(e.image).slice(0,96))]:e?.emoji?["emoji:".concat(e.emoji)]:_9(e?.color).map(t=>"shape:".concat(xt(e?.shape),":").concat(t))}var nC=[];var Vl=e=>String(e?.name??"").trim().toLowerCase(),aC=(e,t)=>{let n=wt(e);return wt(t).some(a=>n.includes(a))};function C9(e,t=nC){let n=d4(e),a=e?.avatar??{};if(a.image||typeof a.emoji=="string"&&a.emoji)return n;let i=(Array.isArray(t)?t:[]).filter(p=>p&&!p.remote);if(i.length===0)return n;if(M9(a.shape)){let p=Vl(e);if(!(p===""?[]:i.filter(m=>Vl(m)===p)).some(m=>aC(n,d4(m))))return n}let r=new Set(i.flatMap(p=>wt(d4(p)))),s=p=>!wt(p).some(u=>r.has(u));if(s(n))return n;let c=[...F7,...Yz.filter(p=>p!=="whale"&&!F7.includes(p))],o=[n.color,...v9.filter(p=>!_9(p).some(u=>_9(n.color).includes(u)))],l=Math.max(0,c.indexOf(xt(n.shape)));for(let p of o)for(let u=1;u<=c.length;u+=1){let m={...n,color:p,shape:c[(l+u)%c.length]};if(s(m))return m}return n}var A9={};for(let[e,t]of Object.entries(Bl)){let n=[...(t.paints??[]).map(([a,i,r])=>'<path d="'.concat(a,'" fill="').concat(i,'" fill-opacity="').concat(r,'"/>')),'<path d="'.concat(t.shade,'" fill="#000" fill-opacity=".14"/>'),'<path d="'.concat(t.light,'" fill="#fff" fill-opacity=".16"/>')].join("");A9[e]={label:t.label??e[0].toUpperCase()+e.slice(1),size:100,path:t.body,layers:n,eyes:t.eyes}}var M9=e=>typeof e=="string"&&Object.hasOwn(A9,e),xt=e=>M9(e)?e:w9,H7=e=>A9[xt(e)];function Pl(e,t,n=!1){if(e.path)return'<g fill-rule="evenodd"><path d="'.concat(e.path,'" fill="').concat(t,'"/>').concat(n?"":e.layers,"</g>");try{return e.body(t)}catch{return""}}var Rl=([e,t,n,a,i])=>'<g transform="translate('.concat(e," ").concat(t,") rotate(").concat(i,')"><rect class="bt-eye" x="').concat(-n/2,'" y="').concat(-a/2,'" width="').concat(n,'" height="').concat(a,'" rx="').concat(n/2,'"/></g>'),iC=([e,t,n,a,i])=>'<g transform="translate('.concat(e," ").concat(t,") rotate(").concat(i,')"><path class="bt-eye-happy" opacity="0" d="M').concat(-n*.62," ").concat(a*.14,"Q0 ").concat(-a*.42," ").concat(n*.62," ").concat(a*.14,'" fill="none" stroke="#000" stroke-width="').concat(n*.5,'" stroke-linecap="round"/></g>'),Dl=e=>'maskUnits="userSpaceOnUse" x="'.concat(-e,'" y="').concat(-e,'" width="').concat(e*3,'" height="').concat(e*3,'"'),Gl=(e,t)=>'<rect x="'.concat(-e.size,'" y="').concat(-e.size,'" width="').concat(e.size*3,'" height="').concat(e.size*3,'" fill="#fff"/>').concat(t),a5="%MASK%",rC=0,Ol=()=>rC+=1,ql=new Map;function Wl(e,t){let n="".concat(e,"|").concat(t),a=ql.get(n);if(a===void 0){let i=H7(e),r='<g class="bt-gaze"><g class="bt-eyes" fill="#000">'.concat(i.eyes.map(Rl).join("")).concat(i.eyes.map(iC).join(""),"</g></g>"),s=f9[t],c=s?'<linearGradient id="'.concat(a5,'g" gradientUnits="userSpaceOnUse" x1="18" y1="10" x2="78" y2="92">').concat(s.map(([l,p])=>'<stop offset="'.concat(l,'" stop-color="').concat(p,'"/>')).join(""),"</linearGradient>"):"",o='<g mask="url(#'.concat(a5,')">').concat(Pl(i,s?"url(#".concat(a5,"g)"):E7(t)),"</g>");a="<defs>".concat(c,'<mask id="').concat(a5,'" ').concat(Dl(i.size),">").concat(Gl(i,r),'</mask></defs><g class="bt-b">').concat(i.wrap?'<g transform="'.concat(i.wrap,'">').concat(o,"</g>"):o,"</g>"),ql.set(n,a)}return a}var sC=(e,t)=>'url("data:image/svg+xml,'.concat(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 '.concat(t," ").concat(t,'">').concat(e,"</svg>")),'")'),Il=new Map;function cC(e){let t=Il.get(e);if(t===void 0){let n=H7(e),a='<g mask="url(#e)">'.concat(Pl(n,"#000",!0),"</g>");t=sC('<mask id="e" '.concat(Dl(n.size),">").concat(Gl(n,n.eyes.map(Rl).join("").replaceAll('class="bt-eye"','fill="#000"')),"</mask>").concat(n.wrap?'<g transform="'.concat(n.wrap,'">').concat(a,"</g>"):a),n.size),Il.set(e,t)}return t}var $9=cC(w9);function Ul(e){let t=Array.isArray(e)?e:[],n=r=>!!r?.remote;if(!t.some(n))return t;let a=t.filter(r=>!n(r)),i=t.filter(n);return t.length<=4?[...i,...a]:[...a,...i]}var oC=["all","everyone","\u6240\u6709\u4EBA","\u5168\u4F53"],Kl=/^(?:[a-z0-9_\-/\\]|\.[a-z0-9_-])/i,Yl=/[a-z0-9_./]/i,lC=/```[\s\S]*?(?:```|$)|`[^`\n]*`|\[[^\]\n]*\]\([^)\s]*(?:\s+(?:"[^"\n]*"|'[^'\n]*'))?\)/g,Xl=(e,t,n)=>e.slice(t,t+n.length).toLowerCase()===n.toLowerCase()&&!Kl.test(e.slice(t+n.length)),Ql=(e,t,n)=>e.some(a=>t<a.end&&a.start<n);function pC(e,t=[]){let n=[];for(let a of[...t].sort((i,r)=>r.length-i.length)){let i="@".concat(a);for(let r=e.indexOf(i);r!==-1;r=e.indexOf(i,r+1)){let s=r+i.length;if(!(r>0&&Yl.test(e[r-1])||Kl.test(e.slice(s))||Ql(n,r,s))){n.push({start:r,end:s,label:a});break}}}return n.sort((a,i)=>a.start-i.start)}function Jl(e,t,{references:n=[]}={}){let a=String(e??""),i=[...[...a.matchAll(lC)].map(c=>({start:c.index,end:c.index+c[0].length})),...pC(a,n)],r=t.filter(c=>c?.name).sort((c,o)=>o.name.length-c.name.length),s=[];for(let c=a.indexOf("@");c!==-1;c=a.indexOf("@",c+1)){if(c>0&&Yl.test(a[c-1])||Ql(i,c,c+1))continue;let o=r.find(u=>Xl(a,c+1,u.name)),l=o?void 0:oC.find(u=>Xl(a,c+1,u));if(!o&&!l)continue;let p=c+1+(o?o.name.length:l.length);s.push(o?{start:c,end:p,bot:o}:{start:c,end:p,all:!0}),c=p-1}return s}var uC=/<\s*\/?\s*untrusted-(?:message|file)\b[^<>]*>/gi,mC=/\bfrom\s*=\s*(?:"[^"]*"|'[^']*')\s*>/gi,dC=/<[^<>]*\buntrusted-(?:message|file)\b[^<>]*$/i,hC=/(?:\/\s*)?untrusted-(?:message|file)\b\s*>?/gi;function ep(e){let t=String(e??"");for(let n;n!==t;)n=t,t=t.replace(uC,"").replace(mC,"");return t.replace(dC,"").replace(hC,"")}function N7(e){let t=String(e??"");for(let n;n!==t;){n=t;let a=t.indexOf("<untrusted-message");if(a<0)break;let i=t.lastIndexOf("</untrusted-message>"),r=i>a?t.slice(t.indexOf(">",a)+1,i):t;t=ep(r)}return ep(t).replace(/\s+/g," ").trim()}var h4="https://bots.local/";function np(e,t,n){if(!e||!e.includes("@"))return e;let a=[...t??[]].sort((s,c)=>+!!s?.remote-+!!c?.remote),i="",r=0;for(let s of Jl(e,a))!s.bot||s.bot.id===n||(i+="".concat(e.slice(r,s.start),"[").concat(e.slice(s.start+1,s.end).replace(/[[\]\\]/g,"\\$&"),"](").concat(h4).concat(s.bot.id,")"),r=s.end);return r===0?e:i+e.slice(r)}function ap(e){let t=e.target instanceof Element?e.target.closest('a[href^="'.concat(h4,'"]')):null;return t?t.getAttribute("href").slice(h4.length):null}function T7(e,t){let n=String(e??"");if(!n.includes("@")||t===null||typeof t!="object")return n;let a=[...Array.isArray(t.remoteBots)?t.remoteBots:[],...Array.isArray(t.bots)?t.bots:[]],i=new Map;for(let c of a){let o=typeof c?.remote=="object"&&c.remote!==null?c.remote.handle:c?.handle;typeof o=="string"&&typeof c?.name=="string"&&c.name!==""&&i.set(o.replace(/^@+/,"").toLowerCase(),S7(c,a))}let r=[...i.keys()].filter(Boolean).sort((c,o)=>o.length-c.length);if(r.length===0)return n;let s=r.map(c=>c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");return n.replace(new RegExp("(^|[^a-z0-9_./])@(".concat(s,")(?![a-z0-9_\\-/\\\\])(?!\\.[a-z0-9_-])"),"gi"),(c,o,l)=>"".concat(o,"@").concat(i.get(l.toLowerCase())))}var gC=/^\[(Message from|Reply from|Group chat|Group post from|Bot team setup|Handoff · part|Secret card)[^\]]*\]\n?/,r5=e=>e.sessionId??e.id;var ip=e=>e.replace(gC,""),bC=/^[ \t]*[^\n→]{1,60}(?:[ \t]*→[ \t]*[^\n→]{1,60})+[ \t]*\n+/;function L9(e){if(typeof e!="string")return e;let t=e.match(bC)?.[0];return!t||/[.!?。!?::,,]/.test(t.replace(/[^\S\n]*\n+$/,"").replace(/→/g,""))?e:e.slice(t.length).replace(/^\s+/,"")}function rp(e,t,n){if(t===void 0||n===void 0)return;let a=e.remoteTypedTurns?.[t]?.[n];return typeof a=="string"&&a?a:void 0}function sp(e,t,n){return t===void 0||n===void 0?!1:(e.exchangeTurns[t]??[]).includes(n)}var fC=new Set(["request","reply","stopped"]),cp=e=>{let t=e?.source;return t===null||typeof t!="object"||t.kind!=="bot"||t.handoff===!0||t.deferred===!0||t.resumed===!0||t.retried===!0?!1:fC.has(t.role)&&typeof t.senderSessionId=="string"},vC=e=>(e?.blocks??[]).some(t=>t===void 0||t.kind==="tool-call"?!1:t.kind==="text"||t.kind==="reasoning"?String(t.text??"").trim()!=="":!0),yC=e=>(e?.blocks??[]).some(t=>t?.kind==="reasoning"&&String(t.text??"").trim()!==""),op=(e,t)=>t===void 0||(yC(e)?t==="reasoning":t==="response");function lp(e,t,n){let a=t.findIndex(r=>r?.step===n?.step);if(a===-1)return[];let i=-1/0;for(let r=a-1;r>=0;r-=1)if(vC(t[r])){i=t[r].time;break}return(e??[]).filter(r=>cp(r)&&typeof r.time=="number"&&r.time>=i&&r.time<n.time)}function pp(e,t,n){let a=Array.isArray(e?.heldReplies)?e.heldReplies:[],i;for(let r of a)r.sessionId===t&&String(r.turn)===String(n)&&(i=r);return i}var up=(e,t)=>(Array.isArray(e?.heldReplies)?e.heldReplies:[]).filter(n=>n.sessionId===t&&n.status!=="approved"&&n.status!=="auto").map(n=>n.turn);function V7(e,t,n=[],a=[],i=[]){let r=e.projectionsBySession?.[t]?.values?.turnOutline??e.byId[t]?.projectionValues?.turnOutline;if(!Array.isArray(r))return"";for(let s=r.length-1;s>=0;s-=1){let c=r[s];if(n.includes(c.turn))continue;let o=(a.includes(c.turn)?"":c.response)||c.prompt||"";if(o!=="")return _C(o,i)}return""}function _C(e,t=[]){return xC(wC(e),t)}function wC(e){return N7(L9(ip("".concat(e))).replace(/\s+/g," ").trim())}function xC(e,t){let n=[...new Set((Array.isArray(t)?t:[]).map(o=>String(o??"").trim()).filter(o=>o!==""))].sort((o,l)=>l.length-o.length);if(n.length===0||e==="")return e;let a=n.map(o=>o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),i="(?:".concat(a,")(?=[ \\t\u2192,\uFF0C.\u3002:\uFF1A]|$)"),s=new RegExp("^".concat(i,"(?:[ \\t]*\u2192[ \\t]*").concat(i,")+[ \\t]*(?:[,\uFF0C.\u3002:\uFF1A][ \\t]*)?(?:\\d{1,2}:\\d{2}Z?[ \\t]*)?")).exec(e);if(!s)return e;let c=e.slice(s[0].length);return/^[\s,,.。::]*$/.test(c)?"":c}var q7=e=>[...e?.bots??[],...e?.remoteBots??[],...e?.agents??[]].map(t=>t?.name).filter(t=>typeof t=="string"&&t!=="");function S9(e){let t=String(e??""),n=t.match(/^Face-to-face · (.+) · (\d{6})$/);return n?"".concat(n[2]," \xB7 ").concat(n[1]):t.match(/^Face-to-face · (\d{6})$/)?.[1]??t}function mp(e,t){let n=e.model??e.appliedModel;if(!n)return;let a=(t.models??[]).find(s=>s.ref===n),[i,...r]=n.split("/");return{ref:n,name:a?.name??r.join("/"),provider:a?.providerName??i,served:a!==void 0}}function dp(e,t,n){return t?"".concat(e," \xB7 ").concat(t):n?void 0:e}function hp(e,t){return(e??[]).filter(n=>t?.[n.id]?.origin!=="face-to-face")}var Z9=(e,t)=>t!==void 0&&(e.mainBotIds??[]).includes(t);function I7(e,t){if(t==null||t==="")return;let a=(e?.bots??[]).find(i=>i&&!i.remote&&(i.id===t||i.sessionId===t||(i.parts??[]).includes(t)));return a||e?.byId?.[t]}var bp=["idle","thinking","searching","working","sending","orbit","alert","done"],fp=(e,t,n)=>e?bp.includes(t)?t:"working":n?"alert":"idle",E9=e=>/^(message_bot|stop_bot|create_bot|update_bot|create_group|update_group|delete_group|post_to_group)$/.test(e)?"sending":/search|fetch|browse|read|grep|glob|list|recall/i.test(e)?"searching":"working";function zC(e,t){(0,k1.useEffect)(()=>{if(!t)return;let n=0,a=null,i=()=>{n=0;let c=e.current;if(!c||!a)return;let o=c.getBoundingClientRect(),l=p=>Math.max(-1,Math.min(1,p));c.style.setProperty("--bt-gx",l((a.x-o.left-o.width/2)/160).toFixed(2)),c.style.setProperty("--bt-gy",l((a.y-o.top-o.height/2)/160).toFixed(2))},r=c=>{a={x:c.clientX,y:c.clientY},n||(n=requestAnimationFrame(i))},s=()=>{a=null,e.current?.style.setProperty("--bt-gx","0"),e.current?.style.setProperty("--bt-gy","0")};return window.addEventListener("pointermove",r,{passive:!0}),document.documentElement.addEventListener("pointerleave",s),()=>{cancelAnimationFrame(n),window.removeEventListener("pointermove",r),document.documentElement.removeEventListener("pointerleave",s)}},[t])}var gp=["hop","sway","stretch","look"];function O0({bot:e,look:t,size:n=36,state:a="idle",live:i=!1,gaze:r=!1,pokeable:s=!1,label:c}){let o=t??(e?.remote?C9(e):d4(e)),l=(0,k1.useRef)(null),p=(0,k1.useRef)("");p.current===""&&(p.current="bt-mark-".concat(Ol()));let[u,m]=(0,k1.useState)(!1);zC(l,r);let d={ref:l,className:u?"bt-mark bt-mark-poke":"bt-mark","data-shape":o.image?"image":o.emoji?"emoji":xt(o.shape),"data-state":bp.includes(a)?a:"idle","data-live":i?"":void 0,"data-fidget":i?gp[i5("".concat(e?.id??"",":fidget"))%gp.length]:void 0,"data-gaze":r?"":void 0,"data-poke":s?"":void 0,style:{width:n,height:n,...i?{"--bt-delay":"".concat(-(i5(String(e?.id??""))%5e3)/1e3,"s"),"--bt-fidget-delay":"".concat(-(i5("".concat(e?.id??"",":when"))%9e3)/1e3,"s")}:{}},role:c?"img":void 0,"aria-label":c,"aria-hidden":c?void 0:!0,onClick:s?()=>m(!0):void 0,onAnimationEnd:u?w=>{/^bt-poke/.test(w.animationName)&&m(!1)}:void 0};if(o.image)return(0,k1.createElement)("span",d,(0,k1.createElement)("img",{className:"bt-mark-img",src:o.image,alt:"",draggable:!1}));if(o.emoji)return(0,k1.createElement)("span",d,(0,k1.createElement)("span",{className:"bt-mark-emoji",style:{fontSize:Math.max(12,Math.round(n*.62)),lineHeight:1}},o.emoji));let f=H7(o.shape).size;return(0,k1.createElement)("span",d,(0,k1.createElement)("svg",{viewBox:"0 0 ".concat(f," ").concat(f),dangerouslySetInnerHTML:{__html:Wl(o.shape,o.color).replaceAll(a5,p.current)}}))}function CC({size:e=8}){return(0,k1.createElement)("svg",{width:e,height:e,viewBox:"0 0 10 10","aria-hidden":!0},(0,k1.createElement)("path",{d:"M5 .6l1.3 2.8 3 .3-2.3 2 .7 3L5 7.2 2.3 8.7l.7-3L.7 3.7l3-.3z",fill:"#fff"}))}var AC=e=>(Array.from(String(e??"").trim())[0]??"").toUpperCase(),MC=e=>x9("person:".concat(String(e??"").trim().toLowerCase()));function B7({size:e=22,name:t}){let n=AC(t);return n?(0,k1.createElement)("span",{className:"bt-person-mark bt-person-initial","data-initial":n,style:{width:e,height:e,background:E7(MC(t)),fontSize:Math.max(9,Math.round(e*.46))},"aria-hidden":!0},n):(0,k1.createElement)("span",{className:"bt-person-mark",style:{width:e,height:e},"aria-hidden":!0},(0,k1.createElement)("svg",{width:e*.64,height:e*.64,viewBox:"0 0 24 24",fill:"currentColor"},(0,k1.createElement)("circle",{cx:12,cy:8.5,r:4.2}),(0,k1.createElement)("path",{d:"M3.5 21c0-4.7 3.8-7.6 8.5-7.6s8.5 2.9 8.5 7.6z"})))}function $C(){return(0,k1.createElement)("svg",{viewBox:"0 0 20 20","aria-hidden":!0},(0,k1.createElement)("path",{d:"M10 2.4l2.29 5.04 5.51.63-4.09 3.74 1.11 5.42L10 14.5l-4.82 2.73 1.11-5.42L2.2 8.07l5.51-.63z"}))}function LC(e){let t=(0,k1.useRef)(e),[n,a]=(0,k1.useState)(!1);return(0,k1.useEffect)(()=>{let i=t.current;if(t.current=e,e!=="idle"){a(!1);return}if(i==="idle"||i==="alert")return;a(!0);let r=setTimeout(()=>a(!1),1800);return()=>clearTimeout(r)},[e]),n}function s5({bot:e,size:t,state:n="idle",main:a,admin:i,badge:r=!0,live:s=!0,gaze:c=!1,pokeable:o=!1}){let l=LC(n);if(e===void 0)return(0,k1.createElement)(O0,{size:t});let p=r?n==="alert"?"alert":n!=="idle"?"working":i?"admin":a?"main":null:null;return(0,k1.createElement)("span",{className:"bt-mark",style:{width:t,height:t,"--bt-size":"".concat(t,"px")}},(0,k1.createElement)(O0,{bot:e,size:t,state:l?"done":n,live:s,gaze:c,pokeable:o}),p==="working"?(0,k1.createElement)("span",{className:"bt-badge bt-badge-working","aria-label":T("Working"),role:"img"}):null,p==="alert"?(0,k1.createElement)("span",{className:"bt-badge bt-badge-alert","aria-label":T("Waiting for your answer"),role:"img"},"?"):null,p==="admin"?(0,k1.createElement)("span",{className:"bt-badge bt-badge-admin","aria-label":T("Admin"),role:"img"},(0,k1.createElement)(CC)):null,p==="main"?(0,k1.createElement)("span",{className:"bt-badge bt-badge-main","aria-label":T("Main Bot"),role:"img"},(0,k1.createElement)($C)):null)}function SC(e,t){if(e===1)return[[0,0,t]];if(e===2)return[[0,0,t*2/3],[t/3,t/3,t*2/3]];if(e===3){let a=t*5/9,i=t-a;return[[i/2,0,a],[0,i,a],[i,i,a]]}let n=t/2;return[[0,0,n],[n,0,n],[0,n,n],[n,n,n]]}function ZC(e,t){let n=(e?.members??[]).map(r=>I7(t,r)).filter(Boolean),a=new Set(n.map(r=>r.id)),i=[];for(let r of e?.participants??[]){if(r.leftSeq!==void 0||r.kind==="human"||!r.remote&&r.id&&a.has(r.id))continue;let s=!r.remote&&r.id?I7(t,r.id):void 0;if(s){a.has(s.id)||(n.push(s),a.add(s.id));continue}let c=r.handle||(r.remote?r.id:"");if(!c||n.some(l=>l.remote?.handle===c||l.handle===c))continue;let o="h:".concat(c);a.has(o)||(a.add(o),i.push(j7({handle:c,displayName:r.displayName,name:r.displayName,label:r.label,color:r.color,avatar:r.avatar},t)))}return e?.origin!=="face-to-face"&&n.length===1&&i.length===0?[n[0],null]:[...n,...i]}function kt({room:e,roster:t,size:n=36}){let a=Ul(ZC(e,t)),i=(l,p,u)=>l?(0,k1.createElement)(O0,{key:u,bot:l,size:p}):(0,k1.createElement)("span",{key:u,className:"bt-cluster-you",style:{width:p*.92,height:p*.92,margin:p*.04}});if(a.length===0)return(0,k1.createElement)(O0,{size:n});if(n<=20&&a.length>1)return(0,k1.createElement)("span",{className:"bt-stack",style:{"--bt-stack-size":"".concat(n,"px")}},a.slice(0,3).map((l,p)=>i(l,n,l?.id??"you-".concat(p))),a.length>3?(0,k1.createElement)("span",{className:"bt-stack-more"},"+".concat(a.length-3)):null);let r=SC(Math.min(a.length,4),n),s=a.length>4?a.length-3:0,c=n/14,o=r.map(([l,p,u])=>({cx:l+u/2,cy:p+u/2,r:u*.48+c}));return(0,k1.createElement)("span",{className:"bt-cluster",style:{width:n,height:n}},r.map(([l,p,u],m)=>{let d=o.slice(m+1).filter(k=>Math.hypot(k.cx-l-u/2,k.cy-p-u/2)<k.r+u*.46).map(k=>"radial-gradient(circle at ".concat(k.cx-l,"px ").concat(k.cy-p,"px,transparent ").concat(k.r,"px,#000 ").concat(k.r+.5,"px)")),f={left:l,top:p,width:u,height:u};if(d.length>0&&Object.assign(f,{WebkitMaskImage:d.join(","),maskImage:d.join(","),WebkitMaskComposite:"source-in",maskComposite:"intersect"}),s>0&&m===3)return(0,k1.createElement)("span",{key:"more",className:"bt-cluster-more",style:{...f,width:u*.92,height:u*.92,margin:u*.04,fontSize:Math.max(8,Math.round(u*.36))}},"+".concat(s));let w=a[m];return(0,k1.createElement)("span",{key:w?.id??"you",style:f},i(w,u))}))}var vp=new Map,EC=new Set;var FC=()=>{for(let e of[...EC])e()};function zt(e,t){!Array.isArray(t)||t.length===0?vp.delete(e):vp.set(e,new Set(t.map(String))),FC()}var yp=Object.freeze(["pending","pending_approval"]);function Ct(e){return yp.includes(e)}var jC=[/no such remote bot/i,/is not shared with your Bots/i,/is no longer shared with you/i,/has not granted chat\.public/i,/bot_not_shared/i,/bot_not_found/i],F9=e=>{if(!e)return!0;if(e.retry===!1||e.noRetry===!0)return!1;let t="".concat(e.error??""," ").concat(e.code??"");return!jC.some(n=>n.test(t))};var j9=e=>e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB");var C1=U1(g0(),1);var B2=U1(g0(),1);var LR=10*6e4;function _p({size:e=16}){return(0,B2.createElement)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round","aria-hidden":!0},(0,B2.createElement)("rect",{x:7,y:2.5,width:6,height:10,rx:3,fill:"currentColor",stroke:"none"}),(0,B2.createElement)("path",{d:"M4.5 9.5a5.5 5.5 0 0 0 11 0M10 15v2.5"}))}function Mt(){return(0,B2.createElement)("svg",{width:16,height:16,viewBox:"0 0 20 20","aria-hidden":!0},(0,B2.createElement)("path",{d:"M5 5l10 10M15 5L5 15",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round"}))}var I1=e=>function(){return(0,B2.createElement)("svg",{width:15,height:15,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.map((n,a)=>(0,B2.createElement)("path",{key:a,d:n})))};var wp=I1(["M10 3.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z","M7.3 11.6a3.4 3.4 0 0 0 5.4 0","M7.75 8.25h.01M12.25 8.25h.01"]),xp=I1(["M8 5L4 9l4 4","M4 9h7.5a4.5 4.5 0 0 1 4.5 4.5V15"]),kp=I1(["M5 10h.01M10 10h.01M15 10h.01"]),$t=I1(["M4.5 10.5l3.5 3.5 7.5-8"]),IR=I1(["M10 4v12","M5 11l5 5 5-5"]),zp=I1(["M10 3.5v9","M6.5 9.5L10 13l3.5-3.5","M4 16h12"]),NC=I1(["M3.5 13.5a6.5 6.5 0 1 1 13 0","M10 13.5l3-4","M10 13.5h.01"]),TC=I1(["M7 3v4M13 3v4","M5 7h10v2.5a5 5 0 0 1-10 0z","M10 14.5V17"]),BR=I1(["M5.5 5h9A1.5 1.5 0 0 1 16 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 4 14.5v-8A1.5 1.5 0 0 1 5.5 5z","M4 8.75h12","M7.25 3.5v3M12.75 3.5v3"]),PR=I1(["M4.5 4h4v3.5h-4z","M11.5 12.5h4V16h-4z","M6.5 7.5v3.5a2 2 0 0 0 2 2h3"]),VC=I1(["M7 10a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z","M18 10a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z","M7 10h6"]),qC=I1(["M4 7h9.5M10.5 3.5L14 7l-3.5 3.5","M16 13H6.5M9.5 9.5L6 13l3.5 3.5"]),Cp=I1(["M15.5 9.5l-5.6 5.6a3.4 3.4 0 0 1-4.8-4.8l6.1-6.1a2.25 2.25 0 0 1 3.2 3.2l-6 6a1.1 1.1 0 0 1-1.6-1.6l5.5-5.5"]),Ap=I1(["M10 3.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z","M10 6.5V10l2.5 1.5"]),Mp=I1(["M10 7.4a2.6 2.6 0 1 1 0 5.2 2.6 2.6 0 0 1 0-5.2z","M7.85 4.4l.29-1.87a7.7 7.7 0 0 1 3.72 0l.29 1.87a6 6 0 0 1 1.63.94l1.76-.69a7.7 7.7 0 0 1 1.86 3.23l-1.47 1.18a6 6 0 0 1 0 1.88l1.47 1.18a7.7 7.7 0 0 1-1.86 3.23l-1.76-.69a6 6 0 0 1-1.63.94l-.29 1.87a7.7 7.7 0 0 1-3.72 0l-.29-1.87a6 6 0 0 1-1.63-.94l-1.76.69a7.7 7.7 0 0 1-1.86-3.23l1.47-1.18a6 6 0 0 1 0-1.88L2.6 7.88a7.7 7.7 0 0 1 1.86-3.23l1.76.69a6 6 0 0 1 1.63-.94z"]),RR=I1(["M12.5 3l4.5 4.5-3 1.5-2.5 2.5.5 3.5-1.5 1.5L7 13 3.5 16.5","M7 13l-3.5-3.5L5 8l3.5.5L11 6l1.5-3"]);function $p(){return(0,B2.createElement)("svg",{width:12,height:12,viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":!0},(0,B2.createElement)("g",{transform:"rotate(45 10 10)"},(0,B2.createElement)("path",{d:"M8 2.5h4a.9.9 0 0 1 0 1.8h-.4v4.1c0 1.4 1.1 2.6 2.6 3.1l.7.3v1.5H5.1v-1.5l.7-.3c1.5-.5 2.6-1.7 2.6-3.1V4.3H8a.9.9 0 0 1 0-1.8z"}),(0,B2.createElement)("path",{d:"M9.35 13.3h1.3v3.6L10 18l-.65-1.1z"})))}var DR=I1(["M10 3.5a4.5 4.5 0 0 0-4.5 4.5v3L4 13.5h12L14.5 11V8","M8.3 16a1.8 1.8 0 0 0 3.4 0","M15.5 3.2a1.6 1.6 0 1 1 0 3.2 1.6 1.6 0 0 1 0-3.2z"]),GR=I1(["M9 4H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3","M14.3 3.7a1.6 1.6 0 0 1 2.3 2.3L10.5 12l-3 .8.8-3z"]),OR=I1(["M10 3.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z","M10 9.25v4","M10 6.6h.01"]),WR=I1(["M10 3l2.1 4.3 4.7.7-3.4 3.3.8 4.7L10 13.8 5.8 16l.8-4.7L3.2 8l4.7-.7z"]),Lp=I1(["M8.5 7h6A1.5 1.5 0 0 1 16 8.5v6a1.5 1.5 0 0 1-1.5 1.5h-6A1.5 1.5 0 0 1 7 14.5v-6A1.5 1.5 0 0 1 8.5 7z","M4 12.5V5.5A1.5 1.5 0 0 1 5.5 4H13"]),UR=I1(["M3 3l14 14","M8.6 5.2A7.6 7.6 0 0 1 10 5c4.5 0 7 5 7 5a12.6 12.6 0 0 1-2 2.6M12.2 14.5A6.8 6.8 0 0 1 10 15c-4.5 0-7-5-7-5a12.4 12.4 0 0 1 3-3.4","M8.5 8.5a2 2 0 0 0 3 3"]),IC=I1(["M3.5 5.5h13","M8 5.5V4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v1.5","M5 5.5l.7 10A1.5 1.5 0 0 0 7.2 17h5.6a1.5 1.5 0 0 0 1.5-1.5l.7-10","M8.5 9v4.5M11.5 9v4.5"]),XR=I1(["M7 7h8.5v9.5H7z","M4.5 13V3.5H13","M11.25 9.5v4.5M9 11.75h4.5"]),KR=I1(["M8.5 11.5a3.5 3.5 0 0 0 5 0l2.5-2.5a3.5 3.5 0 0 0-5-5l-1 1","M11.5 8.5a3.5 3.5 0 0 0-5 0L4 11a3.5 3.5 0 0 0 5 5l1-1"]),YR=I1(["M4 6.5h5M12.5 6.5H16M4 13.5h4M11.5 13.5H16","M10.5 4.5v4M9.5 11.5v4"]),BC=I1(["M5.5 3.5h8A1.5 1.5 0 0 1 15 5v10a1.5 1.5 0 0 1-1.5 1.5h-8z","M5.5 3.5v13","M8.5 7.5h3.5M8.5 10.5h2.5","M12 3.5v4l1-.8 1 .8"]),QR=I1(["M3 6A1.5 1.5 0 0 1 4.5 4.5h3.2l1.8 2h6A1.5 1.5 0 0 1 17 8v6.5a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 3 14.5z"]),JR=I1(["M4 5.5A1.5 1.5 0 0 1 5.5 4h9A1.5 1.5 0 0 1 16 5.5v6a1.5 1.5 0 0 1-1.5 1.5H9l-3.5 3v-3A1.5 1.5 0 0 1 4 11.5z"]),eD=I1(["M6 7.5h8a2 2 0 0 1 2 2V14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9.5a2 2 0 0 1 2-2z","M10 4.5v3","M10 3.5h.01","M7.75 11.5h.01M12.25 11.5h.01"]),tD=I1(["M4.5 4.5h11a1.5 1.5 0 0 1 1.5 1.5v8a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 3 14V6a1.5 1.5 0 0 1 1.5-1.5z","M6.5 8.25L8.75 10 6.5 11.75","M10.5 12h3"]),PC=I1(["M3.5 5.5A1.5 1.5 0 0 1 5 4h7a1.5 1.5 0 0 1 1.5 1.5V10A1.5 1.5 0 0 1 12 11.5H8L5 14v-2.5A1.5 1.5 0 0 1 3.5 10z","M13.5 7.5H15A1.5 1.5 0 0 1 16.5 9v4.5A1.5 1.5 0 0 1 15 15v2l-2.5-2h-3A1.5 1.5 0 0 1 8 13.5V13"]);var H9=e=>String.fromCharCode(65+e),DC=e=>(e?.options??[]).map(t=>typeof t=="string"?{label:t}:t),Sp=e=>e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLElement&&e.isContentEditable;function GC(e,t,n){let a=(0,C1.useRef)(t);a.current=t,(0,C1.useEffect)(()=>{if(e===0)return;let i=r=>{if(r.defaultPrevented||r.metaKey||r.ctrlKey||r.altKey||r.shiftKey||r.key.length!==1||Sp(r.target)||Sp(document.activeElement)||document.querySelector('[role="dialog"], [aria-modal="true"]')!==null)return;let s=r.key.toUpperCase().charCodeAt(0)-65;s>=0&&s<e?(r.preventDefault(),a.current(s)):s===e&&n.current&&(r.preventDefault(),n.current.focus())};return document.addEventListener("keydown",i,!0),()=>document.removeEventListener("keydown",i,!0)},[e,n])}function OC({question:e,onAnswer:t,onDismiss:n,ownAnswer:a=!1,raised:i=!1}){let[r,s]=(0,C1.useState)(""),[c,o]=(0,C1.useState)([]),l=(0,C1.useRef)(null),p=(0,C1.useId)(),u=DC(e),m=e.multiSelect===!0,d=r.trim(),f=m&&c.length>0||d!=="",w=L=>{if(m){o(C=>C.includes(L)?C.filter(j=>j!==L):[...C,L]);return}t({selected:[L]})},k=()=>{f&&t({selected:m?c:[],...d?{custom:d}:{}})};GC(u.length,L=>w(u[L].label),l);let v=u.length>0?H9(u.length):void 0,b=a?(0,C1.createElement)("textarea",{ref:l,rows:1,value:r,autoComplete:"off",spellCheck:!1,className:"bt-q-input","aria-label":T("Your own answer"),placeholder:T("Type your own answer"),"aria-keyshortcuts":v?.toLowerCase(),onChange:L=>s(L.target.value),onKeyDown:L=>{L.key!=="Enter"||L.shiftKey||L.nativeEvent.isComposing||(L.preventDefault(),k())}}):null,_=u.map((L,C)=>{let j=m&&c.includes(L.label);return(0,C1.createElement)("button",{key:L.label,type:"button",className:"bt-q-opt","aria-pressed":m?j:void 0,"aria-keyshortcuts":H9(C).toLowerCase(),onClick:()=>w(L.label)},(0,C1.createElement)("span",{className:"bt-key","aria-hidden":!0},H9(C)),(0,C1.createElement)("span",{className:"bt-q-body"},(0,C1.createElement)("span",{className:"bt-q-label"},L.label),L.description?(0,C1.createElement)("span",{className:"bt-q-desc"},L.description):null),j&&!i?(0,C1.createElement)("span",{className:"bt-q-check",title:T("Selected")},(0,C1.createElement)($t)):null)});i&&b&&_.push((0,C1.createElement)("label",{key:"own",className:"bt-q-opt bt-q-ownrow","data-filled":d!==""?"":void 0},v?(0,C1.createElement)("span",{className:"bt-key","aria-hidden":!0},v):null,(0,C1.createElement)("span",{className:"bt-q-body"},b)));let z=null;return i&&m?z=(0,C1.createElement)("div",{className:"bt-q-foot"},(0,C1.createElement)("button",{type:"button",className:"bt-q-btn",onClick:n},T("Skip")),(0,C1.createElement)("button",{type:"submit",className:"bt-q-submit",disabled:!f},T("Submit"))):(i||m)&&f&&(z=(0,C1.createElement)("div",{className:"bt-q-foot"},(0,C1.createElement)("button",{type:"submit",className:"bt-q-submit"},T("Submit")))),(0,C1.createElement)("form",{className:i?"bt-q bt-q-raised":"bt-q","aria-labelledby":p,onSubmit:L=>{L.preventDefault(),k()}},(0,C1.createElement)("div",{className:"bt-q-head"},(0,C1.createElement)("div",{className:"bt-q-text"},(0,C1.createElement)("p",{className:"bt-q-title",id:p},e.header?"".concat(e.header," \xB7 "):"",e.question),e.detail?(0,C1.createElement)("div",{className:"bt-q-detail"},e.detail):null,i&&m?(0,C1.createElement)("div",{className:"bt-q-detail"},T("Choose all that apply")):null),(0,C1.createElement)("button",{type:"button",className:"bt-q-x","aria-label":T("Dismiss question"),title:T("Dismiss"),onClick:n},(0,C1.createElement)(Mt))),_.length>0?(0,C1.createElement)("div",{className:"bt-q-list",role:"group"},_):null,b&&!i?(0,C1.createElement)("div",{className:"bt-q-custom"},(0,C1.createElement)("label",{className:"bt-q-field"},b),!m&&f?(0,C1.createElement)("button",{type:"submit",className:"bt-q-submit"},T("Submit")):null):null,z)}function N9({sessionId:e,question:t,actions:n,inline:a}){let[i,r]=(0,C1.useState)(null);if(i===t.id)return null;let s=o=>{r(t.id),n.answerQuestion(e,t.id,{selected:o.selected??[],custom:o.custom??""}).catch(()=>r(null))},c=()=>{r(t.id),n.dismissQuestion(e)};return(0,C1.createElement)("div",{className:a?"bt-q-inline":"bt-q-dock"},(0,C1.createElement)(OC,{key:t.id,question:t,onAnswer:s,onDismiss:c,ownAnswer:t.allowCustom===!0,raised:!a}))}var J1=U1(g0(),1);var c1=U1(g0(),1),el=U1(R3(),1);var E=U1(eh(),1);function th(e){var t,n,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=th(e[t]))&&(a&&(a+=" "),a+=n)}else for(n in e)e[n]&&(a&&(a+=" "),a+=n);return a}function e$(){for(var e,t,n=0,a="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=th(e))&&(a&&(a+=" "),a+=t);return a}var f0=e$;var q=U1(g0(),1);var D3={root:"Ei",content:"Ni",text:"be",decoration:"ze",sweep:"u","dsh-row-shimmer-sweep":"we",highlight:"E","dsh-row-shimmer-highlight":"ke"};var Qe={root:"Ai",header:"N",row:"l",leading:"A",iconIdle:"ve",chevronHover:"ye",title:"Yi"};var _6={button:"je",md:"Ii",sm:"Ri",primary:"Xe",ghost:"Te",outline:"Ke",toolbar:"_e",icon:"Bi"};var ln={wrap:"Fe",icon:"Qi",input:"Ee"};var v7=U1(R3(),1);var N5={keys:"Ui",key:"I",tooltip:"Ae",separator:"Vi",joined:"Ye"};var T5={surface:"R",backing:"B",compact:"Wi",material:"Zi"};var Ae={root:"pa",card:"xa",copyable:"Ge",feedback:"fa",copied:"ca",status:"ma",preview:"K",inline:"ga",media:"ha"};var H1='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>',N1='';var nh={title:"AliExpress",slug:"aliexpress",get svg(){return H1+"AliExpress"+N1+this.path+T1},path:"M5.166 9.096a.022.022 0 0 0-.022.021c0 .396-.32.717-.713.717a.021.021 0 0 0-.021.022c0 .012.01.021.021.021.394 0 .713.322.713.718 0 .012.01.021.022.021.011 0 .021-.01.021-.021A.717.717 0 0 1 5.9 9.88a.021.021 0 0 0 0-.043.716.716 0 0 1-.713-.718v-.002a.021.021 0 0 0-.006-.015.022.022 0 0 0-.015-.006zm-3.693.526L0 13.462h.48l.355-.922h1.782l.354.922h.481L1.98 9.622zm2.264.002v3.838h.491V9.624zm2.375 0v3.838h2.413v-.502H6.613v-1.19H8.19v-.477H6.613v-1.166h1.773v-.502zm-4.386.592l.698 1.82H1.028zm14.689.402a1.466 1.466 0 0 0-.966.366V10.7h-.491v2.763h.49c.002-.477 0-.955.002-1.433a.969.969 0 0 1 .965-.918zm4.18.007c-.053 0-.105.003-.158.01-.315.031-.606.175-.753.377a.689.689 0 0 0-.14.465c.007.2.066.357.233.496.184.147.42.2.657.259.311.067.426.095.546.186.08.07.133.127.136.27 0 .25-.221.372-.42.41a.89.89 0 0 1-.894-.344l-.371.288c.33.382.777.505 1.09.5.54-.01.891-.217 1.029-.534.066-.153.063-.309.063-.38a.677.677 0 0 0-.267-.545c-.228-.177-.583-.228-.636-.242-.437-.078-.658-.196-.697-.341-.043-.192.102-.35.297-.411a.76.76 0 0 1 .857.277l.367-.247a1.166 1.166 0 0 0-.939-.494zm2.387 0c-.052 0-.105.003-.157.01-.316.031-.607.175-.753.377a.689.689 0 0 0-.14.465c.006.2.065.357.233.496.183.147.42.2.657.259.31.067.426.095.545.186.081.07.134.127.136.27.001.25-.221.372-.42.41a.89.89 0 0 1-.894-.344l-.371.288c.33.382.777.505 1.09.5.541-.01.891-.217 1.03-.534.065-.153.062-.309.062-.38a.677.677 0 0 0-.267-.545c-.227-.177-.583-.228-.636-.242-.437-.078-.658-.196-.696-.341-.043-.192.101-.35.297-.411a.76.76 0 0 1 .857.277l.367-.247a1.167 1.167 0 0 0-.94-.494zm-9.84.002a1.461 1.461 0 0 0-1.42 1.117 1.305 1.305 0 0 0-.041.327v2.833h.491v-1.813c.17.18.487.42.96.454a1.447 1.447 0 0 0 1.208-.627 1.457 1.457 0 0 0-1.199-2.292zm4.804 0a1.448 1.448 0 0 0-1.288 2.08c.255.53.811.87 1.412.833a1.452 1.452 0 0 0 1.012-.51l-.363-.291a.968.968 0 0 1-1.106.273 1.01 1.01 0 0 1-.602-.69h2.239l.002-.427a1.295 1.295 0 0 0-1.306-1.268zm-9.2.08l1.062 1.377-1.062 1.378h.581l.779-1.01.778 1.01h.581l-1.062-1.378 1.062-1.378h-.581l-.778 1.01-.779-1.01zm-3.825.015v2.74h.49v-2.74zm8.233.37a.96.96 0 0 1 .95.993.963.963 0 0 1-.863.998.962.962 0 0 1-1.034-.739c-.074-.382 0-.746.307-1.019a.959.959 0 0 1 .64-.233zm4.79.015a.823.823 0 0 1 .819.755h-1.76a.964.964 0 0 1 .94-.755z",source:"https://www.alibabagroup.com/en/ir/reports",hex:"FF4747"};var ah={title:"Apple",slug:"apple",get svg(){return H1+"Apple"+N1+this.path+T1},path:"M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701",source:"https://www.apple.com",hex:"000000"};var ih={title:"Baidu",slug:"baidu",get svg(){return H1+"Baidu"+N1+this.path+T1},path:"M9.154 0C7.71 0 6.54 1.658 6.54 3.707c0 2.051 1.171 3.71 2.615 3.71 1.446 0 2.614-1.659 2.614-3.71C11.768 1.658 10.6 0 9.154 0zm7.025.594C14.86.58 13.347 2.589 13.2 3.927c-.187 1.745.25 3.487 2.179 3.735 1.933.25 3.175-1.806 3.422-3.364.252-1.555-.995-3.364-2.362-3.674a1.218 1.218 0 0 0-.261-.03zM3.582 5.535a2.811 2.811 0 0 0-.156.008c-2.118.19-2.428 3.24-2.428 3.24-.287 1.41.686 4.425 3.297 3.864 2.617-.561 2.262-3.68 2.183-4.362-.125-1.018-1.292-2.773-2.896-2.75zm16.534 1.753c-2.308 0-2.617 2.119-2.617 3.616 0 1.43.121 3.425 2.988 3.362 2.867-.063 2.553-3.238 2.553-3.988 0-.745-.62-2.99-2.924-2.99zm-8.264 2.478c-1.424.014-2.708.925-3.323 1.947-1.118 1.868-2.863 3.05-3.112 3.363-.25.309-3.61 2.116-2.864 5.42.746 3.301 3.365 3.237 3.365 3.237s1.93.19 4.171-.31c2.24-.495 4.17.123 4.17.123s5.233 1.748 6.665-1.616c1.43-3.364-.808-5.109-.808-5.109s-2.99-2.306-4.736-4.798c-1.072-1.665-2.348-2.268-3.528-2.257zm-2.234 3.84l1.542.024v8.197H7.758c-1.47-.291-2.055-1.292-2.13-1.462-.072-.173-.488-.976-.268-2.343.635-2.049 2.447-2.196 2.447-2.196h1.81zm3.964 2.39v3.881c.096.413.612.488.612.488h1.614v-4.343h1.689v5.782h-3.915c-1.517-.39-1.59-1.465-1.59-1.465v-4.317zm-5.458 1.147c-.66.197-.978.708-1.05.928-.076.22-.247.78-.1 1.269.294 1.095 1.248 1.144 1.248 1.144h1.37v-3.34z",source:"https://www.baidu.com",hex:"2932E1"};var rh={title:"Bilibili",slug:"bilibili",get svg(){return H1+"Bilibili"+N1+this.path+T1},path:"M17.813 4.653h.854c1.51.054 2.769.578 3.773 1.574 1.004.995 1.524 2.249 1.56 3.76v7.36c-.036 1.51-.556 2.769-1.56 3.773s-2.262 1.524-3.773 1.56H5.333c-1.51-.036-2.769-.556-3.773-1.56S.036 18.858 0 17.347v-7.36c.036-1.511.556-2.765 1.56-3.76 1.004-.996 2.262-1.52 3.773-1.574h.774l-1.174-1.12a1.234 1.234 0 0 1-.373-.906c0-.356.124-.658.373-.907l.027-.027c.267-.249.573-.373.92-.373.347 0 .653.124.92.373L9.653 4.44c.071.071.134.142.187.213h4.267a.836.836 0 0 1 .16-.213l2.853-2.747c.267-.249.573-.373.92-.373.347 0 .662.151.929.4.267.249.391.551.391.907 0 .355-.124.657-.373.906zM5.333 7.24c-.746.018-1.373.276-1.88.773-.506.498-.769 1.13-.786 1.894v7.52c.017.764.28 1.395.786 1.893.507.498 1.134.756 1.88.773h13.334c.746-.017 1.373-.275 1.88-.773.506-.498.769-1.129.786-1.893v-7.52c-.017-.765-.28-1.396-.786-1.894-.507-.497-1.134-.755-1.88-.773zM8 11.107c.373 0 .684.124.933.373.25.249.383.569.4.96v1.173c-.017.391-.15.711-.4.96-.249.25-.56.374-.933.374s-.684-.125-.933-.374c-.25-.249-.383-.569-.4-.96V12.44c0-.373.129-.689.386-.947.258-.257.574-.386.947-.386zm8 0c.373 0 .684.124.933.373.25.249.383.569.4.96v1.173c-.017.391-.15.711-.4.96-.249.25-.56.374-.933.374s-.684-.125-.933-.374c-.25-.249-.383-.569-.4-.96V12.44c.017-.391.15-.711.4-.96.249-.249.56-.373.933-.373Z",source:"https://www.bilibili.com",hex:"00A1D6"};var sh={title:"CSDN",slug:"csdn",get svg(){return H1+"CSDN"+N1+this.path+T1},path:"M4.693 13.638c-.497.568-1.363.63-1.712.63-.648 0-1.144-.164-1.474-.488-.313-.307-.478-.76-.489-1.346-.025-1.358.744-2.762 2.074-2.762.635 0 1.124.455 1.311.644a.337.337 0 0 0 .282.099.38.38 0 0 0 .241-.159c.068-.087.135-.237.138-.401s-.057-.344-.243-.49a2.642 2.642 0 0 0-1.668-.591c-.819 0-1.627.376-2.218 1.033-.621.691-.953 1.63-.935 2.646.015.815.282 1.5.773 1.982.528.518 1.3.791 2.235.791 1.097 0 1.776-.325 2.154-.597a.584.584 0 0 0 .24-.456.702.702 0 0 0-.208-.497c-.23-.248-.448-.101-.503-.037ZM9.663 11.488a7.471 7.471 0 0 0-.698-.248c-.157-.048-.309-.091-.45-.131-.922-.26-1.027-.5-1.017-.68.022-.363.515-.853 1.352-.792.607.045 1.015.509 1.205.781.149.214.371.135.434.095a.602.602 0 0 0 .309-.514.626.626 0 0 0-.209-.488 2.654 2.654 0 0 0-3.347-.273c-.456.323-.744.772-.77 1.202-.064 1.061 1.015 1.366 1.803 1.588.214.061.429.127.667.202 1.14.357 1.173.717 1.092 1.267-.082.556-.696.834-1.685.761-1.029-.076-1.464-.61-1.612-.901-.05-.098-.205-.248-.413-.156-.514.229-.473.731-.26.993.339.416 1.15 1.035 2.667 1.035 1.734 0 2.255-.875 2.378-1.64.092-.572-.022-1.028-.348-1.396-.236-.267-.592-.495-1.101-.706ZM16.44 9.323c-.598-.431-1.393-.61-2.36-.532-.712.058-1.274.243-1.335.263l-.006.002a.437.437 0 0 0-.297.379l-.47 5.201a.337.337 0 0 0 .247.35l.072.02.066.018.086.021a7.914 7.914 0 0 0 1.64.183c.972 0 1.765-.23 2.36-.684.764-.583 1.141-1.5 1.118-2.725-.021-1.135-.398-1.974-1.121-2.495Zm-.662 4.461c-.836.639-2.09.562-2.677.481a.128.128 0 0 1-.109-.137l.397-4.248a.113.113 0 0 1 .086-.1c.999-.241 1.777-.168 2.312.218.189.137.348.331.471.568.176.339.277.765.286 1.234.017.916-.24 1.583-.765 1.984ZM23.967 10.41a1.92 1.92 0 0 0-.432-.919c-.399-.465-1.029-.689-1.848-.689-.734 0-1.372.228-1.947.799.007-.086.019-.159.018-.223s-.017-.116-.066-.163c-.048-.045-.077-.067-.127-.077-.05-.01-.122-.008-.256-.006a.587.587 0 0 0-.589.54s-.325 3.874-.428 5.165a.308.308 0 0 0 .073.228.36.36 0 0 0 .26.131h.387a.224.224 0 0 0 .226-.205l.273-2.929.014-.147a1.902 1.902 0 0 1 .082-.412c.014-.045.03-.092.047-.14.245-.694.803-1.72 1.971-1.694.84.018 1.449.455 1.385 1.114-.101 1.034-.266 3.1-.358 4.14-.019.209.182.273.252.273h.304a.442.442 0 0 0 .444-.404s.185-2.127.294-3.352l.048-.532a1.959 1.959 0 0 0-.026-.5Z",source:"https://www.csdn.net/company/index.html",hex:"FC5531"};var ch={title:"DuckDuckGo",slug:"duckduckgo",get svg(){return H1+"DuckDuckGo"+N1+this.path+T1},path:"M12 0C5.37 0 0 5.37 0 12s5.37 12 12 12 12-5.37 12-12S18.63 0 12 0zm0 .984C18.083.984 23.016 5.916 23.016 12S18.084 23.016 12 23.016.984 18.084.984 12C.984 5.917 5.916.984 12 .984zm0 .938C6.434 1.922 1.922 6.434 1.922 12c0 4.437 2.867 8.205 6.85 9.55-.237-.82-.776-2.753-1.6-6.052-1.184-4.741-2.064-8.606 2.379-9.813.047-.011.064-.064.03-.093-.514-.467-1.382-.548-2.233-.38a.06.06 0 0 1-.07-.058c0-.011 0-.023.011-.035.205-.286.572-.507.822-.64a1.843 1.843 0 0 0-.607-.335c-.059-.022-.059-.12-.006-.144.006-.006.012-.012.024-.012 1.749-.233 3.586.292 4.49 1.448.011.011.023.017.035.023 2.968.635 3.509 4.837 3.328 5.998a9.607 9.607 0 0 0 2.346-.576c.746-.286 1.008-.222 1.101-.053.1.193-.018.513-.28.81-.496.567-1.393 1.01-2.974 1.137-.546.044-1.029.024-1.445.006-.789-.035-1.339-.059-1.633.39-.192.298-.041.998 1.487 1.22 1.09.157 2.078.047 2.798-.034.643-.07 1.073-.118 1.172.069.21.402-.996 1.207-3.066 1.224-.158 0-.315-.006-.467-.011-1.283-.065-2.227-.414-2.816-.735a.094.094 0 0 1-.035-.017c-.105-.059-.31.045-.188.267.07.134.444.478 1.004.776-.058.466.087 1.184.338 2l.088-.016c.041-.009.087-.019.134-.025.507-.082.775.012.926.175.717-.536 1.913-1.294 2.03-1.154.583.694.66 2.332.53 2.99-.004.012-.017.024-.04.035-.274.117-1.783-.296-1.783-.511-.059-1.075-.26-1.173-.493-1.225h-.156c.006.006.012.018.018.03l.052.12c.093.257.24 1.063.13 1.26-.112.199-.835.297-1.284.303-.443.006-.543-.158-.637-.408-.07-.204-.103-.675-.103-.95a.857.857 0 0 1 .012-.216c-.134.058-.333.193-.397.281-.017.262-.017.682.123 1.149.07.221-1.518 1.164-1.74.99-.227-.181-.634-1.952-.459-2.67-.187.017-.338.075-.42.191-.367.508.093 2.933.582 3.248.257.169 1.54-.553 2.176-1.095.105.145.305.158.553.158.326-.012.782-.06 1.103-.158.192.45.423.972.613 1.388 4.47-1.032 7.803-5.037 7.803-9.82 0-5.566-4.512-10.078-10.078-10.078zm1.791 5.646c-.42 0-.678.146-.795.332-.023.047.047.094.094.07.14-.075.357-.161.701-.156.328.006.516.09.67.159l.023.01c.041.017.088-.03.059-.065-.134-.18-.332-.35-.752-.35zm-5.078.198a1.24 1.24 0 0 0-.522.082c-.454.169-.67.526-.67.76 0 .051.112.057.141.011.081-.123.21-.31.617-.478.408-.17.73-.146.951-.094.047.012.083-.041.041-.07a.989.989 0 0 0-.558-.211zm5.434 1.423a.651.651 0 0 0-.655.647.652.652 0 0 0 1.307 0 .646.646 0 0 0-.652-.647zm.283.262h.008a.17.17 0 0 1 .17.17c0 .093-.077.17-.17.17a.17.17 0 0 1-.17-.17c0-.09.072-.165.162-.17zm-5.358.076a.752.752 0 0 0-.758.758c0 .42.338.758.758.758s.758-.337.758-.758a.756.756 0 0 0-.758-.758zm.328.303h.01c.112 0 .2.089.2.2 0 .11-.088.197-.2.197a.195.195 0 0 1-.197-.198c0-.107.082-.194.187-.199z",source:"https://github.com/duckduckgo/duckduckgo-privacy-extension/blob/5c6ac8d6a07421adbfb97ee2ff855dd7655f8d71/shared/img/logo-small-grayscale.svg",hex:"DE5833",guidelines:"https://duckduckgo.com/press#press-materials"};var oh={title:"eBay",slug:"ebay",get svg(){return H1+"eBay"+N1+this.path+T1},path:"M6.056 12.132v-4.92h1.2v3.026c.59-.703 1.402-.906 2.202-.906 1.34 0 2.828.904 2.828 2.855 0 .233-.015.457-.06.668.24-.953 1.274-1.305 2.896-1.344.51-.018 1.095-.018 1.56-.018v-.135c0-.885-.556-1.244-1.53-1.244-.72 0-1.245.3-1.305.81h-1.275c.136-1.29 1.5-1.62 2.686-1.62 1.064 0 1.995.27 2.415 1.02l-.436-.84h1.41l2.055 4.125 2.055-4.126H24l-3.72 7.305h-1.346l1.07-2.04-2.33-4.38c.13.255.2.555.2.93v2.46c0 .346.01.69.04 1.005H16.8a6.543 6.543 0 01-.046-.765c-.603.734-1.32.96-2.32.96-1.48 0-2.272-.78-2.272-1.695 0-.15.015-.284.037-.405-.3 1.246-1.36 2.086-2.767 2.086-.87 0-1.694-.315-2.2-.93 0 .24-.015.494-.04.734h-1.18c.02-.39.04-.855.04-1.245v-1.05h-4.83c.065 1.095.818 1.74 1.853 1.74.718 0 1.355-.3 1.568-.93h1.24c-.24 1.29-1.61 1.725-2.79 1.725C.95 15.009 0 13.822 0 12.232c0-1.754.982-2.91 3.116-2.91 1.688 0 2.93.886 2.94 2.806v.005zm9.137.183c-1.095.034-1.77.233-1.77.95 0 .465.36.97 1.305.97 1.26 0 1.935-.69 1.935-1.814v-.13c-.45 0-.99.006-1.484.022h.012zm-6.06 1.875c1.11 0 1.876-.806 1.876-2.02s-.768-2.02-1.893-2.02c-1.11 0-1.89.806-1.89 2.02s.765 2.02 1.875 2.02h.03zm-4.35-2.514c-.044-1.125-.854-1.546-1.725-1.546-.944 0-1.694.474-1.815 1.546z",source:"https://go.developer.ebay.com/logos",hex:"E53238"};var lh={title:"Facebook",slug:"facebook",get svg(){return H1+"Facebook"+N1+this.path+T1},path:"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z",source:"https://about.meta.com/brand/resources/facebook/logo",hex:"0866FF",guidelines:"https://about.meta.com/brand/resources/facebook/logo"};var pn={title:"GitHub",slug:"github",get svg(){return H1+"GitHub"+N1+this.path+T1},path:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12",source:"https://github.com/logos",hex:"181717",guidelines:"https://github.com/logos"};var ph={title:"GitLab",slug:"gitlab",get svg(){return H1+"GitLab"+N1+this.path+T1},path:"m23.6004 9.5927-.0337-.0862L20.3.9814a.851.851 0 0 0-.3362-.405.8748.8748 0 0 0-.9997.0539.8748.8748 0 0 0-.29.4399l-2.2055 6.748H7.5375l-2.2057-6.748a.8573.8573 0 0 0-.29-.4412.8748.8748 0 0 0-.9997-.0537.8585.8585 0 0 0-.3362.4049L.4332 9.5015l-.0325.0862a6.0657 6.0657 0 0 0 2.0119 7.0105l.0113.0087.03.0213 4.976 3.7264 2.462 1.8633 1.4995 1.1321a1.0085 1.0085 0 0 0 1.2197 0l1.4995-1.1321 2.4619-1.8633 5.006-3.7489.0125-.01a6.0682 6.0682 0 0 0 2.0094-7.003z",source:"https://about.gitlab.com/press/press-kit/",hex:"FC6D26",guidelines:"https://about.gitlab.com/handbook/marketing/corporate-marketing/brand-activation/trademark-guidelines/"};var uh={title:"Google",slug:"google",get svg(){return H1+"Google"+N1+this.path+T1},path:"M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z",source:"https://partnermarketinghub.withgoogle.com",hex:"4285F4",guidelines:"https://about.google/brand-resource-center/brand-elements/"};var mh={title:"Instagram",slug:"instagram",get svg(){return H1+"Instagram"+N1+this.path+T1},path:"M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077",source:"https://about.meta.com/brand/resources/instagram",hex:"FF0069",guidelines:"https://about.meta.com/brand/resources/instagram"};var dh={title:"Juejin",slug:"juejin",get svg(){return H1+"Juejin"+N1+this.path+T1},path:"m12 14.316 7.454-5.88-2.022-1.625L12 11.1l-.004.003-5.432-4.288-2.02 1.624 7.452 5.88Zm0-7.247 2.89-2.298L12 2.453l-.004-.005-2.884 2.318 2.884 2.3Zm0 11.266-.005.002-9.975-7.87L0 12.088l.194.156 11.803 9.308 7.463-5.885L24 12.085l-2.023-1.624Z",source:"https://juejin.cn",hex:"007FFF"};var hh={title:"MDN Web Docs",slug:"mdnwebdocs",get svg(){return H1+"MDN Web Docs"+N1+this.path+T1},path:"m21.538 1.1-6.745 21.8h-2.77L18.77 1.1ZM24 1.1v21.8h-2.462V1.1Zm-12 0v21.8H9.538V1.1Zm-2.462 0L2.77 22.9H0L6.746 1.1Z",source:"https://github.com/mdn/yari/blob/77e6cda02f7013219e9da27a00b9424085e60fdb/client/src/assets/mdn-logo.svg",hex:"000000"};var gh={title:"Netflix",slug:"netflix",get svg(){return H1+"Netflix"+N1+this.path+T1},path:"m5.398 0 8.348 23.602c2.346.059 4.856.398 4.856.398L10.113 0H5.398zm8.489 0v9.172l4.715 13.33V0h-4.715zM5.398 1.5V24c1.873-.225 2.81-.312 4.715-.398V14.83L5.398 1.5z",source:"https://brand.netflix.com/en/assets/logos",hex:"E50914",guidelines:"https://brand.netflix.com/en/assets/logos"};var bh={title:"npm",slug:"npm",get svg(){return H1+"npm"+N1+this.path+T1},path:"M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z",source:"https://www.npmjs.com",hex:"CB3837",guidelines:"https://docs.npmjs.com/policies/logos-and-usage"};var fh={title:"PyPI",slug:"pypi",get svg(){return H1+"PyPI"+N1+this.path+T1},path:"M23.922 13.58v3.912L20.55 18.72l-.078.055.052.037 3.45-1.256.026-.036v-3.997l-.053-.036-.025.092z M23.621 5.618l-3.04 1.107v3.912l3.339-1.215V5.509zM23.92 13.457V9.544l-3.336 1.215v3.913zM20.47 14.71V10.8L17.17 12v3.913zM17.034 19.996v-3.912l-3.313 1.206v3.912zM17.17 16.057v3.868l3.314-1.206V14.85l-3.314 1.206zm2.093 1.882c-.367.134-.663-.074-.663-.463s.296-.814.663-.947c.365-.133.662.075.662.464s-.297.814-.662.946z M13.225 9.315l.365-.132-3.285-1.197-3.323 1.21.102.037 3.184 1.16zM20.507 10.664V6.751L17.17 7.965v3.913zM17.058 11.918V8.005l-3.302 1.202v3.912zM13.643 9.246l-3.336 1.215v3.913l3.336-1.215zM6.907 13.165l3.322 1.209v-3.913L6.907 9.252z M10.34 7.873l3.281 1.193V5.198l-3.28-1.193zM20.507 2.715L17.19 3.922v3.913l3.317-1.207zM16.95 3.903L13.724 2.73l-3.269 1.19 3.225 1.174zM15.365 4.606l-1.624.592v3.868l3.317-1.207V3.991l-1.693.615zm-.391 2.778c-.367.134-.662-.074-.662-.464s.295-.813.662-.946c.366-.133.663.074.663.464s-.297.813-.663.946z M10.229 18.41v-3.914l-3.322-1.209V17.2zM13.678 17.182v-3.913l-3.371 1.227v3.913z M13.756 17.154l3.3-1.2V12.04l-3.3 1.2zM13.678 21.217l-3.371 1.227v-3.912h-.078v3.912l-3.322-1.209v-3.913l-.053-.058-.025-.06-3.336-1.21v-3.948l.034.013 3.287 1.196.015-.078-3.261-1.187 3.26-1.187v-.109L3.876 9.62l-.307-.112 3.26-1.188v.877l.079-.055V6.769l3.257 1.185.058-.061L7.084 6.75l-.102-.037 3.24-1.179v-.083L6.854 6.677v.018l-.025.018v1.523L3.44 9.47v.02l-.025.017v4.007l-3.39 1.233v.019L0 14.784v3.995l.025.037 3.4 1.237.008-.006.007.01 3.4 1.238.008-.006.006.01 3.4 1.237.014-.009.012.01 3.45-1.256.026-.037-.078-.027zM3.493 9.563l3.257 1.185-3.257 1.187V9.562zM3.4 19.96L.078 18.752v-3.913l2.361.86.96.349v3.913zm.015-3.99L.335 14.85l-.182-.066 3.262-1.187v2.374zm3.399 5.231l-3.321-1.209v-3.912l3.321 1.209v3.912zM23.791 5.434l-3.21-1.17v2.338zM20.387 2.643l-3.24-1.18-3.27 1.19 3.247 1.182z",source:"https://pypi.org",hex:"3775A9"};var vh={title:"QQ",slug:"qq",get svg(){return H1+"QQ"+N1+this.path+T1},path:"M21.395 15.035a40 40 0 0 0-.803-2.264l-1.079-2.695c.001-.032.014-.562.014-.836C19.526 4.632 17.351 0 12 0S4.474 4.632 4.474 9.241c0 .274.013.804.014.836l-1.08 2.695a39 39 0 0 0-.802 2.264c-1.021 3.283-.69 4.643-.438 4.673.54.065 2.103-2.472 2.103-2.472 0 1.469.756 3.387 2.394 4.771-.612.188-1.363.479-1.845.835-.434.32-.379.646-.301.778.343.578 5.883.369 7.482.189 1.6.18 7.14.389 7.483-.189.078-.132.132-.458-.301-.778-.483-.356-1.233-.646-1.846-.836 1.637-1.384 2.393-3.302 2.393-4.771 0 0 1.563 2.537 2.103 2.472.251-.03.581-1.39-.438-4.673",source:"https://en.wikipedia.org/wiki/File:Tencent_QQ.svg",hex:"1EBAFC",guidelines:"https://qq.design/brand/BrandDesign/Logo"};var yh={title:"Quora",slug:"quora",get svg(){return H1+"Quora"+N1+this.path+T1},path:"M7.3799.9483A11.9628 11.9628 0 0 1 21.248 19.5397l2.4096 2.4225c.7322.7362.21 1.9905-.8272 1.9905l-10.7105.01a12.52 12.52 0 0 1-.304 0h-.02A11.9628 11.9628 0 0 1 7.3818.9503Zm7.3217 4.428a7.1717 7.1717 0 1 0-5.4873 13.2512 7.1717 7.1717 0 0 0 5.4883-13.2511Z",source:"https://www.quora.com",hex:"B92B27"};var _h={title:"Reddit",slug:"reddit",get svg(){return H1+"Reddit"+N1+this.path+T1},path:"M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286C.775 23.225 1.097 24 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199c1.104 0 1.999.895 1.999 1.999 0 1.105-.895 2-1.999 2-.946 0-1.739-.657-1.947-1.539v.002c-1.147.162-2.032 1.15-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363.473-.363 1.064-.58 1.707-.58 1.547 0 2.802 1.254 2.802 2.802 0 1.117-.655 2.081-1.601 2.531-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87-.954-.447-1.614-1.415-1.614-2.538 0-1.548 1.255-2.802 2.803-2.802.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01c0-1.663 1.263-3.034 2.88-3.207.188-.911.993-1.595 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135-.147.015-.241.168-.183.305.483 1.154 1.622 1.964 2.953 1.964 1.33 0 2.47-.81 2.953-1.964.057-.137-.037-.29-.184-.305-.863-.087-1.795-.135-2.769-.135Z",source:"https://www.redditinc.com/brand",hex:"FF4500",guidelines:"https://www.redditinc.com/brand"};var wh={title:"Sina Weibo",slug:"sinaweibo",get svg(){return H1+"Sina Weibo"+N1+this.path+T1},path:"M10.098 20.323c-3.977.391-7.414-1.406-7.672-4.02-.259-2.609 2.759-5.047 6.74-5.441 3.979-.394 7.413 1.404 7.671 4.018.259 2.6-2.759 5.049-6.737 5.439l-.002.004zM9.05 17.219c-.384.616-1.208.884-1.829.602-.612-.279-.793-.991-.406-1.593.379-.595 1.176-.861 1.793-.601.622.263.82.972.442 1.592zm1.27-1.627c-.141.237-.449.353-.689.253-.236-.09-.313-.361-.177-.586.138-.227.436-.346.672-.24.239.09.315.36.18.601l.014-.028zm.176-2.719c-1.893-.493-4.033.45-4.857 2.118-.836 1.704-.026 3.591 1.886 4.21 1.983.64 4.318-.341 5.132-2.179.8-1.793-.201-3.642-2.161-4.149zm7.563-1.224c-.346-.105-.57-.18-.405-.615.375-.977.42-1.804 0-2.404-.781-1.112-2.915-1.053-5.364-.03 0 0-.766.331-.571-.271.376-1.217.315-2.224-.27-2.809-1.338-1.337-4.869.045-7.888 3.08C1.309 10.87 0 13.273 0 15.348c0 3.981 5.099 6.395 10.086 6.395 6.536 0 10.888-3.801 10.888-6.82 0-1.822-1.547-2.854-2.915-3.284v.01zm1.908-5.092c-.766-.856-1.908-1.187-2.96-.962-.436.09-.706.511-.616.932.09.42.511.691.932.602.511-.105 1.067.044 1.442.465.376.421.466.977.316 1.473-.136.406.089.856.51.992.405.119.857-.105.992-.512.33-1.021.12-2.178-.646-3.035l.03.045zm2.418-2.195c-1.576-1.757-3.905-2.419-6.054-1.968-.496.104-.812.587-.706 1.081.104.496.586.813 1.082.707 1.532-.331 3.185.15 4.296 1.383 1.112 1.246 1.429 2.943.947 4.416-.165.48.106 1.007.586 1.157.479.165.991-.104 1.157-.586.675-2.088.241-4.478-1.338-6.235l.03.045z",source:"https://en.wikipedia.org/wiki/Sina_Weibo",hex:"E6162D"};var xh={title:"Spotify",slug:"spotify",get svg(){return H1+"Spotify"+N1+this.path+T1},path:"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z",source:"https://developer.spotify.com/documentation/general/design-and-branding/#using-our-logo",hex:"1ED760",guidelines:"https://developer.spotify.com/documentation/general/design-and-branding/#using-our-logo"};var kh={title:"Stack Overflow",slug:"stackoverflow",get svg(){return H1+"Stack Overflow"+N1+this.path+T1},path:"M15.725 0l-1.72 1.277 6.39 8.588 1.716-1.277L15.725 0zm-3.94 3.418l-1.369 1.644 8.225 6.85 1.369-1.644-8.225-6.85zm-3.15 4.465l-.905 1.94 9.702 4.517.904-1.94-9.701-4.517zm-1.85 4.86l-.44 2.093 10.473 2.201.44-2.092-10.473-2.203zM1.89 15.47V24h19.19v-8.53h-2.133v6.397H4.021v-6.396H1.89zm4.265 2.133v2.13h10.66v-2.13H6.154Z",source:"https://stackoverflow.design/brand/logo/",hex:"F58025",guidelines:"https://stackoverflow.com/legal/trademark-guidance"};var zh={title:"Taobao",slug:"taobao",get svg(){return H1+"Taobao"+N1+this.path+T1},path:"M21.3099 9.9008c.5285 0 .9584.4284.9584.9589 0 .5276-.4299.958-.9584.958-.5276 0-.9585-.4304-.9585-.958 0-.5305.4309-.959.9585-.959zm2.3899 3.0462h-10.408v-.9595h4.15V9.7591h-2.8869v-.768h2.8868v-.9234h-2.508v.2034h-1.6418V5.3733h1.6418v.3497c.4945-.0607 1.463-.1814 2.5175-.2956v-.8257h1.8522v.6408c.9249-.0807 1.753-.1312 2.211-.1112 1.489.0716 2.4449.2816 2.485 1.273.0356.989-1.4244 1.9043-1.4244 1.9043l-.4509-.4338v.1929h-2.8116v.9233h3.229v.768h-3.229v2.2285h4.3873v.9595zM21.5259 7.299l-.0115-.0115s1.3722-.7595.3427-1.272c-.8633-.43-5.5346.3056-6.9234.6257v.6578h6.5922zM1.8822 6.4166c.5515 0 .9985-.449.9985-1 0-.5531-.447-.9995-.9985-.9995a.9984.9984 0 00-1.001.9995c0 .551.4463 1 1.001 1zm3.4094-.8596c.252-.4364.3717-.7195.3717-.7195l-1.466-.4123S3.6068 6.3546 2.5527 7.253c0 0 1.0195.5897 1.0095.5732a9.6444 9.6444 0 00.782-.8793c.2345-.1017.4585-.198.6794-.2876-.2715.487-.7094 1.219-1.1478 1.6809l.6178.5385s.4198-.4033.8792-.8907h.5246v.8993H3.8557v.7204h2.0416v1.7235c-.025 0-.0521 0-.0782-.002-.224-.0106-.5751-.0476-.7124-.265-.1678-.2636-.044-.7496-.0346-1.0457H3.6608l-.0496.026s-.517 2.3142 1.489 2.2621c1.8793.0521 2.9544-.523 3.4725-.9178l.2064.7645 1.1583-.4825-.785-1.9183-.941.292.1764.6574c-.2415.1809-.518.3157-.8187.4134V9.6076h1.995v-.7204h-1.995v-.8993h2.003v-.72h-3.557c.2565-.3111.4589-.5982.5095-.78L5.9058 6.32c2.6603-.9519 4.1408-.7886 4.1278.773v4.1128s.1568 1.4124-1.461 1.3107l-.8757-.188-.207.8307s3.7822 1.0812 4.0913-1.8246c.3096-2.9058-.0767-4.7576-.0767-4.7576s-.3451-2.6824-6.213-1.02zM.0582 12.1534l1.5867.9905c1.0967-2.3813 1.0265-2.0657 1.302-2.92.2832-.8737.3453-1.54-.1362-2.023-.6172-.6197-.6844-.6773-1.6017-1.3582L.5487 7.8562l1.2164.7576s.8141.4153.4274 1.1903c-.3617.7375-2.1343 2.3493-2.1343 2.3493zm19.94 6.8484s-.0186.523-.6704.523c-.5892 0-.6363-.4113-.6363-.4113-.2485.2996-.6207.4549-1.0696.4549-.7606 0-1.2961-.5135-1.2961-1.2896 0-.786.5576-1.28 1.3983-1.28.3832 0 .725.1462.9258.4037.0066-.0706.0136-.1362.0136-.1968 0-.5622-.3092-.8127-1.01-.8127-.3382 0-.6659.0486-1.0136.1408.1107-.219.1924-.3793.2971-.4574.1202-.0972.4294-.1408.9419-.1408 1.269 0 1.742.4259 1.742 1.4279v1.2024c0 .3161.033.4359.3772.4359zm-1.3272-.745c0-.4815-.2555-.747-.6378-.747-.4043 0-.6668.2825-.6668.7595 0 .467.2775.7615.6533.7615.3882 0 .6513-.275.6513-.774zm5.2706-.501c0 1.1528-.6924 1.8271-1.7786 1.8271-1.0957 0-1.7766-.6743-1.7766-1.8271 0-1.1584.6809-1.8252 1.7766-1.8252 1.0862 0 1.7786.6719 1.7786 1.8252zm-1.0867 0c0-.8693-.237-1.2997-.692-1.2997-.4734 0-.6938.4304-.6938 1.2997 0 .8662.2204 1.299.6939 1.299.467 0 .6919-.4328.6919-1.299zm-7.1313-.0441c0 1.1703-.6534 1.8567-1.5767 1.8567-.4233 0-.8056-.1633-1.0466-.47 0 0-.1082.4264-.6618.4264-.6884 0-.6644-.523-.6644-.523.3868.0165.3758-.2145.3758-.436v-2.8862c0-.3552-.0742-.4795-.4269-.4865.0136-.1072.0777-.5376.6789-.5376.8156 0 .7615.9149.7615.9149v.786c.229-.268.5516-.3942.9905-.3942.9624 0 1.5697.6447 1.5697 1.7495zm-1.0937.0806c0-.8983-.2716-1.3557-.7616-1.3557-.4393 0-.74.3968-.74 1.1047v.3602c0 .7205.3152 1.1168.7631 1.1168.477 0 .7385-.4134.7385-1.226zm-3.2425-.0365c0 1.1528-.688 1.8271-1.7806 1.8271-1.0937 0-1.7726-.6743-1.7726-1.8271 0-1.1584.6789-1.8252 1.7726-1.8252 1.0927 0 1.7806.6719 1.7806 1.8252zm-1.0832 0c0-.8693-.236-1.2997-.6974-1.2997-.467 0-.6874.4304-.6874 1.2997 0 .8662.2205 1.299.6874 1.299.469 0 .6974-.4328.6974-1.299zm-5.9895-2.716c-.268.0782-.7901.0972-1.5516.0972-.925 0-1.5391-.039-1.8543-.039-.5195 0-.7254.1342-.9088.6592.3006-.1017.6729-.1087 1.1353-.1087.3512 0 .4108.0431.4108.2941V18.846c0 .2821.1178.6789.7255.6789.7104 0 .8346-.526.8346-.526-.3552-.007-.4248-.1313-.4248-.4865V15.952c0-.2675.1012-.2795.471-.2795.1252 0 .2094.007.2605.007.545 0 .6883-.1047.9018-.6398zm3.1303 3.962s-.018.523-.6664.523c-.556 0-.6403-.4113-.6403-.4113-.248.2996-.6207.4549-1.0656.4549-.7655 0-1.2996-.5135-1.2996-1.2896 0-.786.557-1.28 1.3993-1.28.3843 0 .7274.1462.9258.4037.0036-.0706.0106-.1362.0106-.1968 0-.5622-.3051-.8127-1.007-.8127-.3382 0-.6669.0486-1.015.1408.1131-.219.1923-.3793.2945-.4574.1293-.0972.4329-.1408.9469-.1408 1.265 0 1.746.4259 1.746 1.4279v1.2024c0 .3161.0276.4359.3708.4359zm-1.3262-.745c0-.4815-.2555-.747-.6378-.747-.4013 0-.6668.2825-.6668.7595 0 .467.279.7615.6513.7615.3893 0 .6533-.275.6533-.774z",source:"https://www.alibabagroup.com/en/ir/reports",hex:"E94F20"};var Kr={title:"Telegram",slug:"telegram",get svg(){return H1+"Telegram"+N1+this.path+T1},path:"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z",source:"https://telegram.org/tour/screenshots",hex:"26A5E4"};var Ch={title:"TikTok",slug:"tiktok",get svg(){return H1+"TikTok"+N1+this.path+T1},path:"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z",source:"https://tiktok.com",hex:"000000"};var Ah={title:"V2EX",slug:"v2ex",get svg(){return H1+"V2EX"+N1+this.path+T1},path:"M.671 1.933h13.821a1.342 1.342 0 0 1 .98.425l8.166 8.725a1.342 1.342 0 0 1 0 1.834l-8.166 8.724a1.342 1.342 0 0 1-.98.426H.673A.671.671 0 0 1 0 21.395v-6.878h13.19l2.276-2.28a.336.336 0 0 0 0-.474l-2.276-2.28H0V2.604a.671.671 0 0 1 .671-.671Z",source:"https://www.v2ex.com",hex:"1F1F1F"};var Mh={title:"WeChat",slug:"wechat",get svg(){return H1+"WeChat"+N1+this.path+T1},path:"M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 0 1 .213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 0 0 .167-.054l1.903-1.114a.864.864 0 0 1 .717-.098 10.16 10.16 0 0 0 2.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348zM5.785 5.991c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178A1.17 1.17 0 0 1 4.623 7.17c0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178 1.17 1.17 0 0 1-1.162-1.178c0-.651.52-1.18 1.162-1.18zm5.34 2.867c-1.797-.052-3.746.512-5.28 1.786-1.72 1.428-2.687 3.72-1.78 6.22.942 2.453 3.666 4.229 6.884 4.229.826 0 1.622-.12 2.361-.336a.722.722 0 0 1 .598.082l1.584.926a.272.272 0 0 0 .14.047c.134 0 .24-.111.24-.247 0-.06-.023-.12-.038-.177l-.327-1.233a.582.582 0 0 1-.023-.156.49.49 0 0 1 .201-.398C23.024 18.48 24 16.82 24 14.98c0-3.21-2.931-5.837-6.656-6.088V8.89c-.135-.01-.27-.027-.407-.03zm-2.53 3.274c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.97-.982zm4.844 0c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.969-.982z",source:"https://wechat.design/tool/brand",hex:"07C160",guidelines:"https://wechat.design/brand/main-brand"};var Yr={title:"WhatsApp",slug:"whatsapp",get svg(){return H1+"WhatsApp"+N1+this.path+T1},path:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z",source:"https://about.meta.com/brand/resources/whatsapp/whatsapp-brand",hex:"25D366",guidelines:"https://about.meta.com/brand/resources/whatsapp/whatsapp-brand"};var $h={title:"Wikipedia",slug:"wikipedia",get svg(){return H1+"Wikipedia"+N1+this.path+T1},path:"M12.09 13.119c-.936 1.932-2.217 4.548-2.853 5.728-.616 1.074-1.127.931-1.532.029-1.406-3.321-4.293-9.144-5.651-12.409-.251-.601-.441-.987-.619-1.139-.181-.15-.554-.24-1.122-.271C.103 5.033 0 4.982 0 4.898v-.455l.052-.045c.924-.005 5.401 0 5.401 0l.051.045v.434c0 .119-.075.176-.225.176l-.564.031c-.485.029-.727.164-.727.436 0 .135.053.33.166.601 1.082 2.646 4.818 10.521 4.818 10.521l.136.046 2.411-4.81-.482-1.067-1.658-3.264s-.318-.654-.428-.872c-.728-1.443-.712-1.518-1.447-1.617-.207-.023-.313-.05-.313-.149v-.468l.06-.045h4.292l.113.037v.451c0 .105-.076.15-.227.15l-.308.047c-.792.061-.661.381-.136 1.422l1.582 3.252 1.758-3.504c.293-.64.233-.801.111-.947-.07-.084-.305-.22-.812-.24l-.201-.021c-.052 0-.098-.015-.145-.051-.045-.031-.067-.076-.067-.129v-.427l.061-.045c1.247-.008 4.043 0 4.043 0l.059.045v.436c0 .121-.059.178-.193.178-.646.03-.782.095-1.023.439-.12.186-.375.589-.646 1.039l-2.301 4.273-.065.135 2.792 5.712.17.048 4.396-10.438c.154-.422.129-.722-.064-.895-.197-.172-.346-.273-.857-.295l-.42-.016c-.061 0-.105-.014-.152-.045-.043-.029-.072-.075-.072-.119v-.436l.059-.045h4.961l.041.045v.437c0 .119-.074.18-.209.18-.648.03-1.127.18-1.443.421-.314.255-.557.616-.736 1.067 0 0-4.043 9.258-5.426 12.339-.525 1.007-1.053.917-1.503-.031-.571-1.171-1.773-3.786-2.646-5.71l.053-.036z",source:"https://commons.wikimedia.org/wiki/File:Wikipedia-logo-v2.svg",hex:"000000"};var Qr={title:"X",slug:"x",get svg(){return H1+"X"+N1+this.path+T1},path:"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z",source:"https://x.com",hex:"000000",guidelines:"https://about.x.com/en/who-we-are/brand-toolkit"};var Lh={title:"Y Combinator",slug:"ycombinator",get svg(){return H1+"Y Combinator"+N1+this.path+T1},path:"M0 24V0h24v24H0zM6.951 5.896l4.112 7.708v5.064h1.583v-4.972l4.148-7.799h-1.749l-2.457 4.875c-.372.745-.688 1.434-.688 1.434s-.297-.708-.651-1.434L8.831 5.896h-1.88z",source:"https://www.ycombinator.com/press",hex:"F0652F"};var Jr={title:"YouTube",slug:"youtube",get svg(){return H1+"YouTube"+N1+this.path+T1},path:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z",source:"https://www.youtube.com/howyoutubeworks/resources/brand-resources/#logos-icons-and-colors",hex:"FF0000",guidelines:"https://www.youtube.com/howyoutubeworks/resources/brand-resources/#logos-icons-and-colors"};var Sh={title:"Zhihu",slug:"zhihu",get svg(){return H1+"Zhihu"+N1+this.path+T1},path:"M5.721 0C2.251 0 0 2.25 0 5.719V18.28C0 21.751 2.252 24 5.721 24h12.56C21.751 24 24 21.75 24 18.281V5.72C24 2.249 21.75 0 18.281 0zm1.964 4.078c-.271.73-.5 1.434-.68 2.11h4.587c.545-.006.445 1.168.445 1.171H9.384a58.104 58.104 0 01-.112 3.797h2.712c.388.023.393 1.251.393 1.266H9.183a9.223 9.223 0 01-.408 2.102l.757-.604c.452.456 1.512 1.712 1.906 2.177.473.681.063 2.081.063 2.081l-2.794-3.382c-.653 2.518-1.845 3.607-1.845 3.607-.523.468-1.58.82-2.64.516 2.218-1.73 3.44-3.917 3.667-6.497H4.491c0-.015.197-1.243.806-1.266h2.71c.024-.32.086-3.254.086-3.797H6.598c-.136.406-.158.447-.268.753-.594 1.095-1.603 1.122-1.907 1.155.906-1.821 1.416-3.6 1.591-4.064.425-1.124 1.671-1.125 1.671-1.125zM13.078 6h6.377v11.33h-2.573l-2.184 1.373-.401-1.373h-1.219zm1.313 1.219v8.86h.623l.263.937 1.455-.938h1.456v-8.86z",source:"https://www.zhihu.com",hex:"0084FF"};var Q0={markdown:"e",fileLink:"Ze",fileMention:"p",linkIcon:"Qa",tableScroll:"a",tableFill:"Ua",imageAlt:"Va",image:"ei",compact:"i",imageButton:"W",previewName:"Wa"};var es={bubble:"r","tooltip-in":"ii",label:"ai"};var K1=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function p$(e){return ps(e)}function ps(e){return Array.isArray(e)?u$(e):e instanceof RegExp?e:typeof e=="object"?m$(e):e}function u$(e){let t=[];for(let n=0,a=e.length;n{for(let a in n)e[a]=n[a]}),e}function Ih(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Ih(e.substring(0,e.length-1)):e.substr(~t+1)}var ts=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,un=class{static hasCaptures(e){return e===null?!1:(ts.lastIndex=0,ts.test(e))}static replaceCaptures(e,t,n){return e.replace(ts,(a,i,r,s)=>{let c=n[parseInt(i||r,10)];if(c){let o=t.substring(c.start,c.end);for(;o[0]===".";)o=o.substring(1);switch(s){case"downcase":return o.toLowerCase();case"upcase":return o.toUpperCase();default:return o}}else return a})}};function Bh(e,t){return et?1:0}function Ph(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,a=t.length;if(n===a){for(let i=0;ithis._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,a=this._cachedMatchRoot.get(t).find(i=>d$(e.parent,i.parentScopes));return a?new Gh(a.fontStyle,a.foreground,a.background):null}},ns=class mn{constructor(t,n){this.parent=t,this.scopeName=n}parent;scopeName;static push(t,n){for(let a of n)t=new mn(t,a);return t}static from(...t){let n=null;for(let a=0;a"){if(n===t.length-1)return!1;a=t[++n],i=!0}for(;e&&!h$(e.scopeName,a);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function h$(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Gh=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}fontStyle;foregroundId;backgroundId};function g$(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],a=0;for(let i=0,r=t.length;i1&&(k=f.slice(0,f.length-1),k.reverse()),n[a++]=new b$(w,k,i,o,l,p)}}return n}var b$=class{constructor(e,t,n,a,i,r){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=a,this.foreground=i,this.background=r}scope;parentScopes;index;fontStyle;foreground;background},D0=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(D0||{});function f$(e,t){e.sort((o,l)=>{let p=Bh(o.scope,l.scope);return p!==0||(p=Ph(o.parentScopes,l.parentScopes),p!==0)?p:o.index-l.index});let n=0,a="#000000",i="#ffffff";for(;e.length>=1&&e[0].scope==="";){let o=e.shift();o.fontStyle!==-1&&(n=o.fontStyle),o.foreground!==null&&(a=o.foreground),o.background!==null&&(i=o.background)}let r=new v$(t),s=new Gh(n,r.getId(a),r.getId(i)),c=new _$(new is(0,null,-1,0,0),[]);for(let o=0,l=e.length;ot?console.log("how did this happen?"):this.scopeDepth=t,n!==-1&&(this.fontStyle=n),a!==0&&(this.foreground=a),i!==0&&(this.background=i)}},_$=class rs{constructor(t,n=[],a={}){this._mainRule=t,this._children=a,this._rulesWithParentScopes=n}_mainRule;_children;_rulesWithParentScopes;static _cmpBySpecificity(t,n){if(t.scopeDepth!==n.scopeDepth)return n.scopeDepth-t.scopeDepth;let a=0,i=0;for(;t.parentScopes[a]===">"&&a++,n.parentScopes[i]===">"&&i++,!(a>=t.parentScopes.length||i>=n.parentScopes.length);){let r=n.parentScopes[i].length-t.parentScopes[a].length;if(r!==0)return r;a++,i++}return n.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let a=t.indexOf("."),i,r;if(a===-1?(i=t,r=""):(i=t.substring(0,a),r=t.substring(a+1)),this._children.hasOwnProperty(i))return this._children[i].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(rs._cmpBySpecificity),n}insert(t,n,a,i,r,s){if(n===""){this._doInsertHere(t,a,i,r,s);return}let c=n.indexOf("."),o,l;c===-1?(o=n,l=""):(o=n.substring(0,c),l=n.substring(c+1));let p;this._children.hasOwnProperty(o)?p=this._children[o]:(p=new rs(this._mainRule.clone(),is.cloneArr(this._rulesWithParentScopes)),this._children[o]=p),p.insert(t+1,l,a,i,r,s)}_doInsertHere(t,n,a,i,r){if(n===null){this._mainRule.acceptOverwrite(t,a,i,r);return}for(let s=0,c=this._rulesWithParentScopes.length;s>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,n,a,i,r,s,c){let o=X2.getLanguageId(t),l=X2.getTokenType(t),p=X2.containsBalancedBrackets(t)?1:0,u=X2.getFontStyle(t),m=X2.getForeground(t),d=X2.getBackground(t);return n!==0&&(o=n),a!==8&&(l=a),i!==null&&(p=i?1:0),r!==-1&&(u=r),s!==0&&(m=s),c!==0&&(d=c),(o<<0|l<<8|p<<10|u<<11|m<<15|d<<24)>>>0}};function hn(e,t){let n=[],a=w$(e),i=a.next();for(;i!==null;){let o=0;if(i.length===2&&i.charAt(1)===":"){switch(i.charAt(0)){case"R":o=1;break;case"L":o=-1;break;default:console.log("Unknown priority ".concat(i," in scope selector"))}i=a.next()}let l=s();if(n.push({matcher:l,priority:o}),i!==",")break;i=a.next()}return n;function r(){if(i==="-"){i=a.next();let o=r();return l=>!!o&&!o(l)}if(i==="("){i=a.next();let o=c();return i===")"&&(i=a.next()),o}if(Eh(i)){let o=[];do o.push(i),i=a.next();while(Eh(i));return l=>t(o,l)}return null}function s(){let o=[],l=r();for(;l;)o.push(l),l=r();return p=>o.every(u=>u(p))}function c(){let o=[],l=s();for(;l&&(o.push(l),i==="|"||i===",");){do i=a.next();while(i==="|"||i===",");l=s()}return p=>o.some(u=>u(p))}}function Eh(e){return!!e&&!!e.match(/[\w\.:]+/)}function w$(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let a=n[0];return n=t.exec(e),a}}}function Wh(e){typeof e.dispose=="function"&&e.dispose()}var z6=class{constructor(e){this.scopeName=e}scopeName;toKey(){return this.scopeName}},x$=class{constructor(e,t){this.scopeName=e,this.ruleName=t}scopeName;ruleName;toKey(){return"".concat(this.scopeName,"#").concat(this.ruleName)}},k$=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},z$=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new z6(this.initialScopeName)]}repo;initialScopeName;seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new k$;for(let n of e)C$(n,this.initialScopeName,this.repo,t);for(let n of t.references)if(n instanceof z6){if(this.seenFullScopeRequests.has(n.scopeName))continue;this.seenFullScopeRequests.add(n.scopeName),this.Q.push(n)}else{if(this.seenFullScopeRequests.has(n.scopeName)||this.seenPartialScopeRequests.has(n.toKey()))continue;this.seenPartialScopeRequests.add(n.toKey()),this.Q.push(n)}}};function C$(e,t,n,a){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw new Error("No grammar provided for <".concat(t,">"));return}let r=n.lookup(t);e instanceof z6?dn({baseGrammar:r,selfGrammar:i},a):ss(e.ruleName,{baseGrammar:r,selfGrammar:i,repository:i.repository},a);let s=n.injections(e.scopeName);if(s)for(let c of s)a.add(new z6(c))}function ss(e,t,n){if(t.repository&&t.repository[e]){let a=t.repository[e];gn([a],t,n)}}function dn(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&gn(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&gn(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function gn(e,t,n){for(let a of e){if(n.visitedRule.has(a))continue;n.visitedRule.add(a);let i=a.repository?qh({},t.repository,a.repository):t.repository;Array.isArray(a.patterns)&&gn(a.patterns,{...t,repository:i},n);let r=a.include;if(!r)continue;let s=Uh(r);switch(s.kind){case 0:dn({...t,selfGrammar:t.baseGrammar},n);break;case 1:dn(t,n);break;case 2:ss(s.ruleName,{...t,repository:i},n);break;case 3:case 4:let c=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(c){let o={baseGrammar:t.baseGrammar,selfGrammar:c,repository:i};s.kind===4?ss(s.ruleName,o,n):dn(o,n)}else s.kind===4?n.add(new x$(s.scopeName,s.ruleName)):n.add(new z6(s.scopeName));break}}}var A$=class{kind=0},M$=class{kind=1},$$=class{constructor(e){this.ruleName=e}ruleName;kind=2},L$=class{constructor(e){this.scopeName=e}scopeName;kind=3},S$=class{constructor(e,t){this.scopeName=e,this.ruleName=t}scopeName;ruleName;kind=4};function Uh(e){if(e==="$base")return new A$;if(e==="$self")return new M$;let t=e.indexOf("#");if(t===-1)return new L$(e);if(t===0)return new $$(e.substring(1));{let n=e.substring(0,t),a=e.substring(t+1);return new S$(n,a)}}var Z$=/\\(\d+)/,Fh=/\\(\d+)/g,E$=-1,Xh=-2;var M6=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,a){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=un.hasCaptures(this._name),this._contentName=a||null,this._contentNameIsCapturing=un.hasCaptures(this._contentName)}get debugName(){let e=this.$location?"".concat(Ih(this.$location.filename),":").concat(this.$location.line):"unknown";return"".concat(this.constructor.name,"#").concat(this.id," @ ").concat(e)}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:un.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:un.replaceCaptures(this._contentName,e,t)}},F$=class extends M6{retokenizeCapturedWithRuleId;constructor(e,t,n,a,i){super(e,t,n,a),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,n,a){throw new Error("Not supported!")}},j$=class extends M6{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,a,i){super(e,t,n,null),this._match=new C6(a,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return"".concat(this._match.source)}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e).compileAG(e,n,a)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new A6,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},jh=class extends M6{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,a,i){super(e,t,n,a),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e).compileAG(e,n,a)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new A6,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},cs=class extends M6{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,a,i,r,s,c,o,l){super(e,t,n,a),this._begin=new C6(i,this.id),this.beginCaptures=r,this._end=new C6(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=c,this.applyEndPatternLast=o||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return"".concat(this._begin.source)}get debugEndRegExp(){return"".concat(this._end.source)}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,a)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new A6;for(let n of this.patterns)e.getRule(n).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},bn=class extends M6{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,a,i,r,s,c,o){super(e,t,n,a),this._begin=new C6(i,this.id),this.beginCaptures=r,this.whileCaptures=c,this._while=new C6(s,Xh),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=o.patterns,this.hasMissingPatterns=o.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return"".concat(this._begin.source)}get debugWhileRegExp(){return"".concat(this._while.source)}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e).compileAG(e,n,a)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new A6;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,a){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,a)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new A6,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Kh=class J0{static createCaptureRule(t,n,a,i,r){return t.registerRule(s=>new F$(n,s,a,i,r))}static getCompiledRuleId(t,n,a){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new j$(t.$vscodeTextmateLocation,t.id,t.name,t.match,J0._compileCaptures(t.captures,n,a));if(typeof t.begin>"u"){t.repository&&(a=qh({},a,t.repository));let r=t.patterns;return typeof r>"u"&&t.include&&(r=[{include:t.include}]),new jh(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,J0._compilePatterns(r,n,a))}return t.while?new bn(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,J0._compileCaptures(t.beginCaptures||t.captures,n,a),t.while,J0._compileCaptures(t.whileCaptures||t.captures,n,a),J0._compilePatterns(t.patterns,n,a)):new cs(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,J0._compileCaptures(t.beginCaptures||t.captures,n,a),t.end,J0._compileCaptures(t.endCaptures||t.captures,n,a),t.applyEndPatternLast,J0._compilePatterns(t.patterns,n,a))}),t.id}static _compileCaptures(t,n,a){let i=[];if(t){let r=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let c=parseInt(s,10);c>r&&(r=c)}for(let s=0;s<=r;s++)i[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let c=parseInt(s,10),o=0;t[s].patterns&&(o=J0.getCompiledRuleId(t[s],n,a)),i[c]=J0.createCaptureRule(n,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,o)}}return i}static _compilePatterns(t,n,a){let i=[];if(t)for(let r=0,s=t.length;rt.substring(i.start,i.end));return Fh.lastIndex=0,this.source.replace(Fh,(i,r)=>Rh(a[parseInt(r,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],n=[],a=[],i=[],r,s,c,o;for(r=0,s=this.source.length;rn.source);this._cached=new Hh(e,t,this._items.map(n=>n.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){let a=this._items.map(i=>i.resolveAnchors(t,n));return new Hh(e,a,this._items.map(i=>i.ruleId))}},Hh=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}regExps;rules;scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t{let n=this._scopeToLanguage(t),a=this._toStandardTokenType(t);return new as(n,a)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let n=t.match(os.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},N$=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([n,a])=>Rh(n));t.sort(),t.reverse(),this.scopesRegExp=new RegExp("^((".concat(t.join(")|("),"))($|\\.)"),"")}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},mG={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Qh=!1,Nh=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}stack;stoppedEarly};function Jh(e,t,n,a,i,r,s,c){let o=t.content.length,l=!1,p=-1;if(s){let d=T$(e,t,n,a,i,r);i=d.stack,a=d.linePos,n=d.isFirstLine,p=d.anchorPosition}let u=Date.now();for(;!l;){if(c!==0&&Date.now()-u>c)return new Nh(i,!0);m()}return new Nh(i,!1);function m(){let d=V$(e,t,n,a,i,p);if(!d){r.produce(i,o),l=!0;return}let f=d.captureIndices,w=d.matchedRuleId,k=f&&f.length>0?f[0].end>a:!1;if(w===E$){let v=i.getRule(e);r.produce(i,f[0].start),i=i.withContentNameScopesList(i.nameScopesList),w6(e,t,n,i,r,v.endCaptures,f),r.produce(i,f[0].end);let b=i;if(i=i.parent,p=b.getAnchorPos(),!k&&b.getEnterPos()===a){i=b,r.produce(i,o),l=!0;return}}else{let v=e.getRule(w);r.produce(i,f[0].start);let b=i,_=v.getName(t.content,f),z=i.contentNameScopesList.pushAttributed(_,e);if(i=i.push(w,a,p,f[0].end===o,null,z,z),v instanceof cs){let L=v;w6(e,t,n,i,r,L.beginCaptures,f),r.produce(i,f[0].end),p=f[0].end;let C=L.getContentName(t.content,f),j=z.pushAttributed(C,e);if(i=i.withContentNameScopesList(j),L.endHasBackReferences&&(i=i.withEndRule(L.getEndWithResolvedBackReferences(t.content,f))),!k&&b.hasSameRuleAs(i)){i=i.pop(),r.produce(i,o),l=!0;return}}else if(v instanceof bn){let L=v;w6(e,t,n,i,r,L.beginCaptures,f),r.produce(i,f[0].end),p=f[0].end;let C=L.getContentName(t.content,f),j=z.pushAttributed(C,e);if(i=i.withContentNameScopesList(j),L.whileHasBackReferences&&(i=i.withEndRule(L.getWhileWithResolvedBackReferences(t.content,f))),!k&&b.hasSameRuleAs(i)){i=i.pop(),r.produce(i,o),l=!0;return}}else if(w6(e,t,n,i,r,v.captures,f),r.produce(i,f[0].end),i=i.pop(),!k){i=i.safePop(),r.produce(i,o),l=!0;return}}f[0].end>a&&(a=f[0].end,n=!1)}}function T$(e,t,n,a,i,r){let s=i.beginRuleCapturedEOL?0:-1,c=[];for(let o=i;o;o=o.pop()){let l=o.getRule(e);l instanceof bn&&c.push({rule:l,stack:o})}for(let o=c.pop();o;o=c.pop()){let{ruleScanner:l,findOptions:p}=B$(o.rule,e,o.stack.endRule,n,a===s),u=l.findNextMatchSync(t,a,p);if(u){if(u.ruleId!==Xh){i=o.stack.pop();break}u.captureIndices&&u.captureIndices.length&&(r.produce(o.stack,u.captureIndices[0].start),w6(e,t,n,o.stack,r,o.rule.whileCaptures,u.captureIndices),r.produce(o.stack,u.captureIndices[0].end),s=u.captureIndices[0].end,u.captureIndices[0].end>a&&(a=u.captureIndices[0].end,n=!1))}else{i=o.stack.pop();break}}return{stack:i,linePos:a,anchorPosition:s,isFirstLine:n}}function V$(e,t,n,a,i,r){let s=q$(e,t,n,a,i,r),c=e.getInjections();if(c.length===0)return s;let o=I$(c,e,t,n,a,i,r);if(!o)return s;if(!s)return o;let l=s.captureIndices[0].start,p=o.captureIndices[0].start;return p=c)&&(c=_,o=b.captureIndices,l=b.ruleId,p=f.priority,c===i))break}return o?{priorityMatch:p===-1,captureIndices:o,matchedRuleId:l}:null}function eg(e,t,n,a,i){if(Qh){let s=e.compile(t,n),c=tg(a,i);return{ruleScanner:s,findOptions:c}}return{ruleScanner:e.compileAG(t,n,a,i),findOptions:0}}function B$(e,t,n,a,i){if(Qh){let s=e.compileWhile(t,n),c=tg(a,i);return{ruleScanner:s,findOptions:c}}return{ruleScanner:e.compileWhileAG(t,n,a,i),findOptions:0}}function tg(e,t){let n=0;return e||(n|=1),t||(n|=4),n}function w6(e,t,n,a,i,r,s){if(r.length===0)return;let c=t.content,o=Math.min(r.length,s.length),l=[],p=s[0].end;for(let u=0;up)break;for(;l.length>0&&l[l.length-1].endPos<=d.start;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop();if(l.length>0?i.produceFromScopes(l[l.length-1].scopes,d.start):i.produce(a,d.start),m.retokenizeCapturedWithRuleId){let w=m.getName(c,s),k=a.contentNameScopesList.pushAttributed(w,e),v=m.getContentName(c,s),b=k.pushAttributed(v,e),_=a.push(m.retokenizeCapturedWithRuleId,d.start,-1,!1,null,k,b),z=e.createOnigString(c.substring(0,d.end));Jh(e,z,n&&d.start===0,d.start,_,i,!1,0),Wh(z);continue}let f=m.getName(c,s);if(f!==null){let k=(l.length>0?l[l.length-1].scopes:a.contentNameScopesList).pushAttributed(f,e);l.push(new P$(k,d.end))}}for(;l.length>0;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var P$=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function R$(e,t,n,a,i,r,s,c){return new G$(e,t,n,a,i,r,s,c)}function Th(e,t,n,a,i){let r=hn(t,fn),s=Kh.getCompiledRuleId(n,a,i.repository);for(let c of r)e.push({debugSelector:t,matcher:c.matcher,ruleId:s,grammar:i,priority:c.priority})}function fn(e,t){if(t.length{for(let i=n;in&&e.substr(0,n)===t&&e[n]==="."}var G$=class{constructor(e,t,n,a,i,r,s,c){if(this._rootScopeName=e,this.balancedBracketSelectors=r,this._onigLib=c,this._basicScopeAttributesProvider=new H$(n,a),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=Vh(t,null),this._injections=null,this._tokenTypeMatchers=[],i)for(let o of Object.keys(i)){let l=hn(o,fn);for(let p of l)this._tokenTypeMatchers.push({matcher:p.matcher,type:i[o]})}}_rootScopeName;balancedBracketSelectors;_onigLib;_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:i=>i===this._rootScopeName?this._grammar:this.getExternalGrammar(i),injections:i=>this._grammarRepository.injections(i)},t=[],n=this._rootScopeName,a=e.lookup(n);if(a){let i=a.injections;if(i)for(let s in i)Th(t,s,i[s],this,a);let r=this._grammarRepository.injections(n);r&&r.forEach(s=>{let c=this.getExternalGrammar(s);if(c){let o=c.injectionSelector;o&&Th(t,o,c,this,c)}})}return t.sort((i,r)=>i.priority-r.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,n=e(t);return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=Vh(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){let a=this._tokenize(e,t,!1,n);return{tokens:a.lineTokens.getResult(a.ruleStack,a.lineLength),ruleStack:a.ruleStack,stoppedEarly:a.stoppedEarly}}tokenizeLine2(e,t,n=0){let a=this._tokenize(e,t,!0,n);return{tokens:a.lineTokens.getBinaryResult(a.ruleStack,a.lineLength),ruleStack:a.ruleStack,stoppedEarly:a.stoppedEarly}}_tokenize(e,t,n,a){this._rootId===-1&&(this._rootId=Kh.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let i;if(!t||t===ls.NULL){i=!0;let l=this._basicScopeAttributesProvider.getDefaultAttributes(),p=this.themeProvider.getDefaults(),u=G3.set(0,l.languageId,l.tokenType,null,p.fontStyle,p.foregroundId,p.backgroundId),m=this.getRule(this._rootId).getName(null,null),d;m?d=x6.createRootAndLookUpScopeName(m,u,this):d=x6.createRoot("unknown",u),t=new ls(null,this._rootId,-1,-1,!1,null,d,d)}else i=!1,t.reset();e=e+"\n";let r=this.createOnigString(e),s=r.content.length,c=new W$(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),o=Jh(this,r,i,0,t,c,!0,a);return Wh(r),{lineLength:s,lineTokens:c,ruleStack:o.stack,stoppedEarly:o.stoppedEarly}}};function Vh(e,t){return e=p$(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var x6=class Me{constructor(t,n,a){this.parent=t,this.scopePath=n,this.tokenAttributes=a}parent;scopePath;tokenAttributes;static fromExtension(t,n){let a=t,i=t?.scopePath??null;for(let r of n)i=ns.push(i,r.scopeNames),a=new Me(a,i,r.encodedTokenAttributes);return a}static createRoot(t,n){return new Me(null,new ns(null,t),n)}static createRootAndLookUpScopeName(t,n,a){let i=a.getMetadataForScope(t),r=new ns(null,t),s=a.themeProvider.themeMatch(r),c=Me.mergeAttributes(n,i,s);return new Me(null,r,c)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Me.equals(this,t)}static equals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.scopeName!==n.scopeName||t.tokenAttributes!==n.tokenAttributes)return!1;t=t.parent,n=n.parent}while(!0)}static mergeAttributes(t,n,a){let i=-1,r=0,s=0;return a!==null&&(i=a.fontStyle,r=a.foregroundId,s=a.backgroundId),G3.set(t,n.languageId,n.tokenType,null,i,r,s)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(" ")===-1)return Me._pushAttributed(this,t,n);let a=t.split(/ /g),i=this;for(let r of a)i=Me._pushAttributed(i,r,n);return i}static _pushAttributed(t,n,a){let i=a.getMetadataForScope(n),r=t.scopePath.push(n),s=a.themeProvider.themeMatch(r),c=Me.mergeAttributes(t.tokenAttributes,i,s);return new Me(t,r,c)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let n=[],a=this;for(;a&&a!==t;)n.push({encodedTokenAttributes:a.tokenAttributes,scopeNames:a.scopePath.getExtensionIfDefined(a.parent?.scopePath??null)}),a=a.parent;return a===t?n.reverse():void 0}},ls=class S4{constructor(t,n,a,i,r,s,c,o){this.parent=t,this.ruleId=n,this.beginRuleCapturedEOL=r,this.endRule=s,this.nameScopesList=c,this.contentNameScopesList=o,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=a,this._anchorPos=i}parent;ruleId;beginRuleCapturedEOL;endRule;nameScopesList;contentNameScopesList;_stackElementBrand=void 0;static NULL=new S4(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:S4._equals(this,t)}static _equals(t,n){return t===n?!0:this._structuralEquals(t,n)?x6.equals(t.contentNameScopesList,n.contentNameScopesList):!1}static _structuralEquals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.depth!==n.depth||t.ruleId!==n.ruleId||t.endRule!==n.endRule)return!1;t=t.parent,n=n.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){S4._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,a,i,r,s,c){return new S4(this,t,n,a,i,r,s,c)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,n){return this.parent&&(n=this.parent._writeString(t,n)),t[n++]="(".concat(this.ruleId,", ").concat(this.nameScopesList?.toString(),", ").concat(this.contentNameScopesList?.toString(),")"),n}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new S4(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let n=this;for(;n&&n._enterPos===t._enterPos;){if(n.ruleId===t.ruleId)return!0;n=n.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,n){let a=x6.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new S4(t,n.ruleId,n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,a,x6.fromExtension(a,n.contentNameScopesList))}},O$=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(n=>n==="*"?(this.allowAny=!0,[]):hn(n,fn).map(a=>a.matcher)),this.unbalancedBracketScopes=t.flatMap(n=>hn(n,fn).map(a=>a.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},W$=class{constructor(e,t,n,a){this.balancedBracketSelectors=a,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}balancedBracketSelectors;_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let a=e?.tokenAttributes??0,i=!1;if(this.balancedBracketSelectors?.matchesAlways&&(i=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let r=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(r)&&(a=G3.set(a,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(i=this.balancedBracketSelectors.match(r))}if(i&&(a=G3.set(a,0,8,i,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===a){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(a),this._lastTokenEndIndex=t;return}let n=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let n=new Uint32Array(this._binaryTokens.length);for(let a=0,i=this._binaryTokens.length;a0;)r.Q.map(s=>this._loadSingleGrammar(s.scopeName)),r.processQueue();return this._grammarForScopeName(e,t,n,a,i)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let n=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,n)}}addGrammar(e,t=[],n=0,a=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,n,a)}_grammarForScopeName(e,t=0,n=null,a=null,i=null){return this._syncRegistry.grammarForScopeName(e,t,n,a,i)}},vn=ls.NULL;function L6(e,t){let n=typeof e=="string"?{}:{...e.colorReplacements},a=typeof e=="string"?e:e.name;for(let[i,r]of Object.entries(t?.colorReplacements||{}))typeof r=="string"?n[i]=r:i===a&&Object.assign(n,r);return n}function Je(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function cg(e){return Array.isArray(e)?e:[e]}async function us(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function S6(e){return!e||["plaintext","txt","text","plain"].includes(e)}function og(e){return e==="ansi"||S6(e)}function Z6(e){return e==="none"}function lg(e){return Z6(e)}var X$=/(\r?\n)/g;function V5(e,t=!1){if(e.length===0)return[["",0]];let n=e.split(X$),a=0,i=[];for(let r=0;r!o.name&&!o.scope):void 0;c?.settings?.foreground&&(a=c.settings.foreground),c?.settings?.background&&(n=c.settings.background),!a&&t?.colors?.["editor.foreground"]&&(a=t.colors["editor.foreground"]),!n&&t?.colors?.["editor.background"]&&(n=t.colors["editor.background"]),a||(a=t.type==="light"?ag.light:ag.dark),n||(n=t.type==="light"?ig.light:ig.dark),t.fg=a,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,r=new Map;function s(c){if(r.has(c))return r.get(c);i+=1;let o="#".concat(i.toString(16).padStart(8,"0").toLowerCase());return t.colorReplacements?.["#".concat(o)]?s(c):(r.set(c,o),o)}t.settings=t.settings.map(c=>{let o=c.settings?.foreground&&!c.settings.foreground.startsWith("#"),l=c.settings?.background&&!c.settings.background.startsWith("#");if(!o&&!l)return c;let p={...c,settings:{...c.settings}};if(o){let u=s(c.settings.foreground);t.colorReplacements[u]=c.settings.foreground,p.settings.foreground=u}if(l){let u=s(c.settings.background);t.colorReplacements[u]=c.settings.background,p.settings.background=u}return p});for(let c of Object.keys(t.colors||{}))if((c==="editor.foreground"||c==="editor.background"||c.startsWith("terminal.ansi"))&&!t.colors[c]?.startsWith("#")){let o=s(t.colors[c]);t.colorReplacements[o]=t.colors[c],t.colors[c]=o}return Object.defineProperty(t,rg,{enumerable:!1,writable:!1,value:!0}),t}async function K$(e){return[...new Set((await Promise.all(e.filter(t=>!og(t)).map(async t=>await us(t).then(n=>Array.isArray(n)?n:[n])))).flat())]}async function Y$(e){return(await Promise.all(e.map(async t=>lg(t)?null:yn(await us(t))))).filter(t=>!!t)}function pg(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new K1("Circular alias `".concat([...n].join(" -> ")," -> ").concat(e,"`"));n.add(e)}}return e}var Q$=class extends ng{_resolver;_themes;_langs;_alias;_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;constructor(e,t,n,a={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=a,this._themes.map(i=>this.loadTheme(i)),this.loadLanguages(this._langs)}getTheme(e){return typeof e=="string"?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=yn(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=k6.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=pg(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(i=>i.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||["*"],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let a=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(a.name=e.name,this._resolvedGrammars.set(e.name,a),e.aliases&&e.aliases.forEach(i=>{this._alias[i]=e.name}),this._loadedLanguagesCache=null,t.size)for(let i of t)this._syncRegistry?._grammars?.get(i.scopeName)?.dispose(),this._resolvedGrammars.delete(i.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(i.scopeName),this._syncRegistry?._grammars?.delete(i.scopeName),this.loadLanguage(this._langMap.get(i.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let a of e)this.resolveEmbeddedLanguages(a);let t=[...this._langGraph.entries()],n=t.filter(([a,i])=>!i);if(n.length){let a=t.filter(([i,r])=>r?(r.embeddedLanguages||r.embeddedLangs)?.some(s=>n.map(([c])=>c).includes(s)):!1).filter(i=>!n.includes(i));throw new K1("Missing languages ".concat(n.map(([i])=>"`".concat(i,"`")).join(", "),", required by ").concat(a.map(([i])=>"`".concat(i,"`")).join(", ")))}for(let[a,i]of t)this._resolver.addLanguage(i);for(let[a,i]of t)this.loadLanguage(i)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let n of t)this._langGraph.set(n,this._langMap.get(n))}},J$=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:n=>e.createScanner(n),createOnigString:n=>e.createString(n)},t.forEach(n=>this.addLanguage(n))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).includes(e.scopeName)||this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split("."),n=[];for(let a=1;a<=t.length;a++){let i=t.slice(0,a).join(".");n=[...n,...this._injections.get(i)||[]]}return n}},$6=0;function ms(e){$6+=1,e.warnings!==!1&&$6>=10&&$6%10===0&&console.warn("[Shiki] ".concat($6," 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."));let t=!1;if(!e.engine)throw new K1("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),a=(e.themes||[]).flat(1).map(yn),i=new Q$(new J$(e.engine,n),a,n,e.langAlias),r;function s(b){return pg(b,e.langAlias)}function c(b){k();let _=i.getGrammar(typeof b=="string"?b:b.name);if(!_)throw new K1("Language `".concat(b,"` not found, you may need to load it first"));return _}function o(b){if(b==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};k();let _=i.getTheme(b);if(!_)throw new K1("Theme `".concat(b,"` not found, you may need to load it first"));return _}function l(b){k();let _=o(b);return r!==b&&(i.setTheme(_),r=b),{theme:_,colorMap:i.getColorMap()}}function p(){return k(),i.getLoadedThemes()}function u(){return k(),i.getLoadedLanguages()}function m(...b){k(),i.loadLanguages(b.flat(1))}async function d(...b){return m(await K$(b))}function f(...b){k();for(let _ of b.flat(1))i.loadTheme(_)}async function w(...b){return k(),f(await Y$(b))}function k(){if(t)throw new K1("Shiki instance has been disposed")}function v(){t||(t=!0,i.dispose(),$6-=1)}return{setTheme:l,getTheme:o,getLanguage:c,getLoadedThemes:p,getLoadedLanguages:u,resolveLangAlias:s,loadLanguage:d,loadLanguageSync:m,loadTheme:w,loadThemeSync:f,dispose:v,[Symbol.dispose]:v}}var ug=new WeakMap;function E6(e,t){ug.set(e,t)}function q5(e){return ug.get(e)}var _n=class mg{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new mg(Object.fromEntries(cg(n).map(a=>[a,vn])),t)}constructor(...t){if(t.length===2){let[n,a]=t;this.lang=a,this._stacks=n}else{let[n,a,i]=t;this.lang=a,this._stacks={[i]:n}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return eL(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function eL(e){let t=[],n=new Set;function a(i){if(n.has(i))return;n.add(i);let r=i?.nameScopesList?.scopeName;r&&t.push(r),i.parent&&a(i.parent)}return a(e),t}function tL(e,t){if(!(e instanceof _n))throw new K1("Invalid grammar state");return e.getInternalStack(t)}var nL=/,/,aL=/ /;function ds(e,t,n={}){let{theme:a=e.getLoadedThemes()[0]}=n;if(S6(e.resolveLangAlias(n.lang||"text"))||Z6(a))return V5(t).map(c=>[{content:c[0],offset:c[1]}]);let{theme:i,colorMap:r}=e.setTheme(a),s=e.getLanguage(n.lang||"text");if(n.grammarState){if(n.grammarState.lang!==s.name)throw new K1('Grammar state language "'.concat(n.grammarState.lang,'" does not match highlight language "').concat(s.name,'"'));if(!n.grammarState.themes.includes(i.name))throw new K1('Grammar state themes "'.concat(n.grammarState.themes,'" do not contain highlight theme "').concat(i.name,'"'))}return hg(t,s,i,r,n)}function dg(...e){if(e.length===2)return q5(e[1]);let[t,n,a={}]=e,{lang:i="text",theme:r=t.getLoadedThemes()[0]}=a;if(S6(i)||Z6(r))throw new K1("Plain language does not have grammar state");if(i==="ansi")throw new K1("ANSI language does not have grammar state");let{theme:s,colorMap:c}=t.setTheme(r),o=t.getLanguage(i);return new _n(hs(n,o,s,c,a).stateStack,o.name,s.name)}function hg(e,t,n,a,i){let r=hs(e,t,n,a,i),s=new _n(r.stateStack,t.name,n.name);return E6(r.tokens,s),r.tokens}function hs(e,t,n,a,i){let r=L6(n,i),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:c=500,includeExplanation:o=!1}=i,l=V5(e),p=i.grammarState?tL(i.grammarState,n.name)??vn:i.grammarContextCode!=null?hs(i.grammarContextCode,t,n,a,{...i,grammarState:void 0,grammarContextCode:void 0}).stateStack:vn,u=[],m=[];for(let d=0,f=l.length;d0&&w.length>=s){u=[],m.push([{content:w,offset:k,color:"",fontStyle:0}]);continue}let v,b,_;o&&o!=="tokenType"&&(v=t.tokenizeLine(w,p,c),b=v.tokens,_=0);let z=t.tokenizeLine2(w,p,c),L=z.tokens.length/2;for(let C=0;Co1.trim());break;case"object":X=G.scope;break;default:continue}I.push({settings:G,selectors:X.map(o1=>o1.split(aL))})}B.explanation=[];let e1=0;for(;j+e1({scopeName:t}))}function rL(e,t){let n=[];for(let a=0,i=t.length;a=0&&i>=0;)sg(e[a],n[i])&&(a-=1),i-=1;return a===-1}function cL(e,t,n){let a=[];for(let{selectors:i,settings:r}of e)for(let s of i)if(sL(s,t,n)){a.push(r);break}return a}function wn(e,t,n,a=ds){let i=Object.entries(n.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),r=i.map(l=>{let p=a(e,t,{...n,theme:l.theme});return{tokens:p,state:q5(p),theme:typeof l.theme=="string"?l.theme:l.theme.name}}),s=oL(...r.map(l=>l.tokens)),c=s[0].map((l,p)=>l.map((u,m)=>{let d={content:u.content,variants:{},offset:u.offset};return"includeExplanation"in n&&n.includeExplanation&&(d.explanation=u.explanation),s.forEach((f,w)=>{let{content:k,explanation:v,offset:b,..._}=f[p][m];d.variants[i[w].color]=_}),d})),o=r[0].state?new _n(Object.fromEntries(r.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),r[0].state.lang):void 0;return o&&E6(c,o),c}function oL(...e){let t=e.map(()=>[]),n=e.length;for(let a=0;ao[a]),r=t.map(()=>[]);t.forEach((o,l)=>o.push(r[l]));let s=i.map(()=>0),c=i.map(o=>o[0]);for(;c.every(o=>o);){let o=Math.min(...c.map(l=>l.content.length));for(let l=0;lv1,booleanish:()=>v0,commaOrSpaceSeparated:()=>k2,commaSeparated:()=>t3,number:()=>O,overloadedBoolean:()=>xn,spaceSeparated:()=>O1});var lL=0,v1=Z4(),v0=Z4(),xn=Z4(),O=Z4(),O1=Z4(),t3=Z4(),k2=Z4();function Z4(){return 2**++lL}var bs=Object.keys(j6),E4=class extends q0{constructor(t,n,a,i){let r=-1;if(super(t,n),bg(this,"space",i),typeof a=="number")for(;++r4&&n.slice(0,4)==="data"&&uL.test(t)){if(t.charAt(4)==="-"){let r=t.slice(5).replace(yg,dL);a="data"+r.charAt(0).toUpperCase()+r.slice(1)}else{let r=t.slice(4);if(!yg.test(r)){let s=r.replace(pL,mL);s.charAt(0)!=="-"&&(s="-"+s),t="data"+s}}i=E4}return new i(a,t)}function mL(e){return"-"+e.toLowerCase()}function dL(e){return e.charAt(1).toUpperCase()}var Cn=gs([fs,fg,vs,ys,_s],"html"),An=gs([fs,vg,vs,ys,_s],"svg");var _g={}.hasOwnProperty;function wg(e,t){let n=t||{};function a(i,...r){let s=a.invalid,c=a.handlers;if(i&&_g.call(i,e)){let o=String(i[e]);s=_g.call(c,o)?c[o]:a.unknown}if(s)return s.call(this,i,...r)}return a.handlers=n.handlers||{},a.invalid=n.invalid,a.unknown=n.unknown,a}var hL=/["&'<>`]/g,gL=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,bL=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,fL=/[|\\{}()[\]^$+*?.]/g,xg=new WeakMap;function kg(e,t){if(e=e.replace(t.subset?vL(t.subset):hL,a),t.subset||t.escapeOnly)return e;return e.replace(gL,n).replace(bL,a);function n(i,r,s){return t.format((i.charCodeAt(0)-55296)*1024+i.charCodeAt(1)-56320+65536,s.charCodeAt(r+2),t)}function a(i,r,s){return t.format(i.charCodeAt(0),s.charCodeAt(r+1),t)}}function vL(e){let t=xg.get(e);return t||(t=yL(e),xg.set(e,t)),t}function yL(e){let t=[],n=-1;for(;++n",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var Mg=["cent","copy","divide","gt","lt","not","para","times"];var $g={}.hasOwnProperty,xs={},$n;for($n in Mn)$g.call(Mn,$n)&&(xs[Mn[$n]]=$n);var xL=/[^\dA-Za-z]/;function Lg(e,t,n,a){let i=String.fromCharCode(e);if($g.call(xs,i)){let r=xs[i],s="&"+r;return n&&Ag.includes(r)&&!Mg.includes(r)&&(!a||t&&t!==61&&xL.test(String.fromCharCode(t)))?s:s+";"}return""}function Sg(e,t,n){let a=zg(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=Lg(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let r=Cg(e,t,n.omitOptionalSemicolons);r.length|^->||--!>|"],CL=["<",">"];function Zg(e,t,n,a){return a.settings.bogusComments?"":"";function i(r){return n3(r,Object.assign({},a.settings.characterReferences,{subset:CL}))}}function Eg(e,t,n,a){return""}function I5(e,t){let n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let a=0,i=n.indexOf(t);for(;i!==-1;)a++,i=n.indexOf(t,i+t.length);return a}function Fg(e,t){let n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function jg(e){return e.join(" ").trim()}var AL=/[ \t\n\f\r]/g;function F4(e){return typeof e=="object"?e.type==="text"?Hg(e.value):!1:Hg(e)}function Hg(e){return e.replace(AL,"")===""}var k0=Ng(1),ks=Ng(-1),ML=[];function Ng(e){return t;function t(n,a,i){let r=n?n.children:ML,s=(a||0)+e,c=r[s];if(!i)for(;c&&F4(c);)s+=e,c=r[s];return c}}var $L={}.hasOwnProperty;function Ln(e){return t;function t(n,a,i){return $L.call(e,n.tagName)&&e[n.tagName](n,a,i)}}var H6=Ln({body:SL,caption:zs,colgroup:zs,dd:jL,dt:FL,head:zs,html:LL,li:EL,optgroup:HL,option:NL,p:ZL,rp:Tg,rt:Tg,tbody:VL,td:Vg,tfoot:qL,th:Vg,thead:TL,tr:IL});function zs(e,t,n){let a=k0(n,t,!0);return!a||a.type!=="comment"&&!(a.type==="text"&&F4(a.value.charAt(0)))}function LL(e,t,n){let a=k0(n,t);return!a||a.type!=="comment"}function SL(e,t,n){let a=k0(n,t);return!a||a.type!=="comment"}function ZL(e,t,n){let a=k0(n,t);return a?a.type==="element"&&(a.tagName==="address"||a.tagName==="article"||a.tagName==="aside"||a.tagName==="blockquote"||a.tagName==="details"||a.tagName==="div"||a.tagName==="dl"||a.tagName==="fieldset"||a.tagName==="figcaption"||a.tagName==="figure"||a.tagName==="footer"||a.tagName==="form"||a.tagName==="h1"||a.tagName==="h2"||a.tagName==="h3"||a.tagName==="h4"||a.tagName==="h5"||a.tagName==="h6"||a.tagName==="header"||a.tagName==="hgroup"||a.tagName==="hr"||a.tagName==="main"||a.tagName==="menu"||a.tagName==="nav"||a.tagName==="ol"||a.tagName==="p"||a.tagName==="pre"||a.tagName==="section"||a.tagName==="table"||a.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"||n.tagName.includes("-")))}function EL(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&a.tagName==="li"}function FL(e,t,n){let a=k0(n,t);return!!(a&&a.type==="element"&&(a.tagName==="dt"||a.tagName==="dd"))}function jL(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&(a.tagName==="dt"||a.tagName==="dd")}function Tg(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&(a.tagName==="rp"||a.tagName==="rt")}function HL(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&a.tagName==="optgroup"}function NL(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&(a.tagName==="option"||a.tagName==="optgroup")}function TL(e,t,n){let a=k0(n,t);return!!(a&&a.type==="element"&&(a.tagName==="tbody"||a.tagName==="tfoot"))}function VL(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&(a.tagName==="tbody"||a.tagName==="tfoot")}function qL(e,t,n){return!k0(n,t)}function IL(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&a.tagName==="tr"}function Vg(e,t,n){let a=k0(n,t);return!a||a.type==="element"&&(a.tagName==="td"||a.tagName==="th")}var qg=Ln({body:RL,colgroup:DL,head:PL,html:BL,tbody:GL});function BL(e){let t=k0(e,-1);return!t||t.type!=="comment"}function PL(e){let t=new Set;for(let a of e.children)if(a.type==="element"&&(a.tagName==="base"||a.tagName==="title")){if(t.has(a.tagName))return!1;t.add(a.tagName)}let n=e.children[0];return!n||n.type==="element"}function RL(e){let t=k0(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&F4(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function DL(e,t,n){let a=ks(n,t);if(n&&a&&a.type==="element"&&a.tagName==="colgroup"&&H6(a,n.children.indexOf(a),n))return!1;let i=k0(e,-1,!0);return!!(i&&i.type==="element"&&i.tagName==="col")}function GL(e,t,n){let a=ks(n,t);if(n&&a&&a.type==="element"&&(a.tagName==="thead"||a.tagName==="tbody")&&H6(a,n.children.indexOf(a),n))return!1;let i=k0(e,-1);return!!(i&&i.type==="element"&&i.tagName==="tr")}var Sn={name:[[" \n\f\r &/=>".split("")," \n\f\r \"&'/=>`".split("")],["\0 \n\f\r \"&'/<=>".split(""),"\0 \n\f\r \"&'/<=>`".split("")]],unquoted:[[" \n\f\r &>".split(""),"\0 \n\f\r \"&'<=>`".split("")],["\0 \n\f\r \"&'<=>`".split(""),"\0 \n\f\r \"&'<=>`".split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]},OL=new Set(["desc","foreignObject","title"]);function Ig(e,t,n,a){let{schema:i}=a,r=i.space==="svg"?!1:a.settings.omitOptionalTags,s=i.space==="svg"?a.settings.closeEmptyElements:a.settings.voids.includes(e.tagName.toLowerCase()),c=[];i.space==="html"&&e.tagName==="svg"&&(a.schema=An);let o=WL(a,e.properties);a.schema.space==="svg"&&OL.has(e.tagName)&&(a.schema=Cn);let l=a.all(i.space==="html"&&e.tagName==="template"?e.content:e);if(a.schema=i,l&&(s=!1),o||!r||!qg(e,t,n)){if(c.push("<",e.tagName,o?" "+o:""),s&&(i.space==="svg"||a.settings.closeSelfClosing)){let p=o.charAt(o.length-1);(!a.settings.tightSelfClosing||p==="/"||p&&p!=='"'&&p!=="'")&&c.push(" "),c.push("/")}c.push(">")}return c.push(l),!s&&(!r||!H6(e,t,n))&&c.push(""),c.join("")}function WL(e,t){let n=[],a=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let r=UL(e,i,t[i]);r&&n.push(r)}}for(;++aI5(n,e.alternative)&&(o=e.alternative),c=o+n3(n,Object.assign({},e.settings.characterReferences,{subset:(o==="'"?Sn.single:Sn.double)[i][r],attribute:!0}))+o}return s+(c&&"="+c)}var XL=["<","&"];function Zn(e,t,n,a){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?e.value:n3(e.value,Object.assign({},a.settings.characterReferences,{subset:XL}))}function Bg(e,t,n,a){return a.settings.allowDangerousHtml?e.value:Zn(e,t,n,a)}function Pg(e,t,n,a){return a.all(e)}var Rg=wg("type",{invalid:KL,unknown:YL,handlers:{comment:Zg,doctype:Eg,element:Ig,raw:Bg,root:Pg,text:Zn}});function KL(e){throw new Error("Expected node, not `"+e+"`")}function YL(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var QL={},JL={},eS=[];function Cs(e,t){let n=t||QL,a=n.quote||'"';if(a!=='"'&&a!=="'")throw new Error("Invalid quote `"+a+"`, expected `'` or `\"`");let i=a==='"'?"'":'"';return{one:tS,all:nS,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||gg,characterReferences:n.characterReferences||JL,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?An:Cn,quote:a,alternative:i}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function tS(e,t,n){return Rg(e,t,n,this)}function nS(e){let t=[],n=e&&e.children||eS,a=-1;for(;++ai);function n(i){if(i===e.length)return{line:t.length-1,character:t.at(-1).length};let r=i,s=0;for(let c of t){if(rn&&a.push({...e,content:e.content.slice(n,i),offset:e.offset+n}),n=i;return n>1);e[i]<=t?n=i+1:a=i}return n}function oS(e,t){let n=[...t instanceof Set?t:new Set(t)].sort((a,i)=>a-i);return n.length?e.map(a=>a.flatMap(i=>{let r=i.offset+i.content.length,s=cS(n,i.offset),c=s;for(;cEn(e.variants[p])),c=new Set(s.flatMap(p=>Object.keys(p))),o={},l=(p,u)=>{let m=u==="color"?"":u==="background-color"?"-bg":"-".concat(u);return n+t[p]+(u==="color"?"":m)};return s.forEach((p,u)=>{for(let m of c){let d=p[m]||"inherit";if(u===0&&a&&rS.includes(m))if(a==="light-dark()"&&s.length>1){let f=t.findIndex(b=>b==="light"),w=t.findIndex(b=>b==="dark");if(f===-1||w===-1)throw new K1('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let k=s[f][m]||"inherit",v=s[w][m]||"inherit";o[m]="light-dark(".concat(k,", ").concat(v,")"),i==="css-vars"&&(o[l(u,m)]=d)}else o[m]=d;else i==="css-vars"&&(o[l(u,m)]=d)}}),r.htmlStyle=o,r}function En(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&D0.Italic&&(t["font-style"]="italic"),e.fontStyle&D0.Bold&&(t["font-weight"]="bold");let n=[];e.fontStyle&D0.Underline&&n.push("underline"),e.fontStyle&D0.Strikethrough&&n.push("line-through"),n.length&&(t["text-decoration"]=n.join(" "))}return t}function Ms(e){return typeof e=="string"?e:Object.entries(e).map(([t,n])=>"".concat(t,":").concat(n)).join(";")}function pS(){let e=new WeakMap;function t(n){if(!e.has(n.meta)){let i=function(s){if(typeof s=="number"){if(s<0||s>n.source.length)throw new K1("Invalid decoration offset: ".concat(s,". Code length: ").concat(n.source.length));return{...a.indexToPos(s),offset:s}}else{let c=a.lines[s.line];if(c===void 0)throw new K1("Invalid decoration position ".concat(JSON.stringify(s),". Lines length: ").concat(a.lines.length));let o=s.character;if(o<0&&(o=c.length+o),o<0||o>c.length)throw new K1("Invalid decoration position ".concat(JSON.stringify(s),". Line ").concat(s.line," length: ").concat(c.length));return{...s,character:o,offset:a.posToIndex(s.line,o)}}},a=iS(n.source),r=(n.options.decorations||[]).map(s=>({...s,start:i(s.start),end:i(s.end)}));uS(r),e.set(n.meta,{decorations:r,converter:a,source:n.source})}return e.get(n.meta)}return{name:"shiki:decorations",tokens(n){if(this.options.decorations?.length)return oS(n,t(this).decorations.flatMap(a=>[a.start.offset,a.end.offset]))},code(n){if(!this.options.decorations?.length)return;let a=t(this),i=[...n.children].filter(p=>p.type==="element"&&p.tagName==="span");if(i.length!==a.converter.lines.length)throw new K1("Number of lines in code element (".concat(i.length,") does not match the number of lines in the source (").concat(a.converter.lines.length,"). Failed to apply decorations."));function r(p,u,m,d){let f=i[p],w="",k=-1,v=-1;if(u===0&&(k=0),m===0&&(v=0),m===Number.POSITIVE_INFINITY&&(v=f.children.length),k===-1||v===-1)for(let _=0;_w);return p.tagName=u.tagName||"span",p.properties={...p.properties,...d,class:p.properties.class},u.properties?.class&&Wg(p,u.properties.class),p=f(p,m)||p,p}let o=[],l=a.decorations.sort((p,u)=>u.start.offset-p.start.offset||p.end.offset-u.end.offset);for(let p of l){let{start:u,end:m}=p;if(u.line===m.line)r(u.line,u.character,m.character,p);else if(u.lines(d,p));r(m.line,0,m.character,p)}}o.forEach(p=>p())}}}function uS(e){for(let t=0;tn.end.offset)throw new K1("Invalid decoration range: ".concat(JSON.stringify(n.start)," - ").concat(JSON.stringify(n.end)));for(let a=t+1;aNumber.parseInt(a));return n.length!==3||n.some(a=>Number.isNaN(a))?void 0:{type:"rgb",rgb:n}}else if(t==="5"){let n=e.shift();if(n)return{type:"table",index:Number(n)}}}function gS(e){let t=[];for(;e.length>0;){let n=e.shift();if(!n)continue;let a=Number.parseInt(n);if(!Number.isNaN(a))if(a===0)t.push({type:"resetAll"});else if(a<=9)As[a]&&t.push({type:"setDecoration",value:As[a]});else if(a<=29){let i=As[a-20];i&&(t.push({type:"resetDecoration",value:i}),i==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(a<=37)t.push({type:"setForegroundColor",value:{type:"named",name:j4[a-30]}});else if(a===38){let i=Gg(e);i&&t.push({type:"setForegroundColor",value:i})}else if(a===39)t.push({type:"resetForegroundColor"});else if(a<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:j4[a-40]}});else if(a===48){let i=Gg(e);i&&t.push({type:"setBackgroundColor",value:i})}else a===49?t.push({type:"resetBackgroundColor"}):a===53?t.push({type:"setDecoration",value:"overline"}):a===55?t.push({type:"resetDecoration",value:"overline"}):a>=90&&a<=97?t.push({type:"setForegroundColor",value:{type:"named",name:j4[a-90+8]}}):a>=100&&a<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:j4[a-100+8]}})}return t}function bS(){let e=null,t=null,n=new Set;return{parse(a){let i=[],r=0;do{let s=hS(a,r),c=s.sequence?a.substring(r,s.startPosition):a.substring(r);if(c.length>0&&i.push({value:c,foreground:e,background:t,decorations:new Set(n)}),s.sequence){let o=gS(s.sequence);for(let l of o)l.type==="resetAll"?(e=null,t=null,n.clear()):l.type==="resetForegroundColor"?e=null:l.type==="resetBackgroundColor"?t=null:l.type==="resetDecoration"&&n.delete(l.value);for(let l of o)l.type==="setForegroundColor"?e=l.value:l.type==="setBackgroundColor"?t=l.value:l.type==="setDecoration"&&n.add(l.value)}r=s.position}while(rMath.max(0,Math.min(o,255)).toString(16).padStart(2,"0")).join(""))}let a;function i(){if(a)return a;a=[];for(let l=0;l{let o="terminal.ansi".concat(c[0].toUpperCase()).concat(c.substring(1));return[c,e.colors?.[o]||wS[c]]}))),s=bS();return i.map(c=>s.parse(c[0]).map(o=>{let l,p;o.decorations.has("reverse")?(l=o.background?r.value(o.background):e.bg,p=o.foreground?r.value(o.foreground):e.fg):(l=o.foreground?r.value(o.foreground):e.fg,p=o.background?r.value(o.background):void 0),l=Je(l,a),p=Je(p,a),o.decorations.has("dim")&&(l=kS(l));let u=D0.None;return o.decorations.has("bold")&&(u|=D0.Bold),o.decorations.has("italic")&&(u|=D0.Italic),o.decorations.has("underline")&&(u|=D0.Underline),o.decorations.has("strikethrough")&&(u|=D0.Strikethrough),{content:o.value,offset:c[1],color:l,bgColor:p,fontStyle:u}}))}function kS(e){let t=e.match(yS);if(t){let a=t[1];if(a.length===8){let i=Math.round(Number.parseInt(a.slice(6,8),16)/2).toString(16).padStart(2,"0");return"#".concat(a.slice(0,6)).concat(i)}else{if(a.length===6)return"#".concat(a,"80");if(a.length===4){let i=a[0],r=a[1],s=a[2],c=a[3];return"#".concat(i).concat(i).concat(r).concat(r).concat(s).concat(s).concat(Math.round(Number.parseInt("".concat(c).concat(c),16)/2).toString(16).padStart(2,"0"))}else if(a.length===3){let i=a[0],r=a[1],s=a[2];return"#".concat(i).concat(i).concat(r).concat(r).concat(s).concat(s,"80")}}}let n=e.match(_S);return n?"var(".concat(n[1],"-dim)"):e}function $s(e,t,n={}){let a=e.resolveLangAlias(n.lang||"text"),{theme:i=e.getLoadedThemes()[0]}=n;if(!S6(a)&&!Z6(i)&&a==="ansi"){let{theme:r}=e.setTheme(i);return xS(r,t,n)}return ds(e,t,n)}function jn(e,t,n){let a,i,r,s,c,o;if("themes"in n){let{defaultColor:l="light",cssVariablePrefix:p="--shiki-",colorsRendering:u="css-vars"}=n,m=Object.entries(n.themes).filter(v=>v[1]).map(v=>({color:v[0],theme:v[1]})).sort((v,b)=>v.color===l?-1:b.color===l?1:0);if(m.length===0)throw new K1("`themes` option must not be empty");let d=wn(e,t,n,$s);if(o=q5(d),l&&l!=="light-dark()"&&!m.some(v=>v.color===l))throw new K1("`themes` option must contain the defaultColor key `".concat(l,"`"));let f=m.map(v=>e.getTheme(v.theme)),w=m.map(v=>v.color);r=d.map(v=>v.map(b=>lS(b,w,p,l,u))),o&&E6(r,o);let k=m.map(v=>L6(v.theme,n));i=Og(m,f,k,p,l,"fg",u),a=Og(m,f,k,p,l,"bg",u),s="shiki-themes ".concat(f.map(v=>v.name).join(" ")),c=l?void 0:[i,a].join(";")}else if("theme"in n){let l=L6(n.theme,n);r=$s(e,t,n);let p=e.getTheme(n.theme);a=Je(p.bg,l),i=Je(p.fg,l),s=p.name,o=q5(r)}else throw new K1("Invalid options, either `theme` or `themes` must be provided");return{tokens:r,fg:i,bg:a,themeName:s,rootStyle:c,grammarState:o}}function Og(e,t,n,a,i,r,s){return e.map((c,o)=>{let l=Je(t[o][r],n[o])||"inherit",p="".concat(a+c.color).concat(r==="bg"?"-bg":"",":").concat(l);if(o===0&&i){if(i==="light-dark()"&&e.length>1){let u=e.findIndex(d=>d.color==="light"),m=e.findIndex(d=>d.color==="dark");if(u===-1||m===-1)throw new K1('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return"light-dark(".concat(Je(t[u][r],n[u])||"inherit",", ").concat(Je(t[m][r],n[m])||"inherit",");").concat(p)}return l}return s==="css-vars"?p:null}).filter(c=>!!c).join(";")}var Xg=/^\s+$/,zS=/^(\s*)(.*?)(\s*)$/;function Hn(e,t,n,a={meta:{},options:n,codeToHast:(i,r)=>Hn(e,i,r),codeToTokens:(i,r)=>jn(e,i,r)}){let i=t;for(let f of Fn(n))i=f.preprocess?.call(a,i,n)||i;let{tokens:r,fg:s,bg:c,themeName:o,rootStyle:l,grammarState:p}=jn(e,i,n),{mergeWhitespaces:u=!0,mergeSameStyleTokens:m=!1}=n;u===!0?r=AS(r):u==="never"&&(r=MS(r)),m&&(r=$S(r));let d={...a,get source(){return i}};for(let f of Fn(n))r=f.tokens?.call(d,r)||r;return CS(r,{...n,fg:s,bg:c,themeName:o,rootStyle:n.rootStyle===!1?!1:n.rootStyle??l},d,p)}function CS(e,t,n,a=q5(e)){let i=Fn(t),r=[],s={type:"root",children:[]},{structure:c="classic",tabindex:o="0"}=t,l={class:"shiki ".concat(t.themeName||"")};t.rootStyle!==!1&&(t.rootStyle!=null?l.style=t.rootStyle:l.style="background-color:".concat(t.bg,";color:").concat(t.fg)),o!==!1&&o!=null&&(l.tabindex=o.toString());for(let[w,k]of Object.entries(t.meta||{}))w.startsWith("_")||(l[w]=k);let p={type:"element",tagName:"pre",properties:l,children:[],data:t.data},u={type:"element",tagName:"code",properties:{},children:r},m=[],d={...n,structure:c,addClassToHast:Wg,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return p},get code(){return u},get lines(){return m}};if(e.forEach((w,k)=>{k&&(c==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):c==="classic"&&r.push({type:"text",value:"\n"}));let v={type:"element",tagName:"span",properties:{class:"line"},children:[]},b=0;for(let _ of w){let z={type:"element",tagName:"span",properties:{..._.htmlAttrs},children:[{type:"text",value:_.content}]},L=Ms(_.htmlStyle||En(_));L&&(z.properties.style=L);for(let C of i)z=C?.span?.call(d,z,k+1,b,v,_)||z;c==="inline"?s.children.push(z):c==="classic"&&v.children.push(z),b+=_.content.length}if(c==="classic"){for(let _ of i)v=_?.line?.call(d,v,k+1)||v;m.push(v),r.push(v)}else c==="inline"&&m.push(v)}),c==="classic"){for(let w of i)u=w?.code?.call(d,u)||u;p.children.push(u);for(let w of i)p=w?.pre?.call(d,p)||p;s.children.push(p)}else if(c==="inline"){let w=[],k={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let b of s.children)b.type==="element"&&b.tagName==="br"?(w.push(k),k={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(b.type==="element"||b.type==="text")&&k.children.push(b);w.push(k);let v={type:"element",tagName:"code",properties:{},children:w};for(let b of i)v=b?.code?.call(d,v)||v;s.children=[];for(let b=0;b0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let _=v.children[b];_.type==="element"&&s.children.push(..._.children)}}let f=s;for(let w of i)f=w?.root?.call(d,f)||f;return a&&E6(f,a),f}function AS(e){return e.map(t=>{let n=[],a="",i;return t.forEach((r,s)=>{let c=!(r.fontStyle&&(r.fontStyle&D0.Underline||r.fontStyle&D0.Strikethrough));c&&Xg.test(r.content)&&t[s+1]?(i===void 0&&(i=r.offset),a+=r.content):a?(c?n.push({...r,offset:i,content:a+r.content}):n.push({content:a,offset:i},r),i=void 0,a=""):n.push(r)}),n})}function MS(e){return e.map(t=>t.flatMap(n=>{if(Xg.test(n.content))return n;let a=n.content.match(zS);if(!a)return n;let[,i,r,s]=a;if(!i&&!s)return n;let c=[{...n,offset:n.offset+i.length,content:r}];return i&&c.unshift({content:i,offset:n.offset}),s&&c.push({content:s,offset:n.offset+i.length+r.length}),c}))}function $S(e){return e.map(t=>{let n=[];for(let a of t){if(n.length===0){n.push({...a});continue}let i=n.at(-1),r=Ms(i.htmlStyle||En(i)),s=Ms(a.htmlStyle||En(a)),c=i.fontStyle&&(i.fontStyle&D0.Underline||i.fontStyle&D0.Strikethrough),o=a.fontStyle&&(a.fontStyle&D0.Underline||a.fontStyle&D0.Strikethrough);!c&&!o&&r===s?i.content+=a.content:n.push({...a})}return n})}var LS=Cs;function SS(e,t,n){let a={meta:{},options:n,codeToHast:(r,s)=>Hn(e,r,s),codeToTokens:(r,s)=>jn(e,r,s)},i=LS(Hn(e,t,n,a));for(let r of Fn(n))i=r.postprocess?.call(a,i,n)||i;return i}function Kg(e){let t=ms(e);return{getLastGrammarState:(...n)=>dg(t,...n),codeToTokensBase:(n,a)=>$s(t,n,a),codeToTokensWithThemes:(n,a)=>wn(t,n,a),codeToTokens:(n,a)=>jn(t,n,a),codeToHast:(n,a)=>Hn(t,n,a),codeToHtml:(n,a)=>SS(t,n,a),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Yg(e={}){let{name:t="css-variables",variablePrefix:n="--shiki-",fontStyle:a=!0}=e,i=s=>e.variableDefaults?.[s]?"var(".concat(n).concat(s,", ").concat(e.variableDefaults[s],")"):"var(".concat(n).concat(s,")"),r={name:t,type:"dark",colors:{"editor.foreground":i("foreground"),"editor.background":i("background"),"terminal.ansiBlack":i("ansi-black"),"terminal.ansiRed":i("ansi-red"),"terminal.ansiGreen":i("ansi-green"),"terminal.ansiYellow":i("ansi-yellow"),"terminal.ansiBlue":i("ansi-blue"),"terminal.ansiMagenta":i("ansi-magenta"),"terminal.ansiCyan":i("ansi-cyan"),"terminal.ansiWhite":i("ansi-white"),"terminal.ansiBrightBlack":i("ansi-bright-black"),"terminal.ansiBrightRed":i("ansi-bright-red"),"terminal.ansiBrightGreen":i("ansi-bright-green"),"terminal.ansiBrightYellow":i("ansi-bright-yellow"),"terminal.ansiBrightBlue":i("ansi-bright-blue"),"terminal.ansiBrightMagenta":i("ansi-bright-magenta"),"terminal.ansiBrightCyan":i("ansi-bright-cyan"),"terminal.ansiBrightWhite":i("ansi-bright-white")},tokenColors:[{scope:["keyword.operator.accessor","meta.group.braces.round.function.arguments","meta.template.expression","markup.fenced_code meta.embedded.block"],settings:{foreground:i("foreground")}},{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:i("token-link")}},{scope:["string","markup.fenced_code","markup.inline"],settings:{foreground:i("token-string")}},{scope:["comment","string.quoted.docstring.multi"],settings:{foreground:i("token-comment")}},{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:i("token-constant")}},{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:i("token-keyword")}},{scope:"variable.parameter.function",settings:{foreground:i("token-parameter")}},{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:i("token-function")}},{scope:["entity.name.tag","string.quoted","string.regexp","string.interpolated","string.template","string.unquoted.plain.out.yaml","keyword.other.template"],settings:{foreground:i("token-string-expression")}},{scope:["punctuation.definition.arguments","punctuation.definition.dict","punctuation.separator","meta.function-call.arguments"],settings:{foreground:i("token-punctuation")}},{scope:["markup.underline.link","punctuation.definition.metadata.markdown"],settings:{foreground:i("token-link")}},{scope:["beginning.punctuation.definition.list.markdown"],settings:{foreground:i("token-string")}},{scope:["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","string.other.link.title.markdown","string.other.link.description.markdown"],settings:{foreground:i("token-keyword")}},{scope:["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],settings:{foreground:i("token-inserted")}},{scope:["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],settings:{foreground:i("token-deleted")}},{scope:["markup.changed","punctuation.definition.changed"],settings:{foreground:i("token-changed")}}]};return a||(r.tokenColors=r.tokenColors?.map(s=>(s.settings?.fontStyle&&delete s.settings.fontStyle,s))),r}function ZS(e){return!e.sticky&&!e.rawOptions?.strategy}function Qg(e,t){return{index:e,captureIndices:t.map(n=>n==null?{start:4294967295,end:4294967295,length:0}:{start:n[0],end:n[1],length:n[1]-n[0]})}}var Jg=class{patterns;options;regexps;lastSearches;constructor(e,t={}){this.patterns=e,this.options=t;let{forgiving:n=!1,cache:a,regexConstructor:i}=t;if(!i)throw new Error("Option `regexConstructor` is not provided");this.regexps=e.map(r=>{if(typeof r!="string")return r;let s=a?.get(r);if(s){if(s instanceof RegExp)return s;if(n)return null;throw s}try{let c=i(r);return a?.set(r,c),c}catch(c){if(a?.set(r,c),n)return null;throw c}}),this.lastSearches=this.regexps.map(r=>r&&ZS(r)?{strId:0,searchedFrom:0,matchIndex:-1,indices:null}:null)}findNextMatchSync(e,t,n){let a=typeof e=="string"?e:e.content,i=typeof e=="string"?0:e.id||0,r=-1,s=0,c=null;for(let o=0;o=t))u=p.matchIndex,m=p.indices;else{l.lastIndex=t;let d=l.exec(a);u=d?d.index:-1,m=d?d.indices:null,p&&(p.strId=i,p.searchedFrom=t,p.matchIndex=u,p.indices=m)}if(u===-1)continue;if(u===t)return Qg(o,m);(r===-1||u]*>?\n | [gk]'[^']*'?\n | .\n )\n | ( (?:\n ? (?:\n [:=!>({]\n | <[=!]\n | <[^>]*>\n | '[^']*'\n | ~|?\n | #(?:[^)\\]|\\.?)*\n | [^:)]*[:)]\n )?\n | *[^)]*)?\n )?\n | (?:",")+\n | ","\n | .\n"],["\n \\\\ (?:\n ","\n | [gk]<[^>]*>?\n | [gk]'[^']*'?\n | .\n )\n | \\( (?:\n \\? (?:\n [:=!>({]\n | <[=!]\n | <[^>]*>\n | '[^']*'\n | ~\\|?\n | #(?:[^)\\\\]|\\\\.?)*\n | [^:)]*[:)]\n )?\n | \\*[^\\)]*\\)?\n )?\n | (?:",")+\n | ","\n | .\n"])),wb,Ss.source,_b).replace(/\s+/g,""),"gsu"),hb,Ls=new RegExp(M0(hb||(hb=t1(["\n \\ (?:\n ","\n | .\n )\n | [:(?:^?p{Alpha}+|^):]\n | ","\n | &&\n | .\n"],["\n \\\\ (?:\n ","\n | .\n )\n | \\[:(?:\\^?\\p{Alpha}+|\\^):\\]\n | ","\n | &&\n | .\n"])),wb,_b).replace(/\s+/g,""),"gsu");function xb(e,t={}){let n={flags:"",...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!="string")throw new Error("String expected as pattern");let a=YS(n.flags),i=[a.extended],r={captureGroup:n.rules.captureGroup,getCurrentModX(){return i.at(-1)},numOpenGroups:0,popModX(){i.pop()},pushModX(u){i.push(u)},replaceCurrentModX(u){i[i.length-1]=u},singleline:n.rules.singleline},s=[],c;for(Nn.lastIndex=0;c=Nn.exec(e);){let u=FS(r,e,c[0],Nn.lastIndex);u.tokens?s.push(...u.tokens):u.token&&s.push(u.token),u.lastIndex!==void 0&&(Nn.lastIndex=u.lastIndex)}let o=[],l=0;s.filter(u=>u.type==="GroupOpen").forEach(u=>{u.kind==="capturing"?u.number=++l:u.raw==="("&&o.push(u)}),l||o.forEach((u,m)=>{u.kind="capturing",u.number=m+1});let p=l||o.length;return{tokens:s.map(u=>u.type==="EscapedNumber"?JS(u,p):u).flat(),flags:a}}var gb,bb;function FS(e,t,n,a){let[i,r]=n;if(n==="["||n==="[^"){let s=jS(t,n,a);return{tokens:s.tokens,lastIndex:s.lastIndex}}if(i==="\\"){if("AbBGyYzZ".includes(r))return{token:nb(n,n)};if(/^\\g[<']/.test(n)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(n))throw new Error('Invalid group name "'.concat(n,'"'));return{token:DS(n)}}if(/^\\k[<']/.test(n)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(n))throw new Error('Invalid group name "'.concat(n,'"'));return{token:zb(n)}}if(r==="K")return{token:Cb("keep",n)};if(r==="N"||r==="R")return{token:H4("newline",n,{negate:r==="N"})};if(r==="O")return{token:H4("any",n)};if(r==="X")return{token:H4("text_segment",n)};let s=kb(n,{inCharClass:!1});return Array.isArray(s)?{tokens:s}:{token:s}}if(i==="("){if(r==="*")return{token:US(n)};if(n==="(?{")throw new Error('Unsupported callout "'.concat(n,'"'));if(n.startsWith("(?#")){if(t[a]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:a+1}}if(/^\(\?[-imx]+[:)]$/.test(n))return{token:WS(n,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,n==="("&&!e.captureGroup||n==="(?:")return{token:B5("group",n)};if(n==="(?>")return{token:B5("atomic",n)};if(n==="(?="||n==="(?!"||n==="(?<="||n==="(?")||n.startsWith("(?'")&&n.endsWith("'"))return{token:B5("capturing",n,{...n!=="("&&{name:n.slice(3,-1)}})};if(n.startsWith("(?~")){if(n==="(?~|")throw new Error('Unsupported absence function kind "'.concat(n,'"'));return{token:B5("absence_repeater",n)}}throw n==="(?("?new Error('Unsupported conditional "'.concat(n,'"')):new Error('Invalid or unsupported group option "'.concat(n,'"'))}if(n===")"){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:BS(n)}}if(e.getCurrentModX()){if(n==="#"){let s=t.indexOf("\n",a);return{lastIndex:s===-1?t.length:s}}if(/^\s$/.test(n)){let s=/\s+/y;return s.lastIndex=a,{lastIndex:s.exec(t)?s.lastIndex:a}}}if(n===".")return{token:H4("dot",n)};if(n==="^"||n==="$"){let s=e.singleline?{"^":M0(gb||(gb=t1(["A"],["\\A"]))),$:M0(bb||(bb=t1(["Z"],["\\Z"])))}[n]:n;return{token:nb(s,n)}}return n==="|"?{token:NS(n)}:Ss.test(n)?{tokens:eZ(n)}:{token:i3(O3(n),n)}}function jS(e,t,n){let a=[ab(t[1]==="^",t)],i=1,r;for(Ls.lastIndex=n;r=Ls.exec(e);){let s=r[0];if(s[0]==="["&&s[1]!==":")i++,a.push(ab(s[1]==="^",s));else if(s==="]"){if(a.at(-1).type==="CharacterClassOpen")a.push(i3(93,s));else if(i--,a.push(TS(s)),!i)break}else{let c=HS(s);Array.isArray(c)?a.push(...c):a.push(c)}}return{tokens:a,lastIndex:Ls.lastIndex||e.length}}function HS(e){if(e[0]==="\\")return kb(e,{inCharClass:!0});if(e[0]==="["){let t=/\[:(?\^?)(?[a-z]+):\]/.exec(e);if(!t||!N6.has(t.groups.name))throw new Error('Invalid POSIX class "'.concat(e,'"'));return H4("posix",e,{value:t.groups.name,negate:!!t.groups.negate})}return e==="-"?VS(e):e==="&&"?qS(e):i3(O3(e),e)}var fb,vb;function kb(e,{inCharClass:t}){let n=e[1];if(n==="c"||n==="C")return OS(e);if("dDhHsSwW".includes(n))return XS(e);if(e.startsWith(M0(fb||(fb=t1(["o{"],["\\o{"])))))throw new Error('Incomplete, invalid, or unsupported octal code point "'.concat(e,'"'));if(/^\\[pP]\{/.test(e)){if(e.length===3)throw new Error('Incomplete or invalid Unicode property "'.concat(e,'"'));return KS(e)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(e))try{let a=e.split(/\\x/).slice(1).map(s=>parseInt(s,16)),i=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(a)),r=new TextEncoder;return[...i].map(s=>{let c=[...r.encode(s)].map(o=>"\\x".concat(o.toString(16))).join("");return i3(O3(s),c)})}catch{throw new Error('Multibyte code "'.concat(e,'" incomplete or invalid in Oniguruma'))}if(n==="u"||n==="x")return i3(QS(e),e);if(ib.has(n))return i3(ib.get(n),e);if(/\d/.test(n))return IS(t,e);if(e==="\\")throw new Error(M0(vb||(vb=t1(['Incomplete escape ""'],['Incomplete escape "\\"']))));if(n==="M")throw new Error('Unsupported meta "'.concat(e,'"'));if([...e].length===2)return i3(e.codePointAt(1),e);throw new Error('Unexpected escape "'.concat(e,'"'))}function NS(e){return{type:"Alternator",raw:e}}function nb(e,t){return{type:"Assertion",kind:e,raw:t}}function zb(e){return{type:"Backreference",raw:e}}function i3(e,t){return{type:"Character",value:e,raw:t}}function TS(e){return{type:"CharacterClassClose",raw:e}}function VS(e){return{type:"CharacterClassHyphen",raw:e}}function qS(e){return{type:"CharacterClassIntersector",raw:e}}function ab(e,t){return{type:"CharacterClassOpen",negate:e,raw:t}}function H4(e,t,n={}){return{type:"CharacterSet",kind:e,...n,raw:t}}function Cb(e,t,n={}){return e==="keep"?{type:"Directive",kind:e,raw:t}:{type:"Directive",kind:e,flags:a3(n.flags),raw:t}}function IS(e,t){return{type:"EscapedNumber",inCharClass:e,raw:t}}function BS(e){return{type:"GroupClose",raw:e}}function B5(e,t,n={}){return{type:"GroupOpen",kind:e,...n,raw:t}}function PS(e,t,n,a){return{type:"NamedCallout",kind:e,tag:t,arguments:n,raw:a}}function RS(e,t,n,a){return{type:"Quantifier",kind:e,min:t,max:n,raw:a}}function DS(e){return{type:"Subroutine",raw:e}}var GS=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),ib=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function OS(e){let t=e[1]==="c"?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw new Error('Unsupported control character "'.concat(e,'"'));return i3(O3(t.toUpperCase())-64,e)}function WS(e,t){let{on:n,off:a}=/^\(\?(?[imx]*)(?:-(?[-imx]*))?/.exec(e).groups;a??="";let i=(t.getCurrentModX()||n.includes("x"))&&!a.includes("x"),r=sb(n),s=sb(a),c={};if(r&&(c.enable=r),s&&(c.disable=s),e.endsWith(")"))return t.replaceCurrentModX(i),Cb("flags",e,{flags:c});if(e.endsWith(":"))return t.pushModX(i),t.numOpenGroups++,B5("group",e,{...(r||s)&&{flags:c}});throw new Error('Unexpected flag modifier "'.concat(e,'"'))}function US(e){let t=/\(\*(?[A-Za-z_]\w*)?(?:\[(?(?:[A-Za-z_]\w*)?)\])?(?:\{(?[^}]*)\})?\)/.exec(e);if(!t)throw new Error('Incomplete or invalid named callout "'.concat(e,'"'));let{name:n,tag:a,args:i}=t.groups;if(!n)throw new Error('Invalid named callout "'.concat(e,'"'));if(a==="")throw new Error('Named callout tag with empty value not allowed "'.concat(e,'"'));let r=i?i.split(",").filter(p=>p!=="").map(p=>/^[+-]?\d+$/.test(p)?+p:p):[],[s,c,o]=r,l=GS.has(n)?n.toLowerCase():"custom";switch(l){case"fail":case"mismatch":case"skip":if(r.length>0)throw new Error('Named callout arguments not allowed "'.concat(r,'"'));break;case"error":if(r.length>1)throw new Error('Named callout allows only one argument "'.concat(r,'"'));if(typeof s=="string")throw new Error('Named callout argument must be a number "'.concat(s,'"'));break;case"max":if(!r.length||r.length>2)throw new Error('Named callout must have one or two arguments "'.concat(r,'"'));if(typeof s=="string"&&!/^[A-Za-z_]\w*$/.test(s))throw new Error('Named callout argument one must be a tag or number "'.concat(s,'"'));if(r.length===2&&(typeof c=="number"||!/^[<>X]$/.test(c)))throw new Error("Named callout optional argument two must be '<', '>', or 'X' \"".concat(c,'"'));break;case"count":case"total_count":if(r.length>1)throw new Error('Named callout allows only one argument "'.concat(r,'"'));if(r.length===1&&(typeof s=="number"||!/^[<>X]$/.test(s)))throw new Error("Named callout optional argument must be '<', '>', or 'X' \"".concat(s,'"'));break;case"cmp":if(r.length!==3)throw new Error('Named callout must have three arguments "'.concat(r,'"'));if(typeof s=="string"&&!/^[A-Za-z_]\w*$/.test(s))throw new Error('Named callout argument one must be a tag or number "'.concat(s,'"'));if(typeof c=="number"||!/^(?:[<>!=]=|[<>])$/.test(c))throw new Error("Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' \"".concat(c,'"'));if(typeof o=="string"&&!/^[A-Za-z_]\w*$/.test(o))throw new Error('Named callout argument three must be a tag or number "'.concat(o,'"'));break;case"custom":throw new Error('Undefined callout name "'.concat(n,'"'));default:throw new Error('Unexpected named callout kind "'.concat(l,'"'))}return PS(l,a??null,i?.split(",")??null,e)}function rb(e){let t=null,n,a;if(e[0]==="{"){let{minStr:i,maxStr:r}=/^\{(?\d*)(?:,(?\d*))?/.exec(e).groups,s=1e5;if(+i>s||r&&+r>s)throw new Error("Quantifier value unsupported in Oniguruma");if(n=+i,a=r===void 0?+i:r===""?1/0:+r,n>a&&(t="possessive",[n,a]=[a,n]),e.endsWith("?")){if(t==="possessive")throw new Error('Unsupported possessive interval quantifier chain with "?"');t="lazy"}else t||(t="greedy")}else n=e[0]==="+"?1:0,a=e[0]==="?"?1:1/0,t=e[1]==="+"?"possessive":e[1]==="?"?"lazy":"greedy";return RS(t,n,a,e)}function XS(e){let t=e[1].toLowerCase();return H4({d:"digit",h:"hex",s:"space",w:"word"}[t],e,{negate:e[1]!==t})}function KS(e){let{p:t,neg:n,value:a}=/^\\(?

[pP])\{(?\^?)(?[^}]+)/.exec(e).groups;return H4("property",e,{value:a,negate:t==="P"&&!n||t==="p"&&!!n})}function sb(e){let t={};return e.includes("i")&&(t.ignoreCase=!0),e.includes("m")&&(t.dotAll=!0),e.includes("x")&&(t.extended=!0),Object.keys(t).length?t:null}function YS(e){let t={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let n=0;n\p{AHex}+)/u.exec(e).groups.hex:e.slice(2);return parseInt(t,16)}var yb;function JS(e,t){let{raw:n,inCharClass:a}=e,i=n.slice(1);if(!a&&(i!=="0"&&i.length===1||i[0]!=="0"&&+i<=t))return[zb(n)];let r=[],s=i.match(/^[0-7]+|\d/g);for(let c=0;c127)throw new Error(M0(yb||(yb=t1(['Octal encoded byte above 177 unsupported "','"'])),n))}else l=O3(o);r.push(i3(l,(c===0?"\\":"")+o))}return r}function eZ(e){let t=[],n=new RegExp(Ss,"gy"),a;for(;a=n.exec(e);){let i=a[0];if(i[0]==="{"){let r=/^\{(?\d+),(?\d+)\}\??$/.exec(i);if(r){let{min:s,max:c}=r.groups;if(+s>+c&&i.endsWith("?")){n.lastIndex--,t.push(rb(i.slice(0,-1)));continue}}}t.push(rb(i))}return t}function Tn(e,t){if(!Array.isArray(e.body))throw new Error("Expected node with body array");if(e.body.length!==1)return!1;let n=e.body[0];return!t||Object.keys(t).every(a=>t[a]===n[a])}function Ab(e){return tZ.has(e.type)}var tZ=new Set(["AbsenceFunction","Backreference","CapturingGroup","Character","CharacterClass","CharacterSet","Group","Quantifier","Subroutine"]);var Zb,Eb;function qn(e,t={}){let n={flags:"",normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},a=xb(e,{flags:n.flags,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline}}),i=(m,d)=>{let f=a.tokens[r.nextIndex];switch(r.parent=m,r.nextIndex++,f.type){case"Alternator":return r3();case"Assertion":return nZ(f);case"Backreference":return aZ(f,r);case"Character":return P5(f.value,{useLastValid:!!d.isCheckingRangeEnd});case"CharacterClassHyphen":return iZ(f,r,d);case"CharacterClassOpen":return rZ(f,r,d);case"CharacterSet":return sZ(f,r);case"Directive":return mZ(f.kind,{flags:f.flags});case"GroupOpen":return cZ(f,r,d);case"NamedCallout":return hZ(f.kind,f.tag,f.arguments);case"Quantifier":return oZ(f,r);case"Subroutine":return lZ(f,r);default:throw new Error('Unexpected token type "'.concat(f.type,'"'))}},r={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:n.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:n.skipBackrefValidation,skipLookbehindValidation:n.skipLookbehindValidation,skipPropertyNameValidation:n.skipPropertyNameValidation,subroutines:[],tokens:a.tokens,unicodePropertyMap:n.unicodePropertyMap,walk:i},s=bZ(dZ(a.flags)),c=s.body[0];for(;r.nextIndexo.length)throw new Error("Subroutine uses a group number that's not defined");m&&(o[m-1].isSubroutined=!0)}else if(p.has(m)){if(p.get(m).length>1)throw new Error(M0(Zb||(Zb=t1(['Subroutine uses a duplicate group name "g<','>"'],['Subroutine uses a duplicate group name "\\g<','>"'])),m));p.get(m)[0].isSubroutined=!0}else throw new Error(M0(Eb||(Eb=t1(["Subroutine uses a group name that's not defined \"g<",'>"'],["Subroutine uses a group name that's not defined \"\\g<",'>"'])),m));return s}var Fb,jb;function nZ({kind:e}){return In(a3({"^":"line_start",$:"line_end","\\A":"string_start","\\b":"word_boundary","\\B":"word_boundary","\\G":"search_start","\\y":"text_segment_boundary","\\Y":"text_segment_boundary","\\z":"string_end","\\Z":"string_end_newline"}[e],'Unexpected assertion kind "'.concat(e,'"')),{negate:e===M0(Fb||(Fb=t1(["B"],["\\B"])))||e===M0(jb||(jb=t1(["Y"],["\\Y"])))})}function aZ({raw:e},t){let n=/^\\k[<']/.test(e),a=n?e.slice(3,-1):e.slice(1),i=(r,s=!1)=>{let c=t.capturingGroups.length,o=!1;if(r>c)if(t.skipBackrefValidation)o=!0;else throw new Error('Not enough capturing groups defined to the left "'.concat(e,'"'));return t.hasNumberedRef=!0,Vn(s?c+1-r:r,{orphan:o})};if(n){let r=/^(?-?)0*(?[1-9]\d*)$/.exec(a);if(r)return i(+r.groups.num,!!r.groups.sign);if(/[-+]/.test(a))throw new Error('Invalid backref name "'.concat(e,'"'));if(!t.namedGroupsByName.has(a))throw new Error('Group name not defined to the left "'.concat(e,'"'));return Vn(a)}return i(+a)}function iZ(e,t,n){let{tokens:a,walk:i}=t,r=t.parent,s=r.body.at(-1),c=a[t.nextIndex];if(!n.isCheckingRangeEnd&&s&&s.type!=="CharacterClass"&&s.type!=="CharacterClassRange"&&c&&c.type!=="CharacterClassOpen"&&c.type!=="CharacterClassClose"&&c.type!=="CharacterClassIntersector"){let o=i(r,{...n,isCheckingRangeEnd:!0});if(s.type==="Character"&&o.type==="Character")return r.body.pop(),uZ(s,o);throw new Error("Invalid character class range")}return P5(O3("-"))}function rZ({negate:e},t,n){let{tokens:a,walk:i}=t,r=[T6()],s=a[t.nextIndex],c=Lb(s);for(;c.type!=="CharacterClassClose";){if(c.type==="CharacterClassIntersector")r.push(T6()),t.nextIndex++;else{let l=r.at(-1);l.body.push(i(l,n))}c=Lb(a[t.nextIndex],s)}let o=T6({negate:e});return r.length===1?o.body=r[0].body:(o.kind="intersection",o.body=r.map(l=>l.body.length===1?l.body[0]:l)),t.nextIndex++,o}function sZ({kind:e,negate:t,value:n},a){let{normalizeUnknownPropertyNames:i,skipPropertyNameValidation:r,unicodePropertyMap:s}=a;if(e==="property"){let c=R5(n);if(N6.has(c)&&!s?.has(c))e="posix",n=c;else return N4(n,{negate:t,normalizeUnknownPropertyNames:i,skipPropertyNameValidation:r,unicodePropertyMap:s})}return e==="posix"?gZ(n,{negate:t}):Bn(e,{negate:t})}function cZ(e,t,n){let{tokens:a,capturingGroups:i,namedGroupsByName:r,skipLookbehindValidation:s,walk:c}=t,o=fZ(e),l=o.type==="AbsenceFunction",p=$b(o),u=p&&o.negate;if(o.type==="CapturingGroup"&&(i.push(o),o.name&&tb(r,o.name,[]).push(o)),l&&n.isInAbsenceFunction)throw new Error("Nested absence function not supported by Oniguruma");let m=Sb(a[t.nextIndex]);for(;m.type!=="GroupClose";){if(m.type==="Alternator")o.body.push(r3()),t.nextIndex++;else{let d=o.body.at(-1),f=c(d,{...n,isInAbsenceFunction:n.isInAbsenceFunction||l,isInLookbehind:n.isInLookbehind||p,isInNegLookbehind:n.isInNegLookbehind||u});if(d.body.push(f),(p||n.isInLookbehind)&&!s){let w="Lookbehind includes a pattern not allowed by Oniguruma";if(u||n.isInNegLookbehind){if(Mb(f)||f.type==="CapturingGroup")throw new Error(w)}else if(Mb(f)||$b(f)&&f.negate)throw new Error(w)}}m=Sb(a[t.nextIndex])}return t.nextIndex++,o}function oZ({kind:e,min:t,max:n},a){let i=a.parent,r=i.body.at(-1);if(!r||!Ab(r))throw new Error("Quantifier requires a repeatable token");let s=Es(e,t,n,r);return i.body.pop(),s}function lZ({raw:e},t){let{capturingGroups:n,subroutines:a}=t,i=e.slice(3,-1),r=/^(?[-+]?)0*(?[1-9]\d*)$/.exec(i);if(r){let c=+r.groups.num,o=n.length;if(t.hasNumberedRef=!0,i={"":c,"+":o+c,"-":o+1-c}[r.groups.sign],i<1)throw new Error("Invalid subroutine number")}else i==="0"&&(i=0);let s=Fs(i);return a.push(s),s}function pZ(e,t){if(e!=="repeater")throw new Error('Unexpected absence function kind "'.concat(e,'"'));return{type:"AbsenceFunction",kind:e,body:V6(t?.body)}}function r3(e){return{type:"Alternative",body:Nb(e?.body)}}function In(e,t){let n={type:"Assertion",kind:e};return(e==="word_boundary"||e==="text_segment_boundary")&&(n.negate=!!t?.negate),n}function Vn(e,t){let n=!!t?.orphan;return{type:"Backreference",ref:e,...n&&{orphan:n}}}function Zs(e,t){let n={name:void 0,isSubroutined:!1,...t};if(n.name!==void 0&&!vZ(n.name))throw new Error('Group name "'.concat(n.name,'" invalid in Oniguruma'));return{type:"CapturingGroup",number:e,...n.name&&{name:n.name},...n.isSubroutined&&{isSubroutined:n.isSubroutined},body:V6(t?.body)}}function P5(e,t){let n={useLastValid:!1,...t};if(e>1114111){let a=e.toString(16);if(n.useLastValid)e=1114111;else throw e>1310719?new Error('Invalid code point out of range "\\x{'.concat(a,'}"')):new Error('Invalid code point out of range in JS "\\x{'.concat(a,'}"'))}return{type:"Character",value:e}}function T6(e){let t={kind:"union",negate:!1,...e};return{type:"CharacterClass",kind:t.kind,negate:t.negate,body:Nb(e?.body)}}function uZ(e,t){if(t.valuen)throw new Error("Invalid reversed quantifier range");return{type:"Quantifier",kind:e,min:t,max:n,body:a}}function bZ(e,t){return{type:"Regex",body:V6(t?.body),flags:e}}function Fs(e){return{type:"Subroutine",ref:e}}var Hb;function N4(e,t){let n={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t},a=n.unicodePropertyMap?.get(R5(e));if(!a){if(n.normalizeUnknownPropertyNames)a=yZ(e);else if(n.unicodePropertyMap&&!n.skipPropertyNameValidation)throw new Error(M0(Hb||(Hb=t1(['Invalid Unicode property "p{','}"'],['Invalid Unicode property "\\p{','}"'])),e))}return{type:"CharacterSet",kind:"property",value:a??e,negate:n.negate}}function fZ({flags:e,kind:t,name:n,negate:a,number:i}){switch(t){case"absence_repeater":return pZ("repeater");case"atomic":return N2({atomic:!0});case"capturing":return Zs(i,{name:n});case"group":return N2({flags:e});case"lookahead":case"lookbehind":return W3({behind:t==="lookbehind",negate:a});default:throw new Error('Unexpected group kind "'.concat(t,'"'))}}function V6(e){if(e===void 0)e=[r3()];else if(!Array.isArray(e)||!e.length||!e.every(t=>t.type==="Alternative"))throw new Error("Invalid body; expected array of one or more Alternative nodes");return e}function Nb(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(t=>!!t.type))throw new Error("Invalid body; expected array of nodes");return e}function Mb(e){return e.type==="LookaroundAssertion"&&e.kind==="lookahead"}function $b(e){return e.type==="LookaroundAssertion"&&e.kind==="lookbehind"}function vZ(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function yZ(e){return e.trim().replace(/[- _]+/g,"_").replace(/[A-Z][a-z]+(?=[A-Z])/g,"$&_").replace(/[A-Za-z]+/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function R5(e){return e.replace(/[- _]+/g,"").toLowerCase()}function Lb(e,t){let n=t;return a3(e,"Unclosed character class".concat(n?.type==="Character"&&n.value===93&&n.raw==="]"?' (started with "]")':""))}function Sb(e){return a3(e,"Unclosed group")}function T4(e,t,n=null){function a(r,s){for(let c=0;cA-Za-z-]|<[=!]|(DEFINE))"],["\\(\\?(?:[:=!>A-Za-z\\-]|<[=!]|\\(DEFINE\\))"])));function qb(e,t){for(let n=0;n=t&&e[n]++}function Ib(e,t,n,a){return e.slice(0,t)+a+e.slice(t+n.length)}var z2=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"}),Bb;function q6(e,t,n,a){let i=new RegExp(String.raw(Bb||(Bb=t1(["","|(?<$skip>[^?|\\?.)"],["","|(?<$skip>\\[\\^?|\\\\?.)"])),t),"gsu"),r=[!1],s=0,c="";for(let o of e.matchAll(i)){let{0:l,groups:{$skip:p}}=o;if(!p&&(!a||a===z2.DEFAULT==!s)){n instanceof Function?c+=n(o,{context:s?z2.CHAR_CLASS:z2.DEFAULT,negated:r[r.length-1]}):c+=n;continue}l[0]==="["?(s++,r.push(l[1]==="^")):l==="]"&&s&&(s--,r.pop()),c+=l}return c}function js(e,t,n,a){q6(e,t,n,a)}function _Z(e,t,n=0,a){if(!new RegExp(t,"su").test(e))return null;let i=new RegExp("".concat(t,"|(?<$skip>\\\\?.)"),"gsu");i.lastIndex=n;let r=0,s;for(;s=i.exec(e);){let{0:c,groups:{$skip:o}}=s;if(!o&&(!a||a===z2.DEFAULT==!r))return s;c==="["?r++:c==="]"&&r&&r--,i.lastIndex==s.index&&i.lastIndex++}return null}function I6(e,t,n){return!!_Z(e,t,0,n)}function Pb(e,t){let n=/\\?./gsu;n.lastIndex=t;let a=e.length,i=0,r=1,s;for(;s=n.exec(e);){let[c]=s;if(c==="[")i++;else if(i)c==="]"&&i--;else if(c==="(")r++;else if(c===")"&&(r--,!r)){a=s.index;break}}return e.slice(t,a)}var Db,Rb=new RegExp(String.raw(Db||(Db=t1(["(?",")|(?((?:?<[^>]+>)?)|\\?."],["(?",")|(?\\((?:\\?<[^>]+>)?)|\\\\?."])),Vb),"gsu"),Gb;function Ns(e,t){let n=t?.hiddenCaptures??[],a=t?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:a,hiddenCaptures:n};let i="(?>",r="(?:(?=(",s=[0],c=[],o=0,l=0,p=NaN,u;do{u=!1;let m=0,d=0,f=!1,w;for(Rb.lastIndex=Number.isNaN(p)?0:p+r.length;w=Rb.exec(e);){let{0:k,index:v,groups:{capturingStart:b,noncapturingStart:_}}=w;if(k==="[")m++;else if(m)k==="]"&&m--;else if(k===i&&!f)p=v,f=!0;else if(f&&_)d++;else if(b)f?d++:(o++,s.push(o+l));else if(k===")"&&f){if(!d){l++;let z=o+l;if(e="".concat(e.slice(0,p)).concat(r).concat(e.slice(p+i.length,v),"))<$$").concat(z,">)").concat(e.slice(v+1)),u=!0,c.push(z),qb(n,z),a.size){let L=new Map;a.forEach((C,j)=>{L.set(j>=z?j+1:j,C.map(N=>N>=z?N+1:N))}),a=L}break}d--}}}while(u);return n.push(...c),e=q6(e,String.raw(Gb||(Gb=t1(["\\(?[1-9]d*)|<$$(?d+)>"],["\\\\(?[1-9]\\d*)|<\\$\\$(?\\d+)>"]))),({0:m,groups:{backrefNum:d,wrappedBackrefNum:f}})=>{if(d){let w=+d;if(w>s.length-1)throw new Error('Backref "'.concat(m,'" greater than number of captures'));return"\\".concat(s[w])}return"\\".concat(f)},z2.DEFAULT),{pattern:e,captureTransfers:a,hiddenCaptures:n}}var Ob,Ub=String.raw(Ob||(Ob=t1(["(?:[?*+]|{d+(?:,d*)?})"],["(?:[?*+]|\\{\\d+(?:,\\d*)?\\})"]))),Wb,Hs=new RegExp(String.raw(Wb||(Wb=t1(["\n\\(?: d+\n | c[A-Za-z]\n | [gk]<[^>]+>\n | [pPu]{[^}]+}\n | u[A-Fa-fd]{4}\n | x[A-Fa-fd]{2}\n )\n| ((?: ? (?: [:=!>]\n | <(?:[=!]|[^>]+>)\n | [A-Za-z-]+:\n | (DEFINE)\n ))?\n| (?",")(?[?+]?)(?[?*+{]?)\n| \\?.\n"],["\n\\\\(?: \\d+\n | c[A-Za-z]\n | [gk]<[^>]+>\n | [pPu]\\{[^\\}]+\\}\n | u[A-Fa-f\\d]{4}\n | x[A-Fa-f\\d]{2}\n )\n| \\((?: \\? (?: [:=!>]\n | <(?:[=!]|[^>]+>)\n | [A-Za-z\\-]+:\n | \\(DEFINE\\)\n ))?\n| (?",")(?[?+]?)(?[?*+\\{]?)\n| \\\\?.\n"])),Ub).replace(/\s+/g,""),"gsu");function Ts(e){if(!new RegExp("".concat(Ub,"\\+")).test(e))return{pattern:e};let t=[],n=null,a=null,i="",r=0,s;for(Hs.lastIndex=0;s=Hs.exec(e);){let{0:c,index:o,groups:{qBase:l,qMod:p,invalidQ:u}}=s;if(c==="[")r||(a=o),r++;else if(c==="]")r?r--:a=null;else if(!r)if(p==="+"&&i&&!i.startsWith("(")){if(u)throw new Error('Invalid quantifier "'.concat(c,'"'));let m=-1;if(/^\{\d+\}$/.test(l))e=Ib(e,o+l.length,p,"");else{if(i===")"||i==="]"){let d=i===")"?n:a;if(d===null)throw new Error('Invalid unmatched "'.concat(i,'"'));e="".concat(e.slice(0,d),"(?>").concat(e.slice(d,o)).concat(l,")").concat(e.slice(o+c.length))}else e="".concat(e.slice(0,o-i.length),"(?>").concat(i).concat(l,")").concat(e.slice(o+c.length));m+=4}Hs.lastIndex+=m}else c[0]==="("?t.push(o):c===")"&&(n=t.length?t.pop():null);i=c}return{pattern:e}}var Y2=String.raw,Jb,wZ=Y2(Jb||(Jb=t1(["\\g<(?[^>&]+)&R=(?[^>]+)>"],["\\\\g<(?[^>&]+)&R=(?[^>]+)>"]))),ef,qs=Y2(ef||(ef=t1(["(?R=(?[^)]+))|",""],["\\(\\?R=(?[^\\)]+)\\)|",""])),wZ),tf,Rn=Y2(tf||(tf=t1(["(?<(?![=!])(?[^>]+)>"],["\\(\\?<(?![=!])(?[^>]+)>"]))),nf,mf=Y2(nf||(nf=t1(["","|(?()(?!?)"],["","|(?\\()(?!\\?)"])),Rn),af,V4=new RegExp(Y2(af||(af=t1(["","|","|(?|\\?."],["","|","|\\(\\?|\\\\?."])),Rn,qs),"gsu"),Vs="Cannot use multiple overlapping recursions",rf,sf,cf,of,lf;function df(e,t){let{hiddenCaptures:n,mode:a}={hiddenCaptures:[],mode:"plugin",...t},i=t?.captureTransfers??new Map;if(!new RegExp(qs,"su").test(e))return{pattern:e,captureTransfers:i,hiddenCaptures:n};if(a==="plugin"&&I6(e,Y2(rf||(rf=t1(["(?(DEFINE)"],["\\(\\?\\(DEFINE\\)"]))),z2.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");let r=[],s=I6(e,Y2(sf||(sf=t1(["\\[1-9]"],["\\\\[1-9]"]))),z2.DEFAULT),c=new Map,o=[],l=!1,p=0,u=0,m;for(V4.lastIndex=0;m=V4.exec(e);){let{0:d,groups:{captureName:f,rDepth:w,gRNameOrNum:k,gRDepth:v}}=m;if(d==="[")p++;else if(p)d==="]"&&p--;else if(w){if(Xb(w),l)throw new Error(Vs);if(s)throw new Error("".concat(a==="external"?"Backrefs":"Numbered backrefs"," cannot be used with global recursion"));let b=e.slice(0,m.index),_=e.slice(V4.lastIndex);if(I6(_,qs,z2.DEFAULT))throw new Error(Vs);let z=+w-1;e=Kb(b,_,z,!1,n,r,u),i=Qb(i,b,z,r.length,0,u);break}else if(k){Xb(v);let b=!1;for(let B of o)if(B.name===k||B.num===+k){if(b=!0,B.hasRecursedWithin)throw new Error(Vs);break}if(!b)throw new Error(Y2(of||(of=t1(['Recursive g cannot be used outside the referenced group "','"'],['Recursive \\g cannot be used outside the referenced group "','"'])),a==="external"?k:Y2(cf||(cf=t1(["g<","&R=",">"],["\\g<","&R=",">"])),k,v)));let _=c.get(k),z=Pb(e,_);if(s&&I6(z,Y2(lf||(lf=t1(["","|((?!?)"],["","|\\((?!\\?)"])),Rn),z2.DEFAULT))throw new Error("".concat(a==="external"?"Backrefs":"Numbered backrefs"," cannot be used with recursion of capturing groups"));let L=e.slice(_,m.index),C=z.slice(L.length+d.length),j=r.length,N=+v-1,H=Kb(L,C,N,!0,n,r,u);i=Qb(i,L,N,r.length-j,j,u);let S=e.slice(0,_),R=e.slice(_+z.length);e="".concat(S).concat(H).concat(R),V4.lastIndex+=H.length-d.length-L.length-C.length,o.forEach(B=>B.hasRecursedWithin=!0),l=!0}else if(f)u++,c.set(String(u),V4.lastIndex),c.set(f,V4.lastIndex),o.push({num:u,name:f});else if(d[0]==="("){let b=d==="(";b&&(u++,c.set(String(u),V4.lastIndex)),o.push(b?{num:u}:{})}else d===")"&&o.pop()}return n.push(...r),{pattern:e,captureTransfers:i,hiddenCaptures:n}}function Xb(e){let t="Max depth must be integer between 2 and 100; used ".concat(e);if(!/^[1-9]\d*$/.test(e))throw new Error(t);if(e=+e,e<2||e>100)throw new Error(t)}function Kb(e,t,n,a,i,r,s){let c=new Set;a&&js(e+t,Rn,({groups:{captureName:l}})=>{c.add(l)},z2.DEFAULT);let o=[n,a?c:null,i,r,s];return"".concat(e).concat(Yb("(?:".concat(e),"forward",...o),"(?:)").concat(Yb("".concat(t,")"),"backward",...o)).concat(t)}var pf,uf;function Yb(e,t,n,a,i,r,s){let o=p=>t==="forward"?p+2:n-p+2-1,l="";for(let p=0;p[^>]+)>"],["","|\\\\k<(?[^>]+)>"])),mf),({0:m,groups:{captureName:d,unnamed:f,backref:w}})=>{if(w&&a&&!a.has(w))return m;let k="_$".concat(u);if(f||d){let v=s+r.length+1;return r.push(v),xZ(i,v),f?m:"(?<".concat(d).concat(k,">")}return Y2(uf||(uf=t1(["k<","",">"],["\\k<","",">"])),w,k)},z2.DEFAULT)}return l}function xZ(e,t){for(let n=0;n=t&&e[n]++}function Qb(e,t,n,a,i,r){if(e.size&&a){let s=0;js(t,mf,()=>s++,z2.DEFAULT);let c=r-s+i,o=new Map;return e.forEach((l,p)=>{let u=(a-s*n)/n,m=s*n,d=p>c+s?p+a:p,f=[];for(let w of l)if(w<=c)f.push(w);else if(w>c+s+u)f.push(w+a);else if(w<=c+s)for(let k=0;k<=n;k++)f.push(w+s*k);else for(let k=0;k<=n;k++)f.push(w+m+u*k);o.set(d,f)}),o}return e}var F0=String.fromCodePoint,z1=String.raw,ue={},Gn=globalThis.RegExp;ue.flagGroups=(()=>{try{new Gn("(?i:)")}catch{return!1}return!0})();ue.unicodeSets=(()=>{try{new Gn("[[]]","v")}catch{return!1}return!0})();var yf;ue.bugFlagVLiteralHyphenIsRange=ue.unicodeSets?(()=>{try{new Gn(z1(yf||(yf=t1(["[d-a]"],["[\\d\\-a]"]))),"v")}catch{return!0}return!1})():!1;ue.bugNestedClassIgnoresNegation=ue.unicodeSets&&new Gn("[[^a]]","v").test("a");function Dn(e,{enable:t,disable:n}){return{dotAll:!n?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!n?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function B6(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function Ds(e,t){return hf[e]>=hf[t]}function kZ(e,t){if(e==null)throw new Error(t??"Value expected");return e}var hf={ES2025:2025,ES2024:2024,ES2018:2018},zZ={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function ov(e={}){if({}.toString.call(e)!=="[object Object]")throw new Error("Unexpected options");if(e.target!==void 0&&!zZ[e.target])throw new Error('Unexpected target "'.concat(e.target,'"'));let t={accuracy:"default",avoidSubclass:!1,flags:"",global:!1,hasIndices:!1,lazyCompileLength:1/0,target:"auto",verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return t.target==="auto"&&(t.target=ue.flagGroups?"ES2025":ue.unicodeSets?"ES2024":"ES2018"),t}var CZ="[ -\r ]",AZ=new Set([F0(304),F0(305)]),_f,s3=z1(_f||(_f=t1(["[p{L}p{M}p{N}p{Pc}]"],["[\\p{L}\\p{M}\\p{N}\\p{Pc}]"])));function lv(e){if(AZ.has(e))return[e];let t=new Set,n=e.toLowerCase(),a=n.toUpperCase(),i=LZ.get(n),r=MZ.get(n),s=$Z.get(n);return[...a].length===1&&t.add(a),s&&t.add(s),i&&t.add(i),t.add(n),r&&t.add(r),[...t]}var Os=new Map("C Other\nCc Control cntrl\nCf Format\nCn Unassigned\nCo Private_Use\nCs Surrogate\nL Letter\nLC Cased_Letter\nLl Lowercase_Letter\nLm Modifier_Letter\nLo Other_Letter\nLt Titlecase_Letter\nLu Uppercase_Letter\nM Mark Combining_Mark\nMc Spacing_Mark\nMe Enclosing_Mark\nMn Nonspacing_Mark\nN Number\nNd Decimal_Number digit\nNl Letter_Number\nNo Other_Number\nP Punctuation punct\nPc Connector_Punctuation\nPd Dash_Punctuation\nPe Close_Punctuation\nPf Final_Punctuation\nPi Initial_Punctuation\nPo Other_Punctuation\nPs Open_Punctuation\nS Symbol\nSc Currency_Symbol\nSk Modifier_Symbol\nSm Math_Symbol\nSo Other_Symbol\nZ Separator\nZl Line_Separator\nZp Paragraph_Separator\nZs Space_Separator\nASCII\nASCII_Hex_Digit AHex\nAlphabetic Alpha\nAny\nAssigned\nBidi_Control Bidi_C\nBidi_Mirrored Bidi_M\nCase_Ignorable CI\nCased\nChanges_When_Casefolded CWCF\nChanges_When_Casemapped CWCM\nChanges_When_Lowercased CWL\nChanges_When_NFKC_Casefolded CWKCF\nChanges_When_Titlecased CWT\nChanges_When_Uppercased CWU\nDash\nDefault_Ignorable_Code_Point DI\nDeprecated Dep\nDiacritic Dia\nEmoji\nEmoji_Component EComp\nEmoji_Modifier EMod\nEmoji_Modifier_Base EBase\nEmoji_Presentation EPres\nExtended_Pictographic ExtPict\nExtender Ext\nGrapheme_Base Gr_Base\nGrapheme_Extend Gr_Ext\nHex_Digit Hex\nIDS_Binary_Operator IDSB\nIDS_Trinary_Operator IDST\nID_Continue IDC\nID_Start IDS\nIdeographic Ideo\nJoin_Control Join_C\nLogical_Order_Exception LOE\nLowercase Lower\nMath\nNoncharacter_Code_Point NChar\nPattern_Syntax Pat_Syn\nPattern_White_Space Pat_WS\nQuotation_Mark QMark\nRadical\nRegional_Indicator RI\nSentence_Terminal STerm\nSoft_Dotted SD\nTerminal_Punctuation Term\nUnified_Ideograph UIdeo\nUppercase Upper\nVariation_Selector VS\nWhite_Space space\nXID_Continue XIDC\nXID_Start XIDS".split(/\s/).map(e=>[R5(e),e])),MZ=new Map([["s",F0(383)],[F0(383),"s"]]),$Z=new Map([[F0(223),F0(7838)],[F0(107),F0(8490)],[F0(229),F0(8491)],[F0(969),F0(8486)]]),LZ=new Map([U3(453),U3(456),U3(459),U3(498),...Is(8072,8079),...Is(8088,8095),...Is(8104,8111),U3(8124),U3(8140),U3(8188)]),wf,xf,kf,zf,Cf,Af,Mf,$f,Lf,Sf,Zf,Ef,Ff,jf,SZ=new Map([["alnum",z1(wf||(wf=t1(["[p{Alpha}p{Nd}]"],["[\\p{Alpha}\\p{Nd}]"])))],["alpha",z1(xf||(xf=t1(["p{Alpha}"],["\\p{Alpha}"])))],["ascii",z1(kf||(kf=t1(["p{ASCII}"],["\\p{ASCII}"])))],["blank",z1(zf||(zf=t1(["[p{Zs} ]"],["[\\p{Zs}\\t]"])))],["cntrl",z1(Cf||(Cf=t1(["p{Cc}"],["\\p{Cc}"])))],["digit",z1(Af||(Af=t1(["p{Nd}"],["\\p{Nd}"])))],["graph",z1(Mf||(Mf=t1(["[P{space}&&P{Cc}&&P{Cn}&&P{Cs}]"],["[\\P{space}&&\\P{Cc}&&\\P{Cn}&&\\P{Cs}]"])))],["lower",z1($f||($f=t1(["p{Lower}"],["\\p{Lower}"])))],["print",z1(Lf||(Lf=t1(["[[P{space}&&P{Cc}&&P{Cn}&&P{Cs}]p{Zs}]"],["[[\\P{space}&&\\P{Cc}&&\\P{Cn}&&\\P{Cs}]\\p{Zs}]"])))],["punct",z1(Sf||(Sf=t1(["[p{P}p{S}]"],["[\\p{P}\\p{S}]"])))],["space",z1(Zf||(Zf=t1(["p{space}"],["\\p{space}"])))],["upper",z1(Ef||(Ef=t1(["p{Upper}"],["\\p{Upper}"])))],["word",z1(Ff||(Ff=t1(["[p{Alpha}p{M}p{Nd}p{Pc}]"],["[\\p{Alpha}\\p{M}\\p{Nd}\\p{Pc}]"])))],["xdigit",z1(jf||(jf=t1(["p{AHex}"],["\\p{AHex}"])))]]);function ZZ(e,t){let n=[];for(let a=e;a<=t;a++)n.push(a);return n}function U3(e){let t=F0(e);return[t.toLowerCase(),t]}function Is(e,t){return ZZ(e,t).map(n=>U3(n))}var pv=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function EZ(e,t){let n={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...t};uv(e);let a={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:Ds(n.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};T4(e,FZ,a);let i={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},r={currentFlags:i,prevFlags:null,globalFlags:i,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:a.subroutineRefMap};T4(e,jZ,r);let s={groupsByName:r.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:r.reffedNodesByReferencer};return T4(e,HZ,s),e._originMap=r.groupOriginByCopy,e._strategy=a.strategy,e}var Hf,Nf,Tf,Vf,qf,If,Bf,Pf,Rf,FZ={AbsenceFunction({node:e,parent:t,replaceWith:n}){let{body:a,kind:i}=e;if(i==="repeater"){let r=N2();r.body[0].body.push(W3({negate:!0,body:a}),N4("Any"));let s=N2();s.body[0].body.push(Es("greedy",0,1/0,r)),n(z0(s,t),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:a}){let i=e.body.filter(r=>r.kind==="flags");for(let r=n+1;r\r\n|","|P{M}p{M}*)"],["(?>\\r\\n|","|\\P{M}\\p{M}*)"])),i?z1(If||(If=t1(["p{RGI_Emoji}"],["\\p{RGI_Emoji}"]))):m),{skipPropertyNameValidation:!0}),t))}else if(o==="hex")n(X3(N4("AHex",{negate:l}),t));else if(o==="newline")n(z0(c3(l?"[^\n]":"(?>\r\n?|[\n\v\f\x85\u2028\u2029])"),t));else if(o==="posix")if(!i&&(p==="graph"||p==="print")){if(a==="strict")throw new Error('POSIX class "'.concat(p,'" requires min target ES2024 or non-strict accuracy'));let u={graph:"!-~",print:" -~"}[p];l&&(u="\0-".concat(F0(u.codePointAt(0)-1)).concat(F0(u.codePointAt(2)+1),"-\u{10FFFF}")),n(z0(c3("[".concat(u,"]")),t))}else n(z0(Rs(c3(SZ.get(p)),l),t));else if(o==="property")Os.has(R5(p))||(e.key="sc");else if(o==="space")n(X3(N4("space",{negate:l}),t));else if(o==="word")n(z0(Rs(c3(s3),l),t));else throw new Error('Unexpected character set kind "'.concat(o,'"'))},Directive({node:e,parent:t,root:n,remove:a,replaceWith:i,removeAllPrevSiblings:r,removeAllNextSiblings:s}){let{kind:c,flags:o}=e;if(c==="flags")if(!o.enable&&!o.disable)a();else{let l=N2({flags:o});l.body[0].body=s(),i(z0(l,t),{traverse:!0})}else if(c==="keep"){let l=n.body[0],u=n.body.length===1&&Tn(l,{type:"Group"})&&l.body[0].body.length===1?l.body[0]:n;if(t.parent!==u||u.body.length>1)throw new Error(z1(Pf||(Pf=t1(['Uses "K" in a way that\'s unsupported'],['Uses "\\K" in a way that\'s unsupported']))));let m=W3({behind:!0});m.body[0].body=r(),i(z0(m,t))}else throw new Error('Unexpected directive kind "'.concat(c,'"'))},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(n=>delete e[n]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;let{enable:t,disable:n}=e.flags;t?.extended&&delete t.extended,n?.extended&&delete n.extended,t?.dotAll&&n?.dotAll&&delete t.dotAll,t?.ignoreCase&&n?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){let{kind:n}=e;n==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){let{kind:a}=e;if(a==="fail")n(z0(W3({negate:!0}),t));else throw new Error('Unsupported named callout "(*'.concat(a.toUpperCase(),'"'))},Quantifier({node:e}){if(e.body.type==="Quantifier"){let t=N2();t.body[0].body.push(e.body),e.body=z0(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){let n=[],a=!1,i=!1;for(let r of e.body)if(r.body.length===1&&r.body[0].kind==="search_start")r.body.pop();else{let s=gv(r.body);s?(a=!0,Array.isArray(s)?n.push(...s):n.push(s)):i=!0}a&&!i&&n.forEach(r=>t.add(r))},exit(e,{accuracy:t,passedLookbehind:n,strategy:a}){if(t==="strict"&&n&&a)throw new Error(z1(Rf||(Rf=t1(['Uses "G" in a way that requires non-strict accuracy'],['Uses "\\G" in a way that requires non-strict accuracy']))))}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!Ps(n)&&(n=Bs(n,t),e.ref=n)}},jZ={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){let{orphan:a,ref:i}=e;a||n.set(e,[...t.get(i).map(({node:r})=>r)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:a},{groupOriginByCopy:i,groupsByName:r,multiplexCapturesToLeftByRef:s,openRefs:c,reffedNodesByReferencer:o}){let l=i.get(e);if(l&&c.has(e.number)){let u=X3(gf(e.number),t);o.set(u,c.get(e.number)),n(u);return}c.set(e.number,e),s.set(e.number,[]),e.name&&B6(s,e.name,[]);let p=s.get(e.name??e.number);for(let u=0;um.type==="Group"&&!!m.flags)),u=p?Dn(a.globalFlags,p):a.globalFlags;NZ(u,a.currentFlags)||(l=N2({flags:qZ(u)}),l.body[0].body.push(o))}n(z0(l,t),{traverse:!c})}},HZ={Backreference({node:e,parent:t,replaceWith:n},a){if(e.orphan){a.highestOrphanBackref=Math.max(a.highestOrphanBackref,e.ref);return}let r=a.reffedNodesByReferencer.get(e).filter(s=>TZ(s,e));if(!r.length)n(z0(W3({negate:!0}),t));else if(r.length>1){let s=N2({atomic:!0,body:r.reverse().map(c=>r3({body:[Vn(c.number)]}))});n(z0(s,t))}else e.ref=r[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){let n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let a=0;a{t.forEach(i=>{a.enable?.[i]&&(delete n.disable[i],n.enable[i]=!0),a.disable?.[i]&&(n.disable[i]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function qZ({dotAll:e,ignoreCase:t}){let n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function hv(e){if(!e)throw new Error("Node expected");let{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function gv(e){let t=e.find(n=>n.kind==="search_start"||PZ(n,{negate:!1})||!IZ(n));if(!t)return null;if(t.kind==="search_start")return t;if(t.type==="LookaroundAssertion")return t.body[0].body[0];if(t.type==="CapturingGroup"||t.type==="Group"){let n=[];for(let a of t.body){let i=gv(a.body);if(!i)return null;Array.isArray(i)?n.push(...i):n.push(i)}return n}return null}function bv(e,t){let n=hv(e)??[];for(let a of n)if(a===t||bv(a,t))return!0;return!1}function IZ({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function BZ(e){let t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function PZ(e,t){let n={negate:null,...t};return e.type==="LookaroundAssertion"&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&Tn(e.body[0],{type:"Assertion",kind:"search_start"})}function Ps(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function c3(e,t){let a=qn(e,{...t,unicodePropertyMap:Os}).body;return a.length>1||a[0].body.length>1?N2({body:a}):a[0].body[0]}function Rs(e,t){return e.negate=t,e}function X3(e,t){return e.parent=t,e}function z0(e,t){return uv(e),e.parent=t,e}function RZ(e,t){let n=ov(t),a=Ds(n.target,"ES2024"),i=Ds(n.target,"ES2025"),r=n.rules.recursionLimit;if(!Number.isInteger(r)||r<2||r>20)throw new Error("Invalid recursionLimit; use 2-20");let s=null,c=null;if(!i){let d=[e.flags.ignoreCase];T4(e,DZ,{getCurrentModI:()=>d.at(-1),popModI(){d.pop()},pushModI(f){d.push(f)},setHasCasedChar(){d.at(-1)?s=!0:c=!0}})}let o={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||s)&&!c)},l=e,p={accuracy:n.accuracy,appliedGlobalFlags:o,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:l,originMap:e._originMap,recursionLimit:r,useAppliedIgnoreCase:!!(!i&&s&&c),useFlagMods:i,useFlagV:a,verbose:n.verbose};function u(d){return p.lastNode=l,l=d,kZ(GZ[d.type],'Unexpected node type "'.concat(d.type,'"'))(d,p,u)}let m={pattern:e.body.map(u).join("|"),flags:u(e.flags),options:{...e.options}};return a||(delete m.options.force.v,m.options.disable.v=!0,m.options.unicodeSetsPlugin=null),m._captureTransfers=new Map,m._hiddenCaptures=[],p.captureMap.forEach((d,f)=>{d.hidden&&m._hiddenCaptures.push(f),d.transferTo&&B6(m._captureTransfers,d.transferTo,[]).push(f)}),m}var DZ={"*":{enter({node:e},t){if(ff(e)){let n=t.getCurrentModI();t.pushModI(e.flags?Dn({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){ff(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){Ws(F0(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),fv(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&pv.has(e.value)&&t.setHasCasedChar()}},Df,Gf,Of,Wf,Uf,Xf,Kf,Yf,Qf,Jf,GZ={Alternative({body:e},t,n){return e.map(n).join("")},Assertion({kind:e,negate:t}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return z1(t?Df||(Df=t1(["B"],["\\B"])):Gf||(Gf=t1(["\b"],["\\b"])));throw new Error('Unexpected assertion kind "'.concat(e,'"'))},Backreference({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,t,n){let{body:a,name:i,number:r}=e,s={ignoreCase:t.currentFlags.ignoreCase},c=t.originMap.get(e);return c&&(s.hidden=!0,r>c.number&&(s.transferTo=c.number)),t.captureMap.set(r,s),"(".concat(i?"?<".concat(i,">"):"").concat(a.map(n).join("|"),")")},Character({value:e},t){let n=F0(e),a=G5(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(a!==n)return a;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&Ws(n)){let i=lv(n);return t.inCharClass?i.join(""):i.length>1?"[".concat(i.join(""),"]"):i[0]}return n},CharacterClass(e,t,n){let{kind:a,negate:i,parent:r}=e,{body:s}=e;if(a==="intersection"&&!t.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");ue.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&s.some(vf)&&(s=[P5(45),...s.filter(l=>!vf(l))]);let c=()=>"[".concat(i?"^":"").concat(s.map(n).join(a==="intersection"?"&&":""),"]");if(!t.inCharClass){if((!t.useFlagV||ue.bugNestedClassIgnoresNegation)&&!i){let p=s.filter(u=>u.type==="CharacterClass"&&u.kind==="union"&&u.negate);if(p.length){let u=N2(),m=u.body[0];return u.parent=r,m.parent=u,s=s.filter(d=>!p.includes(d)),e.body=s,s.length?(e.parent=m,m.body.push(e)):u.body.pop(),p.forEach(d=>{let f=r3({body:[d]});d.parent=f,f.parent=u,u.body.push(f)}),n(u)}}t.inCharClass=!0;let l=c();return t.inCharClass=!1,l}let o=s[0];if(a==="union"&&!i&&o&&((!t.useFlagV||!t.verbose)&&r.kind==="union"&&!(ue.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&r.kind==="intersection"&&s.length===1&&o.type!=="CharacterClassRange"))return s.map(n).join("");if(!t.useFlagV&&r.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return c()},CharacterClassRange(e,t){let n=e.min.value,a=e.max.value,i={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},r=G5(n,i),s=G5(a,i),c=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){let o=fv(e);KZ(o).forEach(p=>{c.add(Array.isArray(p)?"".concat(G5(p[0],i),"-").concat(G5(p[1],i)):G5(p,i))})}return"".concat(r,"-").concat(s).concat([...c].join(""))},CharacterSet({kind:e,negate:t,value:n,key:a},i){if(e==="dot")return i.currentFlags.dotAll?i.appliedGlobalFlags.dotAll||i.useFlagMods?".":"[^]":z1(Of||(Of=t1(["[^\n]"],["[^\\n]"])));if(e==="digit")return z1(t?Wf||(Wf=t1(["D"],["\\D"])):Uf||(Uf=t1(["d"],["\\d"])));if(e==="property"){if(i.useAppliedIgnoreCase&&i.currentFlags.ignoreCase&&pv.has(n))throw new Error('Unicode property "'.concat(n,"\" can't be case-insensitive when other chars have specific case"));return"".concat(z1(t?Xf||(Xf=t1(["P"],["\\P"])):Kf||(Kf=t1(["p"],["\\p"]))),"{").concat(a?"".concat(a,"="):"").concat(n,"}")}if(e==="word")return z1(t?Yf||(Yf=t1(["W"],["\\W"])):Qf||(Qf=t1(["w"],["\\w"])));throw new Error('Unexpected character set kind "'.concat(e,'"'))},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:t,flags:n,parent:a},i,r){let s=i.currentFlags;n&&(i.currentFlags=Dn(s,n));let c=t.map(r).join("|"),o=!i.verbose&&t.length===1&&a.type!=="Quantifier"&&!e&&(!i.useFlagMods||!n)?c:"(?".concat(YZ(e,n,i.useFlagMods)).concat(c,")");return i.currentFlags=s,o},LookaroundAssertion({body:e,kind:t,negate:n},a,i){let r="".concat(t==="lookahead"?"":"<").concat(n?"!":"=");return"(?".concat(r).concat(e.map(i).join("|"),")")},Quantifier(e,t,n){return n(e.body)+QZ(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");let a=n.recursionLimit;return t===0?"(?R=".concat(a,")"):z1(Jf||(Jf=t1(["g<","&R=",">"],["\\g<","&R=",">"])),t,a)}},OZ=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),WZ=new Set(["-","\\","]","^","["]),UZ=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),ev,tv,nv,av,iv,rv,sv,cv,bf=new Map([[9,z1(ev||(ev=t1([" "],["\\t"])))],[10,z1(tv||(tv=t1(["\n"],["\\n"])))],[11,z1(nv||(nv=t1(["\v"],["\\v"])))],[12,z1(av||(av=t1(["\f"],["\\f"])))],[13,z1(iv||(iv=t1(["\r"],["\\r"])))],[8232,z1(rv||(rv=t1(["\u2028"],["\\u2028"])))],[8233,z1(sv||(sv=t1(["\u2029"],["\\u2029"])))],[65279,z1(cv||(cv=t1(["\uFEFF"],["\\uFEFF"])))]]),XZ=/^\p{Cased}$/u;function Ws(e){return XZ.test(e)}function fv(e,t){let n=!!t?.firstOnly,a=e.min.value,i=e.max.value,r=[];if(a<65&&(i===65535||i>=131071)||a===65536&&i>=131071)return r;for(let s=a;s<=i;s++){let c=F0(s);if(!Ws(c))continue;let o=lv(c).filter(l=>{let p=l.codePointAt(0);return pi});if(o.length&&(r.push(...o),n))break}return r}function G5(e,{escDigit:t,inCharClass:n,useFlagV:a}){if(bf.has(e))return bf.get(e);if(e<32||e>126&&e<160||e>262143||t&&JZ(e))return e>255?"\\u{".concat(e.toString(16).toUpperCase(),"}"):"\\x".concat(e.toString(16).toUpperCase().padStart(2,"0"));let i=n?a?UZ:WZ:OZ,r=F0(e);return(i.has(r)?"\\":"")+r}function KZ(e){let t=e.map(i=>i.codePointAt(0)).sort((i,r)=>i-r),n=[],a=null;for(let i=0;i";let a="";if(t&&n){let{enable:i,disable:r}=t;a=(i?.ignoreCase?"i":"")+(i?.dotAll?"s":"")+(r?"-":"")+(r?.ignoreCase?"i":"")+(r?.dotAll?"s":"")}return"".concat(a,":")}function QZ({kind:e,max:t,min:n}){let a;return!n&&t===1?a="?":!n&&t===1/0?a="*":n===1&&t===1/0?a="+":n===t?a="{".concat(n,"}"):a="{".concat(n,",").concat(t===1/0?"":t,"}"),a+{greedy:"",lazy:"?",possessive:"+"}[e]}function ff({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function JZ(e){return e>47&&e<58}function vf({type:e,value:t}){return e==="Character"&&t===45}var eE=class Gs extends RegExp{#t=new Map;#e=null;#a;#n=null;#i=null;rawOptions={};get source(){return this.#a||"(?:)"}constructor(t,n,a){let i=!!a?.lazyCompile;if(t instanceof RegExp){if(a)throw new Error("Cannot provide options when copying a regexp");let r=t;super(r,n),this.#a=r.source,r instanceof Gs&&(this.#t=r.#t,this.#n=r.#n,this.#i=r.#i,this.rawOptions=r.rawOptions)}else{let r={hiddenCaptures:[],strategy:null,transfers:[],...a};super(i?"":t,n),this.#a=t,this.#t=nE(r.hiddenCaptures,r.transfers),this.#i=r.strategy,this.rawOptions=a??{}}i||(this.#e=this)}exec(t){if(!this.#e){let{lazyCompile:i,...r}=this.rawOptions;this.#e=new Gs(this.#a,this.flags,r)}let n=this.global||this.sticky,a=this.lastIndex;if(this.#i==="clip_search"&&n&&a){this.lastIndex=0;let i=this.#r(t.slice(a));return i&&(tE(i,a,t,this.hasIndices),this.lastIndex+=a),i}return this.#r(t)}#r(t){this.#e.lastIndex=this.lastIndex;let n=super.exec.call(this.#e,t);if(this.lastIndex=this.#e.lastIndex,!n||!this.#t.size)return n;let a=[...n];n.length=1;let i;this.hasIndices&&(i=[...n.indices],n.indices.length=1);let r=[0];for(let s=1;s{let c=r[s];c&&(r[s]=[c[0]+t,c[1]+t])})}}function nE(e,t){let n=new Map;for(let a of e)n.set(a,{hidden:!0});for(let[a,i]of t)for(let r of i)B6(n,r,{}).transferTo=a;return n}function aE(e){let t=/(?\((?:\?<(?![=!])(?[^>]+)>|(?!\?)))|\\?./gsu,n=new Map,a=0,i=0,r;for(;r=t.exec(e);){let{0:s,groups:{capture:c,name:o}}=r;s==="["?a++:a?s==="]"&&a--:c&&(i++,o&&n.set(i,o))}return n}function vv(e,t){let n=iE(e,t);return n.options?new eE(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function iE(e,t){let n=ov(t),a=qn(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:Os}),i=EZ(a,{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),r=RZ(i,n),s=df(r.pattern,{captureTransfers:r._captureTransfers,hiddenCaptures:r._hiddenCaptures,mode:"external"}),c=Ts(s.pattern),o=Ns(c.pattern,{captureTransfers:s.captureTransfers,hiddenCaptures:s.hiddenCaptures}),l={pattern:o.pattern,flags:"".concat(n.hasIndices?"d":"").concat(n.global?"g":"").concat(r.flags).concat(r.options.disable.v?"u":"v")};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{let p=o.hiddenCaptures.sort((f,w)=>f-w),u=Array.from(o.captureTransfers),m=i._strategy,d=l.pattern.length>=n.lazyCompileLength;(p.length||u.length||m||d)&&(l.options={...p.length&&{hiddenCaptures:p},...u.length&&{transfers:u},...m&&{strategy:m},...d&&{lazyCompile:d}})}return l}function On(e,t){return vv(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function Us(e={}){let t={target:"auto",cache:new Map,...e};return t.regexConstructor||=n=>On(n,{target:t.target}),{createScanner(n){return new Jg(n,t)},createString:eb}}P6();R6();D6();var oE=new Map(Object.entries({typescript:["ts","tsx","mts","cts"],javascript:["js","jsx","mjs","cjs"],shellscript:["sh","bash","zsh"],fish:["fish"],json:["json","jsonc","jsonl","ndjson","ipynb"],csv:["csv"],python:["py","pyw","pyi"],ruby:["rb","rake","gemspec"],go:["go"],rust:["rs"],java:["java"],c:["c","h"],cpp:["cc","cpp","cxx","hh","hpp","hxx"],csharp:["cs"],kotlin:["kt","kts"],swift:["swift"],php:["php"],yaml:["yaml","yml"],toml:["toml"],ini:["ini","conf","cfg","properties"],dotenv:["env"],log:["log"],diff:["diff","patch"],http:["http"],markdown:["md","markdown"],mdx:["mdx"],rst:["rst"],latex:["tex","sty","cls"],bibtex:["bib"],asciidoc:["adoc"],html:["html","htm","xhtml"],css:["css"],scss:["scss"],less:["less"],sql:["sql"],xml:["xml","xsd","xsl","xslt","plist","svg"],lua:["lua"],bat:["bat","cmd"],powershell:["ps1","psm1","psd1"],r:["r"],julia:["jl"],dart:["dart"],scala:["scala"],clojure:["clj","cljs","edn"],erlang:["erl","hrl"],elixir:["ex","exs"],haskell:["hs"],fsharp:["fs","fsi","fsx"],vb:["vb"],perl:["pl","pm"],verilog:["v"],"system-verilog":["sv","svh"],graphql:["graphql","gql"],proto:["proto"],hcl:["tf","tfvars","hcl"],nix:["nix"],vue:["vue"],svelte:["svelte"],make:["makefile","mk"],cmake:["cmake"],groovy:["gradle","groovy"]}).flatMap(([e,t])=>t.map(n=>[n,e]))),lE=[...oE.keys()];var bq=U1(_v(),1);var o3={card:"At",header:"Yt",heading:"It",language:"Rt",title:"Bt",actions:"Dt",status:"Gt",action:"ne",body:"Ht"};var O5={block:"le",body:"ki",line:"vi",path:"Lt",gap:"Ot",del:"yi",add:"ji",context:"Xi",expand:"Ti"};var dE={};function Ks(e,t){let n=t||dE,a=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return xv(e,a,i)}function xv(e,t,n){if(hE(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return wv(e.children,t,n)}return Array.isArray(e)?wv(e,t,n):""}function wv(e,t,n){let a=[],i=-1;for(;++ii?0:i+t:t=t>i?i:t,n=n>0?n:0,a.length<1e4)s=Array.from(a),s.unshift(t,n),e.splice(...s);else for(n&&e.splice(t,n);r0?(I0(e,e.length,0,t),e):t}var zv={}.hasOwnProperty;function Wn(e){let t={},n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"\uFFFD":String.fromCodePoint(n)}function e2(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var j0=e4(/[A-Za-z]/),y0=e4(/[\dA-Za-z]/),Cv=e4(/[#-'*+\--9=?A-Z^-~]/);function q4(e){return e!==null&&(e<32||e===127)}var G6=e4(/\d/),Av=e4(/[\dA-Fa-f]/),Mv=e4(/[!-/:-@[-`{-~]/);function Q(e){return e!==null&&e<-2}function L1(e){return e!==null&&(e<0||e===32)}function h1(e){return e===-2||e===-1||e===32}var l3=e4(/\p{P}|\p{S}/u),$e=e4(/\s/);function e4(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Xn(e){let t=[],n=-1,a=0,i=0;for(;++n55295&&r<57344){let c=e.charCodeAt(n+1);r<56320&&c>56319&&c<57344?(s=String.fromCharCode(r,c),i=1):s="\uFFFD"}else s=String.fromCharCode(r);s&&(t.push(e.slice(a,n),encodeURIComponent(s)),a=n+i+1,s=""),i&&(n+=i,i=0)}return t.join("")+e.slice(a)}function m1(e,t,n,a){let i=a?a-1:1/0,r=0;return s;function s(o){return h1(o)?(e.enter(n),c(o)):t(o)}function c(o){return h1(o)&&r++0&&h1(p)?(e.enter(a),o(p)):l(p)}function o(p){return h1(p)&&s=i?t(p):n(p)}}var $v={tokenize:fE};function fE(e){let t=e.attempt(this.parser.constructs.contentInitial,a,i),n;return t;function a(c){if(c===null){e.consume(c);return}return e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),m1(e,t,"linePrefix")}function i(c){return e.enter("paragraph"),r(c)}function r(c){let o=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=o),n=o,s(c)}function s(c){if(c===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(c);return}return Q(c)?(e.consume(c),e.exit("chunkText"),r):(e.consume(c),s)}}var p3=class{constructor(){this.index=new Map,this.map=[]}add(t,n,a){Lv(this,t,n,a,!1)}addBefore(t,n,a){Lv(this,t,n,a,!0)}consume(t){if(this.map.sort(function(r,s){return r[0]-s[0]}),this.map.length===0)return;let n=this.map.length,a=[];for(;n>0;)n-=1,a.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];a.push(t.slice()),t.length=0;let i=a.pop();for(;i;){for(let r of i)t.push(r);i=a.pop()}this.map.length=0,this.index.clear()}};function Lv(e,t,n,a,i){if(n===0&&a.length===0)return;let r=e.index.get(t);if(r){r[1]+=n,i?(a.push(...r[2]),r[2]=a):r[2].push(...a);return}let s=[t,n,a];e.map.push(s),e.index.set(t,s)}var Zv={tokenize:vE},Sv={tokenize:yE};function vE(e){let t=this,n=[],a=0,i,r,s;return c;function c(_){if(as))return;let j=t.events.length,N=j,H,S;for(;N--;)if(t.events[N][0]==="exit"&&t.events[N][1].type==="chunkFlow"){if(H){S=t.events[N][1].end;break}H=!0}for(v(a),C=j;C_;){let L=n[z];t.containerState=L[1],L[0].exit.call(t,e)}n.length=_}function b(){i.write([null]),r=void 0,i=void 0,t.containerState._closeFlow=void 0}}function yE(e,t,n){return m1(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function u3(e){if(e===null||L1(e)||$e(e))return 1;if(l3(e))return 2}function t4(e,t,n){let a=[],i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1,s={...e[i][1].end},c={...e[n][1].start};Ev(s,-r),Ev(c,r);let o={type:r>1?"strongSequence":"emphasisSequence",start:s,end:{...e[i][1].end}},l={type:r>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:c},p={type:r>1?"strongText":"emphasisText",start:{...e[i][1].end},end:{...e[n][1].start}},u={type:r>1?"strong":"emphasis",start:{...o.start},end:{...l.end}};e[i][1].end={...o.start},e[n][1].start={...l.end},a=[],e[i][1].end.offset-e[i][1].start.offset&&(a=o2(a,[["enter",e[i][1],t],["exit",e[i][1],t]])),a=o2(a,[["enter",u,t],["enter",o,t],["exit",o,t],["enter",p,t]]),a=o2(a,t4(t.parser.constructs.insideSpan.null,e.slice(i+1,n),t)),a=o2(a,[["exit",p,t],["enter",l,t],["exit",l,t],["exit",u,t]]);let m=0;e[n][1].end.offset-e[n][1].start.offset&&(m=2,a=o2(a,[["enter",e[n][1],t],["exit",e[n][1],t]])),I0(e,i-1,n-i+3,a),n=i+a.length-m-2;break}}for(n=-1;++n0&&h1(C)?m1(e,b,"linePrefix",r+1)(C):b(C)}function b(C){return C===null||Q(C)?e.check(O6,w,z)(C):(e.enter("codeFlowValue"),_(C))}function _(C){return C===null||Q(C)?(e.exit("codeFlowValue"),b(C)):(e.consume(C),_)}function z(C){return e.exit("codeFenced"),t(C)}function L(C,j,N){let H=0;return S;function S(G){return C.enter("lineEnding"),C.consume(G),C.exit("lineEnding"),R}function R(G){return C.enter("codeFencedFence"),h1(G)?m1(C,B,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(G):B(G)}function B(G){return G===c?(C.enter("codeFencedFenceSequence"),I(G)):N(G)}function I(G){return G===c?(H++,C.consume(G),I):H>=s?(C.exit("codeFencedFenceSequence"),h1(G)?m1(C,e1,"whitespace")(G):e1(G)):N(G)}function e1(G){return G===null||Q(G)?(C.exit("codeFencedFence"),j(G)):N(G)}}}var W6={name:"codeIndented",tokenize:EE},ZE={partial:!0,tokenize:FE};function EE(e,t,n){return a;function a(c){return e.enter("codeIndented"),Ys(e,i,n,"linePrefix",4,4)(c)}function i(c){return c===null?s(c):Q(c)?e.attempt(ZE,i,s)(c):(e.enter("codeFlowValue"),r(c))}function r(c){return c===null||Q(c)?(e.exit("codeFlowValue"),i(c)):(e.consume(c),r)}function s(c){return e.exit("codeIndented"),t(c)}}function FE(e,t,n){let a=this;return i;function i(s){return a.parser.lazy[a.now().line]?n(s):Q(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i):Ys(e,t,r,"linePrefix",4,4)(s)}function r(s){return Q(s)?i(s):n(s)}}var Js={name:"codeText",previous:HE,resolve:jE,tokenize:NE};function jE(e){let t=e.length-4,n=3,a,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(a=n;++a=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-a+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-a+this.left.length).reverse())}splice(t,n,a){let i=n||0;this.setCursor(Math.trunc(t));let r=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return a&&U6(this.left,a),r.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),U6(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),U6(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(s):e.interrupt(a.parser.constructs.flow,n,t)(s)}}function na(e,t,n,a,i,r,s,c,o){let l=o||Number.POSITIVE_INFINITY,p=0;return u;function u(v){return v===60?(e.enter(a),e.enter(i),e.enter(r),e.consume(v),e.exit(r),m):v===null||v===32||v===41||q4(v)?n(v):(e.enter(a),e.enter(s),e.enter(c),e.enter("chunkString",{contentType:"string"}),w(v))}function m(v){return v===62?(e.enter(r),e.consume(v),e.exit(r),e.exit(i),e.exit(a),t):(e.enter(c),e.enter("chunkString",{contentType:"string"}),d(v))}function d(v){return v===62?(e.exit("chunkString"),e.exit(c),m(v)):v===null||v===60||Q(v)?n(v):(e.consume(v),v===92?f:d)}function f(v){return v===60||v===62||v===92?(e.consume(v),d):d(v)}function w(v){return!p&&(v===null||v===41||L1(v))?(e.exit("chunkString"),e.exit(c),e.exit(s),e.exit(a),t(v)):p999||d===null||d===91||d===93&&!o||d===94&&!c&&"_hiddenFootnoteSupport"in s.parser.constructs?n(d):d===93?(e.exit(r),e.enter(i),e.consume(d),e.exit(i),e.exit(a),t):Q(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),p):(e.enter("chunkString",{contentType:"string"}),u(d))}function u(d){return d===null||d===91||d===93||Q(d)||c++>999?(e.exit("chunkString"),p(d)):(e.consume(d),o||(o=!h1(d)),d===92?m:u)}function m(d){return d===91||d===92||d===93?(e.consume(d),c++,u):u(d)}}function ia(e,t,n,a,i,r){let s;return c;function c(m){return m===34||m===39||m===40?(e.enter(a),e.enter(i),e.consume(m),e.exit(i),s=m===40?41:m,o):n(m)}function o(m){return m===s?(e.enter(i),e.consume(m),e.exit(i),e.exit(a),t):(e.enter(r),l(m))}function l(m){return m===s?(e.exit(r),o(s)):m===null?n(m):Q(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),m1(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),p(m))}function p(m){return m===s||m===null||Q(m)?(e.exit("chunkString"),l(m)):(e.consume(m),m===92?u:p)}function u(m){return m===s||m===92?(e.consume(m),p):p(m)}}function B4(e,t){let n;return a;function a(i){return Q(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,a):h1(i)?m1(e,a,n?"linePrefix":"lineSuffix")(i):t(i)}}var tc={name:"definition",tokenize:RE},PE={partial:!0,tokenize:DE};function RE(e,t,n){let a=this,i;return r;function r(d){return e.enter("definition"),s(d)}function s(d){return aa.call(a,e,c,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(d)}function c(d){return i=e2(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)),d===58?(e.enter("definitionMarker"),e.consume(d),e.exit("definitionMarker"),o):n(d)}function o(d){return L1(d)?B4(e,l)(d):l(d)}function l(d){return na(e,p,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(d)}function p(d){return e.attempt(PE,u,u)(d)}function u(d){return h1(d)?m1(e,m,"whitespace")(d):m(d)}function m(d){return d===null||Q(d)?(e.exit("definition"),a.parser.defined.push(i),t(d)):n(d)}}function DE(e,t,n){return a;function a(c){return L1(c)?B4(e,i)(c):n(c)}function i(c){return ia(e,r,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(c)}function r(c){return h1(c)?m1(e,s,"whitespace")(c):s(c)}function s(c){return c===null||Q(c)?t(c):n(c)}}var nc={name:"hardBreakEscape",tokenize:GE};function GE(e,t,n){return a;function a(r){return e.enter("hardBreakEscape"),e.consume(r),i}function i(r){return Q(r)?(e.exit("hardBreakEscape"),t(r)):n(r)}}var ac={name:"headingAtx",resolve:OE,tokenize:WE};function OE(e,t){let n=e.length-2,a=3;if(e[a][1].type==="whitespace"&&(a+=2),n-2>a&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(a===n-1||n-4>a&&e[n-2][1].type==="whitespace")&&(n-=a+1===n?2:4),n>a){let i={type:"atxHeadingText",start:e[a][1].start,end:e[n][1].end},r={type:"chunkText",start:e[a][1].start,end:e[n][1].end,contentType:"text"};I0(e,a,n-a+1,[["enter",i,t],["enter",r,t],["exit",r,t],["exit",i,t]])}return e}function WE(e,t,n){let a=0;return i;function i(p){return e.enter("atxHeading"),r(p)}function r(p){return e.enter("atxHeadingSequence"),s(p)}function s(p){return p===35&&a++<6?(e.consume(p),s):p===null||L1(p)?(e.exit("atxHeadingSequence"),c(p)):n(p)}function c(p){return p===35?(e.enter("atxHeadingSequence"),o(p)):p===null||Q(p)?(e.exit("atxHeading"),t(p)):h1(p)?m1(e,c,"whitespace")(p):(e.enter("atxHeadingText"),l(p))}function o(p){return p===35?(e.consume(p),o):(e.exit("atxHeadingSequence"),c(p))}function l(p){return p===null||p===35||L1(p)?(e.exit("atxHeadingText"),c(p)):(e.consume(p),l)}}var Fv=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ic=["pre","script","style","textarea"];var rc={concrete:!0,name:"htmlFlow",resolveTo:XE,tokenize:KE},UE={partial:!0,tokenize:YE};function XE(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function KE(e,t,n){let a=this,i,r,s,c,o;return l;function l(Z){return p(Z)}function p(Z){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(Z),u}function u(Z){return Z===33?(e.consume(Z),m):Z===47?(e.consume(Z),r=!0,w):Z===63?(e.consume(Z),i=3,a.interrupt?t:M):j0(Z)?(e.consume(Z),s=String.fromCharCode(Z),k):n(Z)}function m(Z){return Z===45?(e.consume(Z),i=2,d):Z===91?(e.consume(Z),i=5,c=0,f):j0(Z)?(e.consume(Z),i=4,a.interrupt?t:M):n(Z)}function d(Z){return Z===45?(e.consume(Z),a.interrupt?t:M):n(Z)}function f(Z){let P1="CDATA[";return Z===P1.charCodeAt(c++)?(e.consume(Z),c===P1.length?a.interrupt?t:B:f):n(Z)}function w(Z){return j0(Z)?(e.consume(Z),s=String.fromCharCode(Z),k):n(Z)}function k(Z){if(Z===null||Z===47||Z===62||L1(Z)){let P1=Z===47,C0=s.toLowerCase();return!P1&&!r&&ic.includes(C0)?(i=1,a.interrupt?t(Z):B(Z)):Fv.includes(s.toLowerCase())?(i=6,P1?(e.consume(Z),v):a.interrupt?t(Z):B(Z)):(i=7,a.interrupt&&!a.parser.lazy[a.now().line]?n(Z):r?b(Z):_(Z))}return Z===45||y0(Z)?(e.consume(Z),s+=String.fromCharCode(Z),k):n(Z)}function v(Z){return Z===62?(e.consume(Z),a.interrupt?t:B):n(Z)}function b(Z){return h1(Z)?(e.consume(Z),b):S(Z)}function _(Z){return Z===47?(e.consume(Z),S):Z===58||Z===95||j0(Z)?(e.consume(Z),z):h1(Z)?(e.consume(Z),_):S(Z)}function z(Z){return Z===45||Z===46||Z===58||Z===95||y0(Z)?(e.consume(Z),z):L(Z)}function L(Z){return Z===61?(e.consume(Z),C):h1(Z)?(e.consume(Z),L):_(Z)}function C(Z){return Z===null||Z===60||Z===61||Z===62||Z===96?n(Z):Z===34||Z===39?(e.consume(Z),o=Z,j):h1(Z)?(e.consume(Z),C):N(Z)}function j(Z){return Z===o?(e.consume(Z),o=null,H):Z===null||Q(Z)?n(Z):(e.consume(Z),j)}function N(Z){return Z===null||Z===34||Z===39||Z===47||Z===60||Z===61||Z===62||Z===96||L1(Z)?L(Z):(e.consume(Z),N)}function H(Z){return Z===47||Z===62||h1(Z)?_(Z):n(Z)}function S(Z){return Z===62?(e.consume(Z),R):n(Z)}function R(Z){return Z===null||Q(Z)?B(Z):h1(Z)?(e.consume(Z),R):n(Z)}function B(Z){return Z===45&&i===2?(e.consume(Z),X):Z===60&&i===1?(e.consume(Z),o1):Z===62&&i===4?(e.consume(Z),a1):Z===63&&i===3?(e.consume(Z),M):Z===93&&i===5?(e.consume(Z),M1):Q(Z)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(UE,l1,I)(Z)):Z===null||Q(Z)?(e.exit("htmlFlowData"),I(Z)):(e.consume(Z),B)}function I(Z){return e.check(O6,e1,l1)(Z)}function e1(Z){return e.enter("lineEnding"),e.consume(Z),e.exit("lineEnding"),G}function G(Z){return Z===null||Q(Z)?I(Z):(e.enter("htmlFlowData"),B(Z))}function X(Z){return Z===45?(e.consume(Z),M):B(Z)}function o1(Z){return Z===47?(e.consume(Z),s="",w1):B(Z)}function w1(Z){if(Z===62){let P1=s.toLowerCase();return ic.includes(P1)?(e.consume(Z),a1):B(Z)}return j0(Z)&&s.length<8?(e.consume(Z),s+=String.fromCharCode(Z),w1):B(Z)}function M1(Z){return Z===93?(e.consume(Z),M):B(Z)}function M(Z){return Z===62?(e.consume(Z),a1):Z===45&&i===2?(e.consume(Z),M):B(Z)}function a1(Z){return Z===null||Q(Z)?(e.exit("htmlFlowData"),l1(Z)):(e.consume(Z),a1)}function l1(Z){return e.exit("htmlFlow"),t(Z)}}function YE(e,t,n){return a;function a(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Le,t,n)}}var sc={name:"htmlText",tokenize:QE};function QE(e,t,n){let a=this,i,r,s;return c;function c(M){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(M),o}function o(M){return M===33?(e.consume(M),l):M===47?(e.consume(M),L):M===63?(e.consume(M),_):j0(M)?(e.consume(M),N):n(M)}function l(M){return M===45?(e.consume(M),p):M===91?(e.consume(M),r=0,f):j0(M)?(e.consume(M),b):n(M)}function p(M){return M===45?(e.consume(M),d):n(M)}function u(M){return M===null?n(M):M===45?(e.consume(M),m):Q(M)?(s=u,o1(M)):(e.consume(M),u)}function m(M){return M===45?(e.consume(M),d):u(M)}function d(M){return M===62?X(M):M===45?m(M):u(M)}function f(M){let a1="CDATA[";return M===a1.charCodeAt(r++)?(e.consume(M),r===a1.length?w:f):n(M)}function w(M){return M===null?n(M):M===93?(e.consume(M),k):Q(M)?(s=w,o1(M)):(e.consume(M),w)}function k(M){return M===93?(e.consume(M),v):w(M)}function v(M){return M===62?X(M):M===93?(e.consume(M),v):w(M)}function b(M){return M===null||M===62?X(M):Q(M)?(s=b,o1(M)):(e.consume(M),b)}function _(M){return M===null?n(M):M===63?(e.consume(M),z):Q(M)?(s=_,o1(M)):(e.consume(M),_)}function z(M){return M===62?X(M):_(M)}function L(M){return j0(M)?(e.consume(M),C):n(M)}function C(M){return M===45||y0(M)?(e.consume(M),C):j(M)}function j(M){return Q(M)?(s=j,o1(M)):h1(M)?(e.consume(M),j):X(M)}function N(M){return M===45||y0(M)?(e.consume(M),N):M===47||M===62||L1(M)?H(M):n(M)}function H(M){return M===47?(e.consume(M),X):M===58||M===95||j0(M)?(e.consume(M),S):Q(M)?(s=H,o1(M)):h1(M)?(e.consume(M),H):X(M)}function S(M){return M===45||M===46||M===58||M===95||y0(M)?(e.consume(M),S):R(M)}function R(M){return M===61?(e.consume(M),B):Q(M)?(s=R,o1(M)):h1(M)?(e.consume(M),R):H(M)}function B(M){return M===null||M===60||M===61||M===62||M===96?n(M):M===34||M===39?(e.consume(M),i=M,I):Q(M)?(s=B,o1(M)):h1(M)?(e.consume(M),B):(e.consume(M),e1)}function I(M){return M===i?(e.consume(M),i=void 0,G):M===null?n(M):Q(M)?(s=I,o1(M)):(e.consume(M),I)}function e1(M){return M===null||M===34||M===39||M===60||M===61||M===96?n(M):M===47||M===62||L1(M)?H(M):(e.consume(M),e1)}function G(M){return M===47||M===62||L1(M)?H(M):n(M)}function X(M){return M===62?(e.consume(M),e.exit("htmlTextData"),e.exit("htmlText"),t):n(M)}function o1(M){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(M),e.exit("lineEnding"),w1}function w1(M){return h1(M)?m1(e,M1,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(M):M1(M)}function M1(M){return e.enter("htmlTextData"),s(M)}}var P4={name:"labelEnd",resolveAll:nF,resolveTo:aF,tokenize:iF},JE={tokenize:rF},eF={tokenize:sF},tF={tokenize:cF};function nF(e){let t=-1,n=[];for(;++t0&&i[i.length-1]._balanced;)i.pop();r=i[i.length-1]}return c;function c(m){return r?r._inactive?u(m):(s=a.parser.defined.includes(e2(a.sliceSerialize({start:r.end,end:a.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(m),e.exit("labelMarker"),e.exit("labelEnd"),o):n(m)}function o(m){return m===40?e.attempt(JE,p,s?p:u)(m):m===91?e.attempt(eF,p,s?l:u)(m):s?p(m):u(m)}function l(m){return e.attempt(tF,p,u)(m)}function p(m){return i.pop(),t(m)}function u(m){return r._balanced=!0,n(m)}}function rF(e,t,n){return a;function a(u){return e.enter("resource"),e.enter("resourceMarker"),e.consume(u),e.exit("resourceMarker"),i}function i(u){return L1(u)?B4(e,r)(u):r(u)}function r(u){return u===41?p(u):na(e,s,c,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(u)}function s(u){return L1(u)?B4(e,o)(u):p(u)}function c(u){return n(u)}function o(u){return u===34||u===39||u===40?ia(e,l,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(u):p(u)}function l(u){return L1(u)?B4(e,p)(u):p(u)}function p(u){return u===41?(e.enter("resourceMarker"),e.consume(u),e.exit("resourceMarker"),e.exit("resource"),t):n(u)}}function sF(e,t,n){let a=this;return i;function i(c){return aa.call(a,e,r,s,"reference","referenceMarker","referenceString")(c)}function r(c){return a.parser.defined.includes(e2(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)))?t(c):n(c)}function s(c){return n(c)}}function cF(e,t,n){return a;function a(r){return e.enter("reference"),e.enter("referenceMarker"),e.consume(r),e.exit("referenceMarker"),i}function i(r){return r===93?(e.enter("referenceMarker"),e.consume(r),e.exit("referenceMarker"),e.exit("reference"),t):n(r)}}var cc={name:"labelStartImage",resolveAll:P4.resolveAll,tokenize:oF};function oF(e,t,n){let a=this,i;return r;function r(o){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(o),e.exit("labelImageMarker"),s}function s(o){return o===91?(e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),i=e.exit("labelImage"),c):n(o)}function c(o){return o===94&&"_hiddenFootnoteSupport"in a.parser.constructs?n(o):(a._labelStarts=a._labelStarts||[],a._labelStarts.push(i),t(o))}}var oc={name:"labelStartLink",resolveAll:P4.resolveAll,tokenize:lF};function lF(e,t,n){let a=this,i;return r;function r(c){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(c),e.exit("labelMarker"),i=e.exit("labelLink"),s}function s(c){return c===94&&"_hiddenFootnoteSupport"in a.parser.constructs?n(c):(a._labelStarts=a._labelStarts||[],a._labelStarts.push(i),t(c))}}var X6={name:"lineEnding",tokenize:pF};function pF(e,t){return n;function n(a){return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),m1(e,t,"linePrefix")}}var R4={name:"thematicBreak",tokenize:uF};function uF(e,t,n){let a=0,i;return r;function r(l){return e.enter("thematicBreak"),s(l)}function s(l){return i=l,c(l)}function c(l){return l===i?(e.enter("thematicBreakSequence"),o(l)):a>=3&&(l===null||Q(l))?(e.exit("thematicBreak"),t(l)):n(l)}function o(l){return l===i?(e.consume(l),a++,o):(e.exit("thematicBreakSequence"),h1(l)?m1(e,c,"whitespace")(l):c(l))}}var t2={continuation:{tokenize:gF},exit:fF,name:"list",tokenize:hF},mF={partial:!0,tokenize:vF},dF={partial:!0,tokenize:bF};function hF(e,t,n){let a=this,i=a.events[a.events.length-1],r=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,s=0;return c;function c(d){let f=a.containerState.type||(d===42||d===43||d===45?"listUnordered":"listOrdered");if(f==="listUnordered"?!a.containerState.marker||d===a.containerState.marker:G6(d)){if(a.containerState.type||(a.containerState.type=f,e.enter(f,{_container:!0})),f==="listUnordered")return e.enter("listItemPrefix"),d===42||d===45?e.check(R4,n,l)(d):l(d);if(!a.interrupt||d===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),o(d)}return n(d)}function o(d){return G6(d)&&++s<10?(e.consume(d),o):(!a.interrupt||s<2)&&(a.containerState.marker?d===a.containerState.marker:d===41||d===46)?(e.exit("listItemValue"),l(d)):n(d)}function l(d){return e.enter("listItemMarker"),e.consume(d),e.exit("listItemMarker"),a.containerState.marker=a.containerState.marker||d,e.check(Le,a.interrupt?n:p,e.attempt(mF,m,u))}function p(d){return a.containerState.initialBlankLine=!0,r++,m(d)}function u(d){return h1(d)?(e.enter("listItemPrefixWhitespace"),e.consume(d),e.exit("listItemPrefixWhitespace"),m):n(d)}function m(d){return a.containerState.size=r+a.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(d)}}function gF(e,t,n){let a=this;return a.containerState._closeFlow=void 0,e.check(Le,i,r);function i(c){return a.containerState.furtherBlankLines=a.containerState.furtherBlankLines||a.containerState.initialBlankLine,m1(e,t,"listItemIndent",a.containerState.size+1)(c)}function r(c){return a.containerState.furtherBlankLines||!h1(c)?(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,s(c)):(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,e.attempt(dF,t,s)(c))}function s(c){return a.containerState._closeFlow=!0,a.interrupt=void 0,m1(e,e.attempt(t2,t,n),"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(c)}}function bF(e,t,n){let a=this;return m1(e,i,"listItemIndent",a.containerState.size+1);function i(r){let s=a.events[a.events.length-1];return s&&s[1].type==="listItemIndent"&&s[2].sliceSerialize(s[1],!0).length===a.containerState.size?t(r):n(r)}}function fF(e){e.exit(this.containerState.type)}function vF(e,t,n){let a=this;return m1(e,i,"listItemPrefixWhitespace",a.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(r){let s=a.events[a.events.length-1];return!h1(r)&&s&&s[1].type==="listItemPrefixWhitespace"?t(r):n(r)}}var ra={name:"setextUnderline",resolveTo:yF,tokenize:_F};function yF(e,t){let n=new p3,a=e.length,i,r,s;for(;a--;)if(e[a][0]==="enter"){if(e[a][1].type==="content"){i=a;break}e[a][1].type==="paragraph"&&(r=a)}else e[a][1].type==="content"&&n.add(a,1,[]),!s&&e[a][1].type==="definition"&&(s=a);let c={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type="setextHeadingText",s?(n.add(r,0,[["enter",c,t]]),n.add(s+1,0,[["exit",e[i][1],t]]),e[i][1].end={...e[s][1].end}):e[i][1]=c,n.add(e.length,0,[["exit",c,t]]),n.consume(e),e}function _F(e,t,n){let a=this,i;return r;function r(l){let p=a.events.length,u;for(;p--;)if(a.events[p][1].type!=="lineEnding"&&a.events[p][1].type!=="linePrefix"&&a.events[p][1].type!=="content"){u=a.events[p][1].type==="paragraph";break}return!a.parser.lazy[a.now().line]&&(a.interrupt||u)?(e.enter("setextHeadingLine"),i=l,s(l)):n(l)}function s(l){return e.enter("setextHeadingLineSequence"),c(l)}function c(l){return l===i?(e.consume(l),c):(e.exit("setextHeadingLineSequence"),h1(l)?m1(e,o,"lineSuffix")(l):o(l))}function o(l){return l===null||Q(l)?(e.exit("setextHeadingLine"),t(l)):n(l)}}var jv={tokenize:wF};function wF(e){let t=this,n=e.attempt(Le,a,e.attempt(this.parser.constructs.flowInitial,i,m1(e,e.attempt(this.parser.constructs.flow,i,e.attempt(ec,i)),"linePrefix")));return n;function a(r){if(r===null){e.consume(r);return}return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var Hv={resolveAll:qv()},Nv=Vv("string"),Tv=Vv("text");function Vv(e){return{resolveAll:qv(e==="text"?xF:void 0),tokenize:t};function t(n){let a=this,i=this.parser.constructs[e],r=n.attempt(i,s,c);return s;function s(p){return l(p)?r(p):c(p)}function c(p){if(p===null){n.consume(p);return}return n.enter("data"),n.consume(p),o}function o(p){return l(p)?(n.exit("data"),r(p)):(n.consume(p),o)}function l(p){if(p===null)return!0;let u=i[p],m=-1;if(u)for(;++mSF,contentInitial:()=>zF,disable:()=>ZF,document:()=>kF,flow:()=>AF,flowInitial:()=>CF,insideSpan:()=>LF,string:()=>MF,text:()=>$F});var kF={42:t2,43:t2,45:t2,48:t2,49:t2,50:t2,51:t2,52:t2,53:t2,54:t2,55:t2,56:t2,57:t2,62:Kn},zF={91:tc},CF={[-2]:W6,[-1]:W6,32:W6},AF={35:ac,42:R4,45:[ra,R4],60:rc,61:ra,95:R4,96:Jn,126:Jn},MF={38:Qn,92:Yn},$F={[-5]:X6,[-4]:X6,[-3]:X6,33:cc,38:Qn,42:I4,60:[Qs,sc],91:oc,92:[nc,Yn],93:P4,95:I4,96:Js},LF={null:[I4,Hv]},SF={null:[42,95]},ZF={null:[]};function Iv(e,t,n){let a={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},r=[],s=[],c=[],o=!0,l={attempt:H(j),check:H(N),consume:z,enter:L,exit:C,interrupt:H(N,{interrupt:!0})},p={code:null,containerState:{},defineSkip:v,events:[],now:k,parser:e,previous:null,sliceSerialize:f,sliceStream:w,write:d},u=t.tokenize.call(p,l),m;return t.resolveAll&&r.push(t),p;function d(I){return s=o2(s,I),b(),s[s.length-1]!==null?[]:(S(t,0),p.events=t4(r,p.events,p),p.events)}function f(I,e1){return FF(w(I),e1)}function w(I){return EF(s,I)}function k(){let{_bufferIndex:I,_index:e1,line:G,column:X,offset:o1}=a;return{_bufferIndex:I,_index:e1,line:G,column:X,offset:o1}}function v(I){i[I.line]=I.column,B()}function b(){for(;a._index-1){let c=s[0];typeof c=="string"?s[0]=c.slice(a):s.shift()}r>0&&s.push(e[i].slice(0,r))}return s}function FF(e,t){let n=-1,a=[],i;for(;++n0&&i(t.beforeEnter,{...b1,sliceSerialize:V[e0][2].sliceSerialize},V[e0][1]),Ov.call(f2,V[e0][1].type)&&f2[V[e0][1].type].call({...b1,sliceSerialize:V[e0][2].sliceSerialize},V[e0][1]),V[e0][0]==="exit"&&t.afterExit.length>0&&i(t.afterExit,{...b1,sliceSerialize:V[e0][2].sliceSerialize},V[e0][1])}if(b1.tokenStack.length>0){let f2=b1.tokenStack[b1.tokenStack.length-1];(f2[1]||Gv).call(b1,void 0,f2[0])}for(Y.position={start:n4(V.length>0?V[0][1].start:{line:1,column:1,offset:0}),end:n4(V.length>0?V[V.length-2][1].end:{line:1,column:1,offset:0})},e0=-1;++e0":""))+")"})}return k;function k(){let v=!r||l(m,d,f[f.length-1]||void 0),b=Xv;if(c&&v&&(b=Uv(c(m,f,d)),b[0]===oa))return b;if("children"in m&&m.children){let _=m;if(_.children&&b[0]!==K6){let z=(i?-1:_.children.length)+p,L=[...f,_];for(;z>-1&&z<_.children.length;){let C=_.children[z],j=u(C,z,L)();if(j[0]===oa)return j;z=typeof j[1]=="number"?j[1]:z+p}}}if(o&&v){let _=Uv(o(m,f,d));if(_[0]===K6)throw new Error("Unexpected value `"+_[0]+"` from `exit`, expected `CONTINUE`, `EXIT`, index, or nothing");if(_[0]===oa||typeof _[1]=="number")return _}return b}}}function Uv(e){return Array.isArray(e)?e:typeof e=="number"?[Kv,e]:e==null?Xv:[e]}function bc(e,t,n){let i=X5((n||{}).ignore||[]),r=RF(t),s=-1;for(;++s0?{type:"text",value:C}:void 0),C===!1)d.lastIndex=z+1;else{if(w!==z&&_({type:"text",value:l.value.slice(w,z)}),Array.isArray(C))for(let j of C)_(j);else C&&_(C);w=z+b[0].length,k=!0}if(!d.global)break;b=d.exec(l.value)}return k?(w?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],a=n.indexOf(")"),i=I5(e,"("),r=I5(e,")");for(;a!==-1&&i>r;)e+=n.slice(0,a+1),n=n.slice(a+1),a=n.indexOf(")"),r++;return[e,n]}function Yv(e,t){let n=e.input.charCodeAt(e.index-1);return(e.index===0||$e(n)||l3(n))&&(!t||n!==47)}mj.peek=uj;function aj(){this.buffer()}function ij(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function rj(){this.buffer()}function sj(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function cj(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=e2(this.sliceSerialize(e)).toLowerCase(),n.label=t}function oj(e){this.exit(e)}function lj(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=e2(this.sliceSerialize(e)).toLowerCase(),n.label=t}function pj(e){this.exit(e)}function uj(){return"["}function mj(e,t,n,a){let i=n.createTracker(a),r=i.move("[^"),s=n.enter("footnoteReference"),c=n.enter("reference");return r+=i.move(n.safe(n.associationId(e),{after:"]",before:r})),c(),s(),r+=i.move("]"),r}function yc(){return{enter:{gfmFootnoteCallString:aj,gfmFootnoteCall:ij,gfmFootnoteDefinitionLabelString:rj,gfmFootnoteDefinition:sj},exit:{gfmFootnoteCallString:cj,gfmFootnoteCall:oj,gfmFootnoteDefinitionLabelString:lj,gfmFootnoteDefinition:pj}}}Qv.attention=bj;Qv.peek=fj;function _c(){return{canContainEols:["delete"],enter:{strikethrough:hj},exit:{strikethrough:gj}}}function hj(e){this.enter({type:"delete",children:[],position:void 0},e)}function gj(e){this.exit(e)}function Qv(e,t,n,a){let i=n.createTracker(a),r=n.stack.includes("strikethrough")?"~":"~~",s=n.enter("strikethrough"),c=i.move(r);return c+=n.containerPhrasing(e,{...i.current(),before:c,after:"~"}),c+=i.move(r),s(),c}function bj(){return{construct:"strikethrough",markers:["~"],sizes:[2,1]}}function fj(){return"~"}function xc(){return{enter:{table:yj,tableData:Jv,tableHeader:Jv,tableRow:wj},exit:{codeText:xj,table:_j,tableData:wc,tableHeader:wc,tableRow:wc}}}function yj(e){let t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function _j(e){this.exit(e),this.data.inTable=void 0}function wj(e){this.enter({type:"tableRow",children:[]},e)}function wc(e){this.exit(e)}function Jv(e){this.enter({type:"tableCell",children:[]},e)}function xj(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,kj));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function kj(e,t){return t==="|"?t:e}function kc(){return{exit:{taskListCheckValueChecked:ey,taskListCheckValueUnchecked:ey,paragraph:Cj}}}function ey(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function Cj(e){let t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){let n=this.stack[this.stack.length-1];n.type;let a=n.children[0];if(a&&a.type==="text"){let i=t.children,r=-1,s;for(;++r0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var Tj={tokenize:Dj,partial:!0};function $c(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Bj,continuation:{tokenize:Pj},exit:Rj}},text:{91:{name:"gfmFootnoteCall",tokenize:Ij},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Vj,resolveTo:qj}}}}function Vj(e,t,n){let a=this,i=a.events.length,r=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),s;for(;i--;){let o=a.events[i][1];if(o.type==="labelImage"){s=o;break}if(o.type==="gfmFootnoteCall"||o.type==="labelLink"||o.type==="label"||o.type==="image"||o.type==="link")break}return c;function c(o){if(!s||!s._balanced)return n(o);let l=e2(a.sliceSerialize({start:s.end,end:a.now()}));return l.codePointAt(0)!==94||!r.includes(l.slice(1))?n(o):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(o),e.exit("gfmFootnoteCallLabelMarker"),t(o))}}function qj(e,t){let n=e.length,a;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){a=e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";let i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},r={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};r.end.column++,r.end.offset++,r.end._bufferIndex++;let s={type:"gfmFootnoteCallString",start:Object.assign({},r.end),end:Object.assign({},e[e.length-1][1].start)},c={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},o=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",r,t],["exit",r,t],["enter",s,t],["enter",c,t],["exit",c,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...o),e}function Ij(e,t,n){let a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),r=0,s;return c;function c(u){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),o}function o(u){return u!==94?n(u):(e.enter("gfmFootnoteCallMarker"),e.consume(u),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(u){if(r>999||u===93&&!s||u===null||u===91||L1(u))return n(u);if(u===93){e.exit("chunkString");let m=e.exit("gfmFootnoteCallString");return i.includes(e2(a.sliceSerialize(m)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(u)}return L1(u)||(s=!0),r++,e.consume(u),u===92?p:l}function p(u){return u===91||u===92||u===93?(e.consume(u),r++,l):l(u)}}function Bj(e,t,n){let a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),r,s=0,c;return o;function o(f){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),l}function l(f){return f===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",p):n(f)}function p(f){if(s>999||f===93&&!c||f===null||f===91||L1(f))return n(f);if(f===93){e.exit("chunkString");let w=e.exit("gfmFootnoteDefinitionLabelString");return r=e2(a.sliceSerialize(w)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),m}return L1(f)||(c=!0),s++,e.consume(f),f===92?u:p}function u(f){return f===91||f===92||f===93?(e.consume(f),s++,p):p(f)}function m(f){return f===58?(e.enter("definitionMarker"),e.consume(f),e.exit("definitionMarker"),i.includes(r)||i.push(r),m1(e,d,"gfmFootnoteDefinitionWhitespace")):n(f)}function d(f){return t(f)}}function Pj(e,t,n){return e.check(Le,t,e.attempt(Tj,t,n))}function Rj(e){e.exit("gfmFootnoteDefinition")}function Dj(e,t,n){let a=this;return m1(e,i,"gfmFootnoteDefinitionIndent",5);function i(r){let s=a.events[a.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(r):n(r)}}function Lc(e){let n=(e||{}).singleTilde,a={name:"strikethrough",tokenize:r,resolveAll:i};return n==null&&(n=!0),{text:{126:a},insideSpan:{null:[a]},attentionMarkers:{null:[126]}};function i(s,c){let o=-1;for(;++o1?o(f):(s.consume(f),u++,d);if(u<2&&!n)return o(f);let k=s.exit("strikethroughSequenceTemporary"),v=u3(f);return k._open=!v||v===2&&!!w,k._close=!w||w===2&&!!v,c(f)}}}var pa=class{constructor(){this.map=[],this.index=new Map}add(t,n,a){Gj(this,t,n,a)}consume(t){if(this.map.sort(function(r,s){return r[0]-s[0]}),this.map.length===0)return;let n=this.map.length,a=[];for(;n>0;)n-=1,a.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];a.push(t.slice()),t.length=0;let i=a.pop();for(;i;){for(let r of i)t.push(r);i=a.pop()}this.map.length=0,this.index.clear()}};function Gj(e,t,n,a){if(n===0&&a.length===0)return;let i=e.index.get(t);if(i){i[1]+=n,i[2].push(...a);return}let r=[t,n,a];e.map.push(r),e.index.set(t,r)}function ly(e,t){let n=!1,a=[];for(;t-1;){let{type:e1}=a.events[R][1];if(e1==="lineEnding"||e1==="linePrefix")R--;else break}let B=R>-1?a.events[R][1].type:null,I=B==="tableHead"||B==="tableRow"?C:o;return I===C&&a.parser.lazy[a.now().line]?n(S):I(S)}function o(S){return e.enter("tableHead"),e.enter("tableRow"),l(S)}function l(S){return S===124||(s=!0,r+=1),p(S)}function p(S){return S===null?n(S):Q(S)?r>1?(r=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(S),e.exit("lineEnding"),d):n(S):h1(S)?m1(e,p,"whitespace")(S):(r+=1,s&&(s=!1,i+=1),S===124?(e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),s=!0,p):(e.enter("data"),u(S)))}function u(S){return S===null||S===124||L1(S)?(e.exit("data"),p(S)):(e.consume(S),S===92?m:u)}function m(S){return S===92||S===124?(e.consume(S),u):u(S)}function d(S){return a.interrupt=!1,a.parser.lazy[a.now().line]?n(S):(e.enter("tableDelimiterRow"),s=!1,h1(S)?m1(e,f,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(S):f(S))}function f(S){return S===45||S===58?k(S):S===124?(s=!0,e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),w):L(S)}function w(S){return h1(S)?m1(e,k,"whitespace")(S):k(S)}function k(S){return S===58?(r+=1,s=!0,e.enter("tableDelimiterMarker"),e.consume(S),e.exit("tableDelimiterMarker"),v):S===45?(r+=1,v(S)):S===null||Q(S)?z(S):L(S)}function v(S){return S===45?(e.enter("tableDelimiterFiller"),b(S)):L(S)}function b(S){return S===45?(e.consume(S),b):S===58?(s=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(S),e.exit("tableDelimiterMarker"),_):(e.exit("tableDelimiterFiller"),_(S))}function _(S){return h1(S)?m1(e,z,"whitespace")(S):z(S)}function z(S){return S===124?f(S):S===null||Q(S)?!s||i!==r?L(S):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(S)):L(S)}function L(S){return n(S)}function C(S){return e.enter("tableRow"),j(S)}function j(S){return S===124?(e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),j):S===null||Q(S)?(e.exit("tableRow"),t(S)):h1(S)?m1(e,j,"whitespace")(S):(e.enter("data"),N(S))}function N(S){return S===null||S===124||L1(S)?(e.exit("data"),j(S)):(e.consume(S),S===92?H:N)}function H(S){return S===92||S===124?(e.consume(S),N):N(S)}}function Wj(e,t){let n=-1,a=!0,i=0,r=[0,0,0,0],s=[0,0,0,0],c=!1,o=0,l,p,u,m=new pa;for(;++nn[2]+1){let f=n[2]+1,w=n[3]-n[2]-1;e.add(f,w,[])}}e.add(n[3]+1,0,[["exit",u,t]])}return i!==void 0&&(r.end=Object.assign({},K5(t.events,i)),e.add(i,0,[["exit",r,t]]),r=void 0),r}function py(e,t,n,a,i){let r=[],s=K5(t.events,n);i&&(i.end=Object.assign({},s),r.push(["exit",i,t])),a.end=Object.assign({},s),r.push(["exit",a,t]),e.add(n+1,0,r)}function K5(e,t){let n=e[t],a=n[0]==="enter"?"start":"end";return n[1][a]}var Uj={name:"tasklistCheck",tokenize:Xj};function Zc(){return{text:{91:Uj}}}function Xj(e,t,n){let a=this;return i;function i(o){return a.previous!==null||!a._gfmTasklistFirstContentOfListItem?n(o):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(o),e.exit("taskListCheckMarker"),r)}function r(o){return L1(o)?(e.enter("taskListCheckValueUnchecked"),e.consume(o),e.exit("taskListCheckValueUnchecked"),s):o===88||o===120?(e.enter("taskListCheckValueChecked"),e.consume(o),e.exit("taskListCheckValueChecked"),s):n(o)}function s(o){return o===93?(e.enter("taskListCheckMarker"),e.consume(o),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),c):n(o)}function c(o){return Q(o)?t(o):h1(o)?e.check({tokenize:Kj},t,n)(o):n(o)}}function Kj(e,t,n){return m1(e,a,"whitespace");function a(i){return i===null?n(i):t(i)}}function Ec(e){return Wn([Ac(),$c(),Lc(e),Sc(),Zc()])}var my={tokenize:Yj,concrete:!0,name:"mathFlow"},uy={tokenize:Qj,partial:!0};function Yj(e,t,n){let a=this,i=a.events[a.events.length-1],r=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,s=0;return c;function c(b){return e.enter("mathFlow"),e.enter("mathFlowFence"),e.enter("mathFlowFenceSequence"),o(b)}function o(b){return b===36?(e.consume(b),s++,o):s<2?n(b):(e.exit("mathFlowFenceSequence"),m1(e,l,"whitespace")(b))}function l(b){return b===null||Q(b)?u(b):(e.enter("mathFlowFenceMeta"),e.enter("chunkString",{contentType:"string"}),p(b))}function p(b){return b===null||Q(b)?(e.exit("chunkString"),e.exit("mathFlowFenceMeta"),u(b)):b===36?n(b):(e.consume(b),p)}function u(b){return e.exit("mathFlowFence"),a.interrupt?t(b):e.attempt(uy,m,k)(b)}function m(b){return e.attempt({tokenize:v,partial:!0},k,d)(b)}function d(b){return(r?m1(e,f,"linePrefix",r+1):f)(b)}function f(b){return b===null?k(b):Q(b)?e.attempt(uy,m,k)(b):(e.enter("mathFlowValue"),w(b))}function w(b){return b===null||Q(b)?(e.exit("mathFlowValue"),f(b)):(e.consume(b),w)}function k(b){return e.exit("mathFlow"),t(b)}function v(b,_,z){let L=0;return m1(b,C,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function C(H){return b.enter("mathFlowFence"),b.enter("mathFlowFenceSequence"),j(H)}function j(H){return H===36?(L++,b.consume(H),j):L15?l="\u2026"+c.slice(i-15,i):l=c.slice(0,i);var p;r+15e.replace(nH,"-$1").toLowerCase(),iH={"&":"&",">":">","<":"<",'"':""","'":"'"},rH=/[&><"']/g,a2=e=>String(e).replace(rH,t=>iH[t]),wa=e=>e.type==="ordgroup"||e.type==="color"?e.body.length===1?wa(e.body[0]):e:e.type==="font"?wa(e.body):e,sH=new Set(["mathord","textord","atom"]),b3=e=>sH.has(wa(e).type),cH=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},Wc={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand ",cliProcessor:e=>e==="Infinity"?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function oH(e){if(typeof e!="string")return e.enum[0];switch(e){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}function lH(e){if(Object.prototype.hasOwnProperty.call(e,"default")&&e.default!==void 0)return e.default;var t=Array.isArray(e.type)?e.type[0]:e.type;return oH(t)}function pH(e,t,n,a){var i=Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0,r=Object.prototype.hasOwnProperty.call(a,"processor")?a.processor:void 0;e[t]=i!==void 0?r?r(i):i:lH(a)}var n7=class{constructor(t){t===void 0&&(t={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,t=t||{};for(var n of Object.keys(Wc)){var a=Wc[n];a&&pH(this,n,t,a)}}reportNonstrict(t,n,a){var i=this.strict;if(typeof i=="function"&&(i=i(t,n,a)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new W("LaTeX-incompatible input and strict mode is set to 'error': "+(n+" ["+t+"]"),a);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+t+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+n+" ["+t+"]"))}}useStrictBehavior(t,n,a){var i=this.strict;if(typeof i=="function")try{i=i(t,n,a)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+t+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+n+" ["+t+"]")),!1)}isTrusted(t){if("url"in t&&t.url&&!t.protocol){var n=cH(t.url);if(n==null)return!1;t.protocol=n}var a=typeof this.trust=="function"?this.trust(t):this.trust;return!!a}},Ze=class{constructor(t,n,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=n,this.cramped=a}sup(){return Ee[uH[this.id]]}sub(){return Ee[mH[this.id]]}fracNum(){return Ee[dH[this.id]]}fracDen(){return Ee[hH[this.id]]}cramp(){return Ee[gH[this.id]]}text(){return Ee[bH[this.id]]}isTight(){return this.size>=2}},go=0,ka=1,Q5=2,g3=3,a7=4,Q2=5,J5=6,u2=7,Ee=[new Ze(go,0,!1),new Ze(ka,0,!0),new Ze(Q5,1,!1),new Ze(g3,1,!0),new Ze(a7,2,!1),new Ze(Q2,2,!0),new Ze(J5,3,!1),new Ze(u2,3,!0)],uH=[a7,Q2,a7,Q2,J5,u2,J5,u2],mH=[Q2,Q2,Q2,Q2,u2,u2,u2,u2],dH=[Q5,g3,a7,Q2,J5,u2,J5,u2],hH=[g3,g3,Q2,Q2,u2,u2,u2,u2],gH=[ka,ka,g3,g3,Q2,Q2,u2,u2],bH=[go,ka,Q5,g3,Q5,g3,Q5,g3],_1={DISPLAY:Ee[go],TEXT:Ee[Q5],SCRIPT:Ee[a7],SCRIPTSCRIPT:Ee[J5]},Uc=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function fH(e){for(var t=0;t=i[0]&&e<=i[1])return n.name}return null}var xa=[];Uc.forEach(e=>e.blocks.forEach(t=>xa.push(...t)));function Yy(e){for(var t=0;t=xa[t]&&e<=xa[t+1])return!0;return!1}var H0=e=>e+" "+e,Y5=80,vH=function(t,n){return"M95,"+(622+t+n)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+t/2.075+" -"+t+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+t)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},yH=function(t,n){return"M263,"+(601+t+n)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+t/2.084+" -"+t+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+t)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},_H=function(t,n){return"M983 "+(10+t+n)+"\nl"+t/3.13+" -"+t+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+t)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},wH=function(t,n){return"M424,"+(2398+t+n)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+t/4.223+" -"+t+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+t)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+t)+" "+n+"\nh400000v"+(40+t)+"h-400000z"},xH=function(t,n){return"M473,"+(2713+t+n)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+t/5.298+" -"+t+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+t)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+t)+" "+n+"h400000v"+(40+t)+"H1017.7z"},kH=function(t){var n=t/2;return"M400000 "+t+" H0 L"+n+" 0 l65 45 L145 "+(t-80)+" H400000z"},zH=function(t,n,a){var i=a-54-n-t;return"M702 "+(t+n)+"H400000"+(40+t)+"\nH742v"+i+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+n+"H400000v"+(40+t)+"H742z"},CH=function(t,n,a){n=1e3*n;var i="";switch(t){case"sqrtMain":i=vH(n,Y5);break;case"sqrtSize1":i=yH(n,Y5);break;case"sqrtSize2":i=_H(n,Y5);break;case"sqrtSize3":i=wH(n,Y5);break;case"sqrtSize4":i=xH(n,Y5);break;case"sqrtTall":i=zH(n,Y5,a)}return i},AH=function(t,n){switch(t){case"\u239C":return H0("M291 0 H417 V"+n+" H291z");case"\u2223":return H0("M145 0 H188 V"+n+" H145z");case"\u2225":return H0("M145 0 H188 V"+n+" H145z")+H0("M367 0 H410 V"+n+" H367z");case"\u239F":return H0("M457 0 H583 V"+n+" H457z");case"\u23A2":return H0("M319 0 H403 V"+n+" H319z");case"\u23A5":return H0("M263 0 H347 V"+n+" H263z");case"\u23AA":return H0("M384 0 H504 V"+n+" H384z");case"\u23D0":return H0("M312 0 H355 V"+n+" H312z");case"\u2016":return H0("M257 0 H300 V"+n+" H257z")+H0("M478 0 H521 V"+n+" H478z");default:return""}},hy={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:H0("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:H0("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:H0("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:H0("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:H0("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:H0("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:H0("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:H0("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},MH=function(t,n){switch(t){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+n+" v1759 v84 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+n+" v1759 v84 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+n+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+n+" v1759 h84z";case"vert":return"M145 15 v585 v"+n+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-n+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+n+" v585 h43z";case"doublevert":return"M145 15 v585 v"+n+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-n+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+n+" v585 h43z\nM367 15 v585 v"+n+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-n+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+n+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+n+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+n+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+n+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+n+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+n+" v602 h84z\nM403 1759 V0 H319 V1759 v"+n+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+n+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+n+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(n+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(n+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(n+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(n+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}};function $H(e){return"toText"in e}var r4=class{constructor(t){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(t){return this.classes.includes(t)}toNode(){for(var t=document.createDocumentFragment(),n=0;n{if($H(t))return t.toText();throw new Error("Expected MathDomNode with toText, got "+t.constructor.name)}).join("")}},Xc={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},LH={ex:!0,em:!0,mu:!0},Qy=function(t){return typeof t!="string"&&(t=t.unit),t in Xc||t in LH||t==="ex"},m0=function(t,n){var a;if(t.unit in Xc)a=Xc[t.unit]/n.fontMetrics().ptPerEm/n.sizeMultiplier;else if(t.unit==="mu")a=n.fontMetrics().cssEmPerMu;else{var i;if(n.style.isTight()?i=n.havingStyle(n.style.text()):i=n,t.unit==="ex")a=i.fontMetrics().xHeight;else if(t.unit==="em")a=i.fontMetrics().quad;else throw new W("Invalid unit: '"+t.unit+"'");i!==n&&(a*=i.sizeMultiplier/n.sizeMultiplier)}return Math.min(t.number*a,n.maxSize)},J=function(t){return+t.toFixed(4)+"em"},s4=function(t){return t.filter(n=>n).join(" ")},bo=function(t){var n="";for(var a of Object.keys(t)){var i=t[a];i!==void 0&&(n+=aH(a)+":"+i+";")}return n},Jy=function(t,n,a){if(this.classes=t||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=a||{},n){n.style.isTight()&&this.classes.push("mtight");var i=n.getColor();i&&(this.style.color=i)}},e_=function(t){var n=document.createElement(t);n.className=s4(this.classes),Object.assign(n.style,this.style);for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);for(var i=0;i/=\x00-\x1f]/,t_=function(t){var n="<"+t;this.classes.length&&(n+=' class="'+a2(s4(this.classes))+'"');var a=bo(this.style);a&&(n+=' style="'+a2(a)+'"');for(var i of Object.keys(this.attributes)){if(SH.test(i))throw new W("Invalid attribute name '"+i+"'");n+=" "+i+'="'+a2(this.attributes[i])+'"'}n+=">";for(var r=0;r",n},c4=class{constructor(t,n,a,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,Jy.call(this,t,a,i),this.children=n||[]}setAttribute(t,n){this.attributes[t]=n}hasClass(t){return this.classes.includes(t)}toNode(){return e_.call(this,"span")}toMarkup(){return t_.call(this,"span")}},et=class{constructor(t,n,a,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,Jy.call(this,n,i),this.children=a||[],this.setAttribute("href",t)}setAttribute(t,n){this.attributes[t]=n}hasClass(t){return this.classes.includes(t)}toNode(){return e_.call(this,"a")}toMarkup(){return t_.call(this,"a")}},Kc=class{constructor(t,n,a){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=n,this.src=t,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=a}hasClass(t){return this.classes.includes(t)}toNode(){var t=document.createElement("img");return t.src=this.src,t.alt=this.alt,t.className="mord",Object.assign(t.style,this.style),t}toMarkup(){var t=''+a2(this.alt)+'0&&(n=document.createElement("span"),n.style.marginRight=J(this.italic)),this.classes.length>0&&(n=n||document.createElement("span"),n.className=s4(this.classes)),Object.keys(this.style).length>0&&(n=n||document.createElement("span"),Object.assign(n.style,this.style)),n?(n.appendChild(t),n):t}toMarkup(){var t=!1,n="0&&(a+="margin-right:"+J(this.italic)+";"),a+=bo(this.style),a&&(t=!0,n+=' style="'+a2(a)+'"');var i=a2(this.text);return t?(n+=">",n+=i,n+="",n):i}},de=class{constructor(t,n){this.children=void 0,this.attributes=void 0,this.children=t||[],this.attributes=n||{}}toNode(){var t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"svg");for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);for(var i=0;i':''}},i7=class{constructor(t){this.attributes=void 0,this.attributes=t||{}}toNode(){var t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"line");for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);return n}toMarkup(){var t=" but got "+String(e)+".")}var jH=e=>e instanceof c4||e instanceof et||e instanceof r4,Fe={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},jc={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},gy={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};function HH(e,t){Fe[e]=t}function fo(e,t,n){if(!Fe[t])throw new Error("Font metrics not found for font: "+t+".");var a=e.charCodeAt(0),i=Fe[t][a];if(!i&&e[0]in gy&&(a=gy[e[0]].charCodeAt(0),i=Fe[t][a]),!i&&n==="text"&&Yy(a)&&(i=Fe[t][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var Hc={};function NH(e){var t;if(e>=5?t=0:e>=3?t=1:t=2,!Hc[t]){var n=Hc[t]={cssEmPerMu:jc.quad[t]/18};for(var a of Object.keys(jc))n[a]=jc[a][t]}return Hc[t]}var i0={math:{},text:{}};function h(e,t,n,a,i,r){i0[e][i]={font:t,group:n,replace:a},r&&a&&(i0[e][a]=i0[e][i])}var g="math",P="text",y="main",A="ams",r0="accent-token",s1="bin",d2="close",at="inner",g1="mathord",L0="op-token",V2="open",l7="punct",$="rel",f3="spacing",F="textord";h(g,y,$,"\u2261","\\equiv",!0);h(g,y,$,"\u227A","\\prec",!0);h(g,y,$,"\u227B","\\succ",!0);h(g,y,$,"\u223C","\\sim",!0);h(g,y,$,"\u22A5","\\perp");h(g,y,$,"\u2AAF","\\preceq",!0);h(g,y,$,"\u2AB0","\\succeq",!0);h(g,y,$,"\u2243","\\simeq",!0);h(g,y,$,"\u2223","\\mid",!0);h(g,y,$,"\u226A","\\ll",!0);h(g,y,$,"\u226B","\\gg",!0);h(g,y,$,"\u224D","\\asymp",!0);h(g,y,$,"\u2225","\\parallel");h(g,y,$,"\u22C8","\\bowtie",!0);h(g,y,$,"\u2323","\\smile",!0);h(g,y,$,"\u2291","\\sqsubseteq",!0);h(g,y,$,"\u2292","\\sqsupseteq",!0);h(g,y,$,"\u2250","\\doteq",!0);h(g,y,$,"\u2322","\\frown",!0);h(g,y,$,"\u220B","\\ni",!0);h(g,y,$,"\u221D","\\propto",!0);h(g,y,$,"\u22A2","\\vdash",!0);h(g,y,$,"\u22A3","\\dashv",!0);h(g,y,$,"\u220B","\\owns");h(g,y,l7,".","\\ldotp");h(g,y,l7,"\u22C5","\\cdotp");h(g,y,l7,"\u22C5","\xB7");h(P,y,F,"\u22C5","\xB7");h(g,y,F,"#","\\#");h(P,y,F,"#","\\#");h(g,y,F,"&","\\&");h(P,y,F,"&","\\&");h(g,y,F,"\u2135","\\aleph",!0);h(g,y,F,"\u2200","\\forall",!0);h(g,y,F,"\u210F","\\hbar",!0);h(g,y,F,"\u2203","\\exists",!0);h(g,y,F,"\u2207","\\nabla",!0);h(g,y,F,"\u266D","\\flat",!0);h(g,y,F,"\u2113","\\ell",!0);h(g,y,F,"\u266E","\\natural",!0);h(g,y,F,"\u2663","\\clubsuit",!0);h(g,y,F,"\u2118","\\wp",!0);h(g,y,F,"\u266F","\\sharp",!0);h(g,y,F,"\u2662","\\diamondsuit",!0);h(g,y,F,"\u211C","\\Re",!0);h(g,y,F,"\u2661","\\heartsuit",!0);h(g,y,F,"\u2111","\\Im",!0);h(g,y,F,"\u2660","\\spadesuit",!0);h(g,y,F,"\xA7","\\S",!0);h(P,y,F,"\xA7","\\S");h(g,y,F,"\xB6","\\P",!0);h(P,y,F,"\xB6","\\P");h(g,y,F,"\u2020","\\dag");h(P,y,F,"\u2020","\\dag");h(P,y,F,"\u2020","\\textdagger");h(g,y,F,"\u2021","\\ddag");h(P,y,F,"\u2021","\\ddag");h(P,y,F,"\u2021","\\textdaggerdbl");h(g,y,d2,"\u23B1","\\rmoustache",!0);h(g,y,V2,"\u23B0","\\lmoustache",!0);h(g,y,d2,"\u27EF","\\rgroup",!0);h(g,y,V2,"\u27EE","\\lgroup",!0);h(g,y,s1,"\u2213","\\mp",!0);h(g,y,s1,"\u2296","\\ominus",!0);h(g,y,s1,"\u228E","\\uplus",!0);h(g,y,s1,"\u2293","\\sqcap",!0);h(g,y,s1,"\u2217","\\ast");h(g,y,s1,"\u2294","\\sqcup",!0);h(g,y,s1,"\u25EF","\\bigcirc",!0);h(g,y,s1,"\u2219","\\bullet",!0);h(g,y,s1,"\u2021","\\ddagger");h(g,y,s1,"\u2240","\\wr",!0);h(g,y,s1,"\u2A3F","\\amalg");h(g,y,s1,"&","\\And");h(g,y,$,"\u27F5","\\longleftarrow",!0);h(g,y,$,"\u21D0","\\Leftarrow",!0);h(g,y,$,"\u27F8","\\Longleftarrow",!0);h(g,y,$,"\u27F6","\\longrightarrow",!0);h(g,y,$,"\u21D2","\\Rightarrow",!0);h(g,y,$,"\u27F9","\\Longrightarrow",!0);h(g,y,$,"\u2194","\\leftrightarrow",!0);h(g,y,$,"\u27F7","\\longleftrightarrow",!0);h(g,y,$,"\u21D4","\\Leftrightarrow",!0);h(g,y,$,"\u27FA","\\Longleftrightarrow",!0);h(g,y,$,"\u21A6","\\mapsto",!0);h(g,y,$,"\u27FC","\\longmapsto",!0);h(g,y,$,"\u2197","\\nearrow",!0);h(g,y,$,"\u21A9","\\hookleftarrow",!0);h(g,y,$,"\u21AA","\\hookrightarrow",!0);h(g,y,$,"\u2198","\\searrow",!0);h(g,y,$,"\u21BC","\\leftharpoonup",!0);h(g,y,$,"\u21C0","\\rightharpoonup",!0);h(g,y,$,"\u2199","\\swarrow",!0);h(g,y,$,"\u21BD","\\leftharpoondown",!0);h(g,y,$,"\u21C1","\\rightharpoondown",!0);h(g,y,$,"\u2196","\\nwarrow",!0);h(g,y,$,"\u21CC","\\rightleftharpoons",!0);h(g,A,$,"\u226E","\\nless",!0);h(g,A,$,"\uE010","\\@nleqslant");h(g,A,$,"\uE011","\\@nleqq");h(g,A,$,"\u2A87","\\lneq",!0);h(g,A,$,"\u2268","\\lneqq",!0);h(g,A,$,"\uE00C","\\@lvertneqq");h(g,A,$,"\u22E6","\\lnsim",!0);h(g,A,$,"\u2A89","\\lnapprox",!0);h(g,A,$,"\u2280","\\nprec",!0);h(g,A,$,"\u22E0","\\npreceq",!0);h(g,A,$,"\u22E8","\\precnsim",!0);h(g,A,$,"\u2AB9","\\precnapprox",!0);h(g,A,$,"\u2241","\\nsim",!0);h(g,A,$,"\uE006","\\@nshortmid");h(g,A,$,"\u2224","\\nmid",!0);h(g,A,$,"\u22AC","\\nvdash",!0);h(g,A,$,"\u22AD","\\nvDash",!0);h(g,A,$,"\u22EA","\\ntriangleleft");h(g,A,$,"\u22EC","\\ntrianglelefteq",!0);h(g,A,$,"\u228A","\\subsetneq",!0);h(g,A,$,"\uE01A","\\@varsubsetneq");h(g,A,$,"\u2ACB","\\subsetneqq",!0);h(g,A,$,"\uE017","\\@varsubsetneqq");h(g,A,$,"\u226F","\\ngtr",!0);h(g,A,$,"\uE00F","\\@ngeqslant");h(g,A,$,"\uE00E","\\@ngeqq");h(g,A,$,"\u2A88","\\gneq",!0);h(g,A,$,"\u2269","\\gneqq",!0);h(g,A,$,"\uE00D","\\@gvertneqq");h(g,A,$,"\u22E7","\\gnsim",!0);h(g,A,$,"\u2A8A","\\gnapprox",!0);h(g,A,$,"\u2281","\\nsucc",!0);h(g,A,$,"\u22E1","\\nsucceq",!0);h(g,A,$,"\u22E9","\\succnsim",!0);h(g,A,$,"\u2ABA","\\succnapprox",!0);h(g,A,$,"\u2246","\\ncong",!0);h(g,A,$,"\uE007","\\@nshortparallel");h(g,A,$,"\u2226","\\nparallel",!0);h(g,A,$,"\u22AF","\\nVDash",!0);h(g,A,$,"\u22EB","\\ntriangleright");h(g,A,$,"\u22ED","\\ntrianglerighteq",!0);h(g,A,$,"\uE018","\\@nsupseteqq");h(g,A,$,"\u228B","\\supsetneq",!0);h(g,A,$,"\uE01B","\\@varsupsetneq");h(g,A,$,"\u2ACC","\\supsetneqq",!0);h(g,A,$,"\uE019","\\@varsupsetneqq");h(g,A,$,"\u22AE","\\nVdash",!0);h(g,A,$,"\u2AB5","\\precneqq",!0);h(g,A,$,"\u2AB6","\\succneqq",!0);h(g,A,$,"\uE016","\\@nsubseteqq");h(g,A,s1,"\u22B4","\\unlhd");h(g,A,s1,"\u22B5","\\unrhd");h(g,A,$,"\u219A","\\nleftarrow",!0);h(g,A,$,"\u219B","\\nrightarrow",!0);h(g,A,$,"\u21CD","\\nLeftarrow",!0);h(g,A,$,"\u21CF","\\nRightarrow",!0);h(g,A,$,"\u21AE","\\nleftrightarrow",!0);h(g,A,$,"\u21CE","\\nLeftrightarrow",!0);h(g,A,$,"\u25B3","\\vartriangle");h(g,A,F,"\u210F","\\hslash");h(g,A,F,"\u25BD","\\triangledown");h(g,A,F,"\u25CA","\\lozenge");h(g,A,F,"\u24C8","\\circledS");h(g,A,F,"\xAE","\\circledR");h(P,A,F,"\xAE","\\circledR");h(g,A,F,"\u2221","\\measuredangle",!0);h(g,A,F,"\u2204","\\nexists");h(g,A,F,"\u2127","\\mho");h(g,A,F,"\u2132","\\Finv",!0);h(g,A,F,"\u2141","\\Game",!0);h(g,A,F,"\u2035","\\backprime");h(g,A,F,"\u25B2","\\blacktriangle");h(g,A,F,"\u25BC","\\blacktriangledown");h(g,A,F,"\u25A0","\\blacksquare");h(g,A,F,"\u29EB","\\blacklozenge");h(g,A,F,"\u2605","\\bigstar");h(g,A,F,"\u2222","\\sphericalangle",!0);h(g,A,F,"\u2201","\\complement",!0);h(g,A,F,"\xF0","\\eth",!0);h(P,y,F,"\xF0","\xF0");h(g,A,F,"\u2571","\\diagup");h(g,A,F,"\u2572","\\diagdown");h(g,A,F,"\u25A1","\\square");h(g,A,F,"\u25A1","\\Box");h(g,A,F,"\u25CA","\\Diamond");h(g,A,F,"\xA5","\\yen",!0);h(P,A,F,"\xA5","\\yen",!0);h(g,A,F,"\u2713","\\checkmark",!0);h(P,A,F,"\u2713","\\checkmark");h(g,A,F,"\u2136","\\beth",!0);h(g,A,F,"\u2138","\\daleth",!0);h(g,A,F,"\u2137","\\gimel",!0);h(g,A,F,"\u03DD","\\digamma",!0);h(g,A,F,"\u03F0","\\varkappa");h(g,A,V2,"\u250C","\\@ulcorner",!0);h(g,A,d2,"\u2510","\\@urcorner",!0);h(g,A,V2,"\u2514","\\@llcorner",!0);h(g,A,d2,"\u2518","\\@lrcorner",!0);h(g,A,$,"\u2266","\\leqq",!0);h(g,A,$,"\u2A7D","\\leqslant",!0);h(g,A,$,"\u2A95","\\eqslantless",!0);h(g,A,$,"\u2272","\\lesssim",!0);h(g,A,$,"\u2A85","\\lessapprox",!0);h(g,A,$,"\u224A","\\approxeq",!0);h(g,A,s1,"\u22D6","\\lessdot");h(g,A,$,"\u22D8","\\lll",!0);h(g,A,$,"\u2276","\\lessgtr",!0);h(g,A,$,"\u22DA","\\lesseqgtr",!0);h(g,A,$,"\u2A8B","\\lesseqqgtr",!0);h(g,A,$,"\u2251","\\doteqdot");h(g,A,$,"\u2253","\\risingdotseq",!0);h(g,A,$,"\u2252","\\fallingdotseq",!0);h(g,A,$,"\u223D","\\backsim",!0);h(g,A,$,"\u22CD","\\backsimeq",!0);h(g,A,$,"\u2AC5","\\subseteqq",!0);h(g,A,$,"\u22D0","\\Subset",!0);h(g,A,$,"\u228F","\\sqsubset",!0);h(g,A,$,"\u227C","\\preccurlyeq",!0);h(g,A,$,"\u22DE","\\curlyeqprec",!0);h(g,A,$,"\u227E","\\precsim",!0);h(g,A,$,"\u2AB7","\\precapprox",!0);h(g,A,$,"\u22B2","\\vartriangleleft");h(g,A,$,"\u22B4","\\trianglelefteq");h(g,A,$,"\u22A8","\\vDash",!0);h(g,A,$,"\u22AA","\\Vvdash",!0);h(g,A,$,"\u2323","\\smallsmile");h(g,A,$,"\u2322","\\smallfrown");h(g,A,$,"\u224F","\\bumpeq",!0);h(g,A,$,"\u224E","\\Bumpeq",!0);h(g,A,$,"\u2267","\\geqq",!0);h(g,A,$,"\u2A7E","\\geqslant",!0);h(g,A,$,"\u2A96","\\eqslantgtr",!0);h(g,A,$,"\u2273","\\gtrsim",!0);h(g,A,$,"\u2A86","\\gtrapprox",!0);h(g,A,s1,"\u22D7","\\gtrdot");h(g,A,$,"\u22D9","\\ggg",!0);h(g,A,$,"\u2277","\\gtrless",!0);h(g,A,$,"\u22DB","\\gtreqless",!0);h(g,A,$,"\u2A8C","\\gtreqqless",!0);h(g,A,$,"\u2256","\\eqcirc",!0);h(g,A,$,"\u2257","\\circeq",!0);h(g,A,$,"\u225C","\\triangleq",!0);h(g,A,$,"\u223C","\\thicksim");h(g,A,$,"\u2248","\\thickapprox");h(g,A,$,"\u2AC6","\\supseteqq",!0);h(g,A,$,"\u22D1","\\Supset",!0);h(g,A,$,"\u2290","\\sqsupset",!0);h(g,A,$,"\u227D","\\succcurlyeq",!0);h(g,A,$,"\u22DF","\\curlyeqsucc",!0);h(g,A,$,"\u227F","\\succsim",!0);h(g,A,$,"\u2AB8","\\succapprox",!0);h(g,A,$,"\u22B3","\\vartriangleright");h(g,A,$,"\u22B5","\\trianglerighteq");h(g,A,$,"\u22A9","\\Vdash",!0);h(g,A,$,"\u2223","\\shortmid");h(g,A,$,"\u2225","\\shortparallel");h(g,A,$,"\u226C","\\between",!0);h(g,A,$,"\u22D4","\\pitchfork",!0);h(g,A,$,"\u221D","\\varpropto");h(g,A,$,"\u25C0","\\blacktriangleleft");h(g,A,$,"\u2234","\\therefore",!0);h(g,A,$,"\u220D","\\backepsilon");h(g,A,$,"\u25B6","\\blacktriangleright");h(g,A,$,"\u2235","\\because",!0);h(g,A,$,"\u22D8","\\llless");h(g,A,$,"\u22D9","\\gggtr");h(g,A,s1,"\u22B2","\\lhd");h(g,A,s1,"\u22B3","\\rhd");h(g,A,$,"\u2242","\\eqsim",!0);h(g,y,$,"\u22C8","\\Join");h(g,A,$,"\u2251","\\Doteq",!0);h(g,A,s1,"\u2214","\\dotplus",!0);h(g,A,s1,"\u2216","\\smallsetminus");h(g,A,s1,"\u22D2","\\Cap",!0);h(g,A,s1,"\u22D3","\\Cup",!0);h(g,A,s1,"\u2A5E","\\doublebarwedge",!0);h(g,A,s1,"\u229F","\\boxminus",!0);h(g,A,s1,"\u229E","\\boxplus",!0);h(g,A,s1,"\u22C7","\\divideontimes",!0);h(g,A,s1,"\u22C9","\\ltimes",!0);h(g,A,s1,"\u22CA","\\rtimes",!0);h(g,A,s1,"\u22CB","\\leftthreetimes",!0);h(g,A,s1,"\u22CC","\\rightthreetimes",!0);h(g,A,s1,"\u22CF","\\curlywedge",!0);h(g,A,s1,"\u22CE","\\curlyvee",!0);h(g,A,s1,"\u229D","\\circleddash",!0);h(g,A,s1,"\u229B","\\circledast",!0);h(g,A,s1,"\u22C5","\\centerdot");h(g,A,s1,"\u22BA","\\intercal",!0);h(g,A,s1,"\u22D2","\\doublecap");h(g,A,s1,"\u22D3","\\doublecup");h(g,A,s1,"\u22A0","\\boxtimes",!0);h(g,A,$,"\u21E2","\\dashrightarrow",!0);h(g,A,$,"\u21E0","\\dashleftarrow",!0);h(g,A,$,"\u21C7","\\leftleftarrows",!0);h(g,A,$,"\u21C6","\\leftrightarrows",!0);h(g,A,$,"\u21DA","\\Lleftarrow",!0);h(g,A,$,"\u219E","\\twoheadleftarrow",!0);h(g,A,$,"\u21A2","\\leftarrowtail",!0);h(g,A,$,"\u21AB","\\looparrowleft",!0);h(g,A,$,"\u21CB","\\leftrightharpoons",!0);h(g,A,$,"\u21B6","\\curvearrowleft",!0);h(g,A,$,"\u21BA","\\circlearrowleft",!0);h(g,A,$,"\u21B0","\\Lsh",!0);h(g,A,$,"\u21C8","\\upuparrows",!0);h(g,A,$,"\u21BF","\\upharpoonleft",!0);h(g,A,$,"\u21C3","\\downharpoonleft",!0);h(g,y,$,"\u22B6","\\origof",!0);h(g,y,$,"\u22B7","\\imageof",!0);h(g,A,$,"\u22B8","\\multimap",!0);h(g,A,$,"\u21AD","\\leftrightsquigarrow",!0);h(g,A,$,"\u21C9","\\rightrightarrows",!0);h(g,A,$,"\u21C4","\\rightleftarrows",!0);h(g,A,$,"\u21A0","\\twoheadrightarrow",!0);h(g,A,$,"\u21A3","\\rightarrowtail",!0);h(g,A,$,"\u21AC","\\looparrowright",!0);h(g,A,$,"\u21B7","\\curvearrowright",!0);h(g,A,$,"\u21BB","\\circlearrowright",!0);h(g,A,$,"\u21B1","\\Rsh",!0);h(g,A,$,"\u21CA","\\downdownarrows",!0);h(g,A,$,"\u21BE","\\upharpoonright",!0);h(g,A,$,"\u21C2","\\downharpoonright",!0);h(g,A,$,"\u21DD","\\rightsquigarrow",!0);h(g,A,$,"\u21DD","\\leadsto");h(g,A,$,"\u21DB","\\Rrightarrow",!0);h(g,A,$,"\u21BE","\\restriction");h(g,y,F,"\u2018","`");h(g,y,F,"$","\\$");h(P,y,F,"$","\\$");h(P,y,F,"$","\\textdollar");h(g,y,F,"%","\\%");h(P,y,F,"%","\\%");h(g,y,F,"_","\\_");h(P,y,F,"_","\\_");h(P,y,F,"_","\\textunderscore");h(g,y,F,"\u2220","\\angle",!0);h(g,y,F,"\u221E","\\infty",!0);h(g,y,F,"\u2032","\\prime");h(g,y,F,"\u25B3","\\triangle");h(g,y,F,"\u0393","\\Gamma",!0);h(g,y,F,"\u0394","\\Delta",!0);h(g,y,F,"\u0398","\\Theta",!0);h(g,y,F,"\u039B","\\Lambda",!0);h(g,y,F,"\u039E","\\Xi",!0);h(g,y,F,"\u03A0","\\Pi",!0);h(g,y,F,"\u03A3","\\Sigma",!0);h(g,y,F,"\u03A5","\\Upsilon",!0);h(g,y,F,"\u03A6","\\Phi",!0);h(g,y,F,"\u03A8","\\Psi",!0);h(g,y,F,"\u03A9","\\Omega",!0);h(g,y,F,"A","\u0391");h(g,y,F,"B","\u0392");h(g,y,F,"E","\u0395");h(g,y,F,"Z","\u0396");h(g,y,F,"H","\u0397");h(g,y,F,"I","\u0399");h(g,y,F,"K","\u039A");h(g,y,F,"M","\u039C");h(g,y,F,"N","\u039D");h(g,y,F,"O","\u039F");h(g,y,F,"P","\u03A1");h(g,y,F,"T","\u03A4");h(g,y,F,"X","\u03A7");h(g,y,F,"\xAC","\\neg",!0);h(g,y,F,"\xAC","\\lnot");h(g,y,F,"\u22A4","\\top");h(g,y,F,"\u22A5","\\bot");h(g,y,F,"\u2205","\\emptyset");h(g,A,F,"\u2205","\\varnothing");h(g,y,g1,"\u03B1","\\alpha",!0);h(g,y,g1,"\u03B2","\\beta",!0);h(g,y,g1,"\u03B3","\\gamma",!0);h(g,y,g1,"\u03B4","\\delta",!0);h(g,y,g1,"\u03F5","\\epsilon",!0);h(g,y,g1,"\u03B6","\\zeta",!0);h(g,y,g1,"\u03B7","\\eta",!0);h(g,y,g1,"\u03B8","\\theta",!0);h(g,y,g1,"\u03B9","\\iota",!0);h(g,y,g1,"\u03BA","\\kappa",!0);h(g,y,g1,"\u03BB","\\lambda",!0);h(g,y,g1,"\u03BC","\\mu",!0);h(g,y,g1,"\u03BD","\\nu",!0);h(g,y,g1,"\u03BE","\\xi",!0);h(g,y,g1,"\u03BF","\\omicron",!0);h(g,y,g1,"\u03C0","\\pi",!0);h(g,y,g1,"\u03C1","\\rho",!0);h(g,y,g1,"\u03C3","\\sigma",!0);h(g,y,g1,"\u03C4","\\tau",!0);h(g,y,g1,"\u03C5","\\upsilon",!0);h(g,y,g1,"\u03D5","\\phi",!0);h(g,y,g1,"\u03C7","\\chi",!0);h(g,y,g1,"\u03C8","\\psi",!0);h(g,y,g1,"\u03C9","\\omega",!0);h(g,y,g1,"\u03B5","\\varepsilon",!0);h(g,y,g1,"\u03D1","\\vartheta",!0);h(g,y,g1,"\u03D6","\\varpi",!0);h(g,y,g1,"\u03F1","\\varrho",!0);h(g,y,g1,"\u03C2","\\varsigma",!0);h(g,y,g1,"\u03C6","\\varphi",!0);h(g,y,s1,"\u2217","*",!0);h(g,y,s1,"+","+");h(g,y,s1,"\u2212","-",!0);h(g,y,s1,"\u22C5","\\cdot",!0);h(g,y,s1,"\u2218","\\circ",!0);h(g,y,s1,"\xF7","\\div",!0);h(g,y,s1,"\xB1","\\pm",!0);h(g,y,s1,"\xD7","\\times",!0);h(g,y,s1,"\u2229","\\cap",!0);h(g,y,s1,"\u222A","\\cup",!0);h(g,y,s1,"\u2216","\\setminus",!0);h(g,y,s1,"\u2227","\\land");h(g,y,s1,"\u2228","\\lor");h(g,y,s1,"\u2227","\\wedge",!0);h(g,y,s1,"\u2228","\\vee",!0);h(g,y,F,"\u221A","\\surd");h(g,y,V2,"\u27E8","\\langle",!0);h(g,y,V2,"\u2223","\\lvert");h(g,y,V2,"\u2225","\\lVert");h(g,y,d2,"?","?");h(g,y,d2,"!","!");h(g,y,d2,"\u27E9","\\rangle",!0);h(g,y,d2,"\u2223","\\rvert");h(g,y,d2,"\u2225","\\rVert");h(g,y,$,"=","=");h(g,y,$,":",":");h(g,y,$,"\u2248","\\approx",!0);h(g,y,$,"\u2245","\\cong",!0);h(g,y,$,"\u2265","\\ge");h(g,y,$,"\u2265","\\geq",!0);h(g,y,$,"\u2190","\\gets");h(g,y,$,">","\\gt",!0);h(g,y,$,"\u2208","\\in",!0);h(g,y,$,"\uE020","\\@not");h(g,y,$,"\u2282","\\subset",!0);h(g,y,$,"\u2283","\\supset",!0);h(g,y,$,"\u2286","\\subseteq",!0);h(g,y,$,"\u2287","\\supseteq",!0);h(g,A,$,"\u2288","\\nsubseteq",!0);h(g,A,$,"\u2289","\\nsupseteq",!0);h(g,y,$,"\u22A8","\\models");h(g,y,$,"\u2190","\\leftarrow",!0);h(g,y,$,"\u2264","\\le");h(g,y,$,"\u2264","\\leq",!0);h(g,y,$,"<","\\lt",!0);h(g,y,$,"\u2192","\\rightarrow",!0);h(g,y,$,"\u2192","\\to");h(g,A,$,"\u2271","\\ngeq",!0);h(g,A,$,"\u2270","\\nleq",!0);h(g,y,f3,"\xA0","\\ ");h(g,y,f3,"\xA0","\\space");h(g,y,f3,"\xA0","\\nobreakspace");h(P,y,f3,"\xA0","\\ ");h(P,y,f3,"\xA0"," ");h(P,y,f3,"\xA0","\\space");h(P,y,f3,"\xA0","\\nobreakspace");h(g,y,f3,"","\\nobreak");h(g,y,f3,"","\\allowbreak");h(g,y,l7,",",",");h(g,y,l7,";",";");h(g,A,s1,"\u22BC","\\barwedge",!0);h(g,A,s1,"\u22BB","\\veebar",!0);h(g,y,s1,"\u2299","\\odot",!0);h(g,y,s1,"\u2295","\\oplus",!0);h(g,y,s1,"\u2297","\\otimes",!0);h(g,y,F,"\u2202","\\partial",!0);h(g,y,s1,"\u2298","\\oslash",!0);h(g,A,s1,"\u229A","\\circledcirc",!0);h(g,A,s1,"\u22A1","\\boxdot",!0);h(g,y,s1,"\u25B3","\\bigtriangleup");h(g,y,s1,"\u25BD","\\bigtriangledown");h(g,y,s1,"\u2020","\\dagger");h(g,y,s1,"\u22C4","\\diamond");h(g,y,s1,"\u22C6","\\star");h(g,y,s1,"\u25C3","\\triangleleft");h(g,y,s1,"\u25B9","\\triangleright");h(g,y,V2,"{","\\{");h(P,y,F,"{","\\{");h(P,y,F,"{","\\textbraceleft");h(g,y,d2,"}","\\}");h(P,y,F,"}","\\}");h(P,y,F,"}","\\textbraceright");h(g,y,V2,"{","\\lbrace");h(g,y,d2,"}","\\rbrace");h(g,y,V2,"[","\\lbrack",!0);h(P,y,F,"[","\\lbrack",!0);h(g,y,d2,"]","\\rbrack",!0);h(P,y,F,"]","\\rbrack",!0);h(g,y,V2,"(","\\lparen",!0);h(g,y,d2,")","\\rparen",!0);h(P,y,F,"<","\\textless",!0);h(P,y,F,">","\\textgreater",!0);h(g,y,V2,"\u230A","\\lfloor",!0);h(g,y,d2,"\u230B","\\rfloor",!0);h(g,y,V2,"\u2308","\\lceil",!0);h(g,y,d2,"\u2309","\\rceil",!0);h(g,y,F,"\\","\\backslash");h(g,y,F,"\u2223","|");h(g,y,F,"\u2223","\\vert");h(P,y,F,"|","\\textbar",!0);h(g,y,F,"\u2225","\\|");h(g,y,F,"\u2225","\\Vert");h(P,y,F,"\u2225","\\textbardbl");h(P,y,F,"~","\\textasciitilde");h(P,y,F,"\\","\\textbackslash");h(P,y,F,"^","\\textasciicircum");h(g,y,$,"\u2191","\\uparrow",!0);h(g,y,$,"\u21D1","\\Uparrow",!0);h(g,y,$,"\u2193","\\downarrow",!0);h(g,y,$,"\u21D3","\\Downarrow",!0);h(g,y,$,"\u2195","\\updownarrow",!0);h(g,y,$,"\u21D5","\\Updownarrow",!0);h(g,y,L0,"\u2210","\\coprod");h(g,y,L0,"\u22C1","\\bigvee");h(g,y,L0,"\u22C0","\\bigwedge");h(g,y,L0,"\u2A04","\\biguplus");h(g,y,L0,"\u22C2","\\bigcap");h(g,y,L0,"\u22C3","\\bigcup");h(g,y,L0,"\u222B","\\int");h(g,y,L0,"\u222B","\\intop");h(g,y,L0,"\u222C","\\iint");h(g,y,L0,"\u222D","\\iiint");h(g,y,L0,"\u220F","\\prod");h(g,y,L0,"\u2211","\\sum");h(g,y,L0,"\u2A02","\\bigotimes");h(g,y,L0,"\u2A01","\\bigoplus");h(g,y,L0,"\u2A00","\\bigodot");h(g,y,L0,"\u222E","\\oint");h(g,y,L0,"\u222F","\\oiint");h(g,y,L0,"\u2230","\\oiiint");h(g,y,L0,"\u2A06","\\bigsqcup");h(g,y,L0,"\u222B","\\smallint");h(P,y,at,"\u2026","\\textellipsis");h(g,y,at,"\u2026","\\mathellipsis");h(P,y,at,"\u2026","\\ldots",!0);h(g,y,at,"\u2026","\\ldots",!0);h(g,y,at,"\u22EF","\\@cdots",!0);h(g,y,at,"\u22F1","\\ddots",!0);h(g,y,F,"\u22EE","\\varvdots");h(P,y,F,"\u22EE","\\varvdots");h(g,y,r0,"\u02CA","\\acute");h(g,y,r0,"\u02CB","\\grave");h(g,y,r0,"\xA8","\\ddot");h(g,y,r0,"~","\\tilde");h(g,y,r0,"\u02C9","\\bar");h(g,y,r0,"\u02D8","\\breve");h(g,y,r0,"\u02C7","\\check");h(g,y,r0,"^","\\hat");h(g,y,r0,"\u20D7","\\vec");h(g,y,r0,"\u02D9","\\dot");h(g,y,r0,"\u02DA","\\mathring");h(g,y,g1,"\uE131","\\@imath");h(g,y,g1,"\uE237","\\@jmath");h(g,y,F,"\u0131","\u0131");h(g,y,F,"\u0237","\u0237");h(P,y,F,"\u0131","\\i",!0);h(P,y,F,"\u0237","\\j",!0);h(P,y,F,"\xDF","\\ss",!0);h(P,y,F,"\xE6","\\ae",!0);h(P,y,F,"\u0153","\\oe",!0);h(P,y,F,"\xF8","\\o",!0);h(P,y,F,"\xC6","\\AE",!0);h(P,y,F,"\u0152","\\OE",!0);h(P,y,F,"\xD8","\\O",!0);h(P,y,r0,"\u02CA","\\'");h(P,y,r0,"\u02CB","\\`");h(P,y,r0,"\u02C6","\\^");h(P,y,r0,"\u02DC","\\~");h(P,y,r0,"\u02C9","\\=");h(P,y,r0,"\u02D8","\\u");h(P,y,r0,"\u02D9","\\.");h(P,y,r0,"\xB8","\\c");h(P,y,r0,"\u02DA","\\r");h(P,y,r0,"\u02C7","\\v");h(P,y,r0,"\xA8",'\\"');h(P,y,r0,"\u02DD","\\H");h(P,y,r0,"\u25EF","\\textcircled");var n_={"--":!0,"---":!0,"``":!0,"''":!0};h(P,y,F,"\u2013","--",!0);h(P,y,F,"\u2013","\\textendash");h(P,y,F,"\u2014","---",!0);h(P,y,F,"\u2014","\\textemdash");h(P,y,F,"\u2018","`",!0);h(P,y,F,"\u2018","\\textquoteleft");h(P,y,F,"\u2019","'",!0);h(P,y,F,"\u2019","\\textquoteright");h(P,y,F,"\u201C","``",!0);h(P,y,F,"\u201C","\\textquotedblleft");h(P,y,F,"\u201D","''",!0);h(P,y,F,"\u201D","\\textquotedblright");h(g,y,F,"\xB0","\\degree",!0);h(P,y,F,"\xB0","\\degree");h(P,y,F,"\xB0","\\textdegree",!0);h(g,y,F,"\xA3","\\pounds");h(g,y,F,"\xA3","\\mathsterling",!0);h(P,y,F,"\xA3","\\pounds");h(P,y,F,"\xA3","\\textsterling",!0);h(g,A,F,"\u2720","\\maltese");h(P,A,F,"\u2720","\\maltese");var by='0123456789/@."';for(ma=0;ma{var t=e.charCodeAt(0),n=e.charCodeAt(1),a=(t-55296)*1024+(n-56320)+65536;if(119808<=a&&a<120484){var i=Math.floor((a-119808)/26);return zy[i]}else if(120782<=a&&a<=120831){var r=Math.floor((a-120782)/10);return VH[r]}else{if(a===120485||a===120486)return zy[0];if(120486{if(s4(e.classes)!==s4(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize||e.italic!==0&&e.hasClass("mathnormal"))return!1;if(e.classes.length===1){var n=e.classes[0];if(n==="mbin"||n==="mord")return!1}for(var a of Object.keys(e.style))if(e.style[a]!==t.style[a])return!1;for(var i of Object.keys(t.style))if(e.style[i]!==t.style[i])return!1;return!0},a_=e=>{for(var t=0;tn&&(n=s.height),s.depth>a&&(a=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}t.height=n,t.depth=a,t.maxFontSize=i},D=function(t,n,a,i){var r=new c4(t,n,a,i);return yo(r),r},o4=(e,t,n,a)=>new c4(e,t,n,a),tt=function(t,n,a){var i=D([t],[],n);return i.height=Math.max(a||n.fontMetrics().defaultRuleThickness,n.minRuleThickness),i.style.borderBottomWidth=J(i.height),i.maxFontSize=1,i},PH=function(t,n,a,i){var r=new et(t,n,a,i);return yo(r),r},v3=function(t){var n=new r4(t);return yo(n),n},nt=function(t,n){return t instanceof r4?D([],[t],n):t},RH=function(t){if(t.positionType==="individualShift"){for(var n=t.children,a=[n[0]],i=-n[0].shift-n[0].elem.depth,r=i,s=1;s{var n=D(["mspace"],[],t),a=m0(e,t);return n.style.marginRight=J(a),n},ba=(e,t,n)=>{var a,i;switch(e){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=e}return t==="textbf"&&n==="textit"?i="BoldItalic":t==="textbf"?i="Bold":n==="textit"?i="Italic":i="Regular",a+"-"+i},no={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},r_={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},s_=function(t,n){var a=r_[t],i=a[0],r=a[1],s=a[2],c=new je(i),o=new de([c],{width:J(r),height:J(s),style:"width:"+J(r),viewBox:"0 0 "+1e3*r+" "+1e3*s,preserveAspectRatio:"xMinYMin"}),l=o4(["katex-overlay"],[o],n);return l.height=s,l.style.height=J(s),l.style.width=J(r),l},u0={number:3,unit:"mu"},G4={number:4,unit:"mu"},h3={number:5,unit:"mu"},DH={mord:{mop:u0,mbin:G4,mrel:h3,minner:u0},mop:{mord:u0,mop:u0,mrel:h3,minner:u0},mbin:{mord:G4,mop:G4,mopen:G4,minner:G4},mrel:{mord:h3,mop:h3,mopen:h3,minner:h3},mopen:{},mclose:{mop:u0,mbin:G4,mrel:h3,minner:u0},mpunct:{mord:u0,mop:u0,mrel:h3,mopen:u0,mclose:u0,mpunct:u0,minner:u0},minner:{mord:u0,mop:u0,mbin:G4,mrel:h3,mopen:u0,mpunct:u0,minner:u0}},GH={mord:{mop:u0},mop:{mord:u0,mop:u0},mbin:{},mrel:{},mopen:{},mclose:{mop:u0},mpunct:{},minner:{mop:u0}},c_={},r7={},s7={};function i1(e){for(var t=e.type,n=e.names,a=e.htmlBuilder,i=e.mathmlBuilder,r=0;r{var k=w.classes[0],v=f.classes[0];k==="mbin"&&WH.has(v)?w.classes[0]="mord":v==="mbin"&&OH.has(k)&&(f.classes[0]="mord")},{node:u},m,d),ao(r,(f,w)=>{var k,v,b=ro(w),_=ro(f),z=b&&_?f.hasClass("mtight")?(k=GH[b])==null?void 0:k[_]:(v=DH[b])==null?void 0:v[_]:null;if(z)return i_(z,l)},{node:u},m,d),r},ao=function(t,n,a,i,r){i&&t.push(i);for(var s=0;sm=>{t.splice(u+1,0,m),s++})(s)}i&&t.pop()},o_=function(t){return t instanceof r4||t instanceof et||t instanceof c4&&t.hasClass("enclosing")?t:null},io=function(t,n){var a=o_(t);if(a){var i=a.children;if(i.length){if(n==="right")return io(i[i.length-1],"right");if(n==="left")return io(i[0],"left")}}return t},ro=function(t,n){if(!t)return null;n&&(t=io(t,n));var a=t.classes[0];return XH[a]||null},o7=function(t,n){var a=["nulldelimiter"].concat(t.baseSizingClasses());return D(n.concat(a))},B1=function(t,n,a){if(!t)return D();if(r7[t.type]){var i=r7[t.type](t,n);if(a&&n.size!==a.size){i=D(n.sizingClasses(a),[i],n);var r=n.sizeMultiplier/a.sizeMultiplier;i.height*=r,i.depth*=r}return i}else throw new W("Got group of unknown type: '"+t.type+"'")};function fa(e,t){var n=D(["katex-base"],e,t),a=D(["katex-strut"]);return a.style.height=J(n.height+n.depth),n.depth&&(a.style.verticalAlign=J(-n.depth)),n.children.unshift(a),n}function so(e,t){var n=null;e.length===1&&e[0].type==="tag"&&(n=e[0].tag,e=e[0].body);var a=N0(e,t,"root"),i;a.length===2&&a[1].hasClass("katex-tag")&&(i=a.pop());for(var r=[],s=[],c=0;c0&&(r.push(fa(s,t)),s=[]),r.push(a[c]));s.length>0&&r.push(fa(s,t));var l;n?(l=fa(N0(n,t,!0),t),l.classes=["katex-tag"],r.push(l)):i&&r.push(i);var p=D(["katex-html"],r);if(p.setAttribute("aria-hidden","true"),l){var u=l.children[0];u.style.height=J(p.height+p.depth),p.depth&&(u.style.verticalAlign=J(-p.depth))}return p}function l_(e){return new r4(e)}var U=class{constructor(t,n,a){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=t,this.attributes={},this.children=n||[],this.classes=a||[]}setAttribute(t,n){this.attributes[t]=n}getAttribute(t){return this.attributes[t]}toNode(){var t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var n of Object.entries(this.attributes)){var a=n[0],i=n[1];t.setAttribute(a,i)}this.classes.length>0&&(t.className=s4(this.classes));for(var r=0;r0&&(t+=' class ="'+a2(s4(this.classes))+'"'),t+=">";for(var r=0;r",t}toText(){return this.children.map(t=>t.toText()).join("")}},_0=class{constructor(t){this.text=void 0,this.text=t}toNode(){return document.createTextNode(this.text)}toMarkup(){return a2(this.toText())}toText(){return this.text}},Ca=class{constructor(t){this.width=void 0,this.character=void 0,this.width=t,t>=.05555&&t<=.05556?this.character="\u200A":t>=.1666&&t<=.1667?this.character="\u2009":t>=.2222&&t<=.2223?this.character="\u2005":t>=.2777&&t<=.2778?this.character="\u2005\u200A":t>=-.05556&&t<=-.05555?this.character="\u200A\u2063":t>=-.1667&&t<=-.1666?this.character="\u2009\u2063":t>=-.2223&&t<=-.2222?this.character="\u205F\u2063":t>=-.2778&&t<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var t=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return t.setAttribute("width",J(this.width)),t}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},KH=new Set(["\\imath","\\jmath"]),YH=new Set(["mrow","mtable"]),J2=function(t,n,a){var i,r;return i0[n][t]&&i0[n][t].replace&&t.charCodeAt(0)!==55349&&!(Object.prototype.hasOwnProperty.call(n_,t)&&((a==null||(i=a.fontFamily)==null?void 0:i.slice(4,6))==="tt"||(a==null||(r=a.font)==null?void 0:r.slice(4,6))==="tt"))&&(t=i0[n][t].replace),new _0(t)},_o=function(t){return t.length===1?t[0]:new U("mrow",t)},QH={mathit:"italic",boldsymbol:e=>e.type==="textord"?"bold":"bold-italic",mathbf:"bold",mathbb:"double-struck",mathsfit:"sans-serif-italic",mathfrak:"fraktur",mathscr:"script",mathcal:"script",mathsf:"sans-serif",mathtt:"monospace"},wo=(e,t)=>{if(e.mode==="text"){if(t.fontFamily==="texttt")return"monospace";if(t.fontFamily==="textsf")return t.fontShape==="textit"&&t.fontWeight==="textbf"?"sans-serif-bold-italic":t.fontShape==="textit"?"sans-serif-italic":t.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(t.fontShape==="textit"&&t.fontWeight==="textbf")return"bold-italic";if(t.fontShape==="textit")return"italic";if(t.fontWeight==="textbf")return"bold"}var n=t.font;if(!n||n==="mathnormal")return null;var a=e.mode,i=QH[n];if(i)return typeof i=="function"?i(e):i;var r=e.text;if(KH.has(r))return null;if(i0[a][r]){var s=i0[a][r].replace;s&&(r=s)}var c=no[n].fontName;return fo(r,c,a)?no[n].variant:null};function Vc(e){if(!e)return!1;if(e.type==="mi"&&e.children.length===1){var t=e.children[0];return t instanceof _0&&t.text==="."}else if(e.type==="mo"&&e.children.length===1&&e.getAttribute("separator")==="true"&&e.getAttribute("lspace")==="0em"&&e.getAttribute("rspace")==="0em"){var n=e.children[0];return n instanceof _0&&n.text===","}else return!1}var q2=function(t,n,a){if(t.length===1){var i=X1(t[0],n);return a&&i instanceof U&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var r=[],s,c=0;c=1&&(s.type==="mn"||Vc(s))){var l=o.children[0];l instanceof U&&l.type==="mn"&&(l.children=[...s.children,...l.children],r.pop())}else if(s.type==="mi"&&s.children.length===1){var p=s.children[0];if(p instanceof _0&&p.text==="\u0338"&&(o.type==="mo"||o.type==="mi"||o.type==="mn")){var u=o.children[0];u instanceof _0&&u.text.length>0&&(u.text=u.text.slice(0,1)+"\u0338"+u.text.slice(1),r.pop())}}}r.push(o),s=o}return r},l4=function(t,n,a){return _o(q2(t,n,a))},X1=function(t,n){if(!t)return new U("mrow");if(s7[t.type])return s7[t.type](t,n);throw new W("Got group of unknown type: '"+t.type+"'")};function Cy(e,t,n,a,i){var r=q2(e,n),s;r.length===1&&r[0]instanceof U&&YH.has(r[0].type)?s=r[0]:s=new U("mrow",r);var c=new U("annotation",[new _0(t)]);c.setAttribute("encoding","application/x-tex");var o=new U("semantics",[s,c]),l=new U("math",[o]);l.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&l.setAttribute("display","block");var p=i?"katex":"katex-mathml";return D([p],[l])}var JH=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Ay=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],My=function(t,n){return n.size<2?t:JH[t-1][n.size-1]},Aa=class e{constructor(t){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=t.style,this.color=t.color,this.size=t.size||e.BASESIZE,this.textSize=t.textSize||this.size,this.phantom=!!t.phantom,this.font=t.font||"",this.fontFamily=t.fontFamily||"",this.fontWeight=t.fontWeight||"",this.fontShape=t.fontShape||"",this.sizeMultiplier=Ay[this.size-1],this.maxSize=t.maxSize,this.minRuleThickness=t.minRuleThickness,this._fontMetrics=void 0}extend(t){var n={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(n,t),new e(n)}havingStyle(t){return this.style===t?this:this.extend({style:t,size:My(this.textSize,t)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(t){return this.size===t&&this.textSize===t?this:this.extend({style:this.style.text(),size:t,textSize:t,sizeMultiplier:Ay[t-1]})}havingBaseStyle(t){t=t||this.style.text();var n=My(e.BASESIZE,t);return this.size===n&&this.textSize===e.BASESIZE&&this.style===t?this:this.extend({style:t,size:n})}havingBaseSizing(){var t;switch(this.style.id){case 4:case 5:t=3;break;case 6:case 7:t=1;break;default:t=6}return this.extend({style:this.style.text(),size:t})}withColor(t){return this.extend({color:t})}withPhantom(){return this.extend({phantom:!0})}withFont(t){return this.extend({font:t})}withTextFontFamily(t){return this.extend({fontFamily:t,font:""})}withTextFontWeight(t){return this.extend({fontWeight:t,font:""})}withTextFontShape(t){return this.extend({fontShape:t,font:""})}sizingClasses(t){return t.size!==this.size?["katex-sizing","reset-size"+t.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==e.BASESIZE?["katex-sizing","reset-size"+this.size,"size"+e.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=NH(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};Aa.BASESIZE=6;var p_=function(t){return new Aa({style:t.displayMode?_1.DISPLAY:_1.TEXT,maxSize:t.maxSize,minRuleThickness:t.minRuleThickness})},u_=function(t,n){if(n.displayMode){var a=["katex-display"];n.leqno&&a.push("leqno"),n.fleqn&&a.push("fleqn"),t=D(a,[t])}return t},eN=function(t,n,a){var i=p_(a),r;if(a.output==="mathml")return Cy(t,n,i,a.displayMode,!0);if(a.output==="html"){var s=so(t,i);r=D(["katex"],[s])}else{var c=Cy(t,n,i,a.displayMode,!1),o=so(t,i);r=D(["katex"],[c,o])}return u_(r,a)},tN=function(t,n,a){var i=p_(a),r=so(t,i),s=D(["katex"],[r]);return u_(s,a)},nN={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",underbracket:"\u23B5",overbracket:"\u23B4",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Za=function(t){var n=new U("mo",[new _0(nN[t.replace(/^\\/,"")])]);return n.setAttribute("stretchy","true"),n},aN={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},iN=new Set(["widehat","widecheck","widetilde","utilde"]),Ea=function(t,n){function a(){var o=4e5,l=t.label.slice(1);if(iN.has(l)&&"base"in t){var p=t.base.type==="ordgroup"?t.base.body.length:1,u,m,d;if(p>5)l==="widehat"||l==="widecheck"?(u=420,o=2364,d=.42,m=l+"4"):(u=312,o=2340,d=.34,m="tilde4");else{var f=[1,1,2,2,3,3][p];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][f],u=[0,239,300,360,420][f],d=[0,.24,.3,.3,.36,.42][f],m=l+f):(o=[0,600,1033,2339,2340][f],u=[0,260,286,306,312][f],d=[0,.26,.286,.3,.306,.34][f],m="tilde"+f)}var w=new je(m),k=new de([w],{width:"100%",height:J(d),viewBox:"0 0 "+o+" "+u,preserveAspectRatio:"none"});return{span:o4([],[k],n),minWidth:0,height:d}}else{var v=[],b=aN[l];if(!b)throw new Error('No SVG data for "'+l+'".');var _=b[0],z=b[1],L=b[2],C=L/1e3,j=_.length,N,H;if(j===1){if(b.length!==4)throw new Error('Expected 4-tuple for single-path SVG data "'+l+'".');N=["hide-tail"],H=[b[3]]}else if(j===2)N=["halfarrow-left","halfarrow-right"],H=["xMinYMin","xMaxYMin"];else if(j===3)N=["brace-left","brace-center","brace-right"],H=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error("Correct katexImagesData or update code here to support\n "+j+" children.");for(var S=0;S0&&(r.style.minWidth=J(s)),r},rN=function(t,n,a,i,r){var s,c=t.height+t.depth+a+i;if(/fbox|color|angl/.test(n)){if(s=D(["katex-stretchy",n],[],r),n==="fbox"){var o=r.color&&r.getColor();o&&(s.style.borderColor=o)}}else{var l=[];/^[bx]cancel$/.test(n)&&l.push(new i7({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(n)&&l.push(new i7({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var p=new de(l,{width:"100%",height:J(c)});s=o4([],[p],r)}return s.height=c,s.style.height=J(c),s},sN=["bin","close","inner","open","punct","rel"],cN=["accent-token","mathord","op-token","spacing","textord"],oN=new Set(sN),lN=new Set(cN);function pN(e){return oN.has(e)}function Z1(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function Fa(e){var t=ja(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function ja(e){return e.type==="atom"||lN.has(e.type)?e:null}function xo(e,t,n){var a="";for(var i of e.body)if(i.type==="textord")a+=i.text;else if(n&&i.type==="spacing"&&i.text===" ")a+=" ";else throw new W(t,e);return a}var m_=e=>{if(e instanceof m2)return e;if(jH(e)&&e.children.length===1)return m_(e.children[0])},d_=(e,t)=>{var n,a,i;e&&e.type==="supsub"?(a=Z1(e.base,"accent"),n=a.base,e.base=n,i=FH(B1(e,t)),e.base=a):(a=Z1(e,"accent"),n=a.base);var r=B1(n,t.havingCrampedStyle()),s=a.isShifty&&b3(n),c=0;if(s){var o,l;c=(o=(l=m_(r))==null?void 0:l.skew)!=null?o:0}var p=a.label==="\\c",u=p?r.height+r.depth:Math.min(r.height,t.fontMetrics().xHeight),m;if(a.isStretchy)m=Ea(a,t),m=R1({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"elem",elem:m,wrapperClasses:["svg-align"],wrapperStyle:c>0?{width:"calc(100% - "+J(2*c)+")",marginLeft:J(2*c)}:void 0}]});else{var d,f;a.label==="\\vec"?(d=s_("vec",t),f=r_.vec[1]):(d=Sa({type:"textord",mode:a.mode,text:a.label},t),d=EH(d),d.italic=0,f=d.width,p&&(u+=d.depth)),m=D(["accent-body"],[d]);var w=a.label==="\\textcircled";w&&(m.classes.push("accent-full"),u=r.height);var k=c;w||(k-=f/2),m.style.left=J(k),a.label==="\\textcircled"&&(m.style.top=".2em"),m=R1({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:-u},{type:"elem",elem:m}]})}var v=D(["mord","katex-accent"],[m],t);return i?(i.children[0]=v,i.height=Math.max(v.height,i.height),i.classes[0]="mord",i):v},uN=(e,t)=>{var n=e.isStretchy?Za(e.label):new U("mo",[J2(e.label,e.mode)]),a=new U("mover",[X1(e.base,t),n]);return a.setAttribute("accent","true"),a},mN=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(e=>"\\"+e).join("|"));i1({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],numArgs:1,handler:(e,t)=>{var n=c7(t[0]),a=!mN.test(e.funcName),i=!a||e.funcName==="\\widehat"||e.funcName==="\\widetilde"||e.funcName==="\\widecheck";return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:a,isShifty:i,base:n}},htmlBuilder:d_,mathmlBuilder:uN});i1({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"],handler:(e,t)=>{var n=t[0],a=e.parser.mode;return a==="math"&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:e.funcName,isStretchy:!1,isShifty:!0,base:n}}});i1({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],numArgs:1,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0];return{type:"accentUnder",mode:n.mode,label:a,base:i}},htmlBuilder:(e,t)=>{var n=B1(e.base,t),a=Ea(e,t),i=e.label==="\\utilde"?.12:0,r=R1({positionType:"top",positionData:n.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:n}]});return D(["mord","accentunder"],[r],t)},mathmlBuilder:(e,t)=>{var n=Za(e.label),a=new U("munder",[X1(e.base,t),n]);return a.setAttribute("accentunder","true"),a}});var va=e=>{var t=new U("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};i1({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],numArgs:1,numOptionalArgs:1,handler(e,t,n){var a=e.parser,i=e.funcName;return{type:"xArrow",mode:a.mode,label:i,body:t[0],below:n[0]}},htmlBuilder(e,t){var n=t.style,a=t.havingStyle(n.sup()),i=nt(B1(e.body,a,t),t),r=e.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(r+"-arrow-pad");var s;e.below&&(a=t.havingStyle(n.sub()),s=nt(B1(e.below,a,t),t),s.classes.push(r+"-arrow-pad"));var c=Ea(e,t),o=-t.fontMetrics().axisHeight+.5*c.height,l=-t.fontMetrics().axisHeight-.5*c.height-.111;(i.depth>.25||e.label==="\\xleftequilibrium")&&(l-=i.depth);var p;if(s){var u=-t.fontMetrics().axisHeight+s.height+.5*c.height+.111;p=R1({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:c,shift:o,wrapperClasses:["svg-align"]},{type:"elem",elem:s,shift:u}]})}else p=R1({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:c,shift:o,wrapperClasses:["svg-align"]}]});return D(["mrel","x-arrow"],[p],t)},mathmlBuilder(e,t){var n=Za(e.label);n.setAttribute("minsize",e.label.charAt(0)==="x"?"1.75em":"3.0em");var a;if(e.body){var i=va(X1(e.body,t));if(e.below){var r=va(X1(e.below,t));a=new U("munderover",[n,r,i])}else a=new U("mover",[n,i])}else if(e.below){var s=va(X1(e.below,t));a=new U("munder",[n,s])}else a=va(),a=new U("mover",[n,a]);return a}});function dN(e,t){var n=N0(e.body,t,!0);return D([e.mclass],n,t)}function hN(e,t){var n,a=q2(e.body,t);return e.mclass==="minner"?n=new U("mpadded",a):e.mclass==="mord"?e.isCharacterBox?(n=a[0],n.type="mi"):n=new U("mi",a):(e.isCharacterBox?(n=a[0],n.type="mo"):n=new U("mo",a),e.mclass==="mbin"?(n.attributes.lspace="0.22em",n.attributes.rspace="0.22em"):e.mclass==="mpunct"?(n.attributes.lspace="0em",n.attributes.rspace="0.17em"):(e.mclass==="mopen"||e.mclass==="mclose")&&(n.attributes.lspace="0em",n.attributes.rspace="0em")),n}i1({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],numArgs:1,primitive:!0,handler(e,t){var n=e.parser,a=e.funcName,i=t[0];return{type:"mclass",mode:n.mode,mclass:"m"+a.slice(5),body:$0(i),isCharacterBox:b3(i)}},htmlBuilder:dN,mathmlBuilder:hN});var Ha=e=>{var t=e.type==="ordgroup"&&e.body.length?e.body[0]:e;return t.type==="atom"&&(t.family==="bin"||t.family==="rel")?"m"+t.family:"mord"};i1({type:"mclass",names:["\\@binrel"],numArgs:2,handler(e,t){var n=e.parser;return{type:"mclass",mode:n.mode,mclass:Ha(t[0]),body:$0(t[1]),isCharacterBox:b3(t[1])}}});i1({type:"mclass",names:["\\stackrel","\\overset","\\underset"],numArgs:2,handler(e,t){var n=e.parser,a=e.funcName,i=t[1],r=t[0],s;a!=="\\stackrel"?s=Ha(i):s="mrel";var c={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:a!=="\\stackrel",body:$0(i)},o=a==="\\underset"?{type:"supsub",mode:r.mode,base:c,sub:r}:{type:"supsub",mode:r.mode,base:c,sup:r};return{type:"mclass",mode:n.mode,mclass:s,body:[o],isCharacterBox:b3(o)}}});i1({type:"pmb",names:["\\pmb"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser;return{type:"pmb",mode:n.mode,mclass:Ha(t[0]),body:$0(t[0])}},htmlBuilder(e,t){var n=N0(e.body,t,!0),a=D([e.mclass],n,t);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(e,t){var n=q2(e.body,t),a=new U("mstyle",n);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var gN={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},$y=()=>({type:"styling",body:[],mode:"math",style:"display",resetFont:!0}),Ly=e=>e.type==="textord"&&e.text==="@",bN=(e,t)=>(e.type==="mathord"||e.type==="atom")&&e.text===t;function fN(e,t,n){var a=gN[e];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return n.callFunction(a,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":{var i=n.callFunction("\\\\cdleft",[t[0]],[]),r={type:"atom",text:a,mode:"math",family:"rel"},s=n.callFunction("\\Big",[r],[]),c=n.callFunction("\\\\cdright",[t[1]],[]),o={type:"ordgroup",mode:"math",body:[i,s,c]};return n.callFunction("\\\\cdparent",[o],[])}case"\\\\cdlongequal":return n.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var l={type:"textord",text:"\\Vert",mode:"math"};return n.callFunction("\\Big",[l],[])}default:return{type:"textord",text:" ",mode:"math"}}}function vN(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();var n=e.fetch().text;if(n==="&"||n==="\\\\")e.consume();else if(n==="\\end"){t[t.length-1].length===0&&t.pop();break}else throw new W("Expected \\\\ or \\cr or \\end",e.nextToken)}for(var a=[],i=[a],r=0;rAV".includes(l))for(var u=0;u<2;u++){for(var m=!0,d=o+1;dAV=|." after @',s[o]);var f=fN(l,p,e),w={type:"styling",body:[f],mode:"math",style:"display",resetFont:!0};a.push(w),c=$y()}r%2===0?a.push(c):a.shift(),a=[],i.push(a)}e.gullet.endGroup(),e.gullet.endGroup();var k=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:k,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}i1({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],numArgs:1,handler(e,t){var n=e.parser,a=e.funcName;return{type:"cdlabel",mode:n.mode,side:a.slice(4),label:t[0]}},htmlBuilder(e,t){var n=t.havingStyle(t.style.sup()),a=nt(B1(e.label,n,t),t);return a.classes.push("cd-label-"+e.side),a.style.bottom=J(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(e,t){var n=new U("mrow",[X1(e.label,t)]);return n=new U("mpadded",[n]),n.setAttribute("width","0"),e.side==="left"&&n.setAttribute("lspace","-1width"),n.setAttribute("voffset","0.7em"),n=new U("mstyle",[n]),n.setAttribute("displaystyle","false"),n.setAttribute("scriptlevel","1"),n}});i1({type:"cdlabelparent",names:["\\\\cdparent"],numArgs:1,handler(e,t){var n=e.parser;return{type:"cdlabelparent",mode:n.mode,fragment:t[0]}},htmlBuilder(e,t){var n=nt(B1(e.fragment,t),t);return n.classes.push("cd-vert-arrow"),n},mathmlBuilder(e,t){return new U("mrow",[X1(e.fragment,t)])}});i1({type:"textord",names:["\\@char"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser,a=Z1(t[0],"ordgroup"),i=xo(a,"\\@char has non-numeric argument"),r=parseInt(i),s;if(isNaN(r))throw new W("\\@char has non-numeric argument "+i);if(r<0||r>1114111)throw new W("\\@char with invalid code point "+i);return r<=65535?s=String.fromCharCode(r):(r-=65536,s=String.fromCharCode((r>>10)+55296,(r&1023)+56320)),{type:"textord",mode:n.mode,text:s}}});var yN=(e,t)=>{var n=N0(e.body,t.withColor(e.color),!1);return v3(n)},_N=(e,t)=>{var n=q2(e.body,t.withColor(e.color)),a=new U("mstyle",n);return a.setAttribute("mathcolor",e.color),a};i1({type:"color",names:["\\textcolor"],numArgs:2,allowedInText:!0,argTypes:["color","original"],handler(e,t){var n=e.parser,a=Z1(t[0],"color-token").color,i=t[1];return{type:"color",mode:n.mode,color:a,body:$0(i)}},htmlBuilder:yN,mathmlBuilder:_N});i1({type:"color",names:["\\color"],numArgs:1,allowedInText:!0,argTypes:["color"],handler(e,t){var n=e.parser,a=e.breakOnTokenText,i=Z1(t[0],"color-token").color;n.gullet.macros.set("\\current@color",i);var r=n.parseExpression(!0,a);return{type:"color",mode:n.mode,color:i,body:r}}});i1({type:"cr",names:["\\\\"],numArgs:0,numOptionalArgs:0,allowedInText:!0,handler(e,t,n){var a=e.parser,i=a.gullet.future().text==="["?a.parseSizeGroup(!0):null,r=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:r,size:i&&Z1(i,"size").value}},htmlBuilder(e,t){var n=D(["mspace"],[],t);return e.newLine&&(n.classes.push("katex-newline"),e.size&&(n.style.marginTop=J(m0(e.size,t)))),n},mathmlBuilder(e,t){var n=new U("mspace");return e.newLine&&(n.setAttribute("linebreak","newline"),e.size&&n.setAttribute("height",J(m0(e.size,t)))),n}});var co={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},h_=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new W("Expected a control sequence",e);return t},wN=e=>{var t=e.gullet.popToken();return t.text==="="&&(t=e.gullet.popToken(),t.text===" "&&(t=e.gullet.popToken())),t},g_=(e,t,n,a)=>{var i=e.gullet.macros.get(n.text);i==null&&(n.noexpand=!0,i={tokens:[n],numArgs:0,unexpandable:!e.gullet.isExpandable(n.text)}),e.gullet.macros.set(t,i,a)};i1({type:"internal",names:["\\global","\\long","\\\\globallong"],numArgs:0,allowedInText:!0,handler(e){var t=e.parser,n=e.funcName;t.consumeSpaces();var a=t.fetch();if(co[a.text])return(n==="\\global"||n==="\\\\globallong")&&(a.text=co[a.text]),Z1(t.parseFunction(),"internal");throw new W("Invalid token after macro prefix",a)}});i1({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,a=t.gullet.popToken(),i=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new W("Expected a control sequence",a);for(var r=0,s,c=[[]];t.gullet.future().text!=="{";)if(a=t.gullet.popToken(),a.text==="#"){if(t.gullet.future().text==="{"){s=t.gullet.future(),c[r].push("{");break}if(a=t.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new W('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==r+1)throw new W('Argument number "'+a.text+'" out of order');r++,c.push([])}else{if(a.text==="EOF")throw new W("Expected a macro definition");c[r].push(a.text)}var o=t.gullet.consumeArg(),l=o.tokens;return s&&l.unshift(s),(n==="\\edef"||n==="\\xdef")&&(l=t.gullet.expandTokens(l),l.reverse()),t.gullet.macros.set(i,{tokens:l,numArgs:r,delimiters:c},n===co[n]),{type:"internal",mode:t.mode}}});i1({type:"internal",names:["\\let","\\\\globallet"],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,a=h_(t.gullet.popToken());t.gullet.consumeSpaces();var i=wN(t);return g_(t,a,i,n==="\\\\globallet"),{type:"internal",mode:t.mode}}});i1({type:"internal",names:["\\futurelet","\\\\globalfuture"],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,a=h_(t.gullet.popToken()),i=t.gullet.popToken(),r=t.gullet.popToken();return g_(t,a,r,n==="\\\\globalfuture"),t.gullet.pushToken(r),t.gullet.pushToken(i),{type:"internal",mode:t.mode}}});var e7=function(t,n,a){var i=i0.math[t]&&i0.math[t].replace,r=fo(i||t,n,a);if(!r)throw new Error("Unsupported symbol "+t+" and font size "+n+".");return r},ko=function(t,n,a,i){var r=a.havingBaseStyle(n),s=D(i.concat(r.sizingClasses(a)),[t],a),c=r.sizeMultiplier/a.sizeMultiplier;return s.height*=c,s.depth*=c,s.maxFontSize=r.sizeMultiplier,s},b_=function(t,n,a){var i=n.havingBaseStyle(a),r=(1-n.sizeMultiplier/i.sizeMultiplier)*n.fontMetrics().axisHeight;t.classes.push("delimcenter"),t.style.top=J(r),t.height-=r,t.depth+=r},xN=function(t,n,a,i,r,s){var c=p2(t,"Main-Regular",r,i),o=ko(c,n,i,s);return a&&b_(o,i,n),o},kN=function(t,n,a,i){return p2(t,"Size"+n+"-Regular",a,i)},f_=function(t,n,a,i,r,s){var c=kN(t,n,r,i),o=ko(D(["delimsizing","size"+n],[c],i),_1.TEXT,i,s);return a&&b_(o,i,_1.TEXT),o},qc=function(t,n,a){var i;n==="Size1-Regular"?i="delim-size1":i="delim-size4";var r=D(["delimsizinginner",i],[D([],[p2(t,n,a)])]);return{type:"elem",elem:r}},Ic=function(t,n,a){var i=Fe["Size4-Regular"][t.charCodeAt(0)]?Fe["Size4-Regular"][t.charCodeAt(0)][4]:Fe["Size1-Regular"][t.charCodeAt(0)][4],r=new je("inner",AH(t,Math.round(1e3*n))),s=new de([r],{width:J(i),height:J(n),style:"width:"+J(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*n),preserveAspectRatio:"xMinYMin"}),c=o4([],[s],a);return c.height=n,c.style.height=J(n),c.style.width=J(i),{type:"elem",elem:c}},oo=.008,ya={type:"kern",size:-1*oo},zN=new Set(["|","\\lvert","\\rvert","\\vert"]),CN=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),v_=function(t,n,a,i,r,s){var c,o,l,p,u="",m=0;c=l=p=t,o=null;var d="Size1-Regular";t==="\\uparrow"?l=p="\u23D0":t==="\\Uparrow"?l=p="\u2016":t==="\\downarrow"?c=l="\u23D0":t==="\\Downarrow"?c=l="\u2016":t==="\\updownarrow"?(c="\\uparrow",l="\u23D0",p="\\downarrow"):t==="\\Updownarrow"?(c="\\Uparrow",l="\u2016",p="\\Downarrow"):zN.has(t)?(l="\u2223",u="vert",m=333):CN.has(t)?(l="\u2225",u="doublevert",m=556):t==="["||t==="\\lbrack"?(c="\u23A1",l="\u23A2",p="\u23A3",d="Size4-Regular",u="lbrack",m=667):t==="]"||t==="\\rbrack"?(c="\u23A4",l="\u23A5",p="\u23A6",d="Size4-Regular",u="rbrack",m=667):t==="\\lfloor"||t==="\u230A"?(l=c="\u23A2",p="\u23A3",d="Size4-Regular",u="lfloor",m=667):t==="\\lceil"||t==="\u2308"?(c="\u23A1",l=p="\u23A2",d="Size4-Regular",u="lceil",m=667):t==="\\rfloor"||t==="\u230B"?(l=c="\u23A5",p="\u23A6",d="Size4-Regular",u="rfloor",m=667):t==="\\rceil"||t==="\u2309"?(c="\u23A4",l=p="\u23A5",d="Size4-Regular",u="rceil",m=667):t==="("||t==="\\lparen"?(c="\u239B",l="\u239C",p="\u239D",d="Size4-Regular",u="lparen",m=875):t===")"||t==="\\rparen"?(c="\u239E",l="\u239F",p="\u23A0",d="Size4-Regular",u="rparen",m=875):t==="\\{"||t==="\\lbrace"?(c="\u23A7",o="\u23A8",p="\u23A9",l="\u23AA",d="Size4-Regular"):t==="\\}"||t==="\\rbrace"?(c="\u23AB",o="\u23AC",p="\u23AD",l="\u23AA",d="Size4-Regular"):t==="\\lgroup"||t==="\u27EE"?(c="\u23A7",p="\u23A9",l="\u23AA",d="Size4-Regular"):t==="\\rgroup"||t==="\u27EF"?(c="\u23AB",p="\u23AD",l="\u23AA",d="Size4-Regular"):t==="\\lmoustache"||t==="\u23B0"?(c="\u23A7",p="\u23AD",l="\u23AA",d="Size4-Regular"):(t==="\\rmoustache"||t==="\u23B1")&&(c="\u23AB",p="\u23A9",l="\u23AA",d="Size4-Regular");var f=e7(c,d,r),w=f.height+f.depth,k=e7(l,d,r),v=k.height+k.depth,b=e7(p,d,r),_=b.height+b.depth,z=0,L=1;if(o!==null){var C=e7(o,d,r);z=C.height+C.depth,L=2}var j=w+_+z,N=Math.max(0,Math.ceil((n-j)/(L*v))),H=j+N*L*v,S=i.fontMetrics().axisHeight;a&&(S*=i.sizeMultiplier);var R=H/2-S,B=[];if(u.length>0){var I=H-w-_,e1=Math.round(H*1e3),G=MH(u,Math.round(I*1e3)),X=new je(u,G),o1=J(m/1e3),w1=J(e1/1e3),M1=new de([X],{width:o1,height:w1,viewBox:"0 0 "+m+" "+e1}),M=o4([],[M1],i);M.height=e1/1e3,M.style.width=o1,M.style.height=w1,B.push({type:"elem",elem:M})}else{if(B.push(qc(p,d,r)),B.push(ya),o===null){var a1=H-w-_+2*oo;B.push(Ic(l,a1,i))}else{var l1=(H-w-_-z)/2+2*oo;B.push(Ic(l,l1,i)),B.push(ya),B.push(qc(o,d,r)),B.push(ya),B.push(Ic(l,l1,i))}B.push(ya),B.push(qc(c,d,r))}var Z=i.havingBaseStyle(_1.TEXT),P1=R1({positionType:"bottom",positionData:R,children:B});return ko(D(["delimsizing","mult"],[P1],Z),_1.TEXT,i,s)},Bc=80,Pc=.08,Rc=function(t,n,a,i,r){var s=CH(t,i,a),c=new je(t,s),o=new de([c],{width:"400em",height:J(n),viewBox:"0 0 400000 "+a,preserveAspectRatio:"xMinYMin slice"});return o4(["hide-tail"],[o],r)},AN=function(t,n){var a=n.havingBaseSizing(),i=k_("\\surd",t*a.sizeMultiplier,x_,a),r=a.sizeMultiplier,s=Math.max(0,n.minRuleThickness-n.fontMetrics().sqrtRuleThickness),c,o,l,p,u;return i.type==="small"?(p=1e3+1e3*s+Bc,t<1?r=1:t<1.4&&(r=.7),o=(1+s+Pc)/r,l=(1+s)/r,c=Rc("sqrtMain",o,p,s,n),c.style.minWidth="0.853em",u=.833/r):i.type==="large"?(p=(1e3+Bc)*t7[i.size],l=(t7[i.size]+s)/r,o=(t7[i.size]+s+Pc)/r,c=Rc("sqrtSize"+i.size,o,p,s,n),c.style.minWidth="1.02em",u=1/r):(o=t+s+Pc,l=t+s,p=Math.floor(1e3*t+s)+Bc,c=Rc("sqrtTall",o,p,s,n),c.style.minWidth="0.742em",u=1.056),c.height=l,c.style.height=J(o),{span:c,advanceWidth:u,ruleWidth:(n.fontMetrics().sqrtRuleThickness+s)*r}},y_=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"]),MN=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"]),__=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),t7=[0,1.2,1.8,2.4,3],w_=function(t,n,a,i,r){if(t==="<"||t==="\\lt"||t==="\u27E8"?t="\\langle":(t===">"||t==="\\gt"||t==="\u27E9")&&(t="\\rangle"),y_.has(t)||__.has(t))return f_(t,n,!1,a,i,r);if(MN.has(t))return v_(t,t7[n],!1,a,i,r);throw new W("Illegal delimiter: '"+t+"'")},$N=[{type:"small",style:_1.SCRIPTSCRIPT},{type:"small",style:_1.SCRIPT},{type:"small",style:_1.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],LN=[{type:"small",style:_1.SCRIPTSCRIPT},{type:"small",style:_1.SCRIPT},{type:"small",style:_1.TEXT},{type:"stack"}],x_=[{type:"small",style:_1.SCRIPTSCRIPT},{type:"small",style:_1.SCRIPT},{type:"small",style:_1.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],SN=function(t){if(t.type==="small")return"Main-Regular";if(t.type==="large")return"Size"+t.size+"-Regular";if(t.type==="stack")return"Size4-Regular";var n=t.type;throw new Error("Add support for delim type '"+n+"' here.")},k_=function(t,n,a,i){for(var r=Math.min(2,3-i.style.size),s=r;sn)return c}return a[a.length-1]},lo=function(t,n,a,i,r,s){t==="<"||t==="\\lt"||t==="\u27E8"?t="\\langle":(t===">"||t==="\\gt"||t==="\u27E9")&&(t="\\rangle");var c;__.has(t)?c=$N:y_.has(t)?c=x_:c=LN;var o=k_(t,n,c,i);return o.type==="small"?xN(t,o.style,a,i,r,s):o.type==="large"?f_(t,o.size,a,i,r,s):v_(t,n,a,i,r,s)},Dc=function(t,n,a,i,r,s){var c=i.fontMetrics().axisHeight*i.sizeMultiplier,o=901,l=5/i.fontMetrics().ptPerEm,p=Math.max(n-c,a+c),u=Math.max(p/500*o,2*p-l);return lo(t,u,!0,i,r,s)},Sy={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},ZN=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function Zy(e){return"isMiddle"in e}function Na(e,t){var n=ja(e);if(n&&ZN.has(n.text))return n;throw n?new W("Invalid delimiter '"+n.text+"' after '"+t.funcName+"'",e):new W("Invalid delimiter type '"+e.type+"'",e)}i1({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],numArgs:1,argTypes:["primitive"],handler:(e,t)=>{var n=Na(c7(t[0]),e);return{type:"delimsizing",mode:e.parser.mode,size:Sy[e.funcName].size,mclass:Sy[e.funcName].mclass,delim:n.text}},htmlBuilder:(e,t)=>e.delim==="."?D([e.mclass]):w_(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];e.delim!=="."&&t.push(J2(e.delim,e.mode));var n=new U("mo",t);e.mclass==="mopen"||e.mclass==="mclose"?n.setAttribute("fence","true"):n.setAttribute("fence","false"),n.setAttribute("stretchy","true");var a=J(t7[e.size]);return n.setAttribute("minsize",a),n.setAttribute("maxsize",a),n}});function Ey(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}i1({type:"leftright-right",names:["\\right"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=e.parser.gullet.macros.get("\\current@color");if(n&&typeof n!="string")throw new W("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:Na(t[0],e).text,color:n}}});i1({type:"leftright",names:["\\left"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=Na(t[0],e),a=e.parser;++a.leftrightDepth;var i=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var r=Z1(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:i,left:n.text,right:r.delim,rightColor:r.color}},htmlBuilder:(e,t)=>{Ey(e);for(var n=N0(e.body,t,!0,["mopen","mclose"]),a=0,i=0,r=!1,s=0;s{Ey(e);var n=q2(e.body,t);if(e.left!=="."){var a=new U("mo",[J2(e.left,e.mode)]);a.setAttribute("fence","true"),n.unshift(a)}if(e.right!=="."){var i=new U("mo",[J2(e.right,e.mode)]);i.setAttribute("fence","true"),e.rightColor&&i.setAttribute("mathcolor",e.rightColor),n.push(i)}return _o(n)}});i1({type:"middle",names:["\\middle"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=Na(t[0],e);if(!e.parser.leftrightDepth)throw new W("\\middle without preceding \\left",n);return{type:"middle",mode:e.parser.mode,delim:n.text}},htmlBuilder:(e,t)=>{var n;return e.delim==="."?n=o7(t,[]):(n=w_(e.delim,1,t,e.mode,[]),n.isMiddle={delim:e.delim,options:t}),n},mathmlBuilder:(e,t)=>{var n=e.delim==="\\vert"||e.delim==="|"?J2("|","text"):J2(e.delim,e.mode),a=new U("mo",[n]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var EN=(e,t)=>{var n=nt(B1(e.body,t),t),a=e.label.slice(1),i=t.sizeMultiplier,r,s,c=b3(e.body);if(a==="sout")r=D(["katex-stretchy","katex-sout"]),r.height=t.fontMetrics().defaultRuleThickness/i,s=-.5*t.fontMetrics().xHeight;else if(a==="phase"){var o=m0({number:.6,unit:"pt"},t),l=m0({number:.35,unit:"ex"},t),p=t.havingBaseSizing();i=i/p.sizeMultiplier;var u=n.height+n.depth+o+l;n.style.paddingLeft=J(u/2+o);var m=Math.floor(1e3*u*i),d=kH(m),f=new de([new je("phase",d)],{width:"400em",height:J(m/1e3),viewBox:"0 0 400000 "+m,preserveAspectRatio:"xMinYMin slice"});r=o4(["hide-tail"],[f],t),r.style.height=J(u),s=n.depth+o+l}else{/cancel/.test(a)?c||n.classes.push("cancel-pad"):a==="angl"?n.classes.push("anglpad"):n.classes.push("boxpad");var w,k,v=0;/box/.test(a)?(v=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),w=t.fontMetrics().fboxsep+(a==="colorbox"?0:v),k=w):a==="angl"?(v=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),w=4*v,k=Math.max(0,.25-n.depth)):(w=c?.2:0,k=w),r=rN(n,a,w,k,t),/fbox|boxed|fcolorbox/.test(a)?(r.style.borderStyle="solid",r.style.borderWidth=J(v)):a==="angl"&&v!==.049&&(r.style.borderTopWidth=J(v),r.style.borderRightWidth=J(v)),s=n.depth+k,e.backgroundColor&&(r.style.backgroundColor=e.backgroundColor,e.borderColor&&(r.style.borderColor=e.borderColor))}var b;if(e.backgroundColor)b=R1({positionType:"individualShift",children:[{type:"elem",elem:r,shift:s},{type:"elem",elem:n,shift:0}]});else{var _=/cancel|phase/.test(a)?["svg-align"]:[];b=R1({positionType:"individualShift",children:[{type:"elem",elem:n,shift:0},{type:"elem",elem:r,shift:s,wrapperClasses:_}]})}return/cancel/.test(a)&&(b.height=n.height,b.depth=n.depth),/cancel/.test(a)&&!c?D(["mord","cancel-lap"],[b],t):D(["mord"],[b],t)},FN=(e,t)=>{var n,a=new U(e.label.includes("colorbox")?"mpadded":"menclose",[X1(e.body,t)]);switch(e.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(n=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*n+"pt"),a.setAttribute("height","+"+2*n+"pt"),a.setAttribute("lspace",n+"pt"),a.setAttribute("voffset",n+"pt"),e.label==="\\fcolorbox"){var i=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);a.setAttribute("style","border: "+J(i)+" solid "+e.borderColor)}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return e.backgroundColor&&a.setAttribute("mathbackground",e.backgroundColor),a};i1({type:"enclose",names:["\\colorbox"],numArgs:2,allowedInText:!0,argTypes:["color","hbox"],handler(e,t,n){var a=e.parser,i=e.funcName,r=Z1(t[0],"color-token").color,s=t[1];return{type:"enclose",mode:a.mode,label:i,backgroundColor:r,body:s}},htmlBuilder:EN,mathmlBuilder:FN});i1({type:"enclose",names:["\\fcolorbox"],numArgs:3,allowedInText:!0,argTypes:["color","color","hbox"],handler(e,t,n){var a=e.parser,i=e.funcName,r=Z1(t[0],"color-token").color,s=Z1(t[1],"color-token").color,c=t[2];return{type:"enclose",mode:a.mode,label:i,backgroundColor:s,borderColor:r,body:c}}});i1({type:"enclose",names:["\\fbox"],numArgs:1,argTypes:["hbox"],allowedInText:!0,handler(e,t){var n=e.parser;return{type:"enclose",mode:n.mode,label:"\\fbox",body:t[0]}}});i1({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],numArgs:1,handler(e,t){var n=e.parser,a=e.funcName,i=t[0];return{type:"enclose",mode:n.mode,label:a,body:i}}});i1({type:"enclose",names:["\\sout"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser,a=e.funcName;n.mode==="math"&&n.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=t[0];return{type:"enclose",mode:n.mode,label:a,body:i}}});i1({type:"enclose",names:["\\angl"],numArgs:1,argTypes:["hbox"],allowedInText:!1,handler(e,t){var n=e.parser;return{type:"enclose",mode:n.mode,label:"\\angl",body:t[0]}}});var z_={};function He(e){for(var t=e.type,n=e.names,a=e.props,i=e.handler,r=e.htmlBuilder,s=e.mathmlBuilder,c={type:t,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},o=0;o{var t=e.parser.settings;if(!t.displayMode)throw new W("{"+e.envName+"} can be used only in display mode.")},jN=new Set(["gather","gather*"]);function zo(e){if(!e.includes("ed"))return!e.includes("*")}function p4(e,t,n){var a=t.hskipBeforeAndAfter,i=t.addJot,r=t.cols,s=t.arraystretch,c=t.colSeparationType,o=t.autoTag,l=t.singleRow,p=t.emptySingleRow,u=t.maxNumCols,m=t.leqno;if(e.gullet.beginGroup(),l||e.gullet.macros.set("\\cr","\\\\\\relax"),!s){var d=e.gullet.expandMacroAsText("\\arraystretch");if(d==null)s=1;else if(s=parseFloat(d),!s||s<0)throw new W("Invalid \\arraystretch: "+d)}e.gullet.beginGroup();var f=[],w=[f],k=[],v=[],b=o!=null?[]:void 0;function _(){o&&e.gullet.macros.set("\\@eqnsw","1",!0)}function z(){b&&(e.gullet.macros.get("\\df@tag")?(b.push(e.subparse([new T2("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):b.push(!!o&&e.gullet.macros.get("\\@eqnsw")==="1"))}for(_(),v.push(Fy(e));;){var L=e.parseExpression(!1,l?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup();var C={type:"ordgroup",mode:e.mode,body:L};n&&(C={type:"styling",mode:e.mode,style:n,resetFont:!0,body:[C]}),f.push(C);var j=e.fetch().text;if(j==="&"){if(u&&f.length===u){if(l||c)throw new W("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else if(j==="\\end"){z(),f.length===1&&C.type==="styling"&&C.body.length===1&&C.body[0].type==="ordgroup"&&C.body[0].body.length===0&&(w.length>1||!p)&&!Array.isArray(b?.[b.length-1])&&!(o&&b?.[b.length-1]===!0)&&w.pop(),v.length0&&(_+=.25),l.push({pos:_,isDashed:Y[b1]})}for(z(s[0]),a=0;a0&&(R+=b,jY))for(a=0;a=c)){var G1=void 0;if(i>0||t.hskipBeforeAndAfter){var h0,h2;G1=(h0=(h2=Z)==null?void 0:h2.pregap)!=null?h0:m,G1!==0&&(G=D(["arraycolsep"],[]),G.style.width=J(G1),e1.push(G))}var S0=[];for(a=0;a0){for(var k7=tt("katex-hline",n,p),t9=tt("katex-hdashline",n,p),ut=[{type:"elem",elem:m4,shift:0}];l.length>0;){var z7=l.pop(),C7=z7.pos-B;z7.isDashed?ut.push({type:"elem",elem:t9,shift:C7}):ut.push({type:"elem",elem:k7,shift:C7})}m4=R1({positionType:"individualShift",children:ut})}if(o1.length===0)return D(["mord"],[m4],n);var n9=R1({positionType:"individualShift",children:o1}),V=D(["katex-tag"],[n9],n);return v3([m4,V])},HN={c:"center ",l:"left ",r:"right "},Te=function(t,n){for(var a=[],i=new U("mtd",[],["mtr-glue"]),r=new U("mtd",[],["mml-eqn-num"]),s=0;s0){var f=t.cols,w="",k=!1,v=0,b=f.length;f[0].type==="separator"&&(m+="top ",v=1),f[f.length-1].type==="separator"&&(m+="bottom ",b-=1);for(var _=v;_0?"left ":"",m+=H[H.length-1].length>0?"right ":"";for(var S=1;S0&&u&&(f=1),a[m]={type:"align",align:d,pregap:f,postgap:0}}return r.colSeparationType=u?"align":"alignat",r};He({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){var n=ja(t[0]),a=n?[t[0]]:Z1(t[0],"ordgroup").body,i=a.map(function(s){var c=Fa(s),o=c.text;if("lcr".includes(o))return{type:"align",align:o};if(o==="|")return{type:"separator",separator:"|"};if(o===":")return{type:"separator",separator:":"};throw new W("Unknown column alignment: "+o,s)}),r={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return p4(e.parser,r,Co(e.envName))},htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],n="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:n}]};if(e.envName.charAt(e.envName.length-1)==="*"){var i=e.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),n=i.fetch().text,!"lcr".includes(n))throw new W("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),a.cols=[{type:"align",align:n}]}}var r=p4(e.parser,a,Co(e.envName)),s=Math.max(0,...r.body.map(c=>c.length));return r.cols=new Array(s).fill({type:"align",align:n}),t?{type:"leftright",mode:e.mode,body:[r],left:t[0],right:t[1],rightColor:void 0}:r},htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){var t={arraystretch:.5},n=p4(e.parser,t,"script");return n.colSeparationType="small",n},htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){var n=ja(t[0]),a=n?[t[0]]:Z1(t[0],"ordgroup").body,i=a.map(function(c){var o=Fa(c),l=o.text;if("lc".includes(l))return{type:"align",align:l};throw new W("Unknown column alignment: "+l,c)});if(i.length>1)throw new W("{subarray} can contain only one column");var r={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=p4(e.parser,r,"script");if(s.body.length>0&&s.body[0].length>1)throw new W("{subarray} can contain only one column");return s},htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){var t={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},n=p4(e.parser,t,Co(e.envName));return{type:"leftright",mode:e.mode,body:[n],left:e.envName.includes("r")?".":"\\{",right:e.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:A_,htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){jN.has(e.envName)&&Ta(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:zo(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return p4(e.parser,t,"display")},htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:A_,htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){Ta(e);var t={autoTag:zo(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return p4(e.parser,t,"display")},htmlBuilder:Ne,mathmlBuilder:Te});He({type:"array",names:["CD"],props:{numArgs:0},handler(e){return Ta(e),vN(e.parser)},htmlBuilder:Ne,mathmlBuilder:Te});x("\\nonumber","\\gdef\\@eqnsw{0}");x("\\notag","\\nonumber");i1({type:"text",names:["\\hline","\\hdashline"],numArgs:0,allowedInText:!0,allowedInMath:!0,handler(e,t){throw new W(e.funcName+" valid only within array environment")}});var jy=z_;i1({type:"environment",names:["\\begin","\\end"],numArgs:1,argTypes:["text"],handler(e,t){var n=e.parser,a=e.funcName,i=t[0];if(i.type!=="ordgroup")throw new W("Invalid environment name",i);var r=xo(i,"Environment name should contain only text characters and spaces",!0);if(a==="\\begin"){if(!Object.prototype.hasOwnProperty.call(jy,r))throw new W("No such environment: "+r,i);var s=jy[r],c=n.parseArguments("\\begin{"+r+"}",s),o=c.args,l=c.optArgs,p={mode:n.mode,envName:r,parser:n},u=s.handler(p,o,l);n.expect("\\end",!1);var m=n.nextToken,d=Z1(n.parseFunction(),"environment");if(d.name!==r)throw new W("Mismatch: \\begin{"+r+"} matched by \\end{"+d.name+"}",m);return u}return{type:"environment",mode:n.mode,name:r,nameGroup:i}}});var NN=(e,t)=>{var n=e.font,a=t.withFont(n);return B1(e.body,a)},TN=(e,t)=>{var n=e.font,a=t.withFont(n);return X1(e.body,a)},Hy={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak"};i1({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],numArgs:1,allowedInArgument:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=c7(t[0]),r=a in Hy?Hy[a]:a;return{type:"font",mode:n.mode,font:r.slice(1),body:i}},htmlBuilder:NN,mathmlBuilder:TN});i1({type:"mclass",names:["\\boldsymbol","\\bm"],numArgs:1,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"mclass",mode:n.mode,mclass:Ha(a),body:[{type:"font",mode:n.mode,font:"boldsymbol",body:a}],isCharacterBox:b3(a)}}});i1({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],numArgs:0,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=e.breakOnTokenText,r=n.mode,s=n.parseExpression(!0,i);return{type:"font",mode:r,font:"math"+a.slice(1),body:{type:"ordgroup",mode:n.mode,body:s}}}});var VN=(e,t)=>{var n=t.style,a=n.fracNum(),i=n.fracDen(),r;r=t.havingStyle(a);var s=B1(e.numer,r,t);if(e.continued){var c=8.5/t.fontMetrics().ptPerEm,o=3.5/t.fontMetrics().ptPerEm;s.height=s.height0?f=3*m:f=7*m,w=t.fontMetrics().denom1):(u>0?(d=t.fontMetrics().num2,f=m):(d=t.fontMetrics().num3,f=3*m),w=t.fontMetrics().denom2);var k;if(p){var b=t.fontMetrics().axisHeight;d-s.depth-(b+.5*u){var n=new U("mfrac",[X1(e.numer,t),X1(e.denom,t)]);if(!e.hasBarLine)n.setAttribute("linethickness","0px");else if(e.barSize){var a=m0(e.barSize,t);n.setAttribute("linethickness",J(a))}if(e.leftDelim!=null||e.rightDelim!=null){var i=[];if(e.leftDelim!=null){var r=new U("mo",[new _0(e.leftDelim.replace("\\",""))]);r.setAttribute("fence","true"),i.push(r)}if(i.push(n),e.rightDelim!=null){var s=new U("mo",[new _0(e.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return _o(i)}return n},M_=(e,t)=>{if(!t)return e;var n={type:"styling",mode:e.mode,style:t,body:[e]};return n};i1({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],numArgs:2,allowedInArgument:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0],r=t[1],s,c=null,o=null;switch(a){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,c="(",o=")";break;case"\\\\bracefrac":s=!1,c="\\{",o="\\}";break;case"\\\\brackfrac":s=!1,c="[",o="]";break;default:throw new Error("Unrecognized genfrac command")}var l=a==="\\cfrac",p=null;return l||a.startsWith("\\d")?p="display":a.startsWith("\\t")&&(p="text"),M_({type:"genfrac",mode:n.mode,numer:i,denom:r,continued:l,hasBarLine:s,leftDelim:c,rightDelim:o,barSize:null},p)},htmlBuilder:VN,mathmlBuilder:qN});i1({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],numArgs:0,infix:!0,handler(e){var t=e.parser,n=e.funcName,a=e.token,i;switch(n){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:t.mode,replaceWith:i,token:a}}});var Ny=["display","text","script","scriptscript"],Ty=function(t){var n=null;return t.length>0&&(n=t,n=n==="."?null:n),n};i1({type:"genfrac",names:["\\genfrac"],numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"],handler(e,t){var n=e.parser,a=t[4],i=t[5],r=c7(t[0]),s=r.type==="atom"&&r.family==="open"?Ty(r.text):null,c=c7(t[1]),o=c.type==="atom"&&c.family==="close"?Ty(c.text):null,l=Z1(t[2],"size"),p,u=null;l.isBlank?p=!0:(u=l.value,p=u.number>0);var m=null,d=t[3];if(d.type==="ordgroup"){if(d.body.length>0){var f=Z1(d.body[0],"textord");m=Ny[Number(f.text)]}}else d=Z1(d,"textord"),m=Ny[Number(d.text)];return M_({type:"genfrac",mode:n.mode,numer:a,denom:i,continued:!1,hasBarLine:p,barSize:u,leftDelim:s,rightDelim:o},m)}});i1({type:"infix",names:["\\above"],numArgs:1,argTypes:["size"],infix:!0,handler(e,t){var n=e.parser;e.funcName;var a=e.token;return{type:"infix",mode:n.mode,replaceWith:"\\\\abovefrac",size:Z1(t[0],"size").value,token:a}}});i1({type:"genfrac",names:["\\\\abovefrac"],numArgs:3,argTypes:["math","size","math"],handler:(e,t)=>{var n=e.parser;e.funcName;var a=t[0],i=Z1(t[1],"infix").size;if(!i)throw new Error("\\\\abovefrac expected size, but got "+String(i));var r=t[2],s=i.number>0;return{type:"genfrac",mode:n.mode,numer:a,denom:r,continued:!1,hasBarLine:s,barSize:i,leftDelim:null,rightDelim:null}}});var $_=(e,t)=>{var n=t.style,a,i;e.type==="supsub"?(a=e.sup?B1(e.sup,t.havingStyle(n.sup()),t):B1(e.sub,t.havingStyle(n.sub()),t),i=Z1(e.base,"horizBrace")):i=Z1(e,"horizBrace");var r=B1(i.base,t.havingBaseStyle(_1.DISPLAY)),s=Ea(i,t),c;if(i.isOver?c=R1({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:.1},{type:"elem",elem:s,wrapperClasses:["svg-align"]}]}):c=R1({positionType:"bottom",positionData:r.depth+.1+s.height,children:[{type:"elem",elem:s,wrapperClasses:["svg-align"]},{type:"kern",size:.1},{type:"elem",elem:r}]}),a){var o=D(["minner",i.isOver?"mover":"munder"],[c],t);i.isOver?c=R1({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.2},{type:"elem",elem:a}]}):c=R1({positionType:"bottom",positionData:o.depth+.2+a.height+a.depth,children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:o}]})}return D(["minner",i.isOver?"mover":"munder"],[c],t)},IN=(e,t)=>{var n=Za(e.label);return new U(e.isOver?"mover":"munder",[X1(e.base,t),n])};i1({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],numArgs:1,handler(e,t){var n=e.parser,a=e.funcName;return{type:"horizBrace",mode:n.mode,label:a,isOver:a.includes("\\over"),base:t[0]}},htmlBuilder:$_,mathmlBuilder:IN});i1({type:"href",names:["\\href"],numArgs:2,argTypes:["url","original"],allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=t[1],i=Z1(t[0],"url").url;return n.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:n.mode,href:i,body:$0(a)}:n.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{var n=N0(e.body,t,!1);return PH(e.href,[],n,t)},mathmlBuilder:(e,t)=>{var n=l4(e.body,t);return n instanceof U||(n=new U("mrow",[n])),n.setAttribute("href",e.href),n}});i1({type:"href",names:["\\url"],numArgs:1,argTypes:["url"],allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=Z1(t[0],"url").url;if(!n.settings.isTrusted({command:"\\url",url:a}))return n.formatUnsupportedCmd("\\url");for(var i=[],r=0;r{var n=e.parser,a=e.funcName;e.token;var i=Z1(t[0],"raw").string,r=t[1];n.settings.strict&&n.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var s,c={};switch(a){case"\\htmlClass":c.class=i,s={command:"\\htmlClass",class:i};break;case"\\htmlId":c.id=i,s={command:"\\htmlId",id:i};break;case"\\htmlStyle":c.style=i,s={command:"\\htmlStyle",style:i};break;case"\\htmlData":{for(var o="{,}",l=[],p="",u=0;u{var n=N0(e.body,t,!1),a=["enclosing"];e.attributes.class&&a.push(...e.attributes.class.trim().split(/\s+/));var i=D(a,n,t);for(var r of Object.entries(e.attributes)){var s=r[0],c=r[1];s!=="class"&&i.setAttribute(s,c)}return i},mathmlBuilder:(e,t)=>l4(e.body,t)});i1({type:"htmlmathml",names:["\\html@mathml"],numArgs:2,allowedInArgument:!0,allowedInText:!0,handler:(e,t)=>{var n=e.parser;return{type:"htmlmathml",mode:n.mode,html:$0(t[0]),mathml:$0(t[1])}},htmlBuilder:(e,t)=>{var n=N0(e.html,t,!1);return v3(n)},mathmlBuilder:(e,t)=>l4(e.mathml,t)});var Gc=function(t){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(t))return{number:+t,unit:"bp"};var n=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t);if(!n)throw new W("Invalid size: '"+t+"' in \\includegraphics");var a={number:+(n[1]+n[2]),unit:n[3]};if(!Qy(a))throw new W("Invalid unit: '"+a.unit+"' in \\includegraphics.");return a};i1({type:"includegraphics",names:["\\includegraphics"],numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1,handler:(e,t,n)=>{var a=e.parser,i={number:0,unit:"em"},r={number:.9,unit:"em"},s={number:0,unit:"em"},c="";if(n[0])for(var o=Z1(n[0],"raw").string,l=o.split(","),p=0;p{var n=m0(e.height,t),a=0;e.totalheight.number>0&&(a=m0(e.totalheight,t)-n);var i=0;e.width.number>0&&(i=m0(e.width,t));var r={height:J(n+a)};i>0&&(r.width=J(i)),a>0&&(r.verticalAlign=J(-a));var s=new Kc(e.src,e.alt,r);return s.height=n,s.depth=a,s},mathmlBuilder:(e,t)=>{var n=new U("mglyph",[]);n.setAttribute("alt",e.alt);var a=m0(e.height,t),i=0;if(e.totalheight.number>0&&(i=m0(e.totalheight,t)-a,n.setAttribute("valign",J(-i))),n.setAttribute("height",J(a+i)),e.width.number>0){var r=m0(e.width,t);n.setAttribute("width",J(r))}return n.setAttribute("src",e.src),n}});i1({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0,handler(e,t){var n=e.parser,a=e.funcName,i=Z1(t[0],"size");if(n.settings.strict){var r=a[1]==="m",s=i.value.unit==="mu";r?(s||n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, "+("not "+i.value.unit+" units")),n.mode!=="math"&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):s&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:n.mode,dimension:i.value}},htmlBuilder(e,t){return i_(e.dimension,t)},mathmlBuilder(e,t){var n=m0(e.dimension,t);return new Ca(n)}});i1({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0];return{type:"lap",mode:n.mode,alignment:a.slice(5),body:i}},htmlBuilder:(e,t)=>{var n;e.alignment==="clap"?(n=D([],[B1(e.body,t)]),n=D(["katex-inner"],[n],t)):n=D(["katex-inner"],[B1(e.body,t)]);var a=D(["katex-fix"],[]),i=D([e.alignment],[n,a],t),r=D(["katex-strut"]);return r.style.height=J(i.height+i.depth),i.depth&&(r.style.verticalAlign=J(-i.depth)),i.children.unshift(r),i=D(["katex-thinbox"],[i],t),D(["mord","katex-vbox"],[i],t)},mathmlBuilder:(e,t)=>{var n=new U("mpadded",[X1(e.body,t)]);if(e.alignment!=="rlap"){var a=e.alignment==="llap"?"-1":"-0.5";n.setAttribute("lspace",a+"width")}return n.setAttribute("width","0px"),n}});i1({type:"styling",names:["\\(","$"],numArgs:0,allowedInText:!0,allowedInMath:!1,handler(e,t){var n=e.funcName,a=e.parser,i=a.mode;a.switchMode("math");var r=n==="\\("?"\\)":"$",s=a.parseExpression(!1,r);return a.expect(r),a.switchMode(i),{type:"styling",mode:a.mode,style:"text",resetFont:!0,body:s}}});i1({type:"text",names:["\\)","\\]"],numArgs:0,allowedInText:!0,allowedInMath:!1,handler(e,t){throw new W("Mismatched "+e.funcName)}});var Vy=(e,t)=>{switch(t.style.size){case _1.DISPLAY.size:return e.display;case _1.TEXT.size:return e.text;case _1.SCRIPT.size:return e.script;case _1.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};i1({type:"mathchoice",names:["\\mathchoice"],numArgs:4,primitive:!0,handler:(e,t)=>{var n=e.parser;return{type:"mathchoice",mode:n.mode,display:$0(t[0]),text:$0(t[1]),script:$0(t[2]),scriptscript:$0(t[3])}},htmlBuilder:(e,t)=>{var n=Vy(e,t),a=N0(n,t,!1);return v3(a)},mathmlBuilder:(e,t)=>{var n=Vy(e,t);return l4(n,t)}});var L_=(e,t,n,a,i,r,s)=>{e=D([],[e]);var c=n&&b3(n),o,l;if(t){var p=B1(t,a.havingStyle(i.sup()),a);l={elem:p,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-p.depth)}}if(n){var u=B1(n,a.havingStyle(i.sub()),a);o={elem:u,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-u.height)}}var m;if(l&&o){var d=a.fontMetrics().bigOpSpacing5+o.elem.height+o.elem.depth+o.kern+e.depth+s;m=R1({positionType:"bottom",positionData:d,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:J(-r)},{type:"kern",size:o.kern},{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:J(r)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else if(o){var f=e.height-s;m=R1({positionType:"top",positionData:f,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:J(-r)},{type:"kern",size:o.kern},{type:"elem",elem:e}]})}else if(l){var w=e.depth+s;m=R1({positionType:"bottom",positionData:w,children:[{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:J(r)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else return e;var k=[m];if(o&&r!==0&&!c){var v=D(["mspace"],[],a);v.style.marginRight=J(r),k.unshift(v)}return D(["mop","op-limits"],k,a)},S_=new Set(["\\smallint"]),Z_=(e,t)=>{var n,a,i=!1,r;e.type==="supsub"?(n=e.sup,a=e.sub,r=Z1(e.base,"op"),i=!0):r=Z1(e,"op");var s=t.style,c=!1;s.size===_1.DISPLAY.size&&r.symbol&&!S_.has(r.name)&&(c=!0);var o,l;if(r.symbol){var p=c?"Size2-Regular":"Size1-Regular",u="";if((r.name==="\\oiint"||r.name==="\\oiiint")&&(u=r.name.slice(1),r.name=u==="oiint"?"\\iint":"\\iiint"),o=p2(r.name,p,"math",t,["mop","op-symbol",c?"large-op":"small-op"]),l=o.italic,u.length>0){var m=s_(u+"Size"+(c?"2":"1"),t);o=R1({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:m,shift:c?.08:0}]}),r.name="\\"+u,o.classes.unshift("mop"),o.italic=l}}else if(r.body){var d=N0(r.body,t,!0);d.length===1&&d[0]instanceof m2?(o=d[0],o.classes[0]="mop"):o=D(["mop"],d,t)}else{for(var f=[],w=1;w{var n;if(e.symbol)n=new U("mo",[J2(e.name,e.mode)]),S_.has(e.name)&&n.setAttribute("largeop","false");else if(e.body)n=new U("mo",q2(e.body,t));else{n=new U("mi",[new _0(e.name.slice(1))]);var a=new U("mo",[J2("\u2061","text")]);e.parentIsSupSub?n=new U("mrow",[n,a]):n=l_([n,a])}return n},PN={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};i1({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],numArgs:0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=a;return i.length===1&&(i=PN[i]),{type:"op",mode:n.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Z_,mathmlBuilder:BN});i1({type:"op",names:["\\mathop"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"op",mode:n.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:$0(a)}}});var RN={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};i1({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],numArgs:0,handler(e){var t=e.parser,n=e.funcName;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:n}}});i1({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],numArgs:0,handler(e){var t=e.parser,n=e.funcName;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:n}}});i1({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],numArgs:0,allowedInArgument:!0,handler(e){var t=e.parser,n=e.funcName,a=n;return a.length===1&&(a=RN[a]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}}});var E_=(e,t)=>{var n,a,i=!1,r;e.type==="supsub"?(n=e.sup,a=e.sub,r=Z1(e.base,"operatorname"),i=!0):r=Z1(e,"operatorname");var s;if(r.body.length>0){for(var c=r.body.map(u=>{var m="text"in u?u.text:void 0;return typeof m=="string"?{type:"textord",mode:u.mode,text:m}:u}),o=N0(c,t.withFont("mathrm"),!0),l=0;l{for(var n=q2(e.body,t.withFont("mathrm")),a=!0,i=0;ip.toText()).join("");n=[new _0(c)]}var o=new U("mi",n);o.setAttribute("mathvariant","normal");var l=new U("mo",[J2("\u2061","text")]);return e.parentIsSupSub?new U("mrow",[o,l]):l_([o,l])};i1({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],numArgs:1,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0];return{type:"operatorname",mode:n.mode,body:$0(i),alwaysHandleSupSub:a==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:E_,mathmlBuilder:DN});x("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");W4({type:"ordgroup",htmlBuilder(e,t){return e.semisimple?v3(N0(e.body,t,!1)):D(["mord"],N0(e.body,t,!0),t)},mathmlBuilder(e,t){return l4(e.body,t,!0)}});i1({type:"overline",names:["\\overline"],numArgs:1,handler(e,t){var n=e.parser,a=t[0];return{type:"overline",mode:n.mode,body:a}},htmlBuilder(e,t){var n=B1(e.body,t.havingCrampedStyle()),a=tt("overline-line",t),i=t.fontMetrics().defaultRuleThickness,r=R1({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:a},{type:"kern",size:i}]});return D(["mord","katex-overline"],[r],t)},mathmlBuilder(e,t){var n=new U("mo",[new _0("\u203E")]);n.setAttribute("stretchy","true");var a=new U("mover",[X1(e.body,t),n]);return a.setAttribute("accent","true"),a}});i1({type:"phantom",names:["\\phantom"],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"phantom",mode:n.mode,body:$0(a)}},htmlBuilder:(e,t)=>{var n=N0(e.body,t.withPhantom(),!1);return v3(n)},mathmlBuilder:(e,t)=>{var n=q2(e.body,t);return new U("mphantom",n)}});x("\\hphantom","\\smash{\\phantom{#1}}");i1({type:"vphantom",names:["\\vphantom"],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"vphantom",mode:n.mode,body:a}},htmlBuilder:(e,t)=>{var n=D(["katex-inner"],[B1(e.body,t.withPhantom())]),a=D(["katex-fix"],[]);return D(["mord","rlap"],[n,a],t)},mathmlBuilder:(e,t)=>{var n=q2($0(e.body),t),a=new U("mphantom",n),i=new U("mpadded",[a]);return i.setAttribute("width","0px"),i}});i1({type:"raisebox",names:["\\raisebox"],numArgs:2,argTypes:["size","hbox"],allowedInText:!0,handler(e,t){var n=e.parser,a=Z1(t[0],"size").value,i=t[1];return{type:"raisebox",mode:n.mode,dy:a,body:i}},htmlBuilder(e,t){var n=B1(e.body,t),a=m0(e.dy,t);return R1({positionType:"shift",positionData:-a,children:[{type:"elem",elem:n}]})},mathmlBuilder(e,t){var n=new U("mpadded",[X1(e.body,t)]),a=e.dy.number+e.dy.unit;return n.setAttribute("voffset",a),n}});var F_=(e,t)=>{var n=e.parser;return{type:"reflectbox",mode:n.mode,body:t[0]}};i1({type:"reflectbox",names:["\\reflectbox"],numArgs:1,argTypes:["hbox"],allowedInText:!0,handler:F_,htmlBuilder(e,t){return D(["mord","reflectbox"],[B1(e.body,t)],t)},mathmlBuilder(e,t){return X1(e.body,t)}});i1({type:"reflectbox",names:["\\mathreflectbox"],numArgs:1,argTypes:["math"],handler:F_});i1({type:"internal",names:["\\relax"],numArgs:0,allowedInText:!0,allowedInArgument:!0,handler(e){var t=e.parser;return{type:"internal",mode:t.mode}}});i1({type:"rule",names:["\\rule"],numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"],handler(e,t,n){var a=e.parser,i=n[0],r=Z1(t[0],"size"),s=Z1(t[1],"size");return{type:"rule",mode:a.mode,shift:i&&Z1(i,"size").value,width:r.value,height:s.value}},htmlBuilder(e,t){var n=D(["mord","katex-rule"],[],t),a=m0(e.width,t),i=m0(e.height,t),r=e.shift?m0(e.shift,t):0;return n.style.borderRightWidth=J(a),n.style.borderTopWidth=J(i),n.style.bottom=J(r),n.width=a,n.height=i+r,n.depth=-r,n.maxFontSize=i*1.125*t.sizeMultiplier,n},mathmlBuilder(e,t){var n=m0(e.width,t),a=m0(e.height,t),i=e.shift?m0(e.shift,t):0,r=t.color&&t.getColor()||"black",s=new U("mspace");s.setAttribute("mathbackground",r),s.setAttribute("width",J(n)),s.setAttribute("height",J(a));var c=new U("mpadded",[s]);return i>=0?c.setAttribute("height",J(i)):(c.setAttribute("height",J(i)),c.setAttribute("depth",J(-i))),c.setAttribute("voffset",J(i)),c}});function j_(e,t,n){for(var a=N0(e,t,!1),i=t.sizeMultiplier/n.sizeMultiplier,r=0;r{var n=t.havingSize(e.size);return j_(e.body,n,t)};i1({type:"sizing",names:qy,numArgs:0,allowedInText:!0,handler:(e,t)=>{var n=e.breakOnTokenText,a=e.funcName,i=e.parser,r=i.parseExpression(!1,n);return{type:"sizing",mode:i.mode,size:qy.indexOf(a)+1,body:r}},htmlBuilder:GN,mathmlBuilder:(e,t)=>{var n=t.havingSize(e.size),a=q2(e.body,n),i=new U("mstyle",a);return i.setAttribute("mathsize",J(n.sizeMultiplier)),i}});i1({type:"smash",names:["\\smash"],numArgs:1,numOptionalArgs:1,allowedInText:!0,handler:(e,t,n)=>{var a=e.parser,i=!1,r=!1,s=n[0]&&Z1(n[0],"ordgroup");if(s)for(var c,o=0;o{var n=D([],[B1(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return n;if(e.smashHeight&&(n.height=0),e.smashDepth&&(n.depth=0),e.smashHeight&&e.smashDepth)return D(["mord","katex-smash"],[n],t);if(n.children)for(var a=0;a{var n=new U("mpadded",[X1(e.body,t)]);return e.smashHeight&&n.setAttribute("height","0px"),e.smashDepth&&n.setAttribute("depth","0px"),n}});i1({type:"sqrt",names:["\\sqrt"],numArgs:1,numOptionalArgs:1,handler(e,t,n){var a=e.parser,i=n[0],r=t[0];return{type:"sqrt",mode:a.mode,body:r,index:i}},htmlBuilder(e,t){var n=B1(e.body,t.havingCrampedStyle());n.height===0&&(n.height=t.fontMetrics().xHeight),n=nt(n,t);var a=t.fontMetrics(),i=a.defaultRuleThickness,r=i;t.style.id<_1.TEXT.id&&(r=t.fontMetrics().xHeight);var s=i+r/4,c=n.height+n.depth+s+i,o=AN(c,t),l=o.span,p=o.ruleWidth,u=o.advanceWidth,m=l.height-p;m>n.height+n.depth+s&&(s=(s+m-n.height-n.depth)/2);var d=l.height-n.height-s-p;n.style.paddingLeft=J(u);var f=R1({positionType:"firstBaseline",children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:-(n.height+d)},{type:"elem",elem:l},{type:"kern",size:p}]});if(e.index){var w=t.havingStyle(_1.SCRIPTSCRIPT),k=B1(e.index,w,t),v=.6*(f.height-f.depth),b=R1({positionType:"shift",positionData:-v,children:[{type:"elem",elem:k}]}),_=D(["katex-root"],[b]);return D(["mord","sqrt"],[_,f],t)}else return D(["mord","sqrt"],[f],t)},mathmlBuilder(e,t){var n=e.body,a=e.index;return a?new U("mroot",[X1(n,t),X1(a,t)]):new U("msqrt",[X1(n,t)])}});var po={display:_1.DISPLAY,text:_1.TEXT,script:_1.SCRIPT,scriptscript:_1.SCRIPTSCRIPT};function ON(e){return e in po}i1({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],numArgs:0,allowedInText:!0,primitive:!0,handler(e,t){var n=e.breakOnTokenText,a=e.funcName,i=e.parser,r=i.parseExpression(!0,n),s=a.slice(1,a.length-5);if(!ON(s))throw new Error("Unknown style: "+s);return{type:"styling",mode:i.mode,style:s,body:r}},htmlBuilder(e,t){var n=po[e.style],a=t.havingStyle(n);return e.resetFont&&(a=a.withFont("")),j_(e.body,a,t)},mathmlBuilder(e,t){var n=po[e.style],a=t.havingStyle(n);e.resetFont&&(a=a.withFont(""));var i=q2(e.body,a),r=new U("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},c=s[e.style];return r.setAttribute("scriptlevel",c[0]),r.setAttribute("displaystyle",c[1]),r}});var WN=function(t,n){var a=t.base;if(a)if(a.type==="op"){var i=a.limits&&(n.style.size===_1.DISPLAY.size||a.alwaysHandleSupSub);return i?Z_:null}else if(a.type==="operatorname"){var r=a.alwaysHandleSupSub&&(n.style.size===_1.DISPLAY.size||a.limits);return r?E_:null}else{if(a.type==="accent")return b3(a.base)?d_:null;if(a.type==="horizBrace"){var s=!t.sub;return s===a.isOver?$_:null}else return null}else return null};W4({type:"supsub",htmlBuilder(e,t){var n=WN(e,t);if(n)return n(e,t);var a=e.base,i=e.sup,r=e.sub,s=B1(a,t),c,o,l=t.fontMetrics(),p=0,u=0,m=a&&b3(a);if(i){var d=t.havingStyle(t.style.sup());c=B1(i,d,t),m||(p=s.height-d.fontMetrics().supDrop*d.sizeMultiplier/t.sizeMultiplier)}if(r){var f=t.havingStyle(t.style.sub());o=B1(r,f,t),m||(u=s.depth+f.fontMetrics().subDrop*f.sizeMultiplier/t.sizeMultiplier)}var w;t.style===_1.DISPLAY?w=l.sup1:t.style.cramped?w=l.sup3:w=l.sup2;var k=t.sizeMultiplier,v=J(.5/l.ptPerEm/k),b=null;if(o){var _=e.base&&e.base.type==="op"&&e.base.name&&(e.base.name==="\\oiint"||e.base.name==="\\oiiint");if(s instanceof m2||_){var z;b=J(-((z=s.italic)!=null?z:0))}}var L;if(c&&o){p=Math.max(p,w,c.depth+.25*l.xHeight),u=Math.max(u,l.sub2);var C=l.defaultRuleThickness,j=4*C;if(p-c.depth-(o.height-u)0&&(p+=N,u-=N)}var H=[{type:"elem",elem:o,shift:u,marginRight:v,marginLeft:b},{type:"elem",elem:c,shift:-p,marginRight:v}];L=R1({positionType:"individualShift",children:H})}else if(o){u=Math.max(u,l.sub1,o.height-.8*l.xHeight);var S=[{type:"elem",elem:o,marginLeft:b,marginRight:v}];L=R1({positionType:"shift",positionData:u,children:S})}else if(c)p=Math.max(p,w,c.depth+.25*l.xHeight),L=R1({positionType:"shift",positionData:-p,children:[{type:"elem",elem:c,marginRight:v}]});else throw new Error("supsub must have either sup or sub.");var R=ro(s,"right")||"mord";return D([R],[s,D(["msupsub"],[L])],t)},mathmlBuilder(e,t){var n=!1,a,i;e.base&&e.base.type==="horizBrace"&&(i=!!e.sup,i===e.base.isOver&&(n=!0,a=e.base.isOver)),e.base&&(e.base.type==="op"||e.base.type==="operatorname")&&(e.base.parentIsSupSub=!0);var r=[X1(e.base,t)];e.sub&&r.push(X1(e.sub,t)),e.sup&&r.push(X1(e.sup,t));var s;if(n)s=a?"mover":"munder";else if(e.sub)if(e.sup){var l=e.base;l&&l.type==="op"&&l.limits&&t.style===_1.DISPLAY||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(t.style===_1.DISPLAY||l.limits)?s="munderover":s="msubsup"}else{var o=e.base;o&&o.type==="op"&&o.limits&&(t.style===_1.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||t.style===_1.DISPLAY)?s="munder":s="msub"}else{var c=e.base;c&&c.type==="op"&&c.limits&&(t.style===_1.DISPLAY||c.alwaysHandleSupSub)||c&&c.type==="operatorname"&&c.alwaysHandleSupSub&&(c.limits||t.style===_1.DISPLAY)?s="mover":s="msup"}return new U(s,r)}});W4({type:"atom",htmlBuilder(e,t){return vo(e.text,e.mode,t,["m"+e.family])},mathmlBuilder(e,t){var n=new U("mo",[J2(e.text,e.mode)]);if(e.family==="bin"){var a=wo(e,t);a==="bold-italic"&&n.setAttribute("mathvariant",a)}else e.family==="punct"?n.setAttribute("separator","true"):(e.family==="open"||e.family==="close")&&n.setAttribute("stretchy","false");return n}});var H_={mi:"italic",mn:"normal",mtext:"normal"};W4({type:"mathord",htmlBuilder(e,t){return Sa(e,t)},mathmlBuilder(e,t){var n=new U("mi",[J2(e.text,e.mode,t)]),a=wo(e,t)||"italic";return a!==H_[n.type]&&n.setAttribute("mathvariant",a),n}});W4({type:"textord",htmlBuilder(e,t){return Sa(e,t)},mathmlBuilder(e,t){var n=J2(e.text,e.mode,t),a=wo(e,t)||"normal",i;return e.mode==="text"?i=new U("mtext",[n]):/[0-9]/.test(e.text)?i=new U("mn",[n]):e.text==="\\prime"?i=new U("mo",[n]):i=new U("mi",[n]),a!==H_[i.type]&&i.setAttribute("mathvariant",a),i}});var Iy=new Map([["\\nobreak","nobreak"],["\\allowbreak","allowbreak"]]),By=new Map([[" ",{}],["\\ ",{}],["~",{className:"nobreak"}],["\\space",{}],["\\nobreakspace",{className:"nobreak"}]]);W4({type:"spacing",htmlBuilder(e,t){var n=By.get(e.text),a=Iy.get(e.text);if(n){var i=n.className||"";if(e.mode==="text"){var r=Sa(e,t);return r.classes.push(i),r}else return D(["mspace",i],[vo(e.text,e.mode,t)],t)}else{if(a)return D(["mspace",a],[],t);throw new W('Unknown type of space "'+e.text+'"')}},mathmlBuilder(e,t){var n;if(By.has(e.text))n=new U("mtext",[new _0("\xA0")]);else{if(Iy.has(e.text))return new U("mspace");throw new W('Unknown type of space "'+e.text+'"')}return n}});var Py=()=>{var e=new U("mtd",[]);return e.setAttribute("width","50%"),e};W4({type:"tag",mathmlBuilder(e,t){var n=new U("mtable",[new U("mtr",[Py(),new U("mtd",[l4(e.body,t)]),Py(),new U("mtd",[l4(e.tag,t)])])]);return n.setAttribute("width","100%"),n}});var Ry={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Dy={"\\textbf":"textbf","\\textmd":"textmd"},UN={"\\textit":"textit","\\textup":"textup"},Gy=(e,t)=>{var n=e.font;if(n){if(Ry[n])return t.withTextFontFamily(Ry[n]);if(Dy[n])return t.withTextFontWeight(Dy[n]);if(n==="\\emph")return t.fontShape==="textit"?t.withTextFontShape("textup"):t.withTextFontShape("textit")}else return t;return t.withTextFontShape(UN[n])};i1({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0,handler(e,t){var n=e.parser,a=e.funcName,i=t[0];return{type:"text",mode:n.mode,body:$0(i),font:a}},htmlBuilder(e,t){var n=Gy(e,t),a=N0(e.body,n,!0);return D(["mord","text"],a,n)},mathmlBuilder(e,t){var n=Gy(e,t);return l4(e.body,n)}});i1({type:"underline",names:["\\underline"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser;return{type:"underline",mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=B1(e.body,t),a=tt("underline-line",t),i=t.fontMetrics().defaultRuleThickness,r=R1({positionType:"top",positionData:n.height,children:[{type:"kern",size:i},{type:"elem",elem:a},{type:"kern",size:3*i},{type:"elem",elem:n}]});return D(["mord","katex-underline"],[r],t)},mathmlBuilder(e,t){var n=new U("mo",[new _0("\u203E")]);n.setAttribute("stretchy","true");var a=new U("munder",[X1(e.body,t),n]);return a.setAttribute("accentunder","true"),a}});i1({type:"vcenter",names:["\\vcenter"],numArgs:1,argTypes:["original"],allowedInText:!1,handler(e,t){var n=e.parser;return{type:"vcenter",mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=B1(e.body,t),a=t.fontMetrics().axisHeight,i=.5*(n.height-a-(n.depth+a));return R1({positionType:"shift",positionData:i,children:[{type:"elem",elem:n}]})},mathmlBuilder(e,t){var n=new U("mpadded",[X1(e.body,t)],["vcenter"]);return new U("mrow",[n])}});i1({type:"verb",names:["\\verb"],numArgs:0,allowedInText:!0,handler(e,t,n){throw new W("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){for(var n=Oy(e),a=[],i=t.havingStyle(t.style.text()),r=0;re.body.replace(/ /g,e.star?"\u2423":"\xA0"),i4=c_,N_="[ \r\n ]",XN="\\\\[a-zA-Z@]+",KN="\\\\[^\uD800-\uDFFF]",YN="("+XN+")"+N_+"*",QN="\\\\(\n|[ \r ]+\n?)[ \r ]*",uo="[\u0300-\u036F]",JN=new RegExp(uo+"+$"),eT="("+N_+"+)|"+(QN+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(uo+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(uo+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+YN)+("|"+KN+")"),Ma=class{constructor(t,n){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=t,this.settings=n,this.tokenRegex=new RegExp(eT,"g"),this.catcodes={"%":14,"~":13}}setCatcode(t,n){this.catcodes[t]=n}lex(){var t=this.input,n=this.tokenRegex.lastIndex;if(n===t.length)return new T2("EOF",new C2(this,n,n));var a=this.tokenRegex.exec(t);if(a===null||a.index!==n)throw new W("Unexpected character: '"+t[n]+"'",new T2(t[n],new C2(this,n,n+1)));var i=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[i]===14){var r=t.indexOf("\n",this.tokenRegex.lastIndex);return r===-1?(this.tokenRegex.lastIndex=t.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=r+1,this.lex()}return new T2(i,new C2(this,n,this.tokenRegex.lastIndex))}},mo=class{constructor(t,n){t===void 0&&(t={}),n===void 0&&(n={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=n,this.builtins=t,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new W("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var t=this.undefStack.pop();for(var n of Object.keys(t))t[n]===void 0?delete this.current[n]:this.current[n]=t[n]}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(t){return Object.prototype.hasOwnProperty.call(this.current,t)||Object.prototype.hasOwnProperty.call(this.builtins,t)}get(t){return Object.prototype.hasOwnProperty.call(this.current,t)?this.current[t]:Object.prototype.hasOwnProperty.call(this.builtins,t)?this.builtins[t]:void 0}set(t,n,a){if(a===void 0&&(a=!1),a){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][t]=n)}else{var r=this.undefStack[this.undefStack.length-1];r&&!Object.prototype.hasOwnProperty.call(r,t)&&(r[t]=Object.prototype.hasOwnProperty.call(this.current,t)?this.current[t]:void 0)}n==null?delete this.current[t]:this.current[t]=n}},tT=C_;x("\\noexpand",function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}});x("\\expandafter",function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}});x("\\@firstoftwo",function(e){var t=e.consumeArgs(2);return{tokens:t[0],numArgs:0}});x("\\@secondoftwo",function(e){var t=e.consumeArgs(2);return{tokens:t[1],numArgs:0}});x("\\@ifnextchar",function(e){var t=e.consumeArgs(3);e.consumeSpaces();var n=e.future();return t[0].length===1&&t[0][0].text===n.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}});x("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");x("\\TextOrMath",function(e){var t=e.consumeArgs(2);return e.mode==="text"?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var Wy={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};x("\\char",function(e){var t=e.popToken(),n,a=0;if(t.text==="'")n=8,t=e.popToken();else if(t.text==='"')n=16,t=e.popToken();else if(t.text==="`")if(t=e.popToken(),t.text[0]==="\\")a=t.text.charCodeAt(1);else{if(t.text==="EOF")throw new W("\\char` missing argument");a=t.text.charCodeAt(0)}else n=10;if(n){if(a=Wy[t.text],a==null||a>=n)throw new W("Invalid base-"+n+" digit "+t.text);for(var i;(i=Wy[e.future().text])!=null&&i{var i=e.consumeArg().tokens;if(i.length!==1)throw new W("\\newcommand's first argument must be a macro name");var r=i[0].text,s=e.isDefined(r);if(s&&!t)throw new W("\\newcommand{"+r+"} attempting to redefine "+(r+"; use \\renewcommand"));if(!s&&!n)throw new W("\\renewcommand{"+r+"} when command "+r+" does not yet exist; use \\newcommand");var c=0;if(i=e.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var o="",l=e.expandNextToken();l.text!=="]"&&l.text!=="EOF";)o+=l.text,l=e.expandNextToken();if(!o.match(/^\s*[0-9]+\s*$/))throw new W("Invalid number of arguments: "+o);c=parseInt(o),i=e.consumeArg().tokens}return s&&a||e.macros.set(r,{tokens:i,numArgs:c}),""};x("\\newcommand",e=>Ao(e,!1,!0,!1));x("\\renewcommand",e=>Ao(e,!0,!1,!1));x("\\providecommand",e=>Ao(e,!0,!0,!0));x("\\message",e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(n=>n.text).join("")),""});x("\\errmessage",e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(n=>n.text).join("")),""});x("\\show",e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),i4[n],i0.math[n],i0.text[n]),""});x("\\bgroup","{");x("\\egroup","}");x("~","\\nobreakspace");x("\\lq","`");x("\\rq","'");x("\\aa","\\r a");x("\\AA","\\r A");x("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");x("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");x("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");x("\u212C","\\mathscr{B}");x("\u2130","\\mathscr{E}");x("\u2131","\\mathscr{F}");x("\u210B","\\mathscr{H}");x("\u2110","\\mathscr{I}");x("\u2112","\\mathscr{L}");x("\u2133","\\mathscr{M}");x("\u211B","\\mathscr{R}");x("\u212D","\\mathfrak{C}");x("\u210C","\\mathfrak{H}");x("\u2128","\\mathfrak{Z}");x("\\Bbbk","\\Bbb{k}");x("\\llap","\\mathllap{\\textrm{#1}}");x("\\rlap","\\mathrlap{\\textrm{#1}}");x("\\clap","\\mathclap{\\textrm{#1}}");x("\\mathstrut","\\vphantom{(}");x("\\underbar","\\underline{\\text{#1}}");x("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');x("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");x("\\ne","\\neq");x("\u2260","\\neq");x("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");x("\u2209","\\notin");x("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");x("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");x("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");x("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");x("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");x("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");x("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");x("\u27C2","\\perp");x("\u203C","\\mathclose{!\\mkern-0.8mu!}");x("\u220C","\\notni");x("\u231C","\\ulcorner");x("\u231D","\\urcorner");x("\u231E","\\llcorner");x("\u231F","\\lrcorner");x("\xA9","\\copyright");x("\xAE","\\textregistered");x("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');x("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');x("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');x("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');x("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");x("\u22EE","\\vdots");x("\\varGamma","\\mathit{\\Gamma}");x("\\varDelta","\\mathit{\\Delta}");x("\\varTheta","\\mathit{\\Theta}");x("\\varLambda","\\mathit{\\Lambda}");x("\\varXi","\\mathit{\\Xi}");x("\\varPi","\\mathit{\\Pi}");x("\\varSigma","\\mathit{\\Sigma}");x("\\varUpsilon","\\mathit{\\Upsilon}");x("\\varPhi","\\mathit{\\Phi}");x("\\varPsi","\\mathit{\\Psi}");x("\\varOmega","\\mathit{\\Omega}");x("\\substack","\\begin{subarray}{c}#1\\end{subarray}");x("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");x("\\boxed","\\fbox{$\\displaystyle{#1}$}");x("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");x("\\implies","\\DOTSB\\;\\Longrightarrow\\;");x("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");x("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");x("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var Uy={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},nT=new Set(["bin","rel"]);x("\\dots",function(e){var t="\\dotso",n=e.expandAfterFuture().text;return n in Uy?t=Uy[n]:(n.slice(0,4)==="\\not"||n in i0.math&&nT.has(i0.math[n].group))&&(t="\\dotsb"),t});var Mo={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};x("\\dotso",function(e){var t=e.future().text;return t in Mo?"\\ldots\\,":"\\ldots"});x("\\dotsc",function(e){var t=e.future().text;return t in Mo&&t!==","?"\\ldots\\,":"\\ldots"});x("\\cdots",function(e){var t=e.future().text;return t in Mo?"\\@cdots\\,":"\\@cdots"});x("\\dotsb","\\cdots");x("\\dotsm","\\cdots");x("\\dotsi","\\!\\cdots");x("\\dotsx","\\ldots\\,");x("\\DOTSI","\\relax");x("\\DOTSB","\\relax");x("\\DOTSX","\\relax");x("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");x("\\,","\\tmspace+{3mu}{.1667em}");x("\\thinspace","\\,");x("\\>","\\mskip{4mu}");x("\\:","\\tmspace+{4mu}{.2222em}");x("\\medspace","\\:");x("\\;","\\tmspace+{5mu}{.2777em}");x("\\thickspace","\\;");x("\\!","\\tmspace-{3mu}{.1667em}");x("\\negthinspace","\\!");x("\\negmedspace","\\tmspace-{4mu}{.2222em}");x("\\negthickspace","\\tmspace-{5mu}{.277em}");x("\\enspace","\\kern.5em ");x("\\enskip","\\hskip.5em\\relax");x("\\quad","\\hskip1em\\relax");x("\\qquad","\\hskip2em\\relax");x("\\tag","\\@ifstar\\tag@literal\\tag@paren");x("\\tag@paren","\\tag@literal{({#1})}");x("\\tag@literal",e=>{if(e.macros.get("\\df@tag"))throw new W("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});x("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");x("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");x("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");x("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");x("\\newline","\\\\\\relax");x("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var T_=J(Fe["Main-Regular"][84][1]-.7*Fe["Main-Regular"][65][1]);x("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+T_+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");x("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+T_+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");x("\\hspace","\\@ifstar\\@hspacer\\@hspace");x("\\@hspace","\\hskip #1\\relax");x("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");x("\\ordinarycolon",":");x("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");x("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');x("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');x("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');x("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');x("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');x("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');x("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');x("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');x("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');x("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');x("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');x("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');x("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');x("\u2237","\\dblcolon");x("\u2239","\\eqcolon");x("\u2254","\\coloneqq");x("\u2255","\\eqqcolon");x("\u2A74","\\Coloneqq");x("\\ratio","\\vcentcolon");x("\\coloncolon","\\dblcolon");x("\\colonequals","\\coloneqq");x("\\coloncolonequals","\\Coloneqq");x("\\equalscolon","\\eqqcolon");x("\\equalscoloncolon","\\Eqqcolon");x("\\colonminus","\\coloneq");x("\\coloncolonminus","\\Coloneq");x("\\minuscolon","\\eqcolon");x("\\minuscoloncolon","\\Eqcolon");x("\\coloncolonapprox","\\Colonapprox");x("\\coloncolonsim","\\Colonsim");x("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");x("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");x("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");x("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");x("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");x("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");x("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");x("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");x("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");x("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");x("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");x("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");x("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");x("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");x("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");x("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");x("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");x("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");x("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");x("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");x("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");x("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");x("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");x("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");x("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");x("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");x("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");x("\\imath","\\html@mathml{\\@imath}{\u0131}");x("\\jmath","\\html@mathml{\\@jmath}{\u0237}");x("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");x("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");x("\u27E6","\\llbracket");x("\u27E7","\\rrbracket");x("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");x("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");x("\u21A4","\\mapsfrom");x("\\mapsfrom","\\html@mathml{\\mathrel{\\mathreflectbox{\\mapsto}}}{\\mathrel{\\char`\u21A4}}");x("\u2983","\\lBrace");x("\u2984","\\rBrace");x("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");x("\u29B5","\\minuso");x("\\darr","\\downarrow");x("\\dArr","\\Downarrow");x("\\Darr","\\Downarrow");x("\\lang","\\langle");x("\\rang","\\rangle");x("\\uarr","\\uparrow");x("\\uArr","\\Uparrow");x("\\Uarr","\\Uparrow");x("\\N","\\mathbb{N}");x("\\R","\\mathbb{R}");x("\\Z","\\mathbb{Z}");x("\\alef","\\aleph");x("\\alefsym","\\aleph");x("\\Alpha","\\mathrm{A}");x("\\Beta","\\mathrm{B}");x("\\bull","\\bullet");x("\\Chi","\\mathrm{X}");x("\\clubs","\\clubsuit");x("\\cnums","\\mathbb{C}");x("\\Complex","\\mathbb{C}");x("\\Dagger","\\ddagger");x("\\diamonds","\\diamondsuit");x("\\empty","\\emptyset");x("\\Epsilon","\\mathrm{E}");x("\\Eta","\\mathrm{H}");x("\\exist","\\exists");x("\\harr","\\leftrightarrow");x("\\hArr","\\Leftrightarrow");x("\\Harr","\\Leftrightarrow");x("\\hearts","\\heartsuit");x("\\image","\\Im");x("\\infin","\\infty");x("\\Iota","\\mathrm{I}");x("\\isin","\\in");x("\\Kappa","\\mathrm{K}");x("\\larr","\\leftarrow");x("\\lArr","\\Leftarrow");x("\\Larr","\\Leftarrow");x("\\lrarr","\\leftrightarrow");x("\\lrArr","\\Leftrightarrow");x("\\Lrarr","\\Leftrightarrow");x("\\Mu","\\mathrm{M}");x("\\natnums","\\mathbb{N}");x("\\Nu","\\mathrm{N}");x("\\Omicron","\\mathrm{O}");x("\\plusmn","\\pm");x("\\rarr","\\rightarrow");x("\\rArr","\\Rightarrow");x("\\Rarr","\\Rightarrow");x("\\real","\\Re");x("\\reals","\\mathbb{R}");x("\\Reals","\\mathbb{R}");x("\\Rho","\\mathrm{P}");x("\\sdot","\\cdot");x("\\sect","\\S");x("\\spades","\\spadesuit");x("\\sub","\\subset");x("\\sube","\\subseteq");x("\\supe","\\supseteq");x("\\Tau","\\mathrm{T}");x("\\thetasym","\\vartheta");x("\\weierp","\\wp");x("\\Zeta","\\mathrm{Z}");x("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");x("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");x("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");x("\\bra","\\mathinner{\\langle{#1}|}");x("\\ket","\\mathinner{|{#1}\\rangle}");x("\\braket","\\mathinner{\\langle{#1}\\rangle}");x("\\Bra","\\left\\langle#1\\right|");x("\\Ket","\\left|#1\\right\\rangle");var V_=e=>t=>{var n=t.consumeArg().tokens,a=t.consumeArg().tokens,i=t.consumeArg().tokens,r=t.consumeArg().tokens,s=t.macros.get("|"),c=t.macros.get("\\|");t.macros.beginGroup();var o=u=>m=>{e&&(m.macros.set("|",s),i.length&&m.macros.set("\\|",c));var d=u;if(!u&&i.length){var f=m.future();f.text==="|"&&(m.popToken(),d=!0)}return{tokens:d?i:a,numArgs:0}};t.macros.set("|",o(!1)),i.length&&t.macros.set("\\|",o(!0));var l=t.consumeArg().tokens,p=t.expandTokens([...r,...l,...n]);return t.macros.endGroup(),{tokens:p.reverse(),numArgs:0}};x("\\bra@ket",V_(!1));x("\\bra@set",V_(!0));x("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");x("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");x("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");x("\\angln","{\\angl n}");x("\\blue","\\textcolor{##6495ed}{#1}");x("\\orange","\\textcolor{##ffa500}{#1}");x("\\pink","\\textcolor{##ff00af}{#1}");x("\\red","\\textcolor{##df0030}{#1}");x("\\green","\\textcolor{##28ae7b}{#1}");x("\\gray","\\textcolor{gray}{#1}");x("\\purple","\\textcolor{##9d38bd}{#1}");x("\\blueA","\\textcolor{##ccfaff}{#1}");x("\\blueB","\\textcolor{##80f6ff}{#1}");x("\\blueC","\\textcolor{##63d9ea}{#1}");x("\\blueD","\\textcolor{##11accd}{#1}");x("\\blueE","\\textcolor{##0c7f99}{#1}");x("\\tealA","\\textcolor{##94fff5}{#1}");x("\\tealB","\\textcolor{##26edd5}{#1}");x("\\tealC","\\textcolor{##01d1c1}{#1}");x("\\tealD","\\textcolor{##01a995}{#1}");x("\\tealE","\\textcolor{##208170}{#1}");x("\\greenA","\\textcolor{##b6ffb0}{#1}");x("\\greenB","\\textcolor{##8af281}{#1}");x("\\greenC","\\textcolor{##74cf70}{#1}");x("\\greenD","\\textcolor{##1fab54}{#1}");x("\\greenE","\\textcolor{##0d923f}{#1}");x("\\goldA","\\textcolor{##ffd0a9}{#1}");x("\\goldB","\\textcolor{##ffbb71}{#1}");x("\\goldC","\\textcolor{##ff9c39}{#1}");x("\\goldD","\\textcolor{##e07d10}{#1}");x("\\goldE","\\textcolor{##a75a05}{#1}");x("\\redA","\\textcolor{##fca9a9}{#1}");x("\\redB","\\textcolor{##ff8482}{#1}");x("\\redC","\\textcolor{##f9685d}{#1}");x("\\redD","\\textcolor{##e84d39}{#1}");x("\\redE","\\textcolor{##bc2612}{#1}");x("\\maroonA","\\textcolor{##ffbde0}{#1}");x("\\maroonB","\\textcolor{##ff92c6}{#1}");x("\\maroonC","\\textcolor{##ed5fa6}{#1}");x("\\maroonD","\\textcolor{##ca337c}{#1}");x("\\maroonE","\\textcolor{##9e034e}{#1}");x("\\purpleA","\\textcolor{##ddd7ff}{#1}");x("\\purpleB","\\textcolor{##c6b9fc}{#1}");x("\\purpleC","\\textcolor{##aa87ff}{#1}");x("\\purpleD","\\textcolor{##7854ab}{#1}");x("\\purpleE","\\textcolor{##543b78}{#1}");x("\\mintA","\\textcolor{##f5f9e8}{#1}");x("\\mintB","\\textcolor{##edf2df}{#1}");x("\\mintC","\\textcolor{##e0e5cc}{#1}");x("\\grayA","\\textcolor{##f6f7f7}{#1}");x("\\grayB","\\textcolor{##f0f1f2}{#1}");x("\\grayC","\\textcolor{##e3e5e6}{#1}");x("\\grayD","\\textcolor{##d6d8da}{#1}");x("\\grayE","\\textcolor{##babec2}{#1}");x("\\grayF","\\textcolor{##888d93}{#1}");x("\\grayG","\\textcolor{##626569}{#1}");x("\\grayH","\\textcolor{##3b3e40}{#1}");x("\\grayI","\\textcolor{##21242c}{#1}");x("\\kaBlue","\\textcolor{##314453}{#1}");x("\\kaGreen","\\textcolor{##71B307}{#1}");var q_={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},ho=class{constructor(t,n,a){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=n,this.expansionCount=0,this.feed(t),this.macros=new mo(tT,n.macros),this.mode=a,this.stack=[]}feed(t){this.lexer=new Ma(t,this.settings)}switchMode(t){this.mode=t}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(t){this.stack.push(t)}pushTokens(t){this.stack.push(...t)}scanArgument(t){var n,a,i;if(t){if(this.consumeSpaces(),this.future().text!=="[")return null;n=this.popToken();var r=this.consumeArg(["]"]);i=r.tokens,a=r.end}else{var s=this.consumeArg();i=s.tokens,n=s.start,a=s.end}return this.pushToken(new T2("EOF",a.loc)),this.pushTokens(i),new T2("",C2.range(n,a))}consumeSpaces(){for(;;){var t=this.future();if(t.text===" ")this.stack.pop();else break}}consumeArg(t){var n=[],a=t&&t.length>0;a||this.consumeSpaces();var i=this.future(),r,s=0,c=0;do{if(r=this.popToken(),n.push(r),r.text==="{")++s;else if(r.text==="}"){if(--s,s===-1)throw new W("Extra }",r)}else if(r.text==="EOF")throw new W("Unexpected end of input in a macro argument, expected '"+(t&&a?t[c]:"}")+"'",r);if(t&&a)if((s===0||s===1&&t[c]==="{")&&r.text===t[c]){if(++c,c===t.length){n.splice(-c,c);break}}else c=0}while(s!==0||a);return i.text==="{"&&n[n.length-1].text==="}"&&(n.pop(),n.shift()),n.reverse(),{tokens:n,start:i,end:r}}consumeArgs(t,n){if(n){if(n.length!==t+1)throw new W("The length of delimiters doesn't match the number of args!");for(var a=n[0],i=0;ithis.settings.maxExpand)throw new W("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(t){var n=this.popToken(),a=n.text,i=n.noexpand?null:this._getExpansion(a);if(i==null||t&&i.unexpandable){if(t&&i==null&&a[0]==="\\"&&!this.isDefined(a))throw new W("Undefined control sequence: "+a);return this.pushToken(n),!1}this.countExpansion(1);var r=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){r=r.slice();for(var c=r.length-1;c>=0;--c){var o=r[c];if(o.text==="#"){if(c===0)throw new W("Incomplete placeholder at end of macro body",o);if(o=r[--c],o.text==="#")r.splice(c+1,1);else if(/^[1-9]$/.test(o.text))r.splice(c,2,...s[+o.text-1]);else throw new W("Not a valid argument number",o)}}}return this.pushTokens(r),r.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var t=this.stack.pop();return t.treatAsRelax&&(t.text="\\relax"),t}}expandMacro(t){return this.macros.has(t)?this.expandTokens([new T2(t)]):void 0}expandTokens(t){var n=[],a=this.stack.length;for(this.pushTokens(t);this.stack.length>a;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),n.push(i)}return this.countExpansion(n.length),n}expandMacroAsText(t){var n=this.expandMacro(t);return n&&n.map(a=>a.text).join("")}_getExpansion(t){var n=this.macros.get(t);if(n==null)return n;if(t.length===1){var a=this.lexer.catcodes[t];if(a!=null&&a!==13)return}var i=typeof n=="function"?n(this):n;if(typeof i=="string"){var r=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(r+1));)++r;for(var c=new Ma(i,this.settings),o=[],l=c.lex();l.text!=="EOF";)o.push(l),l=c.lex();o.reverse();var p={tokens:o,numArgs:r};return p}return i}isDefined(t){return this.macros.has(t)||Object.prototype.hasOwnProperty.call(i4,t)||Object.prototype.hasOwnProperty.call(i0.math,t)||Object.prototype.hasOwnProperty.call(i0.text,t)||Object.prototype.hasOwnProperty.call(q_,t)}isExpandable(t){var n=this.macros.get(t);return n!=null?typeof n=="string"||typeof n=="function"||!n.unexpandable:Object.prototype.hasOwnProperty.call(i4,t)&&!i4[t].primitive}},Xy=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,_a=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),Oc={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},Ky={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},$a=class e{constructor(t,n){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new ho(t,n,this.mode),this.settings=n,this.leftrightDepth=0,this.nextToken=null}expect(t,n){if(n===void 0&&(n=!0),this.fetch().text!==t)throw new W("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());n&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(t){this.mode=t,this.gullet.switchMode(t)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var t=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),t}finally{this.gullet.endGroups()}}subparse(t){var n=this.nextToken;this.consume(),this.gullet.pushToken(new T2("}")),this.gullet.pushTokens(t);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=n,a}parseExpression(t,n){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(e.endOfExpression.has(i.text)||n&&i.text===n||t&&i4[i.text]&&i4[i.text].infix)break;var r=this.parseAtom(n);if(r){if(r.type==="internal")continue}else break;a.push(r)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(t){for(var n=-1,a,i=0;i=128)this.settings.strict&&(Yy(n.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+n[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+n[0]+'"'+(" ("+n.charCodeAt(0)+")"),t)),s={type:"textord",mode:"text",loc:C2.range(t),text:n};else return null;if(this.consume(),r)for(var p=0;p(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("path",{d:"M7.99986 14.0887C11.3626 14.0887 14.0886 11.3627 14.0886 7.99998C14.0886 4.63727 11.3626 1.91125 7.99986 1.91125C4.63715 1.91125 1.91113 4.63727 1.91113 7.99998C1.91113 11.3627 4.63715 14.0887 7.99986 14.0887Z",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M2.34619 8H13.6538",stroke:"currentColor",strokeLinecap:"square"}),(0,E.jsx)("path",{d:"M7.99976 14.0889C9.23509 14.0889 10.1743 11.3629 10.1743 8.00006C10.1743 4.63739 9.23509 1.91138 7.99976 1.91138",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M7.99973 14.0889C6.76445 14.0889 5.8252 11.3629 5.8252 8.00006C5.8252 4.63739 6.76445 1.91138 7.99973 1.91138",stroke:"currentColor"})]}),vq=({size:e=14,className:t,strokeWidth:n})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("path",{d:"M4.67398 4.25061L1.36094 7.86484C1.29085 7.9413 1.29085 8.05866 1.36094 8.13513L4.67398 11.7494",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M11.3262 4.25061L14.6392 7.86484C14.7093 7.9413 14.7093 8.05866 14.6392 8.13513L11.3262 11.7494",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M9.56222 3.62573L6.43774 12.3743",stroke:"currentColor"})]});var yq=({size:e=16,className:t,strokeWidth:n})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("path",{d:"M1.50439 3.11059C1.50439 2.55831 1.95211 2.1106 2.50439 2.1106H5.43389C5.67773 2.1106 5.91318 2.19969 6.09593 2.36113L7.71649 3.79265C7.89924 3.95409 8.1347 4.04319 8.3785 4.04319H13.4958C14.0481 4.04319 14.4958 4.4909 14.4958 5.04319V12.8894C14.4958 13.4417 14.0481 13.8894 13.4958 13.8894H2.50439C1.95211 13.8894 1.50439 13.4417 1.50439 12.8894V4.04319V3.11059Z",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M3.63501 7.66614H12.3647",stroke:"currentColor"})]});var _q=1.3;var wq=({size:e=16,className:t,strokeWidth:n})=>(0,E.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,E.jsx)("path",{d:"M2.25 8.5L5.49732 11.7473C5.90519 12.1552 6.57263 12.1344 6.95426 11.7018L13.75 4",stroke:"currentColor"})}),xq=e=>(0,E.jsx)(wq,{...e,strokeWidth:1});var kq=({size:e=14,className:t,strokeWidth:n})=>(0,E.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,E.jsx)("path",{d:"M4 6L7.29289 9.29289C7.68342 9.68342 8.31658 9.68342 8.70711 9.29289L12 6",stroke:"currentColor"})}),zq=e=>(0,E.jsx)(kq,{...e,strokeWidth:1});var Cq=({size:e=14,className:t,strokeWidth:n})=>(0,E.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,E.jsx)("path",{d:"M12 10L8.70711 6.70711C8.31658 6.31658 7.68342 6.31658 7.29289 6.70711L4 10",stroke:"currentColor"})}),Aq=e=>(0,E.jsx)(Cq,{...e,strokeWidth:1});var Mq=({size:e=16,className:t,strokeWidth:n})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("path",{d:"M2.5 2.5L13.5 13.5",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M13.5 2.5L2.5 13.5",stroke:"currentColor"})]}),$q=e=>(0,E.jsx)(Mq,{...e,strokeWidth:1});var Lq=({size:e=16,className:t,strokeWidth:n})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("rect",{x:"1.52075",y:"4.07373",width:"10.3932",height:"10.3932",rx:"2",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M11.9792 1.53296C13.36 1.53296 14.4792 2.65225 14.4792 4.03296V9.42847C14.4792 10.3756 13.9521 11.1987 13.1755 11.6228V10.3298C13.3652 10.0787 13.4792 9.7674 13.4792 9.42847V4.03296C13.4792 3.20453 12.8077 2.53296 11.9792 2.53296H6.58374C6.27966 2.53301 5.99684 2.6235 5.7605 2.77905H4.42358C4.85652 2.03463 5.66056 1.53304 6.58374 1.53296H11.9792Z",fill:"currentColor"})]}),Sq=e=>(0,E.jsx)(Lq,{...e,strokeWidth:1});var Zq=({size:e=16,className:t,strokeWidth:n})=>(0,E.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,E.jsx)("path",{d:"M12.596 12.596C11.687 13.5049 10.5288 14.1239 9.26798 14.3747C8.00716 14.6255 6.70028 14.4968 5.51261 14.0048C4.32494 13.5129 3.30981 12.6798 2.59557 11.611C1.88134 10.5421 1.50008 9.2855 1.5 7.99998C1.50008 6.71446 1.88134 5.45783 2.59557 4.38898C3.30981 3.32013 4.32494 2.48707 5.51261 1.99513C6.70028 1.50319 8.00716 1.37447 9.26798 1.62524C10.5288 1.87602 11.687 2.49502 12.596 3.40398",stroke:"currentColor"})}),Eq=e=>(0,E.jsx)(Zq,{...e,strokeWidth:1});var Fq=({size:e=16,className:t})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"M2 15H1V1H2V15Z",fill:"currentColor"}),(0,E.jsx)("path",{d:"M12.3535 7.64645C12.5487 7.84171 12.5487 8.15829 12.3535 8.35355L9.85352 10.8535L9.14648 10.1465L10.793 8.5H3.5V7.5H10.793L9.14648 5.85352L9.85352 5.14648L12.3535 7.64645Z",fill:"currentColor"}),(0,E.jsx)("path",{d:"M15 15H14V1H15V15Z",fill:"currentColor"})]}),jq=e=>(0,E.jsx)(Fq,{...e});var Hq=({size:e=16,className:t})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,E.jsx)("path",{d:"M10.9999 8C10.9999 6.89543 10.1046 6 9 6H4.5V5H9C10.6568 5 11.9999 6.34315 11.9999 8C11.9999 9.65685 10.6568 11 9 11H6.20703L6.85351 11.6465L6.14648 12.3535L4.64652 10.8536C4.45126 10.6583 4.45126 10.3417 4.64652 10.1464L6.14648 8.64648L6.85351 9.35352L6.20703 10H9C10.1046 10 10.9999 9.10457 10.9999 8Z",fill:"currentColor"}),(0,E.jsx)("path",{d:"M2 15H1V1H2V15Z",fill:"currentColor"}),(0,E.jsx)("path",{d:"M15 15H14V1H15V15Z",fill:"currentColor"})]}),Nq=e=>(0,E.jsx)(Hq,{...e});var Wa=(0,q.createContext)(void 0);function tk({children:e,className:t}){let n=(0,q.useContext)(Wa)===!0&&typeof e=="string";return(0,E.jsx)("span",{className:f0(D3.text,t),"data-shimmer-text":n?e:void 0,children:n?null:e})}var nk=(0,q.memo)(function({children:t,active:n=!1,className:a,contentClassName:i}){if((0,q.useContext)(Wa)!==void 0)return(0,E.jsx)(tk,{className:a,children:t});let r=typeof t=="string"?(0,E.jsx)(tk,{children:t}):t;return(0,E.jsxs)("span",{className:f0(D3.root,a),"data-shimmer":n||void 0,children:[(0,E.jsx)(Wa.Provider,{value:!1,children:(0,E.jsx)("span",{className:f0(D3.content,i),children:r})}),n&&(0,E.jsx)("span",{className:D3.decoration,"aria-hidden":"true",inert:"",children:(0,E.jsx)("span",{className:D3.sweep,children:(0,E.jsx)(Wa.Provider,{value:!0,children:(0,E.jsx)("span",{className:f0(D3.content,D3.highlight,i),children:r})})})})]})}),x31=(0,q.memo)(function({icon:t,title:n,open:a,expandable:i,onToggle:r,running:s=!1,expandOnRowClick:c=!1,previewChevron:o=i,keepContentWhenOpen:l=!1,collapsedContent:p,headerAccessory:u,children:m,className:d,rowClassName:f,contentClassName:w,contentLayoutClassName:k,leadingClassName:v,chevronClassName:b,titleClassName:_}){let z=i&&c,L=H=>{H.stopPropagation(),r()},C=H=>{!z||H.key!=="Enter"&&H.key!==" "||(H.preventDefault(),r())},j=o?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("span",{className:Qe.iconIdle,children:t}),(0,E.jsx)(zq,{className:f0(b,Qe.chevronHover)})]}):t,N=a?(0,E.jsx)(Aq,{className:b}):j;return(0,E.jsxs)("div",{className:f0(Qe.root,d),"data-open":a||void 0,children:[(0,E.jsxs)("div",{className:Qe.header,"data-disclosure-header":!0,"data-has-accessory":!!u||void 0,children:[(0,E.jsxs)("div",{className:f0(Qe.row,f),"data-disclosure-row":!0,"data-expandable":z||void 0,role:z?"button":void 0,tabIndex:z?0:void 0,"aria-expanded":z?a:void 0,onClick:z?r:void 0,onKeyDown:z?C:void 0,children:[i&&!z?(0,E.jsx)("button",{type:"button",className:f0(Qe.leading,v),"aria-label":n,"aria-expanded":a,onClick:L,children:N}):(0,E.jsx)("span",{className:f0(Qe.leading,v),children:N}),(0,E.jsxs)(nk,{active:s,className:w,contentClassName:k,children:[(0,E.jsx)(nk,{className:f0(Qe.title,_),children:n}),(l||!a)&&p]})]}),u]}),a&&m]})}),k31=(0,q.forwardRef)(function({variant:t="ghost",size:n="md",icon:a,className:i,children:r,...s},c){return(0,E.jsxs)("button",{ref:c,type:"button",className:f0(_6.button,_6[t],_6[n],i),...s,children:[a!=null&&(0,E.jsx)("span",{className:_6.icon,children:a}),r]})});var z31=(0,q.forwardRef)(function({icon:t,className:n,...a},i){return(0,E.jsxs)("span",{className:f0(ln.wrap,n),children:[t!=null&&(0,E.jsx)("span",{className:ln.icon,children:t}),(0,E.jsx)("input",{ref:i,className:ln.input,...a})]})});function ak(e){let t=document.documentElement,n=Number.parseFloat(getComputedStyle(t).getPropertyValue("--dsh-frame-top-clearance"));return Number.isNaN(n)?e:Math.max(e,(t.hasAttribute("data-fullscreen")?0:n)+20)}function Tq(e){let t=(0,q.useRef)(null),n=(0,q.useRef)(e);n.current=e;let a=(0,q.useCallback)(()=>{t.current!==null&&(clearTimeout(t.current),t.current=null)},[]),i=(0,q.useCallback)(()=>{a(),t.current=setTimeout(()=>{t.current=null,n.current()},200)},[a]);return(0,q.useEffect)(()=>a,[a]),{arm:i,cancel:a}}function Vq({keys:e,variant:t="plain",className:n}){return(0,E.jsx)("span",{className:f0(N5.keys,t==="tooltip"&&N5.tooltip,t==="tooltip"&&e.includes("+")&&N5.joined,n),children:e.map((a,i)=>(0,E.jsx)("kbd",{className:a==="+"?N5.separator:N5.key,children:a},i))})}var C31=(0,q.forwardRef)(function({compact:t=!1,className:n,style:a,children:i,...r},s){let c=(0,q.useId)(),o=(0,q.useRef)(null);(0,q.useLayoutEffect)(()=>{document.body.appendChild(o.current)},[]);let l={"--dsh-menu-anchor":"--dsh-menu-".concat(c.replaceAll(":",""))};return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsxs)("div",{...r,ref:s,"data-menu-material":"translucent",className:f0(T5.surface,t&&T5.compact,n),style:{...a,...l},children:[(0,E.jsx)("div",{"aria-hidden":"true",className:T5.material}),i]}),(0,v7.createPortal)((0,E.jsx)("div",{ref:o,"aria-hidden":"true","data-menu-backing":"",className:f0(T5.backing,t&&T5.compact),style:{...l,visibility:a?.visibility}}),document.body)]})});function qq(e,t,n,a){(0,q.useEffect)(()=>{if(!t)return;let i=r=>{r.target instanceof Node&&e.current?.contains(r.target)!==!0&&a?.current?.contains(r.target)!==!0&&n(!1)};return document.addEventListener("pointerdown",i),()=>{document.removeEventListener("pointerdown",i)}},[e,t,n,a])}async function _k(e){if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{return!1}let t=typeof document.execCommand=="function"?document.execCommand.bind(document):void 0;if(t===void 0)return!1;let n=document.createElement("textarea");n.value=e,n.setAttribute("readonly",""),n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.select();try{return t("copy")}catch{return!1}finally{n.remove()}}var Iq=(0,q.createContext)(null);var ik=100,rk=420,sk=24,Bq=300,K4=8,A2=8;function Pq({anchor:e,content:t,openDelayMs:n=500,disabled:a=!1,grouped:i=!1,copyText:r,copyLabel:s,copiedLabel:c,variant:o="compact",widthAnchorRef:l,inline:p=!1}){let u=(0,q.useRef)(null),m=(0,q.useRef)(null),d=(0,q.useRef)(null),f=(0,q.useRef)(null),w=(0,q.useRef)(null),k=(0,q.useRef)(0),v=(0,q.useRef)(!1),b=(0,q.useRef)(!0),[_,z]=(0,q.useState)("closed"),L=_!=="closed",C=_==="closing",[j,N]=(0,q.useState)(null),H=j!==null,[S,R]=(0,q.useState)(!1),B=(0,q.useContext)(Iq),I=i?B:null,[e1]=(0,q.useState)(()=>Symbol("hover-card")),G=(0,q.useCallback)(()=>{f.current!==null&&(clearTimeout(f.current),f.current=null),w.current=null,R(!1)},[]),X=(0,q.useCallback)(()=>{k.current+=1,G(),z(x1=>o==="preview"&&x1!=="closed"?"closing":"closed")},[G,o]),{arm:o1,cancel:w1}=Tq(X),M1=(0,q.useCallback)(()=>{d.current!==null&&(clearTimeout(d.current),d.current=null)},[]),M=(0,q.useCallback)(()=>{M1(),w1(),k.current+=1,G(),z("closed")},[M1,w1,G]),a1=L&&H;(0,q.useLayoutEffect)(()=>{if(!(!a1||I===null))return I.shown(e1,M,m.current),()=>{I.release(e1)}},[I,e1,a1,M]),(0,q.useEffect)(()=>{if(!C)return;let x1=setTimeout(()=>{z("closed")},ik);return()=>{clearTimeout(x1)}},[C]),(0,q.useEffect)(()=>{a&&(M1(),w1(),X())},[a,w1,X]),(0,q.useEffect)(()=>(b.current=!0,()=>{b.current=!1,k.current+=1,M1(),f.current!==null&&(clearTimeout(f.current),f.current=null)}),[]),(0,q.useEffect)(()=>{if(!L||o!=="preview"&&!p)return;let x1=D1=>{D1.key==="Escape"&&(p&&D1.stopPropagation(),M1(),w1(),X())};return window.addEventListener("keydown",x1,p),()=>{window.removeEventListener("keydown",x1,p)}},[L,o,p,w1,X]),(0,q.useLayoutEffect)(()=>{if(!L){N(null);return}let x1=()=>{let E1=u.current;if(E1===null)return;let G1=E1.getBoundingClientRect(),h0=m.current?.offsetHeight??0;if(o==="preview"){let S0=l?.current?.getBoundingClientRect()??G1,g2=Math.max(0,Math.min(S0.width-sk*2,window.innerWidth-A2*2)),M2=ak(A2),qe=Math.max(M2,G1.bottom+K4),be=Math.max(0,G1.top-K4-M2),te=Math.max(0,window.innerHeight-qe-A2),ne=be>=Math.min(rk,te),fe=Math.min(rk,ne?be:te);N({left:Math.max(A2,Math.min(S0.left+sk,window.innerWidth-g2-A2)),top:ne?Math.max(M2,G1.top-Math.min(h0,fe)-K4):qe,width:g2,maxHeight:fe});return}if(p){let S0=Math.max(h0,m.current?.scrollHeight??0),g2=Math.max(0,Math.min(Bq,window.innerWidth-A2*2)),M2=ak(A2),qe=Math.max(M2,G1.bottom+K4),be=Math.max(0,G1.top-K4-M2),te=Math.max(0,window.innerHeight-qe-A2),ne=S0>te&&be>te,fe=ne?be:te;N({left:Math.max(A2,Math.min(G1.left,window.innerWidth-g2-A2)),top:ne?G1.top-K4-Math.min(S0,fe):qe,width:g2,maxHeight:fe});return}let h2=G1.top+h0>window.innerHeight-A2?window.innerHeight-h0-A2:G1.top;N({left:G1.right+K4,top:h2})};x1();let D1=(o==="preview"||p)&&typeof ResizeObserver<"u"?new ResizeObserver(x1):null;for(let E1 of[m.current,u.current,l?.current])E1!=null&&D1?.observe(E1);return window.addEventListener("scroll",x1,!0),window.addEventListener("resize",x1),()=>{D1?.disconnect(),window.removeEventListener("scroll",x1,!0),window.removeEventListener("resize",x1)}},[L,o,l,H,p]),(0,q.useLayoutEffect)(()=>{if(!L||j===null||o==="preview"||p)return;let x1=m.current?.offsetHeight??0;j.top+x1>window.innerHeight-A2&&N({left:j.left,top:window.innerHeight-x1-A2})},[L,j,o,p]);let l1=async x1=>{if(S||v.current)return;v.current=!0;let D1=k.current,E1=await _k(x1);v.current=!1;let G1=m.current;if(!E1||!b.current||D1!==k.current||G1===null)return;let h0=G1.offsetHeight;w.current=h0>0?h0:null,R(!0),f.current=setTimeout(G,1e3)},Z=r!==void 0,P1=x1=>{m.current?.contains(x1.target)||(M1(),w1(),X())},C0=L&&j!==null&&(0,E.jsx)("div",{ref:m,className:f0(Ae.card,o==="preview"&&Ae.preview,p&&Ae.media,Z&&Ae.copyable,S&&Ae.feedback),"data-closing":C||void 0,style:{...j,minHeight:S&&w.current!==null?w.current:void 0,"--dsh-hover-preview-fade":"".concat(ik,"ms")},role:Z?"button":void 0,tabIndex:Z?0:void 0,"aria-label":Z?"".concat(s,": ").concat(r):void 0,onClick:Z?x1=>{let D1=window.getSelection();if(D1!==null&&!D1.isCollapsed){for(let E1=0;E1{x1.key!=="Enter"&&x1.key!==" "||(x1.preventDefault(),l1(r))}:void 0,children:S?(0,E.jsx)("span",{className:Ae.copied,"aria-hidden":"true",children:c}):t});return(0,E.jsxs)("span",{ref:u,className:f0(Ae.root,p&&Ae.inline),onFocus:p?x1=>{!a&&x1.target.matches(":focus-visible")&&(w1(),z("open"))}:void 0,onBlur:p?x1=>{x1.currentTarget.contains(x1.relatedTarget)||(M1(),w1(),X())}:void 0,onPointerEnter:x1=>{if(!(a||p&&x1.pointerType==="touch")){if(w1(),L){z("open");return}M1(),I?.isWarm()?z("open"):d.current=setTimeout(()=>{z("open")},n)}},onPointerLeave:()=>{M1(),L&&o1()},onPointerDownCapture:P1,onClickCapture:P1,children:[e,L&&Z&&(0,E.jsx)("span",{className:Ae.status,role:"status",children:S?c:""}),C0!==!1&&(0,v7.createPortal)(C0,document.body)]})}var A31=Object.freeze({angular:'',c:'',clojure:'',cmake:'',cpp:'',csharp:'',css:'CSS',dart:'',docker:'',elixir:'',env:'.ENV',erlang:'',flutter:'',git:'',go:'',graphql:'',haskell:'',ini:'INI',java:'',javascript:'',json:'',kotlin:'',lua:'',makefile:'',node:'',"objective-c":'OC',perl:'',php:'',powershell:'',protobuf:'',python:'',r:'',react:'',ruby:'',rust:'',scala:'',shell:'',solidity:'',sql:'',svelte:'',swift:'',toml:'',typescript:'',vue:'',wasm:'',xml:'',yaml:'\n\n\n\n\n',zig:''});var Rq=new Set(["angular","c","clojure","cmake","cpp","csharp","css","dart","docker","elixir","env","erlang","flutter","git","go","graphql","haskell","ini","java","javascript","json","kotlin","lua","makefile","node","objective-c","perl","php","powershell","protobuf","python","r","react","ruby","rust","scala","shell","solidity","sql","svelte","swift","toml","typescript","vue","wasm","xml","yaml","zig"]),Dq={".bash_profile":"shell",".bashrc":"shell",".env":"env",".gitattributes":"git",".gitconfig":"git",".gitignore":"git",".gitmodules":"git",".mailmap":"git",".profile":"shell",".zprofile":"shell",".zshrc":"shell",bsdmakefile:"makefile","cmakelists.txt":"cmake",commit_editmsg:"git","compose.yaml":"docker","compose.yml":"docker","docker-compose.yaml":"docker","docker-compose.yml":"docker",dockerfile:"docker",gemfile:"ruby",gnumakefile:"makefile",guardfile:"ruby",makefile:"makefile","npm-shrinkwrap.json":"node","package-lock.json":"node","package.json":"node",podfile:"ruby",rakefile:"ruby"},Gq=[["dockerfile.","docker"],[".env.","env"]],Oq=[[".component.ts","angular"],[".component.html","angular"],[".directive.ts","angular"],[".service.ts","angular"],[".module.ts","angular"],[".pipe.ts","angular"],[".guard.ts","angular"],[".interceptor.ts","angular"],[".dockerfile","docker"]],Wq={bash:"shell",c:"c","c++":"cpp",cc:"cpp",cfg:"ini",cjs:"javascript",clj:"clojure",cljc:"clojure",cljs:"clojure",cmake:"cmake",cpp:"cpp",cs:"csharp",csh:"shell",css:"css",csx:"csharp",cts:"typescript",cxx:"cpp",dart:"dart",dtd:"xml",edn:"clojure",env:"env",erl:"erlang",es6:"javascript",escript:"erlang",ex:"elixir",exs:"elixir",fish:"shell",gemspec:"ruby",go:"go",gql:"graphql",graphql:"graphql",h:"c","h++":"cpp",hh:"cpp",hpp:"cpp",hrl:"erlang",hs:"haskell",hxx:"cpp",ini:"ini",ipp:"cpp",java:"java",js:"javascript",json:"json",json5:"json",jsonc:"json",jsx:"react",ksh:"shell",kt:"kotlin",kts:"kotlin",lhs:"haskell",lua:"lua",m:"objective-c",mak:"makefile",mjs:"javascript",mk:"makefile",mm:"objective-c",mts:"typescript",node:"node",pch:"objective-c",php:"php",php3:"php",php4:"php",php5:"php",phps:"php",phtml:"php",pl:"perl",plist:"xml",pm:"perl",pod:"perl",proto:"protobuf",ps1:"powershell",psd1:"powershell",psm1:"powershell",py:"python",pyi:"python",pyw:"python",pyx:"python",r:"r",rake:"ruby",rb:"ruby",rmd:"r",rs:"rust",sc:"scala",scala:"scala",sh:"shell",sol:"solidity",sql:"sql",svelte:"svelte",swift:"swift",t:"perl",tcsh:"shell",toml:"toml",tpp:"cpp",ts:"typescript",tsx:"react",vue:"vue",wasm:"wasm",wast:"wasm",wat:"wasm",xml:"xml",xsd:"xml",xsl:"xml",xslt:"xml",yaml:"yaml",yml:"yaml",zig:"zig",zsh:"shell"},Uq=new Set(["ts","tsx","js","jsx","mjs","cjs","cts","mts","css","scss","sass","less","html","htm","vue","svelte","astro","json","jsonc","json5","yaml","yml","toml","xml","ini","env","sh","bash","zsh","fish","ps1","bat","cmd","py","pyi","rb","rs","go","java","kt","kts","c","cc","cpp","cxx","h","hh","hpp","cs","php","swift","sql","proto","graphql","gql","lua","r","pl","scala","clj","cljs","ex","exs","erl","hs","dart"]);function Xq(e){return e.slice(Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"))+1)}function Kq(e){return Rq.has(e)}function Yq(e){return Uq.has(e.toLowerCase())}function Qq(e,t,n){let a=Dq[e];if(a!==void 0)return a;for(let[i,r]of Gq)if(e.startsWith(i))return r;for(let[i,r]of Oq)if(e.endsWith(i))return r;return t==="dart"&&n!==void 0&&Object.entries(n.files).find(([i])=>Xq(i).toLowerCase()==="pubspec.yaml")?.[1]?.includes("flutter:")===!0?"flutter":Wq[t]??null}var Jq={scss:"code",sass:"code",less:"code",vue:"code",svelte:"code",astro:"code",bat:"code",cmd:"code",csv:"excel",tsv:"excel",html:"html",htm:"html",png:"image",jpg:"image",jpeg:"image",gif:"image",svg:"image",webp:"image",avif:"image",bmp:"image",ico:"image",tif:"image",tiff:"image",heic:"image",heif:"image",md:"markdown",mdx:"markdown",markdown:"markdown",pdf:"pdf",ppt:"ppt",pptx:"ppt",key:"ppt",mp4:"video",mov:"video",m4v:"video",webm:"video",mkv:"video",avi:"video",mpg:"video",mpeg:"video",doc:"word",docx:"word",rtf:"word",odt:"word",pages:"word",xls:"excel",xlsx:"excel",xlsm:"excel",xlsb:"excel",xlt:"excel",xltx:"excel",xltm:"excel",ods:"excel",ots:"excel",fods:"excel",numbers:"excel"},eI={changelog:"markdown",contributing:"markdown",readme:"markdown"};function wk(e){return e.slice(Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"))+1)}function xk(e){let t=wk(e),n=t.lastIndexOf(".");return n<0?"":t.slice(n+1)}function kk(e,t){let n=wk(e).toLowerCase(),a=xk(n).toLowerCase();return Qq(n,a,t)??eI[n]??Jq[a]??"other"}var tI={"github.com":pn,"github.io":pn,"raw.githubusercontent.com":pn,"gitlab.com":ph,"npmjs.com":bh,"pypi.org":fh,"stackoverflow.com":kh,"developer.mozilla.org":hh,"wikipedia.org":$h,"news.ycombinator.com":Lh,"youtube.com":Jr,"youtu.be":Jr,"x.com":Qr,"twitter.com":Qr,"bilibili.com":rh,"zhihu.com":Sh,"juejin.cn":dh,"csdn.net":sh,"google.com":uh,"baidu.com":ih,"duckduckgo.com":ch,"tiktok.com":Ch,"netflix.com":gh,"spotify.com":xh,"facebook.com":lh,"instagram.com":mh,"reddit.com":_h,"telegram.org":Kr,"t.me":Kr,"weixin.qq.com":Mh,"qq.com":vh,"whatsapp.com":Yr,"wa.me":Yr,"weibo.com":wh,"taobao.com":zh,"aliexpress.com":nh,"ebay.com":oh,"quora.com":yh,"v2ex.com":Ah,"apple.com":ah};function nI(e){let t;try{let i=new URL(e);if(i.protocol!=="http:"&&i.protocol!=="https:")return;t=i.hostname.toLowerCase()}catch{return}let n,a=0;for(let[i,r]of Object.entries(tI))(t===i||t.endsWith(".".concat(i)))&&i.length>a&&(n=r,a=i.length);return n}function aI({href:e,size:t,className:n}){let a=e===void 0?void 0:nI(e);if(a!==void 0)return(0,E.jsx)("svg",{width:t,height:t,className:n,viewBox:"-2 -2 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:(0,E.jsx)("path",{d:a.path,fill:"currentColor"})})}function Ro(e){let t=kk(e),n=xk(e);if(Kq(t))return Yq(n)?"code":"other";if(n==="")return"other";switch(t){case"code":case"html":return"code";case"image":return"image";case"excel":case"pdf":case"ppt":case"word":return"document";case"markdown":case"other":case"video":return"other";default:return zk(t)}}var iI=({size:e,className:t,strokeWidth:n})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("path",{d:"M12.4326 2.38086H3.56763C2.46306 2.38086 1.56763 3.27629 1.56763 4.38086V11.6192C1.56763 12.7237 2.46306 13.6192 3.56763 13.6192H12.4326C13.5372 13.6192 14.4326 12.7237 14.4326 11.6192V4.38086C14.4326 3.27629 13.5372 2.38086 12.4326 2.38086Z",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M10.536 7.03286C11.1948 7.03286 11.7288 6.49884 11.7288 5.8401C11.7288 5.18136 11.1948 4.64734 10.536 4.64734C9.87728 4.64734 9.34326 5.18136 9.34326 5.8401C9.34326 6.49884 9.87728 7.03286 10.536 7.03286Z",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M1.5979 9.28409L4.17738 7.37514C4.57462 7.08117 5.12701 7.12145 5.47741 7.46992L8.3322 10.309C8.6572 10.6323 9.1605 10.6931 9.5532 10.4566L10.8859 9.65399C11.2531 9.43289 11.7205 9.47039 12.0477 9.74729L14.2823 11.6379",stroke:"currentColor"})]}),rI=({size:e,className:t,strokeWidth:n})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("path",{d:"M3.51919 14.5069H12.4807C13.0679 14.5069 13.5438 14.031 13.5438 13.4438V5.97499C13.5438 5.68818 13.428 5.41352 13.2226 5.21341L9.71251 1.79459C9.51402 1.60124 9.24781 1.49304 8.97075 1.49304H3.51919C2.93204 1.49304 2.45605 1.96902 2.45605 2.55618V13.4438C2.45605 14.031 2.93203 14.5069 3.51919 14.5069Z",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M8.90454 1.6095V4.87091C8.90454 5.45806 9.38051 5.93405 9.96768 5.93405H13.4953",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M4.31152 8.7561H7.83046",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M4.31152 11.3651H9.36598",stroke:"currentColor"})]}),sI=({size:e,className:t,strokeWidth:n})=>(0,E.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,E.jsx)("path",{d:"M3.75275 14.271H12.2473C12.7749 14.271 13.2027 13.8433 13.2027 13.3156V5.91732C13.2027 5.65958 13.0985 5.41276 12.9139 5.23293L9.59477 2.00011C9.4164 1.82636 9.17717 1.72913 8.9282 1.72913H3.75275C3.22511 1.72913 2.79736 2.15686 2.79736 2.68451V13.3156C2.79736 13.8433 3.22511 14.271 3.75275 14.271Z",stroke:"currentColor"}),(0,E.jsx)("path",{d:"M8.84888 1.83838V4.94133C8.84888 5.46896 9.2766 5.89671 9.80426 5.89671H13.157",stroke:"currentColor"})]});function zk(e){throw new Error("unreachable link icon kind: ".concat(String(e)))}function cI({kind:e,href:t,size:n=14,className:a,strokeWidth:i}){switch(e){case"url":return aI({href:t,size:n,className:a})??(0,E.jsx)(fq,{size:n,className:a,strokeWidth:i});case"folder":return(0,E.jsx)(yq,{size:n,className:a,strokeWidth:i});case"code":return(0,E.jsx)(vq,{size:n,className:a,strokeWidth:i});case"image":return(0,E.jsx)(iI,{size:n,className:a,strokeWidth:i});case"document":return(0,E.jsx)(rI,{size:n,className:a,strokeWidth:i});case"other":return(0,E.jsx)(sI,{size:n,className:a,strokeWidth:i});default:return zk(e)}}function Xo(e){return(0,E.jsx)(cI,{...e,strokeWidth:_q})}var ck={pointer:"pointer",keyboard:"keyboard"},oI="data-input-modality",lI=new Set(["Tab","Home","End","PageUp","PageDown"]),Do=!1,f7=!1,Y4;function Po(){document.documentElement.setAttribute(oI,f7?ck.pointer:ck.keyboard)}function pI(){return Do}typeof window<"u"&&(window.addEventListener("pointerdown",()=>{Do=!0,f7=!0,Y4=void 0,Po()},!0),window.addEventListener("keydown",e=>{if(Do=!1,e.isComposing){Y4=void 0;return}Y4=e.composedPath()[0],!(!lI.has(e.key)&&!e.key.startsWith("Arrow"))&&(f7=!1,Po())},!0),window.addEventListener("focusin",e=>{Y4===void 0||e.composedPath()[0]===Y4||(Y4=void 0,f7&&(f7=!1,Po()))},!0),window.addEventListener("blur",()=>{Y4=void 0}));var ok=(0,q.createContext)(null);function lk({label:e,shortcutKeys:t,side:n="right",align:a="center",delayMs:i=0,focusDelayMs:r=0,gap:s=8,disabled:c=!1,portal:o=!1,maxWidth:l,openOnClick:p=!1,children:u}){let m=(0,q.useId)(),[d,f]=(0,q.useState)(!1),w=(0,q.useRef)(null),k=u.ref,v=(0,q.useCallback)(a1=>{w.current=a1,typeof k=="function"?k(a1):k!=null&&(k.current=a1)},[k]),[b,_]=(0,q.useState)(null),z=(0,q.useRef)(null),L=b===null?null:typeof e=="function"?e():e,C=b===null?0:n==="right"?b.top+(b.bottom-b.top)/2:n==="top"?b.top-s:b.bottom+s,j=(0,q.useRef)(null),N=(0,q.useRef)({hover:!1,focus:!1}),H=(0,q.useContext)(ok),[S,R]=(0,q.useState)(!1),B=(0,q.useCallback)(a1=>{H?.(a1)},[H]),I=b!==null&&!c;(0,q.useEffect)(()=>{let a1=z.current;if(b===null||!I||S||a1===null)return;let l1=12,Z,P1=n,C0=()=>{if(Z===void 0)return;let{inlineSize:D1,blockSize:E1}=Z,G1=n==="right"?0:a==="end"?D1:D1/2,h0=Math.max(l1,Math.min(b.x-G1,window.innerWidth-l1-D1)),h2=b.bottom+s+E1<=window.innerHeight-l1,S0=b.top-s-E1>=l1;P1==="bottom"&&!h2&&S0?P1="top":P1==="top"&&!S0&&h2&&(P1="bottom"),a1.style.left="".concat(h0+G1,"px"),a1.style.top="".concat(P1==="right"?(b.top+b.bottom)/2:P1==="top"?b.top-s:b.bottom+s,"px"),a1.dataset.side=P1,a1.style.visibility="visible"},x1=new ResizeObserver(D1=>{Z=D1[0]?.borderBoxSize[0],C0()});return x1.observe(a1,{box:"border-box"}),window.addEventListener("resize",C0),()=>{x1.disconnect(),window.removeEventListener("resize",C0)}},[a,s,b,n,S,I]),(0,q.useEffect)(()=>(B(I),()=>{B(!1)}),[B,I]);let e1=(0,q.useCallback)(()=>{j.current!==null&&(clearTimeout(j.current),j.current=null)},[]);(0,q.useEffect)(()=>(d&&(c||!p)&&f(!1),c&&(e1(),N.current={hover:!1,focus:!1},_(null)),e1),[e1,c,p,d]);let G=()=>{if(c)return;let a1=w.current;if(a1===null)return;let l1=a1.getBoundingClientRect();_({x:n==="right"?l1.right+10:a==="end"?l1.right:l1.left+l1.width/2,top:l1.top,bottom:l1.bottom}),B(!0)},X=a1=>{if(e1(),a1<=0){G();return}j.current=setTimeout(()=>{j.current=null,G()},a1)},o1=(0,q.useCallback)(()=>{f(!1),_(null),B(!1)},[B]),w1=()=>{e1(),!N.current.hover&&!N.current.focus&&!d&&o1()},M1=(0,q.useCallback)(()=>{e1(),N.current={hover:!1,focus:!1},o1()},[e1,o1]);qq(w,p&&I,M1,z),(0,q.useEffect)(()=>{if(!p||!I)return;let a1=l1=>{l1.key!=="Escape"&&l1.key!=="Tab"||(l1.key==="Escape"&&(l1.preventDefault(),l1.stopPropagation()),M1())};return document.addEventListener("keydown",a1,!0),()=>{document.removeEventListener("keydown",a1,!0)}},[M1,p,I]);let M=I&&!S&&(0,E.jsxs)("span",{ref:z,id:p?m:void 0,className:es.bubble,"data-side":n,"data-portal":o||void 0,"data-pinned":d||void 0,"data-align":a,"data-has-shortcut":t?.length?!0:void 0,style:{left:b.x,top:C,visibility:"hidden",...l===void 0?{}:{maxWidth:l}},role:"tooltip","aria-label":t?.length?[L,t.join(" ")].filter(Boolean).join(" "):void 0,children:[L&&(0,E.jsx)("span",{className:es.label,children:L}),t!==void 0&&t.length>0&&(0,E.jsx)(Vq,{keys:t,variant:"tooltip"})]});return(0,E.jsxs)(ok.Provider,{value:R,children:[(0,q.cloneElement)(u,{ref:v,"aria-describedby":p&&I?[u.props["aria-describedby"],m].filter(Boolean).join(" "):u.props["aria-describedby"],onMouseEnter:a1=>{u.props.onMouseEnter?.(a1),N.current.hover=!0,X(i)},onMouseLeave:a1=>{u.props.onMouseLeave?.(a1),N.current.hover=!1,e1(),d||o1()},onClick:a1=>{u.props.onClick?.(a1),N.current.focus=!1,e1(),p&&!c&&!d?(f(!0),G()):o1()},onFocus:a1=>{u.props.onFocus?.(a1),!pI()&&(N.current.focus=!0,X(r))},onBlur:a1=>{u.props.onBlur?.(a1),N.current.focus=!1,w1()}}),o?M!==!1&&(0,v7.createPortal)(M,document.body):M]})}var uI=[K3,Y3,Q3],mI=new Map([["python",()=>Promise.resolve().then(()=>(qa(),P_))],["ruby",()=>Promise.resolve().then(()=>(Vo(),cw))],["go",()=>Promise.resolve().then(()=>(lw(),ow))],["rust",()=>Promise.resolve().then(()=>(uw(),pw))],["java",()=>Promise.resolve().then(()=>(Eo(),W_))],["c",()=>Promise.resolve().then(()=>(m7(),tw))],["cpp",()=>Promise.resolve().then(()=>(d7(),iw))],["csharp",()=>Promise.resolve().then(()=>(dw(),mw))],["kotlin",()=>Promise.resolve().then(()=>(gw(),hw))],["swift",()=>Promise.resolve().then(()=>(fw(),bw))],["php",()=>Promise.resolve().then(()=>(yw(),vw))],["yaml",()=>Promise.resolve().then(()=>(Ra(),sw))],["toml",()=>Promise.resolve().then(()=>(ww(),_w))],["ini",()=>Promise.resolve().then(()=>(kw(),xw))],["markdown",()=>Promise.resolve().then(()=>(Da(),zw))],["mdx",()=>Promise.resolve().then(()=>(Aw(),Cw))],["html",()=>Promise.resolve().then(()=>(u4(),D_))],["css",()=>Promise.resolve().then(()=>(Ve(),R_))],["scss",()=>Promise.resolve().then(()=>($w(),Mw))],["less",()=>Promise.resolve().then(()=>(Sw(),Lw))],["sql",()=>Promise.resolve().then(()=>(st(),X_))],["xml",()=>Promise.resolve().then(()=>(rt(),U_))],["lua",()=>Promise.resolve().then(()=>(No(),rw))],["bat",()=>Promise.resolve().then(()=>(Ew(),Zw))],["powershell",()=>Promise.resolve().then(()=>(jw(),Fw))],["fish",()=>Promise.resolve().then(()=>(Nw(),Hw))],["dotenv",()=>Promise.resolve().then(()=>(Vw(),Tw))],["log",()=>Promise.resolve().then(()=>(Iw(),qw))],["csv",()=>Promise.resolve().then(()=>(Pw(),Bw))],["diff",()=>Promise.resolve().then(()=>(Dw(),Rw))],["http",()=>Promise.resolve().then(()=>(Ow(),Gw))],["rst",()=>Promise.resolve().then(()=>(Xw(),Uw))],["latex",()=>Promise.resolve().then(()=>(ex(),Jw))],["bibtex",()=>Promise.resolve().then(()=>(nx(),tx))],["asciidoc",()=>Promise.resolve().then(()=>(ix(),ax))],["r",()=>Promise.resolve().then(()=>(Oa(),Kw))],["julia",()=>Promise.resolve().then(()=>(sx(),rx))],["dart",()=>Promise.resolve().then(()=>(ox(),cx))],["scala",()=>Promise.resolve().then(()=>(px(),lx))],["clojure",()=>Promise.resolve().then(()=>(mx(),ux))],["erlang",()=>Promise.resolve().then(()=>(hx(),dx))],["elixir",()=>Promise.resolve().then(()=>(bx(),gx))],["haskell",()=>Promise.resolve().then(()=>(vx(),fx))],["fsharp",()=>Promise.resolve().then(()=>(_x(),yx))],["vb",()=>Promise.resolve().then(()=>(xx(),wx))],["perl",()=>Promise.resolve().then(()=>(zx(),kx))],["verilog",()=>Promise.resolve().then(()=>(Ax(),Cx))],["system-verilog",()=>Promise.resolve().then(()=>($x(),Mx))],["graphql",()=>Promise.resolve().then(()=>(Ia(),ew))],["proto",()=>Promise.resolve().then(()=>(Sx(),Lx))],["hcl",()=>Promise.resolve().then(()=>(Ex(),Zx))],["nix",()=>Promise.resolve().then(()=>(Nx(),Hx))],["vue",()=>Promise.resolve().then(()=>(Ox(),Gx))],["svelte",()=>Promise.resolve().then(()=>(Kx(),Xx))],["make",()=>Promise.resolve().then(()=>(Qx(),Yx))],["cmake",()=>Promise.resolve().then(()=>(Bo(),Ww))],["groovy",()=>Promise.resolve().then(()=>(ek(),Jx))]]),dI=new Map([["typescript","typescript"],["ts","typescript"],["tsx","typescript"],["javascript","typescript"],["js","typescript"],["jsx","typescript"],["shellscript","shellscript"],["bash","shellscript"],["sh","shellscript"],["shell","shellscript"],["zsh","shellscript"],["json","json"],["jsonc","json"],["py","python"],["python","python"],["rb","ruby"],["ruby","ruby"],["go","go"],["rs","rust"],["rust","rust"],["java","java"],["c","c"],["cpp","cpp"],["cs","csharp"],["csharp","csharp"],["kotlin","kotlin"],["swift","swift"],["php","php"],["yaml","yaml"],["yml","yaml"],["toml","toml"],["ini","ini"],["md","markdown"],["markdown","markdown"],["mdx","mdx"],["html","html"],["css","css"],["scss","scss"],["less","less"],["sql","sql"],["xml","xml"],["lua","lua"],["bat","bat"],["batch","bat"],["powershell","powershell"],["ps1","powershell"],["ps","powershell"],["fish","fish"],["properties","ini"],["dotenv","dotenv"],["env","dotenv"],["log","log"],["csv","csv"],["diff","diff"],["patch","diff"],["http","http"],["rst","rst"],["latex","latex"],["tex","latex"],["bibtex","bibtex"],["bib","bibtex"],["asciidoc","asciidoc"],["adoc","asciidoc"],["r","r"],["julia","julia"],["jl","julia"],["dart","dart"],["scala","scala"],["clojure","clojure"],["clj","clojure"],["erlang","erlang"],["erl","erlang"],["elixir","elixir"],["ex","elixir"],["exs","elixir"],["haskell","haskell"],["hs","haskell"],["fsharp","fsharp"],["fs","fsharp"],["fsi","fsharp"],["fsx","fsharp"],["vb","vb"],["vbnet","vb"],["perl","perl"],["pl","perl"],["pm","perl"],["verilog","verilog"],["v","verilog"],["system-verilog","system-verilog"],["systemverilog","system-verilog"],["sv","system-verilog"],["svh","system-verilog"],["graphql","graphql"],["gql","graphql"],["proto","proto"],["protobuf","proto"],["hcl","hcl"],["tf","hcl"],["tfvars","hcl"],["nix","nix"],["vue","vue"],["svelte","svelte"],["make","make"],["makefile","make"],["mk","make"],["cmake","cmake"],["groovy","groovy"],["gradle","groovy"]]);function Ko(e){return e===void 0?void 0:dI.get(e.toLowerCase())}function Ck(e){return Ko(e)!==void 0}var hI=Yg({name:"css-variables",variablePrefix:"--shiki-",fontStyle:!0}),gI=Us({forgiving:!0,regexConstructor:e=>On(e,{lazyCompileLength:Number.POSITIVE_INFINITY})}),Ak=1e3,pk,bI=[{lang:"typescript",code:"const answer: number = 42"},{lang:"shellscript",code:"printf '%s\\n' \"$HOME\""},{lang:"json",code:'{"ready":true}'}];function fI(){let e=Kg({themes:[hI],langs:uI,engine:gI});for(let t of bI)e.codeToTokens(t.code,{lang:t.lang,theme:"css-variables",tokenizeTimeLimit:0});return e}function ct(){return pk??=fI(),pk}var uk=new Set,Go=new Set,Mk=0;function vI(e){return Go.add(e),()=>{Go.delete(e)}}function mk(){return Mk}function $k(e){let t=mI.get(e);return t===void 0||ct().getLoadedLanguages().includes(e)?!0:(uk.has(e)||(uk.add(e),t().then(n=>{ct().loadLanguageSync(n.default),Mk+=1;for(let a of Go)a()})),!1)}setTimeout(()=>{ct()},0).unref?.();function yI(e,t){let n=Ko(t);if(n!==void 0&&$k(n))return ct().codeToHtml(e,{lang:n,theme:"css-variables",tokenizeMaxLineLength:Ak})}var _I=[[4,"underline"],[8,"line-through"]];function wI(e){let t={color:e.color},n=e.fontStyle??0;(n&1)!==0&&(t.fontStyle="italic"),(n&2)!==0&&(t.fontWeight="bold");let a=_I.filter(([i])=>(n&i)!==0);return a.length>0&&(t.textDecoration=a.map(([,i])=>i).join(" ")),t}function dk(e){let t=[],n="";for(let[a,i]of e.entries()){if(/^\s+$/.test(i.content)&&a+1=0){let s=i[r-1]==="\r"?r-1:r,c=this.tokenize(n,i.slice(0,s));for(let o of c)this.spans.push(dk(o));this.state=ct().getLastGrammarState(c),this.prefix=e.slice(0,this.prefix.length+r+1)}return this.lastFrame={generation:this.generation,appended:this.spans.slice(a),tail:this.tokenize(n,i.slice(r+1)).map(dk)},this.lastFrame}update(e,t){if(e===this.lastCode&&t===this.lastLang&&this.lastResult!==void 0)return this.lastResult;let n=this.updateFrame(e,t);if(n!==void 0)return this.lastResult=[...this.spans,...n.tail],this.lastResult}};function kI({lang:e,title:t,status:n,labels:a,copyLabel:i,copiedLabel:r,copied:s,wrapped:c,onCopy:o,onWrap:l}){let p=c?a.unwrapLabel:a.wrapLabel,u=s?r:i;return(0,E.jsxs)("div",{className:o3.header,"data-code-block-banner":!0,children:[(0,E.jsxs)("div",{className:o3.heading,children:[(0,E.jsx)("span",{className:o3.language,children:Ck(e)?e:a.codeLabel}),t!==void 0&&(0,E.jsx)("span",{className:o3.title,title:t,children:t})]}),(0,E.jsxs)("div",{className:o3.actions,children:[n!==void 0&&(0,E.jsx)("span",{className:o3.status,children:n}),l!==void 0&&(0,E.jsx)(lk,{label:p,side:"top",portal:!0,children:(0,E.jsx)("button",{type:"button",className:o3.action,"aria-label":a.wrapLabel,"aria-pressed":c,onClick:l,children:c?(0,E.jsx)(jq,{size:14}):(0,E.jsx)(Nq,{size:14})})}),o!==void 0&&(0,E.jsx)(lk,{label:u,side:"top",portal:!0,children:(0,E.jsx)("button",{type:"button",className:o3.action,"aria-label":u,onClick:o,children:s?(0,E.jsx)(xq,{size:14}):(0,E.jsx)(Sq,{size:14})})})]})]})}var zI=()=>{},CI=class{observer;activators=new Map;observe(e,t){return typeof IntersectionObserver>"u"?(t(),zI):(this.observer??=new IntersectionObserver(n=>{for(let a of n){if(!a.isIntersecting)continue;let i=this.activators.get(a.target);i!==void 0&&(this.activators.delete(a.target),this.observer?.unobserve(a.target),i())}this.releaseEmptyObserver()}),this.activators.set(e,t),this.observer.observe(e),()=>{this.activators.delete(e),this.observer?.unobserve(e),this.releaseEmptyObserver()})}releaseEmptyObserver(){this.activators.size>0||(this.observer?.disconnect(),this.observer=void 0)}},AI=new CI;function MI(e,t){let n=Ck(t),[a,i]=(0,q.useState)(!1),r=(0,q.useCallback)(()=>{i(!0)},[]);return(0,q.useEffect)(()=>{if(a||!n)return;let s=e.current;if(s!==null)return AI.observe(s,r)},[r,a,n,e]),a&&n}var M31={path:O5.path,del:O5.del,add:O5.add,context:O5.context,gap:O5.gap};var $I=2;function hk(e,t,n){let a=e.position?.start.offset;return a===void 0?-(n+1):t+a}function LI(e,t){for(let n=t;n=e.length||(e[a+1]==="\n"&&(a+=1),t=n,n=a+1)}return t}function bk(e){return e.endsWith("\r\n")?"\r\n":e.endsWith("\r")?"\r":"\n"}function fk(e,t,n){let a=0;for(;a<=e.length;){let i=a;for(;i=n&&/^[ \t]*$/.test(r.slice(c)))return!0;if(i===e.length)return!1;a=e[i]==="\r"&&e[i+1]==="\n"?i+2:i+1}return!1}function SI(e,t,n){let a=e.line,i=e.column,r=n;for(let s of t){if(s==="\n"){r||(a+=1),i=1,r=!1;continue}if(s==="\r"){a+=1,i=1,r=!0;continue}i+=1,r=!1}return{line:a,column:i,offset:e.offset+t.length}}var ZI=class{parse;prevText="";tailStart=0;frozen=[];generation=0;cached=null;openFence=null;constructor(e){this.parse=e}fenceValue(e,t){let n=this.parse("".concat(e.syntheticPrefix).concat(t));if(n.children.length!==1)return;let a=n.children[0];return a.type==="code"?a.value:void 0}openFenceState(e,t,n,a){let i=n.length-1,r=n[i];if(r?.node.type!=="code")return null;let s=r.node,c=s.position?.start.offset,o=s.position?.end;if(c===void 0||o?.offset===void 0||t+o.offset!==e.length)return null;let l=e.slice(t),p=l.lastIndexOf("\n",c-1),u=l.lastIndexOf("\r",c-1),m=Math.max(p,u)+1,d=LI(l,c);if(d===void 0||d===l.length&&l.endsWith("\r"))return null;let f=l.slice(m,d).replace(/[\r\n]+$/,""),w=/^( {0,3})(`{3,}|~{3,})/.exec(f);if(w===null)return null;let k=w[1],v=w[2];if(m+k.length!==c)return null;let b=v[0],_=t+d,z=e.slice(_);if(fk(z,b,v.length))return null;let L="".concat(k).concat(v,"\n"),C=gk(z),j=C===0?"":this.fenceValue({syntheticPrefix:L},z.slice(0,C));if(j===void 0)return null;let N=_+C,H=z.slice(0,C),S=C===0?"":"".concat(j).concat(bk(H)),R=this.fenceValue({syntheticPrefix:L},e.slice(N));return R===void 0||"".concat(S).concat(R)!==s.value?null:{marker:b,markerLength:v.length,syntheticPrefix:L,codeIndex:i,frozen:a,tail:n,pendingStart:N,valuePrefix:S,end:{line:o.line,column:o.column,offset:o.offset},endedWithCarriageReturn:e.endsWith("\r")}}updateOpenFence(e,t,n){let a=t.slice(e.pendingStart);if(fk(a,e.marker,e.markerLength))return;let i=this.fenceValue(e,a);if(i===void 0)return;let r=gk(a),s=r===0?"":this.fenceValue(e,a.slice(0,r));if(s===void 0)return;let c=e.tail[e.codeIndex].node,o=SI(e.end,t.slice(n.length),e.endedWithCarriageReturn),l={...c,value:"".concat(e.valuePrefix).concat(i),position:{start:c.position.start,end:o}},p=e.tail.map((m,d)=>d===e.codeIndex?{...m,node:l}:m),u={frozen:e.frozen,tail:p,generation:this.generation};return this.openFence={...e,tail:p,pendingStart:e.pendingStart+r,valuePrefix:r===0?e.valuePrefix:"".concat(e.valuePrefix).concat(s).concat(bk(a.slice(0,r))),end:o,endedWithCarriageReturn:t.endsWith("\r")},u}update(e){if(this.cached!==null&&e===this.prevText)return this.cached;e.startsWith(this.prevText)||(this.prevText="",this.tailStart=0,this.frozen=[],this.openFence=null,this.generation+=1);let t=this.prevText;if(t!==""&&this.openFence!==null){let s=this.updateOpenFence(this.openFence,e,t);if(s!==void 0)return this.prevText=e,this.cached=s,s;this.openFence=null}this.prevText=e;let n=this.tailStart,a=this.parse(e.slice(n)).children,i=Math.max(0,a.length-$I);if(i>0){let s=a[i-1]?.position?.end.offset;if(s===void 0)i=0;else{for(let c of a.slice(0,i))this.frozen.push({node:c,key:hk(c,n,this.frozen.length)});this.tailStart=n+s}}let r=a.slice(i).map((s,c)=>({node:s,key:hk(s,n,c)}));return this.cached={frozen:[...this.frozen],tail:r,generation:this.generation},this.openFence=this.openFenceState(e,n,r,this.cached.frozen),this.cached}};function Lk(e,t){let n=a=>{if(a.type==="paragraph"&&a.children.length===1){let[i]=a.children;if(i.type==="text"&&i.position!==void 0&&t.slice(i.position.start.offset,i.position.end.offset)===i.value){let r=/^!\[([^\]\n]*)\]\(((?:\/(?!\/)|\.{1,2}\/|[a-z]:[\\/])[^\n<>()[\]"']+\.[a-z\d]+)\)$/iu.exec(i.value);r!==null&&r[2].includes(" ")&&kk(r[2])==="image"&&(a.children=[{type:"image",alt:r[1],url:r[2],position:i.position}])}}else if("children"in a)for(let i of a.children)n(i)};return n(e),e}var EI=new RegExp(["\\p{Script_Extensions=Han}","\\p{Script_Extensions=Hiragana}","\\p{Script_Extensions=Katakana}","\\p{Script_Extensions=Hangul}","\\p{Script_Extensions=Bopomofo}"].join("|"),"u");function FI(e){return e!==null&&e>=0&&EI.test(String.fromCodePoint(e))}var jI=function(e,t,n){let a=this.parser.constructs.attentionMarkers.null;if(a===void 0)throw new Error("micromark CommonMark attention markers are unavailable");let i=a,r=this.previous,s=u3(r),c=S1.eof;return o;function o(p){return p!==S1.asterisk?n(p):(c=p,e.enter("attentionSequence"),l(p))}function l(p){if(p===c)return e.consume(p),l;let u=e.exit("attentionSequence"),m=u3(p),d=!m||m===Y6.characterGroupPunctuation&&!!s||i.includes(p),f=!s||s===Y6.characterGroupPunctuation&&!!m||i.includes(r),w=u.end.offset-u.start.offset>=2&&l3(r)&&FI(p),k=f||w;return u._open=d,u._close=k,t(p)}},HI={name:"cjkFriendlyAttention",resolveAll:I4.resolveAll,tokenize:jI},NI={text:{[S1.asterisk]:HI}};function Sk(){return NI}var TI=function(e){if(e!==S1.backslash)return!0;let t=this.events.at(-1);return t===void 0?!1:t[1].type===l2.characterEscape},VI=function(e,t,n){return a;function a(d){return d!==S1.backslash?n(d):(e.enter("mathText"),e.enter("mathTextSequence"),e.consume(d),i)}function i(d){return d!==S1.leftParenthesis?n(d):(e.consume(d),e.exit("mathTextSequence"),r)}function r(d){return d===S1.eof?n(d):d===S1.backslash?e.attempt({partial:!0,tokenize:u},p,s)(d):Q(d)?(e.enter(l2.lineEnding),e.consume(d),e.exit(l2.lineEnding),r):c(d)}function s(d){return e.check({partial:!0,tokenize:m},n,c)(d)}function c(d){return e.enter("mathTextData"),e.consume(d),d===S1.backslash?o:l}function o(d){return d===S1.backslash?(e.consume(d),l):l(d)}function l(d){return d===S1.eof||d===S1.backslash||Q(d)?(e.exit("mathTextData"),r(d)):(e.consume(d),l)}function p(d){return e.exit("mathText"),t(d)}function u(d,f,w){return k;function k(b){return b!==S1.backslash?w(b):(d.enter("mathTextSequence"),d.consume(b),v)}function v(b){return b!==S1.rightParenthesis?w(b):(d.consume(b),d.exit("mathTextSequence"),f)}}function m(d,f,w){return k;function k(b){return b!==S1.backslash?w(b):(d.enter(l2.chunkString),d.consume(b),v)}function v(b){return b!==S1.leftParenthesis?w(b):(d.consume(b),d.exit(l2.chunkString),f)}}};function Zk(e,t,n,a){let i=function(r,s,c){let o=this,l=!1,p=o.events.at(-1),u=p?.[1].type===l2.linePrefix?p[2].sliceSerialize(p[1],!0).length:0;return m;function m(H){return H!==e?c(H):(r.enter("mathFlow"),r.enter("mathFlowFence"),r.enter("mathFlowFenceSequence"),r.consume(H),d)}function d(H){return H!==t?c(H):(r.consume(H),r.exit("mathFlowFenceSequence"),r.exit("mathFlowFence"),e===S1.dollarSign?f:w)}function f(H){return H===S1.dollarSign?c(H):w(H)}function w(H){return H===S1.eof?c(H):H===e&&(e!==S1.dollarSign||!l)?r.attempt({partial:!0,tokenize:j},C,k)(H):Q(H)?a?r.attempt(II,v,c)(H):c(H):b(H)}function k(H){return e===S1.backslash?r.check({partial:!0,tokenize:N},c,_)(H):_(H)}function v(H){return r.attempt({partial:!0,tokenize:j},C,u?m1(r,w,l2.linePrefix,u+1):w)(H)}function b(H){return r.enter("mathFlowValue"),l=H===S1.backslash,r.consume(H),L}function _(H){return r.enter("mathFlowValue"),l=!1,r.consume(H),z}function z(H){return H===e?(r.consume(H),L):L(H)}function L(H){return H===S1.eof||H===e||Q(H)?(r.exit("mathFlowValue"),w(H)):(l=H===S1.backslash?!l:!1,r.consume(H),L)}function C(H){return r.exit("mathFlow"),s(H)}function j(H,S,R){return m1(H,B,l2.linePrefix,Y6.tabSize);function B(G){return G!==e?R(G):(H.enter("mathFlowFence"),H.enter("mathFlowFenceSequence"),H.consume(G),I)}function I(G){return G!==n?R(G):(H.consume(G),H.exit("mathFlowFenceSequence"),m1(H,e1,l2.whitespace))}function e1(G){return G!==S1.eof&&!Q(G)?R(G):(H.exit("mathFlowFence"),S(G))}}function N(H,S,R){return B;function B(e1){return e1!==e?R(e1):(H.enter(l2.chunkString),H.consume(e1),I)}function I(e1){return e1!==t?R(e1):(H.consume(e1),H.exit(l2.chunkString),S)}}};return{concrete:!0,name:e===S1.dollarSign?"sameLineDollarMathFlow":"backslashMathFlow",tokenize:i}}var qI=function(e,t,n){let a=this;return i;function i(s){return s===S1.eof?t(s):Q(s)?(e.enter(l2.lineEnding),e.consume(s),e.exit(l2.lineEnding),r):n(s)}function r(s){return a.parser.lazy[a.now().line]?n(s):t(s)}},II={partial:!0,tokenize:qI},BI={name:"backslashMathText",previous:TI,tokenize:VI},PI=Zk(S1.backslash,S1.leftSquareBracket,S1.rightSquareBracket,!0),RI=Zk(S1.dollarSign,S1.dollarSign,S1.dollarSign,!1),DI={flow:{[S1.backslash]:PI,[S1.dollarSign]:RI},text:{[S1.backslash]:BI}};function GI(){return DI}function OI(e){return Lk(sa(e,{extensions:[Ec(),Sk()],mdastExtensions:[la()]}),e)}function WI(e){return Lk(sa(e,{extensions:[Ec(),Sk(),GI(),Fc()],mdastExtensions:[la(),zc()]}),e)}var UI={className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:0},XI=32;function vk(e,t){return(0,E.jsxs)(q.Fragment,{children:[t>0&&"\n",(0,E.jsx)("span",{className:"line",children:e.map((n,a)=>(0,E.jsx)("span",{style:n.style,children:n.text},a))})]},t)}function KI({code:e,lang:t,streaming:n,className:a,contentRef:i,lineNumbers:r=!1,showHeader:s=!0,copyLabel:c,copiedLabel:o,toolbarLabels:l,wrap:p}){let u=e.endsWith("\n")?e.slice(0,-1):e,m=r?u.split("\n"):void 0,d=(0,q.useRef)(null),f=MI(d,t),w=(0,q.useSyncExternalStore)(vI,mk,mk),k=(0,q.useRef)(null),v=(0,q.useRef)(null),b=(0,q.useRef)(!1),_=(0,q.useMemo)(()=>{if(!f){k.current=null,v.current=null,b.current=!1;return}if(n!==!0){let a1=v.current;if(a1!==null&&a1.code===u&&a1.lang===t)return b.current=!0,a1.body;k.current=null,v.current=null,b.current=!0;return}b.current&&(k.current=null,v.current=null,b.current=!1),k.current??=new xI;let B=k.current.updateFrame(u,t);if(B===void 0){v.current=null;return}let I=v.current;if(I?.frame===B&&I.code===u&&I.lang===t)return I.body;let e1=I?.generation===B.generation,G=e1?[...I.groups]:[],X=e1?[...I.pending]:[],o1=e1?I.nextLine:0;for(let a1 of B.appended){if(X.push(vk(a1,o1)),o1+=1,X.length!==XI)continue;let l1=o1-X.length;G.push((0,E.jsx)(q.Fragment,{children:X},l1)),X=[]}let w1=B.tail.map((a1,l1)=>vk(a1,o1+l1)),M1=(0,E.jsx)(q.Fragment,{children:[...X,...w1]},o1-X.length),M=(0,E.jsx)("pre",{...UI,children:(0,E.jsxs)("code",{children:[G,M1]})});return v.current={code:u,lang:t,generation:B.generation,frame:B,groups:G,pending:X,nextLine:o1,body:M},M},[n,f,u,t,w]),z=(0,q.useMemo)(()=>f&&n!==!0&&_===void 0?yI(u,t):void 0,[n,f,_,u,t,w]),[L,C]=(0,q.useState)(!1),[j,N]=(0,q.useState)(!0),H=p??j,S=(0,q.useCallback)(()=>{L||_k(d.current?.querySelector("pre")?.textContent??u).then(B=>{B&&(C(!0),window.setTimeout(()=>{C(!1)},1e3))})},[L,u]),R=_!==void 0?_:z===void 0?(0,E.jsx)("pre",{className:me.plain,children:(0,E.jsx)("code",{children:m===void 0?u:m.map((B,I)=>(0,E.jsxs)(q.Fragment,{children:[I>0&&"\n",(0,E.jsx)("span",{className:"line",children:B})]},I))})}):(0,E.jsx)("div",{dangerouslySetInnerHTML:{__html:z}});return(0,E.jsxs)("div",{ref:d,className:f0(me.block,"md-code-block",r&&me.numbered,l!==void 0&&me.card,a),"data-line-numbers":r||void 0,"data-code-wrap":l===void 0?void 0:H,style:m===void 0?void 0:{"--dsl-code-block-line-number-width":"".concat(Math.max(2,String(m.length).length),"ch")},children:[s&&(0,E.jsx)("div",{className:me.bannerWrap,children:l!==void 0?(0,E.jsx)(kI,{lang:t,labels:l,copyLabel:c,copiedLabel:o,copied:L,wrapped:H,onCopy:S,onWrap:p===void 0?()=>{N(B=>!B)}:void 0}):(0,E.jsxs)("div",{className:me.banner,"data-code-block-banner":!0,children:[(0,E.jsx)("div",{className:me.infostring,children:t??""}),(0,E.jsx)("div",{className:me.action,children:(0,E.jsx)("button",{type:"button",className:me.copyButton,onClick:S,children:L?o:c})})]})}),(0,E.jsx)("div",{ref:i,className:me.content,"data-code-block-content":!0,children:R})]})}function Ek(e){let t=e.indexOf("#"),n=t<0?e:e.slice(0,t);if(n.includes("?"))return;let a;try{a=decodeURIComponent(n)}catch{return}if(a.length===0||/[\u0000-\u001f\u007f]/.test(a)||/^[\\/]{2}/.test(a)||/^[a-z][a-z\d+.-]*:/i.test(a)&&!/^[a-z]:[\\/]/i.test(a))return;if(t<0)return{path:a};let i=e.slice(t+1),r=/^L([1-9]\d*)(?:-L([1-9]\d*))?$/.exec(i);if(r===null)return;let s=Number(r[1]),c=r[2]===void 0?s:Number(r[2]);if(!(!Number.isSafeInteger(s)||!Number.isSafeInteger(c)||cs.toUpperCase());t[i]=n.slice(a+1).trim()}return t}function Fk(e,t){if(e.nodeType===Node.TEXT_NODE)return e.textContent;if(e.nodeType!==Node.ELEMENT_NODE)return null;let n=e,a={key:t};for(let r of n.attributes)r.name==="class"?a.className=r.value:r.name==="style"?a.style=YI(r.value):a[r.name]=r.value;let i=[...n.childNodes].map(Fk);return i.length===0?(0,q.createElement)(n.localName,a):(0,q.createElement)(n.localName,a,...i)}function Oo(e,t){let n;try{n=So.renderToString(e,{displayMode:t,throwOnError:!0})}catch(a){try{n=So.renderToString(e,{displayMode:t,strict:"ignore",throwOnError:!1})}catch{return(0,E.jsx)("span",{className:"katex-error",style:{color:"#cc0000"},title:String(a),children:e})}}return[...new DOMParser().parseFromString(n,"text/html").body.childNodes].map(Fk)}var QI=(0,q.createContext)({});function Yo(){return(0,q.useContext)(QI)}function JI({src:e,alt:t,labels:n,onClose:a}){let i=(0,q.useRef)(null),r=(0,q.useRef)(null);return(0,q.useEffect)(()=>{r.current=document.activeElement instanceof HTMLElement?document.activeElement:null,i.current?.focus();let s=c=>{c.key==="Escape"&&(c.stopPropagation(),a()),c.key==="Tab"&&(c.preventDefault(),i.current?.focus())};return window.addEventListener("keydown",s,!0),()=>{window.removeEventListener("keydown",s,!0),r.current?.focus()}},[a]),(0,v7.createPortal)((0,E.jsx)("div",{className:it.backdrop,role:"dialog","aria-modal":"true","aria-label":n.dialog,children:(0,E.jsxs)("div",{className:it.stage,children:[(0,E.jsx)("div",{className:it.mask,"aria-hidden":"true",onMouseDown:a}),(0,E.jsx)("img",{className:it.image,src:e,alt:t}),(0,E.jsx)("button",{ref:i,type:"button",className:it.close,"aria-label":n.close,onClick:a,children:(0,E.jsx)($q,{size:16})})]})}),document.body)}function eB({src:e,alt:t,loadingLabel:n,failedLabel:a}){return(0,E.jsx)(tB,{src:e,alt:t,loadingLabel:n,failedLabel:a},e)}function tB({src:e,alt:t,loadingLabel:n,failedLabel:a}){let[i,r]=(0,q.useState)("loading");return(0,E.jsxs)("span",{className:Va.frame,children:[i!=="failed"&&(0,E.jsx)("img",{src:e,alt:t,loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",className:Va.image,"data-ready":i==="ready"||void 0,onLoad:()=>{r("ready")},onError:()=>{r("failed")}}),i!=="ready"&&(0,E.jsxs)("span",{className:Va.status,role:"status",children:[i==="loading"&&(0,E.jsx)(Eq,{size:16}),(0,E.jsx)("span",{children:i==="loading"?n:a})]})]})}function jk(e){try{switch(new URL(e).protocol){case"http:":case"https:":case"mailto:":return e;default:return""}}catch{return""}}function nB(e){try{let t=new URL(e).protocol;return t==="http:"||t==="https:"?e:void 0}catch{return}}function aB(e){try{let t=new URL(e).protocol;return t==="http:"||t==="https:"||t==="blob:"||t==="data:"||e.startsWith("dsh-app://app/api/file?")?e:void 0}catch{return}}function iB(e,t){let n=nB(jk(Xn(e)));if(n!==void 0)return n;let a=t?.resolve(e);return a===void 0?void 0:aB(a)}function Wo(){return{definitions:new Map,footnotes:new Map}}function Ua(e,t){for(let n of e){if(n.type==="definition"){let a=n.identifier.toUpperCase();t.definitions.has(a)||t.definitions.set(a,n)}else if(n.type==="footnoteDefinition"){let a=n.identifier.toUpperCase();t.footnotes.has(a)||t.footnotes.set(a,n)}"children"in n&&Ua(n.children,t)}}function Uo(e,t){return e.map(n=>Jo(n.node,n.key,t)).filter(n=>n!==null)}function Qo(e,t){let n=[];for(let a of e)(t||n.length>0)&&n.push("\n"),n.push(a);return t&&e.length>0&&n.push("\n"),n}function Hk(e,t){let n=[];for(let[a,i]of e.entries())if(i.type==="paragraph")n.push({paragraph:he(i.children,t)});else{let r=Jo(i,a,t);r!==null&&n.push({element:r})}return n}function he(e,t){return e.map((n,a)=>Jo(n,a,t))}function Jo(e,t,n){switch(e.type){case"text":return e.value;case"paragraph":return(0,E.jsx)("p",{children:he(e.children,n)},t);case"heading":return(0,q.createElement)("h".concat(e.depth),{key:t},...he(e.children,n));case"blockquote":return(0,E.jsx)("blockquote",{children:Qo(he(e.children,{...n,inBlockquote:!0}).filter(a=>a!==null),!0)},t);case"thematicBreak":return(0,E.jsx)("hr",{},t);case"break":return(0,E.jsxs)(q.Fragment,{children:[(0,E.jsx)("br",{}),"\n"]},t);case"strong":return(0,E.jsx)("strong",{children:he(e.children,n)},t);case"emphasis":return(0,E.jsx)("em",{children:he(e.children,n)},t);case"delete":return(0,E.jsx)("del",{children:he(e.children,n)},t);case"inlineCode":{let a=e.value.replace(/\r?\n|\r/g," "),i=uB(a);if(i!==void 0)return(0,E.jsx)("code",{children:qk(i,[a],"link")},t);let r=n.inLink===!0?void 0:n.fileMentions?.resolve(a);return r!==void 0?(0,E.jsx)("code",{children:(0,E.jsxs)("button",{type:"button",className:Q0.fileMention,title:r.title,"aria-label":r.label,onClick:r.open,children:[(0,E.jsx)(Xo,{kind:Ro(a),className:Q0.linkIcon}),a]})},t):(0,E.jsx)("code",{children:a},t)}case"html":return e.value;case"code":return rB(e,t,n);case"math":return(0,E.jsx)(q.Fragment,{children:Oo(e.value,!0)},t);case"inlineMath":return(0,E.jsx)(q.Fragment,{children:Oo(e.value,!1)},t);case"list":return cB(e,t,n);case"listItem":return Tk(e,Nk(e),t,n);case"table":return oB(e,t,n);case"link":return Ik(e.url,he(e.children,{...n,inLink:!0}),t,!Vk(e.children),n.streaming);case"linkReference":return hB(e,t,n);case"image":return Bk(e.url,e.alt??"",t,n);case"imageReference":return gB(e,t,n);case"footnoteReference":return bB(e,t,n);case"definition":case"footnoteDefinition":return null;default:return null}}function rB(e,t,n){let a=e.lang??void 0;if(e.value==="")return(0,E.jsx)("pre",{children:(0,E.jsx)("code",{className:a===void 0?void 0:"language-".concat(a)})},t);let i=a===void 0?void 0:/^[\w-]+/.exec(a)?.[0];return!n.streaming&&i==="math"?(0,E.jsx)(q.Fragment,{children:Oo("".concat(e.value,"\n"),!0)},t):(0,E.jsx)(KI,{code:"".concat(e.value,"\n"),lang:i,streaming:n.streaming,copyLabel:n.labels.code.copyLabel,copiedLabel:n.labels.code.copiedLabel,toolbarLabels:n.labels.code.toolbarLabels},t)}function sB(e){return(e.spread??!1)||e.children.some(Nk)}function Nk(e){return e.spread??e.children.length>1}function cB(e,t,n){let a=sB(e),i={};return typeof e.start=="number"&&e.start!==1&&(i.start=e.start),e.children.some(r=>typeof r.checked=="boolean")&&(i.className="contains-task-list"),(0,q.createElement)(e.ordered===!0?"ol":"ul",{key:t,...i},...e.children.map((r,s)=>Tk(r,a,s,n)))}function Tk(e,t,n,a){let i=Hk(e.children,a),r=typeof e.checked=="boolean";if(r){let o=(0,E.jsx)("input",{type:"checkbox",checked:e.checked===!0,disabled:!0},"task-checkbox"),l=i[0];l!==void 0&&"paragraph"in l?l.paragraph=l.paragraph.length>0?[o," ",...l.paragraph]:[o]:i.unshift({paragraph:[o]})}let s=[];for(let[o,l]of i.entries()){let p="paragraph"in l;(t||o!==0||!p)&&s.push("\n"),p?t?s.push((0,E.jsx)("p",{children:l.paragraph},"p-".concat(o))):s.push((0,E.jsx)(q.Fragment,{children:l.paragraph},"p-".concat(o))):s.push(l.element)}let c=i[i.length-1];return c!==void 0&&(t||!("paragraph"in c))&&s.push("\n"),(0,E.jsx)("li",{className:r?"task-list-item":void 0,children:s},n)}function oB(e,t,n){let a=e.align??null,[i,...r]=e.children,s=(a===null?i?.children.length??0:a.length)>=4&&n.inBlockquote!==!0;return(0,E.jsx)("div",{className:f0(Q0.tableScroll,s?"md-table-wide":Q0.tableFill),tabIndex:s?0:void 0,children:(0,E.jsxs)("table",{children:[i!==void 0&&(0,E.jsx)("thead",{children:yk(i,"th",a,0,n)}),r.length>0&&(0,E.jsx)("tbody",{children:r.map((c,o)=>yk(c,"td",a,o+1,n))})]})},t)}function yk(e,t,n,a,i){let r=n===null?e.children.length:n.length,s=[];for(let c=0;c0&&e.every(t=>t.type==="image"||t.type==="imageReference")}function qk(e,t,n,a=!0){let i=jk(e);return i===""?(0,E.jsx)(q.Fragment,{children:t},n):(0,E.jsx)(lB,{href:i,glyph:a,children:t},n)}function lB({href:e,glyph:t,children:n}){let{openExternalLink:a}=Yo(),i=["http:","https:"].includes(new URL(e).protocol),r=i?a:void 0;return(0,E.jsxs)("a",{href:e,...i?{target:"_blank",rel:"noopener noreferrer"}:{},onClick:r===void 0?void 0:s=>{s.button!==0||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),r(e))},children:[t&&(0,E.jsx)(Xo,{kind:"url",href:e,className:Q0.linkIcon}),n]})}function Ik(e,t,n,a=!0,i=!1){let r=i?void 0:Ek(e);return r!==void 0?(0,E.jsx)(pB,{file:r,glyph:a,children:t},n):qk(Xn(e),t,n,a)}function pB({file:e,glyph:t,children:n}){let{openFile:a,fileImages:i}=Yo();if(a===void 0)return(0,E.jsx)(E.Fragment,{children:n});let r=t&&Ro(e.path)==="image"?i:void 0,s=r?.resolve(e.path),c=(0,E.jsxs)("button",{type:"button",className:f0(Q0.fileMention,Q0.fileLink),title:s===void 0?e.path:void 0,onClick:()=>{a(e.path,e.line===void 0?void 0:{line:e.line})},children:[t&&(0,E.jsx)(Xo,{kind:Ro(e.path),className:Q0.linkIcon}),n]});return s===void 0||r===void 0?c:(0,E.jsx)(Pq,{inline:!0,anchor:c,content:(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(eB,{src:s,alt:e.path,loadingLabel:r.labels.loading,failedLabel:r.labels.failed}),(0,E.jsx)("span",{className:Q0.previewName,children:e.path.split(/[\\/]/u).pop()})]})})}function uB(e){if(e.trim()===e)try{let t=new URL(e).protocol;return t==="http:"||t==="https:"?e:void 0}catch{return}}function Bk(e,t,n,a){return(0,E.jsx)(mB,{destination:e,alt:t,pathImages:a.pathImages,streaming:a.streaming,inLink:a.inLink===!0},"".concat(n,":").concat(e))}function mB({destination:e,alt:t,pathImages:n,streaming:a,inLink:i}){let{fileImages:r}=Yo(),s=a?void 0:Ek(e),c=(s===void 0?void 0:r?.resolve(s.path))??iB(e,n);return c===void 0?(0,E.jsx)("span",{className:Q0.imageAlt,children:t}):(0,E.jsx)(dB,{src:c,alt:t,destination:e,preview:i?void 0:r},c)}function dB({src:e,alt:t,destination:n,preview:a}){let[i,r]=(0,q.useState)(!1),[s,c]=(0,q.useState)(!1),o=(0,q.useCallback)(()=>{c(!1)},[]);if(i)return(0,E.jsxs)("span",{className:Q0.imageAlt,children:[a===void 0?"":"".concat(a.labels.failed," \xB7 "),t||n]});let l=(0,E.jsx)("img",{className:Q0.image,src:e,alt:t,onError:()=>{r(!0)},loading:"lazy",decoding:"async",referrerPolicy:"no-referrer"});return a===void 0?l:(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("button",{type:"button",className:Q0.imageButton,title:a.labels.open,"aria-label":t?"".concat(a.labels.open,": ").concat(t):a.labels.open,onClick:()=>{c(!0)},children:l}),s&&(0,E.jsx)(JI,{src:e,alt:t,labels:a.labels,onClose:o})]})}function Pk(e){return e.referenceType==="collapsed"?"][]":e.referenceType==="full"?"][".concat(e.label??e.identifier,"]"):"]"}function hB(e,t,n){let a=n.targets.definitions.get(e.identifier.toUpperCase());if(a===void 0)return(0,E.jsxs)(q.Fragment,{children:["[",he(e.children,n),Pk(e)]},t);let i=he(e.children,{...n,inLink:!0});return Ik(a.url,i,t,!Vk(e.children),n.streaming)}function gB(e,t,n){let a=n.targets.definitions.get(e.identifier.toUpperCase());return a===void 0?"![".concat(e.alt??"").concat(Pk(e)):Bk(a.url,e.alt??"",t,n)}function bB(e,t,n){let a=e.identifier.toUpperCase(),i=n.footnoteCounts.get(a);return i===void 0&&n.footnoteOrder.push(a),n.footnoteCounts.set(a,(i??0)+1),(0,E.jsx)("sup",{children:String(n.footnoteOrder.indexOf(a)+1)},t)}function Rk(e){let t=[];for(let n of e.footnoteOrder){let a=e.targets.footnotes.get(n);if(a===void 0)continue;let i=e.footnoteCounts.get(n)??0,r=[];for(let l=1;l<=i;l++)r.length>0&&r.push(" "),r.push("\u21A9"),l>1&&r.push((0,E.jsx)("sup",{children:String(l)},"re-".concat(l)));let s=Hk(a.children,e),c=s[s.length-1],o=s.map((l,p)=>"paragraph"in l?(0,E.jsxs)("p",{children:[l.paragraph,l===c&&(0,E.jsxs)(E.Fragment,{children:[" ",r]})]},"p-".concat(p)):l.element);(c===void 0||!("paragraph"in c))&&o.push(...r),t.push((0,E.jsx)("li",{id:"user-content-fn-".concat(Xn(n.toLowerCase())),children:Qo(o,!0)},n))}return t.length===0?null:(0,E.jsxs)("section",{"data-footnotes":!0,className:"footnotes",children:[(0,E.jsx)("h2",{id:"footnote-label",className:"sr-only",children:e.labels.footnotes}),(0,E.jsx)("ol",{children:t})]},"footnotes")}function fB(e,t,n,a){let i=WI(e),r=Wo();Ua(i.children,r);let s={streaming:!1,labels:t,fileMentions:n,pathImages:a,targets:r,footnoteOrder:[],footnoteCounts:new Map},c=Qo(Uo(i.children.map((l,p)=>({node:l,key:l.position?.start.offset??-(p+1)})),s),!1),o=Rk(s);return o===null?c:[...c,"\n",o]}var vB=class{labels;parser=new ZI(OI);generation=-1;frozenCount=0;frozenElements=[];frozenTargets=Wo();frozenFootnoteOrder=[];frozenFootnoteCounts=new Map;lastText=null;lastRendered=[];constructor(e){this.labels=e}render(e){if(e===this.lastText)return this.lastRendered;let{frozen:t,tail:n,generation:a}=this.parser.update(e);a!==this.generation&&(this.generation=a,this.frozenCount=0,this.frozenElements=[],this.frozenTargets=Wo(),this.frozenFootnoteOrder=[],this.frozenFootnoteCounts=new Map);let i=t.slice(this.frozenCount);Ua(i.map(l=>l.node),this.frozenTargets);let r={definitions:new Map(this.frozenTargets.definitions),footnotes:new Map(this.frozenTargets.footnotes)};if(Ua(n.map(l=>l.node),r),i.length>0){let l={streaming:!0,labels:this.labels,fileMentions:void 0,pathImages:void 0,targets:r,footnoteOrder:this.frozenFootnoteOrder,footnoteCounts:this.frozenFootnoteCounts},p=[...this.frozenElements];for(let u of Uo(i,l))p.length>0&&p.push("\n"),p.push(u);this.frozenElements=p,this.frozenCount=t.length}let s={streaming:!0,labels:this.labels,fileMentions:void 0,pathImages:void 0,targets:r,footnoteOrder:[...this.frozenFootnoteOrder],footnoteCounts:new Map(this.frozenFootnoteCounts)},c=[...this.frozenElements];for(let l of Uo(n,s))c.length>0&&c.push("\n"),c.push(l);let o=Rk(s);return o!==null&&c.push("\n",o),this.lastText=e,this.lastRendered=c,this.lastRendered}},Dk=(0,q.memo)(function({text:t,streaming:n=!1,labels:a,fileMentions:i,pathImages:r,variant:s="body"}){let c=(0,q.useRef)(null),o=(0,q.useRef)(a),l=(0,q.useMemo)(()=>n?((c.current===null||o.current!==a)&&(c.current=new vB(a),o.current=a),c.current.render(t)):(c.current=null,fB(t,a,i,r)),[t,n,a,i,r]);return(0,E.jsx)("div",{className:f0(Q0.markdown,s==="compact"&&Q0.compact),"data-markdown-variant":s==="compact"?s:void 0,children:l})});var Xa=U1(g0(),1);var y7=U1(g0(),1);function ge(e,t){let n=Math.sqrt(e),a=t/(2*n),i=c=>{if(a>=1)return 1-(1+n*c)*Math.exp(-n*c);let o=n*Math.sqrt(1-a*a);return 1-Math.exp(-a*n*c)*(Math.cos(o*c)+a*n/o*Math.sin(o*c))},r=.05;for(;r<2&&Math.abs(1-i(r))>.001;)r+=.01;let s=Array.from({length:25},(c,o)=>(o===24?1:i(r*o/24)).toFixed(4));return{duration:Math.round(r*1e3),easing:"linear(".concat(s.join(","),")"),stiffness:e,damping:t}}var d1=ge(400,31.2),j1=ge(900,48),F31=ge(484,35.2),Gk=ge(320,20),q1=ge(500,22),j31=ge(784,48.2),H31=ge(289,29.2),N31={lead:ge(900,51),trail:ge(400,34)},d0=(e,...t)=>t.map(n=>"".concat(n," ").concat(e.duration,"ms ").concat(e.easing)).join(",");var R31=typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("-webkit-text-security","disc");var D31='\n.bt-secret-head{align-items:center;gap:10px}\n.bt-secret-who{position:relative;flex:none;display:inline-flex}\n.bt-secret-lock{position:absolute;right:-5px;bottom:-4px;width:16px;height:16px;border-radius:50%;background:var(--bt-main);color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px var(--bt-bubble)}\n.bt-secret-lock svg{width:11px;height:11px}\n.bt-secret-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:16px;padding:1px 6px;border-radius:5px;background:var(--bt-hover);color:var(--bt-ink)}\n.bt-secret-body{display:flex;flex-direction:column;gap:8px}\n.bt-secret-field{align-items:center;min-height:36px}\n.bt-secret-input{flex:1;width:100%;min-width:0;margin:0;padding:0;border:0;outline:none;background:transparent;color:var(--bt-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:20px;letter-spacing:.04em}\n.bt-secret-input[data-masked]{-webkit-text-security:disc}\n.bt-secret-input::placeholder{color:var(--bt-ink-3);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;letter-spacing:0}\n.bt-secret-scope{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;align-self:flex-start;padding:2px;border-radius:999px;background:var(--bt-hover)}\n.bt-secret-glide{position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:999px;background:var(--bt-main);box-shadow:0 1px 3px rgba(20,20,20,.08),inset 0 0 0 .5px color-mix(in srgb,var(--bt-ink) 6%,transparent);transition:'.concat(d0(d1,"transform"),'}\n.bt-secret-glide[data-at="1"]{transform:translateX(100%)}\n.bt-secret-seg{position:relative;z-index:1;height:28px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--bt-ink-2);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer;transition:color .16s ease}\n.bt-secret-seg[aria-checked=true]{color:var(--bt-ink);font-weight:500}\n.bt-secret-seg:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px}\n/* A key card asks the user to act, so the process group carrying it stays open in every\n work-details mode (same override as .bt-group-replies in styles.js). */\n[data-step-process]:has(.bt-secret)>div:first-child{display:none!important}\n[data-step-process]:has(.bt-secret)>[data-step-process-body]{display:block!important;content-visibility:visible!important;max-height:none!important;overflow:visible!important;mask-image:none!important;scrollbar-gutter:auto!important}\n.bt-secret-ok{display:flex;align-items:center;gap:4px;margin-top:6px;animation:bt-secret-in .22s cubic-bezier(.22,1,.36,1)}\n.bt-secret-ok svg{width:13px;height:13px;color:#16a34a}\n@keyframes bt-secret-in{from{opacity:0;transform:translateY(-2px)}}\n.bt-secret-saved{display:flex;align-items:center;gap:6px;font-size:13px;line-height:18px;color:var(--bt-ink-2)}\n.bt-secret-note{font-size:12px;line-height:17px;color:var(--bt-ink-3)}\n.bt-secret-note code,.bt-secret-about code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px}\n.bt-secret-warn{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;font-size:12px;line-height:16px;color:#b25e09;background:color-mix(in srgb,#f59e0b 12%,transparent)}\n.bt-secret-error{font-size:12px;line-height:16px;color:#e02135}\n.bt-secret .bt-q-btn:disabled{opacity:.5;cursor:default}\n.bt-secret-done .bt-q-head{align-items:center}\n.bt-secret-done .bt-q-title{font-size:13px;line-height:18px;color:var(--bt-ink-2);font-weight:500}\n.bt-secret-scope-tag{font-weight:400;color:var(--bt-ink-3)}\n.bt-secret-check{color:var(--bt-green,#22a06b);animation:bt-secret-pop ').concat(q1.duration,"ms ").concat(q1.easing," backwards}\n.bt-secret-done{animation:bt-secret-settle .32s cubic-bezier(.22,1,.36,1) backwards}\n@keyframes bt-secret-pop{from{opacity:0;transform:scale(.4)}}\n@keyframes bt-secret-settle{from{opacity:.4;transform:scale(.985)}}\n.bt-secret-event{display:inline-flex;align-items:center;gap:5px}\n.bt-secret-dock{flex-direction:column;align-items:center}\n.bt-secret-dock .bt-q{max-width:min(550px,calc(100% - 32px))}\n.bt-secret-about{margin:0 0 12px;padding:0 4px;font-size:12px;line-height:17px;color:var(--bt-ink-2)}\n.bt-secret-title{display:flex;align-items:center;gap:6px;min-width:0;color:var(--bt-ink)}\n.bt-secret-title svg{flex:none;color:var(--bt-ink-2)}\n.bt-secret-purpose{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bt-ink-2)}\n.bt-secret-faces{display:inline-flex}\n.bt-secret-faces>*+*{margin-left:-6px}\n.bt-secret-edit{display:flex;flex-direction:column;gap:14px;padding:4px 12px 14px;animation:bt-q-in ").concat(d1.duration,"ms ").concat(d1.easing," backwards,bt-veil-in .2s ease-out backwards}\n.bt-secret-edit-block{display:flex;flex-direction:column;gap:8px}\n.bt-secret-edit-label{font-size:12px;line-height:16px;font-weight:600;color:var(--bt-ink-2)}\n.bt-secret-radios{display:flex;gap:16px;font-size:13px}\n.bt-secret-radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer}\n.bt-secret-bots{display:flex;flex-wrap:wrap;gap:6px}\n.bt-secret-bot{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 5px;border-radius:999px;border:.5px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink-2);font:inherit;font-size:12px;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}\n.bt-secret-bot[aria-pressed=true]{background:var(--bt-active);color:var(--bt-ink);border-color:var(--bt-line-2)}\n.bt-secret-bot svg{width:13px;height:13px}\n.bt-secret-inline{display:flex;gap:8px;align-items:center}\n.bt-secret-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}\n.bt-secret-row-actions .bt-set-hint{flex:1}\n.bt-secret-danger{color:#e02135;display:inline-flex;align-items:center;gap:4px}\n.bt-secret-danger svg{width:13px;height:13px}\n.bt-secret-add .bt-input{height:34px}\n@media (prefers-reduced-motion:reduce){.bt-secret-glide{transition:none}.bt-secret-check,.bt-secret-done,.bt-secret-ok,.bt-secret-edit{animation:none}}\n");var s0=U1(g0(),1);var Ok=(e,t)=>yt("flybot/".concat(e),t),_B,wB=()=>_B??=class extends s0.Component{constructor(t){super(t),this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(t){console.error("flybot: ".concat(this.props.id," failed"),t)}render(){return this.state.failed?this.props.fallback:this.props.children}};function xB(e){let t=g9(),[,n]=(0,s0.useState)(0);return(0,s0.useEffect)(()=>t.subscribe(()=>n(t.version())),[t]),t.entries("flybot.approvals").find(a=>a.inline===!0&&a.policy===e)}function Wk({held:e,actions:t}){let n=xB(e?.by),[a,i]=(0,s0.useState)(!1),[r,s]=(0,s0.useState)(""),c=Ct(e?.status);if((0,s0.useEffect)(()=>{if(c)return zt("held-reply:".concat(e.id),[e.id]),()=>zt("held-reply:".concat(e.id),[])},[e?.id,c]),!e?.id)return null;let o=async p=>{i(!0),s("");try{await Ok("decide",{id:e.id,decision:p})}catch(u){s(u?.message??String(u))}finally{i(!1)}};if(!c){let p=e.status==="failed";return(0,s0.createElement)("div",{className:"bt-held-note","data-state":e.status,title:p&&e.error?e.error:void 0},(0,s0.createElement)("span",null,e.status==="approved"?T("Sent to {to}",{to:e.toName}):e.status==="auto"?T("Auto-sent to {to}",{to:e.toName}):p?T("Not sent: delivery failed"):T("Not sent")),p&&F9(e)?(0,s0.createElement)("button",{type:"button",className:"bt-held-retry",disabled:a,onClick:()=>o("retry")},T("Retry")):null,r?(0,s0.createElement)("span",{className:"bt-flybot-approval-error",role:"alert"},r):null)}let l=(0,s0.createElement)("div",{className:"bt-held-card",role:"region","aria-label":T("Waiting for your approval")},(0,s0.createElement)("div",{className:"bt-held-head"},T("Waiting for your approval")),(0,s0.createElement)("div",{className:"bt-flybot-approval-origin"},T("{from} \u2192 {to}",{from:e.from??T("A Bot"),to:e.toName})),(0,s0.createElement)("div",{className:"bt-flybot-approval-actions"},(0,s0.createElement)("button",{type:"button",disabled:a,onClick:()=>o("reject")},T("Reject")),(0,s0.createElement)("button",{type:"button",className:"bt-flybot-approve",disabled:a,onClick:()=>o("approve")},T("Approve"))),r?(0,s0.createElement)("div",{className:"bt-flybot-approval-error",role:"alert"},r):null);return(0,s0.createElement)("div",{className:"bt-held-actions","data-flybot":"held-reply-actions"},n?(0,s0.createElement)(wB(),{id:n.id,fallback:l},(0,s0.createElement)(n.component,{held:e,decide:o,call:Ok,actions:t})):l)}function Xk(e,t){let n=e.length?e:[t];return n.find(a=>Uk(a)!=="")?.step!==t.step?"":n.filter(a=>!zB(a)).map(Uk).filter(Boolean).join("\n\n")}var kB=e=>e.blocks.filter(t=>t.kind==="text"&&t.text.trim()!==""),zB=e=>e.status==="running"&&kB(e).length===0&&e.blocks.some(t=>t.kind==="reasoning"),Uk=e=>e.blocks.filter(t=>t.kind==="reasoning").map(t=>t.text).join("\n").trim();var CB=()=>({code:{copyLabel:T("Copy"),copiedLabel:T("Copied")},footnotes:T("Footnotes")});function Jk({texts:e,roster:t,selfId:n,actions:a,streaming:i,sessionId:r,msgKey:s,useUi:c,lead:o,mentions:l}){let p=m=>{let d=ap(m);d!==null&&(m.preventDefault(),m.stopPropagation(),a.openSession(d))},u=c?c(m=>s?m.reactions?.[s]??null:null):null;return(0,c1.createElement)("div",{className:"bt-astack","data-lead":o?"":void 0,onClickCapture:p},e.map((m,d)=>{let f=s&&typeof a.toggleReaction=="function"?"".concat(s,":").concat(d):void 0,w=f?u?.[d]??[]:[],k=d===e.length-1,v=i&&k;return(0,c1.createElement)("div",{key:d,className:"bt-msg"},(0,c1.createElement)("div",{className:"bt-msg-line"},o&&k?o:null,(0,c1.createElement)("div",{className:"bt-bubble"},(0,c1.createElement)(Dk,{text:np(m,t.bots,n),streaming:v,labels:CB(),variant:"compact",fileMentions:l})),v?null:(0,c1.createElement)($B,{text:m,name:t.byId[n]?.name??T("Bot"),sessionId:r,react:f?b=>a.toggleReaction(s,d,b):void 0,actions:a})),w.length?(0,c1.createElement)("div",{className:"bt-reacts"},w.map(b=>(0,c1.createElement)("button",{key:b,type:"button",className:"bt-react","aria-label":T("Remove reaction {emoji}",{emoji:b}),onClick:()=>a.toggleReaction(s,d,b)},b))):null)}))}var AB=["\u{1F44D}","\u2764\uFE0F","\u{1F602}","\u{1F62E}","\u{1F622}","\u{1F64F}"];function MB(e,t,n){(0,c1.useEffect)(()=>{if(!e)return;let a=r=>{n.some(s=>s.current?.contains(r.target))||t()},i=r=>{r.key==="Escape"&&(r.stopPropagation(),t())};return window.addEventListener("mousedown",a),window.addEventListener("keydown",i,!0),()=>{window.removeEventListener("mousedown",a),window.removeEventListener("keydown",i,!0)}},[e])}function $B({text:e,name:t,sessionId:n,react:a,actions:i}){let[r,s]=(0,c1.useState)(null),[c,o]=(0,c1.useState)(null),[l,p]=(0,c1.useState)(!1),u=(0,c1.useRef)(null),m=(0,c1.useRef)(null),d=()=>s(null);MB(r!==null,d,[u,m]);let f=(b,_)=>{if(r===b){d();return}let z=_.currentTarget.getBoundingClientRect(),L=z.bottom+220{navigator.clipboard?.writeText(e).then(()=>{p(!0),setTimeout(()=>p(!1),1e3)})},k=()=>{let b=URL.createObjectURL(new Blob([e],{type:"text/markdown"}));Object.assign(document.createElement("a"),{href:b,download:"".concat(t,"-message.md")}).click(),setTimeout(()=>URL.revokeObjectURL(b),1e3)},v=(b,_,z)=>(0,c1.createElement)("button",{key:b,type:"button",role:"menuitem",onClick:()=>{d(),z()}},(0,c1.createElement)(_),b);return(0,c1.createElement)("div",{ref:u,className:"bt-tools","data-open":r!==null||void 0},a?(0,c1.createElement)("button",{type:"button",className:"bt-tool","aria-label":T("Add reaction"),title:T("Add reaction"),"aria-expanded":r==="react",onClick:b=>f("react",b)},(0,c1.createElement)(wp)):null,n?(0,c1.createElement)("button",{type:"button",className:"bt-tool","aria-label":T("Reply"),title:T("Reply"),onClick:()=>i.quote(n,e)},(0,c1.createElement)(xp)):null,(0,c1.createElement)("button",{type:"button",className:"bt-tool","aria-label":T("More message actions"),title:T("More"),"aria-haspopup":"menu","aria-expanded":r==="more",onClick:b=>f("more",b)},l?(0,c1.createElement)($t):(0,c1.createElement)(kp)),r==="react"?(0,el.createPortal)((0,c1.createElement)("div",{ref:m,className:"bt-react-strip",role:"menu","aria-label":T("Reactions"),style:c},AB.map(b=>(0,c1.createElement)("button",{key:b,type:"button",role:"menuitem","aria-label":b,onClick:()=>{d(),a(b)}},b))),document.body):null,r==="more"?(0,el.createPortal)((0,c1.createElement)("div",{ref:m,className:"bt-menu",role:"menu","aria-label":T("Message actions"),style:c},v(T("Copy"),Lp,w),v(T("Download"),zp,k)),document.body):null)}var Kk=160,Yk="\u2026",LB=[/^\s{0,3}(?:`{3,}|~{3,})/,/^\s{0,3}([-*_])(?:\s*\1){2,}\s*$/],SB=e=>LB.some(t=>t.test(e)),ZB=e=>typeof Intl<"u"&&typeof Intl.Segmenter=="function"?[...new Intl.Segmenter().segment(e)].map(t=>t.segment):[...e],EB=e=>{if(e.length<=Kk)return e;let t="";for(let n of ZB(e)){if(t.length+n.length>Kk-Yk.length)break;t+=n}return t+Yk},FB=e=>e.length===1?T("{n} line of reasoning",{n:e.length}):T("{n} lines of reasoning",{n:e.length}),jB=e=>{let t=e.split("\n").map(a=>a.replace(/\s+/g," ").trim()).filter(a=>a!==""),n=t.find(a=>!SB(a));return n===void 0?FB(t):EB(n)};function HB({text:e}){if(typeof e!="string"||e.trim()==="")return null;let t=jB(e);return(0,c1.createElement)("details",{className:"bt-think"},(0,c1.createElement)("summary",null,(0,c1.createElement)("span",{className:"bt-think-caret","aria-hidden":!0},"\u203A"),T("Thought it through"),t?(0,c1.createElement)("span",{className:"bt-think-peek"},t):null),(0,c1.createElement)("div",{className:"bt-think-text"},e))}function NB({node:e,openFile:t,fileMentions:n,useTurnData:a}){let i=a?.("turn-tail"),r=e.location,s=r?.kind==="turn"||r?.kind==="step"?r.turn:void 0,c=e.data.finalNode?.seq;return(0,c1.useMemo)(()=>{if(!(typeof n!="function"||s?.status!=="closed"||c===void 0))return i?.closing?.finalNode.seq===c?n({turn:s,seq:c,openFile:t}):void 0},[n,t,c,i,s])}function TB(e,t){let n=t?.("turn-tail"),a=e.data.finalNode?.seq;return!n?.closing||a===void 0?!0:n.closing.finalNode?.seq===a}function VB(e,t){if(!(e?.remote===void 0||t.length===0)&&!t.every(n=>/^Not sent:/.test(n.trim())))return(0,c1.createElement)("span",{className:"bt-lead",title:e.name,"data-flybot":"friend-lead"},(0,c1.createElement)(O0,{bot:e,size:22}))}function ez({node:e,groupPart:t,sessionId:n,openFile:a,fileMentions:i,useTurnData:r,useRoster:s,useUi:c,useTurnSteps:o,useTurnContext:l,actions:p}){let u=s(S=>S),m=e.data,d=o(String(m.turn)),f=l(String(m.turn)),w=NB({node:e,openFile:a,fileMentions:i,useTurnData:r}),k=t==="reasoning"?void 0:pp(u.byId[n],n,m.turn),v=TB(e,r),b=!!u.roomsById[n]||sp(u,n,m.turn),_=rp(u,n,m.turn),z=t==="reasoning"?[]:m.blocks.filter(S=>S.kind==="text"&&S.text.trim()!=="").map((S,R)=>R===0?L9(S.text):S.text).filter(S=>S.trim()!==""),L=m.status==="running";if(RB(p,n,"text:".concat(e.key??m.seq),!b&&L&&z.length>0?{text:!0}:null),b)return null;let C=t==="response"?"":Xk(d,m),j=op(m,t)?lp(f,d,m):[];if(z.length===0&&!C&&j.length===0)return null;let N=u.byId[n]?.id??n,H=z.length?_?(0,c1.createElement)(tl,{name:_,texts:z,roster:u,selfId:N,actions:p,sessionId:n,msgKey:"".concat(n,":").concat(m.turn,":").concat(e.key??m.seq??""),useUi:c}):(0,c1.createElement)(Jk,{texts:z,roster:u,selfId:N,actions:p,streaming:L,sessionId:n,msgKey:"".concat(n,":").concat(m.turn,":").concat(e.key??m.seq??""),useUi:c,mentions:w,lead:VB(u.byId[n],z)}):null;return(0,c1.createElement)(c1.Fragment,null,j.map(S=>{let R=S.source,B=u.byId[R.senderSessionId]??{id:R.senderSessionId,name:R.senderName??T("a Bot"),color:"gray"};return(0,c1.createElement)(IB,{key:S.seq,prefix:R.role==="stopped"?T("Stopped by"):R.role==="reply"?T("Reply from"):T("Message from"),bots:[B],onOpen:()=>{B.id&&p.openExchange(N,B.id)},whole:!0})}),C?(0,c1.createElement)(HB,{text:C}):null,k&&H?(0,c1.createElement)(qB,{held:k,roster:u,sessionId:n,actions:p,closing:v},H):H)}function qB({held:e,roster:t,sessionId:n,actions:a,closing:i,children:r}){let s=t.byId[n],c=(t.bots??[]).find(l=>l.remote?.handle===e.to),o=L2(e.toOwner)||(c?m9(c):n5({handle:e.to}))||e.to||T("a friend");return(0,c1.createElement)("div",{className:"bt-held-reply","data-state":e.status,"data-held":Ct(e.status)?"":void 0},r,i?(0,c1.createElement)(Wk,{held:{...e,toName:o,from:s?.name},actions:a}):null)}function tl({name:e,texts:t,roster:n,selfId:a,actions:i,sessionId:r,msgKey:s,useUi:c}){let o=(0,c1.createElement)("span",{className:"bt-lead",title:e},(0,c1.createElement)(B7,{name:e}));return(0,c1.createElement)("div",{className:"bt-group-msg bt-person-msg","data-person":e},(0,c1.createElement)("span",{className:"bt-group-name"},e),(0,c1.createElement)(Jk,{texts:t,roster:n,selfId:a,actions:i,sessionId:r,msgKey:s,useUi:c,lead:o}))}function IB({prefix:e,bots:t,joiner:n=T("and"),onOpen:a,whole:i=!1}){if(i&&t.length===1)return(0,c1.createElement)("div",{className:"bt-event"},(0,c1.createElement)("button",{type:"button",className:"bt-event-whole",title:t[0].name,onClick:()=>a?.(t[0])},(0,c1.createElement)("span",null,e),(0,c1.createElement)(O0,{bot:t[0],size:16}),(0,c1.createElement)("span",{className:"bt-event-name"},t[0].name)));let r=[];return r.push((0,c1.createElement)("span",{key:"p"},e)),t.forEach((s,c)=>{c>0&&r.push((0,c1.createElement)("span",{key:"j".concat(c)},n)),r.push((0,c1.createElement)("button",{key:s.id??c,type:"button",onClick:()=>a?.(s)},(0,c1.createElement)(O0,{bot:s,size:16}),s.name))}),(0,c1.createElement)("div",{className:"bt-event"},r)}var q41=1800*1e3;function w7({children:e}){return(0,c1.createElement)("span",{className:"bt-shimmer"},e)}var BB=[[/web_?search|search_?web/i,"Searching online"],[/fetch|browse|browser|web/i,"Reading a page"],[/shell|bash|pwsh|powershell|exec|command|terminal/i,"Running shell commands"],[/^(read|view|cat)\b|read_/i,"Opening a file"],[/grep|glob|list_dir|^ls$|find|search/i,"Looking through files"],[/write|edit|patch|apply|replace/i,"Writing changes"],[/image|photo|draw/i,"Working on an image"]],Qk={create_group:"Creating a group",update_group:"Updating the group",delete_group:"Deleting the group",post_to_group:"Posting in the group"};function PB(e,t,n,a){switch(e){case"ask_user":return null;case"request_secret":return null;case"list_secrets":return{label:T("Checking the keys"),state:"searching"};case"ask_user_question":return{label:T("Waiting for your answer"),state:"alert"};case"group_relay":return{relay:!0,state:"orbit"};case"message_bot":{let r=n(t("to"));return{label:r?T("Asking {name}",{name:r.name}):T("Asking another Bot"),state:"sending"}}case"stop_bot":{let r=n(t("bot"));return{label:r?T("Stopping {name}",{name:r.name}):T("Stopping another Bot"),state:"sending"}}case"create_bot":return{label:T("Creating {name}",{name:t("name")??T("a Bot")}),state:"sending"};case"update_bot":{let r=n(t("name"))??n(t("bot"))??(t("bot")?void 0:a);return{label:T("Updating {name}",{name:r?.name??T("a Bot")}),state:"sending"}}case"list_bots":return{label:T("Checking the team"),state:"searching"};case"read_group_chat":return{label:T("Reading {name}",{name:t("group")??T("a group chat")}),state:"searching"};case"read_own_chat":return{label:T("Looking back through the chat"),state:"searching"};case"remember":return{label:T("Saving to memory"),state:"working"};case"forget":return{label:T("Updating memory"),state:"working"};case"recall":return{label:T("Checking memory"),state:"searching"};default:if(Qk[e])return{label:T(Qk[e]),state:"sending"};let i=BB.find(([r])=>r.test(e))?.[1];return{label:i?T(i):null,state:E9(e)}}}function _7(e){return e?PB(e,()=>{},()=>{})?.label??T("Using {tool}",{tool:e}):T("Thinking about it")}function ot(e,t){return t?T("{action}: {detail}",{action:_7(e),detail:t}):"".concat(_7(e),"\u2026")}function RB(e,t,n,a){let i=a?JSON.stringify(a):"";(0,c1.useEffect)(()=>{if(i)return e.noteLive(t,n,JSON.parse(i)),()=>e.noteLive(t,n,null)},[t,n,i])}var lt=U1(g0(),1),UB=U1(R3(),1);function nl(e){let t=Math.floor(e/6e4);if(t<60)return"".concat(Math.max(1,t),"m");let n=Math.floor(t/60);return t%60===0?"".concat(n,"h"):"".concat(n,"h ").concat(t%60,"m")}var al='\n.bt-mw-dock-stack{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:var(--dsh-chat-content-width,min(960px,100%));margin:0 auto 6px;pointer-events:none}\n.bt-mw-row{pointer-events:auto;display:flex;align-items:center;gap:10px;min-width:0;max-width:calc(100% + 6px);height:32px;margin-inline-start:-6px;padding:0 12px 0 6px;border:0;border-radius:16px;background:none;color:var(--bt-ink-2);font:inherit;font-size:14px;cursor:pointer;animation:bt-mw-in .32s cubic-bezier(.23,1,.32,1) backwards;transition:background-color .16s ease-out}\n.bt-mw-row:hover{background:var(--bt-hover)}\n.bt-mw-row>.bt-mark{flex:none}\n.bt-mw-row-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-mw-row-time{flex:none;font-size:12px;color:var(--bt-ink-3);white-space:nowrap}\n.bt-mw-work{display:flex;align-items:center;justify-content:space-between;gap:8px}\n.bt-mw-stop{flex:none;height:22px;padding:0 10px;border:1px solid var(--bt-line,rgba(0,0,0,.12));border-radius:11px;background:none;color:var(--bt-ink-2);font:inherit;font-size:12px;cursor:pointer}\n.bt-mw-stop:hover{background:var(--bt-hover)}\n.bt-mw-stop:disabled{opacity:.5;cursor:default}\n.bt-mw-line{gap:8px}\n.bt-mw-stack{display:inline-flex;align-items:center;flex:none;line-height:0}\n.bt-mw-stack>*+*{margin-left:-4px}\n.bt-mw-face{position:relative;display:inline-flex;flex:none;border-radius:50%}\n.bt-mw-stack .bt-mw-face{box-shadow:0 0 0 1.5px var(--bt-main,#fff)}\n.bt-mw-face[data-ask]::after{content:"";position:absolute;right:-2px;bottom:-2px;width:7px;height:7px;border-radius:50%;background:#e3a008;box-shadow:0 0 0 1.5px var(--bt-main,#fff)}\n.bt-mw-ask{color:#b7791f;flex:none;white-space:nowrap}\nbody[data-ds-dark-theme] .bt-mw-ask{color:#f0b84a}\n.bt-mw-member{padding:0 6px 8px 42px;display:flex;flex-direction:column;gap:6px}\n.bt-mw-state{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-top:-4px}\n.bt-mw-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:var(--bt-hover);font-size:12px;line-height:17px;color:var(--bt-ink-2)}\n.bt-mw-tool{font-weight:600;color:var(--bt-ink)}\n.bt-mw-text{color:var(--bt-ink);overflow-wrap:anywhere}\n.bt-mw-reason{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}\n.bt-mw-code{display:block;font:11px/16px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--bt-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-mw-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:4px}\n.bt-mw-actions>button{height:28px;padding:0 12px;font-size:12px}\n.bt-mw-actions>button:disabled{opacity:.5;cursor:default}\n@keyframes bt-mw-in{from{opacity:0;transform:translateY(4px)}}\n@media (prefers-reduced-motion:reduce){.bt-mw-row{animation:none}}\n';var tz=(e,t)=>typeof t=="number"&&e-t>=6e4?" \xB7 ".concat(nl(e-t)):"",nz=(e,t)=>t?.remote?[]:[["always-bot","Always allow for this Bot"],...e.roomId?[["always-room","Always allow for this group"]]:[]];function Ka({approval:e,bot:t,actions:n,standing:a=!0}){let[i,r]=(0,J1.useState)(!1),s=c=>{r(!0),Promise.resolve(n.answerApproval(e.id,c)).catch(o=>n.reportError(o,"approval")).finally(()=>r(!1))};return(0,J1.createElement)("div",{className:"bt-mw-card",role:"group","aria-label":T("{name} is waiting for your approval",{name:t.name})},(0,J1.createElement)("div",{className:"bt-mw-tool"},e.tool),e.detail?.text?(0,J1.createElement)("div",{className:"bt-mw-text"},e.detail.text):null,e.reason?(0,J1.createElement)("div",{className:"bt-mw-reason"},e.reason):null,e.detail?.code?(0,J1.createElement)("code",{className:"bt-mw-code",title:e.detail.code},e.detail.code):null,e.answerable?(0,J1.createElement)("div",{className:"bt-mw-actions"},(0,J1.createElement)("button",{type:"button",className:"bt-q-btn",disabled:i,onClick:()=>s("reject")},T("Reject")),(0,J1.createElement)("button",{type:"button",className:"bt-q-submit",disabled:i,onClick:()=>s("allow")},T("Allow once")),...(a?nz(e,t):[]).map(([c,o])=>(0,J1.createElement)("button",{key:c,type:"button",className:"bt-q-btn","data-choice":c,disabled:i,onClick:()=>s(c)},T(o)))):(0,J1.createElement)("div",{className:"bt-mw-actions"},(0,J1.createElement)("button",{type:"button",className:"bt-q-btn",onClick:()=>n.openSession(t.id)},T("Open {name}'s chat",{name:t.name}))))}function az({entry:e,bot:t,room:n,actions:a,now:i}){let[r,s]=(0,J1.useState)(!1);if(e.state==="ask")return(0,J1.createElement)("div",{className:"bt-mw-member"},(0,J1.createElement)("div",{className:"bt-mw-state bt-mw-ask"},"".concat(T("Waiting for your approval")).concat(tz(i,e.approvals[0].at))),e.approvals.map(o=>(0,J1.createElement)(Ka,{key:o.id,approval:o,bot:t,actions:a})));if(e.state!=="work")return null;let c=()=>{s(!0),Promise.resolve(a.stopMemberWork(n.id,t.id)).catch(o=>a.reportError(o,"stop")).finally(()=>s(!1))};return(0,J1.createElement)("div",{className:"bt-mw-member"},(0,J1.createElement)("div",{className:"bt-mw-state bt-mw-work"},(0,J1.createElement)("span",null,(0,J1.createElement)(w7,null,ot(e.doing.tool,e.doing.step)),tz(i,e.doing.since)),e.here&&e.doing.handed!==!0?(0,J1.createElement)("button",{type:"button",className:"bt-mw-stop",disabled:r,onClick:c},T("Stop")):null))}var A1=U1(g0(),1),KB=U1(R3(),1);var YB=()=>window.SpeechRecognition??window.webkitSpeechRecognition;function QB(e){let[t,n]=(0,A1.useState)(!1),[a,i]=(0,A1.useState)(""),r=(0,A1.useRef)(null),s=(0,A1.useRef)(e);return s.current=e,(0,A1.useEffect)(()=>()=>r.current?.abort(),[]),(0,A1.useEffect)(()=>{if(!a)return;let l=setTimeout(()=>i(""),2600);return()=>clearTimeout(l)},[a]),{listening:t,note:a,start:({continuous:l=!0,onEnd:p}={})=>{let u=YB();if(!u)return i(T("Dictation is not available in this browser")),!1;let m=new u;m.lang=navigator.language||"zh-CN",m.interimResults=!0,m.continuous=l,m.onresult=d=>{let f="";for(let w=d.resultIndex;w{d.error==="aborted"||d.error==="no-speech"||i(d.error==="not-allowed"||d.error==="service-not-allowed"?T("Microphone access is blocked"):T("Couldn't hear that"))},m.onend=()=>{n(!1),r.current=null,p?.()},r.current=m;try{return m.start(),n(!0),!0}catch{return i(T("Couldn't start dictation")),!1}},stop:()=>r.current?.stop()}}function il({chat:e,mentions:t=[],initialText:n="",attachments:a=[],initialImages:i=[],allowImages:r=!1,onImages:s,onDraft:c,onError:o}){let[l,p]=(0,A1.useState)(n),[u,m]=(0,A1.useState)(!1),d=(0,A1.useRef)(!1),[f,w]=(0,A1.useState)([]),[k,v]=(0,A1.useState)(i),b=(0,A1.useRef)(!0),_=(0,A1.useRef)(!1),[z,L]=(0,A1.useState)(!1);(0,A1.useEffect)(()=>()=>{b.current=!1},[]);let C=async X=>{if(_.current)return;_.current=!0,L(!0);let o1=[...X.target.files],w1=X.target.ownerDocument.defaultView;X.target.value="";try{if(o1.length+k.length>4||o1.some(M=>M.size>256*1024)||o1.reduce((M,a1)=>M+a1.size,k.reduce((M,a1)=>M+a1.bytes,0))>512*1024)throw new Error("Choose up to four files, at most 256 KiB each and 512 KiB total");let M1=await Promise.all(o1.map(M=>new Promise((a1,l1)=>{let Z=new w1.FileReader;Z.onerror=()=>l1(new Error("Image could not be read")),Z.onload=()=>a1({name:M.name,mediaType:M.type,bytes:M.size,data:String(Z.result).split(",")[1]}),Z.readAsDataURL(M)})));if(b.current){let M=[...k,...M1];v(M),s?.(M),N("")}}catch(M1){b.current&&N(M1.message)}finally{_.current=!1,b.current&&L(!1)}},[j,N]=(0,A1.useState)(""),H=(0,A1.useRef)(null),S=(0,A1.useRef)(l);S.current=l;let R=X=>{p(X),c?.(X)},B=QB((X,o1)=>{o1&&R(S.current+X)}),I=l.match(/(?:^|\s)@([^\s@]*)$/)?.[1],e1=I===void 0?[]:t.filter(X=>X.name.toLowerCase().includes(I.toLowerCase())).slice(0,8),G=async X=>{if(X.preventDefault(),!(d.current||_.current||!l.trim()&&!k.length)){d.current=!0,m(!0),N("");try{await e.send(l,k.length?{images:k.filter(o1=>["image/png","image/jpeg","image/webp","image/gif"].includes(o1.mediaType)),files:k.filter(o1=>!["image/png","image/jpeg","image/webp","image/gif"].includes(o1.mediaType))}:f.length?{attachmentIds:f}:void 0),R(""),w([]),v([]),s?.([])}catch(o1){N(o1.message),o?.(o1)}finally{d.current=!1,m(!1)}}};return(0,A1.createElement)("form",{className:"bt-scoped-composer",onSubmit:G,"data-composer-card":""},(0,A1.createElement)("textarea",{ref:H,name:"text","aria-label":T("Message"),value:l,disabled:u,onInput:X=>R(X.target.value),onKeyDown:X=>{X.key==="Enter"&&!X.shiftKey&&!X.nativeEvent.isComposing&&G(X)}}),r?(0,A1.createElement)("label",null,(0,A1.createElement)(Cp),"Add files",(0,A1.createElement)("input",{type:"file",multiple:!0,disabled:z||u,onChange:C})):null,k.map((X,o1)=>(0,A1.createElement)("div",{key:o1},X.name,(0,A1.createElement)("button",{type:"button",onClick:()=>{let w1=k.filter((M1,M)=>M!==o1);v(w1),s?.(w1)}},"Remove"))),a.length?(0,A1.createElement)("fieldset",null,(0,A1.createElement)("legend",null,"Include registered documents"),a.map(X=>(0,A1.createElement)("label",{key:X.id},(0,A1.createElement)("input",{type:"checkbox",checked:f.includes(X.id),onChange:o1=>w(w1=>o1.target.checked?[...w1,X.id]:w1.filter(M1=>M1!==X.id))}),X.name))):null,e1.length?(0,A1.createElement)("div",{role:"listbox","aria-label":T("Bots")},e1.map(X=>(0,A1.createElement)("button",{key:X.id,type:"button",role:"option",onClick:()=>{R(l.slice(0,l.length-I.length)+X.name+" "),H.current?.focus()}},X.name))):null,(0,A1.createElement)("button",{type:"button","aria-label":B.listening?T("Stop dictation"):T("Dictate"),onClick:()=>B.listening?B.stop():B.start()},(0,A1.createElement)(_p)),(0,A1.createElement)("button",{type:"submit",disabled:u||z||!l.trim()&&!k.length},T("Send")),j?(0,A1.createElement)("p",{role:"alert"},j):null,B.note?(0,A1.createElement)("p",{role:"status"},B.note):null)}var y1=U1(g0(),1),fz=U1(rz(),1);var r1=U1(g0(),1),rP=U1(R3(),1);var pt=U1(g0(),1);var Ya=U1(g0(),1);var H51=7*864e5;var nP=e=>(0,pt.createElement)("path",{d:e}),w3=(...e)=>function(){return(0,pt.createElement)("svg",{width:14,height:14,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.map(nP))},Q4="M10 3.25a6.75 6.75 0 1 1 0 13.5 6.75 6.75 0 0 1 0-13.5z",N51=w3("M3.5 11.5l1.9-6.1A1.5 1.5 0 0 1 6.83 4.35h6.34a1.5 1.5 0 0 1 1.43 1.05l1.9 6.1","M3.5 11.5v3.25a1.5 1.5 0 0 0 1.5 1.5h10a1.5 1.5 0 0 0 1.5-1.5V11.5","M3.5 11.5h3.75l1 1.75h3.5l1-1.75h3.75"),T51=w3(Q4,"M10 6.75v3.75","M10 13.25h.01"),V51=w3(Q4,"M10 6.5V10l2.25 1.5"),q51=w3(Q4,"M8.1 8a2 2 0 1 1 2.65 1.9c-.45.18-.75.6-.75 1.1v.25","M10 13.5h.01"),I51=w3(Q4,"M7 10.25l2 2 4-4.25"),B51=w3(Q4,"M7.75 7.75l4.5 4.5M12.25 7.75l-4.5 4.5"),P51=w3(Q4,"M8.5 7.25v5.5l4.25-2.75z"),R51=w3("M4.5 10.5l3.5 3.5 7.5-8"),D51=w3(Q4,"M5.25 14.75l9.5-9.5");var Qa=U1(g0(),1);var aP=U1(g0(),1);var x7=U1(g0(),1),iP=U1(R3(),1);var sl='\n.bt-side-top .bt-brand{cursor:default;padding-left:6px}\n.bt-side-top .bt-brand:hover{background:none}\n.bt-brand .bt-mark{flex:none}\n.bt-pin{flex:none;display:inline-flex;color:var(--bt-ink-3)}\n.bt-rail .bt-row{position:relative}\n.bt-rail .bt-pin{position:absolute;top:3px;left:calc(50% + 12px)}\n.bt-side .bt-read-only{margin:4px 8px 6px;padding:8px 10px;border-radius:10px;background:var(--bt-hover);font-size:12px;line-height:1.45;text-align:left}\n[class*="_footArea"]:has(.bt-foot-account){display:flex!important;flex-direction:row!important;align-items:center;gap:6px}\n[class*="_footArea"]:has(.bt-foot-account)>[class*="_footerActions"],[class*="_footArea"]:has(.bt-foot-account)>[class*="_footerActions"]>div{display:contents!important}\n.bt-foot-account{order:-1;flex:none;display:inline-flex}\n[class*="_footArea"]:has(.bt-foot-account) .bt-connect-foot{order:0;flex:1 1 auto;min-width:0;width:auto}\n[class*="_footArea"]:has(.bt-foot-account)>[class*="_settingsArea"]{order:1;flex:none}\n[class*="_footArea"]:has(.bt-foot-account)>[class*="_settingsArea"] button[class*="_trigger"] [class*="_label"]{display:none!important}\n\n/* The update cloud springs in when a newer DS Bot shows up; its arrow drops in a\n loop while the install runs. */\n.bt-round.bt-update{position:relative;color:var(--bt-accent,#4D6BFE);animation:bt-update-in '.concat(d1.duration,"ms ").concat(d1.easing,'}\n.bt-round.bt-update svg{width:17px;height:17px}\n.bt-round.bt-update[data-phase=installed]{color:var(--bt-ink-2)}\n@keyframes bt-update-in{from{opacity:0;transform:scale(.6);filter:blur(4px)}}\n.bt-update[data-phase=installing] .bt-cloud-arrow{animation:bt-cloud-drop 1.1s cubic-bezier(.45,0,.55,1) infinite}\n@keyframes bt-cloud-drop{0%{transform:translateY(-3px);opacity:0}35%{opacity:1}70%{transform:translateY(1px);opacity:1}100%{transform:translateY(2px);opacity:0}}\n.bt-update-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:#E5484D;box-shadow:0 0 0 1.5px var(--bt-sidebar)}\n.bt-update-pop{position:fixed;z-index:130;width:280px;padding:14px 14px 12px;border-radius:14px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);color:var(--bt-ink);box-sizing:border-box;transform-origin:top left;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;animation:bt-update-pop ').concat(d1.duration,"ms ").concat(d1.easing,'}\n@keyframes bt-update-pop{from{opacity:0;transform:scale(.96);filter:blur(4px)}}\n.bt-update-title{font-size:14px;line-height:20px;font-weight:600}\n.bt-update-text{margin-top:2px;font-size:12.5px;line-height:18px;color:var(--bt-ink-2)}\n.bt-update-error{margin-top:8px;font-size:12px;line-height:17px;color:#c21d2e;overflow-wrap:anywhere;max-height:90px;overflow:auto}\n.bt-update-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}\n.bt-update-notes{margin-right:auto;font-size:12.5px;color:var(--bt-ink-2);text-decoration:none}\n.bt-update-notes:hover{color:var(--bt-ink);text-decoration:underline}\n.bt-update-go{height:30px;padding:0 14px;border:0;border-radius:999px;background:var(--bt-accent,#4D6BFE);color:var(--bt-accent-ink,#fff);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .12s ease,transform .12s ease}\n.bt-update-go:hover:not(:disabled){opacity:.9}\n.bt-update-go:active:not(:disabled){transform:scale(.96)}\n.bt-update-go:disabled{opacity:.6;cursor:default}\n.bt-update-dsh:not(:first-child){margin-top:12px;padding-top:12px;border-top:.5px solid var(--bt-line-2)}\n@media (prefers-reduced-motion:reduce){.bt-round.bt-update,.bt-update-pop,.bt-update .bt-cloud-arrow{animation:none}}\n\n/* The DSH Agent row and its expanding Session list. The black whale is the\n harness\'s own mark, so the row reads as "plain dsh" next to the Bot marks. */\n.bt-agent-ava{flex:none;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bt-hover);color:var(--bt-ink)}\n.bt-agent-ava.bt-run{animation:bt-agent-pulse 1.4s ease-in-out infinite}\n@keyframes bt-agent-pulse{0%,100%{opacity:1}50%{opacity:.55}}\n.bt-agent-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows ').concat(d1.duration,"ms ").concat(d1.easing,"}\n.bt-agent-sub[data-open]{grid-template-rows:1fr}\n.bt-agent-sub-in{overflow:hidden;min-height:0;margin-left:44px}\n.bt-agent-sub-row{display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px 5px 8px;border:0;border-radius:8px;background:none;color:var(--bt-ink-2);font:inherit;font-size:13px;line-height:20px;text-align:left;cursor:pointer}\n.bt-agent-sub-row:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-agent-sub-row[aria-current=page]{background:var(--bt-hover);color:var(--bt-ink);font-weight:500}\n.bt-agent-sub-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-agent-sub-time{flex:none;font-size:11px;color:var(--bt-ink-3)}\n.bt-agent-new{color:var(--bt-ink-3)}\n.bt-agent-new svg{width:14px;height:14px;flex:none}\n.bt-agent-edit{padding:3px 10px 3px 4px}\n.bt-agent-edit input{width:100%;border:0;border-radius:6px;background:var(--bt-hover);color:var(--bt-ink);font:inherit;font-size:13px;line-height:20px;padding:2px 8px;outline:none;box-shadow:inset 0 0 0 .5px var(--bt-line-2)}\n.bt-agent-sub[data-open] .bt-agent-sub-row{animation:bt-agent-row-in .24s ease both;animation-delay:calc(var(--i, 0)*30ms)}\n@keyframes bt-agent-row-in{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}\n@media (prefers-reduced-motion:reduce){.bt-agent-sub{transition:none}.bt-agent-sub .bt-agent-sub-row{animation:none}}\n\n.bt-row-wrap{position:relative;display:flex;align-items:center;width:100%;min-width:0}\n.bt-row-wrap>.bt-row{flex:1 1 auto;min-width:0;width:100%}\n.bt-tree-item>.bt-row-wrap{flex:1 1 auto;width:auto;min-width:0}\n/* Gear sits over the row so hover/selected fill the same full-width band as a plain row (#384). */\n.bt-row-settings{position:absolute;right:6px;top:50%;transform:translateY(-50%);z-index:1;flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-3);cursor:pointer;opacity:0;pointer-events:none;transition:background-color .12s ease,color .12s ease,opacity .12s ease}\n.bt-row-wrap:hover>.bt-row,.bt-row-wrap:focus-within>.bt-row{padding-right:36px}\n.bt-row-wrap:hover .bt-row-settings,.bt-row-wrap:focus-within .bt-row-settings{opacity:1;pointer-events:auto;color:var(--bt-ink-2);background:var(--bt-hover)}\n.bt-row-settings:hover{opacity:1;color:var(--bt-ink-2);background:var(--bt-hover)}\n.bt-row-settings svg{width:15px;height:15px}\n");function cz(e,t,n,a){(0,r1.useEffect)(()=>{t&&n&&a.clearUnread(e)},[t,n])}var Ja=()=>(0,r1.createElement)("span",{className:"bt-pin","aria-hidden":!0},(0,r1.createElement)($p)),oz=(e,t)=>e?e(n=>(n.approvals??[]).some(t)):!1,lz=(e,t)=>e?e(n=>t(n.rooms??{}).join(",")):"",pz=e=>e===""?[]:e.split(",").map(t=>{let[n,a]=t.split("|");return{id:n,tool:a||void 0}}),uz=(e,t,n)=>(0,r1.createElement)(w7,null,"".concat(e," \xB7 ").concat(_7(t),"\u2026").concat(n>0?" +".concat(n):""));function mz({bot:e,roster:t,actions:n,useSessions:a,useSessionStatus:i,useSessionRetainInfo:r,useActivity:s,useWork:c,wide:o,marked:l,asRow:p=!1}){let u=e.id,m=r5(e),d=a(l1=>T7(V7(l1,m,t.exchangeTurns[m],up(e,m),q7(t)),t)),f=i(l1=>l1.get(m)?.running===!0),w=r(m,l1=>(l1?.retainedBy?.mainView??0)>0),k=i(l1=>l1.get(m)?.completionUnread===!0||l1.get(m)?.pendingInteraction!==void 0)||l&&!w;cz(u,w,l,n);let v=Z9(t,u),b=t.mainBotId===u&&!p,z=oz(c,l1=>l1.botId===u)||(e.pendingCount??0)>0,L=t.questions?.[m]!==void 0||z,C=s(l1=>l1[u]),j=pz(lz(c,l1=>Object.entries(l1).flatMap(([Z,P1])=>P1.filter(C0=>C0.botId===u).map(C0=>"".concat(Z,"|").concat(C0.tool??""))))),N=!f&&j.length>0,H=fp(f||N,C,L),S=N?hp(j,t.roomsById):[],R=S.length>0?uz(t.roomsById[S[0].id]?.name??T("a group chat"),S[0].tool,S.length-1):null;if(!Zl(e)&&!w&&!v)return null;let B=l1=>{l1.preventDefault(),n.openMenu({kind:"bot",id:u,x:l1.clientX,y:l1.clientY})},I=e.pinned===!0&&!b,e1=!!e.remote,G=e1?t5(e):e.name,X=R||d||(e1?e.remote?.gone?T("no longer shared"):T("Friend's Bot"):""),o1=[G,v?T("Main Bot"):"",I?T("Pinned"):"",f||N?T("Working"):"",z?T("Waiting for your approval"):L?T("Waiting for your answer"):"",k?T("Unread activity"):""].filter(Boolean).join(", ");if(b&&o)return(0,r1.createElement)("div",{className:"bt-tile-wrap"},(0,r1.createElement)("button",{type:"button",className:"bt-tile","aria-label":o1,"aria-current":w?"page":void 0,"data-bot-id":u,title:d||e.name,onClick:()=>n.openSession(u),onContextMenu:B},(0,r1.createElement)(s5,{bot:e,size:60,state:H,main:!0}),(0,r1.createElement)("span",{className:"bt-tile-name"},G),k&&!z&&!w?(0,r1.createElement)("span",{className:"bt-unread bt-tile-unread","aria-hidden":!0}):null,e.role?(0,r1.createElement)("span",{className:"bt-chip"},e.role):null));let w1=o&&z&&!w?(0,r1.createElement)("span",{className:"bt-unread bt-unread-wait","aria-hidden":!0}):o&&k&&!w?(0,r1.createElement)("span",{className:"bt-unread","aria-hidden":!0}):null,M1=(0,r1.createElement)("button",{type:"button",className:"bt-row","aria-label":o1,"aria-current":w?"page":void 0,"data-bot-id":u,title:e1?G:dp(G,mp(e,t)?.name,o),onClick:()=>n.openSession(u),onContextMenu:B},(0,r1.createElement)(s5,{bot:e,size:36,state:H,main:v}),I&&!o?(0,r1.createElement)(Ja):null,o?(0,r1.createElement)("span",{className:"bt-row-body"},(0,r1.createElement)("span",{className:"bt-row-name"},(0,r1.createElement)("span",{className:"bt-row-title"},G),e.remote?(0,r1.createElement)(sP,{remote:e.remote}):null,I?(0,r1.createElement)(Ja):null),X?(0,r1.createElement)("span",{className:"bt-row-preview"},X):null):null,w1),M=e.remote?T("Bot settings"):T("Edit Bot"),a1=o?(0,r1.createElement)("button",{type:"button",className:"bt-row-settings","aria-label":M,title:M,onFocus:l1=>sz(l1.currentTarget),onClick:l1=>{l1.stopPropagation(),sz(l1.currentTarget),n.openSettings("bots",u)}},(0,r1.createElement)(Mp)):null;return a1?(0,r1.createElement)("div",{className:"bt-row-wrap","data-bot-id":u},M1,a1):M1}function sz(e){let t=()=>{for(let a=e?.parentElement;a;a=a.parentElement)a.scrollLeft>0&&(a.scrollLeft=0);let n=typeof document>"u"?null:document.scrollingElement;n&&n.scrollLeft>0&&(n.scrollLeft=0)};t(),typeof requestAnimationFrame=="function"&&requestAnimationFrame(()=>requestAnimationFrame(t))}function sP({remote:e}){return(0,r1.createElement)("span",{className:"bt-row-remote",title:e.gone?"".concat(e.handle," \xB7 ").concat(T("no longer shared")):e.handle,"aria-label":T("Friend's Bot")},(0,r1.createElement)("svg",{width:11,height:11,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0},(0,r1.createElement)("circle",{cx:12,cy:12,r:9}),(0,r1.createElement)("path",{d:"M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18"})))}function cP(){return(0,r1.createElement)("span",{className:"bt-row-remote bt-row-face",title:T("Face-to-face"),"aria-label":T("Face-to-face")},(0,r1.createElement)("svg",{width:11,height:11,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0},(0,r1.createElement)("circle",{cx:9,cy:8,r:3}),(0,r1.createElement)("circle",{cx:16,cy:9,r:2.5}),(0,r1.createElement)("path",{d:"M4 18a5 5 0 0 1 10 0M14 18a4 4 0 0 1 6 0"})))}function oP({room:e,roster:t,actions:n,useSessions:a,useSessionStatus:i,useSessionRetainInfo:r,useWork:s,wide:c,marked:o}){let l=e.id,p=a(R=>T7(V7(R,l,[],[],q7(t)),t)),u=T7(N7(e.preview),t)||p,m=r(l,R=>(R?.retainedBy?.mainView??0)>0),d=i(R=>R.get(l)?.completionUnread===!0)||o&&!m;cz(l,m,o,n);let f=oz(s,R=>R.roomId===l),w=t.questions?.[l]!==void 0,k=pz(lz(s,R=>(R[l]??[]).map(B=>"".concat(B.botId,"|").concat(B.tool??"")))),v=t.byId[k[0]?.id],b=v?uz(v.name,k[0].tool,k.length-1):null;if(e.hidden&&!m)return null;let _=e.pinned===!0,z=h9(e),L=e.sharedFrom?d9(e.sharedFrom.inviterName):"",C=L&&L!==z?"".concat(z," \xB7 ").concat(L):z,j=f||(e.pendingCount??0)>0,N=w||j,H=e.origin==="face-to-face",S=[C,H?T("Face-to-face"):"",_?T("Pinned"):"",k.length>0?T("Working"):"",j?T("Waiting for your approval"):N?T("Waiting for your answer"):""].filter(Boolean).join(", ");return(0,r1.createElement)("button",{type:"button",className:"bt-row","aria-label":S,"aria-current":m?"page":void 0,title:C,"data-room-id":l,onClick:()=>n.openSession(l),onContextMenu:R=>{R.preventDefault(),n.openMenu({kind:"room",id:l,x:R.clientX,y:R.clientY})}},(0,r1.createElement)(kt,{room:e,roster:t,size:36}),_&&!c?(0,r1.createElement)(Ja):null,c?(0,r1.createElement)("span",{className:"bt-row-body"},(0,r1.createElement)("span",{className:"bt-row-name"},(0,r1.createElement)("span",{className:H?"bt-row-title bt-row-title-face":"bt-row-title"},H?S9(z):z),H?(0,r1.createElement)(cP):e.sharedFrom?(0,r1.createElement)("span",{className:"bt-tag",title:L},T("Shared")):null,_?(0,r1.createElement)(Ja):null),b?(0,r1.createElement)("span",{className:"bt-row-preview"},b):u?(0,r1.createElement)("span",{className:"bt-row-preview"},u):null):null,c&&N&&!m?(0,r1.createElement)("span",{className:"bt-unread bt-unread-wait","aria-hidden":!0}):c&&d&&!m?(0,r1.createElement)("span",{className:"bt-unread","aria-hidden":!0}):null)}var Rt1=ge(1e3,63);var cl=class extends r1.Component{constructor(t){super(t),this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(t){console.error("flybot: nodeActions failed",t)}render(){return this.state.failed?null:(0,r1.createElement)(this.props.component,{bot:this.props.bot})}};function dz({node:e,rowProps:t,markedUnread:n,collapsed:a,toggle:i,actions:r}){let{bot:s,depth:c,children:o}=e,l=a[s.id]===!0;return(0,r1.createElement)(r1.Fragment,null,(0,r1.createElement)("div",{className:"bt-tree-item","data-depth":c,style:{paddingLeft:"".concat(c*16,"px")}},o.length?(0,r1.createElement)("button",{type:"button",className:"bt-tree-toggle","aria-expanded":!l,"aria-label":"".concat(l?T("Expand"):T("Collapse")," ").concat(s.name),onClick:()=>i(s.id)},(0,r1.createElement)("span",{className:"bt-tree-chev","aria-hidden":!0},"\u25BE")):(0,r1.createElement)("span",{className:"bt-tree-toggle bt-tree-leaf","aria-hidden":!0}),(0,r1.createElement)(mz,{...t,bot:s,asRow:!0,marked:n[s.id]===!0}),typeof r=="function"?(0,r1.createElement)(cl,{component:r,bot:s}):null),l?null:o.map(p=>(0,r1.createElement)(dz,{key:p.bot.id,node:p,rowProps:t,markedUnread:n,collapsed:a,toggle:i,actions:r})))}function hz({roster:e,selectedId:t,openSession:n,openDetails:a}){let[i,r]=(0,r1.useState)({}),s=m=>r(d=>({...d,[m]:!d[m]})),c=e.mainBotId,o=e.bots.some(m=>m.parentId)?b9(e.bots,c,m=>e.byId[m]?.parentId):[],l={ids:[],byId:{}},p=new Map,u={roster:e,wide:!0,marked:!1,useSessions:m=>m(l),useSessionStatus:m=>m(p),useSessionRetainInfo:(m,d)=>d({retainedBy:{mainView:m===(e.byId[t]?r5(e.byId[t]):t)?1:0}}),useActivity:m=>m({}),actions:{openSession:m=>{(e.byId[m]||e.roomsById[m])&&n(m)},openMenu:({id:m})=>{(e.byId[m]||e.roomsById[m])&&a?.(m)},openSettings:(m,d)=>{(e.byId[d]||e.roomsById[d])&&a?.(d)}}};return(0,r1.createElement)("div",{className:"bt-list",role:"region","aria-label":T("Bot list")},o.length?o.map(m=>(0,r1.createElement)(dz,{key:m.bot.id,node:m,rowProps:u,markedUnread:{},collapsed:i,toggle:s})):e.bots.map(m=>(0,r1.createElement)(mz,{...u,key:m.id,bot:m,asRow:!0})),e.rooms.map(m=>(0,r1.createElement)(oP,{...u,key:m.id,room:m})))}var gz="\nbody{--bt-ink:#141414;--bt-ink-2:rgba(20,20,20,.6);--bt-ink-3:rgba(20,20,20,.36);--bt-bubble:#eeeeee;--bt-sidebar:#f7f7f7;--bt-main:#fcfcfc;--bt-line:rgba(20,20,20,.08);--bt-line-2:rgba(20,20,20,.15);--bt-line-weak:rgba(20,20,20,.1);--bt-hover:rgba(119,119,119,.09);--bt-active:rgba(119,119,119,.17);--bt-card:#ffffff;--bt-accent:#4d6bfe;--bt-green:#00c972;--bt-star:#ff9800;--bt-user:#070707;--bt-user-ink:#fcfcfc;--bt-tag-bg:rgba(20,20,20,.06);--bt-tag-ink:rgba(20,20,20,.56)}\nbody[data-ds-dark-theme]{--bt-ink:#f2f2f2;--bt-ink-2:rgba(242,242,242,.6);--bt-ink-3:rgba(242,242,242,.36);--bt-bubble:#262626;--bt-sidebar:#1b1b1b;--bt-main:#141414;--bt-line:rgba(255,255,255,.08);--bt-line-2:rgba(255,255,255,.15);--bt-line-weak:rgba(255,255,255,.1);--bt-hover:rgba(160,160,160,.12);--bt-active:rgba(160,160,160,.2);--bt-card:#1f1f1f;--bt-user:#f2f2f2;--bt-user-ink:#141414;--bt-tag-bg:rgba(255,255,255,.09);--bt-tag-ink:rgba(242,242,242,.62)}\n".concat(Object.entries(Be).map(([e,[t]])=>"body{--bt-ink-".concat(e,":").concat(t,"}")).join(""),"\n").concat(Object.entries(Be).map(([e,[,t]])=>"body[data-ds-dark-theme]{--bt-ink-".concat(e,":").concat(t,"}")).join(""),'\n.bt-mark{display:inline-block;flex:none;position:relative;line-height:0}\n.bt-mark svg{width:100%;height:100%;overflow:visible}\n.bt-mark-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;box-shadow:inset 0 0 0 1px var(--bt-line)}\n.bt-mark-emoji{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;user-select:none}\n.bt-mark .bt-b,.bt-mark .bt-eye,.bt-mark .bt-eyes,.bt-mark .bt-gaze{transform-box:fill-box}\n.bt-mark .bt-b{transform-origin:50% 100%}\n.bt-mark .bt-eye,.bt-mark .bt-eyes{transform-origin:center}\n/* Motion levels (Settings \u2192 Bots \u2192 Animation) set body[data-bt-motion]: quiet moves a\n mark only for its state; normal, the default, adds petting, pokes and eyes that follow\n the pointer; lively adds blinks and fidgets at rest and a question riding on the head. */\nbody[data-bt-motion=lively] .bt-mark[data-live]:is([data-state=idle],[data-state=alert]) .bt-eye{animation:bt-blink-idle 5s linear infinite;animation-delay:var(--bt-delay,0s)}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle]:is([data-fidget=hop],[data-fidget=sway],[data-fidget=stretch]) :is(.bt-b,.bt-mark-img){animation:var(--bt-fidget) 9s ease-in-out var(--bt-fidget-delay,0s) infinite}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=hop]{--bt-fidget:bt-fidget-hop}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=sway]{--bt-fidget:bt-fidget-sway}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=stretch]{--bt-fidget:bt-fidget-stretch}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=look] .bt-eyes{animation:bt-fidget-look 9s ease-in-out var(--bt-fidget-delay,0s) infinite}\n@keyframes bt-fidget-hop{0%,8%,100%{transform:none}3%{transform:translateY(-10%) scale(.97,1.04)}5.5%{transform:translateY(0) scale(1.05,.95)}}\n@keyframes bt-fidget-sway{0%,10%,100%{transform:none}2.5%{transform:rotate(-8deg)}5%{transform:rotate(7deg)}7.5%{transform:rotate(-3deg)}}\n@keyframes bt-fidget-stretch{0%,9%,100%{transform:none}4%{transform:scale(.94,1.08)}7%{transform:scale(1.03,.97)}}\n@keyframes bt-fidget-look{0%,22%,100%{transform:none}3%,9%{transform:translateX(-14%)}12%,19%{transform:translateX(14%)}}\nbody[data-bt-motion=lively] .bt-badge-alert{right:auto;bottom:auto;left:50%;top:calc(var(--bt-size,36px) * -.14);translate:-50% 0;animation:bt-q-ride 1.3s cubic-bezier(.3,.7,.4,1) infinite}\nbody[data-bt-motion=lively] :is(.bt-row,.bt-tile)>.bt-mark:hover .bt-badge-alert{animation:none}\n.bt-tree-item{position:relative;display:flex;align-items:center;min-width:0}\n.bt-tree-item>.bt-row{flex:1 1 auto;min-width:0}\n.bt-tree-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-3);font-size:16px;line-height:1;cursor:pointer}\n.bt-tree-toggle:not(.bt-tree-leaf):hover{background:var(--bt-hover)}\n.bt-tree-toggle:focus-visible{outline:2px solid var(--bt-accent);outline-offset:1px}\n.bt-tree-chev{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:16px;line-height:1;transition:transform .12s ease}\n.bt-tree-toggle[aria-expanded=false] .bt-tree-chev{transform:rotate(-90deg)}\n.bt-tree-leaf{cursor:default}\n@keyframes bt-q-ride{0%,55%,100%{transform:translateY(0)}20%{transform:translateY(calc(var(--bt-size,36px) * -.14))}40%{transform:translateY(0)}}\n/* Petting: with the pointer on a sidebar avatar or just around it (a ring a fifth of its\n size wide), a resting mark leans into the pointer and keeps nuzzling it, its eyes\n closed in a happy arc, and springs back when the pointer leaves. */\n:is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster)::before{content:\'\';position:absolute;inset:-20%;border-radius:50%}\n.bt-mark[data-live] .bt-b,.bt-mark[data-live] .bt-mark-img{transition:rotate .5s cubic-bezier(.34,1.56,.64,1),translate .5s cubic-bezier(.34,1.56,.64,1),scale .3s ease-out}\n.bt-mark[data-live] .bt-eye{transition:scale .14s ease-in}\n.bt-mark[data-live] .bt-eye-happy{transition:opacity .12s ease-out}\nbody:not([data-bt-motion=quiet]) :is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster):hover .bt-mark[data-live]:is([data-state=idle],[data-state=alert]):not(.bt-mark-poke) :is(.bt-b,.bt-mark-img){rotate:8deg;translate:5% -1%;animation:bt-nuzzle .78s ease-in-out .32s infinite}\nbody:not([data-bt-motion=quiet]) :is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster):hover .bt-mark[data-live]:is([data-state=idle],[data-state=alert]) .bt-eye{scale:1 0;animation:none}\nbody:not([data-bt-motion=quiet]) :is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster):hover .bt-mark[data-live]:is([data-state=idle],[data-state=alert]) .bt-eye-happy{opacity:1;transition-delay:.1s}\n@keyframes bt-nuzzle{50%{rotate:14deg;translate:8% -3%;scale:1.03 .97}}\n.bt-mark[data-gaze] .bt-b{translate:calc(var(--bt-gx,0) * 5%) calc(var(--bt-gy,0) * 4%);transition:translate .18s ease-out}\n.bt-mark[data-gaze] .bt-gaze{transform:translate(calc(var(--bt-gx,0) * 12%),calc(var(--bt-gy,0) * 11%));transition:transform .18s ease-out}\nbody[data-bt-motion=quiet] .bt-mark[data-gaze] .bt-b{translate:none}\nbody[data-bt-motion=quiet] .bt-mark[data-gaze] .bt-gaze{transform:none}\n.bt-mark[data-state=thinking] .bt-b{animation:bt-ponder 2.2s ease-in-out infinite}\n.bt-mark[data-state=thinking] .bt-eyes{animation:bt-squint 2.2s ease-in-out infinite}\n.bt-mark[data-state=searching] .bt-b{animation:bt-seek 1s ease-in-out infinite}\n.bt-mark[data-state=searching] .bt-eyes{animation:bt-scan 1.6s ease-in-out infinite}\n.bt-mark[data-state=working] .bt-b{animation:bt-bob 1.6s ease-in-out infinite}\n.bt-mark[data-state=working]:is([data-shape=star],[data-shape=hex],[data-shape=plus],[data-shape=gem],[data-shape=magnet],[data-shape=ring]) .bt-b{animation:bt-wiggle 1.4s ease-in-out infinite;transform-origin:50% 50%}\n.bt-mark[data-state=working]:is([data-shape=gumdrop],[data-shape=peanut],[data-shape=cushion],[data-shape=squircle],[data-shape=moon],[data-shape=wave]) .bt-b{animation:bt-squash 1.2s ease-in-out infinite}\n.bt-mark[data-state=working] .bt-eye{animation:bt-blink 2.4s ease-in-out infinite}\n.bt-mark[data-state=sending] .bt-b{animation:bt-dash 1.1s cubic-bezier(.4,0,.2,1) infinite}\n.bt-mark[data-state=orbit] .bt-b{animation:bt-sway 2.6s ease-in-out infinite;transform-origin:50% 50%}\n.bt-mark[data-state=orbit] .bt-eyes{animation:bt-roll 2.6s linear infinite}\n/* A question for you hops twice when it arrives and the badge keeps it in view after;\n a lively mark keeps hopping. */\n.bt-mark[data-state=alert] .bt-b{animation:bt-hop 1.3s cubic-bezier(.3,.7,.4,1) 2}\n.bt-mark[data-shape=image]:not([data-state=idle]) .bt-mark-img{animation:bt-bob 1.6s ease-in-out infinite}\n.bt-mark[data-shape=image][data-state=alert] .bt-mark-img{animation:bt-hop 1.3s cubic-bezier(.3,.7,.4,1) 2}\nbody[data-bt-motion=lively] .bt-mark[data-state=alert] :is(.bt-b,.bt-mark-img){animation-iteration-count:infinite}\n.bt-mark[data-state=done] .bt-b{animation:bt-done 1.8s linear 1}\n.bt-mark[data-shape=image][data-state=done] .bt-mark-img{animation:bt-done 1.8s linear 1;transform-origin:50% 100%}\n@keyframes bt-done{0%{transform:none;animation-timing-function:cubic-bezier(.4,0,.2,1)}13.3%{transform:scale(1.12,.88);animation-timing-function:cubic-bezier(.4,0,.2,1)}25.6%{transform:scale(.93,1.09);animation-timing-function:cubic-bezier(.4,0,.2,1)}37.8%{transform:scale(1.04,.97);animation-timing-function:cubic-bezier(.4,0,.2,1)}51.1%,100%{transform:none}}\n.bt-mark-poke .bt-b{animation:bt-poke .8s cubic-bezier(.3,.7,.4,1) 1!important;transform-origin:50% 60%!important}\n.bt-mark-poke .bt-mark-img{animation:bt-poke-img .6s ease-out 1!important}\n.bt-mark[data-poke]{cursor:pointer}\nbody[data-bt-motion=quiet] .bt-mark-poke :is(.bt-b,.bt-mark-img){animation:none!important}\nbody[data-bt-motion=quiet] .bt-mark[data-poke]{cursor:default}\n@keyframes bt-bob{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-4%) rotate(-5deg)}65%{transform:translateY(0) rotate(4deg)}}\n@keyframes bt-wiggle{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(-12deg) scale(1.04)}75%{transform:rotate(12deg) scale(1.04)}}\n@keyframes bt-squash{0%,100%{transform:scale(1,1)}30%{transform:scale(1.08,.9)}55%{transform:translateY(-4%) scale(.94,1.08)}80%{transform:scale(1.02,.98)}}\n@keyframes bt-ponder{0%,100%{transform:translateY(0) rotate(4deg)}50%{transform:translateY(-3%) rotate(7deg)}}\n@keyframes bt-squint{0%,100%{transform:translate(0,-4%) scaleY(.7)}50%{transform:translate(5%,-5%) scaleY(.78)}}\n@keyframes bt-seek{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5%) rotate(-1deg)}}\n@keyframes bt-scan{0%,100%{transform:translateX(-12%)}50%{transform:translateX(12%)}}\n@keyframes bt-dash{0%,100%{transform:translateX(0) rotate(0)}35%{transform:translateX(9%) rotate(7deg)}55%{transform:translateX(-2%) rotate(-3deg)}}\n@keyframes bt-sway{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}\n@keyframes bt-roll{0%,100%{transform:translate(12%,0)}25%{transform:translate(0,9%)}50%{transform:translate(-12%,0)}75%{transform:translate(0,-9%)}}\n@keyframes bt-hop{0%,55%,100%{transform:translateY(0) scale(1,1)}20%{transform:translateY(-14%) scale(.96,1.05)}40%{transform:translateY(0) scale(1.06,.94)}}\n@keyframes bt-poke{0%{transform:none}55%{transform:translateY(-16%) rotate(360deg)}78%{transform:translateY(0) scale(1.08,.92) rotate(360deg)}100%{transform:rotate(360deg)}}\n@keyframes bt-poke-img{0%,100%{transform:scale(1)}40%{transform:scale(1.14) rotate(-6deg)}}\n/* Idle clip: two .26s blinks (lid to 3%, then a 6% overshoot) at 1.48s and 3.46s. */\n@keyframes bt-blink-idle{0%,29.6%,35%,69.2%,74.6%,100%{transform:scaleY(1)}32.2%,71.8%{transform:scaleY(.03)}33.8%,73.4%{transform:scaleY(1.06)}}\n@keyframes bt-blink{0%,42%,50%,100%{transform:scaleY(1)}46%{transform:scaleY(.03)}48%{transform:scaleY(1.06)}}\n@media (prefers-reduced-motion:reduce){.bt-mark *{animation:none!important;transition:none!important}}\n.bt-badge{position:absolute;right:0;bottom:0;width:12px;height:12px;border-radius:50%;corner-shape:round;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px var(--bt-sidebar)}\n.bt-badge-admin{background:color-mix(in srgb,var(--bt-star) 82%,var(--bt-sidebar))}\n.bt-badge-admin svg{width:7px;height:7px}\n.bt-badge-main{right:calc(var(--bt-size,36px) * -.07);bottom:calc(var(--bt-size,36px) * -.07);width:clamp(14px,calc(var(--bt-size,36px) * .36),22px);height:clamp(14px,calc(var(--bt-size,36px) * .36),22px);border-radius:0;box-shadow:none}\n.bt-badge-main svg{width:100%;height:100%;overflow:visible}\n.bt-badge-main path{fill:var(--bt-star);stroke:var(--bt-sidebar);stroke-width:2.6;stroke-linejoin:round;paint-order:stroke}\n.bt-badge-alert{background:color-mix(in srgb,var(--bt-accent) 78%,var(--bt-sidebar));color:var(--bt-accent-ink,#fff);font-size:8.5px;line-height:12px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-badge-working{background:color-mix(in srgb,var(--bt-green) 82%,var(--bt-sidebar));width:8px;height:8px;right:1px;bottom:1px}\n.bt-cluster{position:relative;display:inline-block;flex:none;line-height:0}\n.bt-cluster>*{position:absolute}\n.bt-cluster-more,.bt-cluster-you{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bt-active);color:var(--bt-ink-3);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}\n.bt-cluster-you{background:color-mix(in srgb,var(--bt-ink) 12%,transparent)}\n.bt-stack{display:inline-flex;align-items:center;flex:none;line-height:0}\n.bt-stack>*+*{margin-left:calc(var(--bt-stack-size) * -.3)}\n.bt-stack-more{font-size:11px;line-height:16px;color:var(--bt-ink-3);margin-left:3px!important}\n\n.bt-side{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;gap:2px;padding:0 12px 8px 0;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-side-top{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:6px 5px 0 0}\n.bt-brand{display:inline-flex;align-items:center;gap:6px;margin-right:auto;padding:4px 8px 4px 4px;border:0;border-radius:8px;background:none;cursor:pointer;font-family:inherit;font-size:15px;line-height:20px;font-weight:600;letter-spacing:-.01em;color:var(--bt-ink);white-space:nowrap}\n.bt-brand-mark{display:inline-flex;line-height:0}\n.bt-flybot-mark{display:block;flex:none}\n.bt-flybot-mark .bt-flybot-wing{fill:#8FB2FF}\n.bt-flybot-mark .bt-flybot-body{fill:#3B5BFD}\n.bt-flybot-mark .bt-flybot-eye{fill:#fff}\n[data-ds-dark-theme] .bt-flybot-mark .bt-flybot-wing{fill:#A9C2FF}\n[data-ds-dark-theme] .bt-flybot-mark .bt-flybot-body{fill:#6E87FF}\n[data-ds-dark-theme] .bt-flybot-mark .bt-flybot-eye{fill:#0F1530}\n.bt-round{width:36px;height:36px;border-radius:50%;border:1px solid var(--bt-line);background:var(--bt-main);color:var(--bt-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color .12s ease,transform .12s ease}\n.bt-round:hover{background:var(--bt-hover)}\n.bt-round:active{transform:scale(.94)}\n.bt-list{display:flex;flex-direction:column;gap:3px;overflow-y:auto;min-height:0;flex:1 1 auto}\n.bt-tile-wrap{display:flex;justify-content:center;padding:20px 0 15px}\n.bt-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;width:95px;padding:6px 8px 4px;border-radius:12px;border:0;background:transparent;color:var(--bt-ink);cursor:pointer;font-family:inherit;transition:background-color .12s ease}\n.bt-tile:hover{background:var(--bt-hover)}\n.bt-tile[aria-current=page]{background:var(--bt-active)}\n.bt-tile-unread{position:absolute;top:8px;right:12px}\n.bt-tile-name{font-size:13px;line-height:18px;font-weight:400;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-chip{font-size:11px;line-height:16px;padding:1px 4px;border-radius:4px;background:var(--bt-hover);border:1px solid var(--bt-line);color:var(--bt-ink-2);white-space:nowrap;max-width:84px;overflow:hidden;text-overflow:ellipsis}\n.bt-row{display:flex;align-items:center;gap:8px;min-height:54px;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--bt-ink);text-align:left;cursor:pointer;width:100%;box-sizing:border-box;font-family:inherit;transition:background-color .12s ease}\n.bt-row:hover{background:var(--bt-hover)}\n.bt-row[aria-current=page]{background:var(--bt-active)}\n.bt-row-body{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}\n.bt-row-name{display:flex;align-items:center;gap:6px;min-width:0;font-size:14px;line-height:20px;font-weight:400}\n.bt-row-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-row-title.bt-row-title-face{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}\n.bt-row-remote{flex:none;display:inline-flex;align-items:center;color:var(--bt-ink-2)}\n.bt-tag{flex:none;max-width:96px;font-size:12px;line-height:16px;font-weight:400;padding:1px 6px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-row-preview{font-size:13px;line-height:18px;color:var(--bt-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-unread{width:8px;height:8px;border-radius:50%;background:#1084fe;flex:none;margin-right:2px;animation:bt-fade .13s cubic-bezier(.22,1,.36,1)}\n.bt-unread-wait{background:var(--bt-star)}\n.bt-shared-from,.bt-shared-wait{display:flex;flex-direction:column;gap:6px;padding:8px 0}\n.bt-shared-wait .bt-set-row{min-width:0}\n.bt-shared-wait .bt-set-copy{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}\n.bt-rail{align-items:center;padding:0 0 8px}\n.bt-rail .bt-row{justify-content:center;padding:6px 0;min-height:44px}\n.bt-side-foot{display:flex;padding-top:8px}\n.bt-connect{flex:1;height:36px;border-radius:999px;border:1px solid var(--bt-line);background:var(--bt-main);color:var(--bt-ink);font-family:inherit;font-size:14px;line-height:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color .12s ease}\n.bt-connect:hover{background:var(--bt-hover)}\n.bt-connect svg{flex:none;width:15px;height:15px}\n.bt-connect-wrap{position:relative;display:flex;flex:1 1 auto;min-width:0}ms ').concat(d1.easing,"}\n@keyframes bt-tip-in{from{opacity:0;transform:scale(.96);filter:blur(4px)}}\n@media (prefers-reduced-motion:reduce){}\n\n.bt-head{position:relative;display:flex;justify-content:center;align-items:center;height:40px;flex:none;pointer-events:none}\n.bt-pill{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;height:40px;padding:7.5px 13.5px 7.5px 7.5px;border-radius:999px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 2px 8px -1px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);color:var(--bt-ink);font-family:inherit;font-size:14px;line-height:20px;cursor:pointer;max-width:70%;box-sizing:border-box;transition:background-color .12s ease,transform ").concat(j1.duration,"ms ").concat(j1.easing,"}\n.bt-pill:hover{background:color-mix(in srgb,var(--bt-main),#777 9%)}\n.bt-pill:active{transform:scale(.965)}\n.bt-pill-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}\n.bt-pill:has(.bt-pill-name-face){height:auto;min-height:40px;align-items:flex-start}\n.bt-pill-name.bt-pill-name-face{min-width:0;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}\n.bt-pill-mem{flex:none;display:inline-flex;width:0;margin-left:-8px;overflow:hidden;transition:").concat(d0(d1,"width","margin-left"),"}\n.bt-pill[data-memory=updated] .bt-pill-mem{width:var(--bt-mem-w);margin-left:0;transition:").concat(d0(Gk,"width","margin-left"),"}\n.bt-pill-mem-in{flex:none;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--bt-ink-2);font-size:13px;font-weight:500;opacity:0;filter:blur(6px);transform:translateX(-8px);transition:opacity .14s ease,filter .18s ease,").concat(d0(d1,"transform"),'}\n.bt-pill-mem-in::before{content:"";flex:none;width:1px;height:14px;margin-right:4px;background:var(--bt-line-2)}\n.bt-pill[data-memory=updated] .bt-pill-mem-in{opacity:1;filter:none;transform:none;transition-delay:70ms}\n.bt-pill-mem-ico{flex:none;display:inline-flex;width:16px;height:16px;color:var(--bt-accent)}\n.bt-pill-mem-ico svg{width:16px;height:16px}\n.bt-pill[data-memory=updated] .bt-pill-mem-ico{animation:bt-mem-pop ').concat(q1.duration,"ms ").concat(q1.easing," 90ms both}\n@keyframes bt-mem-pop{from{transform:scale(.4) rotate(-14deg)}to{transform:none}}\n.bt-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n@media (prefers-reduced-motion:reduce){.bt-pill-mem,.bt-pill-mem-in{transition:none!important}.bt-pill-mem-in{filter:none;transform:none}.bt-pill[data-memory=updated] .bt-pill-mem-ico{animation:none}}\n.bt-swap{color:var(--bt-ink-3);font-size:12px}\n.bt-pill-go{flex:none;display:inline-flex;align-items:center;justify-content:flex-end;width:0;margin-left:-8px;overflow:hidden;opacity:0;filter:blur(6px);transform:translateX(-6px);color:var(--bt-ink-2);transition:width ").concat(d1.duration,"ms ").concat(d1.easing,",margin-left ").concat(d1.duration,"ms ").concat(d1.easing,",transform ").concat(d1.duration,"ms ").concat(d1.easing,",opacity .18s ease,filter .18s ease}\n.bt-pill-go svg{flex:none;transition:transform ").concat(d1.duration,"ms ").concat(d1.easing,'}\n.bt-pill:hover .bt-pill-go,.bt-pill:focus-visible .bt-pill-go,.bt-pill[aria-expanded=true] .bt-pill-go{width:18px;margin-left:0;opacity:1;filter:none;transform:none}\n.bt-pill[aria-expanded=true] .bt-pill-go svg{transform:rotate(180deg)}\n.bt-pill[data-memory=updated]:is(:hover,:focus-visible,[aria-expanded=true]) .bt-pill-go{width:0;margin-left:-8px;opacity:0;filter:blur(6px);transform:translateX(-6px)}\n@media (prefers-reduced-motion:reduce){.bt-pill,.bt-pill-go,.bt-pill-go svg{transition:none!important}.bt-pill-go{filter:none}.bt-pill:active{transform:none}}\n\n.bt-astack{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0}\n.bt-bubble{max-width:min(80%,560px,calc(100% - 82px));background:var(--bt-bubble);color:var(--bt-ink);border-radius:18px;padding:7px 12px;font-size:var(--dsh-content-font-size,14px);line-height:calc(var(--dsh-content-font-size,14px) + 8px);box-sizing:border-box;overflow-wrap:anywhere}\n.bt-event.bt-not-sent{gap:6px;color:var(--bt-ink-3)}\n.bt-msg:not(:first-child)>.bt-msg-line>.bt-bubble{border-start-start-radius:6px}\n.bt-msg:not(:last-child)>.bt-msg-line>.bt-bubble{border-end-start-radius:6px}\n.bt-bubble [class*="_markdown"]>*+*{margin-top:10px}\n.bt-bubble [class*="_markdown"]{color:inherit!important;font-size:inherit!important;line-height:inherit!important}\n.bt-bubble p{margin:0}\n.bt-bubble p + p{margin-top:6px}\n.bt-bubble ul,.bt-bubble ol{margin:4px 0;padding-left:20px}\n.bt-bubble a[href^="').concat(h4,'"]{text-decoration:none;font-weight:400;cursor:pointer;white-space:nowrap}\n.bt-bubble a[href^="').concat(h4,'"]::before{content:"";display:inline-block;width:16px;height:16px;margin-right:3px;vertical-align:-3px;background:currentColor;-webkit-mask:').concat($9," center/contain no-repeat;mask:").concat($9," center/contain no-repeat}\n.bt-group-msg{display:flex;flex-direction:column;gap:4px;margin:16px 0 0}\n.bt-group-msg:first-child{margin-top:0}\n.bt-lead{flex:none;display:flex;margin-bottom:1px}\nbutton.bt-lead{border:0;background:none;padding:0;cursor:pointer}\n/* Rows without the avatar start where the bubble beside it starts: 22px avatar + 8px gap. */\n.bt-astack[data-lead]>.bt-msg:not(:last-child)>.bt-msg-line,.bt-astack[data-lead] .bt-reacts{margin-left:30px}\n.bt-group-name{font-size:12px;line-height:16px;font-weight:500;margin-left:42px}\n.bt-x{border:0;background:none;color:var(--bt-ink-2);cursor:pointer;width:24px;height:24px;border-radius:6px;font-size:16px;line-height:24px;padding:0;transition:background-color .12s ease,color .12s ease,").concat(d0(j1,"scale"),'}\n.bt-x:hover{background:var(--bt-hover);color:var(--bt-ink)}\n\n.bt-q{margin:0 auto 8px;width:100%;max-width:var(--dsh-chat-content-width,748px);display:flex;flex-direction:column;gap:12px;--bt-q-edge:color-mix(in srgb,var(--bt-ink) 10%,transparent);--bt-q-rule:color-mix(in srgb,var(--bt-ink) 8%,transparent);--bt-q-rule-2:color-mix(in srgb,var(--bt-ink) 5%,transparent);background:var(--bt-card);box-shadow:0 1px 3px rgba(20,20,20,.04),inset 0 0 0 1px var(--bt-q-edge);border-radius:16px;padding:14px 16px;box-sizing:border-box;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;animation:bt-q-in ').concat(d1.duration,"ms ").concat(d1.easing," backwards,bt-veil-in .2s ease-out backwards}\nbody[data-ds-dark-theme] .bt-q{--bt-q-edge:rgba(255,255,255,.16);--bt-q-rule:rgba(255,255,255,.12);--bt-q-rule-2:rgba(255,255,255,.08)}\n@keyframes bt-q-in{from{transform:translateY(10px) scale(.97)}}\n.bt-q-settled{animation:none}\n.bt-q-head{display:flex;align-items:flex-start;gap:8px;min-width:0}\n.bt-q-text{flex:1 1 0;min-width:0;display:flex;flex-direction:column}\n.bt-q-title{margin:0;font-size:15px;line-height:22px;font-weight:600;overflow-wrap:anywhere}\n.bt-q-detail{font-size:13px;line-height:18px;color:var(--bt-ink-2)}\n.bt-q-x{flex:none;width:20px;height:20px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease,").concat(d0(j1,"scale"),'}\n.bt-q-x svg{width:14px;height:14px}\n.bt-q-x:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-q-x:focus-visible,.bt-q-opt:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px}\n.bt-q-list{display:flex;flex-direction:column;gap:1px;min-width:0;box-sizing:border-box;margin:0 -8px}\n.bt-q-opt{position:relative;display:flex;align-items:flex-start;gap:16px;width:100%;min-width:0;box-sizing:border-box;margin:0;border:0;border-radius:12px;background:transparent;padding:10px 8px;font:inherit;color:var(--bt-ink);text-align:start;cursor:pointer;transition:background-color .12s ease}\n.bt-q:not(.bt-q-raised)>.bt-q-head:has(+.bt-q-list){padding-bottom:12px;border-bottom:1px solid var(--bt-q-rule)}\n.bt-q:not(.bt-q-raised)>.bt-q-head+.bt-q-list{margin-top:-6px}\n.bt-q-opt+.bt-q-opt::before{content:"";position:absolute;left:calc(var(--bt-key,24px) + 24px);right:8px;top:-1px;height:1px;background:var(--bt-q-rule-2);transition:opacity .12s ease;pointer-events:none}\nbutton.bt-q-opt:hover::before,button.bt-q-opt:hover+.bt-q-opt::before,.bt-q-opt[aria-pressed=true]::before,.bt-q-opt[aria-pressed=true]+.bt-q-opt::before{opacity:0}\n.bt-q-raised .bt-q-opt::before{display:none}\nbutton.bt-q-opt:hover{background:var(--bt-hover)}\nbutton.bt-q-opt:active{background:var(--bt-active)}\n.bt-q-opt[aria-pressed=true]{background:var(--bt-active)}\n.bt-q:not(.bt-q-raised) :is(button.bt-q-opt:hover,.bt-q-opt[aria-pressed=true]) .bt-key{background:var(--bt-card);color:var(--bt-ink)}\n.bt-key{flex:none;box-sizing:border-box;width:var(--bt-key,24px);height:var(--bt-key,24px);border-radius:8px;background:var(--bt-hover);color:var(--bt-ink-2);font-size:12px;line-height:var(--bt-key,24px);font-weight:500;text-align:center;font-variant-numeric:tabular-nums;transition:background-color .12s ease,color .12s ease}\n.bt-q-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px;padding-top:2px}\n/* With a description the key spans the two text lines less 2px above and below. */\n.bt-q-opt:has(.bt-q-desc){--bt-key:34px}\n.bt-q-opt:has(.bt-q-desc) .bt-key{margin-top:2px;border-radius:10px;font-size:13px}\n.bt-q-opt:has(.bt-q-desc) .bt-q-body{padding-top:0}\n.bt-q-label{font-size:14px;line-height:20px;font-weight:500;white-space:normal;overflow-wrap:anywhere}\n.bt-q-desc{font-size:12px;line-height:17px;color:var(--bt-ink-2);overflow-wrap:anywhere}\n.bt-q-check{flex:none;display:inline-flex;align-items:center;color:var(--bt-ink-2);animation:bt-check-pop ').concat(q1.duration,"ms ").concat(q1.easing," backwards}\n.bt-q-settled .bt-q-check{animation:none}\n.bt-q-check svg{width:16px;height:16px}\n.bt-q-settled .bt-key{opacity:.4}\n.bt-q-settled .bt-q-label{color:color-mix(in srgb,var(--bt-ink) 45%,transparent)}\n.bt-q-dismissed .bt-q-title{color:var(--bt-ink-2)}\n.bt-q.bt-q-settled{gap:6px;padding:12px 16px}\n.bt-q-settled .bt-q-title{font-size:14px;line-height:20px;font-weight:500}\n.bt-q.bt-q-settled>.bt-q-head:has(+.bt-q-list){padding-bottom:0;border-bottom:0}\n.bt-q.bt-q-settled>.bt-q-head+.bt-q-list{margin-top:0}\n.bt-q-settled .bt-q-opt{padding:4px 8px}\n.bt-q-badge{flex:none;height:20px;padding:0 7px;border-radius:999px;border:1px dotted var(--bt-line-2);color:var(--bt-ink-2);font-size:12px;line-height:18px;box-sizing:border-box}\n.bt-q-custom{display:flex;align-items:flex-start;gap:8px;width:100%;min-width:0}\n.bt-q-field{flex:1 1 0;min-width:0;display:flex;box-sizing:border-box;min-height:32px;padding:5px 11px;border-radius:8px;border:.5px solid var(--bt-line-2);background:none;cursor:text;transition:border-color .12s ease}\n.bt-q-field:focus-within{border-color:color-mix(in srgb,var(--bt-ink) 30%,transparent)}\n.bt-q-input{flex:1;width:100%;min-width:0;max-height:120px;margin:0;padding:0;border:0;outline:none;background:transparent;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;resize:none;overflow-y:hidden;white-space:pre-wrap;overflow-wrap:anywhere}\n.bt-q-input:not(:placeholder-shown){field-sizing:content}\n.bt-q-input::placeholder{color:var(--bt-ink-3)}\n.bt-q-submit,.bt-q-btn{flex:none;height:36px;padding:0 14px;border:0;border-radius:999px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .12s ease,background-color .12s ease,").concat(d0(j1,"scale"),"}\n.bt-q-submit{background:var(--bt-accent);color:var(--bt-accent-ink,#fff);animation:bt-q-submit-in ").concat(j1.duration,"ms ").concat(j1.easing," backwards,bt-veil-in .16s ease-out backwards}\n@keyframes bt-q-submit-in{from{transform:translateX(8px) scale(.9)}}\n.bt-q-submit:hover:not(:disabled){opacity:.86}\n.bt-q-submit:disabled{opacity:.4;cursor:default}\n.bt-q-btn{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-q-btn:hover{background:var(--bt-active)}\n.bt-q-foot{display:flex;justify-content:flex-end;gap:8px}\n.bt-q-raised{width:calc(var(--dsh-chat-content-width,748px) - 32px);max-width:calc(100% - 32px);gap:0;padding:0;box-shadow:0 2px 8px rgba(20,20,20,.035),inset 0 0 0 .5px color-mix(in srgb,var(--bt-ink) 5%,transparent)}\n.bt-q-raised .bt-q-head{padding:14px 16px 4px 20px}\n.bt-q-raised .bt-q-head:last-child{padding-bottom:16px}\n.bt-q-raised .bt-q-list{gap:1px;margin:0;padding:8px}\n.bt-q-raised .bt-q-opt{gap:4px;padding:7px;border-radius:16px;color:var(--bt-ink-2)}\n.bt-q-raised button.bt-q-opt:hover{color:var(--bt-ink)}\n.bt-q-raised .bt-q-opt[aria-pressed=true]{background:transparent;color:var(--bt-ink)}\n.bt-q-raised .bt-q-opt[aria-pressed=true]:hover{background:var(--bt-hover)}\n.bt-q-raised .bt-q-opt[aria-pressed=true] .bt-key,.bt-q-ownrow:focus-within .bt-key,.bt-q-ownrow[data-filled] .bt-key{background:var(--bt-user);color:var(--bt-user-ink)}\n.bt-q-raised .bt-q-body{padding:2px 6px 0}\n.bt-q-raised .bt-q-desc{color:color-mix(in srgb,var(--bt-ink) 61%,transparent)}\n.bt-q-ownrow{cursor:text}\n.bt-q-ownrow .bt-q-input{color:var(--bt-ink)}\n.bt-q-raised .bt-q-foot{padding:0 8px 8px}\n@media (prefers-reduced-motion:reduce){.bt-q{animation:bt-fade .12s ease-out backwards}.bt-q-settled{animation:none}.bt-q-submit{animation:none}}\n\n.bt-newchat{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;animation:bt-veil-in .18s ease-out}\n.bt-pane[data-menu]{background:transparent}.bt-pane[data-menu] .bt-newchat{flex:none;align-self:flex-start;width:min(280px,calc(100% - 16px));max-height:calc(100% - 16px);margin:8px;overflow:auto;background:var(--bt-card);border:1px solid var(--bt-line-2);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.14),0 2px 6px rgba(0,0,0,.06)}.bt-newchat[data-menu] .bt-drop{position:relative;top:0;left:0;width:auto;max-height:none;margin:0;box-shadow:none;border:0;max-width:none}\n.bt-to{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:48px;padding:6px 12px;border-bottom:1px solid var(--bt-line);font-size:14px;box-sizing:border-box}\n.bt-to-label{color:var(--bt-ink-2)}\n.bt-to input{flex:1;min-width:120px;border:0;outline:none;background:none;color:var(--bt-ink);font-size:14px;height:26px}\n.bt-token{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 6px 0 4px;border-radius:999px;background:var(--bt-hover);font-size:13px;animation:bt-check-pop ").concat(q1.duration,"ms ").concat(q1.easing,"}\n.bt-token button{border:0;background:none;color:var(--bt-ink-2);cursor:pointer;padding:0 2px}\n.bt-admin-star{flex:none;display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:50%;corner-shape:round;background:color-mix(in srgb,var(--bt-star) 82%,var(--bt-sidebar));vertical-align:-1px}\n.bt-to-star{display:inline-flex;margin-right:-2px;animation:bt-check-pop ").concat(q1.duration,"ms ").concat(q1.easing,"}\n.bt-to .bt-to-create{flex:none;height:28px;padding:0 12px;font-size:13px;animation:bt-q-submit-in ").concat(j1.duration,"ms ").concat(j1.easing,",bt-veil-in .16s ease-out}\n.bt-drop{position:absolute;top:48px;left:32px;width:min(550px,calc(100% - 64px));display:flex;flex-direction:column;padding:6px;max-height:min(420px,60vh);overflow-y:auto;background:var(--bt-card);border:1px solid var(--bt-line-2);border-radius:12px;box-shadow:0 6px 20px -4px rgba(0,0,0,.12);box-sizing:border-box;z-index:1;transform-origin:24px 0;animation:bt-pop-drop ").concat(j1.duration,"ms ").concat(j1.easing,",bt-veil-in .14s ease-out}\n.bt-option{display:flex;align-items:center;gap:10px;border:0;background:none;border-radius:8px;padding:7px 8px;min-height:36px;box-sizing:border-box;font-size:13px;line-height:18px;color:var(--bt-ink);cursor:pointer;text-align:left;width:100%}\n.bt-option[aria-selected=true]{background:var(--bt-active)}\n.bt-drop-list>.bt-option:not([aria-selected=true]):hover{background:var(--bt-hover)}\n.bt-option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-option-hint{font-size:11px;color:var(--bt-ink-2);flex:0 1 auto;min-width:0;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;animation:bt-veil-in .16s ease-out}\n.bt-option-copy{flex:1;min-width:0;display:flex;flex-direction:column}\n.bt-option-sub{font-size:11px;line-height:15px;color:var(--bt-ink-2);white-space:normal;overflow-wrap:anywhere}\n.bt-option-icon{width:22px;height:22px;border-radius:50%;background:var(--bt-hover);color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;flex:none}\n.bt-hint{padding:14px;text-align:center;font-size:13px;color:var(--bt-ink-2)}\n.bt-nc-spacer{flex:1}\n.bt-nc-compose{padding:0 16px 14px;display:flex;justify-content:center}\n.bt-nc-card{display:flex;align-items:flex-end;gap:6px;width:100%;max-width:var(--dsh-chat-content-width,748px);min-height:44px;padding:4px 6px;border-radius:22px;border:1px solid var(--bt-line-2);background:var(--bt-main);box-shadow:0 2px 8px -2px rgba(0,0,0,.06);box-sizing:border-box}\n.bt-nc-plus{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink-2);background:var(--bt-hover);flex:none}\n.bt-nc-card textarea{flex:1;resize:none;border:0;outline:none;background:none;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;padding:7px 4px;min-height:34px;max-height:140px;box-sizing:border-box}\n.bt-nc-send{width:34px;height:34px;border-radius:50%;border:0;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}\n.bt-nc-send:disabled{opacity:.3;cursor:default}\n.bt-create{flex:1;display:flex;flex-direction:column;min-width:0}\n.bt-create-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:6px 12px;border-bottom:1px solid var(--bt-line);box-sizing:border-box}\n.bt-create-gap{width:28px}\n.bt-create-title{font-size:14px;line-height:20px;font-weight:500}\n.bt-create-body{flex:1;overflow-y:auto;padding:28px 16px 32px;display:flex;justify-content:center}\n.bt-create-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:18px;animation:bt-q-in ").concat(d1.duration,"ms ").concat(d1.easing," both,bt-veil-in .22s ease-out both}\n.bt-create-preview{display:flex;flex-direction:column;align-items:center;gap:10px}\n.bt-create-pop{display:inline-flex;animation:bt-create-pop ").concat(q1.duration,"ms ").concat(q1.easing,' both}\n@keyframes bt-create-pop{from{transform:scale(.72);opacity:.4}}\n.bt-create-name{font-size:17px;line-height:24px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-create-step{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-bottom:-10px}\n.bt-create-looks{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card)}\n.bt-create-lookbar{justify-content:center}\n.bt-create-foot{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}\n.bt-create-go{height:36px;padding:0 20px}\n@media (prefers-reduced-motion:reduce){.bt-create-card,.bt-create-pop{animation:none}}\n.bt-send{height:40px;min-width:40px;border-radius:999px;border:0;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);font-size:14px;padding:0 14px;cursor:pointer}\n.bt-send:disabled{opacity:.35;cursor:default}\n.bt-error{padding:0 14px 10px;color:#e02135;font-size:12px}\n.bt-fix-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}\n.bt-fix-btn{font:inherit;font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer}\n.bt-fix .bt-note{margin-top:6px}\n.bt-fix-link{margin-top:6px;color:inherit;user-select:all}\n\n.bt-pane{position:fixed;top:var(--dsh-frame-chrome-top,0px);right:0;bottom:0;z-index:45;pointer-events:auto;background:var(--bt-main);color:var(--bt-ink);display:flex;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-dialog{flex:1;display:flex;flex-direction:column;min-width:0}\n.bt-dialog .bt-head{height:62px}\n.bt-dialog-log{flex:1;overflow-y:auto;padding:8px 16px 20px;width:100%;max-width:var(--dsh-chat-content-width,748px);margin:0 auto;box-sizing:border-box}\n.bt-dialog-foot{display:flex;justify-content:center;padding:10px 10px 16px}\n.bt-exchange{animation:bt-sheet-in ').concat(d1.duration,"ms ").concat(d1.easing,' both,bt-veil-in .24s ease-out both}\n.bt-exchange[data-leaving]{animation:bt-sheet-out .22s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}\n@keyframes bt-sheet-in{from{transform:translateY(24px)}}\n@keyframes bt-sheet-out{to{opacity:0;transform:translateY(16px);filter:blur(4px)}}\n.bt-exchange .bt-dialog{position:relative}\n.bt-exchange .bt-dialog-log{max-width:none;margin:0;padding:39px max(16px,calc((100% - 960px)/2)) 76px;scrollbar-width:thin}\n.bt-exchange .bt-tools{display:none}\n.bt-exchange .bt-dialog-foot{position:absolute;left:0;right:0;bottom:0;height:76px;box-sizing:border-box;align-items:flex-end;padding:0 0 28px;background:var(--bt-main);z-index:3;animation:bt-foot-in .3s cubic-bezier(.22,1,.36,1) .3s both}\n.bt-exchange .bt-dialog-foot::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:40px;background:linear-gradient(to top,var(--bt-main),transparent);pointer-events:none}\n.bt-exchange[data-leaving] .bt-dialog-foot{animation:bt-foot-out .22s cubic-bezier(.4,0,1,1) forwards}\n@keyframes bt-foot-in{from{opacity:0;transform:translateY(6px)}}\n@keyframes bt-foot-out{to{opacity:0;transform:translateY(6px)}}\n@media (prefers-reduced-motion:reduce){.bt-exchange,.bt-exchange .bt-dialog-foot{animation-duration:.01s}}\n.bt-soft{height:36px;border-radius:999px;border:0;background:var(--bt-hover);color:var(--bt-ink);padding:0 16px;font-size:14px;cursor:pointer}\n.bt-soft:hover{background:var(--bt-active)}\n.bt-time{display:block;text-align:center;font-size:12px;line-height:16px;color:var(--bt-ink-2);padding:6px 0}\n\n.bt-panel{position:fixed;top:var(--dsh-frame-chrome-top,0px);right:0;bottom:0;width:var(--bt-panel-w,320px);pointer-events:auto;z-index:40;background:var(--bt-main);border-left:.5px solid var(--bt-line-2);display:flex;flex-direction:column;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;box-sizing:border-box;animation:bt-pane-in .3s cubic-bezier(.2,0,0,1);transition:width ').concat(d1.duration,"ms ").concat(d1.easing,';container:bt-panel/inline-size}\n.bt-panel[data-leaving]{transform:translateX(100%);transition:transform .3s cubic-bezier(.2,0,0,1);pointer-events:none}\n.bt-panel[data-instant]{transition:none}\n@keyframes bt-pane-in{from{transform:translateX(100%)}}\n[class*="_centerCol"]{transition:margin-right ').concat(d1.duration,"ms ").concat(d1.easing,";position:relative;z-index:0;isolation:isolate}\n.bt-panel-grip{position:absolute;left:-5px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:3;touch-action:none}\n.bt-panel-grip:hover,.bt-panel[data-dragging] .bt-panel-grip{background:linear-gradient(to right,transparent 4px,var(--bt-line-2) 4px,var(--bt-line-2) 6px,transparent 6px)}\n.bt-drag-shield{position:fixed;inset:0;z-index:45;cursor:col-resize}\n.bt-panel-view{flex:1;min-height:0;display:flex;flex-direction:column}\n.bt-drawer-top{display:flex;justify-content:flex-end;gap:8px;padding:12px 17px 6px 12px}\n.bt-drawer-id{display:flex;flex-direction:column;align-items:center;padding:14px 16px 0}\n.bt-drawer-id>.bt-mark,.bt-drawer-id>.bt-cluster{margin-bottom:16px}\n.bt-drawer-name{font-size:17px;line-height:24px;font-weight:500;border:0;background:none;color:inherit;cursor:text;padding:0 6px;border-radius:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-drawer-name-face{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;text-overflow:ellipsis;line-clamp:3;cursor:default}\n.bt-drawer-name-face:hover{background:none}\n.bt-drawer-name:hover{background:var(--bt-hover)}\n.bt-drawer-name-input{font-size:17px;line-height:24px;text-align:center;border:.5px solid var(--bt-line-2);border-radius:6px;padding:0 6px;background:var(--bt-main);color:var(--bt-ink);outline:none;font-weight:500}\n.bt-drawer-role{font-size:12px;line-height:16px;color:var(--bt-ink-3);margin-top:6px;text-align:center}\n.bt-tabs{position:relative;display:flex;justify-content:center;gap:2px;margin:16px 16px 0}\n.bt-tab{position:relative;z-index:1;border:0;background:none;border-radius:9999px;padding:4px 8px;font-size:13px;line-height:20px;color:var(--bt-ink-2);cursor:pointer;white-space:nowrap}\n.bt-tab:hover{color:var(--bt-ink)}\n.bt-tab[aria-selected=true]{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-tabs>.bt-thumb{top:0;bottom:0;border-radius:9999px;background:var(--bt-hover)}\n.bt-tabs[data-glide] .bt-tab[aria-selected=true]{background:transparent}\n.bt-drawer-body{flex:1;overflow-y:auto;padding:20px 16px 16px;font-size:13px;line-height:18px;display:flex;flex-direction:column;gap:16px}\n.bt-empty{text-align:center;color:var(--bt-ink-3);font-size:13px;line-height:18px;padding:8px 12px}\n.bt-section-title{font-size:12px;color:var(--bt-ink-2);margin-bottom:6px}\n.bt-muted{color:var(--bt-ink-2)}\n.bt-swatches{display:flex;flex-wrap:wrap;gap:6px}\n.bt-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px var(--bt-line-2)}\n.bt-swatch[aria-pressed=true]{border-color:var(--bt-ink)}\n.bt-textarea{width:100%;box-sizing:border-box;min-height:120px;border:1px solid var(--bt-line);border-radius:8px;padding:8px;background:var(--bt-card);color:var(--bt-ink);font:inherit;resize:vertical}\n.bt-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}\n.bt-kv{display:flex;justify-content:space-between;gap:8px;font-size:12px;line-height:20px;color:var(--bt-ink-2)}\n.bt-kv span:last-child{color:var(--bt-ink);font-variant-numeric:tabular-nums}\n.bt-danger{color:#e02135}\n\n/* Bot settings: fields, the avatar editor popover, and the details-pane sub-view. */\n.bt-field{display:flex;flex-direction:column;gap:6px}\n.bt-field-label{font-size:13px;line-height:18px;font-weight:500}\n.bt-input{width:100%;box-sizing:border-box;height:36px;border:1px solid var(--bt-line);border-radius:8px;padding:0 10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:13px;outline:none}\n.bt-input:focus{border-color:var(--bt-line-2)}\n.bt-input-area{height:auto;min-height:96px;padding:8px 10px;line-height:18px;resize:vertical}\n.bt-note{font-size:12px;line-height:16px;color:var(--bt-ink-3)}\n.bt-soft-sm{height:28px;padding:0 12px;font-size:12px}\n.bt-set-avatar{display:flex;justify-content:center;padding:4px 0}\n.bt-avatar-anchor{position:relative}\n.bt-avatar-trigger{position:relative;width:64px;height:64px;border:0;border-radius:50%;background:none;cursor:pointer;padding:0}\n.bt-avatar-pencil{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:var(--bt-main);border:1px solid var(--bt-line-2);color:var(--bt-ink-2);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.12)}\n.bt-avedit{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:300px;background:var(--bt-main);border:1px solid var(--bt-line);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:10px;z-index:130;display:flex;flex-direction:column;gap:10px;color:var(--bt-ink);transform-origin:top center;animation:bt-pop-drop ").concat(j1.duration,"ms ").concat(j1.easing,",bt-veil-in .16s ease-out}\n.bt-bs .bt-avedit{transform-origin:32px 0}\n.bt-avedit-top{display:flex;align-items:center;justify-content:space-between}\n.bt-avedit-tabs{position:relative;display:flex;gap:2px;background:var(--bt-hover);border-radius:999px;padding:2px}\n.bt-avedit-tab{position:relative;z-index:1;border:0;background:none;border-radius:999px;padding:3px 10px;font-size:12px;line-height:16px;color:var(--bt-ink-2);cursor:pointer}\n.bt-avedit-tab[aria-selected=true]{background:var(--bt-main);color:var(--bt-ink)}\n.bt-avedit-tabs>.bt-thumb{top:2px;bottom:2px;border-radius:999px;background:var(--bt-main);box-shadow:0 1px 2px rgba(0,0,0,.06)}\n.bt-avedit-tabs[data-glide] .bt-avedit-tab[aria-selected=true]{background:transparent}\n.bt-avedit-reset{color:var(--bt-ink-3)}\n.bt-avedit-reset:hover{color:var(--bt-ink)}\n.bt-shapes{display:flex;flex-direction:column;gap:2px}\n.bt-shape-row{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}\n.bt-shape{position:relative;aspect-ratio:1;border:0;border-radius:8px;background:none;color:var(--bt-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}\n.bt-shape:hover{background:var(--bt-hover)}\n.bt-shape .bt-ring{position:absolute;left:50%;top:50%;width:36px;height:36px;translate:-50% -50%;overflow:visible;opacity:0;scale:.82;pointer-events:none;transition:opacity .14s ease,").concat(d0(q1,"scale"),"}\n.bt-shape[aria-pressed=true] .bt-ring{opacity:1;scale:1}\n.bt-colors{display:flex;justify-content:space-between}\n.bt-color{width:22px;height:22px;border-radius:50%;border:2px solid transparent;padding:2px;background:none;cursor:pointer;box-sizing:border-box;transition:border-color .14s ease,").concat(d0(j1,"scale"),"}\n.bt-color[aria-pressed=true] span{animation:bt-check-pop ").concat(q1.duration,"ms ").concat(q1.easing,'}\n.bt-color span{display:block;width:100%;height:100%;border-radius:50%}\n.bt-color[aria-pressed=true]{border-color:var(--bt-ink)}\n.bt-dropzone{border:1.5px dashed var(--bt-line-2);border-radius:10px;padding:18px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--bt-ink-2);font-size:12px;line-height:16px;text-align:center}\n.bt-dropzone[data-over]{border-color:var(--bt-accent);color:var(--bt-ink)}\n.bt-dropzone img{width:64px;height:64px;border-radius:50%;object-fit:cover}\n.bt-set-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}\n.bt-about{white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}\n.bt-about[data-open]{display:block;-webkit-line-clamp:unset}\n.bt-more{border:0;background:none;color:var(--bt-ink-3);font-size:12px;line-height:16px;cursor:pointer;padding:2px 0}\n.bt-more:hover{color:var(--bt-ink)}\n.bt-subhead{display:flex;align-items:center;gap:4px;padding:10px 12px 4px}\n.bt-subhead-title{flex:1;font-size:15px;line-height:24px;font-weight:600;padding-left:4px}\n.bt-icon-btn{width:28px;height:28px;border-radius:50%;border:0;background:none;color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}\n.bt-icon-btn:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-set-body{gap:20px}\n.bt-drawer-model{display:flex;flex-direction:column}\n.bt-drawer-model .bt-note{margin-top:6px}\n.bt-drawer-permission{display:flex;flex-direction:column}\n.bt-seg button.bt-perm-danger,.bt-seg button.bt-perm-danger[aria-pressed=true]{color:#e02135}\n\n/* Settings dialog: a 198px page list beside the page. */\n/* #1347: dialogs, sheets and scrims sit in a tier of their own, well clear of everything the\n chat surface may do. They used to share 60/61 with the context menu, the reaction strip and the\n remote-Bot sheet, so any body-level popover opened after them tied on z-index and won on DOM\n order \u2014 and a chat element with a stray z-index could reach the same number. The tier is now\n explicit: chat surface at most 50, dialogs 120/121, popovers 130, palette 140, toast 1000. The\n chat column is additionally capped at z-index 0 inside its own stacking context (see the\n center-column rule below), so nothing in the thread can outrank these whatever it does. */\n.bt-settings-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:120;isolation:isolate;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-scrim{position:absolute;inset:0;background:rgba(0,0,0,.32);animation:bt-fade .22s ease-out}\nbody[data-ds-dark-theme] .bt-scrim{background:rgba(0,0,0,.5)}\n/* #1347: a modal is a modal. A 0.32 scrim leaves the thread legible behind it, and the owner read that\n as the chat painting through the dialog ("assistant text readable across columns", a pill visible at\n full opacity behind the Inbox). The scrim now separates the two surfaces outright: the thread is\n dimmed to a backdrop, not left readable beside the thing being decided. It is still one layer and\n still dismisses on a click, so nothing else about it changes. */\nbody:not([data-ds-dark-theme]) .bt-scrim{background:rgba(12,12,14,.62)}\nbody[data-ds-dark-theme] .bt-scrim{background:rgba(0,0,0,.7)}\n.bt-settings{--bt-set-w:min(800px,calc(100vw - 48px));--bt-set-h:min(620px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))));position:relative;width:var(--bt-set-w);height:var(--bt-set-h);background:var(--bt-main);border-radius:16px;border:.5px solid var(--bt-line-2);box-shadow:0 24px 80px rgba(0,0,0,.24);display:flex;overflow:hidden;color:var(--bt-ink);transition:').concat(d0(d1,"width","height"),";animation:bt-dialog-rise ").concat(d1.duration,"ms ").concat(d1.easing,",bt-veil-in .2s ease-out}\n.bt-settings[data-wide]{--bt-set-w:min(1100px,calc(100vw - 48px));--bt-set-h:min(780px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))))}\n:is(.bt-settings-layer,.bt-mem-layer)[data-leaving]{pointer-events:none}\n:is(.bt-settings-layer,.bt-mem-layer)[data-leaving] .bt-scrim{opacity:0;transition:opacity .16s ease-in}\n:is(.bt-settings-layer,.bt-mem-layer)[data-leaving]>[role=dialog]{animation:bt-dialog-sink .16s cubic-bezier(.4,0,1,1) forwards}\n@keyframes bt-dialog-rise{from{transform:translateY(12px) scale(.96)}}\n@keyframes bt-dialog-sink{to{opacity:0;transform:translateY(6px) scale(.975);filter:blur(3px)}}\n@media (prefers-reduced-motion:reduce){.bt-settings{transition:none}.bt-settings,.bt-scrim,.bt-settings-page>*{animation:bt-fade .12s ease-out!important}}\n.bt-settings-nav{position:relative;width:198px;flex:none;padding:16px 8px;border-right:.5px solid var(--bt-line);display:flex;flex-direction:column;gap:2px;background:var(--bt-sidebar);box-sizing:border-box}\n.bt-settings-item{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:8px;background:none;color:var(--bt-ink-2);font:inherit;font-size:13px;line-height:20px;cursor:pointer;text-align:left;transition:background-color .12s ease,color .12s ease}\n.bt-settings-item:hover{color:var(--bt-ink);background:var(--bt-hover)}\n.bt-settings-item[aria-current=page]{background:var(--bt-active);color:var(--bt-ink)}\n.bt-settings-nav>.bt-thumb{left:8px;right:8px;border-radius:8px;background:var(--bt-active)}\n.bt-settings-nav[data-glide] .bt-settings-item[aria-current=page]{background:transparent}\n.bt-settings-shell{margin-top:auto}\n.bt-settings-out{margin-left:auto;opacity:.6;font-size:12px}\n/* Usage while another page is open: out of the flow at Usage's own width, so it keeps\n its layout, and not rendered. */\n.bt-settings-usage[data-off]{position:absolute;top:0;left:198px;width:calc(min(1100px,calc(100vw - 48px)) - 198px);height:100%;box-sizing:border-box;content-visibility:hidden;pointer-events:none}\n/* The page column takes the dialog's final size at once, so while the dialog resizes\n only its edge moves and the page does not lay out again every frame. */\n.bt-settings-main{flex:none;display:flex;flex-direction:column;min-width:0;width:calc(var(--bt-set-w) - 198px);height:var(--bt-set-h)}\n.bt-settings-head{display:flex;align-items:center;gap:6px;padding:16px 56px 4px 20px}\n.bt-settings-head h2{margin:0;font-size:15px;line-height:24px;font-weight:600;animation:bt-veil-in .2s ease-out}\n.bt-settings-head>.bt-icon-btn{animation:bt-back-in ").concat(j1.duration,"ms ").concat(j1.easing,",bt-veil-in .16s ease-out}\n@keyframes bt-back-in{from{translate:6px 0;scale:.8}}\n.bt-settings-scroll{flex:1;overflow-y:auto;padding:12px 20px 24px;display:flex;flex-direction:column;gap:20px;scrollbar-width:thin}\n.bt-settings-page>:not(.bt-us){animation:bt-page-up ").concat(d1.duration,"ms ").concat(d1.easing,' backwards,bt-veil-in .22s ease-out backwards}\n.bt-settings-page[data-move=in]>:not(.bt-us){animation-name:bt-page-in,bt-veil-in}\n.bt-settings-page[data-move=out]>:not(.bt-us){animation-name:bt-page-out,bt-veil-in}\n.bt-settings-page>:nth-child(2){animation-delay:30ms}\n.bt-settings-page>:nth-child(3){animation-delay:60ms}\n.bt-settings-page>:nth-child(4){animation-delay:90ms}\n.bt-settings-page>:nth-child(n+5){animation-delay:120ms}\n@keyframes bt-page-up{from{transform:translateY(10px)}}\n@keyframes bt-page-in{from{transform:translateX(18px)}}\n@keyframes bt-page-out{from{transform:translateX(-18px)}}\n.bt-settings-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:0;background:var(--bt-hover);color:var(--bt-ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}\n.bt-settings-close:hover{background:var(--bt-active);color:var(--bt-ink)}\n.bt-settings-form{display:flex;flex-direction:column;gap:16px}\n.bt-set-section h3{font-size:13px;line-height:18px;font-weight:600;margin:0 0 8px;padding:0 4px}\n.bt-set-card{border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card);display:flex;flex-direction:column}\n.bt-set-card>*+*{border-top:.5px solid var(--bt-line)}\n.bt-set-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;background:none;color:var(--bt-ink);font:inherit;font-size:13px;line-height:18px;text-align:left;width:100%;box-sizing:border-box;border-radius:0}\nbutton.bt-set-row{cursor:pointer}\nbutton.bt-set-row:hover{background:var(--bt-hover)}\n.bt-set-card>.bt-set-row+.bt-set-row{border-top:.5px solid var(--bt-line)}\n.bt-set-row:first-child{border-top-left-radius:12px;border-top-right-radius:12px}\n.bt-set-row:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}\n/* #892: a plugin\'s rows in the Members card (Invite by link) sit on the card\'s own padding, like a row. */\n.bt-flybot-room-members{padding:10px 12px}\n.bt-set-copy{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}\n/* #1347: a row\'s copy never breaks its own label. The label used to be a bare inline span inside a\n column that flexed down to 36px, so "Name" came out as "Nam" + "e"; a single-word label is now one\n line, and the hint below it is what wraps when the column is short. */\n.bt-set-copy>.bt-bs-label,.bt-set-copy>.bt-set-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-set-hint{font-size:12px;line-height:16px;color:color-mix(in srgb,var(--bt-ink-2) 50%,var(--bt-ink-3))}\n.bt-set-control{flex:none;display:flex;align-items:center;gap:6px}\n.bt-set-value{font-size:13px;color:var(--bt-ink-2);text-align:right}\n.bt-set-bot{flex:1;display:flex;align-items:center;gap:8px;min-width:0}\n.bt-set-paste{flex-direction:column;align-items:stretch;gap:8px}\n.bt-chevron{color:var(--bt-ink-3);display:inline-flex;flex:none}\n/* Settings \u2192 Workflows (#1364): factory and your own pipelines, then the flowchart. */\n.bt-wf-page{display:flex;flex-direction:column;gap:16px}\n.bt-wf-hint{margin:0;font-size:12px;line-height:1.5;color:var(--bt-ink-2)}\n.bt-wf-status{margin:0;font-size:13px;color:var(--bt-ink-2)}\n.bt-wf-lists{display:flex;flex-direction:column;gap:16px}\n.bt-wf-editor{display:flex;flex-direction:column;gap:8px}\n.bt-wf-title{margin:0;font-size:15px;font-weight:600}\n.bt-wf-actions{display:flex;gap:8px;flex-wrap:wrap}\n.bt-wf-actions button,.bt-wf-page>.bt-error button{height:32px;padding:0 12px;border-radius:16px;border:1px solid var(--bt-line);background:var(--bt-card);color:inherit;font:inherit;font-size:12.5px;cursor:pointer}\n.bt-wf-page>.bt-error{display:flex;align-items:center;justify-content:space-between;gap:12px}\n.bt-wf-canvas{position:relative;min-height:440px;overflow:auto;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-main);padding:12px 8px 20px}\n.bt-wf-stage{position:relative;width:100%}\n.bt-wf-fit{position:relative;width:0;margin:0 auto;transform-origin:50% 0}\n.bt-wf-fit .bt-wf-plane{margin-top:0}\n.bt-wf-palette{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center}\n.bt-wf-palette button{height:28px;padding:0 10px;border-radius:14px;border:1px solid var(--bt-line);background:var(--bt-card);color:inherit;font:inherit;font-size:12px;cursor:pointer}\n.bt-wf-prompts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:12px 4px 0}\n.bt-wf-prompt{display:flex;flex-direction:column;gap:4px;font-size:12px;min-width:0}\n.bt-wf-prompt textarea{width:100%;box-sizing:border-box;border-radius:8px;border:1px solid var(--bt-line);background:var(--bt-card);color:inherit;font:inherit;font-size:12px;padding:6px 8px;resize:vertical}\n.bt-wf-plane{position:relative;width:0;margin:16px auto 0}\n.bt-wf-wires{position:absolute;left:calc(-1 * var(--bt-wf-wire-span,480px));top:0;width:calc(2 * var(--bt-wf-wire-span,480px));overflow:visible;pointer-events:none}\n.bt-wf-wires path{fill:none;stroke:var(--bt-ink-3);stroke-width:1.6}\n.bt-wf-wires marker path{fill:var(--bt-ink-3);stroke:none}\n.bt-wf-node{position:absolute;width:168px;box-sizing:border-box;border:1px solid var(--bt-line);background:var(--bt-card);border-radius:12px;padding:8px 9px;display:flex;align-items:center;gap:8px}\n@keyframes bt-wf-node-live{0%,100%{border-color:var(--bt-accent);box-shadow:0 0 0 2px rgba(77,107,254,.18),0 0 0 0 rgba(77,107,254,.2)}50%{border-color:rgba(77,107,254,.85);box-shadow:0 0 0 3px rgba(77,107,254,.35),0 0 14px 2px rgba(77,107,254,.22)}}\n.bt-wf-node.running{border-color:var(--bt-accent);animation:bt-wf-node-live 1.5s ease-in-out infinite}\n@media (prefers-reduced-motion:reduce){.bt-wf-node.running{animation:none;box-shadow:0 0 0 3px rgba(77,107,254,.2)}}\n.bt-wf-node.done{border-color:rgba(22,163,74,.35)}\n.bt-wf-node.failed{border-color:#e5484d}\n.bt-wf-node.queued{opacity:.78}\n.bt-wf-av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:650;flex:none;font-size:12px}\n.bt-wf-copy{min-width:0;flex:1;display:flex;flex-direction:column}\n.bt-wf-name{font-weight:600;font-size:12.5px}\n.bt-wf-role{font-size:11px;color:var(--bt-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-wf-chip{position:absolute;top:-9px;right:8px;font-size:10.5px;padding:1px 7px;border-radius:10px;background:var(--bt-active);color:var(--bt-ink-2);white-space:nowrap;pointer-events:none}\n.bt-wf-node.editing .bt-wf-chip{right:18px}\n.bt-wf-chip.running{background:rgba(77,107,254,.12);color:var(--bt-accent)}\n.bt-wf-chip.done{background:rgba(22,163,74,.12);color:#16a34a}\n.bt-wf-chip.failed{background:rgba(229,72,77,.12);color:#e5484d}\n.bt-wf-chip.idle{color:var(--bt-ink-3)}\n.bt-wf-port{position:absolute;left:50%;bottom:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;border:2px solid var(--bt-accent);background:var(--bt-card);padding:0;cursor:crosshair}\n.bt-wf-remove{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;border:1px solid var(--bt-line);background:var(--bt-card);cursor:pointer;line-height:16px;padding:0}\n.bt-wf-par{position:absolute;border:1px dashed var(--bt-ink-3);border-radius:14px;pointer-events:none}\n.bt-wf-plabel{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:10.5px;color:var(--bt-ink-2);background:var(--bt-card);padding:0 6px;white-space:nowrap}\n\n/* Settings \u2192 Connectors. */\n.bt-connector{display:flex;flex-direction:column;gap:10px;padding:12px}\n.bt-connector-head{display:flex;align-items:center;gap:12px;min-width:0}\n.bt-connector-mark{flex:none;width:36px;height:36px;border-radius:10px;background:var(--bt-card);border:.5px solid var(--bt-line);display:flex;align-items:center;justify-content:center;color:var(--bt-ink)}\n.bt-connector-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}\n.bt-connector-name{font-size:14px;line-height:20px;font-weight:500}\n.bt-connector-status{font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-connector[data-state=ready] .bt-connector-status{color:var(--bt-ink-2)}\n.bt-connector[data-state=error] .bt-connector-status{color:#e02135;white-space:normal}\n.bt-connector-actions{flex:none;display:flex;gap:6px}\n.bt-connector-form{display:flex;flex-direction:column;gap:8px;padding-left:48px;animation:bt-q-in ').concat(d1.duration,"ms ").concat(d1.easing,",bt-veil-in .2s ease-out}\n.bt-connector-form-row{display:flex;align-items:center;gap:6px}\n.bt-connector-apps{display:flex;flex-direction:column;gap:8px}\n.bt-connector-link{flex:1;font-size:12px;color:var(--bt-ink-2)}\n.bt-connector-uses{padding-left:48px;font-size:12px;line-height:16px;color:var(--bt-ink-3)}\n.bt-connector-bots{display:flex;flex-direction:column;gap:2px;padding-left:48px;animation:bt-q-in ").concat(d1.duration,"ms ").concat(d1.easing,',bt-veil-in .2s ease-out}\n.bt-connector-others{padding-left:20px}\n.bt-connector-error{padding-left:48px;font-size:12px;line-height:16px;color:#e02135}\n.bt-connector-app-list{list-style:none;margin:0;padding:0 0 0 48px;display:flex;flex-direction:column;gap:2px}\n.bt-connector-app{display:flex;gap:8px;font-size:12px;line-height:16px;color:var(--bt-ink-2)}\n.bt-connector-app-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-app-status{color:var(--bt-ink-3)}\n[data-status=sign-in]>.bt-app-status{color:#c46a00}\n\n/* Shell chrome reshaped for the team view. Selectors use stable data attributes where the\n shell offers them and CSS-module name suffixes elsewhere. */\n[class*="_logoRow"],[class*="_newSession"],nav[class*="_panelList"]{display:none!important}\n[class*="_footArea"]{display:flex!important;flex-direction:row-reverse;align-items:center;gap:9px;padding:8px 6px 6px!important}\n[class*="_footArea"]>[class*="_footerActions"]{flex:1 1 auto;min-width:0}\n[class*="_footArea"]>[class*="_settingsArea"]{flex:none;width:auto!important}\n[class*="_footArea"] button[aria-label="Settings"]{width:auto!important;padding:0!important;background:none!important;border-radius:50%!important;height:auto!important}\n[class*="_widthHandle"]{display:none!important}\n\n.bt-voice-pane{flex-direction:column;align-items:center;justify-content:center;animation:bt-fade .2s ease-out}\n.bt-voice-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;max-width:560px;text-align:center}\n.bt-voice-orb{position:relative;width:200px;height:200px;display:grid;place-items:center;margin-bottom:8px}\n.bt-voice-ring{position:absolute;inset:34px;border-radius:50%;background:var(--bt-hover);transform:scale(calc(1 + var(--bt-level,0) * .55));transition:transform .08s linear}\n.bt-voice-ring-2{inset:14px;background:none;box-shadow:inset 0 0 0 1px var(--bt-line-2);transform:scale(calc(.94 + var(--bt-level,0) * .3));opacity:.8}\n.bt-voice-stage[data-phase=thinking] .bt-voice-ring{animation:bt-voice-breathe 1.6s ease-in-out infinite}\n.bt-voice-stage[data-phase=speaking] .bt-voice-ring{animation:bt-voice-speak .9s ease-in-out infinite}\n@keyframes bt-voice-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}\n@keyframes bt-voice-speak{0%,100%{transform:scale(1.04)}30%{transform:scale(1.2)}60%{transform:scale(1.1)}}\n.bt-voice-orb>.bt-mark{position:relative}\n.bt-voice-name{font-size:16px;line-height:22px;font-weight:500}\n.bt-voice-status{font-size:13px;line-height:18px;color:var(--bt-ink-2);min-height:18px}\n.bt-voice-caption{min-height:44px;font-size:15px;line-height:22px;color:var(--bt-ink);animation:bt-blur-in .25s ease-out;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}\n.bt-voice-note{font-size:12px;color:#e02135}\n.bt-voice-setup{height:32px;padding:0 14px;border-radius:16px;border:0;background:var(--bt-hover);color:var(--bt-ink);font:inherit;font-size:13px;cursor:pointer;transition:background-color .15s ease}\n.bt-voice-setup:hover{background:var(--bt-active)}\n.bt-voice-bar{display:flex;gap:16px;padding:0 0 32px}\n.bt-voice-btn{position:relative;width:52px;height:52px;border-radius:50%;border:0;background:var(--bt-hover);color:var(--bt-ink);display:grid;place-items:center;cursor:pointer;transition:background-color .15s ease,transform .12s ease}\n.bt-voice-btn:hover{background:var(--bt-active)}\n.bt-voice-btn:active{transform:scale(.94)}\n.bt-voice-btn[aria-pressed=true]{background:var(--bt-user);color:var(--bt-user-ink)}\n.bt-voice-slash{position:absolute;width:24px;height:2px;border-radius:1px;background:currentColor;transform:rotate(-45deg)}\n.bt-voice-end{background:#ff3e51;color:#fff}\n.bt-voice-end:hover{background:#e02135}\n@keyframes bt-fade{from{opacity:0}to{opacity:1}}\n@keyframes bt-blur-in{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}\n@media (prefers-reduced-motion:reduce){.bt-voice-pane,.bt-voice-caption,.bt-voice-ring{animation:none!important}}\n.bt-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:min(80%,560px,calc(100% - 82px))}\n/* The bubble\'s row: reactions hang below it, so the hover toolbar (and a group\n sender\'s avatar) line up with the bubble alone. */\n.bt-msg-line{position:relative;display:flex;align-items:flex-end;gap:8px;max-width:100%}\n.bt-msg-line>.bt-bubble{max-width:none;min-width:0}\n/* The same bubble width as beside an avatar column: 80% of (100% - 30px), plus the 30px. */\n.bt-astack[data-lead]>.bt-msg{max-width:min(calc(80% + 6px),590px,calc(100% - 52px))}\n.bt-tools{position:absolute;top:50%;left:100%;margin-left:6px;transform:translateY(-50%);display:flex;gap:2px;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s}\n.bt-tools::after{content:"";position:absolute;top:-8px;bottom:-8px;right:100%;width:128px;z-index:-1}\n.bt-msg:hover>.bt-msg-line>.bt-tools,.bt-msg:focus-within>.bt-msg-line>.bt-tools,.bt-tools[data-open]{opacity:1;visibility:visible}\n.bt-tool{width:24px;height:24px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease}\n.bt-tool:hover,.bt-tool[aria-expanded=true]{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-tool:active{background:var(--bt-active)}\n.bt-tool:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px}\n.bt-react-strip{position:fixed;z-index:130;pointer-events:auto;display:flex;gap:2px;padding:4px;border-radius:999px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.06);transform:translate(-50%,-100%);transform-origin:bottom center;animation:bt-pop-lift ').concat(j1.duration,"ms ").concat(j1.easing,",bt-veil-in .14s ease-out}\n.bt-react-strip button{width:32px;height:32px;border:0;border-radius:50%;background:none;font-size:18px;line-height:1;cursor:pointer;transition:background-color .12s ease,").concat(d0(q1,"transform"),";animation:bt-check-pop ").concat(q1.duration,"ms ").concat(q1.easing," backwards}\n.bt-react-strip button:nth-child(2){animation-delay:20ms}\n.bt-react-strip button:nth-child(3){animation-delay:40ms}\n.bt-react-strip button:nth-child(4){animation-delay:60ms}\n.bt-react-strip button:nth-child(n+5){animation-delay:80ms}\n.bt-react-strip button:hover{background:var(--bt-hover);transform:scale(1.15)}\n.bt-react-strip button:active{transform:scale(.92)}\n.bt-reacts{display:flex;gap:4px;margin-top:4px}\n.bt-react{height:22px;min-width:30px;padding:0 6px;border-radius:999px;border:.5px solid var(--bt-line-2);background:var(--bt-main);font-size:13px;line-height:20px;cursor:pointer;animation:bt-react-pop ").concat(q1.duration,"ms ").concat(q1.easing,";transition:background-color .12s ease,").concat(d0(j1,"scale"),'}\n.bt-react:hover{background:var(--bt-hover)}\n.bt-react:active{scale:.92}\n@keyframes bt-react-pop{from{transform:scale(.6);opacity:0}}\n.bt-bubble a[href^="').concat(h4,'"] svg{display:none}\n.bt-you{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bt-ink) 5%,var(--bt-sidebar));color:var(--bt-ink-2);box-shadow:inset 0 0 0 1px var(--bt-line);transition:background-color .12s ease}\nbutton:hover .bt-you{background:color-mix(in srgb,var(--bt-ink) 9%,var(--bt-sidebar))}\n.bt-you-wrap{display:inline-flex;padding:0}\n.bt-connect-foot{width:100%;height:36px}\n\n.bt-menu{position:fixed;pointer-events:auto;z-index:130;min-width:200px;padding:6px;border-radius:12px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1),0 0 0 1px rgba(228,228,228,.04);display:flex;flex-direction:column;gap:2px;transform-origin:var(--bt-origin,top left);animation:bt-pop-drop ').concat(j1.duration,"ms ").concat(j1.easing,',bt-veil-in .14s ease-out;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;box-sizing:border-box}\n.bt-menu button{display:flex;align-items:center;gap:4px;width:100%;min-height:30px;text-align:left;border:0;background:none;border-radius:6px;padding:6px 8px;font:inherit;font-size:13px;line-height:18px;color:var(--bt-ink);cursor:pointer;box-sizing:border-box}\n.bt-menu button:hover{background:var(--bt-hover)}\n.bt-menu button svg{flex:none;width:16px;height:16px;margin:0 1px}\n.bt-menu .bt-danger{color:#c21d2e}\n.bt-menu-sep{height:.5px;flex:none;background:var(--bt-line-2);margin:4px 8px}\n.bt-menu-up{--bt-origin:bottom left;animation-name:bt-pop-lift,bt-veil-in}\n.bt-menu[data-leaving]{pointer-events:none;animation:bt-pop-out .12s cubic-bezier(.4,0,1,1) forwards}\n.bt-menu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-menu-hint{flex:none;color:var(--bt-ink-3);font-size:12px;font-variant-numeric:tabular-nums}\n.bt-palette-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:140;isolation:isolate;pointer-events:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.46);animation:bt-fade .22s ease-out}\n.bt-palette{position:absolute;top:50%;left:50%;width:min(560px,92vw);transform:translate(-50%,-50%);display:flex;flex-direction:column;border-radius:12px;background:var(--bt-main);border:1px solid var(--bt-line-2);box-shadow:0 24px 48px -12px rgba(0,0,0,.25);overflow:hidden;color:var(--bt-ink);animation:bt-palette-in ').concat(d1.duration,"ms ").concat(d1.easing,",bt-veil-in .2s ease-out}\n.bt-palette-layer[data-leaving]{pointer-events:none}\n.bt-palette-layer[data-leaving] .bt-backdrop{opacity:0;transition:opacity .16s ease-in}\n.bt-palette-layer[data-leaving] .bt-palette{animation:bt-dialog-sink .16s cubic-bezier(.4,0,1,1) forwards}\n@keyframes bt-palette-in{from{translate:0 -10px;scale:.96}}\n.bt-palette-head{display:flex;align-items:center;gap:4px;padding:14px 10px 14px 14px;border-bottom:.5px solid var(--bt-line-2)}\n.bt-palette-glyph{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;color:var(--bt-ink-3);margin-right:4px}\n.bt-palette-head input{flex:1;min-width:0;border:0;outline:none;background:none;color:var(--bt-ink);font:inherit;font-size:15px;line-height:22px;padding:0}\n.bt-palette-head input::placeholder{color:var(--bt-ink-3)}\n.bt-palette-clear{width:18px;height:18px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}\n.bt-palette-clear:hover{color:var(--bt-ink)}\n.bt-palette-clear svg{width:12px;height:12px}\n.bt-palette-list{position:relative;height:402px;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px;box-sizing:border-box}\n.bt-palette-list>.bt-thumb,.bt-drop-list>.bt-thumb{left:0;right:0;border-radius:8px;background:var(--bt-active)}\n.bt-palette-list>.bt-thumb{left:8px;right:8px}\n:is(.bt-palette-list,.bt-drop-list)[data-glide] [aria-selected=true]{background:transparent}\n:is(.bt-palette-row,.bt-palette-section,.bt-drop-list>.bt-option){position:relative;z-index:1}\n.bt-palette-section{padding:8px 8px 4px;font-size:12px;line-height:16px;color:var(--bt-ink-3);flex:none}\n.bt-palette-section:first-of-type{padding-top:0}\n.bt-palette-row{flex:none;display:flex;align-items:center;gap:8px;height:49px;padding:6px 10px 6px 8px;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;width:100%}\n.bt-palette-row[aria-selected=true]{background:var(--bt-active)}\n.bt-palette-lead{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}\n.bt-palette-cmd{width:24px;height:24px;border-radius:50%;background:var(--bt-hover);display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink-2)}\n.bt-palette-cmd svg{width:14px;height:14px}\n.bt-palette-agent{width:24px;height:24px;border-radius:50%;background:var(--bt-hover);display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink)}\n.bt-palette-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}\n.bt-palette-title{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-palette-sub{font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-palette-badge{flex:none;font-size:11px;line-height:16px;padding:0 6px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink)}\n.bt-palette-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:0 16px;text-align:center;animation:bt-veil-in .22s ease-out}\n.bt-palette-empty-icon{color:var(--bt-line-2)}\n.bt-palette-empty-icon svg{width:32px;height:32px}\n.bt-palette-empty-label{font-size:14px;font-weight:500;color:var(--bt-ink-2)}\n.bt-palette-empty-hint{font-size:13px;line-height:16px;color:var(--bt-ink-3)}\n@media (prefers-reduced-motion:reduce){.bt-palette{animation:bt-fade .1s ease-out}}\n.bt-account-menu{min-width:224px;width:max-content;max-width:calc(100vw - 16px)}\n.bt-flybot-account-header:not(:empty){padding:6px 0 2px;margin-bottom:4px;border-bottom:.5px solid var(--bt-line-2)}\n.bt-account{flex:none;width:36px;height:36px;border:0;padding:0;background:none;border-radius:50%;cursor:pointer;display:inline-flex}\n.bt-account:hover .bt-you,.bt-account[aria-expanded=true] .bt-you{background:color-mix(in srgb,var(--bt-ink) 9%,var(--bt-sidebar))}\n/* Popover keyframes move translate and scale, which compose with a transform the popover\n already has. */\n@keyframes bt-pop-drop{from{translate:0 -4px;scale:.96}}\n@keyframes bt-pop-lift{from{translate:0 4px;scale:.96}}\n@keyframes bt-pop-out{to{opacity:0;scale:.97;filter:blur(2px)}}\n@keyframes bt-veil-in{from{opacity:0;filter:blur(6px)}}\n@keyframes bt-check-pop{from{opacity:0;scale:.4}}\n@media (prefers-reduced-motion:reduce){.bt-menu,.bt-avedit,.bt-react-strip{animation:bt-fade .1s ease-out}.bt-react-strip button,.bt-q-check,.bt-color[aria-pressed=true] span{animation:none}}\n.bt-brand:hover{background:var(--bt-hover)}\n.bt-drop-list{position:relative;display:flex;flex-direction:column;gap:2px}\n.bt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}\n.bt-pick{display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 2px 6px;border-radius:10px;border:1px solid transparent;background:none;color:var(--bt-ink);cursor:pointer;font:inherit;font-size:11px;line-height:14px;min-width:0}\n.bt-pick:hover{background:var(--bt-hover)}\n.bt-pick[aria-pressed=true]{border-color:var(--bt-line-2);background:var(--bt-hover)}\n.bt-pick>span:last-child:not(.bt-mark){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-pick:hover .bt-mark[data-state=idle] .bt-eye{animation:bt-blink .5s linear 1}\n.bt-select{width:100%;height:34px;box-sizing:border-box;border-radius:8px;border:1px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink);padding:0 8px;font:inherit;font-size:13px}\n.bt-note{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-top:6px}\n.bt-swatch-sep{width:1px;height:22px;background:var(--bt-line-2);margin:0 2px}\n.bt-swatch-custom{position:relative;overflow:hidden;background:conic-gradient(#ff3e51,#ffaf38,#00c972,#1cc3b0,#2a92fe,#a97efe,#ff5eb1,#ff3e51);box-sizing:border-box}\n.bt-swatch-custom[data-on=true]{border-color:var(--bt-ink)}\n.bt-swatch-custom input{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);opacity:0;cursor:pointer;border:0;padding:0}\n.bt-swatch-default{background:linear-gradient(135deg,var(--bt-card) 0 46%,var(--bt-line-2) 46% 54%,var(--bt-card) 54%);box-shadow:inset 0 0 0 1px var(--bt-line-2)}\n.bt-states{display:flex;flex-wrap:wrap;gap:4px}\n.bt-state{border:1px solid var(--bt-line);background:none;border-radius:999px;font:inherit;font-size:11px;line-height:16px;padding:2px 8px;color:var(--bt-ink-2);cursor:pointer}\n.bt-state:hover{color:var(--bt-ink)}\n.bt-state[aria-pressed=true]{background:var(--bt-active);border-color:var(--bt-line-2);color:var(--bt-ink)}\n.bt-theme-chip{position:relative;width:46px;height:30px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--bt-line-2);background:linear-gradient(90deg,var(--ls) 0 36%,var(--lb) 36%);overflow:hidden}\n.bt-theme-chip i{position:absolute;right:7px;bottom:7px;width:10px;height:10px;border-radius:50%;background:var(--la)}\nbody[data-ds-dark-theme] .bt-theme-chip{background:linear-gradient(90deg,var(--ds) 0 36%,var(--db) 36%)}\nbody[data-ds-dark-theme] .bt-theme-chip i{background:var(--da)}\n.bt-tabs{flex-wrap:wrap}\n.bt-soft:disabled{opacity:.4;cursor:default}\n.bt-group-role{margin-left:6px;font-size:11px;line-height:14px;padding:1px 5px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink);vertical-align:1px}\n.bt-members{display:flex;flex-direction:column;gap:1px}\n.bt-member{display:flex;align-items:center;gap:4px;min-height:40px;padding:0 4px 0 6px;border-radius:8px;animation:bt-rise .18s ease-out}\n.bt-member:hover{background:var(--bt-hover)}\n.bt-member-name{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;padding:6px 0;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;cursor:pointer;text-align:left}\n.bt-member-name>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-chip-admin{background:var(--bt-tag-bg);color:var(--bt-tag-ink);border-color:transparent}\n.bt-mini{flex:none;border:0;background:none;border-radius:6px;padding:2px 6px;font:inherit;font-size:12px;line-height:18px;color:var(--bt-ink-2);cursor:pointer}\n.bt-mini:hover{background:var(--bt-active);color:var(--bt-ink)}\n.bt-member .bt-mini,.bt-member .bt-x{opacity:0;transition:opacity .15s ease}\n.bt-member:hover .bt-mini,.bt-member:hover .bt-x,.bt-member .bt-mini:focus-visible,.bt-member .bt-x:focus-visible{opacity:1}\n.bt-add{color:var(--bt-ink-2);margin-top:2px}\n.bt-add:hover,.bt-addlist .bt-option:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-addlist{display:flex;flex-direction:column;margin-top:4px;padding:4px;border:1px solid var(--bt-line);border-radius:10px;background:var(--bt-card);animation:bt-rise .16s ease-out}\n.bt-seg{position:relative;display:flex;gap:2px;padding:2px;border-radius:10px;background:var(--bt-hover)}\n.bt-motion-seg{width:216px}\n.bt-seg button{position:relative;z-index:1;flex:1;height:30px;border:0;border-radius:8px;background:none;font:inherit;font-size:13px;color:var(--bt-ink-2);cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,").concat(d0(j1,"scale"),'}\n.bt-seg button[aria-pressed=true]{background:var(--bt-card);color:var(--bt-ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}\n.bt-seg button:disabled{opacity:.4;cursor:default}\n.bt-seg button:active:not(:disabled){scale:.96}\n.bt-seg>.bt-thumb{top:2px;bottom:2px;border-radius:8px;background:var(--bt-card);box-shadow:0 1px 3px rgba(0,0,0,.08)}\n.bt-seg[data-glide] button[aria-pressed=true]{background:transparent;box-shadow:none}\n@keyframes bt-rise{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}\n@media (prefers-reduced-motion:reduce){.bt-member,.bt-addlist{animation:none}}\n\n/* Memory dialog: a summary of every entry, the entries behind the menu, "Ask or update" below. */\n.bt-mem-row{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 8px 0 10px;border:.5px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:13px;cursor:pointer;box-sizing:border-box;transition:background-color .12s ease}\n.bt-mem-row:hover{background:var(--bt-hover)}\n.bt-mem-row>svg{flex:none;color:var(--bt-ink-2)}\n.bt-mem-row-copy{flex:1;text-align:left}\n.bt-mem-row-go{display:inline-flex;align-items:center;gap:2px;color:var(--bt-ink-3);font-size:12px}\n.bt-mem-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:121;isolation:isolate;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-mem-scrim{animation:bt-fade .2s ease-out}\n.bt-mem{position:relative;width:min(680px,calc(100vw - 48px));height:min(760px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))));background:var(--bt-main);border-radius:20px;border:.5px solid var(--bt-line-2);box-shadow:0 24px 80px rgba(0,0,0,.24);display:flex;flex-direction:column;overflow:hidden;color:var(--bt-ink);animation:bt-dialog-rise ').concat(d1.duration,"ms ").concat(d1.easing,",bt-veil-in .2s ease-out}\n.bt-mem-head{position:relative;display:flex;align-items:center;gap:8px;height:60px;flex:none;padding:0 14px 0 24px;border-bottom:.5px solid var(--bt-line);box-sizing:border-box}\n.bt-mem-head .bt-icon-btn{width:32px;height:32px;flex:none}\n.bt-mem-head [aria-haspopup] svg{width:18px;height:18px;stroke-width:2.6}\n.bt-mem-head>.bt-icon-btn:first-child{margin-left:-10px}\n.bt-mem-head h2{margin:0;font-size:17px;line-height:24px;font-weight:600;white-space:nowrap}\n.bt-mem-status{font-size:13px;line-height:18px;color:var(--bt-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-variant-numeric:tabular-nums}\n.bt-mem-head-gap{flex:1}\n.bt-mem-menu{position:absolute;top:52px;right:50px;min-width:220px;--bt-origin:top right}\n.bt-mem-menu button:disabled{opacity:.4;cursor:default;background:none}\n.bt-mem-body{flex:1;overflow-y:auto;padding:22px 28px 24px;scrollbar-width:thin;display:flex;flex-direction:column;gap:12px}\n.bt-mem-summary{transition:opacity .3s ease}\n.bt-mem-summary[data-stale]{opacity:.55}\n.bt-mem-summary h3{margin:20px 0 6px;font-size:17px;line-height:26px;font-weight:600}\n.bt-mem-summary h3:first-child{margin-top:0}\n.bt-mem-summary p{margin:0;font-size:15px;line-height:26px}\n.bt-mem-summary>*{animation:bt-mem-line .45s cubic-bezier(.16,1,.3,1) both}\n.bt-mem-summary>:nth-child(2){animation-delay:.03s}\n.bt-mem-summary>:nth-child(3){animation-delay:.06s}\n.bt-mem-summary>:nth-child(4){animation-delay:.09s}\n.bt-mem-summary>:nth-child(5){animation-delay:.12s}\n.bt-mem-summary>:nth-child(6){animation-delay:.15s}\n.bt-mem-summary>:nth-child(n+7){animation-delay:.18s}\n@keyframes bt-mem-line{from{opacity:0;transform:translateY(4px)}}\n.bt-mem-skel{display:flex;flex-direction:column;gap:24px}\n.bt-mem-skel-block{display:flex;flex-direction:column;gap:10px}\n.bt-mem-skel-block span{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bt-hover) 25%,var(--bt-active) 50%,var(--bt-hover) 75%);background-size:200% 100%;animation:bt-mem-skel 1.4s ease-in-out infinite}\n.bt-mem-skel-block .bt-mem-skel-head{width:30%;height:16px;margin-bottom:2px}\n@keyframes bt-mem-skel{from{background-position:150% 0}to{background-position:-50% 0}}\n.bt-mem-skel-label{font-size:13px;line-height:18px;color:var(--bt-ink-3)}\n.bt-mem-empty{margin:auto;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:24px 0;animation:bt-mem-line .45s cubic-bezier(.16,1,.3,1) both}\n.bt-mem-empty-mark{width:48px;height:48px;border-radius:50%;background:var(--bt-hover);display:flex;align-items:center;justify-content:center;color:var(--bt-ink-2);margin-bottom:4px}\n.bt-mem-empty-mark svg{width:22px;height:22px}\n.bt-mem-empty-title{font-size:15px;line-height:22px;font-weight:600}\n.bt-mem-empty-text{font-size:13px;line-height:20px;color:var(--bt-ink-2)}\n.bt-mem-failed{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--bt-hover);font-size:13px;line-height:18px;color:var(--bt-ink-2)}\n.bt-mem-failed>span{flex:1;min-width:0;overflow-wrap:anywhere}\n.bt-mem-entries{display:flex;flex-direction:column;gap:28px;animation:bt-page-in ").concat(d1.duration,"ms ").concat(d1.easing,",bt-veil-in .22s ease-out}\n.bt-mem-section-head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}\n.bt-mem-section-head h3{margin:0;font-size:15px;line-height:22px;font-weight:600}\n.bt-mem-section-head span{font-size:12px;line-height:16px;color:var(--bt-ink-3)}\n.bt-mem-section-head .bt-mem-size{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}\n.bt-mem-topic{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin:14px 0 2px 4px;font-weight:500}\n.bt-mem-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}\n.bt-mem-entry{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:.5px solid var(--bt-line);transition:opacity .2s ease}\n.bt-mem-entry[data-busy]{opacity:.4}\n.bt-mem-entry-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}\n.bt-mem-entry-text{font-size:14px;line-height:20px;overflow-wrap:anywhere}\n.bt-mem-entry-meta{font-size:12px;line-height:16px;color:var(--bt-ink-3);font-variant-numeric:tabular-nums}\n.bt-mem-remove{flex:none;height:28px;min-width:28px;border-radius:999px;border:0;background:none;color:var(--bt-ink-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0 6px;font:inherit;font-size:12px;opacity:0;transition:opacity .12s ease,background-color .12s ease,color .12s ease}\n.bt-mem-entry:hover .bt-mem-remove,.bt-mem-remove:focus-visible,.bt-mem-remove[data-confirm]{opacity:1}\n.bt-mem-remove:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-mem-remove[data-confirm]{background:rgba(224,33,53,.1);color:#e02135;padding:0 10px}\n@media (hover:none){.bt-mem-remove{opacity:1}}\n.bt-mem-none{font-size:13px;line-height:18px;color:var(--bt-ink-3);padding:8px 4px}\n.bt-mem-foot{flex:none;padding:8px 20px 20px;display:flex;flex-direction:column;gap:10px}\n.bt-mem-reply{border-radius:16px;background:var(--bt-hover);padding:8px 8px 12px 16px;display:flex;flex-direction:column;gap:6px;max-height:36vh;overflow-y:auto;scrollbar-width:thin;transform-origin:50% 100%;animation:bt-pop-lift ").concat(d1.duration,"ms ").concat(d1.easing,",bt-veil-in .2s ease-out}\n.bt-mem-reply-head{display:flex;align-items:center;gap:8px;min-height:24px}\n.bt-mem-reply-asked{flex:1;min-width:0;font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-mem-reply .bt-icon-btn{width:24px;height:24px;flex:none}\n.bt-mem-reply-text{font-size:14px;line-height:21px;padding-right:8px;overflow-wrap:anywhere}\n.bt-mem-changes{list-style:none;margin:2px 0 0;padding:0 8px 0 0;display:flex;flex-direction:column;gap:4px}\n.bt-mem-changes li{display:flex;align-items:flex-start;gap:6px;font-size:13px;line-height:18px;color:var(--bt-ink-2);overflow-wrap:anywhere}\n.bt-mem-changes li svg{flex:none;margin-top:1px;color:#e02135;animation:bt-check-pop ").concat(q1.duration,"ms ").concat(q1.easing," .12s backwards}\n.bt-mem-changes li[data-ok] svg{color:var(--bt-green)}\n.bt-mem-ask{display:flex;align-items:center;gap:8px;height:52px;padding:0 8px 0 22px;border-radius:999px;border:.5px solid var(--bt-line-2);background:var(--bt-card);box-shadow:0 4px 16px rgba(0,0,0,.06);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}\n.bt-mem-ask:focus-within{border-color:var(--bt-ink-3);box-shadow:0 4px 20px rgba(0,0,0,.1)}\n.bt-mem-input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--bt-ink);font:inherit;font-size:15px;line-height:22px;padding:0}\n.bt-mem-input::placeholder{color:var(--bt-ink-3)}\n.bt-mem-send{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:var(--bt-ink);color:var(--bt-main);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:opacity .15s ease,").concat(d0(j1,"scale"),"}\n.bt-mem-send:disabled{opacity:.22;cursor:default}\n.bt-mem-send:not(:disabled):active{scale:.92}\n.bt-mem-send>*{animation:bt-check-pop ").concat(q1.duration,"ms ").concat(q1.easing,"}\n.bt-mem-spin{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;box-sizing:border-box;animation:bt-mem-spin .7s linear infinite}\n@keyframes bt-mem-spin{to{transform:rotate(360deg)}}\n@media (max-width:640px){.bt-mem{width:100vw;height:100%;border-radius:0;border:0}.bt-mem-body{padding:18px 18px 20px}.bt-mem-foot{padding:8px 12px 12px}}\n@media (prefers-reduced-motion:reduce){.bt-mem,.bt-mem-scrim,.bt-mem-summary>*,.bt-mem-empty,.bt-mem-reply,.bt-mem-skel-block span,.bt-mem-entries,.bt-mem-send>*,.bt-mem-changes li svg{animation:none}}\n\n.bt-thumb{position:absolute;left:0;top:0;z-index:0;pointer-events:none;transition:opacity .14s ease}\n.bt-thumb[data-hidden]{opacity:0}\n[data-morph]{overflow:hidden!important}\n.bt-veil{animation:bt-veil-in .22s ease-out}\n.bt-with-icon{display:inline-flex;align-items:center;gap:4px}\n.bt-with-icon svg{width:14px;height:14px}\n.bt-tag-admin{display:inline-flex;align-items:center;gap:4px}\n.bt-create-inline{padding:18px 16px;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card)}\n.bt-create-inline .bt-create-card{max-width:none}\n.bt-panel-view>[data-move=in]{animation:bt-page-in ").concat(d1.duration,"ms ").concat(d1.easing," backwards,bt-veil-in .2s ease-out backwards}\n.bt-panel-view>[data-move=out]{animation:bt-page-out ").concat(d1.duration,"ms ").concat(d1.easing," backwards,bt-veil-in .2s ease-out backwards}\n.bt-panel-view>:is([data-move=in],[data-move=out]):nth-child(2){animation-delay:25ms}\n.bt-panel-view>:is([data-move=in],[data-move=out]):nth-child(n+3){animation-delay:50ms}\n.bt-panel-view>.bt-drawer-body[data-move=tab]{animation:bt-veil-in .2s ease-out}\n.bt-drawer-name-input{animation:bt-veil-in .16s ease-out}\n.bt-pop-in{display:inline-flex;animation:bt-check-pop ").concat(q1.duration,"ms ").concat(q1.easing,"}\n:is(.bt-soft,.bt-send,.bt-icon-btn,.bt-settings-close,.bt-mini,.bt-tab,.bt-nc-send,.bt-avedit-tab,.bt-shape,.bt-pick,.bt-swatch,.bt-palette-clear){transition:background-color .12s ease,color .12s ease,border-color .12s ease,opacity .12s ease,").concat(d0(j1,"scale"),"}\n:is(.bt-icon-btn,.bt-settings-close,.bt-nc-send,.bt-shape,.bt-swatch,.bt-color,.bt-x,.bt-q-x,.bt-palette-clear):active:not(:disabled){scale:.9}\n:is(.bt-soft,.bt-send,.bt-mini,.bt-tab,.bt-avedit-tab,.bt-pick,.bt-q-submit,.bt-q-btn):active:not(:disabled){scale:.96}\n@media (prefers-reduced-motion:reduce){.bt-thumb{transition:none}.bt-panel-view>[data-move],.bt-drawer-name-input,.bt-veil,.bt-pop-in,.bt-token,.bt-drop,.bt-newchat,.bt-option-hint,.bt-connector-form,.bt-settings-head>*{animation:none}}\n"),bz='\n.bt-think{font-size:13px;line-height:18px;color:var(--bt-ink-2);margin:2px 0 4px;max-width:min(560px,78%)}\n.bt-think summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;white-space:nowrap}\n.bt-think summary::-webkit-details-marker{display:none}\n.bt-think-caret{display:inline-block;transition:transform .15s;font-size:14px;line-height:1}\n.bt-think[open] .bt-think-caret{transform:rotate(90deg)}\n.bt-think-peek{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bt-ink-3)}\n/* Opened, the body prints that same first line again, so the preview steps aside (#1636). */\n.bt-think[open] .bt-think-peek{display:none}\n.bt-person-mark{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bt-ink-5,rgba(20,20,20,.08));color:var(--bt-ink-3,rgba(20,20,20,.45))}\n.bt-person-initial{color:#fff;font-weight:600;line-height:1;user-select:none}\n.bt-person-msg .bt-group-name{color:var(--bt-ink-2,rgba(20,20,20,.7))}\n/* A person\'s typed line keeps its line breaks, as on the sender\'s side (#455): Markdown would join them. */\n.bt-person-msg .bt-bubble :is(p,li){white-space:pre-line}\n.bt-remote-handle{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-weight:400;color:var(--bt-ink-3,rgba(20,20,20,.36))}\n.bt-think-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px;padding-left:10px;border-left:2px solid var(--bt-line-2)}\n.bt-event{display:flex;justify-content:center;align-items:center;gap:2px;min-height:24px;margin:2px 0;font-size:12px;line-height:16px;color:var(--bt-ink-2);flex-wrap:wrap}\n.bt-event>span{padding:0 2px}\n.bt-event button{border:0;background:none;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:4px;cursor:pointer;height:24px;padding:4px 6px 4px 4px;border-radius:999px;box-sizing:border-box;transition:background-color .12s ease}\n.bt-event button:hover{background:var(--bt-hover)}\n.bt-event button:active{background:var(--bt-active)}\n.bt-event button.bt-event-whole{min-width:0;max-width:100%;padding:4px 6px 4px 8px}\n.bt-event-whole>*{flex:none}\n.bt-event-whole>span:first-child{margin-right:2px}\n/* One button cannot wrap like separate parts, so a long name is cut to fit the chat. */\n.bt-event-whole>.bt-event-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-time-sep{display:flex;justify-content:center;align-items:center;height:28px;margin:14px 0 8px;font-size:12px;line-height:16px;color:var(--bt-ink-2);white-space:nowrap}\n[class*="_scroll"]>[class*="_column"]::before{content:var(--bt-first-sep,none);display:block;flex:none;height:28px;margin:17px 0 12px;font-size:12px;line-height:28px;text-align:center;color:var(--bt-ink-2);white-space:nowrap}\n.bt-group-replies{display:contents}\n/* A Bot chat is flat in every work-details mode, without changing the user\'s mode\n (it is a DSH-wide setting): step groups lose their header and stay open, and what a\n mode folds away in a finished turn stays shown. TurnProcessCell also opens that\n fold; these rules cover the first frame before it does. */\n[data-step-process]>div:first-child{display:none!important}\n[data-step-process]>[data-step-process-body]{display:block!important;content-visibility:visible!important;max-height:none!important;overflow:visible!important;mask-image:none!important;scrollbar-gutter:auto!important}\n:is([data-step-process],[data-turn-process-hidden])[hidden]{content-visibility:visible!important}\n[class*="_flowItem"]:has(> [data-slot="conversation.chat.node"]:empty){display:none!important}\n/* FlyBot\'s pill rides the shell\'s own Session header utilities, beside the seats\n the native header renders (actions: the subagent catalog; lineage; corner).\n It is a compact control in that row now, not a floating replacement for the\n whole header, so the header keeps its own layout, border and drag row. */\n[class*="_header"] .bt-head{display:flex;align-items:center;height:auto;flex:none;width:auto;pointer-events:auto}\n[class*="_header"] .bt-head .bt-pill{height:30px;padding:3px 10px 3px 4px;gap:6px;font-size:13px;line-height:18px;max-width:min(320px,32vw)}\n[class*="_header"] .bt-head .bt-pill:has(.bt-pill-name-face){height:auto;min-height:30px;align-items:flex-start}\n/* The session breadcrumb is a 244px nowrap line (#1102). Two lines keep\n "Face-to-face \xB7 SelfA1025, SelfB1025 \xB7 739184" inside that box. */\n[class*="_header"] [class*="switcherTitle"]{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis}\n[class*="_header"] [class*="switcherTrigger"]{height:auto;align-items:flex-start}\n[class*="_header"] .bt-head .bt-mark{width:22px!important;height:22px!important;--bt-size:22px}\n/* #1347: "Standard mode" beside the title reads as a control \u2014 a filled chip with an icon \u2014 but the\n shell draws it as a span with no click handler (dsh-client-ui-agent-preset, AgentPresetLabel):\n clicking it does nothing, and the only thing behind it is a hover title. In a Bot chat the mode is\n fixed for the whole Session anyway, so the chip becomes what it is: a status word on the title\'s\n line. No fill, no radius, muted ink, and the description stays on hover. */\n[data-slot="conversation.session.header.actions"] [class*="_label"]{background:none;border-radius:0;color:var(--bt-ink-3);cursor:help;pointer-events:auto}\n[data-slot="conversation.session.header.actions"] [class*="_label"] svg{opacity:.7}\n[class*="_body"]:has(> [class*="_scrollBody"]){--dsh-chat-content-width:min(960px,100%)}\n/* DSH\'s turn tail keeps what plugins put in it (delivered files, the Bot\'s separators),\n without its copy and branch row; a tail with nothing in it takes no room. */\n[data-turn-tail]>:not([data-slot="conversation.chat.turnTail"]):not(.bt-typing){display:none!important}\n[class*="_flowItem"][data-chat-flow-kind="turn-tail"]:not(:has([data-slot="conversation.chat.turnTail"]:not(:empty))):not(:has([data-turn-tail]>.bt-typing)){display:none!important}\n/* #1347: the thread must never paint above a dialog, a sheet or a scrim.\n The chat column had no stacking context of its own (position:static, z-index:auto), so nothing\n inside it was boxed in: anything the browser promoted to its own composited layer \u2014 an entrance\n animation (bt-row-in animates a transform), a filter, a will-change, a scroll container\'s sticky\n descendant \u2014 was ordered against the ROOT stacking context instead of against the column. A\n dialog\'s layer is a z-index box at the root, so a promoted bubble could sort above it, which is\n exactly what the owner\'s screenshots show: a right-aligned pill at full opacity across the Tasks\n dialog and over the Inbox scrim, while the same pill sat under it in a plain DOM walk. Giving the\n column its own stacking context (isolation:isolate) paints every descendant inside it, and its\n z-index:0 keeps all of that below .bt-pane (45), .bt-panel (40) and the dialog layers at 120/121\n whatever any single bubble does. contain:paint is deliberately NOT used: it would clip the\n popovers the thread legitimately renders (reaction strip, message menu), which portal to body\n for exactly that reason. */\n/* Every team Session belongs to a Bot or a group, so a blank one is an empty chat, not\n the shell\'s new-session hero: no headline, no workspace or mode picker, and the\n composer stays docked at the bottom. */\n[data-content-phase=hero] [class*="_scrollBody"]{justify-content:flex-end!important}\nbody[data-bt-remote-chat=empty][data-content-phase=hero] [class*="_scrollBody"]::before{content:var(--bt-remote-empty);display:block;text-align:center;color:var(--bt-ink-3);font-size:13px;line-height:18px;padding:16px 12px 8px;max-width:var(--dsh-chat-content-width,min(960px,100%));margin:0 auto;white-space:pre-wrap}\n[data-content-phase=hero] [class*="_composerHero"]{align-self:stretch!important;width:auto!important;padding-bottom:0!important}\n[data-content-phase=hero] [class*="_composerHero"]>[class$="_root"],[data-content-phase=hero] [class*="_heroWorkspaceRow"]{display:none!important}\n[data-content-phase=hero] [class*="_composerHero"] [class*="_input"]{min-height:0!important}\n/* The right sides give back the scrollbar gutter so both edges sit 16px from the column. */\n[class*="_scroll"]:has(> [class*="_column"]){padding:60px 11px 16px 16px!important}\n/* The shell\'s running status only hosts the activity row (.bt-typing). */\n[data-chat-running]{display:block!important;width:100%;min-height:0!important;margin:0!important;padding:0!important}\n[data-chat-running]>span:not([role=status]){display:none!important}\n[data-chat-running]:has(> .bt-typing){margin-top:var(--dsh-chat-flow-gap,12px)!important}\n.bt-busy-ack{display:flex;align-items:flex-end;gap:8px;width:100%;margin-top:var(--dsh-chat-flow-gap,12px);margin-bottom:4px}\n.bt-busy-ack .bt-astack{align-items:flex-start}\n.bt-busy-ack .bt-bubble{opacity:.92}\n.bt-busy-dots{display:inline-flex;align-items:center;gap:4px;height:22px}\n.bt-busy-dots>span{width:5px;height:5px;border-radius:50%;background:var(--bt-ink-3);animation:bt-busy-blink 1.2s ease-in-out infinite}\n.bt-busy-dots>span:nth-child(2){animation-delay:.2s}.bt-busy-dots>span:nth-child(3){animation-delay:.4s}\n@keyframes bt-busy-blink{0%,80%,100%{opacity:.25}40%{opacity:1}}\n@media (prefers-reduced-motion:reduce){.bt-busy-dots>span{animation:none;opacity:.6}}\n.bt-typing{display:flex;align-items:center;gap:12px;height:36px;min-width:0;padding-inline-start:8px;transform-origin:0 50%;animation:bt-typing-in '.concat(j1.duration,"ms ").concat(j1.easing," backwards}\n.bt-typing[data-exiting]{animation:bt-typing-out .14s cubic-bezier(.22,1,.36,1) forwards}\n.bt-typing[data-carry],.bt-typing[data-carry]>.bt-typing-text{animation:none}\n/* Between a friend's chat turns the row sits in the last turn's tail (#443), at the transcript's foot. */\n[data-turn-tail]>.bt-typing{margin-top:var(--dsh-chat-flow-gap,12px)}\n.bt-typing>.bt-mark,.bt-typing>.bt-cluster{flex-shrink:0}\n.bt-typing>.bt-mark{cursor:pointer;transition:filter .16s ease-out}\n.bt-typing>.bt-mark:hover{filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}\n.bt-typing>.bt-mark .bt-eyes{transition:scale .28s cubic-bezier(.4,.06,.18,1)}\n.bt-typing>.bt-mark:hover .bt-eyes{scale:1.18}\n.bt-typing-text{display:flex;align-items:center;flex:1 1 auto;min-width:0;animation:bt-typing-label .22s ease-out .2s backwards}\n.bt-typing-label{display:inline-flex;align-items:center;gap:6px;min-width:0;animation:bt-typing-label .22s ease-out backwards}\n.bt-typing-label>.bt-shimmer{font-size:14px;line-height:22px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-typing-time{flex-shrink:0;font-size:12px;line-height:22px;color:var(--bt-ink-3);white-space:nowrap}\n@keyframes bt-typing-in{from{opacity:0;transform:scale(.9)}}\n@keyframes bt-typing-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92);filter:blur(3px)}}\n@keyframes bt-typing-label{from{opacity:0;filter:blur(5px);transform:translateY(3px)}}\n/* Shimmer: a stepped sweep clipped to the text. */\n.bt-shimmer{color:transparent;background:linear-gradient(90deg,var(--bt-shimmer-base) 0%,var(--bt-shimmer-base) 25%,var(--bt-ink) 60%,var(--bt-shimmer-base) 75%,var(--bt-shimmer-base) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:bt-shimmer 2.2s steps(60) infinite;--bt-shimmer-base:color-mix(in srgb,var(--bt-ink) 40%,transparent)}\n@keyframes bt-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}\n/* New rows slide up; a reply that replaces the activity row grows out of its corner. */\n[data-bt-enter=\"new\"]{animation:bt-row-in ").concat(d1.duration,"ms ").concat(d1.easing,'}\n[data-bt-enter="after-collapse"]{transform-origin:0 100%;animation:bt-row-after .24s cubic-bezier(.23,1,.32,1) .38s backwards}\n@keyframes bt-row-in{from{transform:translateY(12px)}to{transform:none}}\n@keyframes bt-row-after{0%{opacity:0;transform:translateY(12px) scale(.94)}55%{opacity:1}100%{opacity:1;transform:none}}\n@media (prefers-reduced-motion:reduce){\n.bt-typing,.bt-typing[data-exiting]{animation-name:bt-fade-in;animation-duration:.12s;transform:none}\n.bt-typing[data-exiting]{animation-name:bt-fade-out}\n.bt-typing-text,.bt-typing-label{animation-name:bt-fade-in;animation-delay:0s}\n.bt-shimmer{animation:none;background:none;color:var(--bt-ink-2)}\n[data-bt-enter="new"]{animation:none}\n[data-bt-enter="after-collapse"]{animation:bt-fade-in .12s ease-out}\n}\n@keyframes bt-fade-in{from{opacity:0}to{opacity:1}}\n@keyframes bt-fade-out{from{opacity:1}to{opacity:0}}\n[data-composer-card]{display:flex!important;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0!important;min-height:44px;border-radius:22px!important;padding:7.5px!important;box-sizing:border-box;background:var(--bt-main)!important;border:.5px solid var(--bt-line-2)!important;box-shadow:0 2px 8px -1px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.03),0 0 0 1px rgba(228,228,228,.04)!important;transition:border-color .15s ease,background-color .15s ease,').concat(d0(d1,"border-radius"),'!important}\n[data-composer-card]:hover{border-color:color-mix(in srgb,var(--bt-ink) 30%,transparent)!important}\n[data-composer-card]:focus-within{border-color:color-mix(in srgb,var(--bt-ink) 55%,transparent)!important}\n[data-composer-card]:has(> [data-slot="conversation.input.attachments"] *),[data-composer-card]:has([data-composer-input] br + *),[data-composer-card]:has([data-composer-input] > :nth-child(2)){border-radius:18px!important}\n[class*="_root"]:has(> [data-composer-card]){padding:0 11px 13px 16px!important}\n[class*="_root"]:has(> [data-composer-card])>[data-composer-card]{max-width:min(992px,100%)!important}\n[data-composer-card]>[class*="_row"]{display:contents!important}\n[data-composer-card] [class*="_tools"]{order:1;flex:none;align-self:flex-end;margin:0}\n[data-composer-card]>[data-input-scroll]{order:2;flex:1 1 0;min-width:0;padding:0 8px!important;margin:0!important}\n[data-composer-card] [class*="_trailing"]{order:3;flex:none;align-self:flex-end;margin:0}\n[data-composer-card]>[data-slot="conversation.input.attachments"]{order:0;flex-basis:100%}\n[data-composer-card] [data-composer-input]{min-height:24px;padding:2px 0!important}\n[data-composer-card] [data-composer-placeholder]{left:0!important;top:2px!important}\n[data-composer-placeholder]{font-size:0!important;line-height:0!important}\n/* A friend\'s Bot chat: no local run stats (they are relay turns, always 0; #419). */\nbody[data-bt-friend-chat] [data-composer-stats]{display:none!important}\n[data-composer-placeholder]::after{content:var(--bt-placeholder,"Message");display:block;font-size:14px;line-height:24px;color:color-mix(in srgb,var(--bt-ink) 36%,transparent)}\n/* The team\'s "+" (ComposerPlus) takes the seat of the shell\'s command-menu button. */\n[data-composer-card] button[class*="_add"]{display:none!important}\n.bt-plus{flex:none;width:28px;height:28px;padding:0;border:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bt-ink) 5%,transparent);box-shadow:inset 0 0 0 .5px var(--bt-line);color:var(--bt-ink-2);cursor:pointer;transition:background-color .15s ease,color .15s ease,').concat(d0(j1,"scale"),"}\n.bt-plus:hover,.bt-plus[aria-expanded=true]{background:color-mix(in srgb,var(--bt-ink) 10%,transparent);color:var(--bt-ink)}\n.bt-plus:active{scale:.9}\n.bt-plus svg{width:14px;height:14px;transition:").concat(d0(q1,"rotate"),'}\n.bt-plus[aria-expanded=true] svg{rotate:45deg}\n.bt-plus-menu{min-width:180px}\n[data-composer-card] [class*="_tools"]{gap:0!important}\n[data-composer-card] [class*="_modes"]:empty{display:none!important}\n[data-composer-card] [class*="_activity"]:not(:has([data-slot] > *)){display:none!important}\n[data-composer-card] [class*="_trailing"]{gap:8px}\n[data-composer-card] [class*="_standardControls"]{display:flex;align-items:center;gap:8px}\n[data-composer-card] button[class*="_primary"]{width:28px!important;height:28px!important;background:var(--bt-accent)!important;color:var(--bt-accent-ink,#fff)!important;border-radius:50%!important;transition:opacity .15s ease,').concat(d0(j1,"scale"),";animation:bt-icon-swap ").concat(q1.duration,"ms ").concat(q1.easing,'}\n[data-composer-card] button[class*="_primary"]:hover:not(:disabled){opacity:.9}\n[data-composer-card] button[class*="_primary"]:active:not(:disabled){scale:.9}\n@keyframes bt-icon-swap{from{opacity:0;transform:scale(.5) rotate(-30deg)}}\n[data-composer-card] button[class*="_primary"] svg{width:14px;height:14px}\n[data-composer-card] button[class*="_primary"]:disabled{display:none!important}\n[data-composer-dock]{display:none!important}\n.bt-mic,.bt-voice{flex:none;width:28px;height:28px;border-radius:50%;border:0;padding:0;display:inline-grid;place-items:center;cursor:pointer;transition:background-color .15s ease,color .15s ease,').concat(d0(j1,"scale"),"}\n.bt-mic{background:color-mix(in srgb,var(--bt-ink) 5%,transparent);box-shadow:inset 0 0 0 .5px var(--bt-line);color:var(--bt-ink-2)}\n.bt-mic:hover{background:color-mix(in srgb,var(--bt-ink) 10%,transparent);color:var(--bt-ink)}\n.bt-mic[aria-pressed=true]{background:#ff3e51;color:#fff;animation:bt-mic-pulse 1.4s ease-in-out infinite}\n@keyframes bt-mic-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,62,81,.35)}50%{box-shadow:0 0 0 5px rgba(255,62,81,0)}}\n.bt-voice{display:none;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);animation:bt-icon-swap ").concat(q1.duration,"ms ").concat(q1.easing,'}\n.bt-voice:hover{opacity:.9}\n.bt-mic:active,.bt-voice:active{scale:.9}\n[data-composer-card]:has(button[class*="_primary"]:disabled) .bt-voice{display:inline-grid}\nbody[data-bt-room] .bt-voice{display:none!important}\nbody[data-bt-room] [data-composer-card] [class*="_activity"]{display:none!important}\nbody[data-bt-room] [data-composer-card]:has(button[class*="_primary"]:disabled) .bt-mic:not([aria-pressed=true]){background:var(--bt-accent);color:var(--bt-accent-ink,#fff)}\nbody[data-bt-workflow] [data-composer-card]{display:none!important}\n.bt-mic-note{position:absolute;right:12px;bottom:calc(100% + 8px);padding:5px 10px;border-radius:8px;background:var(--bt-user);color:var(--bt-user-ink);font-size:12px;line-height:16px;white-space:nowrap;pointer-events:none;animation:bt-rise .16s ease-out}\n[data-chain-overlay-fallback="conversation.composer"]:has(~ .bt-q){display:block!important;order:2}\n.bt-q{order:1}\ndiv:has(> nav [class*="_marks"]){display:none!important}\n/* Every user-side bubble (sent, steering mid-turn, not yet admitted, question replies)\n takes its surface and its text from the one --bt-user pair: a skin that repaints\n the host\'s bubble surface alone would otherwise leave the text unreadable. */\n[class*="_userRow"] [class*="_bubble"],[data-chat-flow-kind=question-reply] [class*="_bubble"],[data-chat-flow-kind=command-input] [class*="_bubble"]{background:var(--bt-user)!important;color:var(--bt-user-ink)!important;border-radius:18px!important;padding:7px 12px!important;font-size:var(--dsh-content-font-size,14px)!important;line-height:calc(var(--dsh-content-font-size,14px) + 8px)!important}\n[class*="_userRow"] [class*="_bubble"] [class*="_markdown"],[class*="_userRow"] [class*="_bubble"] a{color:inherit}\n/* Sent messages get the hover toolbar below; steering and unsent bubbles keep none. */\n[class*="_userRow"] [class*="_actions"]{display:none!important}\n[data-chat-flow-kind=user] [class*="_userRow"]{flex-direction:row-reverse;align-items:center;justify-content:flex-start}\n[data-chat-flow-kind=user] [class*="_actions"]{display:flex!important;height:24px!important;gap:2px!important;opacity:0!important;visibility:hidden;transition:opacity .12s ease,visibility .12s!important;flex:none}\n[data-chat-flow-kind=user] [class*="_userRow"]:hover [class*="_actions"],[data-chat-flow-kind=user] [class*="_userRow"]:focus-within [class*="_actions"]{opacity:1!important;visibility:visible}\n[data-chat-flow-kind=user] [class*="_actions"] [class*="_timeStart"]{display:none}\n[data-chat-flow-kind=user] [class*="_actions"] button{width:24px;height:24px;border-radius:6px;color:var(--bt-ink-2)}\n[data-chat-flow-kind=user] [class*="_actions"] button:hover{background:var(--bt-hover);color:var(--bt-ink)}\n[data-chat-flow-kind=user] [class*="_actions"] svg{width:15px;height:15px}\n.bt-q-inline{display:flex;margin:4px 0 6px}\n[data-chat-flow-kind=assistant-step]+[data-step-process]:has(.bt-q-inline){margin-top:0!important}\n[data-chat-flow-kind=question-reply]:has(.bt-q-inline),[data-chat-group-key]:has([data-chat-flow-kind=question-reply] .bt-q-inline),[data-chat-group-key]:has(.bt-q-gone){margin-top:0!important}\n.bt-q-inline .bt-q{margin:0;max-width:min(550px,86%);order:0}\n.bt-q-dock{width:100%;display:flex;justify-content:center}\n.bt-q-dock .bt-q{margin:0 auto 8px}\n[class*="_toBottomSlot"]{justify-content:center!important;padding-right:0!important}\n[data-conversation-scroll] [class*="_toBottomSlot"]{bottom:calc(var(--dsh-composer-height,152px) + 8px)!important}\n[class*="_toBottomSlot"]>button{width:36px!important;height:36px!important;margin-top:-36px!important;background:var(--bt-main)!important;color:var(--bt-ink)!important;box-shadow:0 0 0 .5px var(--bt-line-2),0 2px 8px -2px rgba(0,0,0,.12)!important;animation:bt-tobottom-in ').concat(j1.duration,"ms ").concat(j1.easing,",bt-veil-in .16s ease-out;transition:background-color .12s ease,").concat(d0(j1,"scale"),"}\n[class*=\"_toBottomSlot\"]>button:active{scale:.9}\n[class*=\"_toBottomSlot\"]>button:hover{background:color-mix(in srgb,var(--bt-ink) 4%,var(--bt-main))!important}\n[class*=\"_toBottomSlot\"]>button svg{display:none}\n[class*=\"_toBottomSlot\"]>button::before{content:\"\";width:20px;height:20px;background:currentColor;-webkit-mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4v12M5 11l5 5 5-5'/%3E%3C/svg%3E\") center/contain no-repeat;mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4v12M5 11l5 5 5-5'/%3E%3C/svg%3E\") center/contain no-repeat}\n@keyframes bt-tobottom-in{from{translate:0 8px;scale:.8}}\n[data-bt-news] [class*=\"_toBottomSlot\"]>button{visibility:hidden!important;pointer-events:none!important}\n.bt-news{position:fixed;z-index:30;transform:translateX(-50%);display:inline-flex;align-items:center;overflow:hidden;border-radius:999px;background:#0c64c1;color:#fcfcfc;box-shadow:inset 0 0 0 1px rgba(20,20,20,.05),0 1px 3px 0 rgba(0,0,0,.12);font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",system-ui,sans-serif;animation:bt-news-in ").concat(j1.duration,"ms ").concat(j1.easing,',bt-veil-in .16s ease-out}\n@keyframes bt-news-in{from{translate:0 8px;scale:.9}}\n.bt-news[data-direction=up]{animation-name:bt-news-in-up,bt-veil-in}\n@keyframes bt-news-in-up{from{translate:0 -8px;scale:.9}}\n.bt-news-jump{display:inline-flex;align-items:center;gap:2px;margin:0;padding:4px 26px 4px 4px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-size:13px;line-height:18px;white-space:nowrap;cursor:pointer;outline:none}\n.bt-news-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}\n.bt-news-ico svg{width:16px;height:16px}\n.bt-news-x{position:absolute;right:4px;top:50%;z-index:1;transform:translateY(-50%);width:20px;height:20px;padding:0;border:0;border-radius:999px;background:transparent;color:inherit;opacity:.75;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}\n.bt-news-x svg{width:12px;height:12px}\n.bt-news-x:hover{opacity:1;background:rgba(20,20,20,.5)}\n@media (prefers-reduced-motion:reduce){.bt-news,[class*="_toBottomSlot"]>button{animation:none}}\n.bt-new-sep{display:flex;align-items:center;gap:8px;margin:14px 0 8px;padding:2px 0;font-size:11px;line-height:14px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:#0c64c1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-new-sep::before,.bt-new-sep::after{content:"";flex:1;height:1px;background:color-mix(in srgb,#0c64c1 20%,transparent)}\n.bt-open-new{display:flex;flex-direction:column}\n.bt-open-new .bt-new-sep{margin:18px 0 0}\n.bt-open-new .bt-time-sep{height:16px;margin:32px 0 2px}\n.bt-earlier{display:flex;flex-direction:column;gap:6px}\n.bt-earlier-top{display:flex;justify-content:center;align-items:center;height:34px;flex:none}\n.bt-earlier-top .bt-soft{height:28px;font-size:12px;padding:0 12px}\n.bt-urow{display:flex;justify-content:flex-end}\n.bt-urow>.bt-lead{align-self:flex-end;margin-left:6px}\n.bt-ububble{max-width:min(560px,78%);background:var(--bt-user);color:var(--bt-user-ink);border-radius:18px;padding:7px 12px;font-size:14px;line-height:20px;box-sizing:border-box;overflow-wrap:anywhere}\n.bt-ububble [class*="_markdown"],.bt-ububble a{color:inherit!important}\n.bt-ububble p{margin:0;line-height:22px}\n.bt-uimages{display:block;font-size:12px;opacity:.7}\n.bt-earlier .bt-event{margin:4px 0}\n.bt-part-line{display:flex;align-items:center;gap:10px;margin:10px 0 6px;font-size:11px;line-height:14px;color:var(--bt-ink-3)}\n.bt-part-line::before,.bt-part-line::after{content:"";flex:1;height:1px;background:var(--bt-line)}\n');function lP({source:e,roster:t,openBot:n,onQuote:a}){let i=(0,y1.useSyncExternalStore)(e.subscribe,e.getSnapshot),[r,s]=(0,y1.useState)(""),c=e.chat(),o=u=>Promise.resolve().then(u).catch(m=>{throw s(m.message),m}),l={reactions:{}},p=(u,m,d=!1)=>{let f=t.bots.find(w=>w.id===u.botId||w.role===u.speaker);return(0,y1.createElement)("article",{key:m,"data-native-message":u.kind??"assistant"},(0,y1.createElement)("header",null,f?(0,y1.createElement)(O0,{bot:f,size:28}):(0,y1.createElement)(B7,{name:u.speaker}),u.speaker??(u.kind==="human"?"You":"Bot")),u.kind==="human"?(0,y1.createElement)(tl,{name:u.speaker??"You",texts:[String(u.text??"")],roster:t,selfId:f?.id,useUi:w=>w(l),actions:{quote:(w,k)=>a?.(k),openSession:w=>{t.byId[w]&&n?.(w)}}}):(0,y1.createElement)(ez,{node:{key:m,data:{turn:0,step:0,status:d?"running":"done",blocks:[{kind:"text",text:String(u.text??"")}]}},sessionId:f?.id,useRoster:w=>w(t),useUi:w=>w(l),useTurnSteps:()=>[],useTurnContext:()=>[],actions:{noteLive(){},quote:(w,k)=>{a?.(k)},openSession:w=>{t.bots.some(k=>k.id===w)&&n?.(w)}}}),(0,y1.createElement)(bP,{files:u.attachments??(u.attachmentIds??[]).map(w=>i.attachments?.find(k=>k.id===w)).filter(Boolean),read:w=>c.readAttachment(w)}))};return(0,y1.createElement)("div",{className:"bt-native-conversation",role:"log"},i.messages.map((u,m)=>p(u,u.id??m)),(i.tools??[]).map(u=>(0,y1.createElement)("details",{key:"process:".concat(u.id),"data-native-process":""},(0,y1.createElement)("summary",null,"".concat(ot(u.tool)," \xB7 ").concat(u.status)),u.text?p({text:u.text,speaker:"Tool output"},"result:".concat(u.id)):null)),(i.groupWork??[]).map(u=>(0,y1.createElement)("section",{key:u.botId},(0,y1.createElement)("header",null,u.name??"Bot"),(0,y1.createElement)(az,{entry:{state:"work",doing:u,here:u.canStop},bot:t.byId[u.botId]??{id:u.botId},room:{id:i.binding?.personalId},now:Date.now(),actions:{stopMemberWork:(m,d)=>c.stopMember(d),reportError:m=>s(m.message)}}))),i.question?(0,y1.createElement)(N9,{sessionId:i.binding?.personalId,question:i.question,inline:!0,actions:{answerQuestion:(u,m,d)=>o(()=>c.answerQuestion(m,d)),dismissQuestion:()=>{o(()=>c.dismissQuestion(i.question.id)).catch(()=>{})}}}):null,(i.approvals??[]).map(u=>(0,y1.createElement)(Ka,{key:u.id,approval:u,standing:!1,bot:t.byId[i.binding?.personalId]??{id:i.binding?.personalId,name:"Bot"},actions:{answerApproval:(m,d)=>c.answerApproval(m,d),reportError:m=>s(m.message)}})),i.binding?.personalId&&!i.binding.personalPart&&!i.groupWork?(0,y1.createElement)("div",{className:"bt-scoped-controls"},(0,y1.createElement)("button",{type:"button",onClick:()=>{o(()=>i.busy?c.stop():c.send("Continue.")).catch(()=>{})}},i.busy?"Stop reply":"Continue")):null,r?(0,y1.createElement)("p",{role:"alert"},r):null,i.live?.tool?(0,y1.createElement)("p",{role:"status","data-native-tool":""},ot(i.live.tool)):null,(i.sessions??[]).filter(u=>u.live?.tool).map(u=>(0,y1.createElement)("p",{key:"tool:".concat(u.role),role:"status","data-native-tool":""},"".concat(u.role,": ").concat(ot(u.live.tool)))),i.live?.text?p({...i.live,speaker:i.live.speaker??"Bot"},"live",!0):null,(i.sessions??[]).filter(u=>u.live?.text).map(u=>p({...u.live,speaker:u.role},"live:".concat(u.role),!0)))}function e9(e,t,n){let a=(0,fz.createRoot)(e),i=s=>a.render(n(s));i(t);let r=()=>a.unmount();return r.update=i,r}function pP(e,t){return e9(e,t,({source:n,bots:a=[],openBot:i,onQuote:r})=>{let s=a.map(({id:o,name:l,role:p})=>({id:o,name:l,role:p})),c={roomsById:{},exchangeTurns:{},remoteTypedTurns:{},bots:s,byId:Object.fromEntries(s.map(o=>[o.id,o]))};return(0,y1.createElement)(lP,{source:n,roster:c,openBot:i,onQuote:r})})}var uP=gz+bz+sl+al;function mP(e,t){return e9(e,t,({bots:n=[],rooms:a=[],mainBotIds:i=[],selectedId:r,openSession:s,openDetails:c})=>{n=n.map(l=>({...l,sessionId:l.sessionId??l.id}));let o={bots:n,rooms:a,mainBotIds:i,mainBotId:i[0],byId:Object.fromEntries(n.map(l=>[l.id,l])),roomsById:Object.fromEntries(a.map(l=>[l.id,l])),exchangeTurns:{},remoteTypedTurns:{},questions:{}};return(0,y1.createElement)(hz,{roster:o,selectedId:r,openSession:s,openDetails:c})})}function dP(e,t){return e9(e,t,n=>(0,y1.createElement)(il,n))}function hP({worker:e,answer:t}){let[n,a]=(0,y1.useState)(""),i=e.pending;return i.kind!=="permission"?(0,y1.createElement)(il,{chat:{send:r=>t({text:r})},onError:r=>a(r.message)}):(0,y1.createElement)("div",null,(0,y1.createElement)(Ka,{approval:{id:i.id,tool:i.request?.name??"Runtime action",reason:i.request?.description??"",answerable:!0},bot:{id:e.id,name:e.role},standing:!1,actions:{answerApproval:(r,s)=>t({requestId:r,allow:s==="allow"}),reportError:r=>a(r.message)}}),n?(0,y1.createElement)("p",{role:"alert"},n):null)}function gP(e,t){return e9(e,t,n=>(0,y1.createElement)(hP,n))}function bP({files:e,read:t}){let[n,a]=(0,y1.useState)({}),[i,r]=(0,y1.useState)(""),s=(0,y1.useRef)(!0);(0,y1.useEffect)(()=>()=>{s.current=!1},[]);let c=async o=>{try{let l=await t(o);s.current&&a(p=>({...p,[o.id]:l}))}catch(l){s.current&&r(l.message)}};return(0,y1.createElement)("div",{className:"bt-scoped-attachments"},e.map(o=>{let l=n[o.id],p=l?.kind==="image"&&["image/png","image/jpeg","image/webp","image/gif"].includes(l.mediaType),u=l?.data?"data:".concat(p?l.mediaType:"application/octet-stream",";base64,").concat(l.data):null;return(0,y1.createElement)("div",{key:o.id},(0,y1.createElement)("button",{type:"button",onClick:()=>{c(o)}},"".concat(o.name??"Attachment").concat(Number.isFinite(o.bytes)?" \xB7 "+j9(o.bytes):"")),p&&u?(0,y1.createElement)("img",{src:u,alt:o.name??"Attachment",width:240}):null,u?(0,y1.createElement)("a",{href:u,download:l.name??o.name},"Download"):null,typeof l?.text=="string"?(0,y1.createElement)("pre",null,l.text):null)}),i?(0,y1.createElement)("p",{role:"alert"},i):null)}return kz(fP);})(); +var FlyBotNativeConversation=(()=>{var Vz=Object.create,kl=Object.freeze,C5=Object.defineProperty;var qz=Object.getOwnPropertyDescriptor;var Iz=Object.getOwnPropertyNames;var Bz=Object.getPrototypeOf,Pz=Object.prototype.hasOwnProperty;var s1=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(a){throw n=[a],a}};var Me=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},h1=(e,t)=>{for(var n in t)C5(e,n,{get:t[n],enumerable:!0})},zl=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Iz(t))!Pz.call(e,i)&&i!==n&&C5(e,i,{get:()=>t[i],enumerable:!(a=qz(t,i))||a.enumerable});return e};var X1=(e,t,n)=>(n=e!=null?Vz(Bz(e)):{},zl(t||!e||!e.__esModule?C5(n,"default",{value:e,enumerable:!0}):n,e)),Rz=e=>zl(C5({},"__esModule",{value:!0}),e);var a1=(e,t)=>kl(C5(e,"raw",{value:kl(t||e.slice())}));var Hl=Me(T1=>{"use strict";var A5=Symbol.for("react.element"),Dz=Symbol.for("react.portal"),Gz=Symbol.for("react.fragment"),Oz=Symbol.for("react.strict_mode"),Wz=Symbol.for("react.profiler"),Uz=Symbol.for("react.provider"),Xz=Symbol.for("react.context"),Kz=Symbol.for("react.forward_ref"),Yz=Symbol.for("react.suspense"),Jz=Symbol.for("react.memo"),Qz=Symbol.for("react.lazy"),Cl=Symbol.iterator;function eC(e){return e===null||typeof e!="object"?null:(e=Cl&&e[Cl]||e["@@iterator"],typeof e=="function"?e:null)}var $l={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ll=Object.assign,Sl={};function pt(e,t,n){this.props=e,this.context=t,this.refs=Sl,this.updater=n||$l}pt.prototype.isReactComponent={};pt.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)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,e,t,"setState")};pt.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function El(){}El.prototype=pt.prototype;function g9(e,t,n){this.props=e,this.context=t,this.refs=Sl,this.updater=n||$l}var b9=g9.prototype=new El;b9.constructor=g9;Ll(b9,pt.prototype);b9.isPureReactComponent=!0;var Al=Array.isArray,Zl=Object.prototype.hasOwnProperty,f9={current:null},Fl={key:!0,ref:!0,__self:!0,__source:!0};function jl(e,t,n){var a,i={},r=null,s=null;if(t!=null)for(a in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(r=""+t.key),t)Zl.call(t,a)&&!Fl.hasOwnProperty(a)&&(i[a]=t[a]);var c=arguments.length-2;if(c===1)i.children=n;else if(1{"use strict";Nl.exports=Hl()});var su=Me(a0=>{"use strict";function ei(e,t){var n=e.length;e.push(t);e:for(;0>>1,i=e[a];if(0>>1;aen(c,n))oen(l,c)?(e[a]=l,e[o]=n,a=o):(e[a]=c,e[s]=n,a=s);else if(oen(l,n))e[a]=l,e[o]=n,a=o;else break e}}return t}function en(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(Yp=performance,a0.unstable_now=function(){return Yp.now()}):(Y9=Date,Jp=Y9.now(),a0.unstable_now=function(){return Y9.now()-Jp});var Yp,Y9,Jp,Le=[],E3=[],hA=1,ee=null,a2=3,an=!1,z4=!1,V5=!1,tu=typeof setTimeout=="function"?setTimeout:null,nu=typeof clearTimeout=="function"?clearTimeout:null,Qp=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function ti(e){for(var t=de(E3);t!==null;){if(t.callback===null)nn(E3);else if(t.startTime<=e)nn(E3),t.sortIndex=t.expirationTime,ei(Le,t);else break;t=de(E3)}}function ni(e){if(V5=!1,ti(e),!z4)if(de(Le)!==null)z4=!0,ii(ai);else{var t=de(E3);t!==null&&ri(ni,t.startTime-e)}}function ai(e,t){z4=!1,V5&&(V5=!1,nu(q5),q5=-1),an=!0;var n=a2;try{for(ti(t),ee=de(Le);ee!==null&&(!(ee.expirationTime>t)||e&&!ru());){var a=ee.callback;if(typeof a=="function"){ee.callback=null,a2=ee.priorityLevel;var i=a(ee.expirationTime<=t);t=a0.unstable_now(),typeof i=="function"?ee.callback=i:ee===de(Le)&&nn(Le),ti(t)}else nn(Le);ee=de(Le)}if(ee!==null)var r=!0;else{var s=de(E3);s!==null&&ri(ni,s.startTime-t),r=!1}return r}finally{ee=null,a2=n,an=!1}}var rn=!1,tn=null,q5=-1,au=5,iu=-1;function ru(){return!(a0.unstable_now()-iue||125a?(e.sortIndex=n,ei(E3,e),de(Le)===null&&e===de(E3)&&(V5?(nu(q5),q5=-1):V5=!0,ri(ni,n-a))):(e.sortIndex=i,ei(Le,e),z4||an||(z4=!0,ii(ai))),e};a0.unstable_shouldYield=ru;a0.unstable_wrapCallback=function(e){var t=a2;return function(){var n=a2;a2=t;try{return e.apply(this,arguments)}finally{a2=n}}}});var ou=Me((ID,cu)=>{"use strict";cu.exports=su()});var hh=Me(O2=>{"use strict";var gm=l0(),D2=ou();function J(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),$i=Object.prototype.hasOwnProperty,gA=/^[: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]*$/,lu={},pu={};function bA(e){return $i.call(pu,e)?!0:$i.call(lu,e)?!1:gA.test(e)?pu[e]=!0:(lu[e]=!0,!1)}function fA(e,t,n,a){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return a?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function vA(e,t,n,a){if(t===null||typeof t>"u"||fA(e,t,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function y2(e,t,n,a,i,r,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=a,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=r,this.removeEmptyString=s}var J0={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){J0[e]=new y2(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];J0[t]=new y2(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){J0[e]=new y2(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){J0[e]=new y2(e,2,!1,e,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(e){J0[e]=new y2(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){J0[e]=new y2(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){J0[e]=new y2(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){J0[e]=new y2(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){J0[e]=new y2(e,5,!1,e.toLowerCase(),null,!1,!1)});var _r=/[\-:]([a-z])/g;function wr(e){return e[1].toUpperCase()}"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(e){var t=e.replace(_r,wr);J0[t]=new y2(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(_r,wr);J0[t]=new y2(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(_r,wr);J0[t]=new y2(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){J0[e]=new y2(e,1,!1,e.toLowerCase(),null,!1,!1)});J0.xlinkHref=new y2("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){J0[e]=new y2(e,1,!1,e.toLowerCase(),null,!0,!0)});function xr(e,t,n,a){var i=J0.hasOwnProperty(t)?J0[t]:null;(i!==null?i.type!==0:a||!(2c||i[s]!==r[c]){var o="\n"+i[s].replace(" at new "," at ");return e.displayName&&o.includes("")&&(o=o.replace("",e.displayName)),o}while(1<=s&&0<=c);break}}}finally{ci=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?U5(e):""}function yA(e){switch(e.tag){case 5:return U5(e.type);case 16:return U5("Lazy");case 13:return U5("Suspense");case 19:return U5("SuspenseList");case 0:case 2:case 15:return e=oi(e.type,!1),e;case 11:return e=oi(e.type.render,!1),e;case 1:return e=oi(e.type,!0),e;default:return""}}function Zi(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case _t:return"Fragment";case yt:return"Portal";case Li:return"Profiler";case kr:return"StrictMode";case Si:return"Suspense";case Ei:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case vm:return(e.displayName||"Context")+".Consumer";case fm:return(e._context.displayName||"Context")+".Provider";case zr:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Cr:return t=e.displayName||null,t!==null?t:Zi(e.type)||"Memo";case F3:t=e._payload,e=e._init;try{return Zi(e(t))}catch{}}return null}function _A(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Zi(t);case 8:return t===kr?"StrictMode":"Mode";case 22:return"Offscreen";case 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(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function W3(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function _m(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function wA(e){var t=_m(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,r=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){a=""+s,r.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(s){a=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function cn(e){e._valueTracker||(e._valueTracker=wA(e))}function wm(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=_m(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Hn(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Fi(e,t){var n=t.checked;return f0({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function mu(e,t){var n=t.defaultValue==null?"":t.defaultValue,a=t.checked!=null?t.checked:t.defaultChecked;n=W3(t.value!=null?t.value:n),e._wrapperState={initialChecked:a,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function xm(e,t){t=t.checked,t!=null&&xr(e,"checked",t,!1)}function ji(e,t){xm(e,t);var n=W3(t.value),a=t.type;if(n!=null)a==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(a==="submit"||a==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Hi(e,t.type,n):t.hasOwnProperty("defaultValue")&&Hi(e,t.type,W3(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function du(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!(a!=="submit"&&a!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Hi(e,t,n){(t!=="number"||Hn(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var X5=Array.isArray;function Et(e,t,n,a){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=on.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function o6(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var J5={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,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},xA=["Webkit","ms","Moz","O"];Object.keys(J5).forEach(function(e){xA.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),J5[t]=J5[e]})});function Am(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||J5.hasOwnProperty(e)&&J5[e]?(""+t).trim():t+"px"}function Mm(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var a=n.indexOf("--")===0,i=Am(n,t[n],a);n==="float"&&(n="cssFloat"),a?e.setProperty(n,i):e[n]=i}}var kA=f0({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});function Vi(e,t){if(t){if(kA[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(J(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(J(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(J(61))}if(t.style!=null&&typeof t.style!="object")throw Error(J(62))}}function qi(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 Ii=null;function Ar(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Bi=null,Zt=null,Ft=null;function bu(e){if(e=A6(e)){if(typeof Bi!="function")throw Error(J(280));var t=e.stateNode;t&&(t=l8(t),Bi(e.stateNode,e.type,t))}}function $m(e){Zt?Ft?Ft.push(e):Ft=[e]:Zt=e}function Lm(){if(Zt){var e=Zt,t=Ft;if(Ft=Zt=null,bu(e),t)for(e=0;e>>=0,e===0?32:31-(jA(e)/HA|0)|0}var ln=64,pn=4194304;function K5(e){switch(e&-e){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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function qn(e,t){var n=e.pendingLanes;if(n===0)return 0;var a=0,i=e.suspendedLanes,r=e.pingedLanes,s=n&268435455;if(s!==0){var c=s&~i;c!==0?a=K5(c):(r&=s,r!==0&&(a=K5(r)))}else s=n&~i,s!==0?a=K5(s):r!==0&&(a=K5(r));if(a===0)return 0;if(t!==0&&t!==a&&(t&i)===0&&(i=a&-a,r=t&-t,i>=r||i===16&&(r&4194240)!==0))return t;if((a&4)!==0&&(a|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=a;0n;n++)t.push(e);return t}function z6(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-ve(t),e[t]=n}function qA(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0=e6),Cu=" ",Au=!1;function Xm(e,t){switch(e){case"keyup":return dM.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Km(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var wt=!1;function gM(e,t){switch(e){case"compositionend":return Km(t);case"keypress":return t.which!==32?null:(Au=!0,Cu);case"textInput":return e=t.data,e===Cu&&Au?null:e;default:return null}}function bM(e,t){if(wt)return e==="compositionend"||!jr&&Xm(e,t)?(e=Wm(),An=Er=T3=null,wt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Lu(n)}}function ed(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ed(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function td(){for(var e=window,t=Hn();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Hn(e.document)}return t}function Hr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function CM(e){var t=td(),n=e.focusedElem,a=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&ed(n.ownerDocument.documentElement,n)){if(a!==null&&Hr(n)){if(t=a.start,e=a.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,r=Math.min(a.start,i);a=a.end===void 0?r:Math.min(a.end,i),!e.extend&&r>a&&(i=a,a=r,r=i),i=Su(n,r);var s=Su(n,a);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),r>a?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,xt=null,Wi=null,n6=null,Ui=!1;function Eu(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ui||xt==null||xt!==Hn(a)||(a=xt,"selectionStart"in a&&Hr(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),n6&&h6(n6,a)||(n6=a,a=Pn(Wi,"onSelect"),0Ct||(e.current=er[Ct],er[Ct]=null,Ct--)}function i0(e,t){Ct++,er[Ct]=e.current,e.current=t}var U3={},c2=K3(U3),E2=K3(!1),Z4=U3;function Vt(e,t){var n=e.type.contextTypes;if(!n)return U3;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var i={},r;for(r in n)i[r]=t[r];return a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Z2(e){return e=e.childContextTypes,e!=null}function Dn(){o0(E2),o0(c2)}function Iu(e,t,n){if(c2.current!==U3)throw Error(J(168));i0(c2,t),i0(E2,n)}function pd(e,t,n){var a=e.stateNode;if(t=t.childContextTypes,typeof a.getChildContext!="function")return n;a=a.getChildContext();for(var i in a)if(!(i in t))throw Error(J(108,_A(e)||"Unknown",i));return f0({},n,a)}function Gn(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||U3,Z4=c2.current,i0(c2,e),i0(E2,E2.current),!0}function Bu(e,t,n){var a=e.stateNode;if(!a)throw Error(J(169));n?(e=pd(e,t,Z4),a.__reactInternalMemoizedMergedChildContext=e,o0(E2),o0(c2),i0(c2,e)):o0(E2),i0(E2,n)}var Je=null,p8=!1,yi=!1;function ud(e){Je===null?Je=[e]:Je.push(e)}function HM(e){p8=!0,ud(e)}function Y3(){if(!yi&&Je!==null){yi=!0;var e=0,t=Y1;try{var n=Je;for(Y1=1;e>=s,i-=s,Qe=1<<32-ve(t)+i|n<T?(H=j,j=null):H=j.sibling;var E=m(v,j,_[T],z);if(E===null){j===null&&(j=H);break}e&&j&&E.alternate===null&&t(v,j),b=r(E,b,T),C===null?$=E:C.sibling=E,C=E,j=H}if(T===_.length)return n(v,j),p0&&C4(v,T),$;if(j===null){for(;T<_.length;T++)j=u(v,_[T],z),j!==null&&(b=r(j,b,T),C===null?$=j:C.sibling=j,C=j);return p0&&C4(v,T),$}for(j=a(v,j);T<_.length;T++)H=d(j,v,T,_[T],z),H!==null&&(e&&H.alternate!==null&&j.delete(H.key===null?T:H.key),b=r(H,b,T),C===null?$=H:C.sibling=H,C=H);return e&&j.forEach(function(R){return t(v,R)}),p0&&C4(v,T),$}function w(v,b,_,z){var $=I5(_);if(typeof $!="function")throw Error(J(150));if(_=$.call(_),_==null)throw Error(J(151));for(var C=$=null,j=b,T=b=0,H=null,E=_.next();j!==null&&!E.done;T++,E=_.next()){j.index>T?(H=j,j=null):H=j.sibling;var R=m(v,j,E.value,z);if(R===null){j===null&&(j=H);break}e&&j&&R.alternate===null&&t(v,j),b=r(R,b,T),C===null?$=R:C.sibling=R,C=R,j=H}if(E.done)return n(v,j),p0&&C4(v,T),$;if(j===null){for(;!E.done;T++,E=_.next())E=u(v,E.value,z),E!==null&&(b=r(E,b,T),C===null?$=E:C.sibling=E,C=E);return p0&&C4(v,T),$}for(j=a(v,j);!E.done;T++,E=_.next())E=d(j,v,T,E.value,z),E!==null&&(e&&E.alternate!==null&&j.delete(E.key===null?T:E.key),b=r(E,b,T),C===null?$=E:C.sibling=E,C=E);return e&&j.forEach(function(D){return t(v,D)}),p0&&C4(v,T),$}function x(v,b,_,z){if(typeof _=="object"&&_!==null&&_.type===_t&&_.key===null&&(_=_.props.children),typeof _=="object"&&_!==null){switch(_.$$typeof){case sn:e:{for(var $=_.key,C=b;C!==null;){if(C.key===$){if($=_.type,$===_t){if(C.tag===7){n(v,C.sibling),b=i(C,_.props.children),b.return=v,v=b;break e}}else if(C.elementType===$||typeof $=="object"&&$!==null&&$.$$typeof===F3&&Uu($)===C.type){n(v,C.sibling),b=i(C,_.props),b.ref=D5(v,C,_),b.return=v,v=b;break e}n(v,C);break}else t(v,C);C=C.sibling}_.type===_t?(b=E4(_.props.children,v.mode,z,_.key),b.return=v,v=b):(z=jn(_.type,_.key,_.props,null,v.mode,z),z.ref=D5(v,b,_),z.return=v,v=z)}return s(v);case yt:e:{for(C=_.key;b!==null;){if(b.key===C)if(b.tag===4&&b.stateNode.containerInfo===_.containerInfo&&b.stateNode.implementation===_.implementation){n(v,b.sibling),b=i(b,_.children||[]),b.return=v,v=b;break e}else{n(v,b);break}else t(v,b);b=b.sibling}b=Mi(_,v.mode,z),b.return=v,v=b}return s(v);case F3:return C=_._init,x(v,b,C(_._payload),z)}if(X5(_))return f(v,b,_,z);if(I5(_))return w(v,b,_,z);wn(v,_)}return typeof _=="string"&&_!==""||typeof _=="number"?(_=""+_,b!==null&&b.tag===6?(n(v,b.sibling),b=i(b,_),b.return=v,v=b):(n(v,b),b=Ai(_,v.mode,z),b.return=v,v=b),s(v)):n(v,b)}return x}var It=yd(!0),_d=yd(!1),M6={},je=K3(M6),v6=K3(M6),y6=K3(M6);function L4(e){if(e===M6)throw Error(J(174));return e}function Dr(e,t){switch(i0(y6,t),i0(v6,e),i0(je,M6),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ti(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Ti(t,e)}o0(je),i0(je,t)}function Bt(){o0(je),o0(v6),o0(y6)}function wd(e){L4(y6.current);var t=L4(je.current),n=Ti(t,e.type);t!==n&&(i0(v6,e),i0(je,n))}function Gr(e){v6.current===e&&(o0(je),o0(v6))}var g0=K3(0);function Yn(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var _i=[];function Or(){for(var e=0;e<_i.length;e++)_i[e]._workInProgressVersionPrimary=null;_i.length=0}var Ln=s3.ReactCurrentDispatcher,wi=s3.ReactCurrentBatchConfig,j4=0,b0=null,q0=null,G0=null,Jn=!1,a6=!1,_6=0,TM=0;function i2(){throw Error(J(321))}function Wr(e,t){if(t===null)return!1;for(var n=0;nn?n:4,e(!0);var a=wi.transition;wi.transition={};try{e(!1),t()}finally{Y1=n,wi.transition=a}}function Td(){return se().memoizedState}function qM(e,t,n){var a=G3(e);if(n={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null},Vd(e))qd(t,n);else if(n=gd(e,t,n,a),n!==null){var i=v2();ye(n,e,a,i),Id(n,t,a)}}function IM(e,t,n){var a=G3(e),i={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null};if(Vd(e))qd(t,i);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var s=t.lastRenderedState,c=r(s,n);if(i.hasEagerState=!0,i.eagerState=c,_e(c,s)){var o=t.interleaved;o===null?(i.next=i,Pr(t)):(i.next=o.next,o.next=i),t.interleaved=i;return}}catch{}n=gd(e,t,i,a),n!==null&&(i=v2(),ye(n,e,a,i),Id(n,t,a))}}function Vd(e){var t=e.alternate;return e===b0||t!==null&&t===b0}function qd(e,t){a6=Jn=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Id(e,t,n){if((n&4194240)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,$r(e,n)}}var Qn={readContext:re,useCallback:i2,useContext:i2,useEffect:i2,useImperativeHandle:i2,useInsertionEffect:i2,useLayoutEffect:i2,useMemo:i2,useReducer:i2,useRef:i2,useState:i2,useDebugValue:i2,useDeferredValue:i2,useTransition:i2,useMutableSource:i2,useSyncExternalStore:i2,useId:i2,unstable_isNewReconciler:!1},BM={readContext:re,useCallback:function(e,t){return Ee().memoizedState=[e,t===void 0?null:t],e},useContext:re,useEffect:Ku,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Sn(4194308,4,Zd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Sn(4194308,4,e,t)},useInsertionEffect:function(e,t){return Sn(4,2,e,t)},useMemo:function(e,t){var n=Ee();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var a=Ee();return t=n!==void 0?n(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=qM.bind(null,b0,e),[a.memoizedState,e]},useRef:function(e){var t=Ee();return e={current:e},t.memoizedState=e},useState:Xu,useDebugValue:Yr,useDeferredValue:function(e){return Ee().memoizedState=e},useTransition:function(){var e=Xu(!1),t=e[0];return e=VM.bind(null,e[1]),Ee().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var a=b0,i=Ee();if(p0){if(n===void 0)throw Error(J(407));n=n()}else{if(n=t(),O0===null)throw Error(J(349));(j4&30)!==0||zd(a,t,n)}i.memoizedState=n;var r={value:n,getSnapshot:t};return i.queue=r,Ku(Ad.bind(null,a,r,e),[e]),a.flags|=2048,x6(9,Cd.bind(null,a,r,n,t),void 0,null),n},useId:function(){var e=Ee(),t=O0.identifierPrefix;if(p0){var n=e3,a=Qe;n=(a&~(1<<32-ve(a)-1)).toString(32)+n,t=":"+t+"R"+n,n=_6++,0<\/script>",e=e.removeChild(e.firstChild)):typeof a.is=="string"?e=s.createElement(n,{is:a.is}):(e=s.createElement(n),n==="select"&&(s=e,a.multiple?s.multiple=!0:a.size&&(s.size=a.size))):e=s.createElementNS(e,n),e[Ze]=t,e[f6]=a,Xd(e,t,!1,!1),t.stateNode=e;e:{switch(s=qi(n,a),n){case"dialog":c0("cancel",e),c0("close",e),i=a;break;case"iframe":case"object":case"embed":c0("load",e),i=a;break;case"video":case"audio":for(i=0;iRt&&(t.flags|=128,a=!0,G5(r,!1),t.lanes=4194304)}else{if(!a)if(e=Yn(s),e!==null){if(t.flags|=128,a=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),G5(r,!0),r.tail===null&&r.tailMode==="hidden"&&!s.alternate&&!p0)return r2(t),null}else 2*S0()-r.renderingStartTime>Rt&&n!==1073741824&&(t.flags|=128,a=!0,G5(r,!1),t.lanes=4194304);r.isBackwards?(s.sibling=t.child,t.child=s):(n=r.last,n!==null?n.sibling=s:t.child=s,r.last=s)}return r.tail!==null?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=S0(),t.sibling=null,n=g0.current,i0(g0,a?n&1|2:n&1),t):(r2(t),null);case 22:case 23:return as(),a=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==a&&(t.flags|=8192),a&&(t.mode&1)!==0?(B2&1073741824)!==0&&(r2(t),t.subtreeFlags&6&&(t.flags|=8192)):r2(t),null;case 24:return null;case 25:return null}throw Error(J(156,t.tag))}function XM(e,t){switch(Tr(t),t.tag){case 1:return Z2(t.type)&&Dn(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Bt(),o0(E2),o0(c2),Or(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return Gr(t),null;case 13:if(o0(g0),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(J(340));qt()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return o0(g0),null;case 4:return Bt(),null;case 10:return Br(t.type._context),null;case 22:case 23:return as(),null;case 24:return null;default:return null}}var kn=!1,s2=!1,KM=typeof WeakSet=="function"?WeakSet:Set,d1=null;function Lt(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(a){z0(e,t,a)}else n.current=null}function mr(e,t,n){try{n()}catch(a){z0(e,t,a)}}var rm=!1;function YM(e,t){if(Xi=In,e=td(),Hr(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var i=a.anchorOffset,r=a.focusNode;a=a.focusOffset;try{n.nodeType,r.nodeType}catch{n=null;break e}var s=0,c=-1,o=-1,l=0,p=0,u=e,m=null;t:for(;;){for(var d;u!==n||i!==0&&u.nodeType!==3||(c=s+i),u!==r||a!==0&&u.nodeType!==3||(o=s+a),u.nodeType===3&&(s+=u.nodeValue.length),(d=u.firstChild)!==null;)m=u,u=d;for(;;){if(u===e)break t;if(m===n&&++l===i&&(c=s),m===r&&++p===a&&(o=s),(d=u.nextSibling)!==null)break;u=m,m=u.parentNode}u=d}n=c===-1||o===-1?null:{start:c,end:o}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ki={focusedElem:e,selectionRange:n},In=!1,d1=t;d1!==null;)if(t=d1,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,d1=e;else for(;d1!==null;){t=d1;try{var f=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(f!==null){var w=f.memoizedProps,x=f.memoizedState,v=t.stateNode,b=v.getSnapshotBeforeUpdate(t.elementType===t.type?w:ge(t.type,w),x);v.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var _=t.stateNode.containerInfo;_.nodeType===1?_.textContent="":_.nodeType===9&&_.documentElement&&_.removeChild(_.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(J(163))}}catch(z){z0(t,t.return,z)}if(e=t.sibling,e!==null){e.return=t.return,d1=e;break}d1=t.return}return f=rm,rm=!1,f}function i6(e,t,n){var a=t.updateQueue;if(a=a!==null?a.lastEffect:null,a!==null){var i=a=a.next;do{if((i.tag&e)===e){var r=i.destroy;i.destroy=void 0,r!==void 0&&mr(t,n,r)}i=i.next}while(i!==a)}}function d8(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var a=n.create;n.destroy=a()}n=n.next}while(n!==t)}}function dr(e){var t=e.ref;if(t!==null){var n=e.stateNode;e.tag,e=n,typeof t=="function"?t(e):t.current=e}}function Jd(e){var t=e.alternate;t!==null&&(e.alternate=null,Jd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ze],delete t[f6],delete t[Qi],delete t[FM],delete t[jM])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Qd(e){return e.tag===5||e.tag===3||e.tag===4}function sm(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Qd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function hr(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Rn));else if(a!==4&&(e=e.child,e!==null))for(hr(e,t,n),e=e.sibling;e!==null;)hr(e,t,n),e=e.sibling}function gr(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(e=e.child,e!==null))for(gr(e,t,n),e=e.sibling;e!==null;)gr(e,t,n),e=e.sibling}var K0=null,be=!1;function Z3(e,t,n){for(n=n.child;n!==null;)eh(e,t,n),n=n.sibling}function eh(e,t,n){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(r8,n)}catch{}switch(n.tag){case 5:s2||Lt(n,t);case 6:var a=K0,i=be;K0=null,Z3(e,t,n),K0=a,be=i,K0!==null&&(be?(e=K0,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):K0.removeChild(n.stateNode));break;case 18:K0!==null&&(be?(e=K0,n=n.stateNode,e.nodeType===8?vi(e.parentNode,n):e.nodeType===1&&vi(e,n),m6(e)):vi(K0,n.stateNode));break;case 4:a=K0,i=be,K0=n.stateNode.containerInfo,be=!0,Z3(e,t,n),K0=a,be=i;break;case 0:case 11:case 14:case 15:if(!s2&&(a=n.updateQueue,a!==null&&(a=a.lastEffect,a!==null))){i=a=a.next;do{var r=i,s=r.destroy;r=r.tag,s!==void 0&&((r&2)!==0||(r&4)!==0)&&mr(n,t,s),i=i.next}while(i!==a)}Z3(e,t,n);break;case 1:if(!s2&&(Lt(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"))try{a.props=n.memoizedProps,a.state=n.memoizedState,a.componentWillUnmount()}catch(c){z0(n,t,c)}Z3(e,t,n);break;case 21:Z3(e,t,n);break;case 22:n.mode&1?(s2=(a=s2)||n.memoizedState!==null,Z3(e,t,n),s2=a):Z3(e,t,n);break;default:Z3(e,t,n)}}function cm(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new KM),t.forEach(function(a){var i=s$.bind(null,e,a);n.has(a)||(n.add(a),a.then(i,i))})}}function he(e,t){var n=t.deletions;if(n!==null)for(var a=0;ai&&(i=s),a&=~r}if(a=i,a=S0()-a,a=(120>a?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*QM(a/1960))-a,10e?16:e,V3===null)var a=!1;else{if(e=V3,V3=null,n8=0,(D1&6)!==0)throw Error(J(331));var i=D1;for(D1|=4,d1=e.current;d1!==null;){var r=d1,s=r.child;if((d1.flags&16)!==0){var c=r.deletions;if(c!==null){for(var o=0;oS0()-ts?S4(e,0):es|=n),F2(e,t)}function oh(e,t){t===0&&((e.mode&1)===0?t=1:(t=pn,pn<<=1,(pn&130023424)===0&&(pn=4194304)));var n=v2();e=i3(e,t),e!==null&&(z6(e,t,n),F2(e,n))}function r$(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),oh(e,n)}function s$(e,t){var n=0;switch(e.tag){case 13:var a=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(J(314))}a!==null&&a.delete(t),oh(e,n)}var lh;lh=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||E2.current)S2=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return S2=!1,WM(e,t,n);S2=(e.flags&131072)!==0}else S2=!1,p0&&(t.flags&1048576)!==0&&md(t,Wn,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;En(e,t),e=t.pendingProps;var i=Vt(t,c2.current);Ht(t,n),i=Ur(null,t,a,e,i,n);var r=Xr();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Z2(a)?(r=!0,Gn(t)):r=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Rr(t),i.updater=u8,t.stateNode=i,i._reactInternals=t,rr(t,a,e,n),t=or(null,t,a,!0,r,n)):(t.tag=0,p0&&r&&Nr(t),f2(null,t,i,n),t=t.child),t;case 16:a=t.elementType;e:{switch(En(e,t),e=t.pendingProps,i=a._init,a=i(a._payload),t.type=a,i=t.tag=o$(a),e=ge(a,e),i){case 0:t=cr(null,t,a,e,n);break e;case 1:t=nm(null,t,a,e,n);break e;case 11:t=em(null,t,a,e,n);break e;case 14:t=tm(null,t,a,ge(a.type,e),n);break e}throw Error(J(306,a,""))}return t;case 0:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:ge(a,i),cr(e,t,a,i,n);case 1:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:ge(a,i),nm(e,t,a,i,n);case 3:e:{if(Od(t),e===null)throw Error(J(387));a=t.pendingProps,r=t.memoizedState,i=r.element,bd(e,t),Kn(t,a,null,n);var s=t.memoizedState;if(a=s.element,r.isDehydrated)if(r={element:a,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=r,t.memoizedState=r,t.flags&256){i=Pt(Error(J(423)),t),t=am(e,t,a,n,i);break e}else if(a!==i){i=Pt(Error(J(424)),t),t=am(e,t,a,n,i);break e}else for(P2=P3(t.stateNode.containerInfo.firstChild),R2=t,p0=!0,fe=null,n=_d(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(qt(),a===i){t=r3(e,t,n);break e}f2(e,t,a,n)}t=t.child}return t;case 5:return wd(t),e===null&&nr(t),a=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,s=i.children,Yi(a,i)?s=null:r!==null&&Yi(a,r)&&(t.flags|=32),Gd(e,t),f2(e,t,s,n),t.child;case 6:return e===null&&nr(t),null;case 13:return Wd(e,t,n);case 4:return Dr(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=It(t,null,a,n):f2(e,t,a,n),t.child;case 11:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:ge(a,i),em(e,t,a,i,n);case 7:return f2(e,t,t.pendingProps,n),t.child;case 8:return f2(e,t,t.pendingProps.children,n),t.child;case 12:return f2(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(a=t.type._context,i=t.pendingProps,r=t.memoizedProps,s=i.value,i0(Un,a._currentValue),a._currentValue=s,r!==null)if(_e(r.value,s)){if(r.children===i.children&&!E2.current){t=r3(e,t,n);break e}}else for(r=t.child,r!==null&&(r.return=t);r!==null;){var c=r.dependencies;if(c!==null){s=r.child;for(var o=c.firstContext;o!==null;){if(o.context===a){if(r.tag===1){o=t3(-1,n&-n),o.tag=2;var l=r.updateQueue;if(l!==null){l=l.shared;var p=l.pending;p===null?o.next=o:(o.next=p.next,p.next=o),l.pending=o}}r.lanes|=n,o=r.alternate,o!==null&&(o.lanes|=n),ar(r.return,n,t),c.lanes|=n;break}o=o.next}}else if(r.tag===10)s=r.type===t.type?null:r.child;else if(r.tag===18){if(s=r.return,s===null)throw Error(J(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),ar(s,n,t),s=r.sibling}else s=r.child;if(s!==null)s.return=r;else for(s=r;s!==null;){if(s===t){s=null;break}if(r=s.sibling,r!==null){r.return=s.return,s=r;break}s=s.return}r=s}f2(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,a=t.pendingProps.children,Ht(t,n),i=re(i),a=a(i),t.flags|=1,f2(e,t,a,n),t.child;case 14:return a=t.type,i=ge(a,t.pendingProps),i=ge(a.type,i),tm(e,t,a,i,n);case 15:return Rd(e,t,t.type,t.pendingProps,n);case 17:return a=t.type,i=t.pendingProps,i=t.elementType===a?i:ge(a,i),En(e,t),t.tag=1,Z2(a)?(e=!0,Gn(t)):e=!1,Ht(t,n),vd(t,a,i),rr(t,a,i,n),or(null,t,a,!0,e,n);case 19:return Ud(e,t,n);case 22:return Dd(e,t,n)}throw Error(J(156,t.tag))};function ph(e,t){return Nm(e,t)}function c$(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ae(e,t,n,a){return new c$(e,t,n,a)}function rs(e){return e=e.prototype,!(!e||!e.isReactComponent)}function o$(e){if(typeof e=="function")return rs(e)?1:0;if(e!=null){if(e=e.$$typeof,e===zr)return 11;if(e===Cr)return 14}return 2}function O3(e,t){var n=e.alternate;return n===null?(n=ae(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function jn(e,t,n,a,i,r){var s=2;if(a=e,typeof e=="function")rs(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case _t:return E4(n.children,i,r,t);case kr:s=8,i|=8;break;case Li:return e=ae(12,n,t,i|2),e.elementType=Li,e.lanes=r,e;case Si:return e=ae(13,n,t,i),e.elementType=Si,e.lanes=r,e;case Ei:return e=ae(19,n,t,i),e.elementType=Ei,e.lanes=r,e;case ym:return g8(n,i,r,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case fm:s=10;break e;case vm:s=9;break e;case zr:s=11;break e;case Cr:s=14;break e;case F3:s=16,a=null;break e}throw Error(J(130,e==null?e:typeof e,""))}return t=ae(s,n,t,i),t.elementType=e,t.type=a,t.lanes=r,t}function E4(e,t,n,a){return e=ae(7,e,a,t),e.lanes=n,e}function g8(e,t,n,a){return e=ae(22,e,a,t),e.elementType=ym,e.lanes=n,e.stateNode={isHidden:!1},e}function Ai(e,t,n){return e=ae(6,e,null,t),e.lanes=n,e}function Mi(e,t,n){return t=ae(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function l$(e,t,n,a,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=pi(0),this.expirationTimes=pi(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=pi(0),this.identifierPrefix=a,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function ss(e,t,n,a,i,r,s,c,o){return e=new l$(e,t,n,c,o),t===1?(t=1,r===!0&&(t|=8)):t=0,r=ae(3,null,null,t),e.current=r,r.stateNode=e,r.memoizedState={element:a,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Rr(r),e}function p$(e,t,n){var a=3{"use strict";function gh(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(gh)}catch(e){console.error(e)}}gh(),bh.exports=hh()});var vh=Me(_8=>{"use strict";var g$=l0(),b$=Symbol.for("react.element"),f$=Symbol.for("react.fragment"),v$=Object.prototype.hasOwnProperty,y$=g$.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,_$={key:!0,ref:!0,__self:!0,__source:!0};function fh(e,t,n){var a,i={},r=null,s=null;n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),t.ref!==void 0&&(s=t.ref);for(a in t)v$.call(t,a)&&!_$.hasOwnProperty(a)&&(i[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps,t)i[a]===void 0&&(i[a]=t[a]);return{$$typeof:b$,type:e,key:r,ref:s,props:i,_owner:y$.current}}_8.Fragment=f$;_8.jsx=fh;_8.jsxs=fh});var _h=Me((DD,yh)=>{"use strict";yh.exports=vh()});var AZ,r4,K6=s1(()=>{AZ=Object.freeze(JSON.parse('{"displayName":"TypeScript","name":"typescript","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.ts"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?)","name":"cast.expr.ts"},{"begin":"(??^|]|[^$_[:alnum:]](?:\\\\+\\\\+|--)|[^+]\\\\+|[^-]-)\\\\s*(<)(?!)","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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\s*(?]|=[^<]|<\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?]|=[^<]|<\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?]|=[^<]|<\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|^|[]),;}]|((?{MZ=Object.freeze(JSON.parse('{"displayName":"Shell","name":"shellscript","patterns":[{"include":"#initial_context"}],"repository":{"alias_statement":{"begin":"[\\\\t ]*+(alias)[\\\\t ]*+((?:((?\\\\\\\\`|]+(?!>))"},{"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 ]*+((?\\\\[{|]|$|[\\\\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 ]*#|])(?`{|]+)"},{"begin":"(?:\\\\G|(?\\\\[{|]|$|[\\\\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 ]*#|])(?]|&&|\\\\|\\\\|","name":"keyword.operator.logical.shell"},{"match":"(?[=>]?|==|!=|^|\\\\|{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":"(?[=>]?|==|!=|^|\\\\|{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 ;]))","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 ]*#|])(?>?)[\\\\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":"(?{$Z=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"}')),c4=[$Z]});var Iv=Me((IX,qv)=>{"use strict";var o4=[[{color:"0, 0, 0",class:"ansi-black"},{color:"187, 0, 0",class:"ansi-red"},{color:"0, 187, 0",class:"ansi-green"},{color:"187, 187, 0",class:"ansi-yellow"},{color:"0, 0, 187",class:"ansi-blue"},{color:"187, 0, 187",class:"ansi-magenta"},{color:"0, 187, 187",class:"ansi-cyan"},{color:"255,255,255",class:"ansi-white"}],[{color:"85, 85, 85",class:"ansi-bright-black"},{color:"255, 85, 85",class:"ansi-bright-red"},{color:"0, 255, 0",class:"ansi-bright-green"},{color:"255, 255, 85",class:"ansi-bright-yellow"},{color:"85, 85, 255",class:"ansi-bright-blue"},{color:"255, 85, 255",class:"ansi-bright-magenta"},{color:"85, 255, 255",class:"ansi-bright-cyan"},{color:"255, 255, 255",class:"ansi-bright-white"}]],EZ=/(https?:\/\/(?:[A-Za-z0-9#;/?:@=+$',_.!~*()[\]-]|&|%[A-Fa-f0-9]{2})+)/gm,lc=class e{static escapeForHtml(t){return new e().escapeForHtml(t)}static linkify(t){return new e().linkify(t)}static ansiToHtml(t,n){return new e().ansiToHtml(t,n)}static ansiToJson(t,n){return new e().ansiToJson(t,n)}static ansiToText(t){return new e().ansiToText(t)}constructor(){this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null,this.bright=0,this.decorations=[]}setupPalette(){this.PALETTE_COLORS=[];for(let c=0;c<2;++c)for(let o=0;o<8;++o)this.PALETTE_COLORS.push(o4[c][o].color);let t=[0,95,135,175,215,255],n=(c,o,l)=>t[c]+", "+t[o]+", "+t[l],a,i,r;for(let c=0;c<6;++c)for(let o=0;o<6;++o)for(let l=0;l<6;++l)this.PALETTE_COLORS.push(n(c,o,l));let s=8;for(let c=0;c<24;++c,s+=10)this.PALETTE_COLORS.push(s+", "+s+", "+s)}escapeForHtml(t){return t.replace(/[&<>\"]/gm,n=>n=="&"?"&":n=='"'?""":n=="<"?"<":n==">"?">":"")}linkify(t){return t.replace(EZ,n=>'').concat(n,""))}ansiToHtml(t,n){return this.process(t,n,!0)}ansiToJson(t,n){return n=n||{},n.json=!0,n.clearLine=!1,this.process(t,n,!0)}ansiToText(t){return this.process(t,{},!1)}process(t,n,a){let i=this,r=t.split(/\033\[/),s=r.shift();n==null&&(n={}),n.clearLine=/\r/.test(t);let c=r.map(o=>this.processChunk(o,n,a));if(n&&n.json){let o=i.processChunkJson("");return o.content=s,o.clearLine=n.clearLine,c.unshift(o),n.remove_empty&&(c=c.filter(l=>!l.isEmpty())),c}else c.unshift(s);return c.join("")}processChunkJson(t,n,a){n=typeof n>"u"?{}:n;let i=n.use_classes=typeof n.use_classes<"u"&&n.use_classes,r=n.key=i?"class":"color",s={content:t,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,isInverted:!1,clearLine:n.clearLine,decoration:null,decorations:[],was_processed:!1,isEmpty:()=>!s.content},c=t.match(/^([!\x3c-\x3f]*)([\d;]*)([\x20-\x2c]*[\x40-\x7e])([\s\S]*)/m);if(!c)return s;let o=s.content=c[4],l=c[2].split(";");if(c[1]!==""||c[3]!=="m"||!a)return s;let p=this;for(;l.length>0;){let u=l.shift(),m=parseInt(u);if(isNaN(m)||m===0)p.fg=p.bg=null,p.decorations=[];else if(m===1)p.decorations.push("bold");else if(m===2)p.decorations.push("dim");else if(m===3)p.decorations.push("italic");else if(m===4)p.decorations.push("underline");else if(m===5)p.decorations.push("blink");else if(m===7)p.decorations.push("reverse");else if(m===8)p.decorations.push("hidden");else if(m===9)p.decorations.push("strikethrough");else if(m===21)p.removeDecoration("bold");else if(m===22)p.removeDecoration("bold"),p.removeDecoration("dim");else if(m===23)p.removeDecoration("italic");else if(m===24)p.removeDecoration("underline");else if(m===25)p.removeDecoration("blink");else if(m===27)p.removeDecoration("reverse");else if(m===28)p.removeDecoration("hidden");else if(m===29)p.removeDecoration("strikethrough");else if(m===39)p.fg=null;else if(m===49)p.bg=null;else if(m>=30&&m<38)p.fg=o4[0][m%10][r];else if(m>=90&&m<98)p.fg=o4[1][m%10][r];else if(m>=40&&m<48)p.bg=o4[0][m%10][r];else if(m>=100&&m<108)p.bg=o4[1][m%10][r];else if(m===38||m===48){let d=m===38;if(l.length>=1){let f=l.shift();if(f==="5"&&l.length>=1){let w=parseInt(l.shift());if(w>=0&&w<=255)if(!i)this.PALETTE_COLORS||p.setupPalette(),d?p.fg=this.PALETTE_COLORS[w]:p.bg=this.PALETTE_COLORS[w];else{let x=w>=16?"ansi-palette-"+w:o4[w>7?1:0][w%8].class;d?p.fg=x:p.bg=x}}else if(f==="2"&&l.length>=3){let w=parseInt(l.shift()),x=parseInt(l.shift()),v=parseInt(l.shift());if(w>=0&&w<=255&&x>=0&&x<=255&&v>=0&&v<=255){let b=w+", "+x+", "+v;i?d?(p.fg="ansi-truecolor",p.fg_truecolor=b):(p.bg="ansi-truecolor",p.bg_truecolor=b):d?p.fg=b:p.bg=b}}}}}if(p.fg===null&&p.bg===null&&p.decorations.length===0)return s;{let u=[],m=[],d={};return s.fg=p.fg,s.bg=p.bg,s.fg_truecolor=p.fg_truecolor,s.bg_truecolor=p.bg_truecolor,s.decorations=p.decorations,s.decoration=p.decorations.slice(-1).pop()||null,s.was_processed=!0,s}}processChunk(t,n,a){n=n||{};let i=this.processChunkJson(t,n,a),r=n.use_classes;if(i.decorations=i.decorations.filter(u=>{if(u==="reverse"){i.fg||(i.fg=o4[0][7][r?"class":"color"]),i.bg||(i.bg=o4[0][0][r?"class":"color"]);let m=i.fg;i.fg=i.bg,i.bg=m;let d=i.fg_truecolor;return i.fg_truecolor=i.bg_truecolor,i.bg_truecolor=d,i.isInverted=!0,!1}return!0}),n.json)return i;if(i.isEmpty())return"";if(!i.was_processed)return i.content;let s=[],c=[],o=[],l={},p=u=>{let m=[],d;for(d in u)u.hasOwnProperty(d)&&m.push("data-"+d+'="'+this.escapeForHtml(u[d])+'"');return m.length>0?" "+m.join(" "):""};return i.isInverted&&(l["ansi-is-inverted"]="true"),i.fg&&(r?(s.push(i.fg+"-fg"),i.fg_truecolor!==null&&(l["ansi-truecolor-fg"]=i.fg_truecolor,i.fg_truecolor=null)):s.push("color:rgb("+i.fg+")")),i.bg&&(r?(s.push(i.bg+"-bg"),i.bg_truecolor!==null&&(l["ansi-truecolor-bg"]=i.bg_truecolor,i.bg_truecolor=null)):s.push("background-color:rgb("+i.bg+")")),i.decorations.forEach(u=>{if(r){c.push("ansi-"+u);return}u==="bold"?c.push("font-weight:bold"):u==="dim"?c.push("opacity:0.5"):u==="italic"?c.push("font-style:italic"):u==="hidden"?c.push("visibility:hidden"):u==="strikethrough"?o.push("line-through"):o.push(u)}),o.length&&c.push("text-decoration:"+o.join(" ")),r?'"+i.content+"":'"+i.content+""}removeDecoration(t){let n=this.decorations.indexOf(t);n>=0&&this.decorations.splice(n,1)}};qv.exports=lc});var ow={};h1(ow,{default:()=>v7});var ET,v7,Ya=s1(()=>{ET=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":"`|(?))","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":"(]|(?=\\"))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?)","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)|((?^]?[- +]?#?\\\\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(?>|[\\\\&^|~])|(\\\\*\\\\*|[-%*+]|//|[/@])|(!=|==|>=|<=|[<>])|(:=)"},"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":"(\\")|(?)","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":"(]|(?=\'))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\'))|((?=(?)","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(?^]?[- +]?#?\\\\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)|((?{ZT=Object.freeze(JSON.parse('{"displayName":"JavaScript","name":"javascript","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.js"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?))","end":"(/>)|()","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:]]*)(?)","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":"(?=|/\\\\*|//)"},"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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","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":"()","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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","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":"(?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.js"}},"name":"meta.type.parameters.js","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js"}},"end":"(?=$|^|[]),;}]|((?e2});var FT,e2,We=s1(()=>{FT=Object.freeze(JSON.parse('{"displayName":"CSS","name":"css","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"include":"#combinator-invalid"},{"include":"#selector"},{"include":"#at-rules"},{"include":"#rule-list"}],"repository":{"arithmetic-operators":{"match":"[*/]|(?<=\\\\s|^)[-+](?=\\\\s|$)","name":"keyword.operator.arithmetic.css"},"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"},{"match":"\\\\s+"},{"include":"#layer-import"},{"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":"#rule-list-innards"},{"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)(?>>","name":"invalid.deprecated.combinator.css"},"combinators":{"patterns":[{"include":"#combinator-invalid"},{"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":"^(?]|/\\\\*)"},"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"},{"include":"#functions"}]}]},"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)(?A-\\\\[a-z|~[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.)|[#.](?:[-\\\\w]|\\\\\\\\(?:\\\\h{1,6}|.))|::??[-A-Za-z])(?![-\\\\w]*:+\\\\s|[^{]*;|[^{]*}|[^:]+(::):+)","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.nesting.css"},{"match":"\\\\*","name":"entity.name.tag.wildcard.css"},{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#escapes"}]}},"match":"(?\\\\[{|~\\\\s]|/\\\\*)|(?:[-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":"(?\\\\[{|~\\\\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":"(?Y2});var jT,Y2,_4=s1(()=>{me();We();jT=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}\uFDD0-\uFDEF\uFFFE\uFFFF\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\\\\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":"","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.cdata.html"},"comment":{"begin":"","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":"","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)()","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}\uFDD0-\uFDEF\uFFFE\uFFFF\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()","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}\uFDD0-\uFDEF\uFFFE\uFFFF\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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)()|(/>)|(?=)\\\\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":"(\\\\s]*))(?)","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":"(?=)","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":"(?=|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":"(?=)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.script.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?!\\\\G)","end":"(?=)","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)()","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)()","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)()","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)()","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)()","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)()","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)()","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)()","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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]*-[-.0-9A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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":"()","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"]}')),Y2=[...L0,...e2,jT]});var HT,uw,mw=s1(()=>{me();We();HT=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":"$|(?![#(.\\\\[{]|&|[-=~]|!=|&=|/)","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":"(?Go});var NT,Go,Oo=s1(()=>{NT=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":"(?","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":"(?>>?|[\\\\^~])","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(?)?(\\\\()","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"}')),Go=[NT]});var hw={};h1(hw,{default:()=>$3});var TT,$3,g5=s1(()=>{Oo();TT=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":"()","name":"meta.tag.sgml.doctype.xml","patterns":[{"include":"#internalSubset"}]},{"include":"#comments"},{"begin":"(<)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(?=(\\\\s[^>]*)?>)","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":"(>)()","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":"()","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":"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.unquoted.cdata.xml"}],"repository":{"EntityDecl":{"begin":"()","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":"","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"]}')),$3=[...Go,TT]});var gw={};h1(gw,{default:()=>L3});var VT,L3,b5=s1(()=>{VT=Object.freeze(JSON.parse('{"displayName":"SQL","name":"sql","patterns":[{"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":"(?{qT=Object.freeze(JSON.parse('{"displayName":"JSX","name":"jsx","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.js.jsx"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?))","end":"(/>)|()","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:]]*)(?)","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":"(?=|/\\\\*|//)"},"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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","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":"()","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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","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":"(?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.js.jsx"}},"name":"meta.type.parameters.js.jsx","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js.jsx"}},"end":"(?=$|^|[]),;}]|((?{IT=Object.freeze(JSON.parse('{"displayName":"TSX","name":"tsx","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^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":"(?:(?)","name":"meta.arrow.tsx"},{"begin":"(?:(?]|=[^<]|<\\\\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":"(?\\\\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":"()|(?=\\\\*/)","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?))","end":"(/>)|()","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:]]*)(?)","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":"(?=|/\\\\*|//)"},"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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","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":"()","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:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","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":"(?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\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":"(?]|=[^<]|<\\\\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((?)))|((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":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?:(?])","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":"(?|&&|\\\\|\\\\||\\\\*/)\\\\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":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","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":"(?]|=[^<]|<\\\\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":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\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":"(?])|((?<=[]$)>_}[: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":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","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":"(?)","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":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.tsx"}},"name":"meta.type.parameters.tsx","patterns":[{"include":"#comment"},{"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":"(?:(?)))))))|(:\\\\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":"(?:(??{|}]|(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":"(?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?)))|((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*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\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":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.tsx"}},"end":"(?=$|^|[]),;}]|((?y7});var BT,y7,Ja=s1(()=>{me();K6();fw();yw();BT=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"]}')),y7=[...L0,...r4,...bw,...vw,BT]});var PT,Qa,Wo=s1(()=>{PT=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":{"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"]}')),Qa=[PT]});var ww={};h1(ww,{default:()=>at});var RT,at,_7=s1(()=>{RT=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+((?","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":"(?=/[*/])|(?]+|\\\\(\\\\)|\\\\[]))\\\\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":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?\\\\s*)(//[!/]+)","beginCaptures":{"1":{"name":"punctuation.definition.comment.documentation.c"}},"end":"(?<=\\\\n)(?]|::|\\\\||---??)\\\\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":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?]+|\\\\(\\\\)|\\\\[]))\\\\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)(?\\\\*?))"}]},"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)))*)?((?>|\\\\|)=","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:(?]+|\\\\(\\\\)|\\\\[])\\\\s*\\\\()","end":"(?<=\\\\))(?!\\\\w)|(?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.c"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.c"}},"end":"(\\\\))|(?])\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(?=(?:\\\\[]\\\\s*)?[),])"},"static_assert":{"begin":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\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:(?\\\\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":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\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":"(((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"(?{_7();DT=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"]}')),e9=[...at,DT]});var GT,xw,kw=s1(()=>{Wo();Uo();GT=Object.freeze(JSON.parse('{"displayName":"C++","name":"cpp-macro","patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"source.cpp#simple_array_assignment"},{"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":"\\\\)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"\\\\)|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"\\\\)|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(::))?\\\\s+{0,1}((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)([A-Z][0-9A-Z_]*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.function.call.upper-case.cpp 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_helper"}]},"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 punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp"}},"end":"\\\\)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"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_helper"}]},"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":"\\\\)|(?=(?|\\\\*/))\\\\s*+(?:((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?)((?:\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"}]},"lambdas":{"begin":"(?:(?<=\\\\S|^)(?\\\\[\\\\w])|(?<=(?:\\\\W|^)return))\\\\s+{0,1}(\\\\[(?!\\\\[| *+\\"| *+\\\\d))((?:[^]\\\\[]|((??)++]))*+)(](?!((?:\\\\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":"(?<=[;}])|(?=(?","beginCaptures":{"0":{"name":"punctuation.definition.lambda.return-type.cpp"}},"end":"(?=\\\\{)|(?=(?\\\\*?))((?:(?:[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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"},"13":{"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.lower-case.cpp variable.other.object.property.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.property.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.property.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.property.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"14":{"name":"entity.name.function.member.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"end":"\\\\)|(?=(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=)))","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":"meta.assignment.cpp"},"6":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(operator)(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(?:(?:(delete\\\\[]|delete|new\\\\[]|<=>|<<=|new|>>=|->\\\\*|/=|%=|&=|>=|\\\\|=|\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|<<|>>|--|<=|\\\\^=|==|!=|&&|\\\\|\\\\||\\\\+=|-=|\\\\*=|[!%\\\\&*-\\\\-/<=>^|~])|((?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[-%*+]|(?>|\\\\|)=)|(=)"},{"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":"(?:(?=\\\\))|(,))|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(:)(?!:)"},{"captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(,)((?:\\\\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)(])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:)(?!:)","name":"meta.binding.cpp"},{"include":"#evaluation_context"}]},"requires_keyword":{"begin":"((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)?((?it});var OT,it,w7=s1(()=>{kw();Wo();Uo();OT=Object.freeze(JSON.parse('{"displayName":"C++","name":"cpp","patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"#simple_array_assignment"},{"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+((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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":"((?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?]|::|\\\\||---??)\\\\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":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\b(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"((?|\\\\?\\\\?>","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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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":"((?|\\\\?\\\\?>","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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?]*(>?)(((?:\\\\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"},"decltype":{"begin":"((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(::))?\\\\s+{0,1}((?|\\\\?\\\\?>)\\\\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":"((?|\\\\?\\\\?>)\\\\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":"#simple_array_assignment"},{"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":"#over_qualified_types"},{"include":"#normal_variable_assignment"},{"include":"#normal_variable_declaration"},{"include":"#switch_statement"},{"include":"#goto_statement"},{"include":"#evaluation_context"},{"include":"#label"}]},"function_call":{"patterns":[{"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)([A-Z][0-9A-Z_]*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.function.call.upper-case.cpp 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_helper"}]},"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 punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.cpp punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"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_helper"}]},"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*+(?:((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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":"(?)((?:\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()","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"},"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.modifier.specifier.functional.post-parameters.$10.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"}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()","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"},"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.modifier.specifier.functional.post-parameters.$10.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"}},"patterns":[{"include":"#function_parameter_context"}]},"functional_specifiers_pre_parameters":{"match":"(?]*(>?)(((?:\\\\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":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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])|(?<=(?:\\\\W|^)return))\\\\s+{0,1}(\\\\[(?!\\\\[| *+\\"| *+\\\\d))((?:[^]\\\\[]|((??)++]))*+)(](?!((?:\\\\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":"(?","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":"#function_body_context"}]}]},"language_constants":{"match":"(?\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"12":{"name":"variable.other.property.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+{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)((?\\\\*?))((?:(?:[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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"},"13":{"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.lower-case.cpp variable.other.object.property.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.property.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.property.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.property.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"14":{"name":"entity.name.function.member.cpp"},"15":{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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"},{"include":"#normal_variable_assignment"},{"include":"#normal_variable_declaration"},{"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_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>","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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=)))","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":"meta.assignment.cpp"},"6":{"patterns":[{"include":"#storage_specifiers"}]},"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":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(operator)(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(?:(?:(delete\\\\[]|delete|new\\\\[]|<=>|<<=|new|>>=|->\\\\*|/=|%=|&=|>=|\\\\|=|\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|<<|>>|--|<=|\\\\^=|==|!=|&&|\\\\|\\\\||\\\\+=|-=|\\\\*=|[!%\\\\&*-\\\\-/<=>^|~])|((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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_helper"},{"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":"((?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[-%*+]|(?>|\\\\|)=)|(=)"},{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w])","name":"meta.qualified-type.cpp"},"qualifiers_and_specifiers_post_parameters":{"patterns":[{"begin":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(:)(?!:)"},{"captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"#storage_specifiers"}]},"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":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?:[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)(,)((?:\\\\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)(])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:)(?!:)","name":"meta.binding.cpp"},{"include":"#evaluation_context"}]},"requires_keyword":{"begin":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.operator-overload.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.alias.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.block.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.using.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.parameter.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]}},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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_helper"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range_helper"}]},"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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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)(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"semicolon":{"match":";","name":"punctuation.terminator.statement.cpp"},"simple_array_assignment":{"captures":{"1":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=))"},"simple_constructor_call":{"captures":{"1":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(?=(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?"},"sizeof_operator":{"begin":"((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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":"((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","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_helper"},{"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_helper"}]},"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*+","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_call_range_helper":{"patterns":[{"captures":{"1":{"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)))*)?(?:(?","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}))*))|(?)\\\\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":"(?)\\\\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":"#constructor_bracket_call"},{"include":"#simple_constructor_call"},{"include":"#simple_array_assignment"},{"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"},{"include":"#unknown_variable"}]},"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))|(.*(?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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":"(?{])(?!\\\\()","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"},"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.modifier.specifier.functional.post-parameters.$10.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"}},"patterns":[{"include":"#function_parameter_context"}]}]},"typedef_struct":{"begin":"((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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)((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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)((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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)((?|\\\\?\\\\?>)\\\\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_helper"}]},{"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":"#operator_overload"},{"include":"#normal_variable_declaration"},{"include":"#normal_variable_assignment"},{"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":"((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)?((?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?>|\\\\|)=)|(=))","name":"meta.assignment.cpp"},"variable_declare":{"captures":{"1":{"patterns":[{"include":"#storage_specifiers"}]},"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":{"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":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:[^\\"\'/<>]|/[^*])++)*>)\\\\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((?|(?:[^\\"\'/<>]|/[^*])++)*>)?(?![.:<\\\\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(?:(?:(?:([0-9a-z]+)|([0-9A-Za-z]+_[0-9A-Za-z]*))|([a-z]+[A-Z][0-9A-Za-z]*))|([A-Z][0-9A-Z_]*))\\\\b|((?Xo});var WT,Xo,Ko=s1(()=>{_7();WT=Object.freeze(JSON.parse('{"displayName":"Lua","name":"lua","patterns":[{"begin":"\\\\b(?:(local)\\\\s+)?(function)\\\\b(?![,:])","beginCaptures":{"1":{"name":"keyword.local.lua"},"2":{"name":"keyword.control.lua"}},"end":"(?<=[-\\\\]\\"\')\\\\[{}])","name":"meta.function.lua","patterns":[{"include":"#comment"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.lua"}},"end":"(\\\\))|(?=[-\\\\]\\"\'\\\\[{}])|(?"},{"match":"<[*A-Z_a-z][-*.0-9A-Z_a-z]*>","name":"storage.type.generic.lua"},{"match":"\\\\b(break|do|else|for|if|elseif|goto|return|then|repeat|while|until|end|in)\\\\b","name":"keyword.control.lua"},{"match":"\\\\b(local)\\\\b","name":"keyword.local.lua"},{"captures":{"1":{"name":"keyword.global.lua"}},"match":"^\\\\s*(global)\\\\b(?!\\\\s*=)"},{"match":"\\\\b(function)\\\\b(?![,:])","name":"keyword.control.lua"},{"match":"(?=?|(?]","name":"keyword.operator.lua"}]},{"begin":"(?<=---)[\\\\t ]*@see","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"match":"\\\\b([*A-Z_a-z][-*.0-9A-Z_a-z]*)","name":"support.class.lua"},{"match":"#","name":"keyword.operator.lua"}]},{"begin":"(?<=---)[\\\\t ]*@diagnostic","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"begin":"([-0-9A-Z_a-z]+)[\\\\t ]*(:)?","beginCaptures":{"1":{"name":"keyword.other.unit"},"2":{"name":"keyword.operator.unit"}},"end":"(?=\\\\n)","patterns":[{"match":"\\\\b([*A-Z_a-z][-0-9A-Z_a-z]*)","name":"support.class.lua"},{"match":",","name":"keyword.operator.lua"}]}]},{"begin":"(?<=---)[\\\\t ]*@module","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"include":"#string"}]},{"match":"(?<=---)[\\\\t ]*@(async|nodiscard)","name":"storage.type.annotation.lua"},{"begin":"(?<=---)\\\\|\\\\s*[+>]?","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"include":"#string"}]}]},"emmydoc.type":{"patterns":[{"begin":"\\\\bfun\\\\b","beginCaptures":{"0":{"name":"keyword.control.lua"}},"end":"(?=[#\\\\s])","patterns":[{"match":"[](),:<>?\\\\[][\\\\t ]*","name":"keyword.operator.lua"},{"match":"([A-Z_a-z][-*.0-9A-Z_a-z]*)(?","name":"storage.type.generic.lua"},{"match":"\\\\basync\\\\b","name":"entity.name.tag.lua"},{"match":"[,:?`{|}][\\\\t ]*","name":"keyword.operator.lua"},{"begin":"(?=[\\"\'*.A-\\\\[_a-z])","end":"(?=[#),:?|}\\\\s])","patterns":[{"match":"([-\\\\]*,.0-9<>A-\\\\[_a-z]+)(?x7});var UT,x7,t9=s1(()=>{UT=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"]}')),x7=[UT]});var Mw={};h1(Mw,{default:()=>Yo});var XT,Yo,Jo=s1(()=>{_4();mw();g5();b5();Ja();We();w7();_7();me();Y6();Ko();t9();XT=Object.freeze(JSON.parse('{"displayName":"Ruby","name":"ruby","patterns":[{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"entity.name.type.class.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"},"7":{"name":"punctuation.separator.inheritance.ruby"},"8":{"name":"entity.other.inherited-class.ruby"},"11":{"name":"punctuation.separator.namespace.ruby"}},"match":"\\\\b(class)\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)\\\\s*((<)\\\\s*(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*))?","name":"meta.class.ruby"},{"captures":{"1":{"name":"keyword.control.module.ruby"},"2":{"name":"entity.name.type.module.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"}},"match":"\\\\b(module)\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)","name":"meta.module.ruby"},{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"punctuation.separator.inheritance.ruby"}},"match":"\\\\b(class)\\\\s*(<<)\\\\s*","name":"meta.class.ruby"},{"match":"(?>)=)"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"},"4":{"name":"keyword.operator.assignment.augmented.ruby"}},"match":"(?>)=)"},{"captures":{"1":{"name":"variable.ruby"}},"match":"^\\\\s*([_a-z][0-9A-Z_a-z]*)\\\\s*(?==[^=>])"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"}},"match":"(?]"},{"captures":{"1":{"name":"punctuation.definition.constant.hashkey.ruby"}},"match":"(?>[A-Z_a-z]\\\\w*[!?]?)(:)(?!:)","name":"constant.language.symbol.hashkey.ruby"},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"match":"(?[A-Z_a-z]\\\\w*[!?]?)(?=\\\\s*=>)","name":"constant.language.symbol.hashkey.ruby"},{"match":"(?)\\\\(","beginCaptures":{"1":{"name":"support.function.kernel.ruby"}},"end":"\\\\)","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[),])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"},"3":{"name":"punctuation.definition.parameters.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.ruby"}},"name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[),])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))[\\\\t ](?=[\\\\t ]*[^#;\\\\s])","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"}},"end":"(?=;)|(?<=[]!\\"\')?`}\\\\w])(?=\\\\s*#|\\\\s*$)","name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[,;]|\\\\s*#|\\\\s*$)","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"captures":{"1":{"name":"keyword.control.def.ruby"},"3":{"name":"entity.name.function.ruby"}},"match":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?)))?","name":"meta.function.method.without-arguments.ruby"},{"match":"\\\\b(\\\\d(?>_?\\\\d)*(\\\\.(?![^\\\\s\\\\d])(?>_?\\\\d)*)?([Ee][-+]?\\\\d(?>_?\\\\d)*)?|0(?:[Xx]\\\\h(?>_?\\\\h)*|[Oo]?[0-7](?>_?[0-7])*|[Bb][01](?>_?[01])*|[Dd]\\\\d(?>_?\\\\d)*))\\\\b","name":"constant.numeric.ruby"},{"begin":":\'","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.ruby"}]},{"begin":":\\"","beginCaptures":{"0":{"name":"punctuation.section.symbol.begin.ruby"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.section.symbol.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"match":"(?|=>|==|=~|!~|!=|;|$|if|else|elsif|then|do|end|unless|while|until|or|and))","captures":{"1":{"name":"string.regexp.interpolated.ruby"},"2":{"name":"punctuation.section.regexp.ruby"}},"contentName":"string.regexp.interpolated.ruby","end":"((/[eimnosux]*))","patterns":[{"include":"#regex_sub"}]},{"begin":"%r\\\\{","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"}[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},{"begin":"%r\\\\[","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"][eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},{"begin":"%r\\\\(","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\\\)[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},{"begin":"%r<","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":">[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},{"begin":"%r(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\\\1[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"%I\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%I\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%I<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%I\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%I(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%i\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%i\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%i<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%i\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%i(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%W\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%W\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%W<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%W\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%W(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%w\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%w\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%w<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%w\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%w(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%[Qx]?\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%[Qx]?\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%[Qx]?\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%[Qx]?<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%[Qx](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%([^=\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%q\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%q<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%q\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%q\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%q(\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%s\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%s<","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%s\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%s\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%s(\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\."}]},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"match":"(?[$A-Z_a-z]\\\\w*(?>[!?]|=(?![=>]))?|===?|<=>|>[=>]?|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?|@@?[A-Z_a-z]\\\\w*)","name":"constant.language.symbol.ruby"},{"begin":"^=begin","captures":{"0":{"name":"punctuation.definition.comment.ruby"}},"end":"^=end","name":"comment.block.documentation.ruby"},{"include":"#yard"},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ruby"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"end":"\\\\n","name":"comment.line.number-sign.ruby"}]},{"match":"(?<<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)HTML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.html","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.html","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.html.basic"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)HTML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)HAML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.haml","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.haml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.haml"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)HAML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)XML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.xml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.xml"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)XML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)SQL)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.sql","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.sql"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)SQL)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)G(?:RAPHQL|QL))$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.graphql","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.graphql","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.graphql"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)CSS)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.css","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.css","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.css"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)CSS)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)CPP)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.cpp","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.cpp","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.cpp"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)CPP)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)C)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.c","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.c","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.c"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)C)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.js","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.js","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)JQUERY)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.js.jquery","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.js.jquery","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js.jquery"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)JQUERY)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)SH(?:|ELL))$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.shell","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.shell","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.shell"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)SH(?:|ELL))\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)LUA)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.lua","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.lua","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.lua"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)LUA)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)RUBY)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.ruby","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.ruby","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.ruby"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)RUBY)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)YA?ML)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)YA?ML)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.yaml","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)YA?ML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.yaml","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.yaml"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)YA?ML)\\\\s*$)"}]},{"begin":"(?=(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1))","end":"^\\\\s*((?:[_\\\\w]+_|)SLIM)$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"name":"meta.embedded.block.slim","patterns":[{"begin":"(?><<[-~]?([\\"\'`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.slim","patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.slim"},{"include":"#escaped_char"}],"while":"^(?!\\\\s*((?:[_\\\\w]+_|)SLIM)\\\\s*$)"}]},{"begin":"(?>=\\\\s*<<([\\"\'`]?)([A-Z_a-z]\\\\w*)\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"string.unquoted.heredoc.ruby","end":"^\\\\2$","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?>((<<[-~]?([\\"\'`]?)([A-Z_a-z]\\\\w*)\\\\3,\\\\s?)*<<[-~]?([\\"\'`]?)([A-Z_a-z]\\\\w*)\\\\5))(.*)","beginCaptures":{"1":{"name":"string.definition.begin.ruby"},"7":{"patterns":[{"include":"source.ruby"}]}},"contentName":"string.unquoted.heredoc.ruby","end":"^\\\\s*\\\\6$","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?<=\\\\{|\\\\{\\\\s+|[^$0-:@-Z_a-z]do|^do|[^$0-:@-Z_a-z]do\\\\s+|^do\\\\s+)(\\\\|)","captures":{"1":{"name":"punctuation.separator.variable.ruby"}},"end":"(?","name":"punctuation.separator.key-value"},{"match":"->","name":"support.function.kernel.ruby"},{"match":"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<","name":"keyword.operator.assignment.augmented.ruby"},{"match":"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\t ])\\\\?","name":"keyword.operator.comparison.ruby"},{"match":"(?>","name":"keyword.operator.other.ruby"},{"match":";","name":"punctuation.separator.statement.ruby"},{"match":",","name":"punctuation.separator.object.ruby"},{"captures":{"1":{"name":"punctuation.separator.namespace.ruby"}},"match":"(::)\\\\s*(?=[A-Z])"},{"captures":{"1":{"name":"punctuation.separator.method.ruby"}},"match":"(\\\\.|::)\\\\s*(?![A-Z])"},{"match":":","name":"punctuation.separator.other.ruby"},{"match":"\\\\{","name":"punctuation.section.scope.begin.ruby"},{"match":"}","name":"punctuation.section.scope.end.ruby"},{"match":"\\\\[","name":"punctuation.section.array.begin.ruby"},{"match":"]","name":"punctuation.section.array.end.ruby"},{"match":"[()]","name":"punctuation.section.function.ruby"},{"begin":"(?<=[^.]\\\\.|::)(?=[A-Za-z][!0-9?A-Z_a-z]*[^!0-9?A-Z_a-z])","end":"(?<=[!0-9?A-Z_a-z])(?=[^!0-9?A-Z_a-z])","name":"meta.function-call.ruby","patterns":[{"match":"([A-Za-z][!0-9?A-Z_a-z]*)(?=[^!0-9?A-Z_a-z])","name":"entity.name.function.ruby"}]},{"begin":"([A-Za-z]\\\\w*[!?]?)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.ruby"},"2":{"name":"punctuation.section.function.ruby"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.function.ruby"}},"name":"meta.function-call.ruby","patterns":[{"include":"$self"}]}],"repository":{"escaped_char":{"match":"\\\\\\\\(?:[0-7]{1,3}|x[A-Fa-f\\\\d]{1,2}|.)","name":"constant.character.escape.ruby"},"heredoc":{"begin":"^<<[-~]?[A-Z_a-z]\\\\w*","end":"$","patterns":[{"include":"$self"}]},"interpolated_ruby":{"patterns":[{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.ruby"}},"contentName":"source.ruby","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.ruby"}},"name":"meta.embedded.line.ruby","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}]},{"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"}]},"method_parameters":{"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"#params"},{"include":"$self"}],"repository":{"braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"brackets":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"params":{"captures":{"1":{"name":"storage.type.variable.ruby"},"2":{"name":"constant.other.symbol.hashkey.parameter.function.ruby"},"3":{"name":"punctuation.definition.constant.ruby"},"4":{"name":"variable.parameter.function.ruby"}},"match":"\\\\G(&|\\\\*\\\\*?)?(?:([A-Z_a-z]\\\\w*[!?]?(:))|([A-Z_a-z]\\\\w*))"},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.function.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]}}},"nest_brackets":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#nest_brackets"}]},"nest_brackets_i":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},"nest_brackets_r":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]},"nest_curly_i":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},"nest_curly_r":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},"nest_ltgt":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#nest_ltgt"}]},"nest_ltgt_i":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},"nest_ltgt_r":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},"nest_parens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#nest_parens"}]},"nest_parens_i":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},"nest_parens_r":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},"regex_sub":{"patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.ruby"},"3":{"name":"punctuation.definition.arbitrary-repetition.ruby"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.ruby"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.ruby"}},"end":"]","name":"string.regexp.character-class.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.ruby"}},"name":"comment.line.number-sign.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.group.ruby"}},"end":"\\\\)","name":"string.regexp.group.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"(?<=^|\\\\s)(#)\\\\s(?=[-\\\\t !,.0-9?A-Za-z[^\\\\x00-\\\\x7F]]*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ruby"}},"end":"$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"name":"comment.line.number-sign.ruby"}]},"yard":{"patterns":[{"include":"#yard_comment"},{"include":"#yard_param_types"},{"include":"#yard_option"},{"include":"#yard_tag"},{"include":"#yard_types"},{"include":"#yard_directive"},{"include":"#yard_see"},{"include":"#yard_macro_attribute"}]},"yard_comment":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\\\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_continuation":{"match":"^\\\\s*#","name":"punctuation.definition.comment.ruby"},"yard_directive":{"begin":"^(\\\\s*)(#)(\\\\s*)(@!)(endgroup|group|method|parse|scope|visibility)(\\\\s+((\\\\[).+(])))?(?=\\\\s)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_macro_attribute":{"begin":"^(\\\\s*)(#)(\\\\s*)(@!)(attribute|macro)(\\\\s+((\\\\[).+(])))?(?=\\\\s)(\\\\s+([_a-z]\\\\w*:?))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"11":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_option":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(option)(?=\\\\s)(?>\\\\s+([_a-z]\\\\w*:?))?(?>\\\\s+((\\\\[).+(])))?(?>\\\\s+((\\\\S*)))?(?>\\\\s+((\\\\().+(\\\\))))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.keyword.yard.ruby"},"11":{"name":"comment.line.hashkey.yard.ruby"},"12":{"name":"comment.line.defaultvalue.yard.ruby"},"13":{"name":"comment.line.punctuation.yard.ruby"},"14":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_param_types":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(attr|attr_reader|attr_writer|yieldparam|param)(?=\\\\s)(?>\\\\s+(?>([_a-z]\\\\w*:?)|((\\\\[).+(]))))?(?>\\\\s+(?>((\\\\[).+(]))|([_a-z]\\\\w*:?)))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.type.yard.ruby"},"11":{"name":"comment.line.punctuation.yard.ruby"},"12":{"name":"comment.line.punctuation.yard.ruby"},"13":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_see":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(see)(?=\\\\s)(\\\\s+(.+?))?(?=\\\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_tag":{"captures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"match":"^(\\\\s*)(#)(\\\\s*)(@)(private)$","name":"comment.line.number-sign.ruby"},"yard_types":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(raise|return|yield(?:return)?)(?=\\\\s)(\\\\s+((\\\\[).+(])))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]}},"scopeName":"source.ruby","embeddedLangs":["html","haml","xml","sql","graphql","css","cpp","c","javascript","shellscript","lua","yaml"],"aliases":["rb"]}')),Yo=[...Y2,...uw,...$3,...L3,...y7,...e2,...it,...at,...L0,...s4,...Xo,...x7,XT]});var $w={};h1($w,{default:()=>YT});var KT,YT,Lw=s1(()=>{KT=Object.freeze(JSON.parse('{"displayName":"Go","name":"go","patterns":[{"include":"#statements"}],"repository":{"after_control_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"variable.other.go"}]}},"match":"(?<=\\\\brange\\\\b|;|\\\\bif\\\\b|\\\\bfor\\\\b|[<>]|<=|>=|==|!=|\\\\w[-%*+/]|\\\\w[-%*+/]=|\\\\|\\\\||&&)\\\\s*((?![]\\\\[]+)[-\\\\]!%*+./:<=>\\\\[_[:alnum:]]+)\\\\s*(?=\\\\{)"},"brackets":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"$self"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"$self"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"$self"}]}]},"built_in_functions":{"patterns":[{"match":"\\\\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\\\\b(?=\\\\()","name":"entity.name.function.support.builtin.go"},{"begin":"\\\\b(new)\\\\b(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.support.builtin.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#functions"},{"include":"#struct_variables_types"},{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#generic_types"},{"match":"\\\\w+","name":"entity.name.type.go"},{"include":"$self"}]},{"begin":"\\\\b(make)\\\\b(\\\\()((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?[]*\\\\[]+{0,1}(?:(?!\\\\bmap\\\\b)[.\\\\w]+)?(\\\\[(?:\\\\S+(?:,\\\\s*\\\\S+)*)?])?,?)?","beginCaptures":{"1":{"name":"entity.name.function.support.builtin.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"},"3":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"$self"}]}]},"comments":{"patterns":[{"begin":"(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"end":"(\\\\*/)","endCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"name":"comment.block.go"},{"begin":"(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"end":"\\\\n|$","name":"comment.line.double-slash.go"}]},"const_assignment":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.constant.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\bconst\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"begin":"(?<=\\\\bconst\\\\b)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.constant.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"include":"$self"}]}]},"delimiters":{"patterns":[{"match":",","name":"punctuation.other.comma.go"},{"match":"\\\\.(?!\\\\.\\\\.)","name":"punctuation.other.period.go"},{"match":":(?!=)","name":"punctuation.other.colon.go"}]},"double_parentheses_types":{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?\\\\[\\\\w]+\\\\s*(?:/[*/].*)?)$"},{"include":"$self"}]},"function_param_types":{"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$"},{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.parameter.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[]*.\\\\[\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:[]*\\\\[]+{0,1}[*.\\\\w]+(?:\\\\[[^]]+])?[*.\\\\w]+{0,1})+))"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"([.\\\\w]+)"},{"include":"$self"}]},"functions":{"begin":"\\\\b(func)\\\\b(?=\\\\()","beginCaptures":{"1":{"name":"keyword.function.go"}},"end":"(?<=\\\\))(\\\\s*(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(\\\\s*(?:[]*\\\\[]+{0,1}[*.\\\\w]+)?(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+]|\\\\([^)]+{0,1}\\\\))?[*.\\\\w]+{0,1}\\\\s*(?=\\\\{)|\\\\s*(?:[]*\\\\[]+{0,1}(?!\\\\bfunc\\\\b)[*.\\\\w]+(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])?[*.\\\\w]+{0,1}|\\\\([^)]+{0,1}\\\\)))?","endCaptures":{"1":{"patterns":[{"include":"#type-declarations"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#parameter-variable-types"}]},"functions_inline":{"captures":{"1":{"name":"keyword.function.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b(func)\\\\b(\\\\([^/]*?\\\\)\\\\s+\\\\([^/]*?\\\\))\\\\s+(?=\\\\{)"},"generic_param_types":{"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"match":"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$"},{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.parameter.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"3":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[*.\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:(?:[*.~\\\\w]+|\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])[*.\\\\w]+{0,1})+))"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b([.\\\\w]+)"},{"include":"$self"}]},"generic_types":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"patterns":[{"include":"#parameter-variable-types"}]}},"match":"([*.\\\\w]+)(\\\\[[^]]+{0,1}])"},"group-functions":{"patterns":[{"include":"#function_declaration"},{"include":"#functions_inline"},{"include":"#functions"},{"include":"#built_in_functions"},{"include":"#support_functions"}]},"group-types":{"patterns":[{"include":"#other_struct_interface_expressions"},{"include":"#type_assertion_inline"},{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#single_type"},{"include":"#multi_types"},{"include":"#struct_interface_declaration"},{"include":"#double_parentheses_types"},{"include":"#switch_types"},{"include":"#type-declarations"}]},"group-variables":{"patterns":[{"include":"#const_assignment"},{"include":"#var_assignment"},{"include":"#variable_assignment"},{"include":"#label_loop_variables"},{"include":"#slice_index_variables"},{"include":"#property_variables"},{"include":"#switch_variables"},{"include":"#other_variables"}]},"hover":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"match":"\\\\binvalid\\\\b\\\\s+\\\\btype\\\\b","name":"invalid.field.go"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=^\\\\bfield\\\\b)\\\\s+([*.\\\\w]+)\\\\s+([\\\\s\\\\S]+)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=^\\\\breturns\\\\b)\\\\s+([\\\\s\\\\S]+)"}]},"import":{"patterns":[{"begin":"\\\\b(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.import.go"}},"end":"(?!\\\\G)","patterns":[{"include":"#imports"}]}]},"imports":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.import.go"}]},"2":{"name":"string.quoted.double.go"},"3":{"name":"punctuation.definition.string.begin.go"},"4":{"name":"entity.name.import.go"},"5":{"name":"punctuation.definition.string.end.go"}},"match":"(\\\\s*[.\\\\w]+)?\\\\s*((\\")([^\\"]*)(\\"))"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.imports.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.imports.end.bracket.round.go"}},"patterns":[{"include":"#comments"},{"include":"#imports"}]},{"include":"$self"}]},"interface_variables_types":{"begin":"\\\\b(interface)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.interface.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}]},"interface_variables_types_field":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations-without-brackets"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"([.\\\\w]+)"}]},"keywords":{"patterns":[{"match":"\\\\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\\\\b","name":"keyword.control.go"},{"match":"\\\\bchan\\\\b","name":"keyword.channel.go"},{"match":"\\\\bconst\\\\b","name":"keyword.const.go"},{"match":"\\\\bvar\\\\b","name":"keyword.var.go"},{"match":"\\\\bfunc\\\\b","name":"keyword.function.go"},{"match":"\\\\binterface\\\\b","name":"keyword.interface.go"},{"match":"\\\\bmap\\\\b","name":"keyword.map.go"},{"match":"\\\\bstruct\\\\b","name":"keyword.struct.go"},{"match":"\\\\bimport\\\\b","name":"keyword.control.import.go"},{"match":"\\\\btype\\\\b","name":"keyword.type.go"}]},"label_loop_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.label.go"}]}},"match":"^(\\\\s*\\\\w+:\\\\s*|\\\\s*\\\\b(?:break|goto|continue)\\\\b\\\\s+\\\\w+(?:\\\\s*/[*/]\\\\s*.*)?)$"},"language_constants":{"captures":{"1":{"name":"constant.language.boolean.go"},"2":{"name":"constant.language.null.go"},"3":{"name":"constant.language.iota.go"}},"match":"\\\\b(?:(true|false)|(nil)|(iota))\\\\b"},"map_types":{"begin":"\\\\b(map)\\\\b(\\\\[)","beginCaptures":{"1":{"name":"keyword.map.go"},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"(])((?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:func|struct|map)\\\\b)[]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?)?","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.square.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"include":"#functions"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"multi_types":{"begin":"\\\\b(type)\\\\b\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"numeric_literals":{"captures":{"0":{"patterns":[{"begin":"(?=.)","end":"\\\\n|$","patterns":[{"captures":{"1":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"2":{"name":"punctuation.separator.constant.numeric.go"},"3":{"name":"constant.numeric.decimal.point.go"},"4":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"5":{"name":"punctuation.separator.constant.numeric.go"},"6":{"name":"keyword.other.unit.exponent.decimal.go"},"7":{"name":"keyword.operator.plus.exponent.decimal.go"},"8":{"name":"keyword.operator.minus.exponent.decimal.go"},"9":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"10":{"name":"keyword.other.unit.imaginary.go"},"11":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"12":{"name":"punctuation.separator.constant.numeric.go"},"13":{"name":"keyword.other.unit.exponent.decimal.go"},"14":{"name":"keyword.operator.plus.exponent.decimal.go"},"15":{"name":"keyword.operator.minus.exponent.decimal.go"},"16":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"17":{"name":"keyword.other.unit.imaginary.go"},"18":{"name":"constant.numeric.decimal.point.go"},"19":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"20":{"name":"punctuation.separator.constant.numeric.go"},"21":{"name":"keyword.other.unit.exponent.decimal.go"},"22":{"name":"keyword.operator.plus.exponent.decimal.go"},"23":{"name":"keyword.operator.minus.exponent.decimal.go"},"24":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"25":{"name":"keyword.other.unit.imaginary.go"},"26":{"name":"keyword.other.unit.hexadecimal.go"},"27":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"28":{"name":"punctuation.separator.constant.numeric.go"},"29":{"name":"constant.numeric.hexadecimal.go"},"30":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"31":{"name":"punctuation.separator.constant.numeric.go"},"32":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"33":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"34":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"35":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"36":{"name":"keyword.other.unit.imaginary.go"},"37":{"name":"keyword.other.unit.hexadecimal.go"},"38":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"39":{"name":"punctuation.separator.constant.numeric.go"},"40":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"41":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"42":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"43":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"44":{"name":"keyword.other.unit.imaginary.go"},"45":{"name":"keyword.other.unit.hexadecimal.go"},"46":{"name":"constant.numeric.hexadecimal.go"},"47":{"name":"constant.numeric.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"48":{"name":"punctuation.separator.constant.numeric.go"},"49":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"50":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"51":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"52":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"match":"(?<=\\\\h)_(?=\\\\h)","name":"punctuation.separator.constant.numeric.go"}]},"53":{"name":"keyword.other.unit.imaginary.go"}},"match":"\\\\G(?:(?:(?:(?:(?:(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)?(?:(?=|<(?!<)|>(?!>))","name":"keyword.operator.comparison.go"},{"match":"(&&|\\\\|\\\\||!)","name":"keyword.operator.logical.go"},{"match":"((?:|[-%*+/:^|]|<<|>>|&\\\\^?)=)","name":"keyword.operator.assignment.go"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.go"},{"match":"(&(?!\\\\^)|[\\\\^|]|&\\\\^|<<|>>|~)","name":"keyword.operator.arithmetic.bitwise.go"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.ellipsis.go"}]},"other_struct_interface_expressions":{"patterns":[{"include":"#after_control_variables"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b(?!(?:struct|interface)\\\\b)([.\\\\w]+)(?\\\\[(?:[^]\\\\[]|\\\\g)*])?(?=\\\\{)"}]},"other_variables":{"match":"\\\\w+","name":"variable.other.go"},"package_name":{"patterns":[{"begin":"\\\\b(package)\\\\s+","beginCaptures":{"1":{"name":"keyword.package.go"}},"end":"(?!\\\\G)","patterns":[{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"entity.name.type.package.go"}]}]},"parameter-variable-types":{"patterns":[{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"begin":"([*.\\\\w]+)?(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#generic_param_types"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"}]}]},"property_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]}},"match":"\\\\b([.\\\\w]+:(?!=))"},"raw_string_literals":{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.raw.go","patterns":[{"include":"#string_placeholder"}]},"runes":{"patterns":[{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.rune.go","patterns":[{"match":"\\\\G(\\\\\\\\([0-7]{3}|[\\"\'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})|.)(?=\')","name":"constant.other.rune.go"},{"match":"[^\']+","name":"invalid.illegal.unknown-rune.go"}]}]},"single_type":{"patterns":[{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"3":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"include":"#type-declarations"},{"include":"#generic_types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)\\\\s+(?!(?:=\\\\s*)?[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b)([\\\\s\\\\S]+)"},{"begin":"(?:^|\\\\s+)\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)(?=\\\\[)","beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"end":"(?<=])(\\\\s+(?:=\\\\s*)?(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:struct|interface|func)\\\\b)[-\\\\]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?","endCaptures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"patterns":[{"include":"#struct_variables_types"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}]},"slice_index_variables":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.go"}]}},"match":"(?<=\\\\w\\\\[)((?:\\\\b[-%\\\\&*+./<>|\\\\w]+:|:\\\\b[-%\\\\&*+./<>|\\\\w]+)(?:\\\\b[-%\\\\&*+./<>|\\\\w]+)?(?::\\\\b[-%\\\\&*+./<>|\\\\w]+)?)(?=])"},"statements":{"patterns":[{"include":"#package_name"},{"include":"#import"},{"include":"#syntax_errors"},{"include":"#group-functions"},{"include":"#group-types"},{"include":"#group-variables"},{"include":"#hover"}]},"storage_types":{"patterns":[{"match":"\\\\bbool\\\\b","name":"storage.type.boolean.go"},{"match":"\\\\bbyte\\\\b","name":"storage.type.byte.go"},{"match":"\\\\berror\\\\b","name":"storage.type.error.go"},{"match":"\\\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\\\b","name":"storage.type.numeric.go"},{"match":"\\\\brune\\\\b","name":"storage.type.rune.go"},{"match":"\\\\bstring\\\\b","name":"storage.type.string.go"},{"match":"\\\\buintptr\\\\b","name":"storage.type.uintptr.go"},{"match":"\\\\bany\\\\b","name":"entity.name.type.any.go"},{"match":"\\\\bcomparable\\\\b","name":"entity.name.type.comparable.go"}]},"string_escaped_char":{"patterns":[{"match":"\\\\\\\\([0-7]{3}|[\\"\'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.go"},{"match":"\\\\\\\\[^\\"\'0-7Uabfnrtuvx]","name":"invalid.illegal.unknown-escape.go"}]},"string_literals":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}},"name":"string.quoted.double.go","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"}]}]},"string_placeholder":{"patterns":[{"match":"%(\\\\[\\\\d+])?([- #+0]{0,2}((\\\\d+|\\\\*)?(\\\\.?(\\\\d+|\\\\*|(\\\\[\\\\d+])\\\\*?)?(\\\\[\\\\d+])?)?))?[%EFGTUXb-gopqstvwx]","name":"constant.other.placeholder.go"}]},"struct_interface_declaration":{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b(type)\\\\b\\\\s*([.\\\\w]+)"},"struct_variable_types_fields_multi":{"patterns":[{"begin":"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(struct)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.struct.go"},"3":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}]},{"begin":"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(interface)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.interface.go"},"3":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}]},{"begin":"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(func)\\\\b\\\\s*(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"name":"keyword.function.go"},"3":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"include":"#function_param_types"},{"include":"$self"}]},{"include":"#parameter-variable-types"}]},"struct_variables_types":{"begin":"\\\\b(struct)\\\\b\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.struct.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}]},"struct_variables_types_fields":{"patterns":[{"include":"#struct_variable_types_fields_multi"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\{)\\\\s*((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\{)\\\\s*((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})"},{"captures":{"1":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[^\\"/`\\\\s]+;?)"}]}},"match":"(?<=\\\\{)((?:\\\\s*(?:(?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[^\\"/`\\\\s]+;?)+)\\\\s*(?=})"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[*.\\\\w]+\\\\s*)(?:(?=[\\"/`])|$)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"\\\\b(\\\\w+(?:\\\\s*,\\\\s*\\\\b\\\\w+)*)\\\\s*([^\\"/`]+)"}]},"support_functions":{"captures":{"1":{"name":"entity.name.function.support.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"entity.name.function.support.go"}]},"3":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?:((?<=\\\\.)\\\\b\\\\w+)|\\\\b(\\\\w+))(?\\\\[(?:[^]\\\\[]|\\\\g)*])?(?=\\\\()"},"switch_types":{"begin":"(?<=\\\\bswitch\\\\b)\\\\s*(\\\\w+\\\\s*:=)?\\\\s*([-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+)(\\\\.\\\\(\\\\btype\\\\b\\\\)\\\\s*)(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#operators"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.go"}]},"3":{"patterns":[{"include":"#delimiters"},{"include":"#brackets"},{"match":"\\\\btype\\\\b","name":"keyword.type.go"}]},"4":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"captures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"3":{"name":"punctuation.other.colon.go"},"4":{"patterns":[{"include":"#comments"}]}},"match":"^\\\\s*\\\\b(case)\\\\b\\\\s+([!*,.<=>\\\\w\\\\s]+)(:)(\\\\s*/[*/]\\\\s*.*)?$"},{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.go"}},"end":":","endCaptures":{"0":{"name":"punctuation.other.colon.go"}},"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},{"include":"$self"}]},"switch_variables":{"patterns":[{"captures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"#type-declarations"},{"include":"#support_functions"},{"include":"#variable_assignment"},{"match":"\\\\w+","name":"variable.other.go"}]}},"match":"^\\\\s*\\\\b(case)\\\\b\\\\s+([\\\\s\\\\S]+:\\\\s*(?:/[*/].*)?)$"},{"begin":"(?<=\\\\bswitch\\\\b)\\\\s*((?:[.\\\\w]+(?:\\\\s*[-!%\\\\&+,/:<=>|]+\\\\s*[.\\\\w]+)*\\\\s*[-!%\\\\&+,/:<=>|]+)?\\\\s*[-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+{0,1}\\\\s*(?:;\\\\s*[-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+\\\\s*)?)(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#variable_assignment"},{"match":"\\\\w+","name":"variable.other.go"}]},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.go"}},"end":":","endCaptures":{"0":{"name":"punctuation.other.colon.go"}},"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"include":"#variable_assignment"},{"match":"\\\\w+","name":"variable.other.go"}]},{"include":"$self"}]}]},"syntax_errors":{"patterns":[{"captures":{"1":{"name":"invalid.illegal.slice.go"}},"match":"\\\\[](\\\\s+)"},{"match":"\\\\b0[0-7]*[89]\\\\d*\\\\b","name":"invalid.illegal.numeric.go"}]},"terminators":{"match":";","name":"punctuation.terminator.go"},"type-declarations":{"patterns":[{"include":"#language_constants"},{"include":"#comments"},{"include":"#map_types"},{"include":"#brackets"},{"include":"#delimiters"},{"include":"#keywords"},{"include":"#operators"},{"include":"#runes"},{"include":"#storage_types"},{"include":"#raw_string_literals"},{"include":"#string_literals"},{"include":"#numeric_literals"},{"include":"#terminators"}]},"type-declarations-without-brackets":{"patterns":[{"include":"#language_constants"},{"include":"#comments"},{"include":"#map_types"},{"include":"#delimiters"},{"include":"#keywords"},{"include":"#operators"},{"include":"#runes"},{"include":"#storage_types"},{"include":"#raw_string_literals"},{"include":"#string_literals"},{"include":"#numeric_literals"},{"include":"#terminators"}]},"type_assertion_inline":{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\{","name":"punctuation.definition.begin.bracket.curly.go"},{"match":"}","name":"punctuation.definition.end.bracket.curly.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\.\\\\()(?:\\\\b(type)\\\\b|((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?))(?=\\\\))"},"var_assignment":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"(?<=\\\\bvar\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"begin":"(?<=\\\\bvar\\\\b)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.round.go"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"#delimiters"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"match":"\\\\(","name":"punctuation.definition.begin.bracket.round.go"},{"match":"\\\\)","name":"punctuation.definition.end.bracket.round.go"},{"match":"\\\\[","name":"punctuation.definition.begin.bracket.square.go"},{"match":"]","name":"punctuation.definition.end.bracket.square.go"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"match":"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?"},{"include":"$self"}]}]},"variable_assignment":{"patterns":[{"captures":{"0":{"patterns":[{"include":"#delimiters"},{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]}},"match":"\\\\b\\\\w+(?:,\\\\s*\\\\w+)*(?=\\\\s*:=)"},{"captures":{"0":{"patterns":[{"include":"#delimiters"},{"include":"#operators"},{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]}},"match":"\\\\b[*.\\\\w]+(?:,\\\\s*[*.\\\\w]+)*(?=\\\\s*=(?!=))"}]}},"scopeName":"source.go"}')),YT=[KT]});var Sw={};h1(Sw,{default:()=>QT});var JT,QT,Ew=s1(()=>{JT=Object.freeze(JSON.parse('{"displayName":"Rust","name":"rust","patterns":[{"begin":"(<)(\\\\[)","beginCaptures":{"1":{"name":"punctuation.brackets.angle.rust"},"2":{"name":"punctuation.brackets.square.rust"}},"end":">","endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}},"patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"}]},{"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"3":{"name":"keyword.other.crate.rust"},"4":{"name":"entity.name.type.metavariable.rust"},"6":{"name":"keyword.operator.key-value.rust"},"7":{"name":"variable.other.metavariable.specifier.rust"}},"match":"(\\\\$)((crate)|([A-Z]\\\\w*))(\\\\s*(:)\\\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\\\b)?","name":"meta.macro.metavariable.type.rust","patterns":[{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"2":{"name":"variable.other.metavariable.name.rust"},"4":{"name":"keyword.operator.key-value.rust"},"5":{"name":"variable.other.metavariable.specifier.rust"}},"match":"(\\\\$)([a-z]\\\\w*)(\\\\s*(:)\\\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\\\b)?","name":"meta.macro.metavariable.rust","patterns":[{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.function.macro.rules.rust"},"3":{"name":"entity.name.function.macro.rust"},"4":{"name":"entity.name.type.macro.rust"},"5":{"name":"punctuation.brackets.curly.rust"}},"match":"\\\\b(macro_rules!)\\\\s+(([0-9_a-z]+)|([A-Z][0-9_a-z]*))\\\\s+(\\\\{)","name":"meta.macro.rules.rust"},{"captures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.module.rust"}},"match":"(mod)\\\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][0-9A-Z_a-z]*)"},{"begin":"\\\\b(extern)\\\\s+(crate)","beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"keyword.other.crate.rust"}},"end":";","endCaptures":{"0":{"name":"punctuation.semi.rust"}},"name":"meta.import.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"}]},{"begin":"\\\\b(use)\\\\s","beginCaptures":{"1":{"name":"keyword.other.rust"}},"end":";","endCaptures":{"0":{"name":"punctuation.semi.rust"}},"name":"meta.use.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}]},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"begin":"(#)(!?)(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.attribute.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"end":"]","endCaptures":{"0":{"name":"punctuation.brackets.attribute.rust"}},"name":"meta.attribute.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}]},"block-comments":{"patterns":[{"match":"/\\\\*\\\\*/","name":"comment.block.rust"},{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.documentation.rust","patterns":[{"include":"#block-comments"}]},{"begin":"/\\\\*(?!\\\\*)","end":"\\\\*/","name":"comment.block.rust","patterns":[{"include":"#block-comments"}]}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.rust"}},"match":"(///).*$","name":"comment.line.documentation.rust"},{"captures":{"1":{"name":"punctuation.definition.comment.rust"}},"match":"(//).*$","name":"comment.line.double-slash.rust"}]},"constants":{"patterns":[{"match":"\\\\b[A-Z]{2}[0-9A-Z_]*\\\\b","name":"constant.other.caps.rust"},{"captures":{"1":{"name":"storage.type.rust"},"2":{"name":"constant.other.caps.rust"}},"match":"\\\\b(const)\\\\s+([A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"punctuation.separator.dot.decimal.rust"},"2":{"name":"keyword.operator.exponent.rust"},"3":{"name":"keyword.operator.exponent.sign.rust"},"4":{"name":"constant.numeric.decimal.exponent.mantissa.rust"},"5":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b\\\\d[_\\\\d]*(\\\\.?)[_\\\\d]*(?:([Ee])([-+]?)([_\\\\d]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.decimal.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0x[A-F_a-f\\\\d]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.hex.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.oct.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.bin.rust"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.bool.rust"}]},"escapes":{"captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}},"match":"(\\\\\\\\)(?:(x[0-7][A-Fa-f\\\\d])|(u(\\\\{)[A-Fa-f\\\\d]{4,6}(}))|.)","name":"constant.character.escape.rust"},"functions":{"patterns":[{"captures":{"1":{"name":"storage.modifier.visibility.rust"}},"match":"\\\\b(pub)\\\\b"},{"captures":{"1":{"name":"storage.modifier.visibility.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"match":"\\\\b(pub)(\\\\()"},{"begin":"\\\\b(fn)\\\\s+((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)((\\\\()|(<))","beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"},"4":{"name":"punctuation.brackets.round.rust"},"5":{"name":"punctuation.brackets.angle.rust"}},"end":"(\\\\{)|(;)","endCaptures":{"1":{"name":"punctuation.brackets.curly.rust"},"2":{"name":"punctuation.semi.rust"}},"name":"meta.function.definition.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]},{"begin":"((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}},"name":"meta.function.call.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]},{"begin":"((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)(?=::<.*>\\\\()","beginCaptures":{"1":{"name":"entity.name.function.rust"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}},"name":"meta.function.call.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]}]},"gtypes":{"patterns":[{"match":"\\\\b(Some|None)\\\\b","name":"entity.name.type.option.rust"},{"match":"\\\\b(Ok|Err)\\\\b","name":"entity.name.type.result.rust"}]},"interpolations":{"captures":{"1":{"name":"punctuation.definition.interpolation.rust"},"2":{"name":"punctuation.definition.interpolation.rust"}},"match":"(\\\\{)[^\\"{}]*(})","name":"meta.interpolation.rust"},"keywords":{"patterns":[{"match":"\\\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\\\b","name":"keyword.control.rust"},{"match":"\\\\b(extern|let|macro|mod)\\\\b","name":"keyword.other.rust storage.type.rust"},{"match":"\\\\b(const)\\\\b","name":"storage.modifier.rust"},{"match":"\\\\b(type)\\\\b","name":"keyword.declaration.type.rust storage.type.rust"},{"match":"\\\\b(enum)\\\\b","name":"keyword.declaration.enum.rust storage.type.rust"},{"match":"\\\\b(trait)\\\\b","name":"keyword.declaration.trait.rust storage.type.rust"},{"match":"\\\\b(struct)\\\\b","name":"keyword.declaration.struct.rust storage.type.rust"},{"match":"\\\\b(abstract|static)\\\\b","name":"storage.modifier.rust"},{"match":"\\\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|ref|typeof|union|unsafe|unsized|use|virtual|where)\\\\b","name":"keyword.other.rust"},{"match":"\\\\bfn\\\\b","name":"keyword.other.fn.rust"},{"match":"\\\\bcrate\\\\b","name":"keyword.other.crate.rust"},{"match":"\\\\bmut\\\\b","name":"storage.modifier.mut.rust"},{"match":"([\\\\^|]|\\\\|\\\\||&&|<<|>>|!)(?!=)","name":"keyword.operator.logical.rust"},{"match":"&(?![\\\\&=])","name":"keyword.operator.borrow.and.rust"},{"match":"((?:[-%\\\\&*+/^|]|<<|>>)=)","name":"keyword.operator.assignment.rust"},{"match":"(?])=(?![=>])","name":"keyword.operator.assignment.equal.rust"},{"match":"(=(=)?(?!>)|!=|<=|(?=)","name":"keyword.operator.comparison.rust"},{"match":"(([%+]|(\\\\*(?!\\\\w)))(?!=))|(-(?!>))|(/(?!/))","name":"keyword.operator.math.rust"},{"captures":{"1":{"name":"punctuation.brackets.round.rust"},"2":{"name":"punctuation.brackets.square.rust"},"3":{"name":"punctuation.brackets.curly.rust"},"4":{"name":"keyword.operator.comparison.rust"},"5":{"name":"punctuation.brackets.round.rust"},"6":{"name":"punctuation.brackets.square.rust"},"7":{"name":"punctuation.brackets.curly.rust"}},"match":"(?:\\\\b|(?:(\\\\))|(])|(})))[\\\\t ]+([<>])[\\\\t ]+(?:\\\\b|(?:(\\\\()|(\\\\[)|(\\\\{)))"},{"match":"::","name":"keyword.operator.namespace.rust"},{"captures":{"1":{"name":"keyword.operator.dereference.rust"}},"match":"(\\\\*)(?=\\\\w+)"},{"match":"@","name":"keyword.operator.subpattern.rust"},{"match":"\\\\.(?!\\\\.)","name":"keyword.operator.access.dot.rust"},{"match":"\\\\.{2}([.=])?","name":"keyword.operator.range.rust"},{"match":":(?!:)","name":"keyword.operator.key-value.rust"},{"match":"->|<-","name":"keyword.operator.arrow.skinny.rust"},{"match":"=>","name":"keyword.operator.arrow.fat.rust"},{"match":"\\\\$","name":"keyword.operator.macro.dollar.rust"},{"match":"\\\\?","name":"keyword.operator.question.rust"}]},"lifetimes":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.lifetime.rust"},"2":{"name":"entity.name.type.lifetime.rust"}},"match":"(\')([A-Z_a-z][0-9A-Z_a-z]*)(?!\')\\\\b"},{"captures":{"1":{"name":"keyword.operator.borrow.rust"},"2":{"name":"punctuation.definition.lifetime.rust"},"3":{"name":"entity.name.type.lifetime.rust"}},"match":"(&)(\')([A-Z_a-z][0-9A-Z_a-z]*)(?!\')\\\\b"}]},"lvariables":{"patterns":[{"match":"\\\\b[Ss]elf\\\\b","name":"variable.language.self.rust"},{"match":"\\\\bsuper\\\\b","name":"variable.language.super.rust"}]},"macros":{"patterns":[{"captures":{"2":{"name":"entity.name.function.macro.rust"},"3":{"name":"entity.name.type.macro.rust"}},"match":"(([_a-z][0-9A-Z_a-z]*!)|([A-Z_][0-9A-Z_a-z]*!))","name":"meta.macro.rust"}]},"namespaces":{"patterns":[{"captures":{"1":{"name":"entity.name.namespace.rust"},"2":{"name":"keyword.operator.namespace.rust"}},"match":"(?]","name":"punctuation.brackets.angle.rust"}]},"strings":{"patterns":[{"begin":"(b?)(\\")","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.rust"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.rust"}},"name":"string.quoted.double.rust","patterns":[{"include":"#escapes"},{"include":"#interpolations"}]},{"begin":"(b?r)(#*)(\\")","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"end":"(\\")(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}},"name":"string.quoted.double.rust"},{"begin":"(b)?(\')","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.char.rust"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.char.rust"}},"name":"string.quoted.single.char.rust","patterns":[{"include":"#escapes"}]}]},"types":{"patterns":[{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"(?","endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}},"patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}]},{"match":"\\\\b(bool|char|str)\\\\b","name":"entity.name.type.primitive.rust"},{"captures":{"1":{"name":"keyword.declaration.trait.rust storage.type.rust"},"2":{"name":"entity.name.type.trait.rust"}},"match":"\\\\b(trait)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.struct.rust storage.type.rust"},"2":{"name":"entity.name.type.struct.rust"}},"match":"\\\\b(struct)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.enum.rust storage.type.rust"},"2":{"name":"entity.name.type.enum.rust"}},"match":"\\\\b(enum)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.type.rust storage.type.rust"},"2":{"name":"entity.name.type.declaration.rust"}},"match":"\\\\b(type)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"match":"\\\\b_?[A-Z][0-9A-Z_a-z]*\\\\b(?!!)","name":"entity.name.type.rust"}]},"variables":{"patterns":[{"match":"\\\\b(?tV});var eV,tV,Fw=s1(()=>{eV=Object.freeze(JSON.parse('{"displayName":"C#","name":"csharp","patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#directives"},{"include":"#declarations"},{"include":"#script-top-level"}],"repository":{"accessor-getter":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"contentName":"meta.accessor.getter.cs","end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},{"include":"#accessor-getter-expression"},{"include":"#punctuation-semicolon"}]},"accessor-getter-expression":{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"contentName":"meta.accessor.getter.cs","end":"(?=[;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"accessor-setter":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"contentName":"meta.accessor.setter.cs","end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"contentName":"meta.accessor.setter.cs","end":"(?=[;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},{"include":"#punctuation-semicolon"}]},"anonymous-method-expression":{"patterns":[{"begin":"((?:\\\\b(?:async|static)\\\\b\\\\s*)*)(?:(@?[_[:alpha:]][_[:alnum:]]*)\\\\b|(\\\\()(?(?:[^()]|\\\\(\\\\g\\\\))*)(\\\\)))\\\\s*(=>)","beginCaptures":{"1":{"patterns":[{"match":"async|static","name":"storage.modifier.$0.cs"}]},"2":{"name":"entity.name.variable.parameter.cs"},"3":{"name":"punctuation.parenthesis.open.cs"},"4":{"patterns":[{"include":"#comment"},{"include":"#explicit-anonymous-function-parameter"},{"include":"#implicit-anonymous-function-parameter"},{"include":"#default-argument"},{"include":"#punctuation-comma"}]},"5":{"name":"punctuation.parenthesis.close.cs"},"6":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#intrusive"},{"begin":"(?=\\\\{)","end":"(?=[),;}])","patterns":[{"include":"#block"},{"include":"#intrusive"}]},{"begin":"\\\\b(ref)\\\\b|(?=\\\\S)","beginCaptures":{"1":{"name":"storage.modifier.ref.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#expression"}]}]},{"begin":"((?:\\\\b(?:async|static)\\\\b\\\\s*)*)\\\\b(delegate)\\\\b\\\\s*","beginCaptures":{"1":{"patterns":[{"match":"async|static","name":"storage.modifier.$0.cs"}]},"2":{"name":"storage.type.delegate.cs"}},"end":"(?<=})|(?=[),;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#explicit-anonymous-function-parameter"},{"include":"#punctuation-comma"}]},{"include":"#block"}]}]},"anonymous-object-creation-expression":{"begin":"\\\\b(new)\\\\b\\\\s*(?=\\\\{|//|/\\\\*|$)","beginCaptures":{"1":{"name":"keyword.operator.expression.new.cs"}},"end":"(?<=})","patterns":[{"include":"#comment"},{"include":"#initializer-expression"}]},"argument":{"patterns":[{"match":"\\\\b(ref|in)\\\\b","name":"storage.modifier.$1.cs"},{"begin":"\\\\b(out)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.out.cs"}},"end":"(?=[]),])","patterns":[{"include":"#declaration-expression-local"},{"include":"#expression"}]},{"include":"#expression"}]},"argument-list":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#named-argument"},{"include":"#argument"},{"include":"#punctuation-comma"}]},"array-creation-expression":{"begin":"\\\\b(new|stackalloc)\\\\b\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\*\\\\s*)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)?\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"patterns":[{"include":"#type"}]}},"end":"(?<=])","patterns":[{"include":"#bracketed-argument-list"}]},"as-expression":{"captures":{"1":{"name":"keyword.operator.expression.as.cs"},"2":{"patterns":[{"include":"#type"}]}},"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?(?!\\\\?))?(?:\\\\s*\\\\[\\\\s*(?:,\\\\s*)*](?:\\\\s*\\\\?(?!\\\\?))?)*)?"},"assignment-expression":{"begin":"(?:[-%*+/]|\\\\?\\\\?|[\\\\&^]|<<|>>>?|\\\\|)?=(?![=>])","beginCaptures":{"0":{"patterns":[{"include":"#assignment-operators"}]}},"end":"(?=[]),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"assignment-operators":{"patterns":[{"match":"(?:[-%*+/]|\\\\?\\\\?)=","name":"keyword.operator.assignment.compound.cs"},{"match":"(?:[\\\\&^]|<<|>>>?|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.cs"},{"match":"=","name":"keyword.operator.assignment.cs"}]},"attribute":{"patterns":[{"include":"#type-name"},{"include":"#type-arguments"},{"include":"#attribute-arguments"}]},"attribute-arguments":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#attribute-named-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"attribute-named-argument":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?==)","beginCaptures":{"1":{"name":"entity.name.variable.property.cs"}},"end":"(?=([),]))","patterns":[{"include":"#operator-assignment"},{"include":"#expression"}]},"attribute-section":{"begin":"(\\\\[)(assembly|module|field|event|method|param|property|return|typevar|type)?(:)?","beginCaptures":{"1":{"name":"punctuation.squarebracket.open.cs"},"2":{"name":"keyword.other.attribute-specifier.cs"},"3":{"name":"punctuation.separator.colon.cs"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute"},{"include":"#punctuation-comma"}]},"await-expression":{"match":"(?[^()<>]|\\\\((?:[^()<>]|<[^()<>]*>|\\\\([^()<>]*\\\\))*\\\\)|<\\\\g*>)*>\\\\s*)?(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"entity.name.type.cs"},"4":{"patterns":[{"include":"#type-arguments"}]}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"base-types":{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\\\{|where|;)","patterns":[{"include":"#base-class-constructor-call"},{"include":"#type"},{"include":"#punctuation-comma"},{"include":"#preprocessor"}]},"block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#statement"}]},"boolean-literal":{"patterns":[{"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(\\\\))(?=\\\\s*-*!*@?[(_[:alnum:]])"},"casted-constant-pattern":{"begin":"(\\\\()([.:@_\\\\s[:alnum:]]+)(\\\\))(?=[-!+~\\\\s]*@?[\\"\'(_[:alnum:]]+)","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"},"2":{"patterns":[{"include":"#type-builtin"},{"include":"#type-name"}]},"3":{"name":"punctuation.parenthesis.close.cs"}},"end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#casted-constant-pattern"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#constant-pattern"}]},{"include":"#constant-pattern"},{"captures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(::)"},{"captures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(\\\\.)"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"variable.other.constant.cs"}]},"catch-clause":{"begin":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(?:(\\\\g)\\\\b)?"}]},{"include":"#when-clause"},{"include":"#comment"},{"include":"#block"}]},"char-character-escape":{"match":"\\\\\\\\(x\\\\h{1,4}|u\\\\h{4}|.)","name":"constant.character.escape.cs"},"char-literal":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.char.begin.cs"}},"end":"(\')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.char.end.cs"},"2":{"name":"invalid.illegal.newline.cs"}},"name":"string.quoted.single.cs","patterns":[{"include":"#char-character-escape"}]},"class-declaration":{"begin":"(?=(\\\\brecord\\\\b\\\\s+)?\\\\bclass\\\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(\\\\b(record)\\\\b\\\\s+)?\\\\b(class)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*","beginCaptures":{"2":{"name":"storage.type.record.cs"},"3":{"name":"storage.type.class.cs"},"4":{"name":"entity.name.type.class.cs"}},"end":"(?=\\\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#parenthesized-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#class-or-struct-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"class-or-struct-members":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#type-declarations"},{"include":"#constructor-declaration"},{"include":"#property-declaration"},{"include":"#fixed-size-buffer-declaration"},{"include":"#field-declaration"},{"include":"#event-declaration"},{"include":"#indexer-declaration"},{"include":"#variable-initializer"},{"include":"#destructor-declaration"},{"include":"#operator-declaration"},{"include":"#conversion-operator-declaration"},{"include":"#method-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"combinator-pattern":{"match":"\\\\b(and|or|not)\\\\b","name":"keyword.operator.expression.pattern.combinator.$1.cs"},"comment":{"patterns":[{"begin":"(^\\\\s+)?(///)(?!/)","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"name":"comment.block.documentation.cs","patterns":[{"include":"#xml-doc-comment"}],"while":"^(\\\\s*)(///)(?!/)"},{"begin":"(^\\\\s+)?(/\\\\*\\\\*)(?!/)","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"end":"(^\\\\s+)?(\\\\*/)","name":"comment.block.documentation.cs","patterns":[{"begin":"\\\\G(?=(?~\\\\*/)$)","patterns":[{"include":"#xml-doc-comment"}],"while":"^(\\\\s*+)(\\\\*(?!/))?(?=(?~\\\\*/)$)","whileCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}}},{"include":"#xml-doc-comment"}]},{"begin":"(^\\\\s+)?(//).*$","captures":{"1":{"name":"punctuation.whitespace.comment.leading.cs"},"2":{"name":"punctuation.definition.comment.cs"}},"name":"comment.line.double-slash.cs","while":"^(\\\\s*)(//).*$"},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.cs"}},"end":"\\\\*/","name":"comment.block.cs"}]},"conditional-operator":{"patterns":[{"match":"\\\\?(?!\\\\?|\\\\s*[.\\\\[])","name":"keyword.operator.conditional.question-mark.cs"},{"match":":","name":"keyword.operator.conditional.colon.cs"}]},"constant-pattern":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#char-literal"},{"include":"#string-literal"},{"include":"#raw-string-literal"},{"include":"#verbatim-string-literal"},{"include":"#type-operator-expression"},{"include":"#expression-operator-expression"},{"include":"#expression-operators"},{"include":"#casted-constant-pattern"}]},"constructor-declaration":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?=\\\\(|$)","beginCaptures":{"1":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\\\{|=>)","patterns":[{"include":"#constructor-initializer"}]},{"include":"#parenthesized-parameter-list"},{"include":"#preprocessor"},{"include":"#comment"},{"include":"#expression-body"},{"include":"#block"}]},"constructor-initializer":{"begin":"\\\\b(base|this)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"variable.language.$1.cs"}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"context-control-paren-statement":{"patterns":[{"include":"#fixed-statement"},{"include":"#lock-statement"},{"include":"#using-statement"}]},"context-control-statement":{"match":"\\\\b(checked|unchecked|unsafe)\\\\b(?!\\\\s*[(@_[:alpha:]])","name":"keyword.control.context.$1.cs"},"conversion-operator-declaration":{"begin":"\\\\b(?(?:ex|im)plicit)\\\\s*\\\\b(?operator)\\\\s*(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"captures":{"1":{"name":"storage.modifier.explicit.cs"}},"match":"\\\\b(explicit)\\\\b"},{"captures":{"1":{"name":"storage.modifier.implicit.cs"}},"match":"\\\\b(implicit)\\\\b"}]},"2":{"name":"storage.type.operator.cs"},"3":{"patterns":[{"include":"#type"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"declaration-expression-local":{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.local.cs"}},"match":"(?:\\\\b(var)\\\\b|(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\b\\\\s*(?=[]),])"},"declaration-expression-tuple":{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.tuple-element.cs"}},"match":"(?:\\\\b(var)\\\\b|(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\b\\\\s*(?=[),])"},"declarations":{"patterns":[{"include":"#namespace-declaration"},{"include":"#type-declarations"},{"include":"#punctuation-semicolon"}]},"default-argument":{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[),])","patterns":[{"include":"#expression"}]},"default-literal-expression":{"captures":{"1":{"name":"keyword.operator.expression.default.cs"}},"match":"\\\\b(default)\\\\b"},"delegate-declaration":{"begin":"\\\\b(delegate)\\\\b\\\\s+(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)\\\\s*(<([^<>]+)>)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.type.delegate.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.type.delegate.cs"},"8":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"}]},"designation-pattern":{"patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#punctuation-comma"},{"include":"#designation-pattern"}]},{"include":"#simple-designation-pattern"}]},"destructor-declaration":{"begin":"(~)(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.tilde.cs"},"2":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"directives":{"patterns":[{"include":"#extern-alias-directive"},{"include":"#using-directive"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"discard-pattern":{"match":"_(?![_[:alnum:]])","name":"variable.language.discard.cs"},"do-statement":{"begin":"(?)\\\\s*)?(?:(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*)?(?:(\\\\?)\\\\s*)?(?=\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"variable.other.object.property.cs"},"5":{"name":"keyword.operator.null-conditional.cs"}},"end":"(?<=])(?!\\\\s*\\\\[)","patterns":[{"include":"#bracketed-argument-list"}]},"else-part":{"begin":"(?|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.type.accessor.$1.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-setter"}]}]},"event-declaration":{"begin":"\\\\b(event)\\\\b\\\\s*(?(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(\\\\g)\\\\s*(?=[,;={]|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.type.event.cs"},"2":{"patterns":[{"include":"#type"}]},"8":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"9":{"name":"entity.name.variable.event.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#event-accessors"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.event.cs"},{"include":"#punctuation-comma"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.cs"}},"end":"(?<=,)|(?=;)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]}]},"explicit-anonymous-function-parameter":{"captures":{"1":{"name":"storage.modifier.$1.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.parameter.cs"}},"match":"(?:\\\\b(ref|params|out|in)\\\\b\\\\s*)?(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?<(?:[^<>]|\\\\g)*>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)*\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*\\\\b(\\\\g)\\\\b"},"expression":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#expression-operator-expression"},{"include":"#type-operator-expression"},{"include":"#default-literal-expression"},{"include":"#throw-expression"},{"include":"#raw-interpolated-string"},{"include":"#interpolated-string"},{"include":"#verbatim-interpolated-string"},{"include":"#type-builtin"},{"include":"#language-variable"},{"include":"#switch-statement-or-expression"},{"include":"#with-expression"},{"include":"#conditional-operator"},{"include":"#assignment-expression"},{"include":"#expression-operators"},{"include":"#await-expression"},{"include":"#query-expression"},{"include":"#as-expression"},{"include":"#is-expression"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#anonymous-method-expression"},{"include":"#object-creation-expression"},{"include":"#array-creation-expression"},{"include":"#anonymous-object-creation-expression"},{"include":"#invocation-expression"},{"include":"#member-access-expression"},{"include":"#element-access-expression"},{"include":"#cast-expression"},{"include":"#literal"},{"include":"#parenthesized-expression"},{"include":"#tuple-deconstruction-assignment"},{"include":"#initializer-expression"},{"include":"#identifier"}]},"expression-body":{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"expression-operator-expression":{"begin":"\\\\b(checked|unchecked|nameof)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},"expression-operators":{"patterns":[{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.cs"},{"match":"[!=]=","name":"keyword.operator.comparison.cs"},{"match":"<=|>=|[<>]","name":"keyword.operator.relational.cs"},{"match":"!|&&|\\\\|\\\\|","name":"keyword.operator.logical.cs"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cs"},{"match":"--","name":"keyword.operator.decrement.cs"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.cs"},{"match":"\\\\+|-(?!>)|[%*/]","name":"keyword.operator.arithmetic.cs"},{"match":"\\\\?\\\\?","name":"keyword.operator.null-coalescing.cs"},{"match":"\\\\.\\\\.","name":"keyword.operator.range.cs"}]},"extern-alias-directive":{"begin":"\\\\b(extern)\\\\s+(alias)\\\\b","beginCaptures":{"1":{"name":"keyword.other.directive.extern.cs"},"2":{"name":"keyword.other.directive.alias.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"variable.other.alias.cs"}]},"field-declaration":{"begin":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)\\\\s*(?!=[=>])(?=[,;=]|$)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.field.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.field.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"},{"include":"#class-or-struct-members"}]},"finally-clause":{"begin":"(?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*)\\\\s+(\\\\g)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"storage.modifier.fixed.cs"},"2":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.field.cs"}},"end":"(?=;)","patterns":[{"include":"#bracketed-argument-list"},{"include":"#comment"}]},"fixed-statement":{"begin":"\\\\b(fixed)\\\\b","beginCaptures":{"1":{"name":"keyword.control.context.fixed.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#local-variable-declaration"}]}]},"for-statement":{"begin":"\\\\b(for)\\\\b","beginCaptures":{"1":{"name":"keyword.control.loop.for.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"begin":"(?=[^);])","end":"(?=[);])","patterns":[{"include":"#intrusive"},{"include":"#local-variable-declaration"},{"include":"#local-tuple-var-deconstruction"},{"include":"#tuple-deconstruction-assignment"},{"include":"#expression"}]},{"begin":"(?=;)","end":"(?=\\\\))","patterns":[{"include":"#intrusive"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]}]}]},"foreach-statement":{"begin":"\\\\b(foreach)\\\\b","beginCaptures":{"1":{"name":"keyword.control.loop.foreach.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"captures":{"1":{"name":"storage.modifier.ref.cs"},"2":{"name":"storage.type.var.cs"},"3":{"patterns":[{"include":"#type"}]},"8":{"name":"entity.name.variable.local.cs"},"9":{"name":"keyword.control.loop.in.cs"}},"match":"(?:(?:\\\\b(ref)\\\\s+)?\\\\b(var)\\\\b|(?(?:ref\\\\s+)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\s+\\\\b(in)\\\\b"},{"captures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]},"3":{"name":"keyword.control.loop.in.cs"}},"match":"(?:\\\\b(var)\\\\b\\\\s*)?(?\\\\((?:[^()]|\\\\g)+\\\\))\\\\s+\\\\b(in)\\\\b"},{"include":"#expression"}]}]},"generic-constraints":{"begin":"(where)\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)","beginCaptures":{"1":{"name":"storage.modifier.where.cs"},"2":{"name":"entity.name.type.type-parameter.cs"},"3":{"name":"punctuation.separator.colon.cs"}},"end":"(?=\\\\{|where|;|=>)","patterns":[{"match":"\\\\bclass\\\\b","name":"storage.type.class.cs"},{"match":"\\\\bstruct\\\\b","name":"storage.type.struct.cs"},{"match":"\\\\bdefault\\\\b","name":"keyword.other.constraint.default.cs"},{"match":"\\\\bnotnull\\\\b","name":"keyword.other.constraint.notnull.cs"},{"match":"\\\\bunmanaged\\\\b","name":"keyword.other.constraint.unmanaged.cs"},{"captures":{"1":{"name":"keyword.operator.expression.new.cs"},"2":{"name":"punctuation.parenthesis.open.cs"},"3":{"name":"punctuation.parenthesis.close.cs"}},"match":"(new)\\\\s*(\\\\()\\\\s*(\\\\))"},{"include":"#type"},{"include":"#punctuation-comma"},{"include":"#generic-constraints"}]},"goto-statement":{"begin":"(?(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(?this)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"variable.language.this.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#bracketed-parameter-list"},{"include":"#property-accessors"},{"include":"#accessor-getter-expression"},{"include":"#variable-initializer"}]},"initializer-expression":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"interface-declaration":{"begin":"(?=\\\\binterface\\\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(interface)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"storage.type.interface.cs"},"2":{"name":"entity.name.type.interface.cs"}},"end":"(?=\\\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#interface-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"interface-members":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#property-declaration"},{"include":"#event-declaration"},{"include":"#indexer-declaration"},{"include":"#method-declaration"},{"include":"#operator-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"interpolated-string":{"begin":"\\\\$\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"(\\")|([^\\\\n\\\\\\\\{])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.cs"},"2":{"name":"invalid.illegal.newline.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#string-character-escape"},{"include":"#interpolation"}]},"interpolation":{"begin":"(?<=[^{]|^)((?:\\\\{\\\\{)*)(\\\\{)(?!\\\\{)","beginCaptures":{"1":{"name":"string.quoted.double.cs"},"2":{"name":"punctuation.definition.interpolation.begin.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.interpolation.end.cs"}},"name":"meta.embedded.interpolation.cs","patterns":[{"include":"#expression"}]},"intrusive":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"}]},"invocation-expression":{"begin":"(?:(?:(\\\\?)\\\\s*)?(\\\\.)\\\\s*|(->)\\\\s*)?(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(<(?[^()<>]|\\\\((?:[^()<>]|<[^()<>]*>|\\\\([^()<>]*\\\\))*\\\\)|<\\\\g*>)*>\\\\s*)?(?=\\\\()","beginCaptures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"entity.name.function.cs"},"5":{"patterns":[{"include":"#type-arguments"}]}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"is-expression":{"begin":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)?\\\\s+(\\\\g)\\\\b\\\\s*\\\\b(in)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.join.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.range-variable.cs"},"8":{"name":"keyword.operator.expression.query.in.cs"}},"end":"(?=[);])","patterns":[{"include":"#join-on"},{"include":"#join-equals"},{"include":"#join-into"},{"include":"#query-body"},{"include":"#expression"}]},"join-equals":{"captures":{"1":{"name":"keyword.operator.expression.query.equals.cs"}},"match":"\\\\b(equals)\\\\b\\\\s*"},"join-into":{"captures":{"1":{"name":"keyword.operator.expression.query.into.cs"},"2":{"name":"entity.name.variable.range-variable.cs"}},"match":"\\\\b(into)\\\\b\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*"},"join-on":{"captures":{"1":{"name":"keyword.operator.expression.query.on.cs"}},"match":"\\\\b(on)\\\\b\\\\s*"},"labeled-statement":{"captures":{"1":{"name":"entity.name.label.cs"},"2":{"name":"punctuation.separator.colon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)"},"language-variable":{"patterns":[{"match":"\\\\b(base|this)\\\\b","name":"variable.language.$1.cs"},{"match":"\\\\b(value)\\\\b","name":"variable.other.$1.cs"}]},"let-clause":{"begin":"\\\\b(let)\\\\b\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.let.cs"},"2":{"name":"entity.name.variable.range-variable.cs"},"3":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[);])","patterns":[{"include":"#query-body"},{"include":"#expression"}]},"list-pattern":{"begin":"(?=\\\\[)","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.cs"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#pattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=])","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#simple-designation-pattern"}]}]},"literal":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#char-literal"},{"include":"#raw-string-literal"},{"include":"#string-literal"},{"include":"#verbatim-string-literal"},{"include":"#tuple-literal"}]},"local-constant-declaration":{"begin":"\\\\b(?const)\\\\b\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)\\\\s*(?=[,;=])","beginCaptures":{"1":{"name":"storage.modifier.const.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.local.cs"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.local.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}]},"local-declaration":{"patterns":[{"include":"#local-constant-declaration"},{"include":"#local-variable-declaration"},{"include":"#local-function-declaration"},{"include":"#local-tuple-var-deconstruction"},{"include":"#local-tuple-declaration-deconstruction"}]},"local-function-declaration":{"begin":"\\\\b((?:(?:async|unsafe|static|extern)\\\\s+)*)(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?)?(?:\\\\s*\\\\[\\\\s*(?:,\\\\s*)*](?:\\\\s*\\\\?)?)*)\\\\s+(\\\\g)\\\\s*(<[^<>]+>)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#storage-modifier"}]},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.function.cs"},"8":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"},{"include":"#expression-body"},{"include":"#block"}]},"local-tuple-declaration-deconstruction":{"captures":{"1":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]}},"match":"(?\\\\((?:[^()]|\\\\g)+\\\\))\\\\s*(?!=[=>])(?==)"},"local-tuple-var-deconstruction":{"begin":"\\\\b(var)\\\\b\\\\s*(?\\\\((?:[^()]|\\\\g)+\\\\))\\\\s*(?=[);=])","beginCaptures":{"1":{"name":"storage.type.var.cs"},"2":{"patterns":[{"include":"#tuple-declaration-deconstruction-element-list"}]}},"end":"(?=[);])","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}]},"local-variable-declaration":{"begin":"(?:(?:\\\\b(ref)\\\\s+(?:\\\\b(readonly)\\\\s+)?)?\\\\b(var)\\\\b|(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\*\\\\s*)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))\\\\s+(\\\\g)\\\\s*(?!=>)(?=[),;=])","beginCaptures":{"1":{"name":"storage.modifier.ref.cs"},"2":{"name":"storage.modifier.readonly.cs"},"3":{"name":"storage.type.var.cs"},"4":{"patterns":[{"include":"#type"}]},"9":{"name":"entity.name.variable.local.cs"}},"end":"(?=[);}])","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.local.cs"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}]},"lock-statement":{"begin":"\\\\b(lock)\\\\b","beginCaptures":{"1":{"name":"keyword.control.context.lock.cs"}},"end":"(?<=\\\\))|(?=[;}])","patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#expression"}]}]},"member-access-expression":{"patterns":[{"captures":{"1":{"name":"keyword.operator.null-conditional.cs"},"2":{"name":"punctuation.accessor.cs"},"3":{"name":"punctuation.accessor.pointer.cs"},"4":{"name":"variable.other.object.property.cs"}},"match":"(?:(?:(\\\\?)\\\\s*)?(\\\\.)\\\\s*|(->)\\\\s*)(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?![(_[:alnum:]]|(\\\\?)?\\\\[|<)"},{"captures":{"1":{"name":"punctuation.accessor.cs"},"2":{"name":"variable.other.object.cs"},"3":{"patterns":[{"include":"#type-arguments"}]}},"match":"(\\\\.)?\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)(?\\\\s*<([^<>]|\\\\g)+>\\\\s*)(?=(\\\\s*\\\\?)?\\\\s*\\\\.\\\\s*@?[_[:alpha:]][_[:alnum:]]*)"},{"captures":{"1":{"name":"variable.other.object.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)(?=\\\\s*(?:(?:\\\\?\\\\s*)?\\\\.|->)\\\\s*@?[_[:alpha:]][_[:alnum:]]*)"}]},"method-declaration":{"begin":"(?(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(\\\\g)\\\\s*(<([^<>]+)>)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"entity.name.function.cs"},"9":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#generic-constraints"},{"include":"#expression-body"},{"include":"#block"}]},"named-argument":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.variable.parameter.cs"},"2":{"name":"punctuation.separator.colon.cs"}},"end":"(?=([]),]))","patterns":[{"include":"#argument"}]},"namespace-declaration":{"begin":"\\\\b(namespace)\\\\s+","beginCaptures":{"1":{"name":"storage.type.namespace.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.namespace.cs"},{"include":"#punctuation-accessor"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#declarations"},{"include":"#using-directive"},{"include":"#punctuation-semicolon"}]}]},"null-literal":{"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*(?=\\\\{|//|/\\\\*|$)"},"object-creation-expression-with-parameters":{"begin":"(new)(?:\\\\s+(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*))?\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.new.cs"},"2":{"patterns":[{"include":"#type"}]}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"operator-assignment":{"match":"(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s*\\\\b(?operator)\\\\b\\\\s*(?[-!%\\\\&*+/<=>^|~]+|true|false)\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"storage.type.operator.cs"},"7":{"name":"entity.name.function.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"orderby-clause":{"begin":"\\\\b(orderby)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.orderby.cs"}},"end":"(?=[);])","patterns":[{"include":"#ordering-direction"},{"include":"#query-body"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"ordering-direction":{"captures":{"1":{"name":"keyword.operator.expression.query.$1.cs"}},"match":"\\\\b((?:a|de)scending)\\\\b"},"parameter":{"captures":{"1":{"name":"storage.modifier.$1.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.parameter.cs"}},"match":"(?:\\\\b(ref|params|out|in|this)\\\\b\\\\s+)?(?(?:ref\\\\s+)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+(\\\\g)"},"parenthesized-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},"parenthesized-parameter-list":{"begin":"(\\\\()","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute-section"},{"include":"#parameter"},{"include":"#punctuation-comma"},{"include":"#variable-initializer"}]},"parenthesized-type-list":{"begin":"(\\\\()","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#type"},{"include":"#punctuation-comma"}]},"pattern":{"patterns":[{"include":"#intrusive"},{"include":"#combinator-pattern"},{"include":"#discard-pattern"},{"include":"#constant-pattern"},{"include":"#relational-pattern"},{"include":"#var-pattern"},{"include":"#type-pattern"},{"include":"#positional-pattern"},{"include":"#property-pattern"},{"include":"#list-pattern"},{"include":"#slice-pattern"}]},"positional-pattern":{"begin":"(?=\\\\()","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#subpattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=\\\\))","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#property-pattern"},{"include":"#simple-designation-pattern"}]}]},"preprocessor":{"begin":"^\\\\s*(#)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.hash.cs"}},"end":"(?<=$)","name":"meta.preprocessor.cs","patterns":[{"include":"#preprocessor-comment"},{"include":"#preprocessor-define-or-undef"},{"include":"#preprocessor-if-or-elif"},{"include":"#preprocessor-else-or-endif"},{"include":"#preprocessor-warning-or-error"},{"include":"#preprocessor-region"},{"include":"#preprocessor-endregion"},{"include":"#preprocessor-load"},{"include":"#preprocessor-r"},{"include":"#preprocessor-line"},{"include":"#preprocessor-pragma-warning"},{"include":"#preprocessor-pragma-checksum"},{"include":"#preprocessor-app-directive"}]},"preprocessor-app-directive":{"begin":"\\\\s*(:)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"end":"(?=$)","patterns":[{"include":"#preprocessor-app-directive-package"},{"include":"#preprocessor-app-directive-property"},{"include":"#preprocessor-app-directive-exclude"},{"include":"#preprocessor-app-directive-include"},{"include":"#preprocessor-app-directive-project"},{"include":"#preprocessor-app-directive-ref"},{"include":"#preprocessor-app-directive-sdk"},{"include":"#preprocessor-app-directive-generic"}]},"preprocessor-app-directive-exclude":{"captures":{"1":{"name":"keyword.preprocessor.exclude.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(exclude)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-generic":{"captures":{"1":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(.*)?\\\\s*"},"preprocessor-app-directive-include":{"captures":{"1":{"name":"keyword.preprocessor.include.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(include)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-package":{"captures":{"1":{"name":"keyword.preprocessor.package.cs"},"2":{"patterns":[{"include":"#preprocessor-app-directive-package-name"}]},"3":{"name":"punctuation.separator.at.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(package)\\\\b\\\\s*([_[:alpha:]][._[:alnum:]]*)?(@)?(.*)?\\\\s*"},"preprocessor-app-directive-package-name":{"patterns":[{"captures":{"1":{"name":"punctuation.dot.cs"},"2":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"(\\\\.)([_[:alpha:]][_[:alnum:]]*)"},{"match":"[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.preprocessor.symbol.cs"}]},"preprocessor-app-directive-project":{"captures":{"1":{"name":"keyword.preprocessor.project.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(project)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-property":{"captures":{"1":{"name":"keyword.preprocessor.property.cs"},"2":{"name":"entity.name.variable.preprocessor.symbol.cs"},"3":{"name":"punctuation.separator.equals.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(property)\\\\b\\\\s*([_[:alpha:]][_[:alnum:]]*)?(=)?(.*)?\\\\s*"},"preprocessor-app-directive-ref":{"captures":{"1":{"name":"keyword.preprocessor.ref.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(ref)\\\\b\\\\s*(.*)?\\\\s*"},"preprocessor-app-directive-sdk":{"captures":{"1":{"name":"keyword.preprocessor.sdk.cs"},"2":{"patterns":[{"include":"#preprocessor-app-directive-package-name"}]},"3":{"name":"punctuation.separator.at.cs"},"4":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(sdk)\\\\b\\\\s*([_[:alpha:]][._[:alnum:]]*)?(@)?(.*)?\\\\s*"},"preprocessor-comment":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.cs"}},"match":"(//).*(?=$)","name":"comment.line.double-slash.cs"},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.cs"}},"end":"\\\\*/","name":"comment.block.cs"}]},"preprocessor-define-or-undef":{"captures":{"1":{"name":"keyword.preprocessor.define.cs"},"2":{"name":"keyword.preprocessor.undef.cs"},"3":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"\\\\b(?:(define)|(undef))\\\\b\\\\s*\\\\b([_[:alpha:]][_[:alnum:]]*)\\\\b"},"preprocessor-else-or-endif":{"captures":{"1":{"name":"keyword.preprocessor.else.cs"},"2":{"name":"keyword.preprocessor.endif.cs"}},"match":"\\\\b(?:(else)|(endif))\\\\b"},"preprocessor-endregion":{"captures":{"1":{"name":"keyword.preprocessor.endregion.cs"}},"match":"\\\\b(endregion)\\\\b"},"preprocessor-expression":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#preprocessor-expression"}]},{"captures":{"1":{"name":"constant.language.boolean.true.cs"},"2":{"name":"constant.language.boolean.false.cs"},"3":{"name":"entity.name.variable.preprocessor.symbol.cs"}},"match":"\\\\b(?:(true)|(false)|([_[:alpha:]][_[:alnum:]]*))\\\\b"},{"captures":{"1":{"name":"keyword.operator.comparison.cs"},"2":{"name":"keyword.operator.logical.cs"}},"match":"([!=]=)|(!|&&|\\\\|\\\\|)"}]},"preprocessor-if-or-elif":{"begin":"\\\\b(?:(if)|(elif))\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.if.cs"},"2":{"name":"keyword.preprocessor.elif.cs"}},"end":"(?=$)","patterns":[{"include":"#preprocessor-comment"},{"include":"#preprocessor-expression"}]},"preprocessor-line":{"begin":"\\\\b(line)\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.line.cs"}},"end":"(?=$)","patterns":[{"captures":{"1":{"name":"keyword.preprocessor.default.cs"},"2":{"name":"keyword.preprocessor.hidden.cs"}},"match":"\\\\b(default|hidden)"},{"captures":{"0":{"name":"constant.numeric.decimal.cs"}},"match":"[0-9]+"},{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\\"[^\\"]*\\""}]},"preprocessor-load":{"begin":"\\\\b(load)\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.load.cs"}},"end":"(?=$)","patterns":[{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\\"[^\\"]*\\""}]},"preprocessor-pragma-checksum":{"captures":{"1":{"name":"keyword.preprocessor.pragma.cs"},"2":{"name":"keyword.preprocessor.checksum.cs"},"3":{"name":"string.quoted.double.cs"},"4":{"name":"string.quoted.double.cs"},"5":{"name":"string.quoted.double.cs"}},"match":"\\\\b(pragma)\\\\b\\\\s*\\\\b(checksum)\\\\b\\\\s*(\\"[^\\"]*\\")\\\\s*(\\"[^\\"]*\\")\\\\s*(\\"[^\\"]*\\")"},"preprocessor-pragma-warning":{"captures":{"1":{"name":"keyword.preprocessor.pragma.cs"},"2":{"name":"keyword.preprocessor.warning.cs"},"3":{"name":"keyword.preprocessor.disable.cs"},"4":{"name":"keyword.preprocessor.restore.cs"},"5":{"patterns":[{"captures":{"0":{"name":"constant.numeric.decimal.cs"}},"match":"[0-9]+"},{"include":"#punctuation-comma"}]}},"match":"\\\\b(pragma)\\\\b\\\\s*\\\\b(warning)\\\\b\\\\s*\\\\b(?:(disable)|(restore))\\\\b(\\\\s*[0-9]+(?:\\\\s*,\\\\s*[0-9]+)?)?"},"preprocessor-r":{"begin":"\\\\b(r)\\\\b","beginCaptures":{"1":{"name":"keyword.preprocessor.r.cs"}},"end":"(?=$)","patterns":[{"captures":{"0":{"name":"string.quoted.double.cs"}},"match":"\\"[^\\"]*\\""}]},"preprocessor-region":{"captures":{"1":{"name":"keyword.preprocessor.region.cs"},"2":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(region)\\\\b\\\\s*(.*)(?=$)"},"preprocessor-warning-or-error":{"captures":{"1":{"name":"keyword.preprocessor.warning.cs"},"2":{"name":"keyword.preprocessor.error.cs"},"3":{"name":"string.unquoted.preprocessor.message.cs"}},"match":"\\\\b(?:(warning)|(error))\\\\b\\\\s*(.*)(?=$)"},"property-accessors":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#attribute-section"},{"match":"\\\\b(private|protected|internal)\\\\b","name":"storage.modifier.$1.cs"},{"begin":"(?:\\\\b(readonly)\\\\s+)?\\\\b(get)\\\\b\\\\s*(?=[;{]|=>|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.modifier.readonly.cs"},"2":{"name":"storage.type.accessor.get.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-getter"}]},{"begin":"\\\\b(set|init)\\\\b\\\\s*(?=[;{]|=>|//|/\\\\*|$)","beginCaptures":{"1":{"name":"storage.type.accessor.$1.cs"}},"end":"(?<=[;}])|(?=})","patterns":[{"include":"#accessor-setter"}]}]},"property-declaration":{"begin":"(?![[:word:]\\\\s]*\\\\b(?:class|interface|struct|union|enum|event)\\\\b)(?(?(?:ref\\\\s+(?:readonly\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)\\\\s+)(?\\\\g\\\\s*\\\\.\\\\s*)?(?\\\\g)\\\\s*(?=\\\\{|=>|//|/\\\\*|$)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"7":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"8":{"name":"entity.name.variable.property.cs"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#property-accessors"},{"include":"#accessor-getter-expression"},{"include":"#variable-initializer"},{"include":"#class-or-struct-members"}]},"property-pattern":{"begin":"(?=\\\\{)","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#subpattern"},{"include":"#punctuation-comma"}]},{"begin":"(?<=})","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#simple-designation-pattern"}]}]},"punctuation-accessor":{"match":"\\\\.","name":"punctuation.accessor.cs"},"punctuation-comma":{"match":",","name":"punctuation.separator.comma.cs"},"punctuation-semicolon":{"match":";","name":"punctuation.terminator.statement.cs"},"query-body":{"patterns":[{"include":"#let-clause"},{"include":"#where-clause"},{"include":"#join-clause"},{"include":"#orderby-clause"},{"include":"#select-clause"},{"include":"#group-clause"}]},"query-expression":{"begin":"\\\\b(from)\\\\b\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)?\\\\s+(\\\\g)\\\\b\\\\s*\\\\b(in)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.expression.query.from.cs"},"2":{"patterns":[{"include":"#type"}]},"7":{"name":"entity.name.variable.range-variable.cs"},"8":{"name":"keyword.operator.expression.query.in.cs"}},"end":"(?=[);])","patterns":[{"include":"#query-body"},{"include":"#expression"}]},"raw-interpolated-string":{"patterns":[{"include":"#raw-interpolated-string-five-or-more-quote-one-or-more-interpolation"},{"include":"#raw-interpolated-string-three-or-more-quote-three-or-more-interpolation"},{"include":"#raw-interpolated-string-quadruple-quote-double-interpolation"},{"include":"#raw-interpolated-string-quadruple-quote-single-interpolation"},{"include":"#raw-interpolated-string-triple-quote-double-interpolation"},{"include":"#raw-interpolated-string-triple-quote-single-interpolation"}]},"raw-interpolated-string-five-or-more-quote-one-or-more-interpolation":{"begin":"\\\\$+\\"\\"\\"\\"\\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"\\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-interpolated-string-quadruple-quote-double-interpolation":{"begin":"\\\\$\\\\$\\"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#double-raw-interpolation"}]},"raw-interpolated-string-quadruple-quote-single-interpolation":{"begin":"\\\\$\\"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#raw-interpolation"}]},"raw-interpolated-string-three-or-more-quote-three-or-more-interpolation":{"begin":"\\\\$\\\\$\\\\$+\\"\\"\\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-interpolated-string-triple-quote-double-interpolation":{"begin":"\\\\$\\\\$\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#double-raw-interpolation"}]},"raw-interpolated-string-triple-quote-single-interpolation":{"begin":"\\\\$\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#raw-interpolation"}]},"raw-interpolation":{"begin":"(?<=[^{]|^)(\\\\{*)(\\\\{)(?!\\\\{)","beginCaptures":{"1":{"name":"string.quoted.double.cs"},"2":{"name":"punctuation.definition.interpolation.begin.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.interpolation.end.cs"}},"name":"meta.embedded.interpolation.cs","patterns":[{"include":"#expression"}]},"raw-string-literal":{"patterns":[{"include":"#raw-string-literal-more"},{"include":"#raw-string-literal-quadruple"},{"include":"#raw-string-literal-triple"}]},"raw-string-literal-more":{"begin":"\\"\\"\\"\\"\\"+","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"\\"+","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-string-literal-quadruple":{"begin":"\\"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"raw-string-literal-triple":{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs"},"readonly-modifier":{"match":"\\\\breadonly\\\\b","name":"storage.modifier.readonly.cs"},"record-declaration":{"begin":"(?=\\\\brecord\\\\b)","end":"(?<=})|(?=;)","patterns":[{"begin":"(record)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"storage.type.record.cs"},"2":{"name":"entity.name.type.class.cs"}},"end":"(?=\\\\{)|(?=;)","patterns":[{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#parenthesized-parameter-list"},{"include":"#base-types"},{"include":"#generic-constraints"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#class-or-struct-members"}]},{"include":"#preprocessor"},{"include":"#comment"}]},"ref-modifier":{"match":"\\\\bref\\\\b","name":"storage.modifier.ref.cs"},"relational-pattern":{"begin":"<=?|>=?","beginCaptures":{"0":{"name":"keyword.operator.relational.cs"}},"end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#expression"}]},"return-statement":{"begin":"(?","beginCaptures":{"0":{"name":"keyword.operator.arrow.cs"}},"end":"(?=[,}])","patterns":[{"include":"#expression"}]},{"begin":"\\\\b(when)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.when.cs"}},"end":"(?==>|[,}])","patterns":[{"include":"#case-guard"}]},{"begin":"(?!\\\\s)","end":"(?=\\\\bwhen\\\\b|=>|[,}])","patterns":[{"include":"#pattern"}]}]},"switch-label":{"begin":"\\\\b(case|default)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.$1.cs"}},"end":"(:)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.colon.cs"}},"patterns":[{"begin":"\\\\b(when)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.when.cs"}},"end":"(?=[:}])","patterns":[{"include":"#case-guard"}]},{"begin":"(?!\\\\s)","end":"(?=\\\\bwhen\\\\b|[:}])","patterns":[{"include":"#pattern"}]}]},"switch-statement":{"patterns":[{"include":"#intrusive"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#expression"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.cs"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.cs"}},"patterns":[{"include":"#switch-label"},{"include":"#statement"}]}]},"switch-statement-or-expression":{"begin":"(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\))\\\\s*(?!=[=>])(?==)"},"tuple-deconstruction-element-list":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#tuple-deconstruction-element-list"},{"include":"#declaration-expression-tuple"},{"include":"#punctuation-comma"},{"captures":{"1":{"name":"variable.other.readwrite.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*(?=[),])"}]},"tuple-element":{"captures":{"1":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.tuple-element.cs"}},"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*\\\\??\\\\s*)*)(?:(?\\\\g)\\\\b)?"},"tuple-literal":{"begin":"(\\\\()(?=.*[,:])","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#comment"},{"include":"#tuple-literal-element"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"tuple-literal-element":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?=:)","beginCaptures":{"1":{"name":"entity.name.variable.tuple-element.cs"}},"end":"(:)","endCaptures":{"0":{"name":"punctuation.separator.colon.cs"}}},"tuple-type":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#tuple-element"},{"include":"#punctuation-comma"}]},"type":{"patterns":[{"include":"#comment"},{"include":"#ref-modifier"},{"include":"#readonly-modifier"},{"include":"#tuple-type"},{"include":"#type-builtin"},{"include":"#type-name"},{"include":"#type-arguments"},{"include":"#type-array-suffix"},{"include":"#type-nullable-suffix"},{"include":"#type-pointer-suffix"}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.cs"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.cs"}},"patterns":[{"include":"#type"},{"include":"#punctuation-comma"}]},"type-array-suffix":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.cs"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.cs"}},"patterns":[{"include":"#intrusive"},{"include":"#punctuation-comma"}]},"type-builtin":{"captures":{"1":{"name":"keyword.type.$1.cs"}},"match":"\\\\b(bool|s?byte|u?short|n?u?int|u?long|float|double|decimal|char|string|object|void|dynamic)\\\\b"},"type-declarations":{"patterns":[{"include":"#preprocessor"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#class-declaration"},{"include":"#delegate-declaration"},{"include":"#enum-declaration"},{"include":"#interface-declaration"},{"include":"#struct-declaration"},{"include":"#union-declaration"},{"include":"#record-declaration"},{"include":"#attribute-section"},{"include":"#punctuation-semicolon"}]},"type-name":{"patterns":[{"captures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(::)"},{"captures":{"1":{"name":"entity.name.type.cs"},"2":{"name":"punctuation.accessor.cs"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(\\\\.)"},{"captures":{"1":{"name":"punctuation.accessor.cs"},"2":{"name":"entity.name.type.cs"}},"match":"(\\\\.)\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},"type-nullable-suffix":{"match":"\\\\?","name":"punctuation.separator.question-mark.cs"},"type-operator-expression":{"begin":"\\\\b(default|sizeof|typeof)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.expression.$1.cs"},"2":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"#type"}]},"type-parameter-list":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.cs"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.cs"}},"patterns":[{"match":"\\\\b(in|out)\\\\b","name":"storage.modifier.$1.cs"},{"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\b","name":"entity.name.type.type-parameter.cs"},{"include":"#comment"},{"include":"#punctuation-comma"},{"include":"#attribute-section"}]},"type-pattern":{"begin":"(?=@?[_[:alpha:]][_[:alnum:]]*)","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"begin":"\\\\G","end":"(?!\\\\G[@_[:alpha:]])(?=[]\\\\&(),:;=@^_{|}[:alpha:]]|(?:\\\\s|^)\\\\?|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#type-subpattern"}]},{"begin":"(?=[(@_{[:alpha:]])","end":"(?=[]\\\\&),:;=?^|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"include":"#positional-pattern"},{"include":"#property-pattern"},{"include":"#simple-designation-pattern"}]}]},"type-pointer-suffix":{"match":"\\\\*","name":"punctuation.separator.asterisk.cs"},"type-subpattern":{"patterns":[{"include":"#type-builtin"},{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(::)","beginCaptures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"punctuation.separator.coloncolon.cs"}},"end":"(?<=[_[:alnum:]])|(?=[]\\\\&(),.:-=?\\\\[^{|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"},{"begin":"\\\\.","beginCaptures":{"0":{"name":"punctuation.accessor.cs"}},"end":"(?<=[_[:alnum:]])|(?=[]\\\\&(),:-=?\\\\[^{|}]|!=|\\\\b(and|or|when)\\\\b)","patterns":[{"include":"#intrusive"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.type.cs"}]},{"include":"#type-arguments"},{"include":"#type-array-suffix"},{"match":"(?])","beginCaptures":{"1":{"name":"keyword.operator.assignment.cs"}},"end":"(?=[]),;}])","patterns":[{"include":"#ref-modifier"},{"include":"#expression"}]},"verbatim-interpolated-string":{"begin":"(?:\\\\$@|@\\\\$)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"(?=[^\\"])","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#verbatim-string-character-escape"},{"include":"#interpolation"}]},"verbatim-string-character-escape":{"match":"\\"\\"","name":"constant.character.escape.cs"},"verbatim-string-literal":{"begin":"@\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"(?=[^\\"])","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#verbatim-string-character-escape"}]},"when-clause":{"begin":"(?","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.unquoted.cdata.cs"},"xml-character-entity":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.constant.cs"},"3":{"name":"punctuation.definition.constant.cs"}},"match":"(&)([:_[:alpha:]][-.:_[:alnum:]]*|#\\\\d+|#x\\\\h+)(;)","name":"constant.character.entity.cs"},{"match":"&","name":"invalid.illegal.bad-ampersand.cs"}]},"xml-comment":{"begin":"","endCaptures":{"0":{"name":"punctuation.definition.comment.cs"}},"name":"comment.block.cs"},"xml-doc-comment":{"patterns":[{"include":"#xml-comment"},{"include":"#xml-character-entity"},{"include":"#xml-cdata"},{"include":"#xml-tag"}]},"xml-string":{"patterns":[{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.single.cs","patterns":[{"include":"#xml-character-entity"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#xml-character-entity"}]}]},"xml-tag":{"begin":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.cs"}},"name":"meta.tag.cs","patterns":[{"include":"#xml-attribute"}]},"yield-break-statement":{"captures":{"1":{"name":"keyword.control.flow.yield.cs"},"2":{"name":"keyword.control.flow.break.cs"}},"match":"(?aV});var nV,aV,Hw=s1(()=>{nV=Object.freeze(JSON.parse('{"displayName":"Kotlin","fileTypes":["kt","kts"],"name":"kotlin","patterns":[{"include":"#import"},{"include":"#package"},{"include":"#code"}],"repository":{"annotation-simple":{"match":"(?<([^<>]|\\\\g)+>)?"},"code":{"patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#annotation-simple"},{"include":"#annotation-site-list"},{"include":"#annotation-site"},{"include":"#class-declaration"},{"include":"#object"},{"include":"#type-alias"},{"include":"#function"},{"include":"#variable-declaration"},{"include":"#type-constraint"},{"include":"#type-annotation"},{"include":"#function-call"},{"include":"#method-reference"},{"include":"#key"},{"include":"#string"},{"include":"#string-empty"},{"include":"#string-multiline"},{"include":"#character"},{"include":"#lambda-arrow"},{"include":"#operators"},{"include":"#self-reference"},{"include":"#decimal-literal"},{"include":"#hex-literal"},{"include":"#binary-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"}]},"comment-block":{"begin":"/\\\\*(?!\\\\*)","end":"\\\\*/","name":"comment.block.kotlin"},"comment-javadoc":{"patterns":[{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.javadoc.kotlin","patterns":[{"match":"@(return|constructor|receiver|sample|see|author|since|suppress)\\\\b","name":"keyword.other.documentation.javadoc.kotlin"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"variable.parameter.kotlin"}},"match":"(@p(?:aram|roperty))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"variable.parameter.kotlin"}},"match":"(@param)\\\\[(\\\\S+)]"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"entity.name.type.class.kotlin"}},"match":"(@(?:exception|throws))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.kotlin"},"2":{"name":"entity.name.type.class.kotlin"},"3":{"name":"variable.parameter.kotlin"}},"match":"\\\\{(@link)\\\\s+(\\\\S+)?#([$\\\\w]+\\\\s*\\\\([^()]*\\\\)).*}"}]}]},"comment-line":{"begin":"//","end":"$","name":"comment.line.double-slash.kotlin"},"comments":{"patterns":[{"include":"#comment-line"},{"include":"#comment-block"},{"include":"#comment-javadoc"}]},"control-keywords":{"match":"\\\\b(if|else|while|do|when|try|throw|break|continue|return|for)\\\\b","name":"keyword.control.kotlin"},"decimal-literal":{"match":"\\\\b\\\\d[_\\\\d]*(\\\\.[_\\\\d]+)?(([Ee])\\\\d+)?([Uu])?([FLf])?\\\\b","name":"constant.numeric.decimal.kotlin"},"function":{"captures":{"1":{"name":"keyword.hard.fun.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]},"4":{"name":"entity.name.type.class.extension.kotlin"},"5":{"name":"entity.name.function.declaration.kotlin"}},"match":"\\\\b(fun)\\\\b\\\\s*(?<([^<>]|\\\\g)+>)?\\\\s*(?:(?:(\\\\w+)\\\\.)?(\\\\b\\\\w+\\\\b|`[^`]+`))?"},"function-call":{"captures":{"1":{"name":"entity.name.function.call.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]}},"match":"\\\\??\\\\.?(\\\\b\\\\w+\\\\b|`[^`]+`)\\\\s*(?<([^<>]|\\\\g)+>)?\\\\s*(?=[({])"},"hard-keywords":{"match":"\\\\b(as|typeof|is|in)\\\\b","name":"keyword.hard.kotlin"},"hex-literal":{"match":"0([Xx])\\\\h[_\\\\h]*([Uu])?","name":"constant.numeric.hex.kotlin"},"import":{"begin":"\\\\b(import)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.soft.kotlin"}},"contentName":"entity.name.package.kotlin","end":";|$","name":"meta.import.kotlin","patterns":[{"include":"#comments"},{"include":"#hard-keywords"},{"match":"\\\\*","name":"variable.language.wildcard.kotlin"}]},"key":{"captures":{"1":{"name":"variable.parameter.kotlin"},"2":{"name":"keyword.operator.assignment.kotlin"}},"match":"\\\\b(\\\\w=)\\\\s*(=)"},"keywords":{"patterns":[{"include":"#prefix-modifiers"},{"include":"#postfix-modifiers"},{"include":"#soft-keywords"},{"include":"#hard-keywords"},{"include":"#control-keywords"}]},"lambda-arrow":{"match":"->","name":"storage.type.function.arrow.kotlin"},"method-reference":{"captures":{"1":{"name":"entity.name.function.reference.kotlin"}},"match":"\\\\??::(\\\\b\\\\w+\\\\b|`[^`]+`)"},"null-literal":{"match":"\\\\bnull\\\\b","name":"constant.language.null.kotlin"},"object":{"captures":{"1":{"name":"keyword.hard.object.kotlin"},"2":{"name":"entity.name.type.object.kotlin"}},"match":"\\\\b(object)(?:\\\\s+(\\\\b\\\\w+\\\\b|`[^`]+`))?"},"operators":{"patterns":[{"match":"(===?|!==?|<=|>=|[<>])","name":"keyword.operator.comparison.kotlin"},{"match":"([-%*+/]=)","name":"keyword.operator.assignment.arithmetic.kotlin"},{"match":"(=)","name":"keyword.operator.assignment.kotlin"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.kotlin"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.kotlin"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.kotlin"},{"match":"(\\\\.\\\\.)","name":"keyword.operator.range.kotlin"}]},"package":{"begin":"\\\\b(package)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.hard.package.kotlin"}},"contentName":"entity.name.package.kotlin","end":";|$","name":"meta.package.kotlin","patterns":[{"include":"#comments"}]},"postfix-modifiers":{"match":"\\\\b(where|by|get|set)\\\\b","name":"storage.modifier.other.kotlin"},"prefix-modifiers":{"match":"\\\\b(abstract|final|enum|open|annotation|sealed|data|override|final|lateinit|private|protected|public|internal|inner|companion|noinline|crossinline|vararg|reified|tailrec|operator|infix|inline|external|const|suspend|value)\\\\b","name":"storage.modifier.other.kotlin"},"self-reference":{"match":"\\\\b(this|super)(@\\\\w+)?\\\\b","name":"variable.language.this.kotlin"},"soft-keywords":{"match":"\\\\b(init|catch|finally|field)\\\\b","name":"keyword.soft.kotlin"},"string":{"begin":"(?<([^<>]|\\\\g)+>)?"},"type-annotation":{"captures":{"0":{"patterns":[{"include":"#type-parameter"}]}},"match":"(?|(?[(<]([^\\"\'()<>]|\\\\g)+[)>]))+"},"type-parameter":{"patterns":[{"match":"\\\\b\\\\w+\\\\b","name":"entity.name.type.kotlin"},{"match":"\\\\b(in|out)\\\\b","name":"storage.modifier.kotlin"}]},"unescaped-annotation":{"match":"\\\\b[.\\\\w]+\\\\b","name":"entity.name.type.annotation.kotlin"},"variable-declaration":{"captures":{"1":{"name":"keyword.hard.kotlin"},"2":{"patterns":[{"include":"#type-parameter"}]}},"match":"\\\\b(va[lr])\\\\b\\\\s*(?<([^<>]|\\\\g)+>)?"}},"scopeName":"source.kotlin","aliases":["kt","kts"]}')),aV=[nV]});var Nw={};h1(Nw,{default:()=>rV});var iV,rV,Tw=s1(()=>{iV=Object.freeze(JSON.parse('{"displayName":"Swift","fileTypes":["swift"],"firstLineMatch":"^#!/.*\\\\bswift","name":"swift","patterns":[{"include":"#root"}],"repository":{"async-throws":{"captures":{"1":{"name":"invalid.illegal.await-must-precede-throws.swift"},"2":{"name":"storage.modifier.exception.swift"},"3":{"name":"storage.modifier.async.swift"}},"match":"\\\\b(?:((?:throws\\\\s+|rethrows\\\\s+)async)|((?:|re)throws)|(async))\\\\b"},"attributes":{"patterns":[{"begin":"((@)available)(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.attribute.available.swift","patterns":[{"captures":{"1":{"name":"keyword.other.platform.os.swift"},"2":{"name":"constant.numeric.swift"}},"match":"\\\\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b(?:\\\\s+([0-9]+(?:\\\\.[0-9]+)*)\\\\b)?"},{"begin":"\\\\b((?:introduc|deprecat|obsolet)ed)\\\\s*(:)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"match":"\\\\b[0-9]+(?:\\\\.[0-9]+)*\\\\b","name":"constant.numeric.swift"}]},{"begin":"\\\\b(message|renamed)\\\\s*(:)\\\\s*(?=\\")","beginCaptures":{"1":{"name":"keyword.other.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#literals"}]},{"captures":{"1":{"name":"keyword.other.platform.all.swift"},"2":{"name":"keyword.other.swift"},"3":{"name":"invalid.illegal.character-not-allowed-here.swift"}},"match":"(?:(\\\\*)|\\\\b(deprecated|unavailable|noasync)\\\\b)\\\\s*(.*?)(?=[),])"}]},{"begin":"((@)objc)(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.attribute.objc.swift","patterns":[{"captures":{"1":{"name":"invalid.illegal.missing-colon-after-selector-piece.swift"}},"match":"\\\\w*(?::(?:\\\\w*:)*(\\\\w*))?","name":"entity.name.function.swift"}]},{"begin":"(@)(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)","beginCaptures":{"0":{"name":"storage.modifier.attribute.swift"},"1":{"name":"punctuation.definition.attribute.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G\\\\()","name":"meta.attribute.swift","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.arguments.attribute.swift","patterns":[{"include":"#expressions"}]}]}]},"builtin-functions":{"patterns":[{"match":"(?<=\\\\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a[px]))(?=\\\\s*[({])\\\\b","name":"support.function.swift"},{"match":"(?<=\\\\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:|OrPinned)Reference|as(?:Suf|Pre)fix)|ne(?:gated?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:R|Unr)etainedValue|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:R|Unr)etained|re(?:decessor|fix))|e(?:scaped?|n(?:code|umerated?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:(?:Backward|)From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:(?:R|Subr)ange)?|versed?|quest(?:Native|UniqueMutableBacking)Buffer|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\\\\s*\\\\()","name":"support.function.swift"},{"match":"(?<=\\\\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\\\\s*\\\\()","name":"support.function.swift"}]},"builtin-global-functions":{"patterns":[{"begin":"\\\\b(type)(\\\\()\\\\s*(of)(:)","beginCaptures":{"1":{"name":"support.function.dynamic-type.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"},"3":{"name":"support.variable.parameter.swift"},"4":{"name":"punctuation.separator.argument-label.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"include":"#expressions"}]},{"match":"\\\\ba(?:nyGenerator|utoreleasepool)(?=\\\\s*[({])\\\\b","name":"support.function.swift"},{"match":"\\\\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:Mutable|)Pointer|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\\\\s*\\\\()","name":"support.function.swift"},{"match":"\\\\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:Mutable|)Pointers|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\\\\s*\\\\()","name":"support.function.swift"}]},"builtin-properties":{"patterns":[{"match":"(?<=(?:^|\\\\W)(?:Process\\\\.|CommandLine\\\\.))(arguments|argc|unsafeArgv)","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:|bugDe)scription|u(?:n(?:safelyUnwrapped|icodeScalars?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|values?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzero|rmal)Magnitude|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\\\\b","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\\\\b","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\\\\b","name":"support.variable.swift"}]},"builtin-types":{"patterns":[{"include":"#builtin-types-builtin-class-type"},{"include":"#builtin-types-builtin-enum-type"},{"include":"#builtin-types-builtin-protocol-type"},{"include":"#builtin-types-builtin-struct-type"},{"include":"#builtin-types-builtin-typealias"},{"match":"\\\\bAny\\\\b","name":"support.type.any.swift"}]},"builtin-types-builtin-class-type":{"match":"\\\\b(Managed((?:|Proto)Buffer)|NonObjectiveCBase|AnyGenerator)\\\\b","name":"support.class.swift"},"builtin-types-builtin-enum-type":{"patterns":[{"match":"\\\\b(?:CommandLine|Process(?=\\\\.))\\\\b","name":"support.constant.swift"},{"match":"\\\\bNever\\\\b","name":"support.constant.never.swift"},{"match":"\\\\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:MirrorDisposition|QuickLookObject)\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-protocol-type":{"patterns":[{"match":"\\\\bActor\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ide|eam)able|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflecta|StringConverti|DebugStringConverti|PlaygroundQuickLooka|LeafReflecta)ble|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:Sequence|Collection)Protocol)|A(?:nyObject|bsoluteValuable))\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Ran(?:domAccessIndex|geReplaceableCollection)Type|GeneratorType|M(?:irror(?:|Path)Type|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperations|directionalIndex)Type|oolean(?:Type|LiteralConvertible))|S(?:tring(?:Interpolation|Literal)Convertible|i(?:nk|gned(?:Numb|Integ)er)Type|e(?:tAlgebra|quence)Type|liceable)|NilLiteralConvertible|C(?:ollection|VarArg)Type|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStream|ptionSet)Type|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-struct-type":{"patterns":[{"match":"\\\\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccess|Bidirectional|)Slice|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccess|geReplaceable(?:RandomAccess|Bidirectional|))|Bidirectional|)Slice|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:(?:Gen|It)erator)?|o(?:(?:Gen|It)erator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:|Closed)Range|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Gen|It)erator)?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccess|Bidirectional|)Indices)|U(?:n(?:safe(?:RawPointer|Mutable(?:Raw|Buffer|)Pointer|BufferPointer(?:(?:Gen|It)erator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-typealias":{"patterns":[{"match":"\\\\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam[12]))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lements?|x(?:tendedGraphemeCluster(?:|Literal)Type|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Generator|PlaygroundQuickLook|UWord|Word)\\\\b","name":"support.type.swift"}]},"code-block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.swift"}},"patterns":[{"include":"$self"}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.swift"}},"match":"\\\\A^(#!).*$\\\\n?","name":"comment.line.number-sign.swift"},{"begin":"/\\\\*\\\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.documentation.swift","patterns":[{"include":"#comments-nested"}]},{"begin":"/\\\\*:","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.documentation.playground.swift","patterns":[{"include":"#comments-nested"}]},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.swift","patterns":[{"include":"#comments-nested"}]},{"match":"\\\\*/","name":"invalid.illegal.unexpected-end-of-block-comment.swift"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.swift"}},"end":"(?!\\\\G)","patterns":[{"begin":"///","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.triple-slash.documentation.swift"},{"begin":"//:","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.double-slash.documentation.swift"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.double-slash.swift"}]}]},"comments-nested":{"begin":"/\\\\*","end":"\\\\*/","patterns":[{"include":"#comments-nested"}]},"compiler-control":{"patterns":[{"begin":"^\\\\s*(#)(if|elseif)\\\\s+(false)\\\\b.*?(?=$|//|/\\\\*)","beginCaptures":{"0":{"name":"meta.preprocessor.conditional.swift"},"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"},"3":{"name":"constant.language.boolean.swift"}},"contentName":"comment.block.preprocessor.swift","end":"(?=^\\\\s*(#(e(?:lseif|lse|ndif)))\\\\b)"},{"begin":"^\\\\s*(#)(if|elseif)\\\\s+","captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"}},"end":"(?=\\\\s*/[*/])|$","name":"meta.preprocessor.conditional.swift","patterns":[{"match":"(&&|\\\\|\\\\|)","name":"keyword.operator.logical.swift"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.swift"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"support.constant.platform.architecture.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(arch)\\\\s*(\\\\()\\\\s*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|\\\\w+)\\\\s*(\\\\))"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"support.constant.platform.os.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(os)\\\\s*(\\\\()\\\\s*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|\\\\w+)\\\\s*(\\\\))"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"entity.name.type.module.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(canImport)\\\\s*(\\\\()([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)(\\\\))"},{"begin":"\\\\b(targetEnvironment)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))|$","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"match":"\\\\b(simulator|UIKitForMac)\\\\b","name":"support.constant.platform.environment.swift"}]},{"begin":"\\\\b(swift|compiler)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))|$","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"match":">=|<","name":"keyword.operator.comparison.swift"},{"match":"\\\\b[0-9]+(?:\\\\.[0-9]+)*\\\\b","name":"constant.numeric.swift"}]}]},{"captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"},"3":{"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"match":"^\\\\s*(#)(e(?:lse|ndif))(.*?)(?=$|//|/\\\\*)","name":"meta.preprocessor.conditional.swift"},{"captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.sourcelocation.swift"},"4":{"name":"punctuation.definition.parameters.begin.swift"},"5":{"patterns":[{"begin":"(file)\\\\s*(:)\\\\s*(?=\\")","beginCaptures":{"1":{"name":"support.variable.parameter.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#literals"}]},{"captures":{"1":{"name":"support.variable.parameter.swift"},"2":{"name":"punctuation.separator.key-value.swift"},"3":{"name":"constant.numeric.integer.swift"}},"match":"(line)\\\\s*(:)\\\\s*([0-9]+)"},{"match":",","name":"punctuation.separator.parameters.swift"},{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"6":{"name":"punctuation.definition.parameters.begin.swift"},"7":{"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"match":"^\\\\s*(#)(sourceLocation)((\\\\()([^)]*)(\\\\)))(.*?)(?=$|//|/\\\\*)","name":"meta.preprocessor.sourcelocation.swift"}]},"conditionals":{"patterns":[{"begin":"(?^|~])(->)(?![-!%\\\\&*+./<=>^|~])"},{"captures":{"1":{"name":"keyword.operator.type.composition.swift"}},"match":"(?^|~])(&)(?![-!%\\\\&*+./<=>^|~])"},{"match":"[!?]","name":"keyword.operator.type.optional.swift"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.function.variadic-parameter.swift"},{"match":"\\\\bprotocol\\\\b","name":"keyword.other.type.composition.swift"},{"match":"(?<=\\\\.)(?:Protocol|Type)\\\\b","name":"keyword.other.type.metatype.swift"},{"include":"#declarations-available-types-tuple-type"},{"include":"#declarations-available-types-collection-type"},{"include":"#declarations-generic-argument-clause"}]},"declarations-available-types-collection-type":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.collection-type.begin.swift"}},"end":"]|(?=[)>{}])","endCaptures":{"0":{"name":"punctuation.section.collection-type.end.swift"}},"patterns":[{"include":"#declarations-available-types"},{"include":"#literals-numeric"},{"match":"\\\\b_\\\\b","name":"support.variable.inferred.swift"},{"match":"(?<=\\\\s)\\\\bof\\\\b(?=\\\\s+[(\\\\[_\\\\p{L}\\\\d\\\\p{N}\\\\p{M}])","name":"keyword.other.inline-array.swift"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.key-value.swift"}},"end":"(?=[])>{}])","patterns":[{"match":":","name":"invalid.illegal.extra-colon-in-dictionary-type.swift"},{"include":"#declarations-available-types"}]}]},"declarations-available-types-tuple-type":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.tuple-type.begin.swift"}},"end":"\\\\)|(?=[]>{}])","endCaptures":{"0":{"name":"punctuation.section.tuple-type.end.swift"}},"patterns":[{"include":"#declarations-available-types"}]},"declarations-extension":{"begin":"\\\\b(extension)\\\\s+","beginCaptures":{"1":{"name":"storage.type.$1.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"begin":"\\\\G(?!\\\\s*[\\\\n:{])","end":"(?=\\\\s*[\\\\n:{])|(?!\\\\G)(?=\\\\s*where\\\\b)","name":"entity.name.type.swift","patterns":[{"include":"#declarations-available-types"}]},{"include":"#comments"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function":{"begin":"\\\\b(func)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)|(?:((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g|\\\\g|\\\\.)+)))\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})|$","name":"meta.definition.function.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.function.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.function.end.swift"}},"name":"meta.definition.function.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function-initializer":{"begin":"(?^|~])(->)(?![-!%\\\\&*+./<=>^|~])\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.function-result.swift"}},"end":"(?!\\\\G)(?=\\\\{|\\\\bwhere\\\\b|[;=])|$","name":"meta.function-result.swift","patterns":[{"match":"\\\\bsending\\\\b","name":"storage.modifier.swift"},{"include":"#declarations-available-types"}]},"declarations-function-subscript":{"begin":"(?|(?=[]){}])","endCaptures":{"0":{"name":"punctuation.separator.generic-argument-clause.end.swift"}},"name":"meta.generic-argument-clause.swift","patterns":[{"include":"#literals-numeric"},{"include":"#declarations-available-types"}]},"declarations-generic-parameter-clause":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.separator.generic-parameter-clause.begin.swift"}},"end":">|(?=[^\\\\&,:<=>`\\\\w\\\\d\\\\s])","endCaptures":{"0":{"name":"punctuation.separator.generic-parameter-clause.end.swift"}},"name":"meta.generic-parameter-clause.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause"},{"match":"\\\\blet\\\\b","name":"keyword.other.declaration-specifier.swift"},{"match":"\\\\beach\\\\b","name":"keyword.control.loop.swift"},{"captures":{"1":{"name":"variable.language.generic-parameter.swift"}},"match":"\\\\b((?!\\\\d)\\\\w[\\\\w\\\\d]*)\\\\b"},{"match":",","name":"punctuation.separator.generic-parameters.swift"},{"begin":"(:)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.generic-parameter-constraint.swift"}},"end":"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.generic-parameter-constraint.swift","patterns":[{"begin":"\\\\G","end":"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)","name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-type-identifier"},{"include":"#declarations-type-operators"}]}]}]},"declarations-generic-where-clause":{"begin":"\\\\b(where)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.generic-constraint-introducer.swift"}},"end":"(?!\\\\G)$|(?=[\\\\n;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause-requirement-list"}]},"declarations-generic-where-clause-requirement-list":{"begin":"\\\\G|,\\\\s*","end":"(?=[\\\\n,;>{}]|//|/\\\\*)","patterns":[{"include":"#comments"},{"include":"#constraint"},{"include":"#declarations-available-types"},{"begin":"(?^|~])(==)(?![-!%\\\\&*+./<=>^|~])","beginCaptures":{"1":{"name":"keyword.operator.generic-constraint.same-type.swift"}},"end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.same-type-requirement.swift","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(?^|~])(:)(?![-!%\\\\&*+./<=>^|~])","beginCaptures":{"1":{"name":"keyword.operator.generic-constraint.conforms-to.swift"}},"end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.conformance-requirement.swift","patterns":[{"begin":"\\\\G\\\\s*","contentName":"entity.other.inherited-class.swift","end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","patterns":[{"include":"#declarations-available-types"}]}]}]},"declarations-import":{"begin":"(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)","name":"entity.name.type.swift"},{"match":"(?<=\\\\G|\\\\.)\\\\$[0-9]+","name":"entity.name.type.swift"},{"captures":{"1":{"patterns":[{"match":"\\\\.","name":"invalid.illegal.dot-not-allowed-here.swift"}]}},"match":"(?<=\\\\G|\\\\.)(?:((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g|\\\\g|\\\\.)+))(?=[.;]|$|//|/\\\\*|\\\\s)","name":"entity.name.type.swift"},{"match":"\\\\.","name":"punctuation.separator.import.swift"},{"begin":"(?!\\\\s*(;|$|//|/\\\\*))","end":"(?=\\\\s*(;|$|//|/\\\\*))","name":"invalid.illegal.character-not-allowed-here.swift"}]}]},"declarations-inheritance-clause":{"begin":"(:)(?=\\\\s*\\\\{)|(:)\\\\s*","beginCaptures":{"1":{"name":"invalid.illegal.empty-inheritance-clause.swift"},"2":{"name":"punctuation.separator.inheritance-clause.swift"}},"end":"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.inheritance-clause.swift","patterns":[{"begin":"\\\\bclass\\\\b","beginCaptures":{"0":{"name":"storage.type.class.swift"}},"end":"(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause-more-types"}]},{"begin":"\\\\G","end":"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","patterns":[{"include":"#attributes"},{"include":"#comments"},{"include":"#declarations-inheritance-clause-inherited-type"},{"include":"#declarations-inheritance-clause-more-types"},{"include":"#declarations-type-operators"}]}]},"declarations-inheritance-clause-inherited-type":{"begin":"(?=[_`\\\\p{L}])","end":"(?!\\\\G)","name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-type-identifier"}]},"declarations-inheritance-clause-more-types":{"begin":",\\\\s*","end":"(?!\\\\G)(?!/[*/])|(?=[,={}]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.inheritance-list.more-types","patterns":[{"include":"#attributes"},{"include":"#comments"},{"include":"#declarations-inheritance-clause-inherited-type"},{"include":"#declarations-inheritance-clause-more-types"},{"include":"#declarations-type-operators"}]},"declarations-macro":{"begin":"\\\\b(macro)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(?=[(<=])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"$|(?=;|//|/\\\\*|[=}])","name":"meta.definition.macro.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"}]},"declarations-operator":{"begin":"(?:\\\\b((?:pre|in|post)fix)\\\\s+)?\\\\b(operator)\\\\s+(((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|\\\\.|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*+)|(\\\\.(\\\\g|\\\\g|\\\\.)++))\\\\s*","beginCaptures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"storage.type.function.operator.swift"},"3":{"name":"entity.name.function.operator.swift"},"4":{"name":"entity.name.function.operator.swift","patterns":[{"match":"\\\\.","name":"invalid.illegal.dot-not-allowed-here.swift"}]}},"end":"(;)|$\\\\n?|(?=/[*/])","endCaptures":{"1":{"name":"punctuation.terminator.statement.swift"}},"name":"meta.definition.operator.swift","patterns":[{"include":"#declarations-operator-swift2"},{"include":"#declarations-operator-swift3"},{"match":"((?!$|;|//|/\\\\*)\\\\S)+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"declarations-operator-swift2":{"begin":"\\\\G(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.operator.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.operator.end.swift"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"keyword.other.operator.associativity.swift"}},"match":"\\\\b(associativity)\\\\s+(left|right)\\\\b"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"constant.numeric.integer.swift"}},"match":"\\\\b(precedence)\\\\s+([0-9]+)\\\\b"},{"captures":{"1":{"name":"storage.modifier.swift"}},"match":"\\\\b(assignment)\\\\b"}]},"declarations-operator-swift3":{"captures":{"2":{"name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-types-precedencegroup"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"\\\\G(:)\\\\s*((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))"},"declarations-parameter-clause":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))(?:\\\\s*(async)\\\\b)?","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"},"2":{"name":"storage.modifier.async.swift"}},"name":"meta.parameter-clause.swift","patterns":[{"include":"#declarations-parameter-list"}]},"declarations-parameter-list":{"patterns":[{"captures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"variable.parameter.function.swift"},"5":{"name":"punctuation.definition.identifier.swift"},"6":{"name":"punctuation.definition.identifier.swift"}},"match":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))(?=\\\\s*:)"},{"captures":{"1":{"name":"variable.parameter.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"(((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)))(?=\\\\s*:)"},{"begin":":\\\\s*(?!\\\\s)","end":"(?=[),])","patterns":[{"match":"\\\\bsending\\\\b","name":"storage.modifier.swift"},{"include":"#declarations-available-types"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.swift"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.swift"}},"end":"(?=[),])","patterns":[{"include":"#expressions"}]}]}]},"declarations-precedencegroup":{"begin":"\\\\b(precedencegroup)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.precedencegroup.swift"},"2":{"name":"entity.name.type.precedencegroup.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)","name":"meta.definition.precedencegroup.swift","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.precedencegroup.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.precedencegroup.end.swift"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-types-precedencegroup"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"\\\\b((?:high|low)erThan)\\\\s*:\\\\s*((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"keyword.other.operator.associativity.swift"}},"match":"\\\\b(associativity)\\\\b(?:\\\\s*:\\\\s*(right|left|none)\\\\b)?"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"constant.language.boolean.swift"}},"match":"\\\\b(assignment)\\\\b(?:\\\\s*:\\\\s*(true|false)\\\\b)?"}]}]},"declarations-protocol":{"begin":"\\\\b(protocol)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.protocol.swift","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause"},{"include":"#declarations-generic-where-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"#declarations-protocol-protocol-method"},{"include":"#declarations-protocol-protocol-initializer"},{"include":"#declarations-protocol-associated-type"},{"include":"$self"}]}]},"declarations-protocol-associated-type":{"begin":"\\\\b(associatedtype)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration-specifier.swift"},"2":{"name":"variable.language.associatedtype.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)$|(?=[;}]|$)","name":"meta.definition.associatedtype.swift","patterns":[{"include":"#declarations-inheritance-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-typealias-assignment"}]},"declarations-protocol-protocol-initializer":{"begin":"(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)|(?:((?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])(\\\\g|(?[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g|\\\\g|\\\\.)+)))\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"$|(?=;|//|/\\\\*|})","name":"meta.definition.function.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.function.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.function.end.swift"}},"name":"invalid.illegal.function-body-not-allowed-in-protocol.swift","patterns":[{"include":"$self"}]}]},"declarations-type":{"patterns":[{"begin":"\\\\b(class(?!\\\\s+(?:func|var|let)\\\\b)|struct|actor)\\\\b\\\\s*((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"$self"}]}]},{"include":"#declarations-type-enum"}]},"declarations-type-enum":{"begin":"\\\\b(enum)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"#declarations-type-enum-enum-case-clause"},{"include":"$self"}]}]},"declarations-type-enum-associated-values":{"begin":"\\\\G\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"include":"#comments"},{"begin":"(?:(_)|((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k))\\\\s+(((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k))\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"invalid.illegal.distinct-labels-not-allowed.swift"},"5":{"name":"variable.parameter.function.swift"},"7":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k))\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"variable.parameter.function.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(?![]),])(?=\\\\S)","end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.swift"}]}]},"declarations-type-enum-enum-case":{"begin":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"variable.other.enummember.swift"}},"end":"(?<=\\\\))|(?![(=])","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-associated-values"},{"include":"#declarations-type-enum-raw-value-assignment"}]},"declarations-type-enum-enum-case-clause":{"begin":"\\\\b(case)\\\\b\\\\s*","beginCaptures":{"1":{"name":"storage.type.enum.case.swift"}},"end":"(?=[;}])|(?!\\\\G)(?!/[*/])(?=[^,\\\\s])","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-enum-case"},{"include":"#declarations-type-enum-more-cases"}]},"declarations-type-enum-more-cases":{"begin":",\\\\s*","end":"(?!\\\\G)(?!/[*/])(?=[;}[^,\\\\s]])","name":"meta.enum-case.more-cases","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-enum-case"},{"include":"#declarations-type-enum-more-cases"}]},"declarations-type-enum-raw-value-assignment":{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#comments"},{"include":"#literals"}]},"declarations-type-identifier":{"begin":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"meta.type-name.swift","patterns":[{"include":"#builtin-types"}]},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!<)","patterns":[{"begin":"(?=<)","end":"(?!\\\\G)","patterns":[{"include":"#declarations-generic-argument-clause"}]}]},"declarations-type-operators":{"patterns":[{"captures":{"1":{"name":"keyword.operator.type.composition.swift"}},"match":"(?^|~])(&)(?![-!%\\\\&*+./<=>^|~])"},{"captures":{"1":{"name":"keyword.operator.type.requirement-suppression.swift"}},"match":"(?^|~])(~)(?![-!%\\\\&*+./<=>^|~])"}]},"declarations-typealias":{"begin":"\\\\b(typealias)\\\\s+((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration-specifier.swift"},"2":{"name":"entity.name.type.typealias.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)$|(?=;|//|/\\\\*|$)","name":"meta.definition.typealias.swift","patterns":[{"begin":"\\\\G(?=<)","end":"(?!\\\\G)","patterns":[{"include":"#declarations-generic-parameter-clause"}]},{"include":"#declarations-typealias-assignment"}]},"declarations-typealias-assignment":{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.swift"}},"end":"(?!\\\\G)$|(?=;|//|/\\\\*|$)","patterns":[{"include":"#declarations-available-types"}]},"declarations-typed-variable-declaration":{"begin":"\\\\b(?:(async)\\\\s+)?(let|var)\\\\b\\\\s+(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)\\\\s*:","beginCaptures":{"1":{"name":"storage.modifier.async.swift"},"2":{"name":"keyword.other.declaration-specifier.swift"}},"end":"(?=$|[={])","patterns":[{"include":"#declarations-available-types"}]},"declarations-types-precedencegroup":{"patterns":[{"match":"\\\\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\\\\b","name":"support.type.swift"}]},"expressions":{"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references"},{"include":"#expressions-trailing-closure"},{"include":"#member-reference"}]},"expressions-trailing-closure":{"patterns":[{"captures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"match":"(#?(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))(?=\\\\s*\\\\{)","name":"meta.function-call.trailing-closure-only.swift"},{"captures":{"1":{"name":"support.function.any-method.trailing-closure-label.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"match":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(:)(?=\\\\s*\\\\{)"}]},"expressions-without-trailing-closures":{"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references"},{"include":"#member-references"}]},"expressions-without-trailing-closures-or-member-references":{"patterns":[{"include":"#comments"},{"include":"#code-block"},{"include":"#attributes"},{"include":"#expressions-without-trailing-closures-or-member-references-closure-parameter"},{"include":"#literals"},{"include":"#operators"},{"include":"#builtin-types"},{"include":"#builtin-functions"},{"include":"#builtin-global-functions"},{"include":"#builtin-properties"},{"include":"#expressions-without-trailing-closures-or-member-references-compound-name"},{"include":"#conditionals"},{"include":"#keywords"},{"include":"#expressions-without-trailing-closures-or-member-references-availability-condition"},{"include":"#expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression"},{"include":"#expressions-without-trailing-closures-or-member-references-macro-expansion"},{"include":"#expressions-without-trailing-closures-or-member-references-subscript-expression"},{"include":"#expressions-without-trailing-closures-or-member-references-parenthesized-expression"},{"match":"\\\\b_\\\\b","name":"support.variable.discard-value.swift"}]},"expressions-without-trailing-closures-or-member-references-availability-condition":{"begin":"\\\\B(#(?:un)?available)(\\\\()","beginCaptures":{"1":{"name":"support.function.availability-condition.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"captures":{"1":{"name":"keyword.other.platform.os.swift"},"2":{"name":"constant.numeric.swift"}},"match":"\\\\s*\\\\b((?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b\\\\s+([0-9]+(?:\\\\.[0-9]+)*)\\\\b"},{"captures":{"1":{"name":"keyword.other.platform.all.swift"},"2":{"name":"invalid.illegal.character-not-allowed-here.swift"}},"match":"(\\\\*)\\\\s*(.*?)(?=[),])"},{"match":"[^),\\\\s]+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"expressions-without-trailing-closures-or-member-references-closure-parameter":{"match":"\\\\$[0-9]+","name":"variable.language.closure-parameter.swift"},"expressions-without-trailing-closures-or-member-references-compound-name":{"captures":{"1":{"name":"entity.name.function.compound-name.swift"},"2":{"name":"punctuation.definition.entity.swift"},"3":{"name":"punctuation.definition.entity.swift"},"4":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.swift"},"2":{"name":"punctuation.definition.entity.swift"}},"match":"(?`?)(?!_:)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k):","name":"entity.name.function.compound-name.swift"}]}},"match":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\(((((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k)):)+)\\\\)"},"expressions-without-trailing-closures-or-member-references-expression-element-list":{"patterns":[{"include":"#comments"},{"begin":"((?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(:)","beginCaptures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#expressions"}]},{"begin":"(?![]),])(?=\\\\S)","end":"(?=[]),])","patterns":[{"include":"#expressions"}]}]},"expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression":{"patterns":[{"begin":"(#?(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.function-call.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},{"begin":"(?<=[])>_`}\\\\p{L}\\\\p{N}\\\\p{M}])\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.function-call.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]}]},"expressions-without-trailing-closures-or-member-references-macro-expansion":{"match":"(#(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))","name":"support.function.any-method.swift"},"expressions-without-trailing-closures-or-member-references-parenthesized-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.tuple.begin.swift"}},"end":"(\\\\))\\\\s*((?:\\\\b(?:async|throws|rethrows)\\\\s)*)","endCaptures":{"1":{"name":"punctuation.section.tuple.end.swift"},"2":{"patterns":[{"match":"\\\\brethrows\\\\b","name":"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift"},{"include":"#async-throws"}]}},"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"expressions-without-trailing-closures-or-member-references-subscript-expression":{"begin":"(?<=[_`\\\\p{L}\\\\p{N}\\\\p{M}])\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.subscript-expression.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"keywords":{"patterns":[{"match":"(?(?>(?:\\\\\\\\Q(?:(?!\\\\\\\\E)(?!/).)*+(?:\\\\\\\\E|(?=/))|\\\\\\\\.|\\\\(\\\\?#[^)]*\\\\)|\\\\(\\\\?(?>\\\\{(?:[^{].*?|\\\\{[^{].*?}|\\\\{\\\\{[^{].*?}}|\\\\{\\\\{\\\\{[^{].*?}}}|\\\\{\\\\{\\\\{\\\\{[^{].*?}}}}|\\\\{\\\\{\\\\{\\\\{\\\\{.+?}}}}})})(?:\\\\[(?!\\\\d)\\\\w+])?[<>X]?\\\\)|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\])+])+])+])+]|\\\\(\\\\g?+\\\\)|(?:(?!/)[^()\\\\[\\\\\\\\])+)+))?+(?(?>(?:\\\\\\\\Q(?:(?!\\\\\\\\E)(?!/\\\\2).)*+(?:\\\\\\\\E|(?=/\\\\2))|\\\\\\\\.|\\\\(\\\\?#[^)]*\\\\)|\\\\(\\\\?(?>\\\\{(?:[^{].*?|\\\\{[^{].*?}|\\\\{\\\\{[^{].*?}}|\\\\{\\\\{\\\\{[^{].*?}}}|\\\\{\\\\{\\\\{\\\\{[^{].*?}}}}|\\\\{\\\\{\\\\{\\\\{\\\\{.+?}}}}})})(?:\\\\[(?!\\\\d)\\\\w+])?[<>X]?\\\\)|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\]|\\\\[(?:\\\\\\\\.|[^]\\\\[\\\\\\\\])+])+])+])+]|\\\\(\\\\g?+\\\\)|(?:(?!/\\\\2)[^()\\\\[\\\\\\\\])+)+))?+(/\\\\2)|#+/.+(\\\\n)","name":"string.regexp.line.extended.swift"}]},"literals-regular-expression-literal-backreference-or-subpattern":{"patterns":[{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\g\\\\{)(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(})"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"constant.numeric.integer.decimal.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"}},"match":"(\\\\\\\\g)([-+]?\\\\d+)(?:([-+])(\\\\d+))?"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\[gk]<)(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(>)"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\[gk]\')(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(\')"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\k\\\\{)((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?(})"},{"match":"\\\\\\\\[1-9][0-9]+","name":"keyword.other.back-reference.regexp"},{"captures":{"1":{"name":"keyword.other.back-reference.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.other.back-reference.regexp"}},"match":"(\\\\(\\\\?(?:P[=>]|&))((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?(\\\\))"},{"match":"\\\\(\\\\?R\\\\)","name":"keyword.other.back-reference.regexp"},{"captures":{"1":{"name":"keyword.other.back-reference.regexp"},"2":{"name":"constant.numeric.integer.decimal.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.other.back-reference.regexp"}},"match":"(\\\\(\\\\?)([-+]?\\\\d+)(?:([-+])(\\\\d+))?(\\\\))"}]},"literals-regular-expression-literal-backtracking-directive-or-global-matching-option":{"captures":{"1":{"name":"keyword.control.directive.regexp"},"2":{"name":"keyword.control.directive.regexp"},"3":{"name":"keyword.control.directive.regexp"},"4":{"name":"variable.language.tag.regexp"},"5":{"name":"keyword.control.directive.regexp"},"6":{"name":"keyword.operator.assignment.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"keyword.control.directive.regexp"},"9":{"name":"keyword.control.directive.regexp"}},"match":"(\\\\(\\\\*)(?:(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)(?:(:)([^)]+))?|(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\\\\d+)|(CRLF|CR|ANYCRLF|ANY|LF|NUL|BSR_ANYCRLF|BSR_UNICODE|NOTEMPTY_ATSTART|NOTEMPTY|NO_AUTO_POSSESS|NO_DOTSTAR_ANCHOR|NO_JIT|NO_START_OPT|UTF|UCP))(\\\\))"},"literals-regular-expression-literal-callout":{"captures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.callout.regexp"},"3":{"name":"constant.numeric.integer.decimal.regexp"},"4":{"name":"entity.name.function.callout.regexp"},"5":{"name":"entity.name.function.callout.regexp"},"6":{"name":"entity.name.function.callout.regexp"},"7":{"name":"entity.name.function.callout.regexp"},"8":{"name":"entity.name.function.callout.regexp"},"9":{"name":"entity.name.function.callout.regexp"},"10":{"name":"entity.name.function.callout.regexp"},"11":{"name":"entity.name.function.callout.regexp"},"12":{"name":"punctuation.definition.group.regexp"},"13":{"name":"punctuation.definition.group.regexp"},"14":{"name":"keyword.control.callout.regexp"},"15":{"name":"entity.name.function.callout.regexp"},"16":{"name":"variable.language.tag-name.regexp"},"17":{"name":"punctuation.definition.group.regexp"},"18":{"name":"punctuation.definition.group.regexp"},"19":{"name":"keyword.control.callout.regexp"},"21":{"name":"variable.language.tag-name.regexp"},"22":{"name":"keyword.control.callout.regexp"},"23":{"name":"punctuation.definition.group.regexp"}},"match":"(\\\\()(?\\\\?C)(?:(?\\\\d+)|`(?(?:[^`]|``)*)`|\'(?(?:[^\']|\'\')*)\'|\\"(?(?:[^\\"]|\\"\\")*)\\"|\\\\^(?(?:[^^]|\\\\^\\\\^)*)\\\\^|%(?(?:[^%]|%%)*)%|#(?(?:[^#]|##)*)#|\\\\$(?(?:[^$]|\\\\$\\\\$)*)\\\\$|\\\\{(?(?:[^}]|}})*)})?(\\\\))|(\\\\()(?\\\\*)(?(?!\\\\d)\\\\w+)(?:\\\\[(?(?!\\\\d)\\\\w+)])?(?:\\\\{[^,}]+(?:,[^,}]+)*})?(\\\\))|(\\\\()(?\\\\?)(?>(\\\\{(?:\\\\g<20>|(?!\\\\{).*?)}))(?:\\\\[(?(?!\\\\d)\\\\w+)])?(?[<>X]?)(\\\\))","name":"meta.callout.regexp"},"literals-regular-expression-literal-character-properties":{"captures":{"1":{"name":"support.variable.character-property.regexp"},"2":{"name":"punctuation.definition.character-class.regexp"},"3":{"name":"support.variable.character-property.regexp"},"4":{"name":"punctuation.definition.character-class.regexp"}},"match":"\\\\\\\\[Pp]\\\\{([-\\\\s\\\\w]+(?:=[-\\\\s\\\\w]+)?)}|(\\\\[:)([-\\\\s\\\\w]+(?:=[-\\\\s\\\\w]+)?)(:])","name":"constant.other.character-class.set.regexp"},"literals-regular-expression-literal-custom-char-class":{"patterns":[{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"include":"#literals-regular-expression-literal-custom-char-class-members"}]}]},"literals-regular-expression-literal-custom-char-class-members":{"patterns":[{"match":"\\\\\\\\b","name":"constant.character.escape.backslash.regexp"},{"include":"#literals-regular-expression-literal-custom-char-class"},{"include":"#literals-regular-expression-literal-quote"},{"include":"#literals-regular-expression-literal-set-operators"},{"include":"#literals-regular-expression-literal-unicode-scalars"},{"include":"#literals-regular-expression-literal-character-properties"}]},"literals-regular-expression-literal-group-option-toggle":{"match":"\\\\(\\\\?(?:\\\\^(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*)\\\\)","name":"keyword.other.option-toggle.regexp"},"literals-regular-expression-literal-group-or-conditional":{"patterns":[{"begin":"(\\\\()(\\\\?~)","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.conditional.absent.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.absent.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},{"begin":"(\\\\()(?\\\\?\\\\()(?:(?(?[-+]?\\\\d+)(?:(?[-+])(?\\\\d+))?)|(?R)\\\\g?|(?R&)(?(?(?!\\\\d)\\\\w+)(?:(?[-+])(?\\\\d+))?)|(?<)(?:\\\\g|\\\\g)(?>)|(?\')(?:\\\\g|\\\\g)(?\')|(?DEFINE)|(?VERSION)(?>?=)(?\\\\d+\\\\.\\\\d+))(?\\\\))|(\\\\()(?\\\\?)(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.conditional.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.operator.recursion-level.regexp"},"6":{"name":"constant.numeric.integer.decimal.regexp"},"7":{"name":"keyword.control.conditional.regexp"},"8":{"name":"keyword.control.conditional.regexp"},"10":{"name":"variable.other.group-name.regexp"},"11":{"name":"keyword.operator.recursion-level.regexp"},"12":{"name":"constant.numeric.integer.decimal.regexp"},"13":{"name":"keyword.control.conditional.regexp"},"14":{"name":"keyword.control.conditional.regexp"},"15":{"name":"keyword.control.conditional.regexp"},"16":{"name":"keyword.control.conditional.regexp"},"17":{"name":"keyword.control.conditional.regexp"},"18":{"name":"keyword.control.conditional.regexp"},"19":{"name":"keyword.operator.comparison.regexp"},"20":{"name":"constant.numeric.integer.decimal.regexp"},"21":{"name":"keyword.control.conditional.regexp"},"22":{"name":"punctuation.definition.group.regexp"},"23":{"name":"keyword.control.conditional.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.conditional.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},{"begin":"(\\\\()((\\\\?)(?:([!*:=>|]|<[!*=])|P?<(?:((?!\\\\d)\\\\w+)(-))?((?!\\\\d)\\\\w+)>|\'(?:((?!\\\\d)\\\\w+)(-))?((?!\\\\d)\\\\w+)\'|(?:\\\\^(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*):)|\\\\*(atomic|pla|positive_lookahead|nla|negative_lookahead|plb|positive_lookbehind|nlb|negative_lookbehind|napla|non_atomic_positive_lookahead|naplb|non_atomic_positive_lookbehind|sr|script_run|asr|atomic_script_run):)?+","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.other.group-options.regexp"},"3":{"name":"punctuation.definition.group.regexp"},"4":{"name":"punctuation.definition.group.regexp"},"5":{"name":"variable.other.group-name.regexp"},"6":{"name":"keyword.operator.balancing-group.regexp"},"7":{"name":"variable.other.group-name.regexp"},"8":{"name":"variable.other.group-name.regexp"},"9":{"name":"keyword.operator.balancing-group.regexp"},"10":{"name":"variable.other.group-name.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]}]},"literals-regular-expression-literal-line-comment":{"captures":{"1":{"name":"punctuation.definition.comment.regexp"}},"match":"(#).*$","name":"comment.line.regexp"},"literals-regular-expression-literal-quote":{"begin":"\\\\\\\\Q","beginCaptures":{"0":{"name":"constant.character.escape.backslash.regexp"}},"end":"\\\\\\\\E|(\\\\n)","endCaptures":{"0":{"name":"constant.character.escape.backslash.regexp"},"1":{"name":"invalid.illegal.returns-not-allowed.regexp"}},"name":"string.quoted.other.regexp.swift"},"literals-regular-expression-literal-regex-guts":{"patterns":[{"include":"#literals-regular-expression-literal-quote"},{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.regexp"}},"name":"comment.block.regexp"},{"begin":"<\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.regexp"}},"end":"}>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.regexp"}},"name":"meta.embedded.expression.regexp"},{"include":"#literals-regular-expression-literal-unicode-scalars"},{"include":"#literals-regular-expression-literal-character-properties"},{"match":"[$^]|\\\\\\\\[ABGYZbyz]|\\\\\\\\K","name":"keyword.control.anchor.regexp"},{"include":"#literals-regular-expression-literal-backtracking-directive-or-global-matching-option"},{"include":"#literals-regular-expression-literal-callout"},{"include":"#literals-regular-expression-literal-backreference-or-subpattern"},{"match":"\\\\.|\\\\\\\\[CDHNORSVWXdhsvw]","name":"constant.character.character-class.regexp"},{"match":"\\\\\\\\c.","name":"constant.character.entity.control-character.regexp"},{"match":"\\\\\\\\[^c]","name":"constant.character.escape.backslash.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"match":"[*+?]","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\{(?:\\\\s*\\\\d+\\\\s*(?:,\\\\s*\\\\d*\\\\s*)?}|\\\\s*,\\\\s*\\\\d+\\\\s*})","name":"keyword.operator.quantifier.regexp"},{"include":"#literals-regular-expression-literal-custom-char-class"},{"include":"#literals-regular-expression-literal-group-option-toggle"},{"include":"#literals-regular-expression-literal-group-or-conditional"}]},"literals-regular-expression-literal-set-operators":{"patterns":[{"match":"&&","name":"keyword.operator.intersection.regexp.swift"},{"match":"--","name":"keyword.operator.subtraction.regexp.swift"},{"match":"~~","name":"keyword.operator.symmetric-difference.regexp.swift"}]},"literals-regular-expression-literal-unicode-scalars":{"match":"\\\\\\\\(?:u\\\\{\\\\s*(?:\\\\h+\\\\s*)+}|u\\\\h{4}|x\\\\{\\\\h+}|x\\\\h{0,2}|U\\\\h{8}|o\\\\{[0-7]+}|0[0-7]{0,3}|N\\\\{(?:U\\\\+\\\\h{1,8}|[-\\\\s\\\\w]+)})","name":"constant.character.numeric.regexp"},"literals-string":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"\\"\\"(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.swift","patterns":[{"match":"\\\\G(?:.+(?=\\"\\"\\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"},{"match":"\\\\\\\\\\\\s*\\\\n","name":"constant.character.escape.newline.swift"},{"include":"#literals-string-string-guts"},{"match":"\\\\S((?!\\\\\\\\\\\\().)*(?=\\"\\"\\")","name":"invalid.illegal.content-before-closing-delimiter.swift"}]},{"begin":"#\\"\\"\\"(?!#)(?=(?:[^\\"]|\\"(?!#))*$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"\\"\\"#(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.raw.swift","patterns":[{"match":"\\\\G(?:.+(?=\\"\\"\\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"},{"match":"\\\\\\\\#\\\\s*\\\\n","name":"constant.character.escape.newline.swift"},{"include":"#literals-string-raw-string-guts"},{"match":"\\\\S((?!\\\\\\\\#\\\\().)*(?=\\"\\"\\")","name":"invalid.illegal.content-before-closing-delimiter.swift"}]},{"begin":"(?`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k))"}]},"operators":{"patterns":[{"match":"\\\\b(is\\\\b|as([!?]\\\\B|\\\\b))","name":"keyword.operator.type-casting.swift"},{"begin":"(?=(?[-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030])|\\\\.(\\\\g|[.\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))","end":"(?!\\\\G)","patterns":[{"captures":{"0":{"patterns":[{"match":"\\\\G(\\\\+\\\\+|--)$","name":"keyword.operator.increment-or-decrement.swift"},{"match":"\\\\G([-+])$","name":"keyword.operator.arithmetic.unary.swift"},{"match":"\\\\G!$","name":"keyword.operator.logical.not.swift"},{"match":"\\\\G~$","name":"keyword.operator.bitwise.not.swift"},{"match":".+","name":"keyword.operator.custom.prefix.swift"}]}},"match":"\\\\G(?<=^|[(,:;\\\\[{\\\\s])((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u0300-\u036F\u1DC0-\u1DFF\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u20D0-\u20FF\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))++(?![]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":"\\\\G(\\\\+\\\\+|--)$","name":"keyword.operator.increment-or-decrement.swift"},{"match":"\\\\G!$","name":"keyword.operator.increment-or-decrement.swift"},{"match":".+","name":"keyword.operator.custom.postfix.swift"}]}},"match":"\\\\G(?>|[\\\\&^|]|&&|\\\\|\\\\|)=$","name":"keyword.operator.assignment.compound.swift"},{"match":"\\\\G([-*+/])$","name":"keyword.operator.arithmetic.swift"},{"match":"\\\\G&([-*+])$","name":"keyword.operator.arithmetic.overflow.swift"},{"match":"\\\\G%$","name":"keyword.operator.arithmetic.remainder.swift"},{"match":"\\\\G(==|!=|[<>]|>=|<=|~=)$","name":"keyword.operator.comparison.swift"},{"match":"\\\\G\\\\?\\\\?$","name":"keyword.operator.coalescing.swift"},{"match":"\\\\G(&&|\\\\|\\\\|)$","name":"keyword.operator.logical.swift"},{"match":"\\\\G([\\\\&^|]|<<|>>)$","name":"keyword.operator.bitwise.swift"},{"match":"\\\\G([!=]==)$","name":"keyword.operator.bitwise.swift"},{"match":"\\\\G\\\\?$","name":"keyword.operator.ternary.swift"},{"match":".+","name":"keyword.operator.custom.infix.swift"}]}},"match":"\\\\G((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+/<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u0300-\u036F\u1DC0-\u1DFF\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u20D0-\u20FF\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))++"},{"captures":{"0":{"patterns":[{"match":".+","name":"keyword.operator.custom.prefix.dot.swift"}]}},"match":"\\\\G(?<=^|[(,:;\\\\[{\\\\s])\\\\.((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+./<-?^|~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u0300-\u036F\u1DC0-\u1DFF\u2016\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u20D0-\u20FF\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001\u3002\u3003\u3008-\u3030\uFE00-\uFE0F\uFE20-\uFE2F\\\\x{E0100}-\\\\x{E01EF}]))++(?![]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":".+","name":"keyword.operator.custom.postfix.dot.swift"}]}},"match":"\\\\G(?cV});var sV,cV,qw=s1(()=>{_4();g5();b5();me();J6();We();sV=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":"storage.modifier.inheritance.${3:/downcase}.php"},"4":{"name":"storage.modifier.visibility.${4:/downcase}.php"},"5":{"name":"storage.modifier.static.php"},"6":{"name":"entity.other.alias.php"}},"match":"(?i)\\\\b(as)\\\\s+((final|abstract)|(p(?:ublic|rivate|rotected))|(static))\\\\s+([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)"},{"captures":{"1":{"name":"keyword.other.use-as.php"},"2":{"patterns":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.visibility.${2:/downcase}.php"},"3":{"name":"storage.modifier.static.php"}},"match":"(?i)\\\\b(?:(final|abstract)|(p(?:ublic|rivate|rotected))|(static))\\\\b","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":"storage.type.enum.case.php"},"3":{"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":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.readonly.php"}},"match":"(?i)(final|abstract)|(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.modifier.readonly.php"},"8":{"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":[{"captures":{"1":{"name":"storage.modifier.inheritance.${1:/downcase}.php"},"2":{"name":"storage.modifier.visibility.${2:/downcase}.php"}},"match":"(?i)(final|abstract)|(p(?:ublic|rivate|rotected))","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]+(?)","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":"storage.type.cast.${3:/downcase}.php"},"5":{"name":"punctuation.definition.storage-type.end.bracket.round.php"}},"match":"(?i)(\\\\()\\\\s*((bool|int|float|string|array|object)|(binary|boolean|integer|double|real|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"},{"captures":{"1":{"name":"storage.modifier.global.php"},"2":{"name":"storage.modifier.inheritance.${2:/downcase}.php"},"3":{"name":"storage.modifier.visibility.${3:/downcase}.php"},"4":{"name":"storage.modifier.static.php"}},"match":"(?i)\\\\b(?:(global)|(abstract|final)|(p(?:rivate|rotected|ublic))|(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)\\\\b","name":"keyword.operator.logical.php"},{"match":"(?i)\\\\bas\\\\b","name":"keyword.operator.as.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}]*(?)","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":"(\\\\\\\\?(?)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.function-call.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"begin":"(\\\\\\\\)?(?)","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":"(?i)(?=<<<\\\\s*\'([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)\'\\\\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":{"begin":"(?i)((\\\\$+)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.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.invoke.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},"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"},"2":{"name":"storage.modifier.php"},"3":{"name":"storage.modifier.visibility.${3:/downcase}.php"},"4":{"name":"invalid.illegal.wrong-access-type.phpdoc.php"}},"match":"^\\\\s*\\\\*\\\\s*(@access)\\\\s+(?i:((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":"N(?=\')"},{"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":"(?[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*))\\\\s*(?:(\\\\??->)\\\\s*(\\\\g)|(\\\\[)(?:(\\\\d+)|((\\\\$)\\\\g)|([_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)((\\\\$\\\\{)(?[_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"]}')),cV=[...Y2,...$3,...L3,...L0,...c4,...e2,sV]});var Iw={};h1(Iw,{default:()=>lV});var oV,lV,Bw=s1(()=>{oV=Object.freeze(JSON.parse('{"displayName":"TOML","fileTypes":["toml"],"name":"toml","patterns":[{"include":"#comments"},{"include":"#groups"},{"include":"#key_pair"},{"include":"#invalid"}],"repository":{"comments":{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.toml"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.toml"}},"end":"\\\\n","name":"comment.line.number-sign.toml"}]},"groups":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.section.begin.toml"},"2":{"patterns":[{"match":"[^.\\\\s]+","name":"entity.name.section.toml"}]},"3":{"name":"punctuation.definition.section.begin.toml"}},"match":"^\\\\s*(\\\\[)([^]\\\\[]*)(])","name":"meta.group.toml"},{"captures":{"1":{"name":"punctuation.definition.section.begin.toml"},"2":{"patterns":[{"match":"[^.\\\\s]+","name":"entity.name.section.toml"}]},"3":{"name":"punctuation.definition.section.begin.toml"}},"match":"^\\\\s*(\\\\[\\\\[)([^]\\\\[]*)(]])","name":"meta.group.double.toml"}]},"invalid":{"match":"\\\\S+(\\\\s*(?=\\\\S))?","name":"invalid.illegal.not-allowed-here.toml"},"key_pair":{"patterns":[{"begin":"([-0-9A-Z_a-z]+)\\\\s*(=)\\\\s*","captures":{"1":{"name":"variable.other.key.toml"},"2":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\\\S)(?uV});var pV,uV,Rw=s1(()=>{pV=Object.freeze(JSON.parse('{"displayName":"INI","name":"ini","patterns":[{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ini"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ini"}},"end":"\\\\n","name":"comment.line.number-sign.ini"}]},{"begin":"(^[\\\\t ]+)?(?=;)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ini"}},"end":"(?!\\\\G)","patterns":[{"begin":";","beginCaptures":{"0":{"name":"punctuation.definition.comment.ini"}},"end":"\\\\n","name":"comment.line.semicolon.ini"}]},{"captures":{"1":{"name":"keyword.other.definition.ini"},"2":{"name":"punctuation.separator.key-value.ini"}},"match":"\\\\b([-.0-9A-Z_a-z]+)\\\\b\\\\s*(=)"},{"captures":{"1":{"name":"punctuation.definition.entity.ini"},"3":{"name":"punctuation.definition.entity.ini"}},"match":"^(\\\\[)(.*?)(])","name":"entity.name.section.group-title.ini"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ini"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.ini"}},"name":"string.quoted.single.ini","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.ini"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ini"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ini"}},"name":"string.quoted.double.ini"}],"scopeName":"source.ini","aliases":["properties"]}')),uV=[pV]});var Dw={};h1(Dw,{default:()=>k7});var mV,k7,n9=s1(()=>{mV=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":"(?(\\\\*\\\\*(?=\\\\w)|(?]*+>|(?`+)([^`]|(?!(?(?!`))`)*+\\\\k|\\\\\\\\[-\\\\]!#(-+.>\\\\[\\\\\\\\_`{}]?+|\\\\[((?[^]\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[\\\\g*+])*+](( ?\\\\[[^]]*+])|(\\\\([\\\\t ]*+?[\\\\t ]*+((?[\\"\'])(.*?)\\\\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"]}')),k7=[mV]});var Gw={};h1(Gw,{default:()=>hV});var dV,hV,Ow=s1(()=>{dV=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"]}')),hV=[dV]});var Ww={};h1(Ww,{default:()=>bV});var gV,bV,Uw=s1(()=>{We();gV=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"]}')),bV=[...e2,gV]});var Xw={};h1(Xw,{default:()=>vV});var fV,vV,Kw=s1(()=>{fV=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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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\xB7]|\\\\\\\\\\\\.|[\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\x{EFFFF}])*-(?:[-0-9_a-z\xB7]|\\\\\\\\\\\\.|[\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\\\\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"}')),vV=[fV]});var Yw={};h1(Yw,{default:()=>_V});var yV,_V,Jw=s1(()=>{yV=Object.freeze(JSON.parse('{"displayName":"Batch File","injections":{"L:meta.block.repeat.batchfile":{"patterns":[{"include":"#repeatParameter"}]}},"name":"bat","patterns":[{"include":"#commands"},{"include":"#comments"},{"include":"#constants"},{"include":"#controls"},{"include":"#escaped_characters"},{"include":"#labels"},{"include":"#numbers"},{"include":"#operators"},{"include":"#parens"},{"include":"#strings"},{"include":"#variables"}],"repository":{"command_set":{"patterns":[{"begin":"(?<=^|[@\\\\s])(?i:SET)(?=$|\\\\s)","beginCaptures":{"0":{"name":"keyword.command.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#command_set_inside"}]}]},"command_set_group":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.batchfile"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.batchfile"}},"patterns":[{"include":"#command_set_inside_arithmetic"}]}]},"command_set_inside":{"patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#parens"},{"include":"#command_set_strings"},{"include":"#strings"},{"begin":"([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#parens"},{"include":"#strings"}]},{"begin":"\\\\s+/[Aa]\\\\s+","end":"(?=$\\\\n|[\\\\&)<>|])","name":"meta.expression.set.batchfile","patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.batchfile"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"include":"#command_set_inside_arithmetic"},{"include":"#command_set_group"},{"include":"#variables"}]},{"include":"#command_set_inside_arithmetic"},{"include":"#command_set_group"}]},{"begin":"\\\\s+/[Pp]\\\\s+","end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#command_set_strings"},{"begin":"([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","name":"meta.prompt.set.batchfile","patterns":[{"include":"#strings"}]}]}]},"command_set_inside_arithmetic":{"patterns":[{"include":"#command_set_operators"},{"include":"#numbers"},{"match":",","name":"punctuation.separator.batchfile"}]},"command_set_operators":{"patterns":[{"captures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.augmented.batchfile"}},"match":"([^ ]*)((?:[-*+/]|%%|[\\\\&^|]|<<|>>)=)"},{"match":"[-*+/]|%%|[\\\\&^|]|<<|>>|~","name":"keyword.operator.arithmetic.batchfile"},{"match":"!","name":"keyword.operator.logical.batchfile"},{"captures":{"1":{"name":"variable.other.readwrite.batchfile"},"2":{"name":"keyword.operator.assignment.batchfile"}},"match":"([^ =]*)(=)"}]},"command_set_strings":{"patterns":[{"begin":"(\\")\\\\s*([^ ][^=]*)(=)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.batchfile"},"2":{"name":"variable.other.readwrite.batchfile"},"3":{"name":"keyword.operator.assignment.batchfile"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"include":"#variables"},{"include":"#numbers"},{"include":"#escaped_characters"}]}]},"commands":{"patterns":[{"match":"(?<=^|[@\\\\s])(?i:adprep|append|arp|assoc|at|atmadm|attrib|auditpol|autochk|autoconv|autofmt|bcdboot|bcdedit|bdehdcfg|bitsadmin|bootcfg|brea|cacls|cd|certreq|certutil|change|chcp|chdir|chglogon|chgport|chgusr|chkdsk|chkntfs|choice|cipher|clip|cls|clscluadmin|cluster|cmd|cmdkey|cmstp|color|comp|compact|convert|copy|cprofile|cscript|csvde|date|dcdiag|dcgpofix|dcpromo|defra|del|dfscmd|dfsdiag|dfsrmig|diantz|dir|dirquota|diskcomp|diskcopy|diskpart|diskperf|diskraid|diskshadow|dispdiag|doin|dnscmd|doskey|driverquery|dsacls|dsadd|dsamain|dsdbutil|dsget|dsmgmt|dsmod|dsmove|dsquery|dsrm|edit|endlocal|eraseesentutl|eventcreate|eventquery|eventtriggers|evntcmd|expand|extract|fc|filescrn|find|findstr|finger|flattemp|fonde|forfiles|format|freedisk|fsutil|ftp|ftype|fveupdate|getmac|gettype|gpfixup|gpresult|gpupdate|graftabl|hashgen|hep|helpctr|hostname|icacls|iisreset|inuse|ipconfig|ipxroute|irftp|ismserv|jetpack|klist|ksetup|ktmutil|ktpass|label|ldifd|ldp|lodctr|logman|logoff|lpq|lpr|macfile|makecab|manage-bde|mapadmin|md|mkdir|mklink|mmc|mode|more|mount|mountvol|move|mqbup|mqsvc|mqtgsvc|msdt|msg|msiexec|msinfo32|mstsc|nbtstat|net computer|net group|net localgroup|net print|net session|net share|net start|net stop|net user??|net view|net|netcfg|netdiag|netdom|netsh|netstat|nfsadmin|nfsshare|nfsstat|nlb|nlbmgr|nltest|nslookup|ntackup|ntcmdprompt|ntdsutil|ntfrsutl|openfiles|pagefileconfig|path|pathping|pause|pbadmin|pentnt|perfmon|ping|pnpunatten|pnputil|popd|powercfg|powershell|powershell_ise|print|prncnfg|prndrvr|prnjobs|prnmngr|prnport|prnqctl|prompt|pubprn|pushd|pushprinterconnections|pwlauncher|qappsrv|qprocess|query|quser|qwinsta|rasdial|rcp|rd|rdpsign|regentc|recover|redircmp|redirusr|reg|regini|regsvr32|relog|ren|rename|rendom|repadmin|repair-bde|replace|reset session|rxec|risetup|rmdir|robocopy|route|rpcinfo|rpcping|rsh|runas|rundll32|rwinsta|sc|schtasks|scp|scwcmd|secedit|serverceipoptin|servrmanagercmd|serverweroptin|setspn|setx|sfc|sftp|shadow|shift|showmount|shutdown|sort|ssh|ssh-add|ssh-agent|ssh-keygen|ssh-keyscan|start|storrept|subst|sxstrace|ysocmgr|systeminfo|takeown|tapicfg|taskkill|tasklist|tcmsetup|telnet|tftp|time|timeout|title|tlntadmn|tpmvscmgr|tacerpt|tracert|tree|tscon|tsdiscon|tsecimp|tskill|tsprof|type|typeperf|tzutil|uddiconfig|umount|unlodctr|ver|verifier|verif|vol|vssadmin|w32tm|waitfor|wbadmin|wdsutil|wecutil|wevtutil|where|whoami|winnt|winnt32|winpop|winrm|winrs|winsat|wlbs|wmic|wscript|wsl|xcopy)(?=$|\\\\s)","name":"keyword.command.batchfile"},{"begin":"(?i)(?<=^|[@\\\\s])(echo)(?:(?=$|[.:])|\\\\s+(?:(o(?:n|ff))(?=\\\\s*$))?)","beginCaptures":{"1":{"name":"keyword.command.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","patterns":[{"include":"#escaped_characters"},{"include":"#variables"},{"include":"#numbers"},{"include":"#strings"}]},{"captures":{"1":{"name":"keyword.command.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"match":"(?i)(?<=^|[@\\\\s])(setlocal)(?:\\\\s*$|\\\\s+((?:En|Dis)able(?:Extensions|DelayedExpansion))(?=\\\\s*$))"},{"include":"#command_set"}]},"comments":{"patterns":[{"begin":"(?:^|(&))\\\\s*(?=(:[ +,:;=]))","beginCaptures":{"1":{"name":"keyword.operator.conditional.batchfile"}},"end":"\\\\n","patterns":[{"begin":"(:[ +,:;=])","beginCaptures":{"1":{"name":"punctuation.definition.comment.batchfile"}},"end":"(?=\\\\n)","name":"comment.line.colon.batchfile"}]},{"begin":"(?<=^|[@\\\\s])(?i)(REM)(\\\\.)","beginCaptures":{"1":{"name":"keyword.command.rem.batchfile"},"2":{"name":"punctuation.separator.batchfile"}},"end":"(?=$\\\\n|[\\\\&)<>|])","name":"comment.line.rem.batchfile"},{"begin":"(?<=^|[@\\\\s])(?i:rem)\\\\b","beginCaptures":{"0":{"name":"keyword.command.rem.batchfile"}},"end":"\\\\n","name":"comment.line.rem.batchfile","patterns":[{"match":"[<>|]","name":"invalid.illegal.unexpected-character.batchfile"}]}]},"constants":{"patterns":[{"match":"\\\\b(?i:NUL)\\\\b","name":"constant.language.batchfile"}]},"controls":{"patterns":[{"match":"(?i)(?<=^|\\\\s)(?:call|exit(?=$|\\\\s)|goto(?=$|[:\\\\s]))","name":"keyword.control.statement.batchfile"},{"captures":{"1":{"name":"keyword.control.conditional.batchfile"},"2":{"name":"keyword.operator.logical.batchfile"},"3":{"name":"keyword.other.special-method.batchfile"}},"match":"(?<=^|\\\\s)(?i)(if)\\\\s+(?:(not)\\\\s+)?(exist|defined|errorlevel|cmdextversion)(?=\\\\s)"},{"match":"(?<=^|\\\\s)(?i)(?:if|else)(?=$|\\\\s)","name":"keyword.control.conditional.batchfile"},{"begin":"(?<=^|[\\\\&(^\\\\s])(?i)for(?=\\\\s)","beginCaptures":{"0":{"name":"keyword.control.repeat.batchfile"}},"end":"\\\\n","name":"meta.block.repeat.batchfile","patterns":[{"begin":"(?<=[\\\\^\\\\s])(?i)in(?=\\\\s)","beginCaptures":{"0":{"name":"keyword.control.repeat.in.batchfile"}},"end":"(?<=[)^\\\\s])(?i)do(?=\\\\s)|\\\\n","endCaptures":{"0":{"name":"keyword.control.repeat.do.batchfile"}},"patterns":[{"include":"$self"}]},{"include":"$self"}]}]},"escaped_characters":{"patterns":[{"match":"%%|\\\\^\\\\^!|\\\\^(?=.)|\\\\^\\\\n","name":"constant.character.escape.batchfile"}]},"labels":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.batchfile"},"2":{"name":"keyword.other.special-method.batchfile"}},"match":"(?i)(?:^\\\\s*|(?<=call|goto)\\\\s*)(:)([^+,:;=\\\\s]\\\\S*)"}]},"numbers":{"patterns":[{"match":"(?<=^|[=\\\\s])(0[Xx]\\\\h*|[-+]?\\\\d+)(?=$|[<>\\\\s])","name":"constant.numeric.batchfile"}]},"operators":{"patterns":[{"match":"@(?=\\\\S)","name":"keyword.operator.at.batchfile"},{"match":"(?<=\\\\s)(?i:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?=\\\\s)|==","name":"keyword.operator.comparison.batchfile"},{"match":"(?<=\\\\s)(?i)(NOT)(?=\\\\s)","name":"keyword.operator.logical.batchfile"},{"match":"(?<!\\\\^)&&?|\\\\|\\\\|","name":"keyword.operator.conditional.batchfile"},{"match":"(?<!\\\\^)\\\\|","name":"keyword.operator.pipe.batchfile"},{"match":"<&?|>[\\\\&>]?","name":"keyword.operator.redirection.batchfile"}]},"parens":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.batchfile"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.batchfile"}},"name":"meta.group.batchfile","patterns":[{"match":"[,;]","name":"punctuation.separator.batchfile"},{"include":"$self"}]}]},"repeatParameter":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.batchfile"}},"match":"(%%)(?i:~[adfnpstxz]*(?:\\\\$PATH:)?)?[A-Za-z]","name":"variable.parameter.repeat.batchfile"}]},"strings":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.batchfile"}},"end":"(\\")|(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.batchfile"},"2":{"name":"invalid.illegal.newline.batchfile"}},"name":"string.quoted.double.batchfile","patterns":[{"match":"%%","name":"constant.character.escape.batchfile"},{"include":"#variables"}]}]},"variable":{"patterns":[{"begin":"%(?=[^%]+%)","beginCaptures":{"0":{"name":"punctuation.definition.variable.begin.batchfile"}},"end":"(%)|\\\\n","endCaptures":{"1":{"name":"punctuation.definition.variable.end.batchfile"}},"name":"variable.other.readwrite.batchfile","patterns":[{"begin":":~","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n%])","name":"meta.variable.substring.batchfile","patterns":[{"include":"#variable_substring"}]},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n%])","name":"meta.variable.substitution.batchfile","patterns":[{"include":"#variable_replace"},{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n%])","patterns":[{"include":"#variable_delayed_expansion"},{"match":"[^%]+","name":"string.unquoted.batchfile"}]}]}]}]},"variable_delayed_expansion":{"patterns":[{"begin":"!(?=[^!]+!)","beginCaptures":{"0":{"name":"punctuation.definition.variable.begin.batchfile"}},"end":"(!)|\\\\n","endCaptures":{"1":{"name":"punctuation.definition.variable.end.batchfile"}},"name":"variable.other.readwrite.batchfile","patterns":[{"begin":":~","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n!])","name":"meta.variable.substring.batchfile","patterns":[{"include":"#variable_substring"}]},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n!])","name":"meta.variable.substitution.batchfile","patterns":[{"include":"#escaped_characters"},{"include":"#variable_replace"},{"include":"#variable"},{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.batchfile"}},"end":"(?=[\\\\n!])","patterns":[{"include":"#variable"},{"match":"[^!]+","name":"string.unquoted.batchfile"}]}]}]}]},"variable_replace":{"patterns":[{"match":"[^\\\\n!%=]+","name":"string.unquoted.batchfile"}]},"variable_substring":{"patterns":[{"captures":{"1":{"name":"constant.numeric.batchfile"},"2":{"name":"punctuation.separator.batchfile"},"3":{"name":"constant.numeric.batchfile"}},"match":"([-+]?\\\\d+)(?:(,)([-+]?\\\\d+))?"}]},"variables":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.batchfile"}},"match":"(%)(?:(?i:~[adfnpstxz]*(?:\\\\$PATH:)?)?\\\\d|\\\\*)","name":"variable.parameter.batchfile"},{"include":"#variable"},{"include":"#variable_delayed_expansion"}]}},"scopeName":"source.batchfile","aliases":["batch","cmd"]}')),_V=[yV]});var Qw={};h1(Qw,{default:()=>xV});var wV,xV,ex=s1(()=>{wV=Object.freeze(JSON.parse('{"displayName":"PowerShell","name":"powershell","patterns":[{"begin":"<#","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.powershell"}},"end":"#>","endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.powershell"}},"name":"comment.block.powershell","patterns":[{"include":"#commentEmbeddedDocs"}]},{"match":"[2-6]>&1|>>?|<<|[<>]|>\\\\||[1-6]>|[1-6]>>","name":"keyword.operator.redirection.powershell"},{"include":"#commands"},{"include":"#commentLine"},{"include":"#variable"},{"include":"#subexpression"},{"include":"#function"},{"include":"#attribute"},{"include":"#UsingDirective"},{"include":"#type"},{"include":"#hashtable"},{"include":"#doubleQuotedString"},{"include":"#scriptblock"},{"include":"#doubleQuotedStringEscapes"},{"applyEndPatternLast":true,"begin":"[\'\u2018-\u201B]","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"end":"[\'\u2018-\u201B]","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.single.powershell","patterns":[{"match":"[\'\u2018-\u201B]{2}","name":"constant.character.escape.powershell"}]},{"begin":"(@[\\"\u201C\u201D\u201E])\\\\s*$","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"end":"^[\\"\u201C\u201D\u201E]@","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.double.heredoc.powershell","patterns":[{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"include":"#interpolation"}]},{"begin":"(@[\'\u2018-\u201B])\\\\s*$","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"end":"^[\'\u2018-\u201B]@","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.single.heredoc.powershell"},{"include":"#numericConstant"},{"begin":"(@)(\\\\()","beginCaptures":{"1":{"name":"keyword.other.array.begin.powershell"},"2":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.array-expression.powershell","patterns":[{"include":"$self"}]},{"begin":"((\\\\$))(\\\\()","beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.subexpression.powershell"},"3":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.complex.subexpression.powershell","patterns":[{"include":"$self"}]},{"match":"\\\\b((([-.0-9A-Z_a-z]+)\\\\.(?i:exe|com|cmd|bat)))\\\\b","name":"support.function.powershell"},{"match":"(?<![-.\\\\w])((?i:begin|break|catch|clean|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|[%?])(?!\\\\w)","name":"keyword.control.powershell"},{"match":"(?<![-\\\\w]|[^)]\\\\.)((?i:(foreach|where)(?!-object))|[%?])(?!\\\\w)","name":"keyword.control.powershell"},{"begin":"(?<!\\\\w)(--%)(?!\\\\w)","beginCaptures":{"1":{"name":"keyword.control.powershell"}},"end":"$","patterns":[{"match":".+","name":"string.unquoted.powershell"}]},{"match":"(?<!\\\\w)((?i:hidden|static))(?!\\\\w)","name":"storage.modifier.powershell"},{"captures":{"1":{"name":"storage.type.powershell"},"2":{"name":"entity.name.function"}},"match":"(?<![-\\\\w])((?i:class)|[%?])\\\\s+([-_\\\\p{L}\\\\d]?{1,})\\\\b"},{"match":"(?<!\\\\w)-(?i:is(?:not)?|as)\\\\b","name":"keyword.operator.comparison.powershell"},{"match":"(?<!\\\\w)-(?i:[ci]?(?:eq|ne|[gl][et]|(?:not)?(?:like|match|contains|in)|replace))(?!\\\\p{L})","name":"keyword.operator.comparison.powershell"},{"match":"(?<!\\\\w)-(?i:join|split)(?!\\\\p{L})|!","name":"keyword.operator.unary.powershell"},{"match":"(?<!\\\\w)-(?i:and|or|not|xor)(?!\\\\p{L})|!","name":"keyword.operator.logical.powershell"},{"match":"(?<!\\\\w)-(?i:band|bor|bnot|bxor|shl|shr)(?!\\\\p{L})","name":"keyword.operator.bitwise.powershell"},{"match":"(?<!\\\\w)-(?i:f)(?!\\\\p{L})","name":"keyword.operator.string-format.powershell"},{"match":"[-%*+/]?=|[-%*+/]","name":"keyword.operator.assignment.powershell"},{"match":"\\\\|{2}|&{2}|;","name":"punctuation.terminator.statement.powershell"},{"match":"&|(?<!\\\\w)\\\\.(?= )|[,`|]","name":"keyword.operator.other.powershell"},{"match":"(?<!\\\\s|^)\\\\.\\\\.(?=-?\\\\d|[$(])","name":"keyword.operator.range.powershell"}],"repository":{"RequiresDirective":{"begin":"(?<=#)(?i:(requires))\\\\s","beginCaptures":{"0":{"name":"keyword.control.requires.powershell"}},"end":"$","name":"meta.requires.powershell","patterns":[{"match":"-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version|Assembly|PSEdition)","name":"keyword.other.powershell"},{"match":"(?<!-)\\\\b\\\\p{L}+|\\\\d+(?:\\\\.\\\\d+)*","name":"variable.parameter.powershell"},{"include":"#hashtable"}]},"UsingDirective":{"captures":{"1":{"name":"keyword.control.using.powershell"},"2":{"name":"keyword.other.powershell"},"3":{"name":"variable.parameter.powershell"}},"match":"(?<!\\\\w)(?i:(using))\\\\s+(?i:(namespace|module))\\\\s+(?i:((?:\\\\w+\\\\.?)+))"},"attribute":{"begin":"(\\\\[)\\\\s*\\\\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength|supportswildcards)\\\\b","beginCaptures":{"1":{"name":"punctuation.section.bracket.begin.powershell"},"2":{"name":"support.function.attribute.powershell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.section.bracket.end.powershell"}},"name":"meta.attribute.powershell","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"patterns":[{"include":"$self"},{"captures":{"1":{"name":"variable.parameter.attribute.powershell"},"2":{"name":"keyword.operator.assignment.powershell"}},"match":"(?i)\\\\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\\\\b\\\\s+{0,1}(=)?"}]}]},"commands":{"patterns":[{"match":"(?:([-:\\\\\\\\_\\\\p{L}\\\\d])*\\\\\\\\)?\\\\b(?i:Add|Approve|Assert|Backup|Block|Build|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Deploy|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Mount|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Write)-.+?(?:\\\\.(?i:exe|cmd|bat|ps1))?\\\\b","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:foreach-object)(?!\\\\w)","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:where-object)(?!\\\\w)","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:sort-object)(?!\\\\w)","name":"support.function.powershell"},{"match":"(?<!\\\\w)(?i:tee-object)(?!\\\\w)","name":"support.function.powershell"}]},"commentEmbeddedDocs":{"patterns":[{"captures":{"1":{"name":"constant.string.documentation.powershell"},"2":{"name":"keyword.operator.documentation.powershell"}},"match":"(?:^|\\\\G)(?i:\\\\s*(\\\\.)(COMPONENT|DESCRIPTION|EXAMPLE|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|ROLE|SYNOPSIS))\\\\s*$","name":"comment.documentation.embedded.powershell"},{"captures":{"1":{"name":"constant.string.documentation.powershell"},"2":{"name":"keyword.operator.documentation.powershell"},"3":{"name":"keyword.operator.documentation.powershell"}},"match":"(?:^|\\\\G)(?i:\\\\s*(\\\\.)(EXTERNALHELP|FORWARDHELP(?:CATEGORY|TARGETNAME)|PARAMETER|REMOTEHELPRUNSPACE))\\\\s+(.+?)\\\\s*$","name":"comment.documentation.embedded.powershell"}]},"commentLine":{"begin":"(?<![-\\\\\\\\`])(#)#*","captures":{"1":{"name":"punctuation.definition.comment.powershell"}},"end":"$\\\\n?","name":"comment.line.powershell","patterns":[{"include":"#commentEmbeddedDocs"},{"include":"#RequiresDirective"}]},"doubleQuotedString":{"applyEndPatternLast":true,"begin":"[\\"\u201C\u201D\u201E]","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"end":"[\\"\u201C\u201D\u201E]","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.double.powershell","patterns":[{"match":"(?i)\\\\b[-%+.0-9A-Z_]+@[-.0-9A-Z]+\\\\.[A-Z]{2,64}\\\\b"},{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"match":"[\\"\u201C\u201D\u201E]{2}","name":"constant.character.escape.powershell"},{"include":"#interpolation"},{"match":"`\\\\s*$","name":"keyword.other.powershell"}]},"doubleQuotedStringEscapes":{"patterns":[{"match":"`[\\"$\'0`abefnrtv\u2018-\u201E]","name":"constant.character.escape.powershell"},{"include":"#unicodeEscape"}]},"function":{"begin":"^\\\\s*+(?i)(function|filter|configuration|workflow)\\\\s+(?:(global|local|script|private):)?([-._\\\\p{L}\\\\d]+)","beginCaptures":{"0":{"name":"meta.function.powershell"},"1":{"name":"storage.type.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"3":{"name":"entity.name.function.powershell"}},"end":"(?=[({])","patterns":[{"include":"#commentLine"}]},"hashtable":{"begin":"(@)(\\\\{)","beginCaptures":{"1":{"name":"keyword.other.hashtable.begin.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.braces.end.powershell"}},"name":"meta.hashtable.powershell","patterns":[{"captures":{"1":{"name":"punctuation.definition.string.begin.powershell"},"2":{"name":"variable.other.readwrite.powershell"},"3":{"name":"punctuation.definition.string.end.powershell"},"4":{"name":"keyword.operator.assignment.powershell"}},"match":"\\\\b([\\"\']?)(\\\\w+)([\\"\']?)\\\\s+{0,1}(=)\\\\s+{0,1}","name":"meta.hashtable.assignment.powershell"},{"include":"#scriptblock"},{"include":"$self"}]},"interpolation":{"begin":"(((\\\\$)))((\\\\())","beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.substatement.powershell"},"3":{"name":"punctuation.section.embedded.substatement.begin.powershell"},"4":{"name":"punctuation.section.group.begin.powershell"},"5":{"name":"punctuation.section.embedded.substatement.begin.powershell"}},"contentName":"interpolated.complex.source.powershell","end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"},"1":{"name":"punctuation.section.embedded.substatement.end.powershell"}},"name":"meta.embedded.substatement.powershell","patterns":[{"include":"$self"}]},"numericConstant":{"patterns":[{"captures":{"1":{"name":"constant.numeric.hex.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?0[Xx][_\\\\h]+(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+{0,1}\\\\.[0-9_]+(?:[Ee][0-9]+)?[DFMdfm]?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.octal.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?0[Bb][01_]+(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+[Ee][0-9_]?+[DFMdfm]?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+\\\\.[Ee][0-9_]?+[DFMdfm]?)((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+\\\\.?[DFMdfm])((?i:[gkmpt]b)?)\\\\b"},{"captures":{"1":{"name":"constant.numeric.integer.powershell"},"2":{"name":"keyword.other.powershell"}},"match":"(?<!\\\\w)([-+]?[0-9_]+\\\\.?(?:[LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[gkmpt]b)?)\\\\b"}]},"scriptblock":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.powershell"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.powershell"}},"name":"meta.scriptblock.powershell","patterns":[{"include":"$self"}]},"subexpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.simple.subexpression.powershell","patterns":[{"include":"$self"}]},"type":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.bracket.begin.powershell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.bracket.end.powershell"}},"patterns":[{"match":"(?!\\\\d+|\\\\.)[.\\\\p{L}\\\\p{N}]+","name":"storage.type.powershell"},{"include":"$self"}]},"unicodeEscape":{"patterns":[{"match":"`u\\\\{(?:(?:10)?(\\\\h){1,4}|0?\\\\g<1>{1,5})}","name":"constant.character.escape.powershell"},{"match":"`u(?:\\\\{\\\\h{0,6}.)?","name":"invalid.character.escape.powershell"}]},"variable":{"patterns":[{"captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}},"match":"(\\\\$)(?i:(False|Null|True))\\\\b"},{"captures":{"0":{"name":"variable.other.constant.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?\\\\b"},{"captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)([$?^]|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\\\b)((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?\\\\b"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:([$@])(global|local|private|script|using|workflow):([_\\\\p{L}\\\\d]+))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"storage.modifier.scope.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)(global|local|private|script|using|workflow):([^}]*[^`}])(}))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:([$@])([_\\\\p{L}\\\\d]+:)?([_\\\\p{L}\\\\d]+))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)([_\\\\p{L}\\\\d]+:)?([^}]*[^`}])(}))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"}]},"variableNoProperty":{"patterns":[{"captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}},"match":"(\\\\$)(?i:(False|Null|True))\\\\b"},{"captures":{"0":{"name":"variable.other.constant.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))\\\\b"},{"captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)([$?^]|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\\\b)"},{"captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))\\\\b"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(global|local|private|script|using|workflow):([_\\\\p{L}\\\\d]+))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"keyword.other.powershell"},"5":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)(global|local|private|script|using|workflow):([^}]*[^`}])(}))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)([_\\\\p{L}\\\\d]+:)?([_\\\\p{L}\\\\d]+))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end"}},"match":"(?i:(\\\\$)(\\\\{)([_\\\\p{L}\\\\d]+:)?([^}]*[^`}])(}))"}]}},"scopeName":"source.powershell","aliases":["ps","ps1","pwsh"]}')),xV=[wV]});var tx={};h1(tx,{default:()=>zV});var kV,zV,nx=s1(()=>{kV=Object.freeze(JSON.parse('{"displayName":"Fish","name":"fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#comment"},{"include":"#subshell-bare"},{"include":"#subshell"},{"include":"#command"},{"include":"#keywords"},{"include":"#io-redirection"},{"include":"#operators"},{"include":"#options"},{"include":"#variable"},{"include":"#escape"}],"repository":{"command":{"captures":{"2":{"name":"keyword.operator.pipe.fish"},"3":{"name":"keyword.control.fish"},"5":{"name":"support.function.command.fish"}},"match":"(^\\\\s*|&&\\\\s*|(\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|\\\\b(if|while)\\\\b\\\\s+)(?!(?<!\\\\.)\\\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\\\b(?![!?]))([-\\\\].0-9A-\\\\[_a-z]+)"},"command-subshell":{"captures":{"2":{"name":"keyword.operator.pipe.fish"},"3":{"name":"keyword.control.fish"},"5":{"name":"support.function.command.fish"}},"match":"(\\\\G\\\\s*|&&\\\\s*|(\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|\\\\b(if|while)\\\\b\\\\s+)(?!(?<!\\\\.)\\\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\\\b(?![!?]))([-\\\\].0-9A-\\\\[_a-z]+)"},"comment":{"captures":{"1":{"name":"punctuation.definition.comment.fish"}},"match":"(?<!\\\\$)(#)(?!\\\\{).*$\\\\n?","name":"comment.line.number-sign.fish"},"escape":{"patterns":[{"match":"\\\\\\\\[] \\"#$\\\\&-*;<>?\\\\[^abefnrtv{-~]","name":"constant.character.escape.string.fish"},{"match":"\\\\\\\\x\\\\h{1,2}","name":"constant.character.escape.hex-ascii.fish"},{"match":"\\\\\\\\X\\\\h{1,2}","name":"constant.character.escape.hex-byte.fish"},{"match":"\\\\\\\\[0-7]{1,3}","name":"constant.character.escape.octal.fish"},{"match":"\\\\\\\\u\\\\h{1,4}","name":"constant.character.escape.unicode-16-bit.fish"},{"match":"\\\\\\\\U\\\\h{1,8}","name":"constant.character.escape.unicode-32-bit.fish"},{"match":"\\\\\\\\c[A-Za-z]","name":"constant.character.escape.control.fish"}]},"io-redirection":{"patterns":[{"captures":{"1":{"name":"keyword.operator.redirect.fish"},"2":{"name":"keyword.operator.redirect.target.fish"}},"match":"(<|(?:[>^]|>>|\\\\^\\\\^)(?:&[-012])?|[012](?:[<>]|>>)(?:&[-012])?)\\\\s*(?!\\\\()([\\\\--9A-Z_a-z]+)"},{"match":"<|([>^]|>>|\\\\^\\\\^)(&[-012])?|[012]([<>]|>>)(&[-012])?","name":"keyword.operator.redirect.fish"}]},"keywords":{"patterns":[{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(^\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|(?<=\\\\bwhile\\\\b)\\\\s+|(?<=\\\\bif\\\\b)\\\\s+|(?<=\\\\band\\\\b)\\\\s+|(?<=\\\\bor\\\\b)\\\\s+|(?<=\\\\bnot\\\\b)\\\\s+)(?<!\\\\.)\\\\b(while|if|and|or|not)\\\\b(?![!?])"},{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(^\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*)(?<!\\\\.)\\\\b(function|else|switch|case|for|begin|end|continue|break|return|source|exit|wait)\\\\b(?![!?])"},{"match":"\\\\b(in)\\\\b(?![!?])","name":"keyword.control.fish"}]},"keywords-subshell":{"patterns":[{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(\\\\G\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|(?<=\\\\bwhile\\\\b)\\\\s+|(?<=\\\\bif\\\\b)\\\\s+|(?<=\\\\band\\\\b)\\\\s+|(?<=\\\\bor\\\\b)\\\\s+|(?<=\\\\bnot\\\\b)\\\\s+)(?<!\\\\.)\\\\b(while|if|and|or|not)\\\\b(?![!?])"},{"captures":{"2":{"name":"keyword.control.fish"}},"match":"(\\\\G\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*)(?<!\\\\.)\\\\b(function|else|switch|case|for|begin|end|continue|break|return|source|exit|wait)\\\\b(?![!?])"},{"match":"\\\\b(in)\\\\b(?![!?])","name":"keyword.control.fish"}]},"operators":{"patterns":[{"match":"&","name":"keyword.operator.background.fish"},{"match":"\\\\*\\\\*|[*?]","name":"keyword.operator.glob.fish"}]},"options":{"captures":{"1":{"name":"source.option.fish"}},"match":"\\\\s(-{1,2}[-0-9A-Z_a-z]+|-\\\\w)\\\\b"},"slice":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.slice.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(])","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.slice.end.fish"}},"name":"meta.embedded.slice.fish variable.interpolation.fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#subshell-bare"},{"include":"#subshell"},{"include":"#variable"},{"include":"#escape"}]},"slice-string-double":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.slice.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(])","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.slice.end.fish"}},"name":"meta.embedded.slice.fish variable.interpolation.string.fish","patterns":[{"include":"#subshell"},{"include":"#variable"},{"match":"\\\\\\\\([\\"$]|$|\\\\\\\\)","name":"constant.character.escape.fish"}]},"string-double":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fish"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.fish"}},"name":"string.quoted.double.fish","patterns":[{"include":"#subshell"},{"include":"#variable-string-double"},{"match":"\\\\\\\\([\\"$]|$|\\\\\\\\)","name":"constant.character.escape.fish"}]},"string-single":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fish"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.fish"}},"name":"string.quoted.single.fish","patterns":[{"match":"\\\\\\\\([\'\\\\\\\\`])","name":"constant.character.escape.fish"}]},"subshell":{"begin":"\\\\$\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.subshell.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(\\\\))","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.subshell.end.fish"}},"name":"meta.embedded.subshell.fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#comment"},{"include":"#keywords-subshell"},{"include":"#command-subshell"},{"include":"#io-redirection"},{"include":"#operators"},{"include":"#options"},{"include":"#subshell"},{"include":"#variable"},{"include":"#escape"}]},"subshell-bare":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.subshell.begin.fish"}},"end":"(?<!\\\\\\\\)((\\\\\\\\\\\\\\\\)*)(\\\\))","endCaptures":{"1":{"name":"constant.character.escape.string.fish"},"3":{"name":"punctuation.definition.subshell.end.fish"}},"name":"meta.embedded.subshell.fish","patterns":[{"include":"#string-double"},{"include":"#string-single"},{"include":"#comment"},{"include":"#keywords-subshell"},{"include":"#command-subshell"},{"include":"#io-redirection"},{"include":"#operators"},{"include":"#options"},{"include":"#subshell-bare"},{"include":"#subshell"},{"include":"#variable"},{"include":"#escape"}]},"variable":{"patterns":[{"begin":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.language.fish"}},"end":"(?<=])","name":"variable.language.fish","patterns":[{"include":"#slice"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b","name":"variable.language.fish"},{"begin":"(\\\\$)([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.other.normal.fish"}},"end":"(?<=])","name":"variable.other.normal.fish","patterns":[{"include":"#slice"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.normal.fish"}]},"variable-string-double":{"patterns":[{"begin":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.language.fish"}},"end":"(?<=])","name":"variable.language.fish","patterns":[{"include":"#slice-string-double"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b","name":"variable.language.fish"},{"begin":"(\\\\$)([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.variable.fish"},"2":{"name":"variable.other.normal.fish"}},"end":"(?<=])","name":"variable.other.normal.fish","patterns":[{"include":"#slice-string-double"}]},{"captures":{"1":{"name":"punctuation.definition.variable.fish"}},"match":"(\\\\$)[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.normal.fish"}]}},"scopeName":"source.fish"}')),zV=[kV]});var ax={};h1(ax,{default:()=>AV});var CV,AV,ix=s1(()=>{CV=Object.freeze(JSON.parse('{"displayName":"dotEnv","name":"dotenv","patterns":[{"captures":{"1":{"patterns":[{"include":"#line-comment"}]}},"match":"^\\\\s?(#.*)$\\\\n"},{"captures":{"1":{"patterns":[{"include":"#key"}]},"2":{"name":"keyword.operator.assignment.dotenv"},"3":{"name":"constant.numeric.dotenv"},"4":{"name":"comment.line.dotenv"}},"match":"^([\\\\t ]*(?:export[\\\\t ]+)?[-.\\\\w]+[\\\\t ]*)(=)[\\\\t ]*([-+]?[0-9](?:[0-9_]*[0-9])?(?:\\\\.[0-9](?:[0-9_]*[0-9])?)?)[\\\\t ]*(#.*)?$"},{"captures":{"1":{"patterns":[{"include":"#key"}]},"2":{"name":"keyword.operator.assignment.dotenv"},"3":{"name":"property.value.dotenv","patterns":[{"include":"#line-comment"},{"include":"#double-quoted-string"},{"include":"#single-quoted-string"},{"include":"#interpolation"}]}},"match":"^\\\\s?(.*?)\\\\s?(=)(.*)$"}],"repository":{"double-quoted-string":{"captures":{"1":{"patterns":[{"include":"#interpolation"},{"include":"#escape-characters"}]}},"match":"\\"(.*)\\"","name":"string.quoted.double.dotenv"},"escape-characters":{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|u[0-9A-F]{4})","name":"constant.character.escape.dotenv"},"interpolation":{"captures":{"1":{"name":"keyword.interpolation.begin.dotenv"},"2":{"name":"variable.interpolation.dotenv"},"3":{"name":"keyword.interpolation.end.dotenv"}},"match":"(\\\\$\\\\{)(.*)(})"},"key":{"captures":{"1":{"name":"keyword.key.export.dotenv"},"2":{"name":"variable.key.dotenv","patterns":[{"include":"#variable"}]}},"match":"(export\\\\s)?(.*)"},"line-comment":{"match":"#.*$","name":"comment.line.dotenv"},"single-quoted-string":{"match":"\'(.*)\'","name":"string.quoted.single.dotenv"},"variable":{"match":"[A-Z_a-z]+[0-9A-Z_a-z]*"}},"scopeName":"source.dotenv"}')),AV=[CV]});var rx={};h1(rx,{default:()=>$V});var MV,$V,sx=s1(()=>{MV=Object.freeze(JSON.parse('{"displayName":"Log file","fileTypes":["log"],"name":"log","patterns":[{"match":"\\\\b([Tt]race|TRACE)\\\\b:?","name":"comment log.verbose"},{"match":"(?i)\\\\[(v(?:erbose|erb|rb|b?))]","name":"comment log.verbose"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bV\\\\b","name":"comment log.verbose"},{"match":"\\\\b(D(?:EBUG|ebug))\\\\b|(?i)\\\\b(debug):","name":"markup.changed log.debug"},{"match":"(?i)\\\\[(d(?:ebug|bug|bg|e?))]","name":"markup.changed log.debug"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bD\\\\b","name":"markup.changed log.debug"},{"match":"\\\\b(HINT|INFO|INFORMATION|Info|NOTICE|II)\\\\b|(?i)\\\\b(info(?:|rmation)):","name":"markup.inserted log.info"},{"match":"(?i)\\\\[(i(?:nformation|nfo?|n?))]","name":"markup.inserted log.info"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bI\\\\b","name":"markup.inserted log.info"},{"match":"\\\\b(W(?:ARNING|ARN|arn|W))\\\\b|(?i)\\\\b(warning):","name":"markup.deleted log.warning"},{"match":"(?i)\\\\[(w(?:arning|arn|rn|n?))]","name":"markup.deleted log.warning"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bW\\\\b","name":"markup.deleted log.warning"},{"match":"\\\\b(ALERT|CRITICAL|EMERGENCY|ERROR|FAILURE|FAIL|Fatal|FATAL|Error|EE)\\\\b|(?i)\\\\b(error):","name":"string.regexp, strong log.error"},{"match":"(?i)\\\\[(error|eror|err?|e|fatal|fatl|ftl|fa?)]","name":"string.regexp, strong log.error"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bE\\\\b","name":"string.regexp, strong log.error"},{"match":"\\\\b\\\\d{4}-\\\\d{2}-\\\\d{2}(?=T|\\\\b)","name":"comment log.date"},{"match":"(?<=(^|\\\\s))\\\\d{2}[^\\\\w\\\\s]\\\\d{2}[^\\\\w\\\\s]\\\\d{4}\\\\b","name":"comment log.date"},{"match":"T?\\\\d{1,2}:\\\\d{2}(:\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}:\\\\d{2})?\\\\b","name":"comment log.date"},{"match":"T\\\\d{2}\\\\d{2}(\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}\\\\d{2})?\\\\b","name":"comment log.date"},{"match":"\\\\b(\\\\h{40}|\\\\h{10}|\\\\h{7})\\\\b","name":"constant.language"},{"match":"\\\\b\\\\h{8}-?(\\\\h{4}-?){3}\\\\h{12}\\\\b","name":"constant.language log.constant"},{"match":"\\\\b(\\\\h{2,}[-:])+\\\\h{2,}+\\\\b","name":"constant.language log.constant"},{"match":"\\\\b([0-9]+|true|false|null)\\\\b","name":"constant.language log.constant"},{"match":"\\\\b(0x\\\\h+)\\\\b","name":"constant.language log.constant"},{"match":"\\"[^\\"]*\\"","name":"string log.string"},{"match":"(?<!\\\\w)\'[^\']*\'","name":"string log.string"},{"match":"\\\\b([.A-Za-z]*Exception)\\\\b","name":"string.regexp, emphasis log.exceptiontype"},{"begin":"^[\\\\t ]*at[\\\\t ]","end":"$","name":"string.key, emphasis log.exception"},{"match":"\\\\b[a-z]+://\\\\S+\\\\b/?","name":"constant.language log.constant"},{"match":"(?<![/\\\\\\\\\\\\w])([-\\\\w]+\\\\.)+([-\\\\w])+(?![/\\\\\\\\\\\\w])","name":"constant.language log.constant"}],"scopeName":"text.log"}')),$V=[MV]});var cx={};h1(cx,{default:()=>SV});var LV,SV,ox=s1(()=>{LV=Object.freeze(JSON.parse('{"displayName":"CSV","fileTypes":["csv"],"name":"csv","patterns":[{"captures":{"1":{"name":"rainbow1"},"2":{"name":"keyword.rainbow2"},"3":{"name":"entity.name.function.rainbow3"},"4":{"name":"comment.rainbow4"},"5":{"name":"string.rainbow5"},"6":{"name":"variable.parameter.rainbow6"},"7":{"name":"constant.numeric.rainbow7"},"8":{"name":"entity.name.type.rainbow8"},"9":{"name":"markup.bold.rainbow9"},"10":{"name":"invalid.rainbow10"}},"match":"( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?","name":"rainbowgroup"}],"scopeName":"text.csv"}')),SV=[LV]});var lx={};h1(lx,{default:()=>ZV});var EV,ZV,px=s1(()=>{EV=Object.freeze(JSON.parse('{"displayName":"Diff","name":"diff","patterns":[{"captures":{"1":{"name":"punctuation.definition.separator.diff"}},"match":"^((\\\\*{15})|(={67})|(-{3}))$\\\\n?","name":"meta.separator.diff"},{"match":"^\\\\d+(,\\\\d+)*([acd])\\\\d+(,\\\\d+)*$\\\\n?","name":"meta.diff.range.normal"},{"captures":{"1":{"name":"punctuation.definition.range.diff"},"2":{"name":"meta.toc-list.line-number.diff"},"3":{"name":"punctuation.definition.range.diff"}},"match":"^(@@)\\\\s*(.+?)\\\\s*(@@)($\\\\n?)?","name":"meta.diff.range.unified"},{"captures":{"3":{"name":"punctuation.definition.range.diff"},"4":{"name":"punctuation.definition.range.diff"},"6":{"name":"punctuation.definition.range.diff"},"7":{"name":"punctuation.definition.range.diff"}},"match":"^(((-{3}) .+ (-{4}))|((\\\\*{3}) .+ (\\\\*{4})))$\\\\n?","name":"meta.diff.range.context"},{"match":"^diff --git a/.*$\\\\n?","name":"meta.diff.header.git"},{"match":"^diff (-|\\\\S+\\\\s+\\\\S+).*$\\\\n?","name":"meta.diff.header.command"},{"captures":{"4":{"name":"punctuation.definition.from-file.diff"},"6":{"name":"punctuation.definition.from-file.diff"},"7":{"name":"punctuation.definition.from-file.diff"}},"match":"^((((-{3}) .+)|((\\\\*{3}) .+))$\\\\n?|(={4}) .+(?= - ))","name":"meta.diff.header.from-file"},{"captures":{"2":{"name":"punctuation.definition.to-file.diff"},"3":{"name":"punctuation.definition.to-file.diff"},"4":{"name":"punctuation.definition.to-file.diff"}},"match":"(^(\\\\+{3}) .+$\\\\n?| (-) .* (={4})$\\\\n?)","name":"meta.diff.header.to-file"},{"captures":{"3":{"name":"punctuation.definition.inserted.diff"},"6":{"name":"punctuation.definition.inserted.diff"}},"match":"^(((>)( .*)?)|((\\\\+).*))$\\\\n?","name":"markup.inserted.diff"},{"captures":{"1":{"name":"punctuation.definition.changed.diff"}},"match":"^(!).*$\\\\n?","name":"markup.changed.diff"},{"captures":{"3":{"name":"punctuation.definition.deleted.diff"},"6":{"name":"punctuation.definition.deleted.diff"}},"match":"^(((<)( .*)?)|((-).*))$\\\\n?","name":"markup.deleted.diff"},{"begin":"^(#)","captures":{"1":{"name":"punctuation.definition.comment.diff"}},"end":"\\\\n","name":"comment.line.number-sign.diff"},{"match":"^index [0-9a-f]{7,40}\\\\.\\\\.[0-9a-f]{7,40}.*$\\\\n?","name":"meta.diff.index.git"},{"captures":{"1":{"name":"punctuation.separator.key-value.diff"},"2":{"name":"meta.toc-list.file-name.diff"}},"match":"^Index(:) (.+)$\\\\n?","name":"meta.diff.index"},{"match":"^Only in .*: .*$\\\\n?","name":"meta.diff.only-in"}],"scopeName":"source.diff"}')),ZV=[EV]});var ux={};h1(ux,{default:()=>jV});var FV,jV,mx=s1(()=>{Y6();J6();g5();Ja();FV=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"]}')),jV=[...s4,...c4,...$3,...y7,FV]});var HV,a9,Qo=s1(()=>{_4();HV=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"]}')),a9=[...Y2,HV]});var dx={};h1(dx,{default:()=>el});var NV,el,tl=s1(()=>{NV=Object.freeze(JSON.parse('{"displayName":"CMake","fileTypes":["cmake","CMakeLists.txt"],"name":"cmake","patterns":[{"match":"\\\\b(?i:APPLE|BORLAND|(CMAKE_)?(CL_64|COMPILER_2005|HOST_APPLE|HOST_SYSTEM|HOST_SYSTEM_NAME|HOST_SYSTEM_PROCESSOR|HOST_SYSTEM_VERSION|HOST_UNIX|HOST_WIN32|LIBRARY_ARCHITECTURE|LIBRARY_ARCHITECTURE_REGEX|OBJECT_PATH_MAX|SYSTEM|SYSTEM_NAME|SYSTEM_PROCESSOR|SYSTEM_VERSION)|CYGWIN|MSVC|MSVC80|MSVC_IDE|MSVC_VERSION|UNIX|WIN32|XCODE_VERSION|MSVC60|MSVC70|MSVC90|MSVC71)\\\\b","name":"constant.source.cmake"},{"match":"\\\\b(?i:ABSOLUTE|AND|BOOL|CACHE|COMMAND|COMMENT|DEFINED|DOC|EQUAL|EXISTS|EXT|FALSE|GREATER|GREATER_EQUAL|INTERNAL|IN_LIST|IS_ABSOLUTE|IS_DIRECTORY|IS_NEWER_THAN|IS_SYMLINK|LESS|LESS_EQUAL|MATCHES|NAMES??|NAME_WE|NOT|OFF|ON|OR|PATHS??|POLICY|PROGRAM|STREQUAL|STRGREATER|STRGREATER_EQUAL|STRING|STRLESS|STRLESS_EQUAL|TARGET|TEST|TRUE|VERSION_EQUAL|VERSION_GREATER|VERSION_GREATER_EQUAL|VERSION_LESS)\\\\b","name":"keyword.cmake"},{"match":"^\\\\s*\\\\b(?i:add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_libraries|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)\\\\b","name":"keyword.cmake"},{"match":"\\\\b(?i:BUILD_SHARED_LIBS|(CMAKE_)?(ABSOLUTE_DESTINATION_FILES|AUTOMOC_RELAXED_MODE|BACKWARDS_COMPATIBILITY|BUILD_TYPE|COLOR_MAKEFILE|CONFIGURATION_TYPES|DEBUG_TARGET_PROPERTIES|DISABLE_FIND_PACKAGE_\\\\w+|FIND_LIBRARY_PREFIXES|FIND_LIBRARY_SUFFIXES|IGNORE_PATH|INCLUDE_PATH|INSTALL_DEFAULT_COMPONENT_NAME|INSTALL_PREFIX|LIBRARY_PATH|MFC_FLAG|MODULE_PATH|NOT_USING_CONFIG_FLAGS|POLICY_DEFAULT_CMP\\\\w+|PREFIX_PATH|PROGRAM_PATH|SKIP_INSTALL_ALL_DEPENDENCY|SYSTEM_IGNORE_PATH|SYSTEM_INCLUDE_PATH|SYSTEM_LIBRARY_PATH|SYSTEM_PREFIX_PATH|SYSTEM_PROGRAM_PATH|USER_MAKE_RULES_OVERRIDE|WARN_ON_ABSOLUTE_INSTALL_DESTINATION))\\\\b","name":"variable.source.cmake"},{"match":"\\\\$\\\\{\\\\w+}","name":"storage.source.cmake"},{"match":"\\\\$ENV\\\\{\\\\w+}","name":"storage.source.cmake"},{"match":"\\\\b(?i:(CMAKE_)?(\\\\w+_POSTFIX|ARCHIVE_OUTPUT_DIRECTORY|AUTOMOC|AUTOMOC_MOC_OPTIONS|BUILD_WITH_INSTALL_RPATH|DEBUG_POSTFIX|EXE_LINKER_FLAGS|EXE_LINKER_FLAGS_\\\\w+|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GNUtoMS|INCLUDE_CURRENT_DIR|INCLUDE_CURRENT_DIR_IN_INTERFACE|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_PATH_FLAG|LINK_DEF_FILE_FLAG|LINK_DEPENDS_NO_SHARED|LINK_INTERFACE_LIBRARIES|LINK_LIBRARY_FILE_FLAG|LINK_LIBRARY_FLAG|MACOSX_BUNDLE|NO_BUILTIN_CHRPATH|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|RUNTIME_OUTPUT_DIRECTORY|SKIP_BUILD_RPATH|SKIP_INSTALL_RPATH|TRY_COMPILE_CONFIGURATION|USE_RELATIVE_PATHS|WIN32_EXECUTABLE)|EXECUTABLE_OUTPUT_PATH|LIBRARY_OUTPUT_PATH)\\\\b","name":"variable.source.cmake"},{"match":"\\\\b(?i:CMAKE_(AR|ARGC|ARGV0|BINARY_DIR|BUILD_TOOL|CACHEFILE_DIR|CACHE_MAJOR_VERSION|CACHE_MINOR_VERSION|CACHE_PATCH_VERSION|CFG_INTDIR|COMMAND|CROSSCOMPILING|CTEST_COMMAND|CURRENT_BINARY_DIR|CURRENT_LIST_DIR|CURRENT_LIST_FILE|CURRENT_LIST_LINE|CURRENT_SOURCE_DIR|DL_LIBS|EDIT_COMMAND|EXECUTABLE_SUFFIX|EXTRA_GENERATOR|EXTRA_SHARED_LIBRARY_SUFFIXES|GENERATOR|HOME_DIRECTORY|IMPORT_LIBRARY_PREFIX|IMPORT_LIBRARY_SUFFIX|LINK_LIBRARY_SUFFIX|MAJOR_VERSION|MAKE_PROGRAM|MINOR_VERSION|PARENT_LIST_FILE|PATCH_VERSION|PROJECT_NAME|RANLIB|ROOT|SCRIPT_MODE_FILE|SHARED_LIBRARY_PREFIX|SHARED_LIBRARY_SUFFIX|SHARED_MODULE_PREFIX|SHARED_MODULE_SUFFIX|SIZEOF_VOID_P|SKIP_RPATH|SOURCE_DIR|STANDARD_LIBRARIES|STATIC_LIBRARY_PREFIX|STATIC_LIBRARY_SUFFIX|TWEAK_VERSION|USING_VC_FREE_TOOLS|VERBOSE_MAKEFILE|VERSION)|PROJECT_BINARY_DIR|PROJECT_NAME|PROJECT_SOURCE_DIR|\\\\w+_BINARY_DIR|\\\\w+__SOURCE_DIR)\\\\b","name":"variable.source.cmake"},{"begin":"#\\\\[(=*)\\\\[","end":"]\\\\1]","name":"comment.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"begin":"\\\\[(=*)\\\\[","end":"]\\\\1]","name":"argument.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"match":"#+.*$","name":"comment.source.cmake"},{"match":"\\\\b(?i:ADVANCED|HELPSTRING|MODIFIED|STRINGS|TYPE|VALUE)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ABSTRACT|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_<CONFIG>|COMPILE_FLAGS|EXTERNAL_OBJECT|Fortran_FORMAT|GENERATED|HEADER_FILE_ONLY|KEEP_EXTENSION|LABELS|LANGUAGE|LOCATION|MACOSX_PACKAGE_LOCATION|OBJECT_DEPENDS|OBJECT_OUTPUTS|SYMBOLIC|WRAP_EXCLUDE)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|COST|DEPENDS|ENVIRONMENT|FAIL_REGULAR_EXPRESSION|LABELS|MEASUREMENT|PASS_REGULAR_EXPRESSION|PROCESSORS|REQUIRED_FILES|RESOURCE_LOCK|RUN_SERIAL|TIMEOUT|WILL_FAIL|WORKING_DIRECTORY)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ADDITIONAL_MAKE_CLEAN_FILES|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_\\\\w+|DEFINITIONS|EXCLUDE_FROM_ALL|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\\\w+|LINK_DIRECTORIES|LISTFILE_STACK|MACROS|PARENT_DIRECTORY|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|TEST_INCLUDE_FILE|VARIABLES|VS_GLOBAL_SECTION_POST_\\\\w+|VS_GLOBAL_SECTION_PRE_\\\\w+)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ALLOW_DUPLICATE_CUSTOM_TARGETS|DEBUG_CONFIGURATIONS|DISABLED_FEATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|IN_TRY_COMPILE|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PREDEFINED_TARGETS_FOLDER|REPORT_UNDEFINED_PROPERTIES|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_SUPPORTS_SHARED_LIBS|USE_FOLDERS|__CMAKE_DELETE_CACHE_CHANGE_VARS_)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:\\\\w+_(OUTPUT_NAME|POSTFIX)|ARCHIVE_OUTPUT_(DIRECTORY(_\\\\w+)?|NAME(_\\\\w+)?)|AUTOMOC(_MOC_OPTIONS)?|BUILD_WITH_INSTALL_RPATH|BUNDLE(_EXTENSION)??|COMPATIBLE_INTERFACE_BOOL|COMPATIBLE_INTERFACE_STRING|COMPILE_(DEFINITIONS(_\\\\w+)?|FLAGS)|DEBUG_POSTFIX|DEFINE_SYMBOL|ENABLE_EXPORTS|EXCLUDE_FROM_ALL|EchoString|FOLDER|FRAMEWORK|Fortran_(FORMAT|MODULE_DIRECTORY)|GENERATOR_FILE_NAME|GNUtoMS|HAS_CXX|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(CONFIGURATIONS|IMPLIB(_\\\\w+)?|LINK_DEPENDENT_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_LANGUAGES(_\\\\w+)?|LINK_INTERFACE_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\\\w+)?|LOCATION(_\\\\w+)?|NO_SONAME(_\\\\w+)?|SONAME(_\\\\w+)?)|IMPORT_PREFIX|IMPORT_SUFFIX|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE|INTERFACE_COMPILE_DEFINITIONS|INTERFACE_INCLUDE_DIRECTORIES|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\\\w+|LABELS|LIBRARY_OUTPUT_DIRECTORY(_\\\\w+)?|LIBRARY_OUTPUT_NAME(_\\\\w+)?|LINKER_LANGUAGE|LINK_DEPENDS|LINK_FLAGS(_\\\\w+)?|LINK_INTERFACE_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\\\w+)?|LINK_LIBRARIES|LINK_SEARCH_END_STATIC|LINK_SEARCH_START_STATIC|LOCATION(_\\\\w+)?|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MAP_IMPORTED_CONFIG_\\\\w+|NO_SONAME|OSX_ARCHITECTURES(_\\\\w+)?|OUTPUT_NAME(_\\\\w+)?|PDB_NAME(_\\\\w+)?|POST_INSTALL_SCRIPT|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE|PRIVATE_HEADER|PROJECT_LABEL|PUBLIC|PUBLIC_HEADER|RESOURCE|RULE_LAUNCH_(COMPILE|CUSTOM|LINK)|RUNTIME_OUTPUT_(DIRECTORY(_\\\\w+)?|NAME(_\\\\w+)?)|SKIP_BUILD_RPATH|SOURCES|SOVERSION|STATIC_LIBRARY_FLAGS(_\\\\w+)?|SUFFIX|TYPE|VERSION|VS_DOTNET_REFERENCES|VS_GLOBAL_(\\\\w+|KEYWORD|PROJECT_TYPES)|VS_KEYWORD|VS_SCC_(AUXPATH|LOCALPATH|PROJECTNAME|PROVIDER)|VS_WINRT_EXTENSIONS|VS_WINRT_REFERENCES|WIN32_EXECUTABLE|XCODE_ATTRIBUTE_\\\\w+)\\\\b","name":"entity.source.cmake"},{"begin":"\\\\\\\\\\"","end":"\\\\\\\\\\"","name":"string.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"begin":"\\"","end":"\\"","name":"string.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"match":"\\\\bBUILD_NAME\\\\b","name":"invalid.deprecated.source.cmake"},{"match":"\\\\b(?i:(CMAKE_)?(C(?:XX_FLAGS|MAKE_CXX_FLAGS_DEBUG|MAKE_CXX_FLAGS_MINSIZEREL|MAKE_CXX_FLAGS_RELEASE|MAKE_CXX_FLAGS_RELWITHDEBINFO)))\\\\b","name":"variable.source.cmake"}],"repository":{},"scopeName":"source.cmake"}')),el=[NV]});var hx={};h1(hx,{default:()=>VV});var TV,VV,gx=s1(()=>{Qo();w7();Ya();me();Y6();t9();tl();Jo();TV=Object.freeze(JSON.parse('{"displayName":"reStructuredText","name":"rst","patterns":[{"include":"#body"}],"repository":{"anchor":{"match":"^\\\\.{2}\\\\s+(_[^:]+:)\\\\s*","name":"entity.name.tag.anchor"},"block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+\\\\S+::)(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"variable"}},"end":"^(?!\\\\1\\\\s|\\\\s*$)","patterns":[{"include":"#block-param"},{"include":"#body"}]},"block-comment":{"begin":"^(\\\\s*)\\\\.{2}(\\\\s+|$)","end":"^(?:(?=\\\\S)|\\\\s*$)","name":"comment.block","patterns":[{"begin":"^\\\\s{3,}(?=\\\\S)","name":"comment.block","while":"^(?:\\\\s{3}.*|\\\\s*$)"}]},"block-param":{"patterns":[{"captures":{"1":{"name":"keyword.control"},"2":{"name":"variable.parameter"}},"match":"(:param\\\\s+(.+?):)(?:\\\\s|$)"},{"captures":{"1":{"name":"keyword.control"},"2":{"patterns":[{"match":"\\\\b(0x[A-Fa-f\\\\d]+|\\\\d+)\\\\b","name":"constant.numeric"},{"include":"#inline-markup"}]}},"match":"(:.+?:)(?:$|\\\\s+(.*))"}]},"blocks":{"patterns":[{"include":"#domains"},{"include":"#doctest"},{"include":"#code-block-cpp"},{"include":"#code-block-py"},{"include":"#code-block-console"},{"include":"#code-block-javascript"},{"include":"#code-block-yaml"},{"include":"#code-block-cmake"},{"include":"#code-block-kconfig"},{"include":"#code-block-ruby"},{"include":"#code-block-dts"},{"include":"#code-block"},{"include":"#doctest-block"},{"include":"#raw-html"},{"include":"#block"},{"include":"#literal-block"},{"include":"#block-comment"}]},"body":{"patterns":[{"include":"#title"},{"include":"#inline-markup"},{"include":"#anchor"},{"include":"#line-block"},{"include":"#replace-include"},{"include":"#footnote"},{"include":"#substitution"},{"include":"#blocks"},{"include":"#table"},{"include":"#simple-table"},{"include":"#options-list"}]},"bold":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)\\\\*{2}[^*\\\\s]","end":"\\\\*{2}|^\\\\s*$","name":"markup.bold"},"citation":{"applyEndPatternLast":0,"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)`[^`\\\\s]","end":"`_{0,2}|^\\\\s*$","name":"entity.name.tag"},"code-block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)","beginCaptures":{"2":{"name":"keyword.control"}},"patterns":[{"include":"#block-param"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-cmake":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(cmake)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.cmake"}},"patterns":[{"include":"#block-param"},{"include":"source.cmake"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-console":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(console|shell|bash)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.console"}},"patterns":[{"include":"#block-param"},{"include":"source.shell"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-cpp":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(c|c\\\\+\\\\+|cpp|C|C\\\\+\\\\+|CPP|Cpp)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.cpp"}},"patterns":[{"include":"#block-param"},{"include":"source.cpp"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-dts":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(dts|DTS|devicetree)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.dts"}},"patterns":[{"include":"#block-param"},{"include":"source.dts"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-javascript":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(javascript)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.js"}},"patterns":[{"include":"#block-param"},{"include":"source.js"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-kconfig":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*([Kk]config)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.kconfig"}},"patterns":[{"include":"#block-param"},{"include":"source.kconfig"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-py":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(python)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.py"}},"patterns":[{"include":"#block-param"},{"include":"source.python"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-ruby":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(ruby)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.ruby"}},"patterns":[{"include":"#block-param"},{"include":"source.ruby"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-yaml":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(ya?ml)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.yaml"}},"patterns":[{"include":"#block-param"},{"include":"source.yaml"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"doctest":{"begin":"^(>>>)\\\\s*(.*)","beginCaptures":{"1":{"name":"keyword.control"},"2":{"patterns":[{"include":"source.python"}]}},"end":"^\\\\s*$"},"doctest-block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+doctest::)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"}},"patterns":[{"include":"#block-param"},{"include":"source.python"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-auto":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+auto(?:class|module|exception|function|decorator|data|method|attribute|property)::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control.py"},"3":{"patterns":[{"include":"source.python"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-cpp":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+c(?:pp|):(?:class|struct|function|member|var|type|enum|enum-struct|enum-class|enumerator|union|concept)::)\\\\s*(?:(@\\\\w+)|(.*))","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"entity.name.tag"},"4":{"patterns":[{"include":"source.cpp"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-js":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+js:\\\\w+::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"patterns":[{"include":"source.js"}]}},"end":"^(?!\\\\1[\\\\t ]|$)","patterns":[{"include":"#block-param"},{"include":"#body"}]},"domain-py":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+py:(?:module|function|data|exception|class|attribute|property|method|staticmethod|classmethod|decorator|decoratormethod)::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"patterns":[{"include":"source.python"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domains":{"patterns":[{"include":"#domain-cpp"},{"include":"#domain-py"},{"include":"#domain-auto"},{"include":"#domain-js"}]},"escaped":{"match":"\\\\\\\\.","name":"constant.character.escape"},"footnote":{"match":"^\\\\s*\\\\.{2}\\\\s+\\\\[(?:[-.\\\\w]+|[#*]|#\\\\w+)]\\\\s+","name":"entity.name.tag"},"footnote-ref":{"match":"\\\\[(?:[-.\\\\w]+|[#*])]_","name":"entity.name.tag"},"ignore":{"patterns":[{"match":"\'[*`]+\'"},{"match":"<[*`]+>"},{"match":"\\\\{[*`]+}"},{"match":"\\\\([*`]+\\\\)"},{"match":"\\\\[[*`]+]"},{"match":"\\"[*`]+\\""}]},"inline-markup":{"patterns":[{"include":"#escaped"},{"include":"#ignore"},{"include":"#ref"},{"include":"#literal"},{"include":"#monospaced"},{"include":"#citation"},{"include":"#bold"},{"include":"#italic"},{"include":"#list"},{"include":"#macro"},{"include":"#reference"},{"include":"#footnote-ref"}]},"italic":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)\\\\*[^*\\\\s]","end":"\\\\*|^\\\\s*$","name":"markup.italic"},"line-block":{"match":"^\\\\|\\\\s+","name":"keyword.control"},"list":{"match":"^\\\\s*(\\\\d+\\\\.|\\\\* -|[#A-Za-z]\\\\.|[CIMVXcimvx]+\\\\.|\\\\(\\\\d+\\\\)|\\\\d+\\\\)|[-*+])\\\\s+","name":"keyword.control"},"literal":{"captures":{"1":{"name":"keyword.control"},"2":{"name":"entity.name.tag"}},"match":"(:\\\\S+:)(`.*?`\\\\\\\\?)"},"literal-block":{"begin":"^(\\\\s*)(.*)(::)\\\\s*$","beginCaptures":{"2":{"patterns":[{"include":"#inline-markup"}]},"3":{"name":"keyword.control"}},"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"macro":{"match":"\\\\|[^|]+\\\\|","name":"entity.name.tag"},"monospaced":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)``[^`\\\\s]","end":"``|^\\\\s*$","name":"string.interpolated"},"options-list":{"match":"(?:(?:^|,\\\\s+)(?:[-+]\\\\w|--?[A-Za-z][-\\\\w]+|/\\\\w+)(?:[ =](?:\\\\w+|<[^<>]+?>))?)+(?= |\\\\t|$)","name":"variable.parameter"},"raw-html":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+raw\\\\s*::)\\\\s+(html)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"variable.parameter.html"}},"patterns":[{"include":"#block-param"},{"include":"text.html.derivative"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"ref":{"begin":"(:ref:)`","beginCaptures":{"1":{"name":"keyword.control"}},"end":"`|^\\\\s*$","name":"entity.name.tag","patterns":[{"match":"<.*?>","name":"markup.underline.link"}]},"reference":{"match":"[-\\\\w]*[-A-Za-z\\\\d]__?\\\\b","name":"entity.name.tag"},"replace-include":{"captures":{"1":{"name":"keyword.control"},"2":{"name":"entity.name.tag"},"3":{"name":"keyword.control"}},"match":"^\\\\s*(\\\\.{2})\\\\s+(\\\\|[^|]+\\\\|)\\\\s+(replace::)"},"simple-table":{"match":"^[=\\\\s]+$","name":"keyword.control.table"},"substitution":{"match":"^\\\\.{2}\\\\s*\\\\|([^|]+)\\\\|","name":"entity.name.tag"},"table":{"begin":"^\\\\s*\\\\+[-+=]+\\\\+\\\\s*$","beginCaptures":{"0":{"name":"keyword.control.table"}},"end":"^(?![+|])","patterns":[{"match":"[-+=|]","name":"keyword.control.table"}]},"title":{"match":"^(\\\\*{3,}|#{3,}|={3,}|~{3,}|\\\\+{3,}|-{3,}|`{3,}|\\\\^{3,}|:{3,}|\\"{3,}|_{3,}|\'{3,})$","name":"markup.heading"}},"scopeName":"source.rst","embeddedLangs":["html-derivative","cpp","python","javascript","shellscript","yaml","cmake","ruby"]}')),VV=[...a9,...it,...v7,...L0,...s4,...x7,...el,...Yo,TV]});var bx={};h1(bx,{default:()=>z7});var qV,z7,i9=s1(()=>{qV=Object.freeze(JSON.parse('{"displayName":"R","fileTypes":["R","r","Rprofile"],"foldingStartMarker":"\\\\{\\\\s*(?:#|$)","foldingStopMarker":"^\\\\s*}","name":"r","patterns":[{"include":"#roxygen-example"},{"include":"#basic"}],"repository":{"basic":{"patterns":[{"include":"#roxygen"},{"include":"#comment"},{"include":"#expression"}]},"basic-roxygen-example":{"patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"},{"include":"#comment"},{"include":"#expression"}]},"brackets":{"patterns":[{"begin":"\\\\{","end":"}","name":"meta.bracket","patterns":[{"include":"#basic"}]},{"begin":"\\\\[","end":"]","name":"meta.bracket","patterns":[{"captures":{"1":{"name":"variable.parameter"}},"match":"([.\\\\w]+)\\\\s*(?==[^=])"},{"include":"#basic"}]},{"begin":"\\\\(","end":"\\\\)","name":"meta.bracket","patterns":[{"captures":{"1":{"name":"variable.parameter"}},"match":"([.\\\\w]+)\\\\s*(?==[^=])"},{"include":"#basic"}]}]},"comment":{"match":"#.*","name":"comment.line"},"escape-code":{"match":"\\\\\\\\[\\"\'\\\\\\\\`abefnrtv]","name":"constant.character.escape"},"escape-hex":{"match":"\\\\\\\\x\\\\h+","name":"constant.numeric"},"escape-invalid":{"match":"\\\\\\\\.","name":"invalid"},"escape-octal":{"match":"\\\\\\\\\\\\d{1,3}","name":"constant.character.escape"},"escape-unicode":{"match":"\\\\\\\\[Uu](?:\\\\h+|\\\\{\\\\h+})","name":"constant.character.escape"},"escapes":{"patterns":[{"include":"#escape-code"},{"include":"#escape-hex"},{"include":"#escape-octal"},{"include":"#escape-unicode"},{"include":"#escape-invalid"}]},"expression":{"patterns":[{"include":"#brackets"},{"include":"#raw-strings"},{"include":"#strings"},{"include":"#function-definition"},{"include":"#keywords"},{"include":"#namespace-call"},{"include":"#function-call"},{"include":"#identifiers"},{"include":"#numbers"},{"include":"#operators"}]},"function-call":{"captures":{"0":{"name":"meta.function-call"},"1":{"name":"entity.name.function"}},"match":"([.\\\\w]+)(?=\\\\()"},"function-definition":{"begin":"(function)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other"},"2":{"name":"meta.bracket"}},"end":"(\\\\))","endCaptures":{"1":{"name":"meta.bracket"}},"name":"meta.function.definition","patterns":[{"begin":"([.\\\\w]+)","beginCaptures":{"1":{"name":"variable.parameter"}},"end":"(?=[),])","patterns":[{"include":"#basic"}]},{"include":"#basic"}]},"identifier-quoted":{"begin":"`","end":"`","name":"variable.object","patterns":[{"match":"\\\\\\\\`"}]},"identifier-syntactic":{"match":"[.\\\\p{L}\\\\p{Nl}][.\\\\p{L}\\\\p{Nl}\\\\p{Mn}\\\\p{Mc}\\\\d\\\\p{Pc}]*","name":"variable.object"},"identifiers":{"patterns":[{"include":"#identifier-syntactic"},{"include":"#identifier-quoted"}]},"keywords":{"patterns":[{"include":"#keywords-control"},{"include":"#keywords-builtin"},{"include":"#keywords-constant"}]},"keywords-builtin":{"match":"(?:setGroupGeneric|setRefClass|setGeneric|NextMethod|setMethod|UseMethod|tryCatch|setClass|warning|require|library|R6Class|return|switch|attach|detach|source|stop|try)(?=\\\\()","name":"keyword.other"},"keywords-constant":{"match":"(?:NA_character_|NA_integer_|NA_complex_|NA_real_|TRUE|FALSE|NULL|Inf|NaN|NA)\\\\b","name":"constant.language"},"keywords-control":{"match":"(?:\\\\\\\\|function|if|else|in|break|next|repeat|for|while)\\\\b","name":"keyword"},"latex":{"patterns":[{"match":"\\\\\\\\\\\\w+","name":"keyword.other"}]},"markdown":{"patterns":[{"begin":"(`{3,})\\\\s*(.*)","beginCaptures":{"1":{"name":"comment.line"},"2":{"name":"entity.name.section"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"comment.line"}},"patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"}]},{"captures":{"1":{"name":"meta.bracket"},"2":{"name":"variable.object"},"3":{"name":"keyword.operator"},"4":{"name":"entity.name.function"},"5":{"name":"meta.bracket"},"6":{"name":"meta.bracket"}},"match":"(\\\\[)(?:(\\\\w+)(:{2,3}))?(\\\\w+)(\\\\(\\\\))?(])"},{"match":"(\\\\s+|^)(__.+?__)\\\\b","name":"markdown.bold"},{"match":"(\\\\s+|^)(_(?=[^_])(?:\\\\\\\\.|[^\\\\\\\\_])*?_)\\\\b","name":"markdown.italic"},{"match":"(\\\\*\\\\*.+?\\\\*\\\\*)","name":"markdown.bold"},{"match":"(\\\\*(?=[^*\\\\s])(?:\\\\\\\\.|[^*\\\\\\\\])*?\\\\*)","name":"markdown.italic"},{"match":"(`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","name":"markup.quote"},{"match":"(<)([^>]*)(>)","name":"markup.underline.link"}]},"namespace-call":{"captures":{"1":{"name":"entity.name.namespace.r"},"2":{"name":"keyword.operator"}},"match":"(?<![.0-9A-Z_a-z])([.A-Z_a-z][.0-9A-Z_a-z]*)(:::?)"},"numbers":{"patterns":[{"match":"0[Xx]\\\\h+(?:p[-+]?\\\\d+)?[Li]?","name":"constant.numeric"},{"match":"(?:\\\\d+(?:\\\\.\\\\d*)?|\\\\.\\\\d+)(?:[Ee][-+]?\\\\d*)?[Li]?","name":"constant.numeric"}]},"operators":{"match":"%.*?%|:::?|:=|\\\\|>|=>|%%|>=|<=|==|!=|<<-|->>?|<-|\\\\|\\\\||&&|[-+=]|\\\\*\\\\*?|[!$\\\\&,/:<>?@^|~]","name":"keyword.operator"},"qqstring":{"begin":"\\"","end":"\\"","name":"string.quoted.double","patterns":[{"include":"#escapes"}]},"qstring":{"begin":"\'","end":"\'","name":"string.quoted.single","patterns":[{"include":"#escapes"}]},"raw-strings":{"name":"string.quoted.other","patterns":[{"begin":"[Rr]\\"(-*)\\\\{","end":"}\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\{","end":"}\\\\1\'","name":"string.quoted.other"},{"begin":"[Rr]\\"(-*)\\\\[","end":"]\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\[","end":"]\\\\1\'","name":"string.quoted.other"},{"begin":"[Rr]\\"(-*)\\\\(","end":"\\\\)\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\(","end":"\\\\)\\\\1\'","name":"string.quoted.other"}]},"roxygen":{"begin":"^(\\\\s*#+\')","beginCaptures":{"1":{"name":"comment.line.roxygen"}},"end":"$","patterns":[{"include":"#markdown"},{"include":"#roxygen-tokens"},{"include":"#latex"},{"match":".","name":"comment.line"}]},"roxygen-example":{"begin":"^(\\\\s*#+\')\\\\s*(?:(@examples)\\\\s*|(@examplesIf)\\\\s+(.*))$","beginCaptures":{"1":{"name":"comment.line"},"2":{"name":"keyword.other"},"3":{"name":"keyword.other"},"4":{"patterns":[{"include":"#expression"}]}},"end":"^(?:\\\\s*(?=#+\'\\\\s*@)|\\\\s*(?!#+\'))","patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"},{"match":"[]()\\\\[{}]","name":"meta.bracket"},{"include":"#latex"},{"include":"#roxygen-tokens"},{"include":"#basic-roxygen-example"}]},"roxygen-tokens":{"patterns":[{"match":"@@","name":"constant.character.escape"},{"begin":"(@(?:param|field|slot))\\\\s*","beginCaptures":{"1":{"name":"keyword.other"}},"end":"\\\\s|$","patterns":[{"match":"([.\\\\w]+)","name":"variable.parameter"},{"match":",","name":"keyword.operator"}]},{"match":"@(?!@)\\\\w*","name":"keyword.other"}]},"strings":{"patterns":[{"include":"#qstring"},{"include":"#qqstring"}]}},"scopeName":"source.r"}')),z7=[qV]});var IV,fx,vx=s1(()=>{i9();IV=Object.freeze(JSON.parse('{"displayName":"TeX","name":"tex","patterns":[{"include":"#iffalse-block"},{"include":"#macro-control"},{"include":"#catcode"},{"include":"#comment"},{"match":"[]\\\\[]","name":"punctuation.definition.brackets.tex"},{"include":"#dollar-math"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.newline.tex"},{"include":"#ifnextchar"},{"include":"#macro-general"}],"repository":{"braces":{"begin":"(?<!\\\\\\\\)\\\\{","beginCaptures":{"0":{"name":"punctuation.group.begin.tex"}},"end":"(?<!\\\\\\\\)}","endCaptures":{"0":{"name":"punctuation.group.end.tex"}},"name":"meta.group.braces.tex","patterns":[{"include":"#braces"}]},"catcode":{"captures":{"1":{"name":"keyword.control.catcode.tex"},"2":{"name":"punctuation.definition.keyword.tex"},"3":{"name":"punctuation.separator.key-value.tex"},"4":{"name":"constant.numeric.category.tex"}},"match":"((\\\\\\\\)catcode)`\\\\\\\\?.(=)(\\\\d+)","name":"meta.catcode.tex"},"comment":{"begin":"(^[\\\\t ]+)?(?=%)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.tex"}},"end":"(?!\\\\G)","patterns":[{"begin":"%:?","beginCaptures":{"0":{"name":"punctuation.definition.comment.tex"}},"end":"$\\\\n?","name":"comment.line.percentage.tex"},{"begin":"^(%!TEX) (\\\\S*) =","beginCaptures":{"1":{"name":"punctuation.definition.comment.tex"}},"end":"$\\\\n?","name":"comment.line.percentage.directive.tex"}]},"conditionals":{"begin":"(?<=^\\\\s*)\\\\\\\\if(?!f\\\\b)[a-z]*","end":"(?<=^\\\\s*)\\\\\\\\fi","patterns":[{"include":"#comment"},{"include":"#conditionals"}]},"dollar-math":{"begin":"(\\\\$\\\\$?)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.tex"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.tex"}},"name":"meta.math.block.tex support.class.math.block.tex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.tex"},{"include":"#math-content"},{"include":"$self"}]},"iffalse-block":{"begin":"(?<=^\\\\s*)((\\\\\\\\)iffalse)(?!\\\\s*[{}]\\\\s*\\\\\\\\fi\\\\b)","beginCaptures":{"1":{"name":"keyword.control.tex"},"2":{"name":"punctuation.definition.keyword.tex"}},"contentName":"comment.line.percentage.tex","end":"((\\\\\\\\)(?:else|fi))\\\\b","endCaptures":{"1":{"name":"keyword.control.tex"},"2":{"name":"punctuation.definition.keyword.tex"}},"patterns":[{"include":"#comment"},{"include":"#braces"},{"include":"#conditionals"}]},"ifnextchar":{"match":"\\\\\\\\@ifnextchar[(\\\\[{]","name":"keyword.control.ifnextchar.tex"},"macro-control":{"captures":{"1":{"name":"punctuation.definition.keyword.tex"}},"match":"(\\\\\\\\)(backmatter|csname|else|endcsname|fi|frontmatter|mainmatter|unless|if(case|cat|csname|defined|dim|eof|false|fontchar|hbox|hmode|inner|mmode|num|odd|true|vbox|vmode|void|x)?)(?![@-Za-z])","name":"keyword.control.tex"},"macro-general":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\\\\\)_*[@\\\\p{Alphabetic}]+(?:_[@\\\\p{Alphabetic}]+)*:[DFNTVcefnopvwx]*","name":"support.class.general.latex3.tex"},{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\.)[@\\\\p{Alphabetic}]+(?:_[@\\\\p{Alphabetic}]+)*:[DFNTVcefnopvwx]*","name":"support.class.general.latex3.tex"},{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\\\\\)(?:[,;]|[@\\\\p{Alphabetic}]+)","name":"support.function.general.tex"},{"captures":{"1":{"name":"punctuation.definition.keyword.tex"}},"match":"(\\\\\\\\)[^@-Za-z]","name":"constant.character.escape.tex"}]},"math-content":{"patterns":[{"begin":"((\\\\\\\\)(?:text|mbox))(\\\\{)","beginCaptures":{"1":{"name":"constant.other.math.tex"},"2":{"name":"punctuation.definition.function.tex"},"3":{"name":"punctuation.definition.arguments.begin.tex meta.text.normal.tex"}},"contentName":"meta.text.normal.tex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.tex meta.text.normal.tex"}},"patterns":[{"include":"#math-content"},{"include":"$self"}]},{"match":"\\\\\\\\[{}]","name":"punctuation.math.bracket.pair.tex"},{"match":"\\\\\\\\(left|right|((bigg??|Bigg??)[lr]?))([]().<>\\\\[|]|\\\\\\\\[{|}]|\\\\\\\\[lr]?[Vv]ert|\\\\\\\\[lr]angle)","name":"punctuation.math.bracket.pair.big.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(s(s(earrow|warrow|lash)|h(ort(downarrow|uparrow|parallel|leftarrow|rightarrow|mid)|arp)|tar|i(gma|m(eq)?)|u(cc(sim|n(sim|approx)|curlyeq|eq|approx)?|pset(neq(q)?|plus(eq)?|eq(q)?)?|rd|m|bset(neq(q)?|plus(eq)?|eq(q)?)?)|p(hericalangle|adesuit)|e(tminus|arrow)|q(su(pset(eq)?|bset(eq)?)|c([au]p)|uare)|warrow|m(ile|all(s(etminus|mile)|frown)))|h(slash|ook((?:lef|righ)tarrow)|eartsuit|bar)|R(sh|ightarrow|e|bag)|Gam(e|ma)|n(s(hort(parallel|mid)|im|u(cc(eq)?|pseteq(q)?|bseteq))|Rightarrow|n([ew]arrow)|cong|triangle(left(eq(slant)?)?|right(eq(slant)?)?)|i(plus)?|u|p(lus|arallel|rec(eq)?)|e(q|arrow|g|xists)|v([Dd]ash)|warrow|le(ss|q(slant|q)?|ft((?:|right)arrow))|a(tural|bla)|VDash|rightarrow|g(tr|eq(slant|q)?)|mid|Left((?:|right)arrow))|c(hi|irc(eq|le(d(circ|S|dash|ast)|arrow(left|right)))?|o(ng|prod|lon|mplement)|dot([ps])?|u(p|r(vearrow(left|right)|ly(eq(succ|prec)|vee((?:down|up)arrow)?|wedge((?:down|up)arrow)?)))|enterdot|lubsuit|ap)|Xi|Maps(to(char)?|from(char)?)|B(ox|umpeq|bbk)|t(h(ick(sim|approx)|e(ta|refore))|imes|op|wohead((?:lef|righ)tarrow)|a(u|lloblong)|riangle(down|q|left(eq(slant)?)?|right(eq(slant)?)?)?)|i(n(t(er(cal|leave))?|plus|fty)?|ota|math)|S(igma|u([bp]set))|zeta|o(slash|times|int|dot|plus|vee|wedge|lessthan|greaterthan|m(inus|ega)|b(slash|long|ar))|d(i(v(ideontimes)?|a(g(down|up)|mond(suit)?)|gamma)|o(t(plus|eq(dot)?)|ublebarwedge|wn(harpoon(left|right)|downarrows|arrow))|d(ots|agger)|elta|a(sh(v|leftarrow|rightarrow)|leth|gger))|Y(down|up|left|right)|C([au]p)|u(n([lr]hd)|p(silon|harpoon(left|right)|downarrow|uparrows|lus|arrow)|lcorner|rcorner)|jmath|Theta|Im|p(si|hi|i(tchfork)?|erp|ar(tial|allel)|r(ime|o(d|pto)|ec(sim|n(sim|approx)|curlyeq|eq|approx)?)|m)|e(t([ah])|psilon|q(slant(less|gtr)|circ|uiv)|ll|xists|mptyset)|Omega|D(iamond|ownarrow|elta)|v(d(ots|ash)|ee(bar)?|Dash|ar(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|curly(vee|wedge)|t(heta|imes|riangle(left|right)?)|o(slash|circle|times|dot|plus|vee|wedge|lessthan|ast|greaterthan|minus|b(slash|ar))|p(hi|i|ropto)|epsilon|kappa|rho|bigcirc))|kappa|Up(silon|downarrow|arrow)|Join|f(orall|lat|a(t(s(emi|lash)|bslash)|llingdotseq)|rown)|P((?:s|h?)i)|w(p|edge|r)|l(hd|n(sim|eq(q)?|approx)|ceil|times|ightning|o(ng(left((?:|right)arrow)|rightarrow|maps(to|from))|zenge|oparrow(left|right))|dot([ps])|e(ss(sim|dot|eq(q?gtr)|approx|gtr)|q(slant|q)?|ft(slice|harpoon(down|up)|threetimes|leftarrows|arrow(t(ail|riangle))?|right(squigarrow|harpoons|arrow(s|triangle|eq)?))|adsto)|vertneqq|floor|l(c(orner|eil)|floor|l|bracket)?|a(ngle|mbda)|rcorner|bag)|a(s(ymp|t)|ngle|pprox(eq)?|l(pha|eph)|rrownot|malg)|V(v??dash)|r(h([do])|ceil|times|i(singdotseq|ght(s(quigarrow|lice)|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(t(ail|riangle))?|rightarrows))|floor|angle|r(ceil|parenthesis|floor|bracket)|bag)|g(n(sim|eq(q)?|approx)|tr(sim|dot|eq(q?less)|less|approx)|imel|eq(slant|q)?|vertneqq|amma|g(g)?)|Finv|xi|m(ho|i(nuso|d)|o(o|dels)|u(ltimap)?|p|e(asuredangle|rge)|aps(to|from(char)?))|b(i(n(dnasrepma|ampersand)|g(s(tar|qc([au]p))|nplus|c(irc|u(p|rly(vee|wedge))|ap)|triangle(down|up)|interleave|o(times|dot|plus)|uplus|parallel|vee|wedge|box))|o(t|wtie|x(slash|circle|times|dot|plus|empty|ast|minus|b(slash|ox|ar)))|u(llet|mpeq)|e(cause|t(h|ween|a))|lack(square|triangle(down|left|right)?|lozenge)|a(ck(s(im(eq)?|lash)|prime|epsilon)|r(o|wedge))|bslash)|L(sh|ong(left((?:|right)arrow)|rightarrow|maps(to|from))|eft((?:|right)arrow)|leftarrow|ambda|bag)|ge|le|Arrownot)(?![@-Za-z])","name":"constant.character.math.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(sum|prod|coprod|int|oint|bigcap|bigcup|bigsqcup|bigvee|bigwedge|bigodot|bigotimes|bogoplus|biguplus)\\\\b","name":"constant.character.math.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(arccos|arcsin|arctan|arg|cosh??|coth??|csc|deg|det|dim|exp|gcd|hom|inf|ker|lg|lim|liminf|limsup|ln|log|max|min|pr|sec|sinh??|sup|tanh??)\\\\b","name":"constant.other.math.tex"},{"begin":"((\\\\\\\\)Sexpr(\\\\{))","beginCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.definition.function.math.tex"},"3":{"name":"punctuation.section.embedded.begin.math.tex"}},"contentName":"support.function.sexpr.math.tex","end":"(((})))","endCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.section.embedded.end.math.tex"},"3":{"name":"source.r"}},"name":"meta.embedded.line.r","patterns":[{"begin":"\\\\G(?!})","end":"(?=})","name":"source.r","patterns":[{"include":"source.r"}]}]},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(?!begin\\\\{|verb)([A-Za-z]+)","name":"constant.other.general.math.tex"},{"match":"(?<!\\\\\\\\)\\\\{","name":"punctuation.math.begin.bracket.curly.tex"},{"match":"(?<!\\\\\\\\)}","name":"punctuation.math.end.bracket.curly.tex"},{"match":"(?<!\\\\\\\\)\\\\(","name":"punctuation.math.begin.bracket.round.tex"},{"match":"(?<!\\\\\\\\)\\\\)","name":"punctuation.math.end.bracket.round.tex"},{"match":"(([0-9]*\\\\.[0-9]+)|[0-9]+)","name":"constant.numeric.math.tex"},{"match":"[-*+/]|(?<!\\\\^)\\\\^(?!\\\\^)|(?<!_)_(?!_)","name":"punctuation.math.operator.tex"}]}},"scopeName":"text.tex","embeddedLangs":["r"]}')),fx=[...z7,IV]});var yx={};h1(yx,{default:()=>PV});var BV,PV,_x=s1(()=>{vx();BV=Object.freeze(JSON.parse('{"displayName":"LaTeX","name":"latex","patterns":[{"match":"(?<=\\\\\\\\(?:[@\\\\w]|[@\\\\w]{2}|[@\\\\w]{3}|[@\\\\w]{4}|[@\\\\w]{5}|[@\\\\w]{6}))\\\\s","name":"meta.space-after-command.latex"},{"include":"#songs-env"},{"include":"#embedded-code-env"},{"include":"#verbatim-env"},{"include":"#document-env"},{"include":"#all-balanced-env"},{"include":"#documentclass-usepackage-macro"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#newcommand-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"text.tex"}],"repository":{"all-balanced-env":{"patterns":[{"begin":"\\\\s*((\\\\\\\\)begin)(\\\\{)((?:\\\\+?array|equation|(?:IEEE|sub)?eqnarray|multline|align|aligned|alignat|alignedat|flalign|flaligned|flalignat|split|gather|gathered|(?:[+dr]|dr)?cases|(?:display)?math|\\\\+?[A-Za-z]*matrix|[BVbpv]?NiceMatrix|[BVbpv]?NiceArray|(?:arg)?m(?:ini|axi))[!*]?)(})(\\\\s*\\\\n)?","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"variable.parameter.function.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.math.block.latex support.class.math.block.environment.latex","end":"\\\\s*((\\\\\\\\)end)(\\\\{)(\\\\4)(})(?:\\\\s*\\\\n)?","name":"meta.function.environment.math.latex","patterns":[{"match":"(?<!\\\\\\\\)&","name":"keyword.control.equation.align.latex"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.equation.newline.latex"},{"include":"#label-macro"},{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\s*(\\\\\\\\begin\\\\{empheq}(?:\\\\[.*])?)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.math.block.latex support.class.math.block.environment.latex","end":"\\\\s*(\\\\\\\\end\\\\{empheq})","name":"meta.function.environment.math.latex","patterns":[{"match":"(?<!\\\\\\\\)&","name":"keyword.control.equation.align.latex"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.equation.newline.latex"},{"include":"#label-macro"},{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(tabular[*xy]?|xltabular|longtable|(?:long)?tabu|(?:long|tall)?tblr|NiceTabular[*X]?|booktabs)}(\\\\s*\\\\n)?)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.data.environment.tabular.latex","end":"(\\\\s*\\\\\\\\end\\\\{(\\\\2)}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.tabular.latex","patterns":[{"match":"(?<!\\\\\\\\)&","name":"keyword.control.table.cell.latex"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.table.newline.latex"},{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(itemize|enumerate|description|list)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.list.latex","patterns":[{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{tikzpicture})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{tikzpicture}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.latex.tikz","patterns":[{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{frame})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{frame})","name":"meta.function.environment.frame.latex","patterns":[{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(mpost\\\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.latex.mpost"},{"begin":"(\\\\s*\\\\\\\\begin\\\\{markdown})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.embedded.markdown_latex_combined","end":"(\\\\\\\\end\\\\{markdown})","patterns":[{"include":"text.tex.markdown_latex_combined"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{(\\\\p{Alphabetic}+\\\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.general.latex","patterns":[{"include":"$self"}]}]},"all-other-macro":{"patterns":[{"match":"\\\\\\\\(?:newline|pagebreak|clearpage|linebreak|pause)\\\\b","name":"keyword.control.layout.latex"},{"begin":"((\\\\\\\\)marginpar)((?:\\\\[[^\\\\[]*?])*)(\\\\{)","beginCaptures":{"1":{"name":"support.function.marginpar.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.marginpar.begin.latex"}},"contentName":"meta.paragraph.margin.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.marginpar.end.latex"}},"patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)footnote)((?:\\\\[[^\\\\[]*?])*)(\\\\{)","beginCaptures":{"1":{"name":"support.function.footnote.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.footnote.begin.latex"}},"contentName":"entity.name.footnote.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.footnote.end.latex"}},"patterns":[{"include":"#braces"},{"include":"$self"}]},{"captures":{"0":{"name":"keyword.other.item.latex"},"1":{"name":"punctuation.definition.keyword.latex"}},"match":"(\\\\\\\\)item\\\\b","name":"meta.scope.item.latex"},{"captures":{"1":{"name":"punctuation.definition.constant.latex"}},"match":"(\\\\\\\\)(text(s(terling|ixoldstyle|urd|e(ction|venoldstyle|rvicemark))|yen|n(ineoldstyle|umero|aira)|c(ircledP|o(py(left|right)|lonmonetary)|urrency|e(nt(oldstyle)?|lsius))|t(hree(superior|oldstyle|quarters(emdash)?)|i(ldelow|mes)|w(o(superior|oldstyle)|elveudash)|rademark)|interrobang(down)?|zerooldstyle|o(hm|ne(superior|half|oldstyle|quarter)|penbullet|rd((?:femin|mascul)ine))|d(i(scount|ed|v(orced)?)|o(ng|wnarrow|llar(oldstyle)?)|egree|agger(dbl)?|blhyphen(char)?)|uparrow|p(ilcrow|e(so|r(t((?:|ent)housand)|iodcentered))|aragraph|m)|e(stimated|ightoldstyle|uro)|quotes(traight((?:dbl|)base)|ingle)|f(iveoldstyle|ouroldstyle|lorin|ractionsolidus)|won|l(not|ira|e(ftarrow|af)|quill|angle|brackdbl)|a(s(cii(caron|dieresis|acute|grave|macron|breve)|teriskcentered)|cutedbl)|r(ightarrow|e(cipe|ferencemark|gistered)|quill|angle|brackdbl)|g(uarani|ravedbl)|m(ho|inus|u(sicalnote)?|arried)|b(igcircle|orn|ullet|lank|a(ht|rdbl)|rokenbar)))\\\\b","name":"constant.character.latex"},{"captures":{"1":{"name":"punctuation.definition.variable.latex"}},"match":"(\\\\\\\\)(?:[cgl]_+[@_\\\\p{Alphabetic}]+_[a-z]+|[qs]_[@_\\\\p{Alphabetic}]+[@\\\\p{Alphabetic}])","name":"variable.other.latex3.latex"}]},"autocites-arg":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#optional-arg-parenthesis-no-highlight"}]},"2":{"patterns":[{"include":"#optional-arg-bracket-no-highlight"}]},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"constant.other.reference.citation.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"patterns":[{"include":"#autocites-arg"}]}},"match":"((?:\\\\([^)]*\\\\)){0,2})((?:\\\\[[^]]*]){0,2})(\\\\{)([-.:_\\\\p{Alphabetic}\\\\p{N}]+)(})(.*)"}]},"braces":{"begin":"(?<!\\\\\\\\)\\\\{","beginCaptures":{"0":{"name":"punctuation.group.begin.latex"}},"end":"(?<!\\\\\\\\)}","endCaptures":{"0":{"name":"punctuation.group.end.latex"}},"name":"meta.group.braces.latex","patterns":[{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#macro-with-args-tokenizer"},{"include":"#all-other-macro"},{"include":"text.tex"},{"include":"#braces"}]},"citation-macro":{"begin":"((\\\\\\\\)(?:[Aa]uto|foot|full|footfull|no|ref|short|[Tt]ext|[Pp]aren|[Ss]mart|[FPfp]vol|vol)?[Cc]ite(?:al)?(?:[pst]|author|year(?:par)?|title|url|date)?[ANP]*\\\\*?)((?:(?:\\\\([^)]*\\\\)){0,2}(?:\\\\[[^]]*]){0,2}\\\\{[-.:_\\\\p{Alphabetic}\\\\p{N}]*})*)(<[^]<>]*>)?((?:\\\\[[^]]*])*)(\\\\{)","captures":{"1":{"name":"keyword.control.cite.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"patterns":[{"include":"#autocites-arg"}]},"4":{"patterns":[{"include":"#optional-arg-angle-no-highlight"}]},"5":{"patterns":[{"include":"#optional-arg-bracket-no-highlight"}]},"6":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.citation.latex","patterns":[{"captures":{"1":{"name":"comment.line.percentage.tex"},"2":{"name":"punctuation.definition.comment.tex"}},"match":"((%).*)$"},{"match":"[-.:\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.citation.latex"}]},"column-specials":{"captures":{"1":{"name":"punctuation.definition.column-specials.begin.latex"},"2":{"name":"punctuation.definition.column-specials.end.latex"}},"match":"[<>](\\\\{)\\\\$(})","name":"meta.column-specials.latex"},"display-math":{"patterns":[{"begin":"\\\\\\\\\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\\\\\]","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\$\\\\$","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\$\\\\$","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.latex"},{"include":"text.tex#math-content"},{"include":"$self"}]}]},"document-env":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\\\s*\\\\\\\\begin\\\\{document})","name":"meta.function.begin-document.latex"},{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\\\s*\\\\\\\\end\\\\{document})","name":"meta.function.end-document.latex"}]},"documentclass-usepackage-macro":{"begin":"((\\\\\\\\)(?:usepackage|documentclass))\\\\b(?=[\\\\[{])","beginCaptures":{"1":{"name":"keyword.control.preamble.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.preamble.latex","patterns":[{"include":"#multiline-optional-arg"},{"begin":"((?:\\\\G|(?<=]))\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"support.class.latex","end":"(})","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"$self"}]}]},"embedded-code-env":{"patterns":[{"begin":"(?:^\\\\s*)?\\\\\\\\begin\\\\{(lstlisting|minted|pyglist)}(?=[\\\\[{])","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\\\\\end\\\\{\\\\1}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(asy(?:|mptote))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.asy","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.asy"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(bash)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.shell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.shell"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(c(?:|pp))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.cpp.embedded.latex"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(css)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.css","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.css"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(gnuplot)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.gnuplot"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(h(?:s|askell))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.haskell"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(html)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"text.html","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"text.html.basic"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(java)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.java"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(j(?:l|ulia))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.julia"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(j(?:s|avascript))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.js","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.js"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(lua)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.lua"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(py|python|sage)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.python"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(r(?:b|uby))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.ruby","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.ruby"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(rust)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.rust","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.rust"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(t(?:s|ypescript))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.ts","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.ts"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(xml)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"text.xml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"text.xml"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(yaml)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.yaml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.yaml"}]},{"begin":"(?:\\\\G|(?<=]))(?:(\\\\{)([A-Za-z]*)(}))?","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:lstlisting|minted|pyglist)})","name":"meta.embedded.block.generic.latex"}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{asy(?:|code)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{asy(?:|code)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.asymptote","end":"^\\\\s*(?=\\\\\\\\end\\\\{asy(?:|code)\\\\*?})","patterns":[{"include":"source.asymptote"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{cppcode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{cppcode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{cppcode\\\\*?})","patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{dot(?:2tex|code)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{dot(?:2tex|code)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.dot","end":"^\\\\s*(?=\\\\\\\\end\\\\{dot(?:2tex|code)\\\\*?})","patterns":[{"include":"source.dot"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{gnuplot\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{gnuplot\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{gnuplot\\\\*?})","patterns":[{"include":"source.gnuplot"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{hscode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{hscode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{hscode\\\\*?})","patterns":[{"include":"source.haskell"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.java"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{lua(?:code|draw)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{lua(?:code|draw)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{lua(?:code|draw)\\\\*?})","patterns":[{"include":"source.lua"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{scalacode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{scalacode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.scala","end":"^\\\\s*(?=\\\\\\\\end\\\\{scalacode\\\\*?})","patterns":[{"include":"source.scala"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{((?:[A-Za-z]*code|lstlisting|minted|pyglist)\\\\*?)}(?:\\\\[.*])?(?:\\\\{.*})?","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.function.embedded.latex","end":"\\\\\\\\end\\\\{\\\\1}(?:\\\\s*\\\\n)?","name":"meta.embedded.block.generic.latex"},{"begin":"((?:^\\\\s*)?\\\\\\\\begin\\\\{((?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?))})(?:\\\\[[^]]*]){0,2}(?=\\\\{)","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2})","patterns":[{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:asy(?:|mptote))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.asy","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.asy"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:bash)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.shell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.shell"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:c(?:|pp))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:css)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.css","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.css"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:gnuplot)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.gnuplot"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:h(?:s|askell))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.haskell"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:html)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.html","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.html.basic"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:java)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.java"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:j(?:l|ulia))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:j(?:s|avascript))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.js","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.js"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:lua)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.lua"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:py|python|sage)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:r(?:b|uby))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.ruby","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.ruby"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:rust)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.rust","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.rust"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:t(?:s|ypescript))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.ts","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.ts"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:xml)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.xml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.xml"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:yaml)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.yaml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.yaml"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:tikz(?:|picture))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.tex.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.tex.latex"}]}]},{"begin":"\\\\G(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","name":"meta.embedded.block.generic.latex"}]}]},{"begin":"(?:^\\\\s*)?\\\\\\\\begin\\\\{(terminal\\\\*?)}(?=[\\\\[{])","captures":{"0":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"end":"\\\\\\\\end\\\\{\\\\1}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)([A-Za-z]*)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{terminal\\\\*?})","name":"meta.embedded.block.generic.latex"}]}]},"hyperref-macro":{"patterns":[{"begin":"\\\\s*((\\\\\\\\)h(?:ref|yperref|yperimage))(?=[\\\\[{])","beginCaptures":{"1":{"name":"support.function.url.latex"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.function.hyperlink.latex","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)([^}]*)(})(?:\\\\{[^}]*}){2}?(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"markup.underline.link.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"},"4":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.variable.parameter.function.latex","end":"(?=})","patterns":[{"include":"$self"}]},{"begin":"(?:\\\\G|(?<=]))(?:(\\\\{)[^}]*(}))?(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"punctuation.definition.arguments.end.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.variable.parameter.function.latex","end":"(?=})","patterns":[{"include":"$self"}]}]},{"captures":{"1":{"name":"support.function.url.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"markup.underline.link.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"}},"match":"\\\\s*((\\\\\\\\)(?:url|path))(\\\\{)([^}]*)(})","name":"meta.function.link.url.latex"}]},"inline-code-macro":{"patterns":[{"begin":"((\\\\\\\\)addplot)\\\\+?(\\\\[[^\\\\[]*])*\\\\s*(gnuplot)\\\\s*(\\\\[[^\\\\[]*])*\\\\s*(\\\\{)","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"variable.parameter.function.latex"},"5":{"patterns":[{"include":"#optional-arg-bracket"}]},"6":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"\\\\s*(};)","patterns":[{"begin":"%","beginCaptures":{"0":{"name":"punctuation.definition.comment.latex"}},"end":"$\\\\n?","name":"comment.line.percentage.latex"},{"include":"source.gnuplot"}]},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.arguments.begin.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"markup.raw.verb.latex"},"8":{"name":"punctuation.definition.verb.latex"},"9":{"name":"punctuation.definition.verb.latex"},"10":{"name":"markup.raw.verb.latex"},"11":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)mint(?:|inline))((?:\\\\[[^\\\\[]*?])?)(\\\\{)[A-Za-z]*(})(?:([^A-Za-{])(.*?)(\\\\6)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"markup.raw.verb.latex"},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"markup.raw.verb.latex"},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)[a-z]+inline)((?:\\\\[[^\\\\[]*?])?)(?:([^A-Za-{])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"source.python","patterns":[{"include":"source.python"}]},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"source.python","patterns":[{"include":"source.python"}]},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)(?:(?:py|pycon|pylab|pylabcon|sympy|sympycon)[cv]?|pyq|pycq|pyif))((?:\\\\[[^\\\\[]*?])?)(?:([^](),;A-\\\\[a-{}\\\\s])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"source.julia","patterns":[{"include":"source.julia"}]},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"source.julia","patterns":[{"include":"source.julia"}]},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)j(?:l|ulia)[cv]?)((?:\\\\[[^\\\\[]*?])?)(?:([^A-Za-{])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"begin":"((\\\\\\\\)(?:directlua|luadirect|luaexec))(\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.lua","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.lua"},{"include":"text.tex#braces"}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:asy(?:|mptote))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.asy","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.asy"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:bash)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.shell","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.shell"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:c(?:|pp))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.cpp.embedded.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:css)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.css","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.css"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:gnuplot)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.gnuplot","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.gnuplot"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:h(?:s|askell))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.haskell","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.haskell"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:html)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.html","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.html.basic"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:java)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.java","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.java"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:j(?:l|ulia))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.julia","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.julia"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:j(?:s|avascript))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.js","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.js"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:lua)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.lua","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.lua"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:py|python|sage)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.python","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.python"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:r(?:b|uby))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.ruby","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.ruby"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:rust)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.rust","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.rust"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:t(?:s|ypescript))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.ts"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:xml)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.xml","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.xml"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:yaml)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.yaml","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.yaml"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:tikz(?:|picture))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.tex.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex.latex"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=[\\\\[{])","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.embedded.block.generic.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"}]}]},{"begin":"((\\\\\\\\)sys_get_shell:nnN(?:TF)?\\\\s?)(\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"markup.raw.verb.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}}}]},"inline-math":{"patterns":[{"begin":"\\\\\\\\\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\\\\\\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\$(?!\\\\$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tex"}},"end":"(?<!\\\\$)\\\\$","endCaptures":{"0":{"name":"punctuation.definition.string.end.tex"}},"name":"meta.math.block.tex support.class.math.block.tex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.latex"},{"include":"text.tex#math-content"},{"include":"$self"}]}]},"input-macro":{"begin":"((\\\\\\\\)in(?:clude|put))(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.include.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.include.latex","patterns":[{"include":"$self"}]},"label-macro":{"begin":"((\\\\\\\\)z?label)((?:\\\\[[^\\\\[]*?])*)(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.label.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.definition.label.latex","patterns":[{"match":"[!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+","name":"variable.parameter.definition.label.latex"}]},"macro-with-args-tokenizer":{"captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"variable.parameter.function.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.arguments.optional.begin.latex"},"7":{"patterns":[{"include":"$self"}]},"8":{"name":"punctuation.definition.arguments.optional.end.latex"},"9":{"name":"punctuation.definition.arguments.begin.latex"},"10":{"name":"variable.parameter.function.latex"},"11":{"name":"punctuation.definition.arguments.end.latex"}},"match":"\\\\s*((\\\\\\\\)\\\\p{Alphabetic}+)(\\\\{)(\\\\\\\\?\\\\p{Alphabetic}+\\\\*?)(})(?:(\\\\[)([^]]*)(])){0,2}(?:(\\\\{)([^{}]*)(}))?"},"multiline-arg-no-highlight":{"begin":"\\\\G\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.parameter.latex","patterns":[{"include":"#documentclass-usepackage-macro"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#newcommand-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"#braces"},{"include":"text.tex"}]},"multiline-optional-arg":{"begin":"\\\\G\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.arguments.optional.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.optional.end.latex"}},"name":"meta.parameter.optional.latex","patterns":[{"include":"$self"}]},"multiline-optional-arg-no-highlight":{"begin":"(?:\\\\G|(?<=}))\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.arguments.optional.begin.latex"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.optional.end.latex"}},"name":"meta.parameter.optional.latex","patterns":[{"include":"$self"}]},"newcommand-macro":{"begin":"((\\\\\\\\)(?:newcommand|renewcommand|(?:re)?newrobustcmd|DeclareRobustCommand)\\\\*?)(\\\\{)?((\\\\\\\\)[@\\\\p{Alphabetic}]+\\\\*?)(})?(?:(\\\\[)[^]]*(])){0,2}(\\\\{)","beginCaptures":{"1":{"name":"storage.type.function.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.begin.latex"},"4":{"name":"support.function.general.latex"},"5":{"name":"punctuation.definition.function.latex"},"6":{"name":"punctuation.definition.end.latex"},"7":{"name":"punctuation.definition.arguments.optional.begin.latex"},"8":{"name":"punctuation.definition.arguments.optional.end.latex"},"9":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.parameter.newcommand.latex","patterns":[{"include":"#documentclass-usepackage-macro"},{"include":"#unbalanced-env"},{"include":"#input-macro"},{"include":"#sections-macro"},{"include":"#hyperref-macro"},{"include":"#text-font-macro"},{"include":"#citation-macro"},{"include":"#references-macro"},{"include":"#label-macro"},{"include":"#verb-macro"},{"include":"#inline-code-macro"},{"include":"#macro-with-args-tokenizer"},{"include":"#all-other-macro"},{"include":"#display-math"},{"include":"#inline-math"},{"include":"#column-specials"},{"include":"#braces"},{"include":"text.tex"}]},"optional-arg-angle-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(<)[^<]*?(>)","name":"meta.parameter.optional.latex"}]},"optional-arg-bracket":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\[)([^\\\\[]*?)(])","name":"meta.parameter.optional.latex"}]},"optional-arg-bracket-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\[)[^\\\\[]*?(])","name":"meta.parameter.optional.latex"}]},"optional-arg-parenthesis":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\()([^(]*?)(\\\\))","name":"meta.parameter.optional.latex"}]},"optional-arg-parenthesis-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\()[^(]*?(\\\\))","name":"meta.parameter.optional.latex"}]},"references-macro":{"patterns":[{"begin":"((\\\\\\\\)\\\\w*[Rr]ef\\\\*?)(?:\\\\[[^]]*])?(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.ref.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.reference.label.latex","patterns":[{"match":"[!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.label.latex"}]},{"captures":{"1":{"name":"keyword.control.ref.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"constant.other.reference.label.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.arguments.begin.latex"},"7":{"name":"constant.other.reference.label.latex"},"8":{"name":"punctuation.definition.arguments.end.latex"}},"match":"((\\\\\\\\)\\\\w*[Rr]efrange\\\\*?)(?:\\\\[[^]]*])?(\\\\{)([!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+)(})(\\\\{)([!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+)(})"},{"begin":"((\\\\\\\\)bibentry)(\\\\{)","captures":{"1":{"name":"keyword.control.cite.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.citation.latex","patterns":[{"match":"[.:\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.citation.latex"}]}]},"sections-macro":{"begin":"((\\\\\\\\)((?:sub){0,2}section|(?:sub)?paragraph|chapter|part|addpart|addchap|addsec|minisec|frametitle)\\\\*?)((?:\\\\[[^\\\\[]*?]){0,2})(\\\\{)","beginCaptures":{"1":{"name":"support.function.section.latex"},"2":{"name":"punctuation.definition.function.latex"},"4":{"patterns":[{"include":"#optional-arg-bracket"}]},"5":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"entity.name.section.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.function.section.$3.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},"songs-chords":{"patterns":[{"begin":"\\\\\\\\\\\\[","end":"]","name":"meta.chord.block.latex support.class.chord.block.environment.latex","patterns":[{"include":"$self"}]},{"match":"\\\\^","name":"meta.chord.block.latex support.class.chord.block.environment.latex"},{"include":"$self"}]},"songs-env":{"patterns":[{"begin":"(\\\\s*\\\\\\\\begin\\\\{songs}\\\\{.*})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"meta.data.environment.songs.latex","end":"(\\\\\\\\end\\\\{songs}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.songs.latex","patterns":[{"include":"text.tex.latex#songs-chords"}]},{"begin":"\\\\s*((\\\\\\\\)beginsong)(?=\\\\{)","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"punctuation.definition.arguments.end.latex"}},"end":"((\\\\\\\\)endsong)(?:\\\\s*\\\\n)?","name":"meta.function.environment.song.latex","patterns":[{"include":"#multiline-arg-no-highlight"},{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=[]}]))\\\\s*","contentName":"meta.data.environment.song.latex","end":"\\\\s*(?=\\\\\\\\endsong)","patterns":[{"include":"text.tex.latex#songs-chords"}]}]}]},"text-font-macro":{"patterns":[{"begin":"((\\\\\\\\)emph)(\\\\{)","beginCaptures":{"1":{"name":"support.function.emph.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.emph.begin.latex"}},"contentName":"markup.italic.emph.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.emph.end.latex"}},"name":"meta.function.emph.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)textit)(\\\\{)","captures":{"1":{"name":"support.function.textit.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.textit.begin.latex"}},"contentName":"markup.italic.textit.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.textit.end.latex"}},"name":"meta.function.textit.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)textbf)(\\\\{)","captures":{"1":{"name":"support.function.textbf.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.textbf.begin.latex"}},"contentName":"markup.bold.textbf.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.textbf.end.latex"}},"name":"meta.function.textbf.latex","patterns":[{"include":"#braces"},{"include":"$self"}]},{"begin":"((\\\\\\\\)texttt)(\\\\{)","captures":{"1":{"name":"support.function.texttt.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.texttt.begin.latex"}},"contentName":"markup.raw.texttt.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.texttt.end.latex"}},"name":"meta.function.texttt.latex","patterns":[{"include":"#braces"},{"include":"$self"}]}]},"unbalanced-env":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"match":"(\\\\s*\\\\\\\\(?:begin|end)\\\\{(\\\\p{Alphabetic}+\\\\*?)})","name":"meta.function.environment.general.latex"}]},"verb-macro":{"patterns":[{"begin":"((\\\\\\\\)(?:[Vv]|spv)erb\\\\*?)\\\\s*((\\\\\\\\)scantokens)(\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"support.function.verb.latex"},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"punctuation.definition.begin.latex"}},"contentName":"markup.raw.verb.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.end.latex"}},"name":"meta.function.verb.latex","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.verb.latex"},"4":{"name":"markup.raw.verb.latex"},"5":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)(?:[Vv]|spv)erb\\\\*?)\\\\s*((?<=\\\\s)\\\\S|[^A-Za-z])(.*?)(\\\\3|$)","name":"meta.function.verb.latex"}]},"verbatim-env":{"patterns":[{"begin":"(\\\\s*\\\\\\\\begin\\\\{((?:fboxv|boxedv|[Vv]|spv)erbatim\\\\*?)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{\\\\2})","name":"meta.function.verbatim.latex"},{"begin":"(\\\\s*\\\\\\\\begin\\\\{VerbatimOut}\\\\{[^}]*})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{VerbatimOut})","name":"meta.function.verbatim.latex"},{"begin":"(\\\\s*\\\\\\\\begin\\\\{alltt})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{alltt})","name":"meta.function.alltt.latex","patterns":[{"captures":{"1":{"name":"punctuation.definition.function.latex"}},"match":"(\\\\\\\\)[A-Za-z]+","name":"support.function.general.latex"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{([Cc]omment)})","captures":{"1":{"patterns":[{"include":"#macro-with-args-tokenizer"}]}},"contentName":"comment.line.percentage.latex","end":"(\\\\\\\\end\\\\{\\\\2})","name":"meta.function.verbatim.latex"}]}},"scopeName":"text.tex.latex","embeddedLangs":["tex"],"embeddedLangsLazy":["shellscript","css","gnuplot","haskell","html","java","julia","javascript","lua","python","ruby","rust","typescript","xml","yaml","scala"]}')),PV=[...fx,BV]});var wx={};h1(wx,{default:()=>DV});var RV,DV,xx=s1(()=>{RV=Object.freeze(JSON.parse('{"displayName":"BibTeX","name":"bibtex","patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.bibtex"}},"match":"@(?i:comment)(?=[({\\\\s])","name":"comment.block.at-sign.bibtex"},{"include":"#preamble"},{"include":"#string"},{"include":"#entry"},{"begin":"[^\\\\n@]","end":"(?=@)","name":"comment.block.bibtex"}],"repository":{"entry":{"patterns":[{"begin":"((@)[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(\\\\{)\\\\s*([^,}\\\\s]*)","beginCaptures":{"1":{"name":"keyword.other.entry-type.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.entry.begin.bibtex"},"4":{"name":"entity.name.type.entry-key.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.entry.end.bibtex"}},"name":"meta.entry.braces.bibtex","patterns":[{"begin":"([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(=)","beginCaptures":{"1":{"name":"support.function.key.bibtex"},"2":{"name":"punctuation.separator.key-value.bibtex"}},"end":"(?=[,}])","name":"meta.key-assignment.bibtex","patterns":[{"include":"#field_value"}]}]},{"begin":"((@)[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(\\\\()\\\\s*([^,\\\\s]*)","beginCaptures":{"1":{"name":"keyword.other.entry-type.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.entry.begin.bibtex"},"4":{"name":"entity.name.type.entry-key.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.entry.end.bibtex"}},"name":"meta.entry.parenthesis.bibtex","patterns":[{"begin":"([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)\\\\s*(=)","beginCaptures":{"1":{"name":"support.function.key.bibtex"},"2":{"name":"punctuation.separator.key-value.bibtex"}},"end":"(?=[),])","name":"meta.key-assignment.bibtex","patterns":[{"include":"#field_value"}]}]}]},"field_value":{"patterns":[{"include":"#string_content"},{"include":"#integer"},{"include":"#string_var"},{"match":"#","name":"keyword.operator.bibtex"}]},"integer":{"captures":{"1":{"name":"constant.numeric.bibtex"}},"match":"\\\\s*(\\\\d+)\\\\s*"},"nested_braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.group.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]},"preamble":{"patterns":[{"begin":"((@)(?i:preamble))\\\\s*(\\\\{)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preamble.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.preamble.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.preamble.end.bibtex"}},"name":"meta.preamble.braces.bibtex","patterns":[{"include":"#field_value"}]},{"begin":"((@)(?i:preamble))\\\\s*(\\\\()\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preamble.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.preamble.begin.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.preamble.end.bibtex"}},"name":"meta.preamble.parenthesis.bibtex","patterns":[{"include":"#field_value"}]}]},"string":{"patterns":[{"begin":"((@)(?i:string))\\\\s*(\\\\{)\\\\s*([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)","beginCaptures":{"1":{"name":"keyword.other.string-constant.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.string-constant.begin.bibtex"},"4":{"name":"variable.other.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.string-constant.end.bibtex"}},"name":"meta.string-constant.braces.bibtex","patterns":[{"include":"#field_value"}]},{"begin":"((@)(?i:string))\\\\s*(\\\\()\\\\s*([-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*)","beginCaptures":{"1":{"name":"keyword.other.string-constant.bibtex"},"2":{"name":"punctuation.definition.keyword.bibtex"},"3":{"name":"punctuation.section.string-constant.begin.bibtex"},"4":{"name":"variable.other.bibtex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.string-constant.end.bibtex"}},"name":"meta.string-constant.parenthesis.bibtex","patterns":[{"include":"#field_value"}]}]},"string_content":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bibtex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bibtex"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.bibtex"}},"patterns":[{"include":"#nested_braces"}]}]},"string_var":{"captures":{"0":{"name":"support.variable.bibtex"}},"match":"[-!$\\\\&*+./:;<>-z|~][!$\\\\&*+\\\\--<>-z|~]*"}},"scopeName":"text.bibtex"}')),DV=[RV]});var kx={};h1(kx,{default:()=>OV});var GV,OV,zx=s1(()=>{GV=Object.freeze(JSON.parse('{"displayName":"AsciiDoc","fileTypes":["ad","asc","adoc","asciidoc","adoc.txt"],"name":"asciidoc","patterns":[{"include":"#comment"},{"include":"#callout-list-item"},{"include":"#titles"},{"include":"#attribute-entry"},{"include":"#blocks"},{"include":"#block-title"},{"include":"#tables"},{"include":"#horizontal-rule"},{"include":"#list"},{"include":"#inlines"},{"include":"#block-attribute"},{"include":"#line-break"}],"repository":{"admonition-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)([#%,.][^]]+)*]$))","end":"((?<=--|====)|^\\\\p{blank}*)$","name":"markup.admonition.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)([#%,.]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(={4,})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]}]},{"begin":"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\\\p{blank}+","captures":{"1":{"name":"entity.name.function.asciidoc"}},"end":"^\\\\p{blank}*$|(?=^/{2})","name":"markup.admonition.asciidoc","patterns":[{"include":"#inlines"}]}]},"anchor-macro":{"patterns":[{"captures":{"1":{"name":"support.constant.asciidoc"},"2":{"name":"markup.blockid.asciidoc"},"3":{"name":"string.unquoted.asciidoc"},"4":{"name":"support.constant.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[{2})([:_[:alpha:]][-.:[:word:]]*)(?:,\\\\p{blank}*(\\\\S.*?))?(]{2})","name":"markup.other.anchor.asciidoc"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.blockid.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(anchor):(\\\\S+)\\\\[(.*?[^\\\\\\\\])?]","name":"markup.other.anchor.asciidoc"}]},"attribute-entry":{"patterns":[{"begin":"^(:)(!?\\\\w.*?)(:)(\\\\p{blank}+.+\\\\p{blank}[+\\\\\\\\])$","beginCaptures":{"1":{"name":"punctuation.separator.attribute-entry.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"},"3":{"name":"punctuation.separator.attribute-entry.asciidoc"},"4":{"name":"string.unquoted.attribute-value.asciidoc","patterns":[{"include":"#inlines"},{"include":"#hard-break-backslash"},{"include":"#line-break"},{"include":"#line-break-backslash"}]}},"contentName":"string.unquoted.attribute-value.asciidoc","end":"^(?:\\\\p{blank}+.+$(?<![+\\\\\\\\])|\\\\p{blank}*$)","endCaptures":{"0":{"name":"string.unquoted.attribute-value.asciidoc"}},"name":"meta.definition.attribute-entry.asciidoc","patterns":[{"include":"#inlines"},{"include":"#hard-break-backslash"},{"include":"#line-break"},{"include":"#line-break-backslash"}]},{"captures":{"1":{"name":"punctuation.separator.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"},"3":{"name":"punctuation.separator.asciidoc"},"4":{"name":"string.unquoted.attribute-value.asciidoc","patterns":[{"include":"#inlines"},{"include":"#line-break"}]}},"match":"^(:)(!?\\\\w.*?)(:)(\\\\p{blank}+(.*))?$","name":"meta.definition.attribute-entry.asciidoc"}]},"attribute-reference":{"patterns":[{"captures":{"2":{"name":"entity.name.function.asciidoc"},"3":{"name":"punctuation.separator.asciidoc"},"4":{"name":"support.constant.attribute-name.asciidoc"},"6":{"name":"punctuation.separator.asciidoc"},"7":{"name":"string.unquoted.attribute-value.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\{)(set|counter2?)(:)([-!_[:alnum:]]+)((:)(.*?))?(?<!\\\\\\\\)(})","name":"markup.substitution.attribute-reference.asciidoc"},{"captures":{"1":{"name":"punctuation.definition.attribute-reference.begin.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"},"3":{"name":"punctuation.definition.attribute-reference.end.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\{)(\\\\w+(?:-\\\\w+)*)(?<!\\\\\\\\)(})","name":"markup.substitution.attribute-reference.asciidoc"}]},"bibliography-anchor":{"patterns":[{"captures":{"1":{"name":"support.constant.asciidoc"},"2":{"name":"markup.biblioref.asciidoc"},"3":{"name":"support.constant.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[{3})([:[:word:]][-.:[:word:]]*?)(]{3})","name":"bibliography-anchor.asciidoc"}]},"bibtex-macro":{"patterns":[{"begin":"(?<!\\\\\\\\)(citenp:)([,a-z]*)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.macro.inline.bibtex.asciidoc"}]},"block-attribute":{"patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(|\\\\p{blank}*[\\"#%\',.{[:word:]].*)]$","name":"markup.heading.block-attribute.asciidoc"}]},"block-attribute-inner":{"patterns":[{"match":"([#%,.])","name":"punctuation.separator.asciidoc"},{"captures":{"0":{"name":"markup.meta.attribute-list.asciidoc","patterns":[{"include":"#keywords"}]}},"match":"(?<=\\\\[)([^]#%,.=\\\\[]+)"},{"captures":{"0":{"patterns":[{"include":"#attribute-reference"}]}},"match":"(?<=[,{]|.|[\\"#%\'])((?:[^]#%,.]|](?=[\\\\t ]*\\\\S))+)","name":"markup.meta.attribute-list.asciidoc"}]},"block-callout":{"patterns":[{"captures":{"2":{"name":"constant.other.symbol.asciidoc"},"4":{"name":"constant.numeric.asciidoc"},"5":{"name":"constant.other.symbol.asciidoc"}},"match":"(?:(?://|#|--|;;) ?)?( )?(?<!\\\\\\\\)(<)!?(--|)(\\\\d+)\\\\3(>)(?=(?: ?<!?\\\\3\\\\d+\\\\3>)*$)","name":"callout.source.code.asciidoc"}]},"block-title":{"patterns":[{"begin":"^\\\\.([^.[:blank:]].*)","captures":{"1":{"name":"markup.heading.blocktitle.asciidoc"}},"end":"$"}]},"blocks":{"patterns":[{"include":"#front-matter-block"},{"include":"#comment-paragraph"},{"include":"#admonition-paragraph"},{"include":"#quote-paragraph"},{"include":"#listing-paragraph"},{"include":"#source-paragraphs"},{"include":"#passthrough-paragraph"},{"include":"#example-paragraph"},{"include":"#sidebar-paragraph"},{"include":"#literal-paragraph"},{"include":"#open-block"}]},"callout-list-item":{"patterns":[{"captures":{"1":{"name":"constant.other.symbol.asciidoc"},"2":{"name":"constant.numeric.asciidoc"},"3":{"name":"constant.other.symbol.asciidoc"},"4":{"patterns":[{"include":"#inlines"}]}},"match":"^(<)(\\\\d+)(>)\\\\p{blank}+(.*)$","name":"callout.asciidoc"}]},"characters":{"patterns":[{"captures":{"1":{"name":"constant.character.asciidoc"},"3":{"name":"constant.character.asciidoc"}},"match":"(?<!\\\\\\\\)(&)(\\\\S+?)(;)","name":"markup.character-reference.asciidoc"}]},"comment":{"patterns":[{"begin":"^(/{4,})$","end":"^\\\\1$","name":"comment.block.asciidoc","patterns":[{"include":"#inlines"}]},{"match":"^/{2}([^/].*)?$","name":"comment.inline.asciidoc"}]},"comment-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(comment)([#%,.][^]]+)*]$))","end":"((?<=--)|^\\\\p{blank}*)$","name":"comment.block.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(comment)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"include":"#inlines"}]}]},"emphasis":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.italic.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)(\\\\[[^]]+?])?((__)((?!_).+?)(__))","name":"markup.emphasis.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.italic.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?!_{4,}\\\\s*$)(?<=^|[^:;[:word:]])(\\\\[[^]]+?])?((_)(\\\\S(?:|.*?\\\\S))(_))(?!\\\\p{word})","name":"markup.emphasis.constrained.asciidoc"}]},"example-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(example)([#%,.][^]]+)*]$))","end":"((?<=--|====)|^\\\\p{blank}*)$","name":"markup.block.example.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(example)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(={4,})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"begin":"^(-{2})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"include":"#inlines"}]},{"begin":"^(={4,})$","end":"^(\\\\1)$","name":"markup.block.example.asciidoc","patterns":[{"include":"$self"}]}]},"footnote-macro":{"patterns":[{"begin":"(?<!\\\\\\\\)footnote(?:(ref):|:([-\\\\w]+)?)\\\\[(.*?[^\\\\\\\\])??","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"support.constant.attribute-name.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.other.footnote.asciidoc","patterns":[{"include":"#inlines"}]}]},"front-matter-block":{"patterns":[{"begin":"\\\\A(-{3})$","end":"^(\\\\1)$","name":"markup.block.front-matter.asciidoc","patterns":[{"include":"source.yaml"}]}]},"general-block-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"4":{"name":"punctuation.separator.asciidoc"},"5":{"name":"string.unquoted.asciidoc","patterns":[{"include":"#attribute-reference"}]},"6":{"name":"punctuation.separator.asciidoc"}},"match":"^(\\\\p{word}+)(::)(\\\\S*?)(\\\\[)((?:\\\\\\\\]|[^]])*?)(])[\\\\t ]*$","name":"markup.macro.block.general.asciidoc"}]},"hard-break-backslash":{"patterns":[{"captures":{"1":{"name":"constant.other.symbol.hard-break.asciidoc"}},"match":"(?<=\\\\S)\\\\p{blank}+(\\\\+ \\\\\\\\)$"}]},"horizontal-rule":{"patterns":[{"match":"^(?:[\'<]{3,}| {0,3}([-\'*])( *)\\\\1\\\\2\\\\1)$","name":"constant.other.symbol.horizontal-rule.asciidoc"}]},"image-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.link.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(i(?:mage|con)):([^:\\\\[][^\\\\[]*)\\\\[((?:\\\\\\\\]|[^]])*?)]","name":"markup.macro.image.asciidoc"}]},"include-directive":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"4":{"name":"punctuation.separator.asciidoc"},"5":{"name":"string.unquoted.asciidoc","patterns":[{"include":"#attribute-reference"}]},"6":{"name":"punctuation.separator.asciidoc"}},"match":"^(include)(::)([^\\\\[]+)(\\\\[)(.*?)(])$"}]},"indexterm-concealed":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"2":{"patterns":[{"include":"#attribute-reference"}]},"3":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\(\\\\(\\\\()(.*?)(\\\\)\\\\)\\\\))","name":"markup.other.indexterm.concealed.asciidoc"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"4":{"patterns":[{"include":"#attribute-reference"}]},"5":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<!\\\\\\\\)(indexterm)(:)(\\\\[)((?:\\\\\\\\]|[^]])*?)(])","name":"markup.other.indexterm.concealed.asciidoc"}]},"indexterm-flow":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"2":{"name":"markup.other.indexterm.flow.asciidoc","patterns":[{"include":"#attribute-reference"}]},"3":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<![(\\\\\\\\])(\\\\(\\\\()([^(].*?)(\\\\)\\\\))"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"punctuation.separator.asciidoc"},"3":{"name":"punctuation.definition.indexterm.begin.asciidoc"},"4":{"name":"markup.other.indexterm.flow.asciidoc","patterns":[{"include":"#attribute-reference"}]},"5":{"name":"punctuation.definition.indexterm.end.asciidoc"}},"match":"(?<!\\\\\\\\)(indexterm2)(:)(\\\\[)((?:\\\\\\\\]|[^]])*?)(])"}]},"inlines":{"patterns":[{"include":"#typographic-quotes"},{"include":"#strong"},{"include":"#monospace"},{"include":"#emphasis"},{"include":"#superscript"},{"include":"#subscript"},{"include":"#mark"},{"include":"#general-block-macro"},{"include":"#anchor-macro"},{"include":"#footnote-macro"},{"include":"#indexterm-concealed"},{"include":"#indexterm-flow"},{"include":"#image-macro"},{"include":"#kbd-macro"},{"include":"#link-macro"},{"include":"#stem-macro"},{"include":"#menu-macro"},{"include":"#passthrough-macro"},{"include":"#xref-macro"},{"include":"#attribute-reference"},{"include":"#characters"},{"include":"#bibtex-macro"},{"include":"#bibliography-anchor"}]},"kbd-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(kbd|btn):(\\\\[)((?:\\\\\\\\]|[^]])+?)(])","name":"markup.macro.kbd.asciidoc"}]},"keywords":{"patterns":[{"match":"(NOTE|TIP|IMPORTANT|WARNING|CAUTION)","name":"entity.name.function.asciidoc"},{"match":"(comment|example|literal|listing|normal|pass|quote|sidebar|source|verse|abstract|partintro)","name":"entity.name.function.asciidoc"},{"match":"(actdiag|blockdiag|ditaa|graphviz|tikz|meme|mermaid|nwdiag|packetdiag|pikchr|plantuml|rackdiag|seqdiag|shaape|wavedrom)","name":"entity.name.function.asciidoc"},{"match":"(sect[1-4]|preface|colophon|dedication|glossary|bibliography|synopsis|appendix|index|normal|partintro|music|latex|stem)","name":"entity.name.function.asciidoc"}]},"line-break":{"patterns":[{"captures":{"1":{"name":"variable.line-break.asciidoc"}},"match":"(?<=\\\\S)\\\\p{blank}+(\\\\+)$"}]},"line-break-backslash":{"patterns":[{"captures":{"1":{"name":"variable.line-break.asciidoc"}},"match":"(?<=\\\\S)\\\\p{blank}+(\\\\\\\\)$"}]},"link-macro":{"patterns":[{"captures":{"1":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"2":{"name":"string.unquoted.asciidoc"}},"match":"(?:^|[]();<>\\\\[\\\\s])((?<!\\\\\\\\)(?:https?|file|ftp|irc)://[^]<\\\\[\\\\s]*[^]),.<\\\\[\\\\s])(?:\\\\[((?:\\\\\\\\]|[^]])*?)])?","name":"markup.other.url.asciidoc"},{"captures":{"1":{"name":"markup.substitution.attribute-reference.asciidoc"},"2":{"name":"string.unquoted.asciidoc"}},"match":"(?:^|[]();<>\\\\[[:blank:]])((?<!\\\\\\\\)\\\\{uri-\\\\w+(?:-\\\\w+)*(?<!\\\\\\\\)})\\\\[((?:\\\\\\\\]|[^]])*?)]","name":"markup.other.url.asciidoc"},{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.link.asciidoc","patterns":[{"include":"#attribute-reference"}]},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(link|mailto):([^\\\\[\\\\s]+)\\\\[((?:\\\\\\\\]|[^]])*?)]","name":"markup.other.url.asciidoc"},{"match":"\\\\p{word}[-%+.[:word:]]*(@)\\\\p{alnum}[-.[:alnum:]]*(\\\\.)\\\\p{alpha}{2,4}\\\\b","name":"markup.link.email.asciidoc"}]},"list":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.list.begin.asciidoc punctuation.definition.list.begin.markdown"},"1":{"name":"punctuation.definition.metadata.asciidoc punctuation.definition.metadata.markdown"}},"match":"^\\\\s*(-)\\\\p{blank}(\\\\[[*x[:blank:]]])(?=\\\\p{blank})","name":"markup.list.todo.asciidoc"},{"captures":{"0":{"name":"punctuation.definition.list.begin.asciidoc punctuation.definition.list.begin.markdown"}},"match":"^\\\\p{blank}*(-|\\\\*{1,5}|\u2022{1,5})(?=\\\\p{blank})","name":"markup.list.unnumbered.asciidoc markup.list.unnumbered.markdown"},{"captures":{"0":{"name":"punctuation.definition.list.begin.asciidoc punctuation.definition.list.begin.markdown"}},"match":"^\\\\p{blank}*(\\\\.{1,5}|\\\\d+\\\\.|[A-Za-z]\\\\.|[IVXivx]+\\\\))(?=\\\\p{blank})","name":"markup.list.numbered.asciidoc markup.list.numbered.markdown"},{"captures":{"1":{"patterns":[{"include":"#link-macro"},{"include":"#attribute-reference"}]},"2":{"name":"markup.list.bullet.asciidoc"}},"match":"^\\\\p{blank}*(.*?\\\\S)(:{2,4}|;;)($|\\\\p{blank}+)","name":"markup.heading.list.asciidoc"}]},"listing-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(listing)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.block.listing.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(listing)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","end":"^(\\\\1)$"},{"begin":"^(\\\\.{4,})\\\\s*$","end":"^(\\\\1)$"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$"},{"include":"#inlines"}]}]},"literal-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(literal)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.block.literal.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(literal)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\.{4,})$","end":"^(\\\\1)$"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$"},{"include":"#inlines"}]},{"begin":"^(\\\\.{4,})$","end":"^(\\\\1)$","name":"markup.block.literal.asciidoc"}]},"mark":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.mark.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)(\\\\[[^]]+?])((##)(.+?)(##))","name":"markup.mark.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.highlight.asciidoc"},"2":{"name":"punctuation.definition.asciidoc"},"4":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)((##)(.+?)(##))","name":"markup.mark.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.mark.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![#:;\\\\\\\\[:word:]])(\\\\[[^]]+?])((#)(\\\\S(?:|.*?\\\\S))(#)(?!\\\\p{word}))","name":"markup.mark.constrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.highlight.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![#:;\\\\\\\\[:word:]])(\\\\[[^]]+?])?((#)(\\\\S(?:|.*?\\\\S))(#)(?!\\\\p{word}))","name":"markup.mark.constrained.asciidoc"}]},"menu-macro":{"patterns":[{"captures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.link.asciidoc"},"3":{"name":"string.unquoted.asciidoc"}},"match":"(?<!\\\\\\\\)(menu):(\\\\p{word}(?:|.*?\\\\S))\\\\[\\\\p{blank}*(.+?)?]","name":"markup.other.menu.asciidoc"}]},"monospace":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.inline.raw.monospace.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[.+?])?((``)(.+?)(``))","name":"markup.monospace.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.inline.raw.monospace.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![\\"\':;\\\\\\\\`[:word:]])(\\\\[.+?])?((`)(\\\\S(?:|.*?\\\\S))(`))(?![\\"\'`[:word:]])","name":"markup.monospace.constrained.asciidoc"}]},"open-block":{"patterns":[{"begin":"^(-{2})$","beginCaptures":{"1":{"name":"constant.other.symbol.asciidoc"}},"end":"^(\\\\1)$","endCaptures":{"1":{"name":"constant.other.symbol.asciidoc"}},"name":"markup.block.open.asciidoc","patterns":[{"include":"$self"}]}]},"passthrough-macro":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"support.constant.asciidoc"},"4":{"name":"string.unquoted.asciidoc","patterns":[{"include":"text.html.basic"}]},"5":{"name":"support.constant.asciidoc"}},"match":"(?:(?<!\\\\\\\\)(\\\\[([^]]+?)]))?\\\\\\\\{0,2}(?<delim>\\\\+{2,3}|\\\\${2})(.*?)(\\\\k<delim>)","name":"markup.macro.inline.passthrough.asciidoc"},{"begin":"(?<!\\\\\\\\)(pass:)([,a-z]*)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.macro.inline.passthrough.asciidoc","patterns":[{"include":"text.html.basic"}]}]},"passthrough-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(pass)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\+\\\\+)|^\\\\p{blank}*)$","name":"markup.block.passthrough.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(pass)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\+{4,})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"text.html.basic"}]},{"begin":"^(-{2})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"text.html.basic"}]}]},{"begin":"^(\\\\+{4,})$","end":"\\\\1","name":"markup.block.passthrough.asciidoc","patterns":[{"include":"text.html.basic"}]}]},"quote-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(quote|verse)([#%,.](?:[^],]|](?=[\\\\t ]*\\\\S))+)*]$))","end":"((?<=____|\\"\\"|--)|^\\\\p{blank}*)$","name":"markup.italic.quotes.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(quote|verse)([#%,.](?:[^],]|](?=[\\\\t ]*\\\\S))+)*]$"},{"include":"#block-title"},{"include":"#inlines"},{"begin":"^(_{4,})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(\\"{2})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(-{2})\\\\s*$","end":"(?<=\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(-{4,})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(\\\\.{4,})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]}]},{"begin":"^(\\"\\")$","end":"^\\\\1$","name":"markup.italic.quotes.asciidoc","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^\\\\p{blank}*(>) ","end":"^\\\\p{blank}*?$","name":"markup.italic.quotes.asciidoc","patterns":[{"include":"#inlines"},{"include":"#list"}]}]},"sidebar-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(sidebar)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\*\\\\*\\\\*\\\\*)|^\\\\p{blank}*)$","name":"markup.block.sidebar.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(sidebar)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\*{4,})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"begin":"^(-{2})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"include":"#inlines"}]},{"begin":"^(\\\\*{4,})$","end":"^(\\\\1)$","name":"markup.block.sidebar.asciidoc","patterns":[{"include":"$self"}]}]},"source-asciidoctor":{"patterns":[{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(css(?:|.erb)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.css.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(css(?:|.erb)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(html?|shtml|xhtml|inc|tmpl|tpl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.basic.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(html?|shtml|xhtml|inc|tmpl|tpl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ini|conf))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ini.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ini|conf))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(java|bsh))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.java.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(java|bsh))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(lua))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.lua.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(lua))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:[Mm]|GNUm|OCamlM)akefile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.makefile.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:[Mm]|GNUm|OCamlM)akefile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.perl.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([RSrs]|Rprofile|\\\\{\\\\.r.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.r.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([RSrs]|Rprofile|\\\\{\\\\.r.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?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))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ruby.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?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))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.php.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(sql|ddl|dml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.sql.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(sql|ddl|dml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(vb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.vs_net.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(vb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.xml.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xslt??))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.xsl.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(xslt??))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ya?ml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.yaml.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(ya?ml))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bat(?:|ch)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.dosbatch.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bat(?:|ch)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(cl(?:js??|ojure)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.clojure.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(cl(?:js??|ojure)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(coffee|Cakefile|coffee.erb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.coffee.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(coffee|Cakefile|coffee.erb))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([ch]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.c.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([ch]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:pp|\\\\+\\\\+|xx)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.cpp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:pp|\\\\+\\\\+|xx)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(patch|diff|rej))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.diff.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(patch|diff|rej))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([Dd]ockerfile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.dockerfile.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:([Dd]ockerfile))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:COMMIT_EDIT|MERGE_)MSG))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.git_commit.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:COMMIT_EDIT|MERGE_)MSG))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(git-rebase-todo))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.git_rebase.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(git-rebase-todo))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(go(?:|lang)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.go.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(go(?:|lang)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(g(?:roovy|vy)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.groovy.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(g(?:roovy|vy)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jade|pug))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.pug.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jade|pug))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\{\\\\.js.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.js.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\{\\\\.js.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(regexp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.js_regexp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(regexp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.json.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsonc))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.jsonc.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(jsonc))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(less))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.less.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(less))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.objc.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm]))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(swift))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.swift.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(swift))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(scss))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.scss.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(scss))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl6|p6|pl6|pm6|nqp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.perl6.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(perl6|p6|pl6|pm6|nqp))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(p(?:owershell|s1|sm1|sd1|wsh)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.powershell.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(p(?:owershell|s1|sm1|sd1|wsh)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\{\\\\.python.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.python.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\{\\\\.python.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(julia|\\\\{\\\\.julia.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.julia.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(julia|\\\\{\\\\.julia.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(re))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.regexp_python.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(re))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(rust|rs|\\\\{\\\\.rust.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.rust.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(rust|rs|\\\\{\\\\.rust.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(s(?:cala|bt)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.scala.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(s(?:cala|bt)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\{\\\\.bash.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.shell.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\{\\\\.bash.+?}))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(t(?:ypescript|s)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ts.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(t(?:ypescript|s)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(tsx))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.tsx.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(tsx))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.csharp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(c(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(f(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.fsharp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(f(?:s|sharp|#)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(dart))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.dart.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(dart))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(h(?:andlebars|bs)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.handlebars.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(h(?:andlebars|bs)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(m(?:arkdown|d)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.markdown.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(m(?:arkdown|d)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(log))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.log.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(log))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(erlang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.erlang.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(erlang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(elixir))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.elixir.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(elixir))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:la|)tex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.latex.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:((?:la|)tex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bibtex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.bibtex.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(bibtex))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(twig))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.twig.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(twig))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(yang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.yang.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(yang))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(abap))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.abap.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(abap))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(r(?:estructuredtext|st)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.restructuredtext.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(r(?:estructuredtext|st)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(haskell))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.haskell.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(haskell))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]},{"begin":"(?=^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(k(?:otlin|t)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$)","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.kotlin.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[([^,]*)\\\\p{blank}*,\\\\p{blank}*(?i:(k(?:otlin|t)))(\\\\p{blank}*,\\\\p{blank}*[^]]*)?]$"},{"include":"#block-title"},{"begin":"(^|\\\\G)(-{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!(-{4,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(-{2})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!(-{2})\\\\s*$)"}]},{"begin":"(^|\\\\G)(\\\\.{4,})\\\\s*$","end":"(^|\\\\G)(\\\\2)\\\\s*$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!(\\\\.{4,})\\\\s*$)"}]}]}]},"source-markdown":{"patterns":[{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(css(?:|.erb))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.css.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(html?|shtml|xhtml|inc|tmpl|tpl)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.basic.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(ini|conf)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.ini.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(java|bsh)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.java.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(lua)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.lua.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:((?:[Mm]|GNUm|OCamlM)akefile)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.makefile.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.perl.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:([RSrs]|Rprofile|\\\\{\\\\.r.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.r.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{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+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.ruby.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.php.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(sql|ddl|dml)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.sql.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(vb)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.vs_net.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.xml.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(xslt??)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.xsl.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(ya?ml)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.yaml.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(bat(?:|ch))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.dosbatch.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(cl(?:js??|ojure))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.clojure.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(coffee|Cakefile|coffee.erb)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.coffee.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:([ch])((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.c.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(c(?:pp|\\\\+\\\\+|xx))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.cpp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(patch|diff|rej)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.diff.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:([Dd]ockerfile)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.dockerfile.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:((?:COMMIT_EDIT|MERGE_)MSG)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.git_commit.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(git-rebase-todo)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.git_rebase.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(go(?:|lang))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.go.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(g(?:roovy|vy))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.groovy.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(jade|pug)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.pug.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\{\\\\.js.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.js.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(regexp)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.js_regexp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.json.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(jsonc)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.jsonc.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(less)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.less.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm])((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.objc.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(swift)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.swift.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(scss)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.scss.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.perl6.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(p(?:owershell|s1|sm1|sd1|wsh))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.powershell.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\{\\\\.python.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.python.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(julia|\\\\{\\\\.julia.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.julia.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(re)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.regexp_python.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(rust|rs|\\\\{\\\\.rust.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.rust.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(s(?:cala|bt))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.scala.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\{\\\\.bash.+?})((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.shell.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(t(?:ypescript|s))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.ts.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(tsx)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.tsx.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(c(?:s|sharp|#))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.csharp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(f(?:s|sharp|#))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.fsharp.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(dart)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.dart.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(h(?:andlebars|bs))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.handlebars.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(m(?:arkdown|d))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.markdown.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(log)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.log.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(erlang)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.erlang.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(elixir)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.elixir.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:((?:la|)tex)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.latex.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(bibtex)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.bibtex.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(twig)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.twig.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(yang)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.yang.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yang","patterns":[{"include":"source.yang"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(abap)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.abap.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.abap","patterns":[{"include":"source.abap"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(r(?:estructuredtext|st))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.restructuredtext.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.restructuredtext","patterns":[{"include":"source.rst"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(haskell)((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.haskell.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]},{"begin":"(^|\\\\G)(`{3,})\\\\s*(?i:(k(?:otlin|t))((\\\\s+|[,:?{])[^`]*)?$)","end":"(^|\\\\G)(\\\\2)\\\\s*$","name":"markup.code.kotlin.asciidoc","patterns":[{"include":"#block-callout"},{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?!\\\\s*(`{3,})\\\\s*$)"}]}]},"source-paragraphs":{"patterns":[{"include":"#source-asciidoctor"},{"include":"#source-markdown"}]},"stem-macro":{"patterns":[{"begin":"(?<!\\\\\\\\)(stem|(?:latex|ascii)math):([,a-z]*)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.macro.inline.stem.asciidoc"}]},"strong":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.bold.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\\\\\\\\\)(\\\\[.+?])?((\\\\*\\\\*)(.+?)(\\\\*\\\\*))","name":"markup.strong.unconstrained.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.bold.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<![*:;\\\\\\\\[:word:]])(\\\\[.+?])?((\\\\*)(\\\\S(?:|.*?\\\\S))(\\\\*)(?!\\\\p{word}))","name":"markup.strong.constrained.asciidoc"}]},"subscript":{"patterns":[{"captures":{"1":{"name":"markup.meta.sub.attribute-list.asciidoc"},"2":{"name":"markup.sub.subscript.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[.+?])?((~)(\\\\S+?)(~))","name":"markup.subscript.asciidoc"}]},"superscript":{"patterns":[{"captures":{"1":{"name":"markup.meta.super.attribute-list.asciidoc"},"2":{"name":"markup.super.superscript.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?<!\\\\\\\\)(\\\\[.+?])?((\\\\^)(\\\\S+?)(\\\\^))","name":"markup.superscript.asciidoc"}]},"table-csv":{"patterns":[{"begin":"^(,===)$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"^(\\\\1)$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.csv.asciidoc","patterns":[{"include":"text.csv"},{"captures":{"0":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":","},{"include":"#general-block-macro"}]}]},"table-dsv":{"patterns":[{"begin":"^(:===)$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"^(\\\\1)$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.dsv.asciidoc","patterns":[{"captures":{"0":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":":"},{"include":"#general-block-macro"}]}]},"table-nested":{"patterns":[{"begin":"^(!===)$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"markup.table.content.asciidoc","end":"^(\\\\1)$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.nested.asciidoc","patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":"(^|[^\\\\\\\\[:blank:]]*)(?<!\\\\\\\\)(!)"},{"include":"#tables-includes"}]}]},"table-psv":{"patterns":[{"begin":"^(\\\\|===)\\\\s*$","beginCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"contentName":"markup.table.content.asciidoc","end":"^(\\\\1)\\\\s*$","endCaptures":{"0":{"name":"markup.table.delimiter.asciidoc"}},"name":"markup.table.asciidoc","patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.table.cell.delimiter.asciidoc"}},"match":"(^|[^\\\\\\\\[:blank:]]*)(?<!\\\\\\\\)(\\\\|)"},{"include":"#tables-includes"}]}]},"tables":{"patterns":[{"include":"#table-psv"},{"include":"#table-nested"},{"include":"#table-csv"},{"include":"#table-dsv"}]},"tables-includes":{"patterns":[{"include":"#comment"},{"include":"#callout-list-item"},{"include":"#attribute-entry"},{"include":"#block-title"},{"include":"#explicit-paragraph"},{"include":"#section"},{"include":"#blocks"},{"include":"#list"},{"include":"#inlines"},{"include":"#line-break"}]},"titles":{"patterns":[{"begin":"^([#=]{6})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-5.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{5})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-4.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{4})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-3.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{3})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-2.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{2})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-1.asciidoc","patterns":[{"include":"$self"}]},{"begin":"^([#=]{1})(\\\\p{blank}+)(?=\\\\S+)","beginCaptures":{"1":{"name":"markup.heading.marker.asciidoc"},"2":{"name":"markup.heading.space.asciidoc"}},"end":"$","name":"markup.heading.heading-0.asciidoc","patterns":[{"include":"$self"}]}]},"typographic-quotes":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?:^|(?<![:;[:word:]]))(\\\\[([^]]+?)])?(\\"`)(\\\\S(?:|.*?\\\\S))(`\\")(?!\\\\p{word})","name":"markup.italic.quote.typographic-quotes.asciidoc"},{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?:^|(?<![:;[:word:]]))(\\\\[([^]]+?)])?(\'`)(\\\\S(?:|.*?\\\\S))(`\')(?!\\\\p{word})","name":"markup.italic.quote.typographic-quotes.asciidoc"}]},"xref-macro":{"patterns":[{"captures":{"1":{"name":"constant.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"},"3":{"name":"string.unquoted.asciidoc"},"4":{"name":"constant.asciidoc"}},"match":"(?<!\\\\\\\\)(<<)([\\"./:[:word:]]+,)?(.*?)(>>)","name":"markup.reference.xref.asciidoc"},{"begin":"(?<!\\\\\\\\)(xref:)([\\"./:[:word:]].*?)(\\\\[)","beginCaptures":{"1":{"name":"entity.name.function.asciidoc"},"2":{"name":"markup.meta.attribute-list.asciidoc"}},"contentName":"string.unquoted.asciidoc","end":"(?<!\\\\\\\\)]|^$","name":"markup.reference.xref.asciidoc"}]}},"scopeName":"text.asciidoc","embeddedLangs":[],"aliases":["adoc"],"embeddedLangsLazy":["html","yaml","csv","css","ini","java","lua","make","perl","r","ruby","php","sql","vb","xml","xsl","bat","clojure","coffee","c","cpp","diff","docker","git-commit","git-rebase","go","groovy","pug","javascript","json","jsonc","less","objective-c","swift","scss","raku","powershell","python","julia","regexp","rust","scala","shellscript","typescript","tsx","csharp","fsharp","dart","handlebars","markdown","log","erlang","elixir","latex","bibtex","abap","rst","haskell","kotlin"]}')),OV=[GV]});var Cx={};h1(Cx,{default:()=>UV});var WV,UV,Ax=s1(()=>{w7();Ya();me();i9();b5();WV=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":"([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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+(?:[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*(\\\\.))?([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)(\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*})?|\\\\s*)(?=\\\\()"}]},"keyword":{"patterns":[{"match":"\\\\b(?<![.:_])(?:function|mutable\\\\s+struct|struct|macro|quote|abstract\\\\s+type|primitive\\\\s+type|typegroup|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":"@(\\\\.|[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"((?<![!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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)?|\u03C0|pi|\u212F)\\\\b)?|[0-9]+|Inf(?:16|32|64)?\\\\b|NaN(?:16|32|64)?\\\\b|\u03C0\\\\b|pi\\\\b|\u212F\\\\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":"\\\\.?(?:<-->|->|-->|<--|[\u2190\u2192\u2194\u219A-\u219E\u21A0\u21A2\u21A3\u21A4\u21A6\u21A9-\u21AC\u21AE\u21B6\u21B7\u21BA-\u21BD\u21C0\u21C1\u21C4\u21C6\u21C7\u21C9\u21CB-\u21D0\u21D2\u21D4\u21DA-\u21DD\u21E0\u21E2\u21F4\u21F6-\u21FF\u27F5\u27F6\u27F7\u27F9-\u27FF\u2900-\u2907\u290C-\u2911\u2914-\u2918\u291D-\u2920\u2944-\u2948\u294A\u294B\u294E\u2950\u2952\u2953\u2956\u2957\u295A\u295B\u295E\u295F\u2962\u2964\u2966-\u296D\u2970\u2977\u297A\u29F4\u2B30-\u2B44\u2B47-\u2B4C\uFFE9\uFFEB]|=>)","name":"keyword.operator.arrow.julia"},{"match":":=|\\\\+=|-=|\\\\*=|//=|/=|\\\\.//=|\\\\./=|\\\\.\\\\*=|\\\\\\\\=|\\\\.\\\\\\\\=|\\\\^=|\\\\.\\\\^=|%=|\\\\.%=|\xF7=|\\\\.\xF7=|\\\\|=|&=|\\\\.&=|\u22BB=|\\\\.\u22BB=|\\\\$=|<<=|>>=|>>>=|=(?!=)","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)?\\\\([^)]*\\\\)|[$_\u2207[:alpha:]][!.\u2032\u207A-\u209C[:word:]]*(?:\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*}|\\".+?(?<!\\\\\\\\)\\")?)(?:\\\\.\\\\.\\\\.)?(\\\\.?\'*)"},{"match":"(\\\\.?((?<!<)<=|(?<!>)>=|[<>\u2264\u2265]|===?|\u2261|!=|\u2260|!==|[\u2208-\u220D\u221D\u2225\u2226\u2237\u223A\u223B\u223D\u223E\u2241-\u224E\u2250-\u2253\u2256-\u225F\u2262\u2263\u2266-\u228B\u228F-\u2292\u229C\u22A2\u22A3\u22A9\u22AC\u22AE\u22B0-\u22B7\u22CD\u22D0\u22D1\u22D5-\u22ED\u22F2-\u22FF\u27C2\u27C8\u27C9\u27D2\u29B7\u29C0\u29C1\u29E1\u29E3\u29E4\u29E5\u2A66\u2A67\u2A6A-\u2A73\u2A75-\u2AD9\u2AEA\u2AEB\u2AF7-\u2AFA]|<:|>:))","name":"keyword.operator.relation.julia"},{"match":"(?<=\\\\s)\\\\?(?=\\\\s)","name":"keyword.operator.ternary.julia"},{"match":"(?<=\\\\s):(?=\\\\s)","name":"keyword.operator.ternary.julia"},{"match":"\\\\|\\\\||&&|(?<![!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]])!","name":"keyword.operator.boolean.julia"},{"match":"(?<=[]!)}\u2032\u207A-\u209C\u2207[:word:]]):","name":"keyword.operator.range.julia"},{"match":"\\\\|>","name":"keyword.operator.applies.julia"},{"match":"\\\\||\\\\.\\\\||&|\\\\.&|[~\xAC]|\\\\.~|\u22BB|\\\\.\u22BB","name":"keyword.operator.bitwise.julia"},{"match":"\\\\.?(?:\\\\+\\\\+|--|[-*+|\xA6\xB1\u2212\u2213\u2214\u2228\u222A\u2238\u224F\u228E\u2294\u2295\u2296\u229E\u229F\u22BB\u22BD\u22CE\u22D3\u27C7\u29FA\u29FB\u2A08\u2A22-\u2A2E\u2A39\u2A3A\u2A41\u2A42\u2A45\u2A4A\u2A4C\u2A4F\u2A50\u2A52\u2A54\u2A56\u2A57\u2A5B\u2A5D\u2A61\u2A62\u2A63]|//?|[%\\\\&\\\\\\\\^\xB1\xB7\xD7\xF7\u0387\u214B\u2191\u2193\u21F5\u2213\u2217-\u221C\u2224\u2227\u2229\u2240\u228D\u2293\u2297-\u229B\u22A0\u22A1\u22BC\u22C4-\u22C7\u22C9-\u22CC\u22CF\u22D2\u233F\u25B7\u27D1\u27D5\u27D6\u27D7\u27F0\u27F1\u2908-\u290B\u2912\u2913\u2949\u294C\u294D\u294F\u2951\u2954\u2955\u2958\u2959\u295C\u295D\u2960\u2961\u2963\u2965\u296E\u296F\u29B8\u29BC\u29BE\u29BF\u29F6\u29F7\u2A07\u2A1D\u2A1F\u2A30-\u2A38\u2A3B\u2A3C\u2A3D\u2A40\u2A43\u2A44\u2A4B\u2A4D\u2A4E\u2A51\u2A53\u2A55\u2A58\u2A5A\u2A5C\u2A5E\u2A5F\u2A60\u2ADB\uFFEA\uFFEC])","name":"keyword.operator.arithmetic.julia"},{"match":"\u2218","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}])|\\\\.\\\\.+|[\u2026\u205D\u22EE-\u22F1]","name":"keyword.operator.dots.julia"},{"match":"\\\\$(?=.+)","name":"keyword.operator.interpolation.julia"},{"captures":{"2":{"name":"keyword.operator.transposed-variable.julia"}},"match":"([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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_raw"}]},{"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_raw"}]},{"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":"(?<!\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(\\"\\"\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"(?<!\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(?<![^\\\\\\\\]\\\\\\\\)(\\")([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"(?<!`)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)?```","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(```)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"(?<!`)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)?`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(?<![^\\\\\\\\]\\\\\\\\)(`)([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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":"\\\\$[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}[^\u2190-\u21FF\\\\P{So}][^$\\\\P{Sc}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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"}]},"string_escaped_char_raw":{"patterns":[{"match":"(\\\\\\\\\\\\\\\\)*\\\\\\\\\\"","name":"constant.character.escape.julia"},{"match":"(\\\\\\\\\\\\\\\\)+(?=\\")","name":"constant.character.escape.julia"}]},"symbol":{"patterns":[{"match":"(?<![]!)}\u2032\u207A-\u209C\u2207[:word:]]):[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*(?![!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\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+([_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*)(\\\\s*(<:)\\\\s*[_\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\u2190-\u21FF\\\\P{So}]][!_\u2032-\u2037\u2057\u2071-\u207E\u2081-\u208E\u2118\u212E\u2140-\u2144\u2202\u2205\u2206\u2207\u220E-\u2211\u221E-\u2222\u222B-\u2233\u223F\u22A4\u22A5\u22BE-\u22C3\u25F8-\u25FF\u266F\u27C0\u27C1\u27D8\u27D9\u299B-\u29B4\u2A00-\u2A06\u2A09-\u2A16\u2A1B\u2A1C\u309B\u309C\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7E1}[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xA1\\\\P{Mn}][^\\\\x01-\xA1\\\\P{Mc}][^\\\\x01-\xA1\\\\D][^\\\\x01-\xA1\\\\P{Pc}][^\\\\x01-\xA1\\\\P{Sk}][^\\\\x01-\xA1\\\\P{Me}][^\\\\x01-\xA1\\\\P{No}][^\u2190-\u21FF\\\\P{So}]]*(?:\\\\{.*})?)?","name":"meta.type.julia"}]}},"scopeName":"source.julia","embeddedLangs":["cpp","python","javascript","r","sql"],"aliases":["jl"]}')),UV=[...it,...v7,...L0,...z7,...L3,WV]});var Mx={};h1(Mx,{default:()=>KV});var XV,KV,$x=s1(()=>{XV=Object.freeze(JSON.parse('{"displayName":"Dart","name":"dart","patterns":[{"match":"^(#!.*)$","name":"meta.preprocessor.script.dart"},{"begin":"^\\\\w*\\\\b(augment\\\\s+library|library|import\\\\s+augment|import|part\\\\s+of|part|export)\\\\b","beginCaptures":{"0":{"name":"keyword.other.import.dart"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.dart"}},"name":"meta.declaration.dart","patterns":[{"include":"#strings"},{"include":"#comments"},{"match":"\\\\b(as|show|hide)\\\\b","name":"keyword.other.import.dart"},{"match":"\\\\b(if)\\\\b","name":"keyword.control.dart"}]},{"include":"#comments"},{"include":"#punctuation"},{"include":"#annotations"},{"include":"#keywords"},{"include":"#constants-and-special-vars"},{"include":"#class-identifier-with-optional-factory-method"},{"include":"#function-identifier"},{"include":"#operators"},{"include":"#strings"}],"repository":{"annotations":{"patterns":[{"match":"@[A-Za-z]+","name":"storage.type.annotation.dart"}]},"class-identifier":{"patterns":[{"match":"(?<!\\\\$)\\\\b(bool|num|int|double|dynamic)\\\\b(?!\\\\$)","name":"support.class.dart"},{"match":"(?<!\\\\$)\\\\bvoid\\\\b(?!\\\\$)","name":"storage.type.primitive.dart"},{"begin":"(?<![$0-9A-Z_a-z])([$_]*[A-Z][$0-9A-Z_a-z]*)\\\\b","beginCaptures":{"1":{"name":"support.class.dart"}},"end":"(?!<)","patterns":[{"include":"#type-args"}]}]},"class-identifier-with-optional-factory-method":{"patterns":[{"captures":{"1":{"name":"support.class.dart"},"2":{"name":"entity.name.function.dart"}},"match":"(?<!\\\\$)\\\\b(bool|num|int|double|dynamic)\\\\b(?!\\\\$)\\\\s*(factory\\\\b)?"},{"captures":{"1":{"name":"storage.type.primitive.dart"},"2":{"name":"entity.name.function.dart"}},"match":"(?<!\\\\$)\\\\b(void)\\\\b(?!\\\\$)\\\\s*(factory\\\\b)?"},{"begin":"(?<![$0-9A-Z_a-z])([$_]*[A-Z][$0-9A-Z_a-z]*)\\\\b\\\\s*(factory\\\\b)?","beginCaptures":{"1":{"name":"support.class.dart"},"2":{"name":"entity.name.function.dart"}},"end":"(?!<)","patterns":[{"include":"#type-args"}]}]},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.dart"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.dart"},{"include":"#comments-doc-oldschool"},{"include":"#comments-doc"},{"include":"#comments-inline"}]},"comments-block":{"patterns":[{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.dart","patterns":[{"include":"#comments-block"}]}]},"comments-doc":{"patterns":[{"begin":"///","end":"^(?!\\\\s*///)","name":"comment.block.documentation.dart","patterns":[{"include":"#dartdoc"}]}]},"comments-doc-oldschool":{"patterns":[{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.documentation.dart","patterns":[{"include":"#comments-doc-oldschool"},{"include":"#comments-block"},{"include":"#dartdoc"}]}]},"comments-inline":{"patterns":[{"include":"#comments-block"},{"captures":{"1":{"name":"comment.line.double-slash.dart"}},"match":"((//).*)$"}]},"constants-and-special-vars":{"patterns":[{"match":"(?<!\\\\$)\\\\b(true|false|null)\\\\b(?!\\\\$)","name":"constant.language.dart"},{"match":"(?<!\\\\$)\\\\b(this|super|augmented)\\\\b(?!\\\\$)","name":"variable.language.dart"},{"match":"(?<!\\\\$)\\\\b((0([Xx])\\\\h[_\\\\h]*)|(([0-9][0-9_]*\\\\.?[0-9_]*)|(\\\\.[0-9][0-9_]*))(([Ee])([-+])?[0-9][0-9_]*)?)\\\\b(?!\\\\$)","name":"constant.numeric.dart"}]},"dartdoc":{"patterns":[{"captures":{"0":{"name":"variable.name.source.dart"}},"match":"(\\\\[.*?])"},{"begin":"^\\\\s*///\\\\s*(```)","end":"^(?:\\\\s*///\\\\s*(```)|(?!\\\\s*///))","patterns":[{"include":"#dartdoc-codeblock-triple"}]},{"begin":"^\\\\s*\\\\*\\\\s*(```)","end":"^(?:\\\\s*\\\\*\\\\s*(```)|(?=\\\\s*\\\\*/))","patterns":[{"include":"#dartdoc-codeblock-block"}]},{"match":"`[^\\\\n`]+`","name":"variable.other.source.dart"},{"captures":{"1":{"name":"variable.other.source.dart"}},"match":"(?:\\\\*|//)\\\\s{4,}(.*?)(?=($|\\\\*/))"}]},"dartdoc-codeblock-block":{"begin":"^\\\\s*\\\\*\\\\s*(?!(\\\\s*```|/))","contentName":"variable.other.source.dart","end":"$"},"dartdoc-codeblock-triple":{"begin":"^\\\\s*///\\\\s*(?!\\\\s*```)","contentName":"variable.other.source.dart","end":"$"},"expression":{"patterns":[{"include":"#constants-and-special-vars"},{"include":"#class-identifier-with-optional-factory-method"},{"include":"#function-identifier"},{"include":"#strings"},{"match":"[0-9A-Z_a-z]+","name":"variable.parameter.dart"},{"begin":"\\\\{","end":"}","patterns":[{"include":"#expression"}]}]},"function-identifier":{"patterns":[{"captures":{"1":{"name":"entity.name.function.dart"},"2":{"patterns":[{"include":"#type-args"}]}},"match":"([$_]*[a-z][$0-9A-Z_a-z]*)(<(?:[$0-9<>?A-Z_a-z]|,\\\\s*|\\\\s+extends\\\\s+)+>)?[!?]?\\\\("},{"match":"(?<=\\\\.)new\\\\b","name":"entity.name.function.dart"}]},"keywords":{"patterns":[{"match":"(?<!\\\\$)\\\\bas\\\\b(?!\\\\$)","name":"keyword.cast.dart"},{"match":"(?<!\\\\$)\\\\b(try|on|catch|finally|throw|rethrow)\\\\b(?!\\\\$)","name":"keyword.control.catch-exception.dart"},{"match":"(?<!\\\\$)\\\\b(break|case|continue|default|do|else|for|if|in|switch|while|when)\\\\b(?!\\\\$)","name":"keyword.control.dart"},{"match":"(?<!\\\\$)\\\\b(sync(\\\\*)?|async(\\\\*)?|await|yield(\\\\*)?)\\\\b(?!\\\\$)","name":"keyword.control.dart"},{"match":"(?<!\\\\$)\\\\bassert\\\\b(?!\\\\$)","name":"keyword.control.dart"},{"match":"(?<![$.])\\\\b(new)\\\\b(?!\\\\$)","name":"keyword.new.dart"},{"match":"(?<!\\\\$)\\\\b(return)\\\\b(?!\\\\$)","name":"keyword.control.return.dart"},{"match":"(?<!\\\\$)\\\\b(abstract|sealed|base|interface|class|enum|extends|extension\\\\s+type|extension|external|factory|implements|get(?![(<])|mixin|native|operator|set(?![(<])|typedef|with|covariant)\\\\b(?!\\\\$)","name":"keyword.declaration.dart"},{"match":"(?<!\\\\$)\\\\b(macro|augment|static|final|const|required|late)\\\\b(?!\\\\$)","name":"storage.modifier.dart"},{"match":"(?<!\\\\$)\\\\bvar\\\\b(?!\\\\$)","name":"storage.type.primitive.dart"}]},"operators":{"patterns":[{"match":"(?<!\\\\$)\\\\b(is!?)\\\\b(?!\\\\$)","name":"keyword.operator.dart"},{"match":"[:?]","name":"keyword.operator.ternary.dart"},{"match":"(<<|>>>?|[\\\\&^|~])","name":"keyword.operator.bitwise.dart"},{"match":"(([\\\\&^|]|<<|>>>?)=)","name":"keyword.operator.assignment.bitwise.dart"},{"match":"(=>)","name":"keyword.operator.closure.dart"},{"match":"(==|!=|<=?|>=?)","name":"keyword.operator.comparison.dart"},{"match":"(([-%*+/~])=)","name":"keyword.operator.assignment.arithmetic.dart"},{"match":"(=)","name":"keyword.operator.assignment.dart"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.dart"},{"match":"([-*+/]|~/|%)","name":"keyword.operator.arithmetic.dart"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.dart"}]},"punctuation":{"patterns":[{"match":",","name":"punctuation.comma.dart"},{"match":";","name":"punctuation.terminator.dart"},{"match":"\\\\.","name":"punctuation.dot.dart"}]},"string-interp":{"patterns":[{"captures":{"1":{"name":"variable.parameter.dart"}},"match":"\\\\$([0-9A-Z_a-z]+)","name":"meta.embedded.expression.dart"},{"begin":"\\\\$\\\\{","end":"}","name":"meta.embedded.expression.dart","patterns":[{"include":"#expression"}]},{"match":"\\\\\\\\.","name":"constant.character.escape.dart"}]},"strings":{"patterns":[{"begin":"(?<!r)\\"\\"\\"","end":"\\"\\"\\"(?!\\")","name":"string.interpolated.triple.double.dart","patterns":[{"include":"#string-interp"}]},{"begin":"(?<!r)\'\'\'","end":"\'\'\'(?!\')","name":"string.interpolated.triple.single.dart","patterns":[{"include":"#string-interp"}]},{"begin":"r\\"\\"\\"","end":"\\"\\"\\"(?!\\")","name":"string.quoted.triple.double.dart"},{"begin":"r\'\'\'","end":"\'\'\'(?!\')","name":"string.quoted.triple.single.dart"},{"begin":"(?<!\\\\|r)\\"","end":"\\"","name":"string.interpolated.double.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"},{"include":"#string-interp"}]},{"begin":"r\\"","end":"\\"","name":"string.quoted.double.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"}]},{"begin":"(?<!\\\\|r)\'","end":"\'","name":"string.interpolated.single.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"},{"include":"#string-interp"}]},{"begin":"r\'","end":"\'","name":"string.quoted.single.dart","patterns":[{"match":"\\\\n","name":"invalid.string.newline"}]}]},"type-args":{"begin":"(<)","beginCaptures":{"1":{"name":"other.source.dart"}},"end":"(>)","endCaptures":{"1":{"name":"other.source.dart"}},"patterns":[{"include":"#class-identifier"},{"match":","},{"match":"extends","name":"keyword.declaration.dart"},{"include":"#comments"}]}},"scopeName":"source.dart"}')),KV=[XV]});var Lx={};h1(Lx,{default:()=>JV});var YV,JV,Sx=s1(()=>{YV=Object.freeze(JSON.parse('{"displayName":"Scala","fileTypes":["scala"],"firstLineMatch":"^#!/.*\\\\b\\\\w*scala\\\\b","foldingStartMarker":"/\\\\*\\\\*|\\\\{\\\\s*$","foldingStopMarker":"\\\\*\\\\*/|^\\\\s*}","name":"scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.scala"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.scala"},{"begin":"^\\\\s*(/\\\\*\\\\*)(?!/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}},"name":"comment.block.documentation.scala","patterns":[{"captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}},"match":"(@param)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}},"match":"(@t(?:param|hrows))\\\\s+(\\\\S+)"},{"match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc|groupname|groupprio|groupdesc|group|contentDiagram|documentable|syntax)\\\\b","name":"keyword.other.documentation.scaladoc.scala"},{"captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}},"match":"(\\\\[\\\\[)([^]]+)(]])"},{"include":"#block-comments"}]},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.scala"}},"end":"\\\\*/","name":"comment.block.scala","patterns":[{"include":"#block-comments"}]}]},"char-literal":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.character.begin.scala"},"2":{"name":"punctuation.definition.character.end.scala"}},"match":"(\')\'(\')","name":"string.quoted.other constant.character.literal.scala"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"end":"\'|$","endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}},"name":"string.quoted.other constant.character.literal.scala","patterns":[{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-character-escape.scala"},{"match":"[^\']{2,}","name":"invalid.illegal.character-literal-too-long"},{"match":"(?<!\')[^\']","name":"invalid.illegal.character-literal-too-long"}]}]},"code":{"patterns":[{"include":"#using-directive"},{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#namedBounds"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted-or-symbol"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}},"end":"\\\\n","name":"comment.line.double-slash.scala"}]}]},"constants":{"patterns":[{"match":"\\\\b(false|null|true)\\\\b","name":"constant.language.scala"},{"match":"\\\\b(0[Xx][_\\\\h]*)\\\\b","name":"constant.numeric.scala"},{"match":"\\\\b(([0-9][0-9_]*(\\\\.[0-9][0-9_]*)?)([Ee]([-+])?[0-9][0-9_]*)?|[0-9][0-9_]*)[DFLdfl]?\\\\b","name":"constant.numeric.scala"},{"match":"(\\\\.[0-9][0-9_]*)([Ee]([-+])?[0-9][0-9_]*)?[DFLdfl]?\\\\b","name":"constant.numeric.scala"},{"match":"\\\\b0[Bb][01]([01_]*[01])?[Ll]?\\\\b","name":"constant.numeric.scala"},{"match":"\\\\b(this|super)\\\\b","name":"variable.language.scala"}]},"curly-braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}},"patterns":[{"include":"#code"}]},"declarations":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}},"match":"\\\\b(def)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}},"match":"\\\\b(trait)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}},"match":"\\\\b(?:(case)\\\\s+)?(class|object|enum)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}},"match":"(?<!\\\\.)\\\\b(type)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}},"match":"\\\\b(?:(val)|(var))\\\\b\\\\s*(?!/[*/])(?=(?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?\\\\()"},{"captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"variable.stable.declaration.scala"}},"match":"\\\\b(val)\\\\b\\\\s*(?!/[*/])((?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)(?:\\\\s*,\\\\s*(?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`))*)?(?!\\")"},{"captures":{"1":{"name":"keyword.declaration.volatile.scala"},"2":{"name":"variable.volatile.declaration.scala"}},"match":"\\\\b(var)\\\\b\\\\s*(?!/[*/])((?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)(?:\\\\s*,\\\\s*(?:(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`))*)?(?!\\")"},{"captures":{"1":{"name":"keyword.other.package.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}},"match":"\\\\b(package)\\\\s+(object)\\\\b\\\\s*(?!/[*/])((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)?"},{"begin":"\\\\b(package)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.package.scala"}},"end":"(?<=[\\\\n;])","name":"meta.package.scala","patterns":[{"include":"#comments"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))","name":"entity.name.package.scala"},{"match":"\\\\.","name":"punctuation.definition.package"}]},{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}},"match":"\\\\b(given)\\\\b\\\\s*([$_a-z\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|`[^`]+`)?"}]},"empty-parentheses":{"captures":{"1":{"name":"meta.bracket.scala"}},"match":"(\\\\(\\\\))","name":"meta.parentheses.scala"},"exports":{"begin":"\\\\b(export)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.export.scala"}},"end":"(?<=[\\\\n;])","name":"meta.export.scala","patterns":[{"include":"#comments"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.export.given.scala"},{"match":"[A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?","name":"entity.name.class.export.scala"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))","name":"entity.name.export.scala"},{"match":"\\\\.","name":"punctuation.definition.export"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"meta.bracket.scala"}},"end":"}","endCaptures":{"0":{"name":"meta.bracket.scala"}},"name":"meta.export.selector.scala","patterns":[{"captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.renamed-from.scala"},"3":{"name":"entity.name.export.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.export.renamed-to.scala"},"6":{"name":"entity.name.export.renamed-to.scala"}},"match":"(given\\\\s)?\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*(=>)\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.export.given.scala"},{"captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.scala"},"3":{"name":"entity.name.export.scala"}},"match":"(given\\\\s+)?(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))"}]}]},"extension":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"^\\\\s*(extension)\\\\s+(?=[(\\\\[])"}]},"imports":{"begin":"\\\\b(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.import.scala"}},"end":"(?<=[\\\\n;])","name":"meta.import.scala","patterns":[{"include":"#comments"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.import.given.scala"},{"match":"\\\\s(as)\\\\s","name":"keyword.other.import.as.scala"},{"match":"[A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?","name":"entity.name.class.import.scala"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))","name":"entity.name.import.scala"},{"match":"\\\\.","name":"punctuation.definition.import"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"meta.bracket.scala"}},"end":"}","endCaptures":{"0":{"name":"meta.bracket.scala"}},"name":"meta.import.selector.scala","patterns":[{"captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}},"match":"(given\\\\s)?\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*(=>)\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.import.given.scala"},{"captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}},"match":"(given\\\\s+)?(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))"}]}]},"inheritance":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class"}},"match":"\\\\b(extends|with|derives)\\\\b\\\\s*([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|`[^`]+`|(?=\\\\([^)]+=>)|(?=[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|(?=\\"))?"}]},"initialization":{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"\\\\b(new)\\\\b"},"inline":{"patterns":[{"match":"\\\\b(inline)(?=\\\\s+((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)\\\\s*:)","name":"storage.modifier.other"},{"match":"\\\\b(inline)\\\\b(?=(?:.(?!\\\\b(?:val|def|given)\\\\b))*\\\\b(if|match)\\\\b)","name":"keyword.control.flow.scala"}]},"keywords":{"patterns":[{"match":"\\\\b(return|throw)\\\\b","name":"keyword.control.flow.jump.scala"},{"match":"\\\\b((?:class|isInstance|asInstance)Of)\\\\b","name":"support.function.type-of.scala"},{"match":"\\\\b(else|if|then|do|while|for|yield|match|case)\\\\b","name":"keyword.control.flow.scala"},{"match":"^\\\\s*(end)\\\\s+(if|while|for|match)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.control.flow.end.scala"},{"match":"^\\\\s*(end)\\\\s+(val)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.declaration.stable.end.scala"},{"match":"^\\\\s*(end)\\\\s+(var)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.declaration.volatile.end.scala"},{"captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}},"match":"^\\\\s*(end)\\\\s+(?:(new|extension)|([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?))(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)"},{"match":"\\\\b(catch|finally|try)\\\\b","name":"keyword.control.exception.scala"},{"match":"^\\\\s*(end)\\\\s+(try)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.control.exception.end.scala"},{"captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}},"match":"^\\\\s*(end)\\\\s+(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))?(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)"},{"match":"([-!#%\\\\&*+/:<-@\\\\\\\\^|~\\\\p{Sm}\\\\p{So}]){3,}","name":"keyword.operator.scala"},{"captures":{"1":{"patterns":[{"match":"(\\\\|\\\\||&&)","name":"keyword.operator.logical.scala"},{"match":"([!<=>]=)","name":"keyword.operator.comparison.scala"},{"match":"..","name":"keyword.operator.scala"}]}},"match":"([-!#%\\\\&*+/:<-@\\\\\\\\^|~\\\\p{Sm}\\\\p{So}]{2,}|_\\\\*)"},{"captures":{"1":{"patterns":[{"match":"(!)","name":"keyword.operator.logical.scala"},{"match":"([-%*+/~])","name":"keyword.operator.arithmetic.scala"},{"match":"([<=>])","name":"keyword.operator.comparison.scala"},{"match":".","name":"keyword.operator.scala"}]}},"match":"(?<!_)([-!#%\\\\&*+/:<-@\\\\\\\\^|~\\\\p{Sm}\\\\p{So}])"}]},"meta-bounds":{"match":"<%|=:=|<:<|<%<|>:|<:","name":"meta.bounds.scala"},"meta-brackets":{"patterns":[{"match":"\\\\{","name":"punctuation.section.block.begin.scala"},{"match":"}","name":"punctuation.section.block.end.scala"},{"match":"[]()\\\\[{}]","name":"meta.bracket.scala"}]},"meta-colons":{"patterns":[{"match":"(?<!:):(?!:)","name":"meta.colon.scala"}]},"namedBounds":{"patterns":[{"captures":{"1":{"name":"keyword.other.import.as.scala"},"2":{"name":"variable.stable.declaration.scala"}},"match":"\\\\s+(as)\\\\s+([$_a-z\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)\\\\b"}]},"parameter-list":{"patterns":[{"captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}},"match":"(?<=[^$.0-9A-Z_a-z])(`[^`]+`|[$_a-z\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)\\\\s*(:)\\\\s+"}]},"qualifiedClassName":{"captures":{"1":{"name":"entity.name.class"}},"match":"\\\\b(([A-Z]\\\\w*)(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)"},"scala-quoted-or-symbol":{"patterns":[{"captures":{"1":{"name":"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{"name":"constant.other.symbol.scala"}},"match":"(\')((?>[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))(?!\')"},{"match":"\'(?=\\\\s*\\\\{(?!\'))","name":"keyword.control.flow.staging.scala"},{"match":"\'(?=\\\\s*\\\\[(?!\'))","name":"keyword.control.flow.staging.scala"},{"match":"\\\\$(?=\\\\s*\\\\{)","name":"keyword.control.flow.staging.scala"}]},"script-header":{"captures":{"1":{"name":"string.unquoted.shebang.scala"}},"match":"^#!(.*)$","name":"comment.block.shebang.scala"},"singleton-type":{"captures":{"1":{"name":"keyword.type.scala"}},"match":"\\\\.(type)(?![$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[0-9])"},"storage-modifiers":{"patterns":[{"match":"\\\\b(pr(?:ivate\\\\[\\\\S+]|otected\\\\[\\\\S+]|ivate|otected))\\\\b","name":"storage.modifier.access"},{"match":"\\\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\\\b","name":"storage.modifier.other"},{"match":"(?<=^|\\\\s)\\\\b(transparent|opaque|infix|open|inline|into)\\\\b(?=[a-z\\\\s]*\\\\b(def|val|var|given|type|class|trait|object|enum)\\\\b)","name":"storage.modifier.other"}]},"string-interpolation":{"patterns":[{"match":"\\\\$\\\\$","name":"constant.character.escape.interpolation.scala"},{"captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}},"match":"(\\\\$)([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*)","name":"meta.template.expression.scala"},{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"contentName":"meta.embedded.line.scala","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}},"name":"meta.template.expression.scala","patterns":[{"include":"#code"}]}]},"strings":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"end":"\\"\\"\\"(?!\\")","endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}},"name":"string.quoted.triple.scala","patterns":[{"match":"\\\\\\\\(?:\\\\\\\\|u\\\\h{4})","name":"constant.character.escape.scala"}]},{"begin":"\\\\b(raw)(\\"\\"\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\"\\"\\")(?!\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":".","name":"string.quoted.triple.interpolated.scala"}]},{"begin":"\\\\b([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)(\\"\\"\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\"\\"\\")(?!\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"include":"#string-interpolation"},{"match":"\\\\\\\\(?:\\\\\\\\|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":".","name":"string.quoted.triple.interpolated.scala"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}},"name":"string.quoted.double.scala","patterns":[{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.scala"}]},{"begin":"\\\\b(raw)(\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":".","name":"string.quoted.double.interpolated.scala"}]},{"begin":"\\\\b([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)(\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.scala"},{"match":".","name":"string.quoted.double.interpolated.scala"}]}]},"using":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"(?<=\\\\()\\\\s*(using)\\\\s"}]},"using-directive":{"begin":"^\\\\s*(//>)\\\\s*(using)[^\\\\n\\\\S]+(\\\\S+)?","beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"},"3":{"patterns":[{"match":"[A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)","name":"entity.name.import.scala"},{"match":"\\\\.","name":"punctuation.definition.import"}]}},"end":"\\\\n","name":"comment.line.shebang.scala","patterns":[{"include":"#constants"},{"include":"#strings"},{"match":"[^,\\\\s]+","name":"string.quoted.double.scala"}]},"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":"#xml-entity"}]},"xml-embedded-content":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"meta.bracket.scala"}},"end":"}","name":"meta.source.embedded.scala","patterns":[{"include":"#code"}]},{"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":" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Z_a-z]+)="},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-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"},"xml-literal":{"patterns":[{"begin":"(<)((?:([0-9A-Z_a-z][0-9A-Z_a-z]*)((:)))?([0-9A-Z_a-z][-0-:A-Z_a-z]*))(?=(\\\\s[^>]*)?></\\\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"end":"(>(<))/(?:([-0-9A-Z_a-z]+)((:)))?([-0-:A-Z_a-z]*[0-9A-Z_a-z])(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.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":"#xml-embedded-content"}]},{"begin":"(</?)(?:([0-9A-Z_a-z][-0-9A-Z_a-z]*)((:)))?([0-9A-Z_a-z][-0-:A-Z_a-z]*)(?=[^>]*?>)","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":"#xml-embedded-content"}]},{"include":"#xml-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":"#xml-entity"}]}},"scopeName":"source.scala"}')),JV=[YV]});var Ex={};h1(Ex,{default:()=>eq});var QV,eq,Zx=s1(()=>{QV=Object.freeze(JSON.parse('{"displayName":"Clojure","name":"clojure","patterns":[{"include":"#comment"},{"include":"#shebang-comment"},{"include":"#quoted-sexp"},{"include":"#sexp"},{"include":"#keyfn"},{"include":"#string"},{"include":"#vector"},{"include":"#set"},{"include":"#map"},{"include":"#regexp"},{"include":"#var"},{"include":"#constants"},{"include":"#dynamic-variables"},{"include":"#metadata"},{"include":"#namespace-symbol"},{"include":"#symbol"}],"repository":{"comment":{"begin":"(?<!\\\\\\\\);","beginCaptures":{"0":{"name":"punctuation.definition.comment.clojure"}},"end":"$","name":"comment.line.semicolon.clojure"},"constants":{"patterns":[{"match":"(nil)(?=([])}\\\\s]))","name":"constant.language.nil.clojure"},{"match":"(true|false)","name":"constant.language.boolean.clojure"},{"match":"(##(?:Inf|-Inf|NaN))","name":"constant.numeric.symbol.clojure"},{"match":"([-+]?\\\\d+/\\\\d+)","name":"constant.numeric.ratio.clojure"},{"match":"([-+]?(?:3[0-6]|[12]\\\\d|[2-9])[Rr][0-9A-Za-z]+N?)","name":"constant.numeric.arbitrary-radix.clojure"},{"match":"([-+]?0[Xx]\\\\h+N?)","name":"constant.numeric.hexadecimal.clojure"},{"match":"([-+]?0[0-7]+N?)","name":"constant.numeric.octal.clojure"},{"match":"([-+]?[0-9]+(\\\\.|(?=[EMe]))[0-9]*([Ee][-+]?[0-9]+)?M?)","name":"constant.numeric.double.clojure"},{"match":"([-+]?\\\\d+N?)","name":"constant.numeric.long.clojure"},{"include":"#keyword"}]},"dynamic-variables":{"match":"\\\\*[-!+.:<-?_\\\\w\\\\d]+\\\\*","name":"meta.symbol.dynamic.clojure"},"keyfn":{"patterns":[{"match":"(?<=([(\\\\[{\\\\s]))(if(-[-?\\\\p{Ll}]*)?|when(-[-\\\\p{Ll}]*)?|for(-[-\\\\p{Ll}]*)?|cond|do|let(-[-?\\\\p{Ll}]*)?|binding|loop|recur|fn|throw[-\\\\p{Ll}]*|try|catch|finally|(\\\\p{Ll}*case))(?=([])}\\\\s]))","name":"storage.control.clojure"},{"match":"(?<=([(\\\\[{\\\\s]))(declare-?|(in-)?ns|import|use|require|load|compile|(def[-\\\\p{Ll}]*))(?=([])}\\\\s]))","name":"keyword.control.clojure"}]},"keyword":{"match":"(?<=([(\\\\[{\\\\s])):[-!#*+./:<-?_\\\\w]+(?=([]),}\\\\s]))","name":"constant.keyword.clojure"},"map":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.map.begin.clojure"}},"end":"(}(?=[])}\\\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.map.end.trailing.clojure"},"2":{"name":"punctuation.section.map.end.clojure"}},"name":"meta.map.clojure","patterns":[{"include":"$self"}]},"metadata":{"patterns":[{"begin":"(\\\\^\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.metadata.map.begin.clojure"}},"end":"(}(?=[])}\\\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.metadata.map.end.trailing.clojure"},"2":{"name":"punctuation.section.metadata.map.end.clojure"}},"name":"meta.metadata.map.clojure","patterns":[{"include":"$self"}]},{"begin":"(\\\\^)","end":"(\\\\s)","name":"meta.metadata.simple.clojure","patterns":[{"include":"#keyword"},{"include":"$self"}]}]},"namespace-symbol":{"patterns":[{"captures":{"1":{"name":"meta.symbol.namespace.clojure"}},"match":"([-!*+.<-?_\\\\p{L}][-!*+.:<-?_\\\\w\\\\d]*)/"}]},"quoted-sexp":{"begin":"([\'`]\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.clojure"}},"end":"(\\\\))$|(\\\\)(?=[])}\\\\s]*(?:;|$)))|(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.trailing.clojure"},"2":{"name":"punctuation.section.expression.end.trailing.clojure"},"3":{"name":"punctuation.section.expression.end.clojure"}},"name":"meta.quoted-expression.clojure","patterns":[{"include":"$self"}]},"regexp":{"begin":"#\\"","beginCaptures":{"0":{"name":"punctuation.definition.regexp.begin.clojure"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.regexp.end.clojure"}},"name":"string.regexp.clojure","patterns":[{"include":"#regexp_escaped_char"}]},"regexp_escaped_char":{"match":"\\\\\\\\.","name":"constant.character.escape.clojure"},"set":{"begin":"(#\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.set.begin.clojure"}},"end":"(}(?=[])}\\\\s]*(?:;|$)))|(})","endCaptures":{"1":{"name":"punctuation.section.set.end.trailing.clojure"},"2":{"name":"punctuation.section.set.end.clojure"}},"name":"meta.set.clojure","patterns":[{"include":"$self"}]},"sexp":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.clojure"}},"end":"(\\\\))$|(\\\\)(?=[])}\\\\s]*(?:;|$)))|(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.trailing.clojure"},"2":{"name":"punctuation.section.expression.end.trailing.clojure"},"3":{"name":"punctuation.section.expression.end.clojure"}},"name":"meta.expression.clojure","patterns":[{"begin":"(?<=\\\\()(ns|declare|def[-!*+.:<-?_\\\\w\\\\d]*|[-!*+.:<-?_\\\\w][-!*+.:<-?_\\\\w\\\\d]*/def[-!*+.:<-?_\\\\w\\\\d]*)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.clojure"}},"end":"(?=\\\\))","name":"meta.definition.global.clojure","patterns":[{"include":"#metadata"},{"include":"#dynamic-variables"},{"match":"([-!*+.<-?_\\\\p{L}][-!*+.:<-?_\\\\w\\\\d]*)","name":"entity.global.clojure"},{"include":"$self"}]},{"include":"#keyfn"},{"include":"#constants"},{"include":"#vector"},{"include":"#map"},{"include":"#set"},{"include":"#sexp"},{"captures":{"1":{"name":"entity.name.function.clojure"}},"match":"(?<=\\\\()(.+?)(?=[)\\\\s])","patterns":[{"include":"$self"}]},{"include":"$self"}]},"shebang-comment":{"begin":"^(#!)","beginCaptures":{"1":{"name":"punctuation.definition.comment.shebang.clojure"}},"end":"$","name":"comment.line.shebang.clojure"},"string":{"begin":"(?<!\\\\\\\\)(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.clojure"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.clojure"}},"name":"string.quoted.double.clojure","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.clojure"}]},"symbol":{"patterns":[{"match":"([-!*+.<-?_\\\\p{L}][-!*+.:<-?_\\\\w\\\\d]*)","name":"meta.symbol.clojure"}]},"var":{"match":"(?<=([(\\\\[{\\\\s])#)\'[-!*+./:<-?_\\\\w]+(?=([])}\\\\s]))","name":"meta.var.clojure"},"vector":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.section.vector.begin.clojure"}},"end":"(](?=[])}\\\\s]*(?:;|$)))|(])","endCaptures":{"1":{"name":"punctuation.section.vector.end.trailing.clojure"},"2":{"name":"punctuation.section.vector.end.clojure"}},"name":"meta.vector.clojure","patterns":[{"include":"$self"}]}},"scopeName":"source.clojure","aliases":["clj"]}')),eq=[QV]});var Fx={};h1(Fx,{default:()=>nq});var tq,nq,jx=s1(()=>{n9();tq=Object.freeze(JSON.parse('{"displayName":"Erlang","fileTypes":["erl","escript","hrl","xrl","yrl"],"name":"erlang","patterns":[{"include":"#module-directive"},{"include":"#import-export-directive"},{"include":"#behaviour-directive"},{"include":"#record-directive"},{"include":"#define-directive"},{"include":"#macro-directive"},{"include":"#doc-directive"},{"include":"#directive"},{"include":"#function"},{"include":"#everything-else"}],"repository":{"atom":{"patterns":[{"begin":"(\')","beginCaptures":{"1":{"name":"punctuation.definition.symbol.begin.erlang"}},"end":"(\')","endCaptures":{"1":{"name":"punctuation.definition.symbol.end.erlang"}},"name":"constant.other.symbol.quoted.single.erlang","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\\\\\)([\\"\'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2})","name":"constant.other.symbol.escape.erlang"},{"match":"\\\\\\\\\\\\^?.?","name":"invalid.illegal.atom.erlang"}]},{"match":"[a-z][@-Z_a-z\\\\d]*+","name":"constant.other.symbol.unquoted.erlang"}]},"behaviour-directive":{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.behaviour.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.behaviour.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(behaviour)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.behaviour.erlang"},"binary":{"begin":"(<<)","beginCaptures":{"1":{"name":"punctuation.definition.binary.begin.erlang"}},"end":"(>>)","endCaptures":{"1":{"name":"punctuation.definition.binary.end.erlang"}},"name":"meta.structure.binary.erlang","patterns":[{"captures":{"1":{"name":"punctuation.separator.binary.erlang"},"2":{"name":"punctuation.separator.value-size.erlang"}},"match":"(,)|(:)"},{"include":"#internal-type-specifiers"},{"include":"#everything-else"}]},"character":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.character.erlang"},"2":{"name":"constant.character.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"},"5":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\$)((\\\\\\\\)([\\"\'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2}))","name":"constant.character.erlang"},{"match":"\\\\$\\\\\\\\\\\\^?.?","name":"invalid.illegal.character.erlang"},{"captures":{"1":{"name":"punctuation.definition.character.erlang"}},"match":"(\\\\$)[ \\\\S]","name":"constant.character.erlang"},{"match":"\\\\$.?","name":"invalid.illegal.character.erlang"}]},"comment":{"begin":"(^[\\\\t ]+)?(?=%)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.erlang"}},"end":"(?!\\\\G)","patterns":[{"begin":"%","beginCaptures":{"0":{"name":"punctuation.definition.comment.erlang"}},"end":"\\\\n","name":"comment.line.percentage.erlang"}]},"define-directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([@-Z_a-z\\\\d]++)\\\\s*+","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.define.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"(?=^\\\\s*+-\\\\s*+define\\\\s*+\\\\(\\\\s*+[@-Z_a-z\\\\d]++\\\\s*+\\\\()","end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.define.erlang","patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([@-Z_a-z\\\\d]++)\\\\s*+(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))\\\\s*(,)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.separator.parameters.erlang"}},"patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"match":"\\\\|\\\\||[,.:;|]|->","name":"punctuation.separator.define.erlang"},{"include":"#everything-else"}]}]},"directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\(?)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\)?)\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.erlang","patterns":[{"include":"#everything-else"}]},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\.)","name":"meta.directive.erlang"}]},"doc-directive":{"begin":"^\\\\s*+(-)\\\\s*+((module)?doc)\\\\s*(\\\\(\\\\s*)?(~[BSbs]?)?((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.doc.erlang"},"4":{"name":"punctuation.definition.parameters.begin.erlang"},"5":{"name":"storage.type.string.erlang"},"6":{"name":"comment.block.documentation.erlang"},"7":{"name":"punctuation.definition.string.begin.erlang"},"8":{"name":"invalid.illegal.string.erlang"}},"contentName":"meta.embedded.block.markdown","end":"^(\\\\s*(\\\\7))\\\\s*(\\\\)\\\\s*)?(\\\\.)","endCaptures":{"1":{"name":"comment.block.documentation.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"},"3":{"name":"punctuation.section.directive.end.Erlang"}},"name":"meta.directive.doc.erlang","patterns":[{"include":"text.html.markdown"}]},"docstring":{"begin":"(?<!\\")((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"meta.string.quoted.triple.begin.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"},"3":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\2))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.triple.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"everything-else":{"patterns":[{"include":"#comment"},{"include":"#record-usage"},{"include":"#macro-usage"},{"include":"#expression"},{"include":"#keyword"},{"include":"#textual-operator"},{"include":"#language-constant"},{"include":"#function-call"},{"include":"#tuple"},{"include":"#list"},{"include":"#binary"},{"include":"#parenthesized-expression"},{"include":"#character"},{"include":"#number"},{"include":"#atom"},{"include":"#sigil-docstring"},{"include":"#sigil-docstring-verbatim"},{"include":"#sigil-string"},{"include":"#docstring"},{"include":"#string"},{"include":"#symbolic-operator"},{"include":"#variable"}]},"expression":{"patterns":[{"begin":"\\\\b(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.if.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.if.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(case)\\\\b","beginCaptures":{"1":{"name":"keyword.control.case.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.case.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(receive)\\\\b","beginCaptures":{"1":{"name":"keyword.control.receive.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.receive.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"captures":{"1":{"name":"keyword.control.fun.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"variable.other.erlang"},"6":{"name":"punctuation.separator.module-function.erlang"},"8":{"name":"entity.name.function.erlang"},"9":{"name":"variable.other.erlang"},"10":{"name":"punctuation.separator.function-arity.erlang"}},"match":"\\\\b(fun)\\\\s+((([a-z][@-Z_a-z\\\\d]*+)|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)\\\\s*+)?(([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*(/)","name":"meta.expression.fun.implicit.erlang"},{"begin":"\\\\b(fun)\\\\s+(([a-z][@-Z_a-z\\\\d]*+)|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"},"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"}},"end":"(/)","endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}},"name":"meta.expression.fun.implicit.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\s+(?!\\\\()","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"end":"(/)","endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}},"name":"meta.expression.fun.implicit.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\s*+(\\\\()(?=(\\\\s*+\\\\()|(\\\\)))","beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"patterns":[{"include":"#everything-else"}]},{"begin":"\\\\b(fun)\\\\b","beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.fun.erlang","patterns":[{"begin":"(?=\\\\()","end":"(;)|(?=\\\\bend\\\\b)","endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}},"patterns":[{"include":"#internal-function-parts"}]},{"include":"#everything-else"}]},{"begin":"\\\\b(try)\\\\b","beginCaptures":{"1":{"name":"keyword.control.try.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.try.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(begin)\\\\b","beginCaptures":{"1":{"name":"keyword.control.begin.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.begin.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]},{"begin":"\\\\b(maybe)\\\\b","beginCaptures":{"1":{"name":"keyword.control.maybe.erlang"}},"end":"\\\\b(end)\\\\b","endCaptures":{"1":{"name":"keyword.control.end.erlang"}},"name":"meta.expression.maybe.erlang","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}]}]},"function":{"begin":"^\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.definition.erlang"}},"end":"(\\\\.)","endCaptures":{"1":{"name":"punctuation.terminator.function.erlang"}},"name":"meta.function.erlang","patterns":[{"captures":{"1":{"name":"entity.name.function.erlang"}},"match":"^\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(?=\\\\()"},{"begin":"(?=\\\\()","end":"(;)|(?=\\\\.)","endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}},"patterns":[{"include":"#parenthesized-expression"},{"include":"#internal-function-parts"}]},{"include":"#everything-else"}]},"function-call":{"begin":"(?=([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\'|_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\(|:\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\'|_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)\\\\s*+\\\\())","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"name":"meta.function-call.erlang","patterns":[{"begin":"((erlang)\\\\s*+(:)\\\\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\\\\s*+(\\\\()","beginCaptures":{"2":{"name":"entity.name.type.class.module.erlang"},"3":{"name":"punctuation.separator.module-function.erlang"},"4":{"name":"entity.name.function.guard.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(?=\\\\))","patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"begin":"((([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)\\\\s*+)?(([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(\\\\()","beginCaptures":{"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"},"7":{"name":"entity.name.function.erlang"},"8":{"name":"variable.other.erlang"},"9":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(?=\\\\))","patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]}]},"import-export-directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(import)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(,)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.import.erlang","patterns":[{"include":"#internal-function-list"}]},{"begin":"^\\\\s*+(-)\\\\s*+(export)\\\\s*+(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.export.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.export.erlang","patterns":[{"include":"#internal-function-list"}]}]},"internal-expression-punctuation":{"captures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"},"2":{"name":"punctuation.separator.clauses.erlang"},"3":{"name":"punctuation.separator.expressions.erlang"}},"match":"(->)|(;)|(,)"},"internal-function-list":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}},"name":"meta.structure.list.function.erlang","patterns":[{"begin":"([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(/)","beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.separator.function-arity.erlang"}},"end":"(,)|(?=])","endCaptures":{"1":{"name":"punctuation.separator.list.erlang"}},"patterns":[{"include":"#everything-else"}]},{"include":"#everything-else"}]},"internal-function-parts":{"patterns":[{"begin":"(?=\\\\()","end":"(->)","endCaptures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"match":"[,;]","name":"punctuation.separator.guards.erlang"},{"include":"#everything-else"}]},{"match":",","name":"punctuation.separator.expressions.erlang"},{"include":"#everything-else"}]},"internal-record-body":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.class.record.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.class.record.end.erlang"}},"name":"meta.structure.record.erlang","patterns":[{"begin":"(([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')|(_))","beginCaptures":{"2":{"name":"variable.other.field.erlang"},"3":{"name":"variable.language.omitted.field.erlang"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.class.record.erlang"}},"patterns":[{"include":"#everything-else"}]},{"include":"#everything-else"}]},"internal-string-body":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\\\\\)([\\"\'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2})","name":"constant.character.escape.erlang"},{"match":"\\\\\\\\\\\\^?.?","name":"invalid.illegal.string.erlang"},{"include":"#internal-string-body-verbatim"}]},"internal-string-body-verbatim":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.placeholder.erlang"},"6":{"name":"punctuation.separator.placeholder-parts.erlang"},"10":{"name":"punctuation.separator.placeholder-parts.erlang"}},"match":"(~)((-)?\\\\d++|(\\\\*))?((\\\\.)(\\\\d++|(\\\\*))?((\\\\.)((\\\\*)|.))?)?[Kklt]*[#+BPWXbcefginpswx~]","name":"constant.character.format.placeholder.other.erlang"},{"captures":{"1":{"name":"punctuation.definition.placeholder.erlang"}},"match":"(~)(\\\\*)?(\\\\d++)?(t)?[-#acdflsu~]","name":"constant.character.format.placeholder.other.erlang"},{"match":"~[^\\"]?","name":"invalid.illegal.string.erlang"}]},"internal-type-specifiers":{"begin":"(/)","beginCaptures":{"1":{"name":"punctuation.separator.value-type.erlang"}},"end":"(?=[,:]|>>)","patterns":[{"captures":{"1":{"name":"storage.type.erlang"},"2":{"name":"storage.modifier.signedness.erlang"},"3":{"name":"storage.modifier.endianness.erlang"},"4":{"name":"storage.modifier.unit.erlang"},"5":{"name":"punctuation.separator.unit-specifiers.erlang"},"6":{"name":"constant.numeric.integer.decimal.erlang"},"7":{"name":"punctuation.separator.type-specifiers.erlang"}},"match":"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|((?:|un)signed)|(big|little|native)|(unit)(:)(\\\\d++)|(-)"}]},"keyword":{"match":"\\\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\\\b","name":"keyword.control.erlang"},"language-constant":{"match":"\\\\b(false|true|undefined)\\\\b","name":"constant.language"},"list":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}},"name":"meta.structure.list.erlang","patterns":[{"match":"\\\\|\\\\|??|,","name":"punctuation.separator.list.erlang"},{"include":"#everything-else"}]},"macro-directive":{"patterns":[{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifdef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(ifdef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.ifdef.erlang"},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifndef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(ifndef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.ifndef.erlang"},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.undef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(undef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.undef.erlang"}]},"macro-usage":{"captures":{"1":{"name":"keyword.operator.macro.erlang"},"2":{"name":"entity.name.function.macro.erlang"}},"match":"(\\\\?\\\\??)\\\\s*+([@-Z_a-z\\\\d]++)","name":"meta.macro-usage.erlang"},"module-directive":{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.module.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(module)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.module.erlang"},"number":{"begin":"(?=\\\\d)","end":"(?!\\\\d)","patterns":[{"captures":{"1":{"name":"punctuation.separator.integer-float.erlang"},"2":{"name":"punctuation.separator.float-exponent.erlang"}},"match":"\\\\d++(\\\\.)\\\\d++([Ee][-+]?\\\\d++)?","name":"constant.numeric.float.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"2(#)([01]++_)*[01]++","name":"constant.numeric.integer.binary.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"3(#)([012]++_)*[012]++","name":"constant.numeric.integer.base-3.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"4(#)([0-3]++_)*[0-3]++","name":"constant.numeric.integer.base-4.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"5(#)([0-4]++_)*[0-4]++","name":"constant.numeric.integer.base-5.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"6(#)([0-5]++_)*[0-5]++","name":"constant.numeric.integer.base-6.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"7(#)([0-6]++_)*[0-6]++","name":"constant.numeric.integer.base-7.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"8(#)([0-7]++_)*[0-7]++","name":"constant.numeric.integer.octal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"9(#)([0-8]++_)*[0-8]++","name":"constant.numeric.integer.base-9.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"10(#)(\\\\d++_)*\\\\d++","name":"constant.numeric.integer.decimal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"11(#)([Aa\\\\d]++_)*[Aa\\\\d]++","name":"constant.numeric.integer.base-11.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"12(#)([ABab\\\\d]++_)*[ABab\\\\d]++","name":"constant.numeric.integer.base-12.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"13(#)([ABCabc\\\\d]++_)*[ABCabc\\\\d]++","name":"constant.numeric.integer.base-13.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"14(#)([A-Da-d\\\\d]++_)*[A-Da-d\\\\d]++","name":"constant.numeric.integer.base-14.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"15(#)([A-Ea-e\\\\d]++_)*[A-Ea-e\\\\d]++","name":"constant.numeric.integer.base-15.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"16(#)([A-Fa-f\\\\d]++_)*[A-Fa-f\\\\d]++","name":"constant.numeric.integer.hexadecimal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"17(#)([A-Ga-g\\\\d]++_)*[A-Ga-g\\\\d]++","name":"constant.numeric.integer.base-17.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"18(#)([A-Ha-h\\\\d]++_)*[A-Ha-h\\\\d]++","name":"constant.numeric.integer.base-18.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"19(#)([A-Ia-i\\\\d]++_)*[A-Ia-i\\\\d]++","name":"constant.numeric.integer.base-19.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"20(#)([A-Ja-j\\\\d]++_)*[A-Ja-j\\\\d]++","name":"constant.numeric.integer.base-20.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"21(#)([A-Ka-k\\\\d]++_)*[A-Ka-k\\\\d]++","name":"constant.numeric.integer.base-21.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"22(#)([A-La-l\\\\d]++_)*[A-La-l\\\\d]++","name":"constant.numeric.integer.base-22.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"23(#)([A-Ma-m\\\\d]++_)*[A-Ma-m\\\\d]++","name":"constant.numeric.integer.base-23.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"24(#)([A-Na-n\\\\d]++_)*[A-Na-n\\\\d]++","name":"constant.numeric.integer.base-24.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"25(#)([A-Oa-o\\\\d]++_)*[A-Oa-o\\\\d]++","name":"constant.numeric.integer.base-25.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"26(#)([A-Pa-p\\\\d]++_)*[A-Pa-p\\\\d]++","name":"constant.numeric.integer.base-26.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"27(#)([A-Qa-q\\\\d]++_)*[A-Qa-q\\\\d]++","name":"constant.numeric.integer.base-27.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"28(#)([A-Ra-r\\\\d]++_)*[A-Ra-r\\\\d]++","name":"constant.numeric.integer.base-28.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"29(#)([A-Sa-s\\\\d]++_)*[A-Sa-s\\\\d]++","name":"constant.numeric.integer.base-29.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"30(#)([A-Ta-t\\\\d]++_)*[A-Ta-t\\\\d]++","name":"constant.numeric.integer.base-30.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"31(#)([A-Ua-u\\\\d]++_)*[A-Ua-u\\\\d]++","name":"constant.numeric.integer.base-31.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"32(#)([A-Va-v\\\\d]++_)*[A-Va-v\\\\d]++","name":"constant.numeric.integer.base-32.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"33(#)([A-Wa-w\\\\d]++_)*[A-Wa-w\\\\d]++","name":"constant.numeric.integer.base-33.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"34(#)([A-Xa-x\\\\d]++_)*[A-Xa-x\\\\d]++","name":"constant.numeric.integer.base-34.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"35(#)([A-Ya-y\\\\d]++_)*[A-Ya-y\\\\d]++","name":"constant.numeric.integer.base-35.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"36(#)([A-Za-z\\\\d]++_)*[A-Za-z\\\\d]++","name":"constant.numeric.integer.base-36.erlang"},{"match":"\\\\d++#([A-Za-z\\\\d]++_)*[A-Za-z\\\\d]++","name":"invalid.illegal.integer.erlang"},{"match":"(\\\\d++_)*\\\\d++","name":"constant.numeric.integer.decimal.erlang"}]},"parenthesized-expression":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.erlang"}},"name":"meta.expression.parenthesized","patterns":[{"include":"#everything-else"}]},"record-directive":{"begin":"^\\\\s*+(-)\\\\s*+(record)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(,)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.record.definition.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.record.erlang","patterns":[{"include":"#internal-record-body"},{"include":"#comment"}]},"record-usage":{"patterns":[{"captures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"},"3":{"name":"punctuation.separator.record-field.erlang"},"4":{"name":"variable.other.field.erlang"}},"match":"(#)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')\\\\s*+(\\\\.)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')","name":"meta.record-usage.erlang"},{"begin":"(#)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|\'[^\']*+\')","beginCaptures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"}},"end":"(?<=})","name":"meta.record-usage.erlang","patterns":[{"include":"#internal-record-body"}]}]},"sigil-docstring":{"begin":"(~[bs])((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\3))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.tripple.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-docstring-verbatim":{"begin":"(~[BS]?)((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\3))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.tripple.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string":{"patterns":[{"include":"#sigil-string-parenthesis"},{"include":"#sigil-string-parenthesis-verbatim"},{"include":"#sigil-string-curly-brackets"},{"include":"#sigil-string-curly-brackets-verbatim"},{"include":"#sigil-string-square-brackets"},{"include":"#sigil-string-square-brackets-verbatim"},{"include":"#sigil-string-less-greater"},{"include":"#sigil-string-less-greater-verbatim"},{"include":"#sigil-string-single-character"},{"include":"#sigil-string-single-character-verbatim"},{"include":"#sigil-string-single-quote"},{"include":"#sigil-string-single-quote-verbatim"},{"include":"#sigil-string-double-quote"},{"include":"#sigil-string-double-quote-verbatim"}]},"sigil-string-curly-brackets":{"begin":"(~[bs]?)(\\\\{)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-curly-brackets-verbatim":{"begin":"(~[BS])(\\\\{)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-double-quote":{"begin":"(~[bs]?)(\\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-double-quote-verbatim":{"begin":"(~[BS])(\\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-less-greater":{"begin":"(~[bs]?)(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-less-greater-verbatim":{"begin":"(~[BS])(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-parenthesis":{"begin":"(~[bs]?)(\\\\()","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-parenthesis-verbatim":{"begin":"(~[BS])(\\\\()","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-single-character":{"begin":"(~[bs]?)([#/`|])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-character-verbatim":{"begin":"(~[BS])([#/`|])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-single-quote":{"begin":"(~[bs]?)(\')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-quote-verbatim":{"begin":"(~[BS])(\')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-square-brackets":{"begin":"(~[bs]?)(\\\\[)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-square-brackets-verbatim":{"begin":"(~[BS])(\\\\[)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"string":{"begin":"(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.erlang","patterns":[{"include":"#internal-string-body"}]},"symbolic-operator":{"match":"\\\\+\\\\+?|--|[-*]|/=?|=/=|=:=|==|=<?|<-?|>=|[!>]|::|\\\\?=","name":"keyword.operator.symbolic.erlang"},"textual-operator":{"match":"\\\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\\\b","name":"keyword.operator.textual.erlang"},"tuple":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.tuple.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.tuple.end.erlang"}},"name":"meta.structure.tuple.erlang","patterns":[{"match":",","name":"punctuation.separator.tuple.erlang"},{"include":"#everything-else"}]},"variable":{"captures":{"1":{"name":"variable.other.erlang"},"2":{"name":"variable.language.omitted.erlang"}},"match":"(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)|(_)"}},"scopeName":"source.erlang","embeddedLangs":["markdown"],"aliases":["erl"]}')),nq=[...k7,tq]});var Hx={};h1(Hx,{default:()=>iq});var aq,iq,Nx=s1(()=>{_4();aq=Object.freeze(JSON.parse('{"displayName":"Elixir","fileTypes":["ex","exs"],"firstLineMatch":"^#!/.*\\\\belixir","foldingStartMarker":"(after|else|catch|rescue|->|[\\\\[{]|do)\\\\s*$","foldingStopMarker":"^\\\\s*(([]}]|after|else|catch|rescue)\\\\s*$|end\\\\b)","name":"elixir","patterns":[{"begin":"\\\\b(fn)\\\\b(?!.*->)","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"$","patterns":[{"include":"#core_syntax"}]},{"captures":{"1":{"name":"entity.name.type.class.elixir"},"2":{"name":"punctuation.separator.method.elixir"},"3":{"name":"entity.name.function.elixir"}},"match":"([A-Z]\\\\w+)\\\\s*(\\\\.)\\\\s*([_a-z]\\\\w*[!?]?)"},{"captures":{"1":{"name":"constant.other.symbol.elixir"},"2":{"name":"punctuation.separator.method.elixir"},"3":{"name":"entity.name.function.elixir"}},"match":"(:\\\\w+)\\\\s*(\\\\.)\\\\s*(_?\\\\w*[!?]?)"},{"captures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"entity.name.function.elixir"}},"match":"(\\\\|>)\\\\s*([_a-z]\\\\w*[!?]?)"},{"match":"\\\\b[_a-z]\\\\w*[!?]?(?=\\\\s*\\\\.?\\\\s*\\\\()","name":"entity.name.function.elixir"},{"begin":"\\\\b(fn)\\\\b(?=.*->)","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"(?>(->)|(when)|(\\\\)))","endCaptures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"keyword.control.elixir"},"3":{"name":"punctuation.section.function.elixir"}},"patterns":[{"include":"#core_syntax"}]},{"include":"#core_syntax"},{"begin":"^(?=.*->)((?![^\\"\']*([\\"\'])[^\\"\']*->)|(?=.*->[^\\"\']*([\\"\'])[^\\"\']*->))((?!.*\\\\([^)]*->)|(?=[^()]*->)|(?=\\\\s*\\\\(.*\\\\).*->))((?!.*\\\\b(fn)\\\\b)|(?=.*->.*\\\\bfn\\\\b))","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"(?>(->)|(when)|(\\\\)))","endCaptures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"keyword.control.elixir"},"3":{"name":"punctuation.section.function.elixir"}},"patterns":[{"include":"#core_syntax"}]}],"repository":{"core_syntax":{"patterns":[{"begin":"^\\\\s*(defmodule)\\\\b","beginCaptures":{"1":{"name":"keyword.control.module.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.module.elixir"}},"name":"meta.module.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*(?=\\\\.)","name":"entity.other.inherited-class.elixir"},{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.class.elixir"}]},{"begin":"^\\\\s*(defprotocol)\\\\b","beginCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"name":"meta.protocol_declaration.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.protocol.elixir"}]},{"begin":"^\\\\s*(defimpl)\\\\b","beginCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"name":"meta.protocol_implementation.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.protocol.elixir"}]},{"begin":"^\\\\s*(def(?:|macro|delegate|guard))\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))((\\\\()|\\\\s*)","beginCaptures":{"1":{"name":"keyword.control.module.elixir"},"2":{"name":"entity.name.function.public.elixir"},"4":{"name":"punctuation.section.function.elixir"}},"end":"\\\\b(do:)|\\\\b(do)\\\\b|(?=\\\\s+(def(?:|n|macro|delegate|guard))\\\\b)","endCaptures":{"1":{"name":"constant.other.keywords.elixir"},"2":{"name":"keyword.control.module.elixir"}},"name":"meta.function.public.elixir","patterns":[{"include":"$self"},{"begin":"\\\\s(\\\\\\\\\\\\\\\\)","beginCaptures":{"1":{"name":"keyword.operator.other.elixir"}},"end":"[),]|$","patterns":[{"include":"$self"}]},{"match":"\\\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\\\b","name":"keyword.control.elixir"}]},{"begin":"^\\\\s*(def(?:|n|macro|guard)p)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))((\\\\()|\\\\s*)","beginCaptures":{"1":{"name":"keyword.control.module.elixir"},"2":{"name":"entity.name.function.private.elixir"},"4":{"name":"punctuation.section.function.elixir"}},"end":"\\\\b(do:)|\\\\b(do)\\\\b|(?=\\\\s+(def(?:p|macrop|guardp))\\\\b)","endCaptures":{"1":{"name":"constant.other.keywords.elixir"},"2":{"name":"keyword.control.module.elixir"}},"name":"meta.function.private.elixir","patterns":[{"include":"$self"},{"begin":"\\\\s(\\\\\\\\\\\\\\\\)","beginCaptures":{"1":{"name":"keyword.operator.other.elixir"}},"end":"[),]|$","patterns":[{"include":"$self"}]},{"match":"\\\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\\\b","name":"keyword.control.elixir"}]},{"begin":"\\\\s*~L\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"sigil.leex","patterns":[{"include":"text.elixir"},{"include":"text.html.basic"}]},{"begin":"\\\\s*~H\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"sigil.heex","patterns":[{"include":"text.elixir"},{"include":"text.html.basic"}]},{"begin":"@(module|type)?doc (~[a-z])?\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"comment.block.documentation.heredoc","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"@(module|type)?doc ~[A-Z]\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"comment.block.documentation.heredoc"},{"begin":"@(module|type)?doc (~[a-z])?\'\'\'","end":"\\\\s*\'\'\'","name":"comment.block.documentation.heredoc","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"@(module|type)?doc ~[A-Z]\'\'\'","end":"\\\\s*\'\'\'","name":"comment.block.documentation.heredoc"},{"match":"@(module|type)?doc false","name":"comment.block.documentation.false"},{"begin":"@(module|type)?doc \\"","end":"\\"","name":"comment.block.documentation.string","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"match":"(?<!\\\\.)\\\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defnp?|defmacrop?|defguardp?|defdelegate|defexception|defoverridable|exit|after|rescue|catch|else|raise|reraise|throw|import|require|alias|use|quote|unquote|super|with)\\\\b(?![!:?])","name":"keyword.control.elixir"},{"match":"(?<!\\\\.)\\\\b(and|not|or|when|xor|in)\\\\b","name":"keyword.operator.elixir"},{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.class.elixir"},{"match":"\\\\b(nil|true|false)\\\\b(?![!?])","name":"constant.language.elixir"},{"match":"\\\\b(__(CALLER|ENV|MODULE|DIR|STACKTRACE)__)\\\\b(?![!?])","name":"variable.language.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"(@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.module.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"(&)\\\\d+","name":"variable.other.anonymous.elixir"},{"match":"&(?!&)","name":"variable.other.anonymous.elixir"},{"captures":{"1":{"name":"punctuation.definition.variable.elixir"}},"match":"\\\\^[_a-z]\\\\w*","name":"variable.other.capture.elixir"},{"match":"\\\\b0x\\\\h(?>_?\\\\h)*\\\\b","name":"constant.numeric.hex.elixir"},{"match":"\\\\b\\\\d(?>_?\\\\d)*(\\\\.(?![^\\\\s\\\\d])(?>_?\\\\d)+)([Ee][-+]?\\\\d(?>_?\\\\d)*)?\\\\b","name":"constant.numeric.float.elixir"},{"match":"\\\\b\\\\d(?>_?\\\\d)*\\\\b","name":"constant.numeric.integer.elixir"},{"match":"\\\\b0b[01](?>_?[01])*\\\\b","name":"constant.numeric.binary.elixir"},{"match":"\\\\b0o[0-7](?>_?[0-7])*\\\\b","name":"constant.numeric.octal.elixir"},{"begin":":\'","captures":{"0":{"name":"punctuation.definition.constant.elixir"}},"end":"\'","name":"constant.other.symbol.single-quoted.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":":\\"","captures":{"0":{"name":"punctuation.definition.constant.elixir"}},"end":"\\"","name":"constant.other.symbol.double-quoted.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\'\'\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\'\'\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.single.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.single.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.double.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.double.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"}[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"][a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":">[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\)[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\1[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[A-Z]\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.heredoc.literal.elixir"},{"begin":"~[A-Z]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"}[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"][a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":">[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\)[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\1[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"captures":{"1":{"name":"punctuation.definition.constant.elixir"}},"match":"(?<!:)(:)(?>[A-Z_a-z][@\\\\w]*(?>[!?]|=(?![=>]))?|<>|===?|!==?|<<>>|<<<|>>>|~~~|::|<-|\\\\|>|=>|=~|[/=]|\\\\\\\\\\\\\\\\|\\\\*\\\\*?|\\\\.\\\\.?\\\\.?|\\\\.\\\\.//|>=?|<=?|&&?&?|\\\\+\\\\+?|--?|\\\\|\\\\|?\\\\|?|[!@]|%?\\\\{}|%|\\\\[]|\\\\^(\\\\^\\\\^)?)","name":"constant.other.symbol.elixir"},{"captures":{"1":{"name":"punctuation.definition.constant.elixir"}},"match":"(?>[A-Z_a-z][@\\\\w]*[!?]?)(:)(?!:)","name":"constant.other.keywords.elixir"},{"begin":"(^[\\\\t ]+)?(?=##)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.elixir"}},"end":"(?!#)","patterns":[{"begin":"##","beginCaptures":{"0":{"name":"punctuation.definition.comment.elixir"}},"end":"\\\\n","name":"comment.line.section.elixir"}]},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.elixir"}},"end":"(?!#)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.elixir"}},"end":"\\\\n","name":"comment.line.number-sign.elixir"}]},{"match":"\\\\b_([^_]\\\\w+[!?]?)","name":"comment.unused.elixir"},{"match":"\\\\b_\\\\b","name":"comment.wildcard.elixir"},{"match":"(?<!\\\\w)\\\\?(\\\\\\\\(x\\\\h{1,2}(?!\\\\h)\\\\b|[^CMx])|[^\\\\\\\\\\\\s])","name":"constant.numeric.elixir"},{"match":"\\\\+\\\\+|--|<\\\\|>","name":"keyword.operator.concatenation.elixir"},{"match":"\\\\|>|<~>|<>|<<<|>>>|~>>|<<~|~>|<~|<\\\\|>","name":"keyword.operator.sigils_1.elixir"},{"match":"&&&?","name":"keyword.operator.sigils_2.elixir"},{"match":"<-|\\\\\\\\\\\\\\\\","name":"keyword.operator.sigils_3.elixir"},{"match":"===?|!==?|<=?|>=?","name":"keyword.operator.comparison.elixir"},{"match":"(\\\\|\\\\|\\\\||&&&|\\\\^\\\\^\\\\^|<<<|>>>|~~~)","name":"keyword.operator.bitwise.elixir"},{"match":"(?<=[\\\\t ])!+|\\\\bnot\\\\b|&&|\\\\band\\\\b|\\\\|\\\\||\\\\bor\\\\b|\\\\bxor\\\\b","name":"keyword.operator.logical.elixir"},{"match":"([-*+/])","name":"keyword.operator.arithmetic.elixir"},{"match":"\\\\||\\\\+\\\\+|--|\\\\*\\\\*|\\\\\\\\\\\\\\\\|<-|<>|<<|>>|::|\\\\.\\\\.|//|\\\\|>|~|=>|&","name":"keyword.operator.other.elixir"},{"match":"=","name":"keyword.operator.assignment.elixir"},{"match":":","name":"punctuation.separator.other.elixir"},{"match":";","name":"punctuation.separator.statement.elixir"},{"match":",","name":"punctuation.separator.object.elixir"},{"match":"\\\\.","name":"punctuation.separator.method.elixir"},{"match":"[{}]","name":"punctuation.section.scope.elixir"},{"match":"[]\\\\[]","name":"punctuation.section.array.elixir"},{"match":"[()]","name":"punctuation.section.function.elixir"}]},"escaped_char":{"match":"\\\\\\\\(x[A-Fa-f\\\\d]{1,2}|.)","name":"constant.character.escaped.elixir"},"interpolated_elixir":{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.elixir"}},"contentName":"source.elixir","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.elixir"}},"name":"meta.embedded.line.elixir","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.elixir"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]}},"scopeName":"source.elixir","embeddedLangs":["html"]}')),iq=[...Y2,aq]});var Tx={};h1(Tx,{default:()=>sq});var rq,sq,Vx=s1(()=>{rq=Object.freeze(JSON.parse('{"displayName":"Haskell","fileTypes":["hs","hs-boot","hsig"],"name":"haskell","patterns":[{"include":"#liquid_haskell"},{"include":"#comment_like"},{"include":"#numeric_literals"},{"include":"#string_literal"},{"include":"#char_literal"},{"match":"(?<![#@])-}","name":"invalid"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*(\\\\))","name":"constant.language.unit.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"constant.language.unit.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*,[,\\\\s]*(\\\\))","name":"support.constant.tuple.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*,[,\\\\s]*(#)(\\\\))","name":"support.constant.tuple.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.bracket.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"match":"(\\\\[)\\\\s*(])","name":"constant.language.empty-list.haskell"},{"begin":"(\\\\b(?<!\')(module)|^(signature))\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.module.haskell"},"3":{"name":"keyword.other.signature.haskell"}},"end":"(?=\\\\b(?<!\')where\\\\b(?!\'))","name":"meta.declaration.module.haskell","patterns":[{"include":"#comment_like"},{"include":"#module_name"},{"include":"#module_exports"},{"match":"[a-z]+","name":"invalid"}]},{"include":"#ffi"},{"begin":"^(\\\\s*)(class)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.class.haskell"}},"end":"(?=(?<!\')\\\\bwhere\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.class.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(data|newtype)(?:\\\\s+(instance))?\\\\s+((?:(?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')(?:where|deriving)\\\\b(?!\')|\\\\{-).)*)(?=\\\\b(?<!\'\')where\\\\b(?!\'\'))","beginCaptures":{"2":{"name":"keyword.other.$2.haskell"},"3":{"name":"keyword.other.instance.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=(?<!\')\\\\bderiving\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.$2.generalized.haskell","patterns":[{"include":"#comment_like"},{"begin":"(?<!\')\\\\b(where)\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.where.haskell"},"2":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#gadt_constructor"},{"match":";","name":"punctuation.semicolon.haskell"}]},{"match":"\\\\b(?<!\')(where)\\\\b(?!\')","name":"keyword.other.where.haskell"},{"include":"#deriving"},{"include":"#gadt_constructor"}]},{"include":"#role_annotation"},{"begin":"^(\\\\s*)(pattern)\\\\s+(.*?)\\\\s+(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","beginCaptures":{"2":{"name":"keyword.other.pattern.haskell"},"3":{"patterns":[{"include":"#comma"},{"include":"#data_constructor"}]},"4":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.pattern.type.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"^\\\\s*(pattern)\\\\b(?!\')","captures":{"1":{"name":"keyword.other.pattern.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.pattern.haskell","patterns":[{"include":"$self"}]},{"begin":"^(\\\\s*)(data|newtype)(?:\\\\s+(family|instance))?\\\\s+(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')(?:where|deriving)\\\\b(?!\')|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.$2.haskell"},"3":{"name":"keyword.other.$3.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.$2.algebraic.haskell","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#forall"},{"include":"#adt_constructor"},{"include":"#context"},{"include":"#record_decl"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(type)\\\\s+(family)\\\\b(?!\')(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\b(?<!\')where\\\\b(?!\')|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.family.haskell"},"4":{"patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.type.family.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(type)(?:\\\\s+(instance))?\\\\s+(((?!(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:=|--+|::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])|\\\\{-).)*)","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.instance.haskell"},"4":{"patterns":[{"include":"#type_signature"}]}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.type.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(instance)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.instance.haskell"}},"end":"(?=\\\\b(?<!\')(where)\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.declaration.instance.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"include":"#type_signature"}]},{"begin":"^(\\\\s*)(import)\\\\b((?!\'))","beginCaptures":{"2":{"name":"keyword.other.import.haskell"}},"end":"(?=\\\\b(?<!\')(where)\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.import.haskell","patterns":[{"include":"#comment_like"},{"include":"#where"},{"captures":{"1":{"name":"keyword.other.$1.haskell"}},"match":"(qualified|as|hiding)"},{"include":"#module_name"},{"include":"#module_exports"}]},{"include":"#deriving"},{"include":"#layout_herald"},{"include":"#keyword"},{"captures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"patterns":[{"include":"#comment_like"},{"include":"#integer_literals"},{"include":"#infix_op"}]}},"match":"^\\\\s*(infix[lr]?)\\\\s+(.*)","name":"meta.fixity-declaration.haskell"},{"include":"#overloaded_label"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#fun_decl"},{"include":"#qualifier"},{"include":"#data_constructor"},{"include":"#start_type_signature"},{"include":"#prefix_op"},{"include":"#infix_op"},{"begin":"(\\\\()(#)\\\\s","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"include":"#quasi_quote"},{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"$self"}]},{"include":"#record"}],"repository":{"adt_constructor":{"patterns":[{"include":"#comment_like"},{"begin":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:(=)|(\\\\|))(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","beginCaptures":{"1":{"name":"keyword.operator.eq.haskell"},"2":{"name":"keyword.operator.pipe.haskell"}},"end":"(?:\\\\G|^)\\\\s*(?:(?<!\')\\\\b([\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]+)|(\'?(?<paren>\\\\((?:[^()]?|\\\\g<paren>)*\\\\)))|(\'?(?<brac>\\\\((?:[^]\\\\[]?|\\\\g<brac>)*])))\\\\s*(?:(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)|(`)([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`))|(?<!\')\\\\b([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\))","endCaptures":{"1":{"patterns":[{"include":"#type_signature"}]},"2":{"patterns":[{"include":"#type_signature"}]},"4":{"patterns":[{"include":"#type_signature"}]},"6":{"name":"constant.other.operator.haskell"},"7":{"name":"punctuation.backtick.haskell"},"8":{"name":"constant.other.haskell"},"9":{"name":"punctuation.backtick.haskell"},"10":{"name":"constant.other.haskell"},"11":{"name":"punctuation.paren.haskell"},"12":{"name":"constant.other.operator.haskell"},"13":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#record_decl"},{"include":"#forall"},{"include":"#context"}]}]},"block_comment":{"applyEndPatternLast":1,"begin":"\\\\{-","captures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"-}","name":"comment.block.haskell","patterns":[{"include":"#block_comment"}]},"char_literal":{"captures":{"1":{"name":"punctuation.definition.string.begin.haskell"},"2":{"name":"constant.character.escape.haskell"},"3":{"name":"constant.character.escape.octal.haskell"},"4":{"name":"constant.character.escape.hexadecimal.haskell"},"5":{"name":"constant.character.escape.control.haskell"},"6":{"name":"punctuation.definition.string.end.haskell"}},"match":"(?<![\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])(\')(?:[ -\\\\[\\\\]-~]|(\\\\\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&\'\\\\\\\\abfnrtv]))|(\\\\\\\\o[0-7]+)|(\\\\\\\\x\\\\h+)|(\\\\\\\\\\\\^[@-_]))(\')","name":"string.quoted.single.haskell"},"comma":{"match":",","name":"punctuation.separator.comma.haskell"},"comment_like":{"patterns":[{"include":"#cpp"},{"include":"#pragma"},{"include":"#comments"}]},"comments":{"patterns":[{"begin":"^(\\\\s*)(--\\\\s[$|])","beginCaptures":{"2":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"(?=^(?!\\\\1--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])))","name":"comment.block.documentation.haskell"},{"begin":"(^[\\\\t ]+)?(--\\\\s[*^])","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"\\\\n","name":"comment.line.documentation.haskell"},{"applyEndPatternLast":1,"begin":"\\\\{-\\\\s?[$*^|]","captures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"-}","name":"comment.block.documentation.haskell","patterns":[{"include":"#block_comment"}]},{"begin":"(^[\\\\t ]+)?(?=--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]))","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.haskell"}},"end":"(?!\\\\G)","patterns":[{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.haskell"}},"end":"\\\\n","name":"comment.line.double-dash.haskell"}]},{"include":"#block_comment"}]},"context":{"captures":{"1":{"patterns":[{"include":"#comment_like"},{"include":"#type_signature"}]},"2":{"name":"keyword.operator.big-arrow.haskell"}},"match":"(.*)(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(=>|\u21D2)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},"cpp":{"captures":{"1":{"name":"punctuation.definition.preprocessor.c"}},"match":"^(#).*$","name":"meta.preprocessor.c"},"data_constructor":{"match":"\\\\b(?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?![\'.\\\\w])","name":"constant.other.haskell"},"deriving":{"patterns":[{"begin":"^(\\\\s*)(deriving)\\\\s+(?:(via|stock|newtype|anyclass)\\\\s+)?","beginCaptures":{"2":{"name":"keyword.other.deriving.haskell"},"3":{"name":"keyword.other.deriving.strategy.$3.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.deriving.haskell","patterns":[{"include":"#comment_like"},{"match":"(?<!\')\\\\b(instance)\\\\b(?!\')","name":"keyword.other.instance.haskell"},{"captures":{"1":{"name":"keyword.other.deriving.strategy.$1.haskell"}},"match":"(?<!\')\\\\b(via|stock|newtype|anyclass)\\\\b(?!\')"},{"include":"#type_signature"}]},{"begin":"(deriving)(?:\\\\s+(stock|newtype|anyclass))?\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.deriving.haskell"},"2":{"name":"keyword.other.deriving.strategy.$2.haskell"},"3":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"name":"meta.deriving.haskell","patterns":[{"include":"#type_signature"}]},{"captures":{"1":{"name":"keyword.other.deriving.haskell"},"2":{"name":"keyword.other.deriving.strategy.$2.haskell"},"3":{"patterns":[{"include":"#type_signature"}]},"5":{"name":"keyword.other.deriving.strategy.via.haskell"},"6":{"patterns":[{"include":"#type_signature"}]}},"match":"(deriving)(?:\\\\s+(stock|newtype|anyclass))?\\\\s+([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(\\\\s+(via)\\\\s+(.*)$)?","name":"meta.deriving.haskell"},{"match":"(?<!\')\\\\b(via)\\\\b(?!\')","name":"keyword.other.deriving.strategy.via.haskell"}]},"double_colon":{"captures":{"1":{"name":"keyword.operator.double-colon.haskell"}},"match":"\\\\s*(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])\\\\s*"},"export_constructs":{"patterns":[{"include":"#comment_like"},{"begin":"\\\\b(?<!\')(pattern)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.pattern.haskell"}},"end":"([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","endCaptures":{"1":{"name":"constant.other.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"constant.other.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"}]},{"begin":"\\\\b(?<!\')(type)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.type.haskell"}},"end":"([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","endCaptures":{"1":{"name":"storage.type.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"storage.type.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"}]},{"match":"(?<!\')\\\\b[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"entity.name.function.haskell"},{"match":"(?<!\')\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"storage.type.haskell"},{"include":"#record_wildcard"},{"include":"#reserved_symbol"},{"include":"#prefix_op"}]},"ffi":{"begin":"^(\\\\s*)(foreign)\\\\s+((?:im|ex)port)\\\\s+","beginCaptures":{"2":{"name":"keyword.other.foreign.haskell"},"3":{"name":"keyword.other.$3.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.$3.foreign.haskell","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.calling-convention.$1.haskell"}},"match":"\\\\b(?<!\')(ccall|cplusplus|dotnet|jvm|stdcall|prim|capi)\\\\s+"},{"begin":"(?=\\")|(?=\\\\b(?<!\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\'))","end":"(?=(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]))","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.safety.$1.haskell"},"2":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]},"3":{"name":"entity.name.function.haskell"},"4":{"name":"entity.name.function.infix.haskell"}},"match":"\\\\b(?<!\')(safe|unsafe|interruptible)\\\\b(?!\')\\\\s*(\\"(?:\\\\\\\\\\"|[^\\"])*\\")?\\\\s*(?:\\\\b(?<!\'\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\')|\\\\(\\\\s*(?!--+\\\\))([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*\\\\))"},{"captures":{"1":{"name":"keyword.other.safety.$1.haskell"},"2":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]}},"match":"\\\\b(?<!\')(safe|unsafe|interruptible)\\\\b(?!\')\\\\s*(\\"(?:\\\\\\\\\\"|[^\\"])*\\")?\\\\s*$"},{"captures":{"0":{"name":"entity.name.foreign.haskell","patterns":[{"include":"#string_literal"}]}},"match":"\\"(?:\\\\\\\\\\"|[^\\"])*\\""},{"captures":{"1":{"name":"entity.name.function.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"entity.name.function.infix.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"\\\\b(?<!\'\')([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\b(?!\')|(\\\\()\\\\s*(?!--+\\\\))([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))"}]},{"include":"#double_colon"},{"include":"#type_signature"}]},"float_literals":{"captures":{"1":{"name":"constant.numeric.floating.decimal.haskell"},"2":{"name":"constant.numeric.floating.hexadecimal.haskell"}},"match":"\\\\b(?<!\')(?:([0-9][0-9_]*\\\\.[0-9][0-9_]*(?:[Ee][-+]?[0-9][0-9_]*)?|[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*)|(0(?:[Xx]_*\\\\h[_\\\\h]*\\\\.\\\\h[_\\\\h]*(?:[Pp][-+]?[0-9][0-9_]*)?|[Xx]_*\\\\h[_\\\\h]*[Pp][-+]?[0-9][0-9_]*)))\\\\b(?!\')"},"forall":{"begin":"\\\\b(?<!\')(forall|\u2200)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.forall.haskell"}},"end":"(\\\\.)|(->|\u2192)","endCaptures":{"1":{"name":"keyword.operator.period.haskell"},"2":{"name":"keyword.operator.arrow.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#type_variable"},{"include":"#type_signature"}]},"fun_decl":{"begin":"^(\\\\s*)(?<fn>(?:[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*#*|\\\\(\\\\s*(?!--+\\\\))[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),:;\\\\[_`{}]][[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*\\\\s*\\\\))(?:\\\\s*,\\\\s*\\\\g<fn>)?)\\\\s*(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'),;_`}]])(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])","beginCaptures":{"2":{"name":"entity.name.function.haskell","patterns":[{"include":"#reserved_symbol"},{"include":"#prefix_op"}]},"3":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])((<-|\u2190)|(=)|(-<|\u21A2)|(-<<|\u291B))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]]))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.function.type-declaration.haskell","patterns":[{"include":"#type_signature"}]},"gadt_constructor":{"patterns":[{"begin":"^(\\\\s*)(?:\\\\b((?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\)))","beginCaptures":{"2":{"name":"constant.other.haskell"},"3":{"name":"punctuation.paren.haskell"},"4":{"name":"constant.other.operator.haskell"},"5":{"name":"punctuation.paren.haskell"}},"end":"(?=\\\\b(?<!\'\')deriving\\\\b(?!\'))|(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#double_colon"},{"include":"#record_decl"},{"include":"#type_signature"}]},{"begin":"\\\\b((?<!\')[\\\\p{Lu}\\\\p{Lt}][_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*(:[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]*)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"constant.other.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"constant.other.operator.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"$","patterns":[{"include":"#comment_like"},{"include":"#deriving"},{"include":"#double_colon"},{"include":"#record_decl"},{"include":"#type_signature"}]}]},"infix_op":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"keyword.operator.infix.haskell"}},"match":"((?:(?<!\'\')(\'\')?[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))"},{"captures":{"1":{"name":"punctuation.backtick.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"patterns":[{"include":"#data_constructor"}]},"4":{"name":"punctuation.backtick.haskell"}},"match":"(`)((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([_\\\\p{Ll}\\\\p{Lu}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`)","name":"keyword.operator.function.infix.haskell"}]},"inline_phase":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"name":"meta.inlining-phase.haskell","patterns":[{"match":"~","name":"punctuation.tilde.haskell"},{"include":"#integer_literals"},{"match":"\\\\w*","name":"invalid"}]},"integer_literals":{"captures":{"1":{"name":"constant.numeric.integral.decimal.haskell"},"2":{"name":"constant.numeric.integral.hexadecimal.haskell"},"3":{"name":"constant.numeric.integral.octal.haskell"},"4":{"name":"constant.numeric.integral.binary.haskell"}},"match":"\\\\b(?<!\')(?:([0-9][0-9_]*)|(0[Xx]_*\\\\h[_\\\\h]*)|(0[Oo]_*[0-7][0-7_]*)|(0[Bb]_*[01][01_]*))\\\\b(?!\')"},"keyword":{"captures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"name":"keyword.control.$2.haskell"}},"match":"\\\\b(?<!\')(?:(where|let|in|default)|(m?do|if|then|else|case|of|proc|rec))\\\\b(?!\')"},"layout_herald":{"begin":"(?<!\')\\\\b(?:(where|let|m?do)|(of))\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.$1.haskell"},"2":{"name":"keyword.control.of.haskell"},"3":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"$self"},{"match":";","name":"punctuation.semicolon.haskell"}]},"liquid_haskell":{"begin":"\\\\{-@","end":"@-}","name":"block.liquidhaskell.haskell","patterns":[{"include":"$self"}]},"module_exports":{"applyEndPatternLast":1,"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"name":"meta.declaration.exports.haskell","patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.other.module.haskell"}},"match":"\\\\b(?<!\')(module)\\\\b(?!\')"},{"include":"#comma"},{"include":"#export_constructs"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#record_wildcard"},{"include":"#export_constructs"},{"include":"#comma"}]}]},"module_name":{"match":"(?<conid>[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(\\\\.\\\\g<conid>)?)","name":"entity.name.namespace.haskell"},"numeric_literals":{"patterns":[{"include":"#float_literals"},{"include":"#integer_literals"}]},"overloaded_label":{"patterns":[{"captures":{"1":{"name":"keyword.operator.prefix.hash.haskell"},"2":{"patterns":[{"include":"#string_literal"}]}},"match":"(?<![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^(,;\\\\[`{]])(#)(?:(\\"(?:\\\\\\\\\\"|[^\\"])*\\")|[\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]+)","name":"entity.name.label.haskell"}]},"pragma":{"begin":"\\\\{-#","end":"#-}","name":"meta.preprocessor.haskell","patterns":[{"begin":"(?i)\\\\b(?<!\')(LANGUAGE)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"}},"end":"(?=#-})","patterns":[{"match":"(?:No)?(?:AutoDeriveTypeable|DatatypeContexts|DoRec|IncoherentInstances|MonadFailDesugaring|MonoPatBinds|NullaryTypeClasses|OverlappingInstances|PatternSignatures|RecordPuns|RelaxedPolyRec)","name":"invalid.deprecated"},{"captures":{"1":{"name":"keyword.other.preprocessor.extension.haskell"}},"match":"((?:No)?(?:AllowAmbiguousTypes|AlternativeLayoutRule|AlternativeLayoutRuleTransitional|Arrows|BangPatterns|BinaryLiterals|CApiFFI|CPP|CUSKs|ConstrainedClassMethods|ConstraintKinds|DataKinds|DefaultSignatures|DeriveAnyClass|DeriveDataTypeable|DeriveFoldable|DeriveFunctor|DeriveGeneric|DeriveLift|DeriveTraversable|DerivingStrategies|DerivingVia|DisambiguateRecordFields|DoAndIfThenElse|BlockArguments|DuplicateRecordFields|EmptyCase|EmptyDataDecls|EmptyDataDeriving|ExistentialQuantification|ExplicitForAll|ExplicitNamespaces|ExtendedDefaultRules|FlexibleContexts|FlexibleInstances|ForeignFunctionInterface|FunctionalDependencies|GADTSyntax|GADTs|GHCForeignImportPrim|Generali[sz]edNewtypeDeriving|ImplicitParams|ImplicitPrelude|ImportQualifiedPost|ImpredicativeTypes|TypeFamilyDependencies|InstanceSigs|ApplicativeDo|InterruptibleFFI|JavaScriptFFI|KindSignatures|LambdaCase|LiberalTypeSynonyms|MagicHash|MonadComprehensions|MonoLocalBinds|MonomorphismRestriction|MultiParamTypeClasses|MultiWayIf|NumericUnderscores|NPlusKPatterns|NamedFieldPuns|NamedWildCards|NegativeLiterals|HexFloatLiterals|NondecreasingIndentation|NumDecimals|OverloadedLabels|OverloadedLists|OverloadedStrings|PackageImports|ParallelArrays|ParallelListComp|PartialTypeSignatures|PatternGuards|PatternSynonyms|PolyKinds|PolymorphicComponents|QuantifiedConstraints|PostfixOperators|QuasiQuotes|Rank2Types|RankNTypes|RebindableSyntax|RecordWildCards|RecursiveDo|RelaxedLayout|RoleAnnotations|ScopedTypeVariables|StandaloneDeriving|StarIsType|StaticPointers|Strict|StrictData|TemplateHaskell|TemplateHaskellQuotes|StandaloneKindSignatures|TraditionalRecordSyntax|TransformListComp|TupleSections|TypeApplications|TypeInType|TypeFamilies|TypeOperators|TypeSynonymInstances|UnboxedTuples|UnboxedSums|UndecidableInstances|UndecidableSuperClasses|UnicodeSyntax|UnliftedFFITypes|UnliftedNewtypes|ViewPatterns))"},{"include":"#comma"}]},{"begin":"(?i)\\\\b(?<!\')(SPECIALI[SZ]E)(?:\\\\s*(\\\\[[^]\\\\[]*])?\\\\s*|\\\\s+)(instance)\\\\b(?!\')","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"},"2":{"patterns":[{"include":"#inline_phase"}]},"3":{"name":"keyword.other.instance.haskell"}},"end":"(?=#-})","patterns":[{"include":"#type_signature"}]},{"begin":"(?i)\\\\b(?<!\')(SPECIALI[SZ]E)\\\\b(?!\')(?:\\\\s+(INLINE)\\\\b(?!\'))?\\\\s*(\\\\[[^]\\\\[]*])?\\\\s*","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"},"2":{"name":"keyword.other.preprocessor.pragma.haskell"},"3":{"patterns":[{"include":"#inline_phase"}]}},"end":"(?=#-})","patterns":[{"include":"$self"}]},{"match":"(?i)\\\\b(?<!\')(LANGUAGE|OPTIONS_GHC|INCLUDE|MINIMAL|UNPACK|OVERLAPS|INCOHERENT|NOUNPACK|SOURCE|OVERLAPPING|OVERLAPPABLE|INLINE|NOINLINE|INLINE?ABLE|CONLIKE|LINE|COLUMN|RULES|COMPLETE)\\\\b(?!\')","name":"keyword.other.preprocessor.haskell"},{"begin":"(?i)\\\\b(DEPRECATED|WARNING)\\\\b","beginCaptures":{"1":{"name":"keyword.other.preprocessor.pragma.haskell"}},"end":"(?=#-})","patterns":[{"include":"#string_literal"}]}]},"prefix_op":{"patterns":[{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"entity.name.function.infix.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()\\\\s*(?!(?:--+|\\\\.\\\\.)\\\\))(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))\\\\s*(\\\\))"}]},"qualifier":{"match":"\\\\b(?<!\')[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.","name":"entity.name.namespace.haskell"},"quasi_quote":{"patterns":[{"begin":"(\\\\[)([dep])?(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"entity.name.quasi-quoter.haskell"},"3":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\3]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell","patterns":[{"include":"$self"}]},{"begin":"(\\\\[)(t)(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"entity.name.quasi-quoter.haskell"},"3":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\3]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(\\\\[)(?:(\\\\$\\\\$)|(\\\\$))?([\'._[^\\\\s\\\\p{S}\\\\p{P}]]*)(\\\\|\\\\|?)","beginCaptures":{"1":{"name":"keyword.operator.quasi-quotation.begin.haskell"},"2":{"name":"keyword.operator.prefix.double-dollar.haskell"},"3":{"name":"keyword.operator.prefix.dollar.haskell"},"4":{"name":"entity.name.quasi-quoter.haskell","patterns":[{"include":"#qualifier"}]},"5":{"name":"keyword.operator.quasi-quotation.begin.haskell"}},"end":"\\\\5]","endCaptures":{"0":{"name":"keyword.operator.quasi-quotation.end.haskell"}},"name":"meta.quasi-quotation.haskell"}]},"record":{"begin":"(\\\\{)(?!-)","beginCaptures":{"1":{"name":"punctuation.brace.haskell"}},"end":"(?<!-)(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"name":"meta.record.haskell","patterns":[{"include":"#comment_like"},{"include":"#record_field"}]},"record_decl":{"begin":"(\\\\{)(?!-)","beginCaptures":{"1":{"name":"punctuation.brace.haskell"}},"end":"(?<!-)(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"name":"meta.record.definition.haskell","patterns":[{"include":"#comment_like"},{"include":"#record_decl_field"}]},"record_decl_field":{"begin":"([_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"variable.other.member.definition.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"variable.other.member.definition.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.comma.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#comma"},{"include":"#double_colon"},{"include":"#type_signature"},{"include":"#record_decl_field"}]},"record_field":{"patterns":[{"begin":"([_\\\\p{Ll}\\\\p{Lu}][\'._\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)|(\\\\()\\\\s*([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))","beginCaptures":{"1":{"name":"variable.other.member.haskell","patterns":[{"include":"#qualifier"}]},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"variable.other.member.haskell"},"4":{"name":"punctuation.paren.haskell"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.comma.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#comma"},{"include":"$self"}]},{"include":"#record_wildcard"}]},"record_wildcard":{"captures":{"1":{"name":"variable.other.member.wildcard.haskell"}},"match":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(\\\\.\\\\.)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},"reserved_symbol":{"patterns":[{"captures":{"1":{"name":"keyword.operator.double-dot.haskell"},"2":{"name":"keyword.operator.colon.haskell"},"3":{"name":"keyword.operator.eq.haskell"},"4":{"name":"keyword.operator.lambda.haskell"},"5":{"name":"keyword.operator.pipe.haskell"},"6":{"name":"keyword.operator.arrow.left.haskell"},"7":{"name":"keyword.operator.arrow.haskell"},"8":{"name":"keyword.operator.arrow.left.tail.haskell"},"9":{"name":"keyword.operator.arrow.left.tail.double.haskell"},"10":{"name":"keyword.operator.arrow.tail.haskell"},"11":{"name":"keyword.operator.arrow.tail.double.haskell"},"12":{"name":"keyword.other.forall.haskell"}},"match":"(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:(\\\\.\\\\.)|(:)|(=)|(\\\\\\\\)|(\\\\|)|(<-|\u2190)|(->|\u2192)|(-<|\u21A2)|(-<<|\u291B)|(>-|\u291A)|(>>-|\u291C)|(\u2200))(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])"},{"captures":{"1":{"name":"keyword.operator.postfix.hash.haskell"}},"match":"(?<=[[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^#,;\\\\[`{]])(#+)(?![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^]),;`}]])"},{"captures":{"1":{"name":"keyword.operator.infix.tight.at.haskell"}},"match":"(?<=[])_}\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])(@)(?=[(\\\\[_{\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])"},{"captures":{"1":{"name":"keyword.operator.prefix.tilde.haskell"},"2":{"name":"keyword.operator.prefix.bang.haskell"},"3":{"name":"keyword.operator.prefix.minus.haskell"},"4":{"name":"keyword.operator.prefix.dollar.haskell"},"5":{"name":"keyword.operator.prefix.double-dollar.haskell"}},"match":"(?<![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^(,;\\\\[`{]])(?:(~)|(!)|(-)|(\\\\$)|(\\\\$\\\\$))(?=[(\\\\[_{\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])"}]},"role_annotation":{"patterns":[{"begin":"^(\\\\s*)(type)\\\\s+(role)\\\\b(?!\')","beginCaptures":{"2":{"name":"keyword.other.type.haskell"},"3":{"name":"keyword.other.role.haskell"}},"end":"(?=[;}])|^(?!\\\\1\\\\s+\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$))","name":"meta.role-annotation.haskell","patterns":[{"include":"#comment_like"},{"include":"#type_constructor"},{"captures":{"1":{"name":"keyword.other.role.$1.haskell"}},"match":"\\\\b(?<!\')(nominal|representational|phantom)\\\\b(?!\')"}]}]},"start_type_signature":{"patterns":[{"begin":"^(\\\\s*)(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])\\\\s*","beginCaptures":{"2":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=#?\\\\)|[],]|(?<!\')\\\\b(in|then|else|of)\\\\b(?!\')|(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:([\\\\\\\\\u03BB])|(<-|\u2190)|(=)|(-<|\u21A2)|(-<<|\u291B))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]])|([#@])-}|(?=[;}])|^(?!\\\\1\\\\s*\\\\S|\\\\s*(?:$|\\\\{-[^@]|--+(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]).*$)))","name":"meta.type-declaration.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^\\"\'(,;\\\\[_`{]])","beginCaptures":{"1":{"name":"keyword.operator.double-colon.haskell"}},"end":"(?=#?\\\\)|[],]|\\\\b(?<!\')(in|then|else|of)\\\\b(?!\')|([#@])-}|(?<![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])(?:([\\\\\\\\\u03BB])|(<-|\u2190)|(=)|(-<|\u21A2)|(-<<|\u291B))([]\\"\'(),;\\\\[_`{}[^\\\\p{S}\\\\p{P}]])|(?=[;}])|$)","patterns":[{"include":"#type_signature"}]}]},"string_literal":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.haskell"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.haskell"}},"name":"string.quoted.double.haskell","patterns":[{"match":"\\\\\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&\'\\\\\\\\abfnrtv])","name":"constant.character.escape.haskell"},{"match":"\\\\\\\\(?:o[0-7]+|x\\\\h+|[0-9]+)","name":"constant.character.escape.octal.haskell"},{"match":"\\\\\\\\\\\\^[@-_]","name":"constant.character.escape.control.haskell"},{"begin":"\\\\\\\\\\\\s","beginCaptures":{"0":{"name":"constant.character.escape.begin.haskell"}},"end":"\\\\\\\\","endCaptures":{"0":{"name":"constant.character.escape.end.haskell"}},"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.haskell"}]}]},"type_application":{"patterns":[{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(\')?(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"},"2":{"name":"keyword.operator.promotion.haskell"},"3":{"name":"punctuation.paren.haskell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.haskell"}},"name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(\')?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"},"2":{"name":"keyword.operator.promotion.haskell"},"3":{"name":"punctuation.bracket.haskell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.haskell"}},"name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(?=\\")","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"}},"end":"(?<=\\")","name":"meta.type-application.haskell","patterns":[{"include":"#string_literal"}]},{"begin":"(?<=[]\\",;\\\\[{}\\\\s])(@)(?=[\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])","beginCaptures":{"1":{"name":"keyword.operator.prefix.at.haskell"}},"end":"(?![\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])","name":"meta.type-application.haskell","patterns":[{"include":"#type_signature"}]}]},"type_constructor":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"storage.type.haskell"}},"match":"(\')?((?:\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)\\\\b([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"entity.name.namespace.haskell"},"4":{"name":"storage.type.operator.haskell"},"5":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+)\\\\s*(\\\\))"}]},"type_operator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"entity.name.namespace.haskell"},"3":{"name":"storage.type.operator.infix.haskell"}},"match":"(?:(?<!\')(\'))?((?:\\\\b[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)(?![#@]?-})(#+|[[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]]+(?<!#))"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.backtick.haskell"},"3":{"name":"entity.name.namespace.haskell"},"4":{"name":"storage.type.infix.haskell"},"5":{"name":"punctuation.backtick.haskell"}},"match":"(\')?(`)((?:[\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\\\.)*)([\\\\p{Lu}\\\\p{Lt}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(`)"}]},"type_signature":{"patterns":[{"include":"#comment_like"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*(\\\\))","name":"support.constant.unit.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"support.constant.unit.unboxed.haskell"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"},"3":{"name":"punctuation.paren.haskell"}},"match":"(\')?(\\\\()\\\\s*,[,\\\\s]*(\\\\))","name":"support.constant.tuple.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*(#)(\\\\))","name":"support.constant.unit.unboxed.haskell"},{"captures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"},"3":{"name":"keyword.operator.hash.haskell"},"4":{"name":"punctuation.paren.haskell"}},"match":"(\\\\()(#)\\\\s*,[,\\\\s]*(#)(\\\\))","name":"support.constant.tuple.unboxed.haskell"},{"captures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"},"3":{"name":"punctuation.bracket.haskell"}},"match":"(\')?(\\\\[)\\\\s*(])","name":"support.constant.empty-list.haskell"},{"include":"#integer_literals"},{"match":"(::|\u2237)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"\'(),;\\\\[_`{}]])","name":"keyword.operator.double-colon.haskell"},{"include":"#forall"},{"match":"=>|\u21D2","name":"keyword.operator.big-arrow.haskell"},{"include":"#string_literal"},{"match":"\'[^\']\'","name":"invalid"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#type_operator"},{"include":"#type_constructor"},{"begin":"(\\\\()(#)","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(\')?(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(\')?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"include":"#type_variable"}]},"type_variable":{"match":"\\\\b(?<!\')(?!(?:forall|deriving)\\\\b(?!\'))[_\\\\p{Ll}][\'_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"variable.other.generic-type.haskell"},"where":{"patterns":[{"begin":"(?<!\')\\\\b(where)\\\\s*(\\\\{)(?!-)","beginCaptures":{"1":{"name":"keyword.other.where.haskell"},"2":{"name":"punctuation.brace.haskell"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.brace.haskell"}},"patterns":[{"include":"$self"},{"match":";","name":"punctuation.semicolon.haskell"}]},{"match":"\\\\b(?<!\')(where)\\\\b(?!\')","name":"keyword.other.where.haskell"}]}},"scopeName":"source.haskell","aliases":["hs"]}')),sq=[rq]});var qx={};h1(qx,{default:()=>oq});var cq,oq,Ix=s1(()=>{n9();cq=Object.freeze(JSON.parse('{"displayName":"F#","name":"fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"begin":"\\\\b(static\\\\s+)?(abstract)\\\\s+(member)?(\\\\s+\\\\[<.*>])?\\\\s*([,.0-9_`[:alpha:]\\\\s]+)(<)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(with)\\\\b|=|$","endCaptures":{"1":{"name":"keyword.fsharp"}},"name":"abstract.definition.fsharp","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(\\\\??)([ \'.0-9^_`[:alpha:]]+)\\\\s*(:)((?!with\\\\b)\\\\b([ \'.0-9^_`\\\\w]+))?"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"(?!with|get|set\\\\b)\\\\s*([\'.0-9^_`\\\\w]+)"},{"include":"#keywords"}]},"anonymous_functions":{"patterns":[{"begin":"\\\\b(fun)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"(->)","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"name":"function.anonymous","patterns":[{"include":"#comments"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(->))","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#variables"}]}]},"anonymous_record_declaration":{"begin":"(\\\\{\\\\|)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\|})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(:)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]},"attributes":{"patterns":[{"begin":"\\\\[<","end":">?]","name":"support.function.attribute.fsharp","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"captures":{"0":{"name":"keyword.fsharp"}},"match":"\\\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\\\s*\\\\{)","name":"cexpr.fsharp"}]},"chars":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"}},"match":"(\'\\\\\\\\?.\')","name":"char.fsharp"}]},"comments":{"patterns":[{"begin":"^\\\\s*(\\\\(\\\\*\\\\*(?!\\\\)))((?!\\\\*\\\\)).)*$","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"^(?!\\\\s*(\\\\*)+\\\\)\\\\s*$)","whileCaptures":{"1":{"name":"comment.block.fsharp"}}},{"begin":"(\\\\(\\\\*(?!\\\\)))","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"end":"(\\\\*+\\\\))","endCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.fsharp","patterns":[{"comments":"Capture // when inside of (* *) like that the rule which capture comments starting by // is not trigger. See https://github.com/ionide/ionide-fsgrammar/issues/155","match":"//","name":"fast-capture.comment.line.double-slash.fsharp"},{"comments":"Capture (*) when inside of (* *) so that it doesn\'t prematurely end the comment block.","match":"\\\\(\\\\*\\\\)","name":"fast-capture.comment.line.mul-operator.fsharp"},{"include":"#comments"}]},{"captures":{"1":{"name":"comment.block.fsharp"}},"match":"((?<!\\\\()(\\\\*)+\\\\))","name":"comment.block.markdown.fsharp.end"},{"begin":"(?<![!%\\\\&+-/<-@^|])///(?!/)","name":"comment.line.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"(?<![!%\\\\&+-/<-@^|])///(?!/)"},{"match":"(?<![!%\\\\&+-/<-@^|])//(.*)$","name":"comment.line.double-slash.fsharp"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"begin":"(:)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([ \'.0-9?^_`[:alpha:]]*)))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(:)\\\\s*(\\\\^[\'.0-9_[:alpha:]]+)\\\\s*(when)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"end":"(?=:)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9^_[:alpha:]]+)"},{"match":"([()])","name":"keyword.symbol.fsharp"}]},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(:)\\\\s*([ \'.0-9?^_`[:alpha:]]+)(\\\\|\\\\s*(null))?"},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"(->)\\\\s*(\\\\()?\\\\s*([ \'.0-9?^_`[:alpha:]]+)*"},{"begin":"(\\\\*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([ \'.0-9?^_`[:alpha:]]+))*)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(\\\\*)(\\\\s*([ \'.0-9?^_`[:alpha:]]+))*","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"end":"(?==)|(?=\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(<+(?!\\\\s*\\\\)))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"beginComment":"The group (?![[:space:]]*\\\\) is for protection against overload operator. static member (<)","end":"((?<!:)>|\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endComment":"The group (?<!:) prevent us from stopping on :> when using SRTP synthax","patterns":[{"include":"#generic_declaration"}]},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#record_signature"}]},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\\\s*(->)\\\\s*([ \'.0-9^_`[:alpha:]]+)(<)","beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"match":"\\\\s*(->)\\\\s*(?!with|get|set\\\\b)\\\\b([\'.0-9^_`\\\\w]+)"},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\??)([ \'.0-9^_`[:alpha:]]+)\\\\s*(:)(\\\\s*([ \'.0-9?^_`[:alpha:]]+)(<))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]}]},"compiler_directives":{"patterns":[{"captures":{},"match":"\\\\s?(#(?:if|elif|elseif|else|endif|light|nowarn|warnon))","name":"keyword.control.directive.fsharp"}]},"constants":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"match":"\\\\b-?[0-9][0-9_]*((\\\\.(?!\\\\.)([0-9][0-9_]*([Ee][-+]??[0-9][0-9_]*)?)?)|([Ee][-+]??[0-9][0-9_]*))","name":"constant.numeric.float.fsharp"},{"match":"\\\\b(-?((0([Xx])\\\\h[_\\\\h]*)|(0([Oo])[0-7][0-7_]*)|(0([Bb])[01][01_]*)|([0-9][0-9_]*)))","name":"constant.numeric.integer.nativeint.fsharp"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.fsharp"},{"match":"\\\\b(null|void)\\\\b","name":"constant.other.fsharp"}]},"definition":{"patterns":[{"begin":"\\\\b(let mutable|static let mutable|static let|let inline|let|and inline|and|member val|member inline|static member inline|static member val|static member|default|member|override|let!)(\\\\s+rec|mutable)?(\\\\s+\\\\[<.*>])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\s*((with(?: inline|))\\\\b|(=|\\\\n+=|(?<==)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(use!??|and!??)\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"\\\\s*(=)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"(?<=with|and)\\\\s*\\\\b(([gs]et)\\\\s*(?=\\\\())(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"4":{"name":"variable.fsharp"}},"end":"\\\\s*(=|\\\\n+=|(?<==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(static val mutable|val mutable|val inline|val)(\\\\s+rec|mutable)?(\\\\s+\\\\[<.*>])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([,.0-9_[:alpha:]]+)*|``[_[:alpha:]]([,.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\n$","name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(new)\\\\b\\\\s+(\\\\()","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]}]},"double_tick":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}},"match":"(``)([^`]*)(``)","name":"variable.other.binding.fsharp"}]},"du_declaration":{"patterns":[{"begin":"\\\\b(of)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"$|(\\\\|)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"du_declaration.fsharp","patterns":[{"include":"#comments"},{"captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)\\\\s*(:)\\\\s*([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(``([ \'.0-9^_[:alpha:]]+)``|[\'.0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]}]},"generic_declaration":{"patterns":[{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"match":"\\\\b(private|to|public|internal|function|yield!?|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let!|return!?|interface|with|abstract|enum|member|try|finally|and|when|or|use!??|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":":","name":"keyword.symbol.fsharp"},{"include":"#constants"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"include":"#tuple_signature"},{"include":"#generic_declaration"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words are allowed","match":"(?!when|and|or\\\\b)\\\\b([\'.0-9^_`\\\\w]+)"},{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"comments":"Prevent captures of `|>` as a keyword when defining custom operator like `<|>`","match":"(\\\\|)"},{"include":"#keywords"}]},"keywords":{"patterns":[{"match":"\\\\b(private|public|internal)\\\\b","name":"storage.modifier"},{"match":"\\\\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use!??|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":"\\\\b(match|yield!??|with|if|then|else|elif|for|in|return!?|try|finally|while|do)(?!\')\\\\b","name":"keyword.control"},{"match":"(->|<-)","name":"keyword.symbol.arrow.fsharp"},{"match":"[.?]*(&&&|\\\\|\\\\|\\\\||\\\\^\\\\^\\\\^|~~~|~\\\\+|~-|<<<|>>>|\\\\|>|:>|:\\\\?>|[]:;\\\\[]|<>|[=@]|\\\\|\\\\||&&|[%\\\\&_{|}]|\\\\.\\\\.|[!*-\\\\-/>^]|>=|>>|<=??|[()]|<<)[.?]*","name":"keyword.symbol.fsharp"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"match":"([()])","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"},"7":{"name":"entity.name.type.fsharp"}},"match":"(\\\\??)([\'.0-9^_`[:alpha:]]+|``[ \',.0-:^_`[:alpha:]]+``)\\\\s*(:?)(\\\\s*([ \'.0-9<>?_`[:alpha:]]+))?(\\\\|\\\\s*(null))?"},{"include":"#keywords"}]},"modules":{"patterns":[{"begin":"\\\\b(?:(namespace global)|(namespace|module)\\\\s*(public|internal|private|rec)?\\\\s+([`|[:alpha:]][ \'.0-9_[:alpha:]]*))","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s?=|\\\\s|$)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"entity.name.section.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]},{"begin":"\\\\b(open(?: type|))\\\\s+([`|[:alpha:]][\'0-9_[:alpha:]]*)(?=(\\\\.[A-Z][0-9_[:alpha:]]*)*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.open.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)(\\\\p{alpha}[\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"},{"include":"#comments"}]},{"begin":"^\\\\s*(module)\\\\s+([A-Z][\'0-9_[:alpha:]]*)\\\\s*(=)\\\\s*([A-Z][\'0-9_[:alpha:]]*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.alias.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]}]},"record_declaration":{"patterns":[{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(?<=})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\\\s\\\\p{alpha}+)|[\'.0-9<>^_`[:alpha:]]*)\\\\s*((?<!:):(?!:))\\\\s*","beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"end":"$|([;}])","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]}]},"record_signature":{"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(=)([ \'0-9^_`[:alpha:]]+)"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(=)([ \'0-9^_`[:alpha:]]+)"},{"include":"#record_signature"}]},{"include":"#keywords"}]},"records":{"patterns":[{"begin":"\\\\b(type)\\\\s+(private|internal|public)?\\\\s*","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"end":"\\\\s*((with)|((as)\\\\s+([\'0-9[:alpha:]]+))|(=)|[\\\\n=]|(\\\\(\\\\)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"keyword.symbol.fsharp"}},"name":"record.fsharp","patterns":[{"include":"#comments"},{"include":"#attributes"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9^_[:alpha:]]+|``[ \',.0-:^_`[:alpha:]]+``)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"((?<!:)>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])``[ ,.0-:^_`[:alpha:]]+``|([\'^])[.0-:^_`[:alpha:]]+)"},{"match":"\\\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.fsharp"}},"match":"(static member|member|new)"},{"include":"#common_binding_definition"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"([\'.0-9^_`\\\\w]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"storage.modifier.fsharp"}},"match":"\\\\s*(private|internal|public)"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(=)|[\\\\n=]|(\\\\(\\\\))|(as))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#keywords"}]}]},"string_formatter":{"patterns":[{"captures":{"1":{"name":"keyword.format.specifier.fsharp"}},"match":"(%0?-?(\\\\d+)?(([at])|(\\\\.\\\\d+)?([EFGMefg])|([Xbcdiosux])|([Obs])|(\\\\+?A)))","name":"entity.name.type.format.specifier.fsharp"}]},"strings":{"patterns":[{"begin":"(?=[^\\\\\\\\])(@\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")(?!\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.literal.fsharp","patterns":[{"match":"\\"(\\")","name":"constant.character.string.escape.fsharp"}]},{"begin":"(?=[^\\\\\\\\])(\\"\\"\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\"\\"\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.triple.fsharp","patterns":[{"include":"#string_formatter"}]},{"begin":"(?=[^\\\\\\\\])(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.double.fsharp","patterns":[{"match":"\\\\\\\\$[\\\\t ]*","name":"punctuation.separator.string.ignore-eol.fsharp"},{"match":"\\\\\\\\([\\"\'\\\\\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x\\\\h{2})|(u\\\\h{4})|(U00(0\\\\h|10)\\\\h{4}))","name":"constant.character.string.escape.fsharp"},{"match":"\\\\\\\\(([0-9]{1,3})|(x\\\\S{0,2})|(u\\\\S{0,4})|(U\\\\S{0,8})|\\\\S)","name":"invalid.illegal.character.string.fsharp"},{"include":"#string_formatter"}]}]},"strp_inlined":{"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]},{"captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"match":"((?:static |)member)\\\\s*([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)\\\\s*(:)"},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"match":"\\\\\\\\","name":"text.fsharp"}]},"tuple_signature":{"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"include":"#keywords"}]},"variables":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"(\\\\??)(``[ \',.0-:^_`[:alpha:]]+``|(?!private|struct\\\\b)\\\\b[ \'.0-9<>^_`\\\\w[:alpha:]]+)"}]}},"scopeName":"source.fsharp","embeddedLangs":["markdown"],"aliases":["f#","fs"]}')),oq=[...k7,cq]});var Bx={};h1(Bx,{default:()=>pq});var lq,pq,Px=s1(()=>{lq=Object.freeze(JSON.parse('{"displayName":"Visual Basic","name":"vb","patterns":[{"match":"\\\\n","name":"meta.ending-space"},{"include":"#round-brackets"},{"begin":"^(?=\\\\t)","end":"(?=[^\\\\t])","name":"meta.leading-space","patterns":[{"captures":{"1":{"name":"meta.odd-tab.tabs"},"2":{"name":"meta.even-tab.tabs"}},"match":"(\\\\t)(\\\\t)?"}]},{"begin":"^(?= )","end":"(?=[^ ])","name":"meta.leading-space","patterns":[{"captures":{"1":{"name":"meta.odd-tab.spaces"},"2":{"name":"meta.even-tab.spaces"}},"match":"( )( )?"}]},{"captures":{"1":{"name":"storage.type.function.asp"},"2":{"name":"entity.name.function.asp"},"3":{"name":"punctuation.definition.parameters.asp"},"4":{"name":"variable.parameter.function.asp"},"5":{"name":"punctuation.definition.parameters.asp"}},"match":"^\\\\s*((?i:function|sub))\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(\\\\()([^)]*)(\\\\)).*\\\\n?","name":"meta.function.asp"},{"begin":"(^[\\\\t ]+)?(?=\')","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.asp"}},"end":"(?!\\\\G)","patterns":[{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.comment.asp"}},"end":"\\\\n","name":"comment.line.apostrophe.asp"}]},{"match":"(?i:\\\\b(If|Then|Else|ElseIf|Else If|End If|While|Wend|For|To|Each|Case|Select|End Select|Return|Continue|Do|Until|Loop|Next|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf)\\\\b)","name":"keyword.control.asp"},{"match":"(?i:\\\\b(Mod|And|Not|Or|Xor|as)\\\\b)","name":"keyword.operator.asp"},{"captures":{"1":{"name":"storage.type.asp"},"2":{"name":"variable.other.bfeac.asp"},"3":{"name":"meta.separator.comma.asp"}},"match":"(?i:(dim)\\\\s*\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b\\\\s*(,?))","name":"variable.other.dim.asp"},{"match":"(?i:\\\\s*\\\\b(Call|Class|Const|Dim|Redim|Function|Sub|Private Sub|Public Sub|End Sub|End Function|End Class|End Property|Public Property|Private Property|Set|Let|Get|New|Randomize|Option Explicit|On Error Resume Next|On Error GoTo)\\\\b\\\\s*)","name":"storage.type.asp"},{"match":"(?i:\\\\b(Private|Public|Default)\\\\b)","name":"storage.modifier.asp"},{"match":"(?i:\\\\s*\\\\b(Empty|False|Nothing|Null|True)\\\\b)","name":"constant.language.asp"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.asp"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.asp"}},"name":"string.quoted.double.asp","patterns":[{"match":"\\"\\"","name":"constant.character.escape.apostrophe.asp"}]},{"captures":{"1":{"name":"punctuation.definition.variable.asp"}},"match":"(\\\\$)[7A-Z_a-z][0-9A-Z_a-z]*?\\\\b\\\\s*","name":"variable.other.asp"},{"match":"(?i:\\\\b(Application|ObjectContext|Request|Response|Server|Session)\\\\b)","name":"support.class.asp"},{"match":"(?i:\\\\b(Contents|StaticObjects|ClientCertificate|Cookies|Form|QueryString|ServerVariables)\\\\b)","name":"support.class.collection.asp"},{"match":"(?i:\\\\b(TotalBytes|Buffer|CacheControl|Charset|ContentType|Expires|ExpiresAbsolute|IsClientConnected|PICS|Status|ScriptTimeout|CodePage|LCID|SessionID|Timeout)\\\\b)","name":"support.constant.asp"},{"match":"(?i:\\\\b(Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|End|Flush|Redirect|Write|CreateObject|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex)\\\\b)","name":"support.function.asp"},{"match":"(?i:\\\\b(Application_OnEnd|Application_OnStart|OnTransactionAbort|OnTransactionCommit|Session_OnEnd|Session_OnStart)\\\\b)","name":"support.function.event.asp"},{"match":"(?i:(?<=as )\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b)","name":"support.type.vb.asp"},{"match":"(?i:\\\\b(Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CreateObject|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exists|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetObject|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsArray|IsDate|IsEmpty|IsNull|IsNumeric|IsObject|Items??|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|LTrim|RTrim|Trim|Maths|Mid|Minute|Month|MonthName|MsgBox|Now|Oct|Remove|RemoveAll|Replace|RGB|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Split|Sqr|StrComp|String|StrReverse|Tan|Timer??|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year)\\\\b)","name":"support.function.vb.asp"},{"match":"-?\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\\\\b","name":"constant.numeric.asp"},{"match":"(?i:\\\\b(vbtrue|vbfalse|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|int32|vbtab|vbverticaltab|vbbinarycompare|vbtextcomparevbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant|vbDataObject|vbDecimal|vbByte|vbArray)\\\\b)","name":"support.type.vb.asp"},{"captures":{"1":{"name":"entity.name.function.asp"}},"match":"(?i:\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?=\\\\(\\\\)?))","name":"support.function.asp"},{"match":"(?i:((?<=([-\\\\&(+,/<=>\\\\\\\\]))\\\\s*\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?!([(.]))|\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?=\\\\s*([-\\\\&()+/<=>\\\\\\\\]))))","name":"variable.other.asp"},{"match":"[!$%\\\\&*]|--?|\\\\+\\\\+|[+~]|===?|=|!==??|<=|>=|<<=|>>=|>>>=|<>|[!<>]|&&|\\\\|\\\\||\\\\?:|\\\\*=|/=|%=|\\\\+=|-=|&=|\\\\^=|\\\\b(in|instanceof|new|delete|typeof|void)\\\\b","name":"keyword.operator.js"}],"repository":{"round-brackets":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.round-brackets.begin.asp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.round-brackets.end.asp"}},"name":"meta.round-brackets","patterns":[{"include":"source.asp.vb.net"}]}},"scopeName":"source.asp.vb.net"}')),pq=[lq]});var Rx={};h1(Rx,{default:()=>mq});var uq,mq,Dx=s1(()=>{_4();g5();We();me();b5();uq=Object.freeze(JSON.parse('{"displayName":"Perl","name":"perl","patterns":[{"include":"#line_comment"},{"begin":"^(?==[A-Za-z]+)","end":"^(=cut\\\\b.*)$","endCaptures":{"1":{"patterns":[{"include":"#pod"}]}},"name":"comment.block.documentation.perl","patterns":[{"include":"#pod"}]},{"include":"#variable"},{"applyEndPatternLast":1,"begin":"\\\\b(?=qr\\\\s*[^\\\\s\\\\w])","end":"((([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[#),;{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.compile.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(qr)\\\\s*\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.compile.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"(qr)\\\\s*\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.compile.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"(qr)\\\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.compile.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"(qr)\\\\s*\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\)","name":"string.regexp.compile.nested_parens.perl","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[\\\\\\\\{\\\\s\\\\w])"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"(qr)\\\\s*\'","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\'","name":"string.regexp.compile.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"(qr)\\\\s*([^\'(<\\\\[{\\\\s\\\\w])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\2","name":"string.regexp.compile.simple-delimiter.perl","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[{\\\\s\\\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]}]},{"applyEndPatternLast":1,"begin":"(?<![-+{])\\\\b(?=m\\\\s*[^0-9A-Za-z\\\\s])","end":"((([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[#),;{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.find-m.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(m)\\\\s*\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.find-m.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"(m)\\\\s*\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.find-m.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"(m)\\\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.find-m.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"(m)\\\\s*\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\)","name":"string.regexp.find-m.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"(m)\\\\s*\'","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\'","name":"string.regexp.find-m.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\G(?<![-+{])(m)(?!_)\\\\s*([^\'(0-9<A-\\\\[a-{\\\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\2","name":"string.regexp.find-m.simple-delimiter.perl","patterns":[{"match":"\\\\$(?=[^\'(0-9<A-\\\\[a-{\\\\s])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"begin":"\\\\[","beginCaptures":{"1":{"name":"punctuation.definition.character-class.begin.perl"}},"end":"]","endCaptures":{"1":{"name":"punctuation.definition.character-class.end.perl"}},"name":"constant.other.character-class.set.perl","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[{\\\\s\\\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"}]},{"include":"#nested_parens_interpolated"}]}]},{"applyEndPatternLast":1,"begin":"\\\\b(?=(?<!&)(s)(\\\\s+\\\\S|\\\\s*[(),;<\\\\[{}]|$))","end":"((([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[]),;>{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s)\\\\s*\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"}","name":"string.regexp.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces"}]},{"begin":"(s)\\\\s*\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"]","name":"string.regexp.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets"}]},{"begin":"(s)\\\\s*<","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":">","name":"string.regexp.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt"}]},{"begin":"(s)\\\\s*\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"\\\\)","name":"string.regexp.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens"}]},{"begin":"\\\\{","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"}","name":"string.regexp.format.nested_braces.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},{"begin":"\\\\[","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"]","name":"string.regexp.format.nested_brackets.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},{"begin":"<","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":">","name":"string.regexp.format.nested_ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\)","name":"string.regexp.format.nested_parens.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},{"begin":"\'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\'","name":"string.regexp.format.single_quote.perl","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.perl"}]},{"begin":"([^(;<\\\\[{\\\\s\\\\w])","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\1","name":"string.regexp.format.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"match":"\\\\s+"}]},{"begin":"\\\\b(?=s([^(0-9<A-\\\\[a-{\\\\s]).*\\\\1([acdegil-prsux]*)([),;}]|\\\\s+))","end":"((([acdegil-prsux]*)))(?=([),;}]|\\\\s+|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s\\\\s*)([^(0-9<A-\\\\[a-{\\\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"(?=\\\\2)","name":"string.regexp.replaceXXX.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\'","name":"string.regexp.replaceXXX.format.single_quote.perl","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.perl.perl"}]},{"begin":"([^(0-9<A-\\\\[a-{\\\\s])","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\1","name":"string.regexp.replaceXXX.format.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},{"begin":"\\\\b(?=(?<!\\\\\\\\)s\\\\s*([^(<>\\\\[{\\\\s\\\\w]))","end":"((([acdegilmoprsu]*x[acdegilmoprsu]*)))\\\\b","endCaptures":{"1":{"name":"string.regexp.replace.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"begin":"(s)\\\\s*(.)","captures":{"0":{"name":"punctuation.definition.string.perl"},"1":{"name":"support.function.perl"}},"end":"(?=\\\\2)","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\'","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\'(?=[acdegilmoprsu]*x[acdegilmoprsu]*)\\\\b","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"(.)","captures":{"0":{"name":"punctuation.definition.string.perl"}},"end":"\\\\1(?=[acdegilmoprsu]*x[acdegilmoprsu]*)\\\\b","name":"string.regexp.replace.extended.simple_delimiter.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},{"begin":"(?<=[\\\\&({|~]|if|unless|^)\\\\s*((/))","beginCaptures":{"1":{"name":"string.regexp.find.perl"},"2":{"name":"punctuation.definition.string.perl"}},"contentName":"string.regexp.find.perl","end":"((\\\\1([acdegil-prsux]*)))(?=(\\\\s+\\\\S|\\\\s*[#),;{}]|\\\\s*$))","endCaptures":{"1":{"name":"string.regexp.find.perl"},"2":{"name":"punctuation.definition.string.perl"},"3":{"name":"keyword.control.regexp-option.perl"}},"patterns":[{"match":"\\\\$(?=/)","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"}]},{"captures":{"1":{"name":"constant.other.key.perl"}},"match":"\\\\b(\\\\w+)\\\\s*(?==>)"},{"match":"(?<=\\\\{)\\\\s*\\\\w+\\\\s*(?=})","name":"constant.other.bareword.perl"},{"captures":{"1":{"name":"keyword.control.perl"},"2":{"name":"entity.name.type.class.perl"}},"match":"^\\\\s*(package)\\\\s+([^;\\\\s]+)","name":"meta.class.perl"},{"captures":{"1":{"name":"storage.type.sub.perl"},"2":{"name":"entity.name.function.perl"},"3":{"name":"storage.type.method.perl"}},"match":"\\\\b(sub)(?:\\\\s+([-0-9A-Z_a-z]+))?\\\\s*(?:\\\\([$*;@]*\\\\))?[^{\\\\w]","name":"meta.function.perl"},{"captures":{"1":{"name":"entity.name.function.perl"},"2":{"name":"punctuation.definition.parameters.perl"},"3":{"name":"variable.parameter.function.perl"}},"match":"^\\\\s*(BEGIN|UNITCHECK|CHECK|INIT|END|DESTROY)\\\\b","name":"meta.function.perl"},{"begin":"^(?=(\\\\t| {4}))","end":"(?=[^\\\\t\\\\s])","name":"meta.leading-tabs","patterns":[{"captures":{"1":{"name":"meta.odd-tab"},"2":{"name":"meta.even-tab"}},"match":"(\\\\t| {4})(\\\\t| {4})?"}]},{"captures":{"1":{"name":"support.function.perl"},"2":{"name":"punctuation.definition.string.perl"},"5":{"name":"punctuation.definition.string.perl"},"8":{"name":"punctuation.definition.string.perl"}},"match":"\\\\b(tr|y)\\\\s*([^0-9A-Za-z\\\\s])(.*?)(?<!\\\\\\\\)(\\\\\\\\{2})*(\\\\2)(.*?)(?<!\\\\\\\\)(\\\\\\\\{2})*(\\\\2)","name":"string.regexp.replace.perl"},{"match":"\\\\b(__(?:FILE|LINE|PACKAGE|SUB)__)\\\\b","name":"constant.language.perl"},{"begin":"\\\\b(__(?:DATA__|END__))\\\\n?","beginCaptures":{"1":{"name":"constant.language.perl"}},"contentName":"comment.block.documentation.perl","end":"\\\\z","patterns":[{"include":"#pod"}]},{"match":"(?<!->)\\\\b(continue|default|die|do|else|elsif|exit|for|foreach|given|goto|if|last|next|redo|return|select|unless|until|wait|when|while|switch|case|require|use|eval)\\\\b","name":"keyword.control.perl"},{"match":"\\\\b(my|our|local)\\\\b","name":"storage.modifier.perl"},{"match":"(?<!\\\\w)-[ABCMORSTWXb-gklopr-uwxz]\\\\b","name":"keyword.operator.filetest.perl"},{"match":"\\\\b(and|or|xor|as|not)\\\\b","name":"keyword.operator.logical.perl"},{"match":"((?:<=|[-=])>)","name":"keyword.operator.comparison.perl"},{"include":"#heredoc"},{"begin":"\\\\bqq\\\\s*([^(<\\\\[{\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*([^\'(<\\\\[{\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx.single-quote.perl","patterns":[{"include":"#escaped_char"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.double.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqw?\\\\s*([^(<\\\\[{\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q.perl"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.single.perl","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.perl"}]},{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.perl","patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqq\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-paren.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqq\\\\s*\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-brace.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqq\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-bracket.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqq\\\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.qq-ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt_interpolated"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqx\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-paren.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-brace.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-bracket.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets_interpolated"},{"include":"#variable"}]},{"begin":"\\\\bqx\\\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.interpolated.qx-ltgt.perl","patterns":[{"include":"#escaped_char"},{"include":"#nested_ltgt_interpolated"},{"include":"#variable"}]},{"begin":"(?<!->)\\\\bqw?\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-paren.perl","patterns":[{"include":"#nested_parens"}]},{"begin":"\\\\bqw?\\\\s*\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-brace.perl","patterns":[{"include":"#nested_braces"}]},{"begin":"\\\\bqw?\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-bracket.perl","patterns":[{"include":"#nested_brackets"}]},{"begin":"\\\\bqw?\\\\s*<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.other.q-ltgt.perl","patterns":[{"include":"#nested_ltgt"}]},{"begin":"^__\\\\w+__","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"$","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.unquoted.program-block.perl"},{"begin":"\\\\b(format)\\\\s+(\\\\w+)\\\\s*=","beginCaptures":{"1":{"name":"support.function.perl"},"2":{"name":"entity.name.function.format.perl"}},"end":"^\\\\.\\\\s*$","name":"meta.format.perl","patterns":[{"include":"#line_comment"},{"include":"#variable"}]},{"captures":{"1":{"name":"support.function.perl"},"2":{"name":"entity.name.function.perl"}},"match":"\\\\b(x)\\\\s*(\\\\d+)\\\\b"},{"match":"\\\\b(ARGV|DATA|ENV|SIG|STDERR|STDIN|STDOUT|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|cmp|connect|cos|crypt|dbmclose|dbmopen|defined|delete|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eq|eval|exec|exists|exp|fcntl|fileno|flock|fork|formline|ge|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|grep|gt|hex|import|index|int|ioctl|join|keys|kill|lc|lcfirst|le|length|link|listen|local|localtime|log|lstat|lt|m|map|mkdir|msgctl|msgget|msgrcv|msgsnd|ne|no|oct|open|opendir|ord|pack|pipe|pop|pos|printf??|push|quotemeta|rand|read|readdir|readlink|recv|ref|rename|reset|reverse|rewinddir|rindex|rmdir|s|say|scalar|seek|seekdir|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|substr|symlink|syscall|sysopen|sysread|system|syswrite|tell|telldir|tied??|times??|tr|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|utime|values|vec|waitpid|wantarray|warn|write|y)\\\\b","name":"support.function.perl"},{"captures":{"1":{"name":"punctuation.section.scope.begin.perl"},"2":{"name":"punctuation.section.scope.end.perl"}},"match":"(\\\\{)(})"},{"captures":{"1":{"name":"punctuation.section.scope.begin.perl"},"2":{"name":"punctuation.section.scope.end.perl"}},"match":"(\\\\()(\\\\))"}],"repository":{"escaped_char":{"patterns":[{"match":"\\\\\\\\\\\\d+","name":"constant.character.escape.perl"},{"match":"\\\\\\\\c[^\\\\\\\\\\\\s]","name":"constant.character.escape.perl"},{"match":"\\\\\\\\g(?:\\\\{(?:\\\\w*|-\\\\d+)}|\\\\d+)","name":"constant.character.escape.perl"},{"match":"\\\\\\\\k(?:\\\\{\\\\w*}|<\\\\w*>|\'\\\\w*\')","name":"constant.character.escape.perl"},{"match":"\\\\\\\\N\\\\{[^}]*}","name":"constant.character.escape.perl"},{"match":"\\\\\\\\o\\\\{\\\\d*}","name":"constant.character.escape.perl"},{"match":"\\\\\\\\[Pp](?:\\\\{\\\\w*}|P)","name":"constant.character.escape.perl"},{"match":"\\\\\\\\x(?:[0-9A-Za-z]{2}|\\\\{\\\\w*})?","name":"constant.character.escape.perl"},{"match":"\\\\\\\\.","name":"constant.character.escape.perl"}]},"heredoc":{"patterns":[{"begin":"((((<<(~)?) *\')(HTML)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\\\n","name":"text.html.basic","patterns":[{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *\')(XML)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\\\n","name":"text.xml","patterns":[{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *\')(CSS)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\\\n","name":"source.css","patterns":[{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *\')(JAVASCRIPT)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\\\n","name":"source.js","patterns":[{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *\')(SQL)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\\\n","name":"source.sql","patterns":[{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *\')(POSTSCRIPT)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\\\n","name":"source.postscript","patterns":[{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *\')([^\']*)(\')))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}}},{"begin":"((((<<(~)?) *\\\\\\\\)((?![ $(=\\\\d])[^\\"\'),;`\\\\s]*)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.raw.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.raw.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.raw.perl"},"3":{"name":"punctuation.definition.string.end.perl"}}},{"begin":"((((<<(~)?) *\\")(HTML)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\\\n","name":"text.html.basic","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *\\")(XML)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\\\n","name":"text.xml","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *\\")(CSS)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\\\n","name":"source.css","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *\\")(JAVASCRIPT)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\\\n","name":"source.js","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *\\")(SQL)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\\\n","name":"source.sql","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *\\")(POSTSCRIPT)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\\\n","name":"source.postscript","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *\\")([^\\"]*)(\\")))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"((((<<(~)?) *)(HTML)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.html","patterns":[{"begin":"^","end":"\\\\n","name":"text.html.basic","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.html.basic"}]}]},{"begin":"((((<<(~)?) *)(XML)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.xml","patterns":[{"begin":"^","end":"\\\\n","name":"text.xml","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"text.xml"}]}]},{"begin":"((((<<(~)?) *)(CSS)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.css","patterns":[{"begin":"^","end":"\\\\n","name":"source.css","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.css"}]}]},{"begin":"((((<<(~)?) *)(JAVASCRIPT)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.js","patterns":[{"begin":"^","end":"\\\\n","name":"source.js","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.js"}]}]},{"begin":"((((<<(~)?) *)(SQL)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.sql","patterns":[{"begin":"^","end":"\\\\n","name":"source.sql","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.sql"}]}]},{"begin":"((((<<(~)?) *)(POSTSCRIPT)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"name":"meta.embedded.block.postscript","patterns":[{"begin":"^","end":"\\\\n","name":"source.postscript","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"source.postscript"}]}]},{"begin":"((((<<(~)?) *)((?![ $(=\\\\d])[^\\"\'),;`\\\\s]*)()))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.interpolated.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]},{"begin":"((((<<(~)?) *`)([^`]*)(`)))(.*)\\\\n?","beginCaptures":{"1":{"name":"string.unquoted.heredoc.interpolated.perl"},"2":{"name":"punctuation.definition.string.begin.perl"},"3":{"name":"punctuation.definition.delimiter.begin.perl"},"7":{"name":"punctuation.definition.delimiter.end.perl"},"8":{"patterns":[{"include":"$self"}]}},"contentName":"string.unquoted.heredoc.shell.perl","end":"^((?!\\\\5)\\\\s+)?((\\\\6))$","endCaptures":{"2":{"name":"string.unquoted.heredoc.interpolated.perl"},"3":{"name":"punctuation.definition.string.end.perl"}},"patterns":[{"include":"#escaped_char"},{"include":"#variable"}]}]},"line_comment":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.perl"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.perl"}},"end":"\\\\n","name":"comment.line.number-sign.perl"}]}]},"nested_braces":{"begin":"\\\\{","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"}","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces"}]},"nested_braces_interpolated":{"begin":"\\\\{","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"}","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},"nested_brackets":{"begin":"\\\\[","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"]","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets"}]},"nested_brackets_interpolated":{"begin":"\\\\[","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"]","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},"nested_ltgt":{"begin":"<","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":">","patterns":[{"include":"#nested_ltgt"}]},"nested_ltgt_interpolated":{"begin":"<","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":">","patterns":[{"include":"#variable"},{"include":"#nested_ltgt_interpolated"}]},"nested_parens":{"begin":"\\\\(","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"\\\\)","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens"}]},"nested_parens_interpolated":{"begin":"\\\\(","captures":{"1":{"name":"punctuation.section.scope.perl"}},"end":"\\\\)","patterns":[{"match":"\\\\$(?=[^\'(<\\\\[{\\\\s\\\\w])","name":"keyword.control.anchor.perl"},{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},"pod":{"patterns":[{"match":"^=(pod|back|cut)\\\\b","name":"storage.type.class.pod.perl"},{"begin":"^(=begin)\\\\s+(html)\\\\s*$","beginCaptures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl"}},"contentName":"text.embedded.html.basic","end":"^(?:(=end)\\\\s+(html)|(?==cut))","endCaptures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl"}},"name":"meta.embedded.pod.perl","patterns":[{"include":"text.html.basic"}]},{"captures":{"1":{"name":"storage.type.class.pod.perl"},"2":{"name":"variable.other.pod.perl","patterns":[{"include":"#pod-formatting"}]}},"match":"^(=(?:head[1-4]|item|over|encoding|begin|end|for))\\\\b\\\\s*(.*)"},{"include":"#pod-formatting"}]},"pod-formatting":{"patterns":[{"captures":{"1":{"name":"markup.italic.pod.perl"},"2":{"name":"markup.italic.pod.perl"}},"match":"I(?:<([^<>]+)>|<+(\\\\s+(?:(?<!\\\\s)>|[^>])+\\\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.bold.pod.perl"},"2":{"name":"markup.bold.pod.perl"}},"match":"B(?:<([^<>]+)>|<+(\\\\s+(?:(?<!\\\\s)>|[^>])+\\\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.raw.pod.perl"},"2":{"name":"markup.raw.pod.perl"}},"match":"C(?:<([^<>]+)>|<+(\\\\\\\\s+(?:(?<!\\\\\\\\s)>|[^>])+\\\\\\\\s+)>+)","name":"entity.name.type.instance.pod.perl"},{"captures":{"1":{"name":"markup.underline.link.hyperlink.pod.perl"}},"match":"L<([^>]+)>","name":"entity.name.type.instance.pod.perl"},{"match":"[EFSXZ]<[^>]*>","name":"entity.name.type.instance.pod.perl"}]},"variable":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)&(?![0-9A-Z_a-z])","name":"variable.other.regexp.match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)`(?![0-9A-Z_a-z])","name":"variable.other.regexp.pre-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)\'(?![0-9A-Z_a-z])","name":"variable.other.regexp.post-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)\\\\+(?![0-9A-Z_a-z])","name":"variable.other.regexp.last-paren-match.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)\\"(?![0-9A-Z_a-z])","name":"variable.other.readwrite.list-separator.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)0(?![0-9A-Z_a-z])","name":"variable.other.predefined.program-name.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)[!#$%()*,-/:-@\\\\[-_ab|~](?![0-9A-Z_a-z])","name":"variable.other.predefined.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$)[0-9]+(?![0-9A-Z_a-z])","name":"variable.other.subpattern.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"([$%@](#)?)([$7A-Za-z]|::)([$0-9A-Z_a-z]|::)*\\\\b","name":"variable.other.readwrite.global.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"},"2":{"name":"punctuation.definition.variable.perl"}},"match":"(\\\\$\\\\{)(?:[$7A-Za-z]|::)(?:[$0-9A-Z_a-z]|::)*(})","name":"variable.other.readwrite.global.perl"},{"captures":{"1":{"name":"punctuation.definition.variable.perl"}},"match":"([$%@](#)?)[0-9_]\\\\b","name":"variable.other.readwrite.global.special.perl"}]}},"scopeName":"source.perl","embeddedLangs":["html","xml","css","javascript","sql"]}')),mq=[...Y2,...$3,...e2,...L0,...L3,uq]});var Gx={};h1(Gx,{default:()=>hq});var dq,hq,Ox=s1(()=>{dq=Object.freeze(JSON.parse('{"displayName":"Verilog","fileTypes":["v","vh"],"name":"verilog","patterns":[{"include":"#comments"},{"include":"#module_pattern"},{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"},{"include":"#operators"},{"include":"#identifiers"}],"repository":{"comments":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.verilog"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.verilog"}},"end":"\\\\n","name":"comment.line.double-slash.verilog"}]},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.c-style.verilog"}]},"constants":{"patterns":[{"match":"`(?!(celldefine|endcelldefine|default_nettype|define|undef|ifdef|ifndef|else|endif|include|resetall|timescale|unconnected_drive|nounconnected_drive))[A-Z_a-z][$0-9A-Z_a-z]*","name":"variable.other.constant.verilog"},{"match":"[0-9]*\'[BDHObdho][XZ_xz\\\\h]+\\\\b","name":"constant.numeric.sized_integer.verilog"},{"captures":{"1":{"name":"constant.numeric.integer.verilog"},"2":{"name":"punctuation.separator.range.verilog"},"3":{"name":"constant.numeric.integer.verilog"}},"match":"\\\\b(\\\\d+)(:)(\\\\d+)\\\\b","name":"meta.block.numeric.range.verilog"},{"match":"\\\\b\\\\d[_\\\\d]*(?i:e\\\\d+)?\\\\b","name":"constant.numeric.integer.verilog"},{"match":"\\\\b\\\\d+\\\\.\\\\d+(?i:e\\\\d+)?\\\\b","name":"constant.numeric.real.verilog"},{"match":"#\\\\d+","name":"constant.numeric.delay.verilog"},{"match":"\\\\b[01XZxz]+\\\\b","name":"constant.numeric.logic.verilog"}]},"identifiers":{"patterns":[{"match":"(?<![$0-9A-Z_a-z])[A-Z_a-z][$0-9A-Z_a-z]*(?![$0-9A-Z_a-z])","name":"variable.other.identifier.verilog"}]},"instantiation_patterns":{"patterns":[{"include":"#keywords"},{"begin":"^\\\\s*(?!always|and|assign|output|input|inout|wire|module)([A-Z_a-z][$0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][$0-9A-Z_a-z]*)(?<!begin|if)\\\\s*(?=\\\\(|$)","beginCaptures":{"1":{"name":"entity.name.tag.module.reference.verilog"},"2":{"name":"entity.name.tag.module.identifier.verilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.expression.verilog"}},"name":"meta.block.instantiation.parameterless.verilog","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]},{"begin":"^\\\\s*([A-Z_a-z][$0-9A-Z_a-z]*)\\\\s*(#)(?=\\\\s*\\\\()","beginCaptures":{"1":{"name":"entity.name.tag.module.reference.verilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.expression.verilog"}},"name":"meta.block.instantiation.with.parameters.verilog","patterns":[{"include":"#parenthetical_list"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"entity.name.tag.module.identifier.verilog"}]}]},"keywords":{"patterns":[{"match":"\\\\b(always|and|assign|attribute|begin|buf|bufif0|bufif1|case[xz]?|cmos|deassign|default|defparam|disable|edge|else|end(attribute|case|function|generate|module|primitive|specify|table|task)?|event|for|force|forever|fork|function|generate|genvar|highz(01)|if(none)?|initial|inout|input|integer|join|localparam|medium|module|large|macromodule|nand|negedge|nmos|nor|not|notif(01)|or|output|parameter|pmos|posedge|primitive|pull0|pull1|pulldown|pullup|rcmos|real|realtime|reg|release|repeat|rnmos|rpmos|rtran|rtranif(01)|scalared|signed|small|specify|specparam|strength|strong0|strong1|supply0|supply1|table|task|time|tran|tranif(01)|tri(01)?|tri(and|or|reg)|unsigned|vectored|wait|wand|weak(01)|while|wire|wor|xnor|xor)\\\\b","name":"keyword.other.verilog"},{"match":"^\\\\s*`((cell)?define|default_(decay_time|nettype|trireg_strength)|delay_mode_(path|unit|zero)|ifdef|ifndef|include|end(if|celldefine)|else|(no)?unconnected_drive|resetall|timescale|undef)\\\\b","name":"keyword.other.compiler.directive.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(f(open|close)|readmem([bh])|timeformat|printtimescale|stop|finish|(s|real)?time|realtobits|bitstoreal|rtoi|itor|(f)?(display|write([bh])))(?![$0-9A-Z_a-z])","name":"support.function.system.console.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(random|dist_(chi_square|erlang|exponential|normal|poisson|t|uniform))(?![$0-9A-Z_a-z])","name":"support.function.system.random_number.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$((a)?sync\\\\$((n)?and|(n)or)\\\\$(array|plane))(?![$0-9A-Z_a-z])","name":"support.function.system.pld_modeling.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(q_(initialize|add|remove|full|exam))(?![$0-9A-Z_a-z])","name":"support.function.system.stochastic.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(hold|nochange|period|recovery|setup(hold)?|skew|width)(?![$0-9A-Z_a-z])","name":"support.function.system.timing.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(dump(file|vars|off|on|all|limit|flush))(?![$0-9A-Z_a-z])","name":"support.function.system.vcd.tasks.verilog"},{"match":"(?<![$0-9A-Z_a-z])\\\\$(countdrivers|list|input|scope|showscopes|(no)?(key|log)|reset(_(?:count|value))?|(inc)?save|restart|showvars|getpattern|sreadmem([bh])|scale)(?![$0-9A-Z_a-z])","name":"support.function.non-standard.tasks.verilog"}]},"module_pattern":{"patterns":[{"begin":"\\\\b(module)\\\\s+([A-Z_a-z][$0-9A-Z_a-z]*)","beginCaptures":{"1":{"name":"storage.type.module.verilog"},"2":{"name":"entity.name.type.module.verilog"}},"end":"\\\\bendmodule\\\\b","endCaptures":{"0":{"name":"storage.type.module.verilog"}},"name":"meta.block.module.verilog","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"},{"include":"#instantiation_patterns"},{"include":"#operators"},{"include":"#identifiers"}]}]},"operators":{"patterns":[{"match":"[-%*+/]|([<>])=?|([!=])?==?|!|&&?|\\\\|\\\\|?|\\\\^?~|~\\\\^?","name":"keyword.operator.verilog"}]},"parenthetical_list":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.list.verilog"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.list.verilog"}},"name":"meta.block.parenthetical_list.verilog","patterns":[{"include":"#parenthetical_list"},{"include":"#comments"},{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]}]},"strings":{"patterns":[{"begin":"\\"","end":"\\"","name":"string.quoted.double.verilog","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.verilog"}]}]}},"scopeName":"source.verilog"}')),hq=[dq]});var Wx={};h1(Wx,{default:()=>bq});var gq,bq,Ux=s1(()=>{gq=Object.freeze(JSON.parse('{"displayName":"SystemVerilog","fileTypes":["v","vh","sv","svh"],"name":"system-verilog","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#typedef-enum-struct-union"},{"include":"#typedef"},{"include":"#functions"},{"include":"#keywords"},{"include":"#tables"},{"include":"#function-task"},{"include":"#module-declaration"},{"include":"#class-declaration"},{"include":"#enum-struct-union"},{"include":"#sequence"},{"include":"#all-types"},{"include":"#module-parameters"},{"include":"#module-no-parameters"},{"include":"#port-net-parameter"},{"include":"#system-tf"},{"include":"#assertion"},{"include":"#bind-directive"},{"include":"#cast-operator"},{"include":"#storage-scope"},{"include":"#attributes"},{"include":"#imports"},{"include":"#operators"},{"include":"#constants"},{"include":"#identifiers"},{"include":"#selects"}],"repository":{"all-types":{"patterns":[{"include":"#built-ins"},{"include":"#modifiers"}]},"assertion":{"captures":{"1":{"name":"entity.name.goto-label.php"},"2":{"name":"keyword.operator.systemverilog"},"3":{"name":"keyword.sva.systemverilog"}},"match":"\\\\b([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*(assert|assume|cover|restrict)\\\\b"},"attributes":{"begin":"(?<!@[\\\\t\\\\n\\\\r ]?)\\\\(\\\\*","beginCaptures":{"0":{"name":"punctuation.attribute.rounds.begin"}},"end":"\\\\*\\\\)","endCaptures":{"0":{"name":"punctuation.attribute.rounds.end"}},"name":"meta.attribute.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"keyword.operator.assignment.systemverilog"}},"match":"([A-Z_a-z][$0-9A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]*(=)[\\\\t\\\\n\\\\r ]*)?"},{"include":"#constants"},{"include":"#strings"}]},"base-grammar":{"patterns":[{"include":"#all-types"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"captures":{"1":{"name":"storage.type.interface.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]+[A-Z_a-z][\\\\t\\\\n $,0-9=A-Z_a-z]*"},{"include":"#storage-scope"}]},"bind-directive":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(bind)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$.0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","name":"meta.definition.systemverilog"},"built-ins":{"patterns":[{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(bit|logic|reg)\\\\b","name":"storage.type.vector.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(byte|shortint|int|longint|integer|time|genvar)\\\\b","name":"storage.type.atom.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(shortreal|real|realtime)\\\\b","name":"storage.type.notint.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b","name":"storage.type.net.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(genvar|var|void|signed|unsigned|string|const|process)\\\\b","name":"storage.type.built-in.systemverilog"},{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(uvm_(?:root|transaction|component|monitor|driver|test|env|object|agent|sequence_base|sequence_item|sequence_state|sequencer|sequencer_base|sequence|component_registry|analysis_imp|analysis_port|analysis_export|config_db|active_passive_enum|phase|verbosity|tlm_analysis_fifo|tlm_fifo|report_server|objection|recorder|domain|reg_field|reg_block|reg|bitstream_t|radix_enum|printer|packer|comparer|scope_stack))\\\\b","name":"storage.type.uvm.systemverilog"}]},"cast-operator":{"captures":{"1":{"patterns":[{"include":"#built-ins"},{"include":"#constants"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.user-defined.systemverilog"}]},"2":{"name":"keyword.operator.cast.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*([0-9]+|[A-Z_a-z][$0-9A-Z_a-z]*)(\')(?=\\\\()","name":"meta.cast.systemverilog"},"class-declaration":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(virtual[\\\\t\\\\n\\\\r ]+)?(class)(?:[\\\\t\\\\n\\\\r ]+((?:st|autom)atic))?[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-:A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]+(extends|implements)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-:A-Z_a-z]*))?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.class.systemverilog"},"3":{"name":"storage.modifier.systemverilog"},"4":{"name":"entity.name.type.class.systemverilog"},"5":{"name":"keyword.control.systemverilog"},"6":{"name":"entity.name.type.class.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.class.end.systemverilog"}},"name":"meta.class.systemverilog","patterns":[{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"},"3":{"name":"entity.name.type.class.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]+\\\\b(extends|implements)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-:A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]*,[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-:A-Z_a-z]*))*"},{"captures":{"1":{"name":"storage.type.userdefined.systemverilog"},"2":{"name":"keyword.operator.param.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]+(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*(#)\\\\(","name":"meta.typedef.class.systemverilog"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#module-binding"},{"include":"#identifiers"}]},"comments":{"patterns":[{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"name":"comment.block.systemverilog","patterns":[{"include":"#fixme-todo"}]},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.systemverilog"}},"end":"$\\\\n?","name":"comment.line.double-slash.systemverilog","patterns":[{"include":"#fixme-todo"}]}]},"compiler-directives":{"name":"meta.preprocessor.systemverilog","patterns":[{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(else|endif|endcelldefine|celldefine|nounconnected_drive|resetall|undefineall|end_keywords|__FILE__|__LINE__)\\\\b"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"},"3":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)(ifdef|ifndef|elsif|define|undef|pragma)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"match":"(`)(include|timescale|default_nettype|unconnected_drive|line|begin_keywords)\\\\b"},{"begin":"(`)(protected)\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"end":"(`)(endprotected)\\\\b","endCaptures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"string.regexp.systemverilog"}},"name":"meta.crypto.systemverilog"},{"captures":{"1":{"name":"punctuation.definition.directive.systemverilog"},"2":{"name":"variable.other.constant.preprocessor.systemverilog"}},"match":"(`)([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])"}]},"constants":{"patterns":[{"match":"(\\\\b[1-9][0-9_]*)?\'([Ss]?[Bb][\\\\t\\\\n\\\\r ]*[01?XZxz][01?XZ_xz]*|[Ss]?[Oo][\\\\t\\\\n\\\\r ]*[0-7?XZxz][0-7?XZ_xz]*|[Ss]?[Dd][\\\\t\\\\n\\\\r ]*[0-9?XZxz][0-9?XZ_xz]*|[Ss]?[Hh][\\\\t\\\\n\\\\r ]*[?XZxz\\\\h][?XZ_xz\\\\h]*)(([Ee])([-+])?[0-9]+)?(?![\'\\\\w])","name":"constant.numeric.systemverilog"},{"match":"\'[01XZxz]","name":"constant.numeric.bit.systemverilog"},{"match":"\\\\b\\\\d[._\\\\d]*(?<!\\\\.)[Ee][-+]?[0-9]+\\\\b","name":"constant.numeric.exp.systemverilog"},{"match":"\\\\b\\\\d[._\\\\d]*(?![.\\\\d]|[\\\\t\\\\n\\\\r ]*(?:[Ee]|fs|ps|ns|us|ms|s))\\\\b","name":"constant.numeric.decimal.systemverilog"},{"match":"\\\\b\\\\d[.\\\\d]*[\\\\t\\\\n\\\\r ]*(?:[fnpu]|m?)s\\\\b","name":"constant.numeric.time.systemverilog"},{"include":"#compiler-directives"},{"match":"\\\\b(?:this|super|null)\\\\b","name":"constant.language.systemverilog"},{"match":"\\\\b([A-Z][0-9A-Z_]*)\\\\b","name":"constant.other.net.systemverilog"},{"match":"\\\\b(?<!\\\\.)([0-9A-Z_]+)(?!\\\\.)\\\\b","name":"constant.numeric.parameter.uppercase.systemverilog"},{"match":"\\\\.\\\\*","name":"keyword.operator.quantifier.regexp"}]},"enum-struct-union":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(enum|struct|union(?:[\\\\t\\\\n\\\\r ]+tagged)?|class|interface[\\\\t\\\\n\\\\r ]+class)(?:[\\\\t\\\\n\\\\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][$0-9A-Z_a-z]*)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?)?(?:[\\\\t\\\\n\\\\r ]+(packed))?(?:[\\\\t\\\\n\\\\r ]+((?:|un)signed))?(?=[\\\\t\\\\n\\\\r ]*(?:\\\\{|$))","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"patterns":[{"include":"#built-ins"}]},"3":{"patterns":[{"include":"#selects"}]},"4":{"name":"storage.modifier.systemverilog"},"5":{"name":"storage.modifier.systemverilog"}},"end":"(?<=})[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|(?<=^|[\\\\t\\\\n\\\\r ])\\\\\\\\[!-~]+(?=$|[\\\\t\\\\n\\\\r ]))[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*[,;]","endCaptures":{"1":{"patterns":[{"include":"#identifiers"}]},"2":{"patterns":[{"include":"#selects"}]}},"name":"meta.enum-struct-union.systemverilog","patterns":[{"include":"#keywords"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"fixme-todo":{"patterns":[{"match":"(?i:fixme)","name":"invalid.broken.fixme.systemverilog"},{"match":"(?i:todo)","name":"invalid.unimplemented.todo.systemverilog"}]},"function-task":{"begin":"[\\\\t\\\\n\\\\r ]*(?:\\\\b(virtual)[\\\\t\\\\n\\\\r ]+)?\\\\b(function|task)\\\\b(?:[\\\\t\\\\n\\\\r ]+\\\\b((?:st|autom)atic)\\\\b)?","beginCaptures":{"1":{"name":"storage.modifier.systemverilog"},"2":{"name":"storage.type.function.systemverilog"},"3":{"name":"storage.modifier.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.function.end.systemverilog"}},"name":"meta.function.systemverilog","patterns":[{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"},"3":{"patterns":[{"include":"#built-ins"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.user-defined.systemverilog"}]},"4":{"patterns":[{"include":"#modifiers"}]},"5":{"patterns":[{"include":"#selects"}]},"6":{"name":"entity.name.function.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*(?:(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(::))?([A-Z_a-z][$0-9A-Z_a-z]*(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]+)?(?:\\\\b((?:|un)signed)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])[\\\\t\\\\n\\\\r ]*)?(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*(?=[(;])"},{"include":"#keywords"},{"include":"#port-net-parameter"},{"include":"#base-grammar"},{"include":"#identifiers"}]},"functions":{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(?!while|for|iff??|else|casex??|casez)([A-Z_a-z][$0-9A-Z_a-z]*)(?=[\\\\t\\\\n\\\\r ]*\\\\()","name":"entity.name.function.systemverilog"},"identifiers":{"patterns":[{"match":"(?<![$0-9A-Z_a-z])[A-Z_a-z][$0-9A-Z_a-z]*(?![$0-9A-Z_a-z])","name":"variable.other.identifier.systemverilog"},{"match":"(?<=^|[\\\\t\\\\n\\\\r ])\\\\\\\\[!-~]+(?=$|[\\\\t\\\\n\\\\r ])","name":"string.regexp.identifier.systemverilog"}]},"imports":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"support.type.scope.systemverilog"},"3":{"name":"keyword.operator.scope.systemverilog"},"4":{"patterns":[{"include":"#operators"},{"include":"#identifiers"}]}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b((?:im|ex)port)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*|\\\\*)[\\\\t\\\\n\\\\r ]*(::)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|\\\\*)[\\\\t\\\\n\\\\r ]*([,;])","name":"meta.import.systemverilog"},"keywords":{"patterns":[{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(edge|negedge|posedge|cell|config|defparam|design|disable|endgenerate|endspecify|event|generate|ifnone|incdir|instance|liblist|library|noshowcancelled|pulsestyle_onevent|pulsestyle_ondetect|scalared|showcancelled|specify|specparam|use|vectored)\\\\b"},{"include":"#sv-control"},{"include":"#sv-control-begin"},{"include":"#sv-control-end"},{"include":"#sv-definition"},{"include":"#sv-cover-cross"},{"include":"#sv-std"},{"include":"#sv-option"},{"include":"#sv-local"},{"include":"#sv-rand"}]},"modifiers":{"match":"[\\\\t\\\\n\\\\r ]*\\\\b(?:(?:un)?signed|packed|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\\\\b","name":"storage.modifier.systemverilog"},"module-binding":{"begin":"\\\\.([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*\\\\(","beginCaptures":{"1":{"name":"support.function.port.systemverilog"}},"end":"\\\\),?","name":"meta.port.binding.systemverilog","patterns":[{"include":"#constants"},{"include":"#comments"},{"include":"#operators"},{"include":"#strings"},{"include":"#constants"},{"include":"#storage-scope"},{"include":"#cast-operator"},{"include":"#system-tf"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"},{"include":"#identifiers"}]},"module-declaration":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b((?:macro)?module|interface|program|package|modport)[\\\\t\\\\n\\\\r ]+(?:((?:st|autom)atic)[\\\\t\\\\n\\\\r ]+)?([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"storage.modifier.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.module.end.systemverilog"}},"name":"meta.module.systemverilog","patterns":[{"include":"#parameters"},{"include":"#port-net-parameter"},{"include":"#imports"},{"include":"#base-grammar"},{"include":"#system-tf"},{"include":"#identifiers"}]},"module-no-parameters":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(?:(bind|pullup|pulldown)[\\\\t\\\\n\\\\r ]+(?:([A-Z_a-z][$.0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]+)?)?(\\\\b(?:and|nand|or|nor|xor|xnor|buf|not|bufif[01]|notif[01]|r?[cnp]mos|r?tran|r?tranif[01])\\\\b|[A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]+(?!intersect|and|or|throughout|within)([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*(?=\\\\(|$)(?!;)","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"},"4":{"name":"variable.other.module.systemverilog"},"5":{"patterns":[{"include":"#selects"}]}},"end":"\\\\)(?:[\\\\t\\\\n\\\\r ]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.no_parameters.systemverilog","patterns":[{"include":"#module-binding"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])(?=[\\\\t\\\\n\\\\r ]*(\\\\(|$))","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"module-parameters":{"begin":"^[\\\\t ]*\\\\b(?:(bind)[\\\\t ]+([A-Z_a-z][$.0-9A-Z_a-z]*)[\\\\t ]+)?(?!\\\\b(?:intersect|and|or|throughout|within)\\\\b)([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t ]*(?=#[^#]|$)","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.module.systemverilog"},"3":{"name":"entity.name.type.module.systemverilog"}},"end":"\\\\)(?:[\\\\t\\\\n\\\\r ]*(;))?","endCaptures":{"1":{"name":"punctuation.module.instantiation.end.systemverilog"}},"name":"meta.module.parameters.systemverilog","patterns":[{"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])(?=[\\\\t\\\\n\\\\r ]*\\\\()","name":"variable.other.module.systemverilog"},{"include":"#module-binding"},{"include":"#parameters"},{"include":"#comments"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#port-net-parameter"},{"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])(?=[\\\\t\\\\n\\\\r ]*$)","name":"variable.other.module.systemverilog"},{"include":"#identifiers"}]},"operators":{"patterns":[{"match":"\\\\b(?:dist|inside|with|intersect|and|or|throughout|within|first_match)\\\\b|:=|:/|\\\\|->|\\\\|=>|->>|\\\\*>|#-#|#=#|&&&","name":"keyword.operator.logical.systemverilog"},{"match":"@|##?|->|<->","name":"keyword.operator.channel.systemverilog"},{"match":"(?:[-%\\\\&*+/^|]|>>>?|<<<?|<?)=","name":"keyword.operator.assignment.systemverilog"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.systemverilog"},{"match":"--","name":"keyword.operator.decrement.systemverilog"},{"match":"[-+]|\\\\*\\\\*|[%*/]","name":"keyword.operator.arithmetic.systemverilog"},{"match":"!|&&|\\\\|\\\\|","name":"keyword.operator.logical.systemverilog"},{"match":"<<<?|>>>?","name":"keyword.operator.bitwise.shift.systemverilog"},{"match":"~&|~\\\\|?|\\\\^~|~\\\\^|[\\\\&^{|]|\'\\\\{|[:?}]","name":"keyword.operator.bitwise.systemverilog"},{"match":"<=?|>=?|==\\\\?|!=\\\\?|===|!==|==|!=","name":"keyword.operator.comparison.systemverilog"}]},"parameters":{"begin":"[\\\\t\\\\n\\\\r ]*(#)[\\\\t\\\\n\\\\r ]*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.channel.systemverilog"},"2":{"name":"punctuation.section.parameters.begin"}},"end":"(\\\\))[\\\\t\\\\n\\\\r ]*(?=[(;A-Z\\\\\\\\_a-z]|$)","endCaptures":{"1":{"name":"punctuation.section.parameters.end"}},"name":"meta.parameters.systemverilog","patterns":[{"include":"#port-net-parameter"},{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#strings"},{"include":"#system-tf"},{"include":"#functions"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"},{"include":"#module-binding"}]},"port-net-parameter":{"patterns":[{"captures":{"1":{"name":"support.type.direction.systemverilog"},"2":{"name":"storage.type.net.systemverilog"},"3":{"name":"support.type.scope.systemverilog"},"4":{"name":"keyword.operator.scope.systemverilog"},"5":{"patterns":[{"include":"#built-ins"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.user-defined.systemverilog"}]},"6":{"patterns":[{"include":"#modifiers"}]},"7":{"patterns":[{"include":"#selects"}]},"8":{"patterns":[{"include":"#constants"},{"include":"#identifiers"}]},"9":{"patterns":[{"include":"#selects"}]}},"match":",?[\\\\t\\\\n\\\\r ]*(?:\\\\b(output|input|inout|ref)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:\\\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(::))?(?:([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*)?(?:\\\\b((?:|un)signed)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])[\\\\t\\\\n\\\\r ]*)?(?<!(?<!#)[-!%\\\\&(*+/:<-?^|~][\\\\t\\\\n\\\\r ]*)(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*(?=[),/;=]|$)","name":"meta.port-net-parameter.declaration.systemverilog"}]},"selects":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.slice.brackets.begin"}},"end":"]","endCaptures":{"0":{"name":"punctuation.slice.brackets.end"}},"name":"meta.brackets.select.systemverilog","patterns":[{"match":"\\\\$(?![a-z])","name":"constant.language.systemverilog"},{"include":"#system-tf"},{"include":"#constants"},{"include":"#operators"},{"include":"#cast-operator"},{"include":"#storage-scope"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"variable.other.identifier.systemverilog"}]},"sequence":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.function.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(sequence)[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","name":"meta.sequence.systemverilog"},"storage-scope":{"captures":{"1":{"name":"support.type.scope.systemverilog"},"2":{"name":"keyword.operator.scope.systemverilog"}},"match":"(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(::)","name":"meta.scope.systemverilog"},"strings":{"patterns":[{"begin":"`?\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":"\\"`?","endCaptures":{"0":{"name":"punctuation.definition.string.end.systemverilog"}},"name":"string.quoted.double.systemverilog","patterns":[{"match":"\\\\\\\\(?:[\\"\\\\\\\\afntv]|[0-7]{3}|x\\\\h{2})","name":"constant.character.escape.systemverilog"},{"match":"%(\\\\d+\\\\$)?[- #\'+0]*[,:;_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh?|ll|[Ljltz])?[%B-HLMOPS-VXZb-hlmops-vxz]","name":"constant.character.format.placeholder.systemverilog"},{"match":"%","name":"invalid.illegal.placeholder.systemverilog"},{"include":"#fixme-todo"}]},{"begin":"(?<=include)[\\\\t\\\\n\\\\r ]*(<)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.systemverilog"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.systemverilog"}},"name":"string.quoted.other.lt-gt.include.systemverilog"}]},"sv-control":{"captures":{"1":{"name":"keyword.control.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|iff??|else|casex??|casez|default|endcase|return|break|continue|do|foreach|clocking|coverpoint|property|bins|binsof|illegal_bins|ignore_bins|randcase|matches|solve|before|expect|cross|ref|srandom|struct|chandle|tagged|extern|throughout|timeprecision|timeunit|priority|type|union|wait_order|triggered|randsequence|context|pure|wildcard|new|forkjoin|unique0??|priority)\\\\b"},"sv-control-begin":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"punctuation.definition.label.systemverilog"},"3":{"name":"entity.name.section.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(begin|fork)\\\\b(?:[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*))?","name":"meta.item.begin.systemverilog"},"sv-control-end":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"punctuation.definition.label.systemverilog"},"3":{"name":"entity.name.section.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\\\b(?:[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*))?","name":"meta.item.end.systemverilog"},"sv-cover-cross":{"captures":{"2":{"name":"entity.name.type.class.systemverilog"},"3":{"name":"keyword.operator.other.systemverilog"},"4":{"name":"keyword.control.systemverilog"}},"match":"(([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(:))?[\\\\t\\\\n\\\\r ]*(c(?:overpoint|ross))[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)","name":"meta.definition.systemverilog"},"sv-definition":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(primitive|package|constraint|interface|covergroup|program)[\\\\t\\\\n\\\\r ]+(?<![$0-9A-Z_a-z])([A-Z_a-z][$0-9A-Z_a-z]*)(?![$0-9A-Z_a-z])","name":"meta.definition.systemverilog"},"sv-local":{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(const|static|protected|virtual|localparam|parameter|local)\\\\b"},"sv-option":{"captures":{"1":{"name":"keyword.cover.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(option)\\\\."},"sv-rand":{"match":"[\\\\t\\\\n\\\\r ]*\\\\brandc??\\\\b","name":"storage.type.rand.systemverilog"},"sv-std":{"match":"\\\\b(std)\\\\b::","name":"support.class.systemverilog"},"system-tf":{"match":"(?<![$0-9A-Z_a-z])\\\\$[$0-9A-Z_a-z]+(?![$0-9A-Z_a-z])","name":"support.function.systemverilog"},"tables":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(table)\\\\b","beginCaptures":{"1":{"name":"keyword.table.systemverilog.begin"}},"end":"[\\\\t\\\\n\\\\r ]*\\\\b(endtable)\\\\b","endCaptures":{"1":{"name":"keyword.table.systemverilog.end"}},"name":"meta.table.systemverilog","patterns":[{"include":"#comments"},{"match":"\\\\b[01BFNPRXbfnprx]\\\\b","name":"constant.language.systemverilog"},{"match":"[-*?]","name":"constant.language.systemverilog"},{"captures":{"1":{"name":"constant.language.systemverilog"}},"match":"\\\\(([01?Xx]{2})\\\\)"},{"match":":","name":"punctuation.definition.label.systemverilog"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]},"typedef":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(typedef)[\\\\t\\\\n\\\\r ]+(?:([A-Z_a-z][$0-9A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]+\\\\b((?:|un)signed)\\\\b)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?)?(?=[\\\\t\\\\n\\\\r ]*[A-Z\\\\\\\\_a-z])","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"patterns":[{"include":"#built-ins"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"}]},"3":{"patterns":[{"include":"#modifiers"}]},"4":{"patterns":[{"include":"#selects"}]}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.typedef.end.systemverilog"}},"name":"meta.typedef.systemverilog","patterns":[{"include":"#identifiers"},{"include":"#selects"}]},"typedef-enum-struct-union":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(typedef)[\\\\t\\\\n\\\\r ]+(enum|struct|union(?:[\\\\t\\\\n\\\\r ]+tagged)?|class|interface[\\\\t\\\\n\\\\r ]+class)(?:[\\\\t\\\\n\\\\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][$0-9A-Z_a-z]*)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?)?(?:[\\\\t\\\\n\\\\r ]+(packed))?(?:[\\\\t\\\\n\\\\r ]+((?:|un)signed))?(?=[\\\\t\\\\n\\\\r ]*(?:\\\\{|$))","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"keyword.control.systemverilog"},"3":{"patterns":[{"include":"#built-ins"}]},"4":{"patterns":[{"include":"#selects"}]},"5":{"name":"storage.modifier.systemverilog"},"6":{"name":"storage.modifier.systemverilog"}},"end":"(?<=})[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|(?<=^|[\\\\t\\\\n\\\\r ])\\\\\\\\[!-~]+(?=$|[\\\\t\\\\n\\\\r ]))[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%\'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*[,;]","endCaptures":{"1":{"name":"storage.type.systemverilog"},"2":{"patterns":[{"include":"#selects"}]}},"name":"meta.typedef-enum-struct-union.systemverilog","patterns":[{"include":"#port-net-parameter"},{"include":"#keywords"},{"include":"#base-grammar"},{"include":"#identifiers"}]}},"scopeName":"source.systemverilog"}')),bq=[gq]});var Xx={};h1(Xx,{default:()=>vq});var fq,vq,Kx=s1(()=>{fq=Object.freeze(JSON.parse('{"displayName":"Protocol Buffer 3","fileTypes":["proto"],"name":"proto","patterns":[{"include":"#comments"},{"include":"#syntax"},{"include":"#package"},{"include":"#import"},{"include":"#optionStmt"},{"include":"#message"},{"include":"#enum"},{"include":"#service"}],"repository":{"comments":{"patterns":[{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.proto"},{"begin":"//","end":"$\\\\n?","name":"comment.line.double-slash.proto"}]},"constants":{"match":"\\\\b(true|false|max|[A-Z_]+)\\\\b","name":"constant.language.proto"},"enum":{"begin":"(enum)(\\\\s+)([A-Za-z][0-9A-Z_a-z]*)(\\\\s*)(\\\\{)?","beginCaptures":{"1":{"name":"keyword.other.proto"},"3":{"name":"entity.name.class.proto"}},"end":"}","patterns":[{"include":"#reserved"},{"include":"#optionStmt"},{"include":"#comments"},{"begin":"([A-Za-z][0-9A-Z_a-z]*)\\\\s*(=)\\\\s*(-?0[Xx]\\\\h+|-?[0-9]+)","beginCaptures":{"1":{"name":"variable.other.proto"},"2":{"name":"keyword.operator.assignment.proto"},"3":{"name":"constant.numeric.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#fieldOptions"}]}]},"field":{"begin":"\\\\s*(optional|repeated|required)?\\\\s*(\\\\.?[.\\\\w]+)\\\\s+(\\\\w+)\\\\s*(=)\\\\s*(0[Xx]\\\\h+|[0-9]+)","beginCaptures":{"1":{"name":"storage.modifier.proto"},"2":{"name":"storage.type.proto"},"3":{"name":"variable.other.proto"},"4":{"name":"keyword.operator.assignment.proto"},"5":{"name":"constant.numeric.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#fieldOptions"}]},"fieldOptions":{"begin":"\\\\[","end":"]","patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"},{"include":"#optionName"}]},"ident":{"match":"\\\\.?[A-Za-z][.0-9A-Z_a-z]*","name":"entity.name.class.proto"},"import":{"captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"keyword.other.proto"},"3":{"name":"string.quoted.double.proto.import"},"4":{"name":"punctuation.terminator.proto"}},"match":"\\\\s*(import)\\\\s+(weak|public)?\\\\s*(\\"[^\\"]+\\")\\\\s*(;)"},"kv":{"begin":"(\\\\w+)\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"punctuation.separator.key-value.proto"}},"end":"(;)|,|(?=[/A-Z_a-z}])","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"}]},"mapfield":{"begin":"\\\\s*(map)\\\\s*(<)\\\\s*(\\\\.?[.\\\\w]+)\\\\s*,\\\\s*(\\\\.?[.\\\\w]+)\\\\s*(>)\\\\s+(\\\\w+)\\\\s*(=)\\\\s*(\\\\d+)","beginCaptures":{"1":{"name":"storage.type.proto"},"2":{"name":"punctuation.definition.typeparameters.begin.proto"},"3":{"name":"storage.type.proto"},"4":{"name":"storage.type.proto"},"5":{"name":"punctuation.definition.typeparameters.end.proto"},"6":{"name":"variable.other.proto"},"7":{"name":"keyword.operator.assignment.proto"},"8":{"name":"constant.numeric.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#fieldOptions"}]},"message":{"begin":"(message|extend)(\\\\s+)([A-Z_a-z][.0-9A-Z_a-z]*)(\\\\s*)(\\\\{)?","beginCaptures":{"1":{"name":"keyword.other.proto"},"3":{"name":"entity.name.class.message.proto"}},"end":"}","patterns":[{"include":"#reserved"},{"include":"$self"},{"include":"#enum"},{"include":"#optionStmt"},{"include":"#comments"},{"include":"#oneof"},{"include":"#field"},{"include":"#mapfield"}]},"method":{"begin":"(rpc)\\\\s+([A-Za-z][0-9A-Z_a-z]*)","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"entity.name.function"}},"end":"}|(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#comments"},{"include":"#optionStmt"},{"include":"#rpcKeywords"},{"include":"#ident"}]},"number":{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)\\\\b","name":"constant.numeric.proto"},"oneof":{"begin":"(oneof)\\\\s+([A-Za-z][0-9A-Z_a-z]*)\\\\s*\\\\{?","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"variable.other.proto"}},"end":"}","patterns":[{"include":"#optionStmt"},{"include":"#comments"},{"include":"#field"}]},"optionName":{"captures":{"1":{"name":"support.other.proto"},"2":{"name":"support.other.proto"},"3":{"name":"support.other.proto"}},"match":"(\\\\w+|\\\\(\\\\w+(\\\\.\\\\w+)*\\\\))(\\\\.\\\\w+)*"},"optionStmt":{"begin":"(option)\\\\s+(\\\\w+|\\\\(\\\\w+(\\\\.\\\\w+)*\\\\))(\\\\.\\\\w+)*\\\\s*(=)","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"support.other.proto"},"3":{"name":"support.other.proto"},"4":{"name":"support.other.proto"},"5":{"name":"keyword.operator.assignment.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"}]},"package":{"captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"string.unquoted.proto.package"},"3":{"name":"punctuation.terminator.proto"}},"match":"\\\\s*(package)\\\\s+([.\\\\w]+)\\\\s*(;)"},"reserved":{"begin":"(reserved)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"captures":{"1":{"name":"constant.numeric.proto"},"3":{"name":"keyword.other.proto"},"4":{"name":"constant.numeric.proto"}},"match":"(\\\\d+)(\\\\s+(to)\\\\s+(\\\\d+))?"},{"include":"#string"}]},"rpcKeywords":{"match":"\\\\b(stream|returns)\\\\b","name":"keyword.other.proto"},"service":{"begin":"(service)\\\\s+([A-Za-z][.0-9A-Z_a-z]*)\\\\s*\\\\{?","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"entity.name.class.message.proto"}},"end":"}","patterns":[{"include":"#comments"},{"include":"#optionStmt"},{"include":"#method"}]},"storagetypes":{"match":"\\\\b(double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\\\\b","name":"storage.type.proto"},"string":{"match":"([\\"\'])(?:\\\\\\\\.|[^\\\\\\\\])*?\\\\1","name":"string.quoted.double.proto"},"subMsgOption":{"begin":"\\\\{","end":"}","patterns":[{"include":"#kv"},{"include":"#comments"}]},"syntax":{"captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"keyword.operator.assignment.proto"},"3":{"name":"string.quoted.double.proto.syntax"},"4":{"name":"punctuation.terminator.proto"}},"match":"\\\\s*(syntax)\\\\s*(=)\\\\s*(\\"proto[23]\\")\\\\s*(;)"}},"scopeName":"source.proto","aliases":["protobuf"]}')),vq=[fq]});var Yx={};h1(Yx,{default:()=>_q});var yq,_q,Jx=s1(()=>{yq=Object.freeze(JSON.parse('{"displayName":"HashiCorp HCL","fileTypes":["hcl"],"name":"hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\\\.(?!\\\\*)","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"end":"\\\\p{alpha}[-\\\\w]*|\\\\d*","endCaptures":{"0":{"patterns":[{"match":"(?!null|false|true)\\\\p{alpha}[-\\\\w]*","name":"variable.other.member.hcl"},{"match":"\\\\d+","name":"constant.numeric.integer.hcl"}]}}},"attribute_definition":{"captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}},"match":"(\\\\()?\\\\b((?!(?:null|false|true)\\\\b)\\\\p{alpha}[-_[:alnum:]]*)(\\\\))?\\\\s*(=(?![=>]))\\\\s*","name":"variable.declaration.hcl"},"attribute_splat":{"begin":"\\\\.","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"end":"\\\\*","endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"begin":"(\\\\w[-\\\\w]*)(([^\\\\n\\\\r\\\\S]+(\\\\w[-_\\\\w]*|\\"[^\\\\n\\\\r\\"]*\\"))*)[^\\\\n\\\\r\\\\S]*(\\\\{)","beginCaptures":{"1":{"patterns":[{"match":"\\\\b(?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*\\\\b","name":"entity.name.type.hcl"}]},"2":{"patterns":[{"match":"\\"[^\\\\n\\\\r\\"]*\\"","name":"variable.other.enummember.hcl"},{"match":"\\\\p{alpha}[-_[:alnum:]]*","name":"variable.other.enummember.hcl"}]},"5":{"name":"punctuation.section.block.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}},"name":"meta.block.hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#expressions"},{"include":"#block"}]},"block_inline_comments":{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"\\\\*/","name":"comment.block.hcl"},"brackets":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}},"patterns":[{"match":"\\\\*","name":"keyword.operator.splat.hcl"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}]},"char_escapes":{"match":"\\\\\\\\(?:[\\"\\\\\\\\nrt]|u(\\\\h{8}|\\\\h{4}))","name":"constant.character.escape.hcl"},"comma":{"match":",","name":"punctuation.separator.hcl"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"begin":"//","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"$\\\\n?","name":"comment.line.double-slash.hcl"},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"match":"\\\\bin\\\\b","name":"keyword.operator.word.hcl"},{"match":"\\\\bif\\\\b","name":"keyword.control.conditional.hcl"},{"match":":","name":"keyword.operator.hcl"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"begin":"([-:\\\\w]+)(\\\\()","beginCaptures":{"1":{"patterns":[{"match":"\\\\b\\\\p{alpha}[-_\\\\w]*::(\\\\p{alpha}[-_\\\\w]*::)?\\\\p{alpha}[-_\\\\w]*\\\\b","name":"support.function.namespaced.hcl"},{"match":"\\\\b\\\\p{alpha}[-_\\\\w]*\\\\b","name":"support.function.builtin.hcl"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}},"name":"meta.function-call.hcl","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}]},"hash_line_comments":{"begin":"#","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"$\\\\n?","name":"comment.line.number-sign.hcl"},"hcl_type_keywords":{"match":"\\\\b(any|string|number|bool|list|set|map|tuple|object)\\\\b","name":"storage.type.hcl"},"heredoc":{"begin":"(<<-?)\\\\s*(\\\\w+)\\\\s*$","beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"end":"^\\\\s*\\\\2\\\\s*$","endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}},"name":"string.unquoted.heredoc.hcl","patterns":[{"include":"#string_interpolation"}]},"inline_for_expression":{"captures":{"1":{"name":"keyword.control.hcl"},"2":{"patterns":[{"match":"=>","name":"storage.type.function.hcl"},{"include":"#for_expression_body"}]}},"match":"(for)\\\\b(.*)\\\\n"},"inline_if_expression":{"begin":"(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}},"end":"\\\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"language_constants":{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.hcl"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"}]},"local_identifiers":{"match":"\\\\b(?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*\\\\b","name":"variable.other.readwrite.hcl"},"numeric_literals":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.exponent.hcl"}},"match":"\\\\b\\\\d+([Ee][-+]?)\\\\d+\\\\b","name":"constant.numeric.float.hcl"},{"captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}},"match":"\\\\b\\\\d+(\\\\.)\\\\d+(?:([Ee][-+]?)\\\\d+)?\\\\b","name":"constant.numeric.float.hcl"},{"match":"\\\\b\\\\d+\\\\b","name":"constant.numeric.integer.hcl"}]},"object_for_expression":{"begin":"(\\\\{)\\\\s?(for)\\\\b","beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}},"patterns":[{"match":"=>","name":"storage.type.function.hcl"},{"include":"#for_expression_body"}]},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}},"name":"meta.braces.hcl","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl"}},"match":"\\\\b((?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*)\\\\s*(=(?!=))\\\\s*"},{"captures":{"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}},"match":"^\\\\s*((\\").*(\\"))\\\\s*(=)\\\\s*"},{"begin":"^\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"end":"(\\\\))\\\\s*([:=])\\\\s*","endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}},"name":"meta.mapping.key.hcl","patterns":[{"include":"#attribute_access"},{"include":"#attribute_splat"}]},{"include":"#object_key_values"}]},"operators":{"patterns":[{"match":">=","name":"keyword.operator.hcl"},{"match":"<=","name":"keyword.operator.hcl"},{"match":"==","name":"keyword.operator.hcl"},{"match":"!=","name":"keyword.operator.hcl"},{"match":"\\\\+","name":"keyword.operator.arithmetic.hcl"},{"match":"-","name":"keyword.operator.arithmetic.hcl"},{"match":"\\\\*","name":"keyword.operator.arithmetic.hcl"},{"match":"/","name":"keyword.operator.arithmetic.hcl"},{"match":"%","name":"keyword.operator.arithmetic.hcl"},{"match":"&&","name":"keyword.operator.logical.hcl"},{"match":"\\\\|\\\\|","name":"keyword.operator.logical.hcl"},{"match":"!","name":"keyword.operator.logical.hcl"},{"match":">","name":"keyword.operator.hcl"},{"match":"<","name":"keyword.operator.hcl"},{"match":"\\\\?","name":"keyword.operator.hcl"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.hcl"},{"match":":","name":"keyword.operator.hcl"},{"match":"=>","name":"keyword.operator.hcl"}]},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}},"patterns":[{"include":"#comments"},{"include":"#expressions"}]},"string_interpolation":{"begin":"(?<![$%])([$%]\\\\{)","beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}},"name":"meta.interpolation.hcl","patterns":[{"match":"~\\\\s","name":"keyword.operator.template.left.trim.hcl"},{"match":"\\\\s~","name":"keyword.operator.template.right.trim.hcl"},{"match":"\\\\b(if|else|endif|for|in|endfor)\\\\b","name":"keyword.control.hcl"},{"include":"#expressions"},{"include":"#local_identifiers"}]},"string_literals":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}},"name":"string.quoted.double.hcl","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}]},"tuple_for_expression":{"begin":"(\\\\[)\\\\s?(for)\\\\b","beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}},"patterns":[{"include":"#for_expression_body"}]}},"scopeName":"source.hcl"}')),_q=[yq]});var wq,Qx,ek=s1(()=>{wq=Object.freeze(JSON.parse('{"fileTypes":[],"injectTo":["text.html.markdown"],"injectionSelector":"L:text.html.markdown","name":"markdown-nix","patterns":[{"include":"#nix-code-block"}],"repository":{"nix-code-block":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(nix)(\\\\s+[^`~]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"5":{"name":"fenced_code.block.language"},"6":{"name":"fenced_code.block.language.attributes"}},"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.nix","patterns":[{"include":"source.nix"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]}},"scopeName":"markdown.nix.codeblock"}')),Qx=[wq]});var tk={};h1(tk,{default:()=>kq});var xq,kq,nk=s1(()=>{ek();xq=Object.freeze(JSON.parse('{"displayName":"Nix","fileTypes":["nix"],"name":"nix","patterns":[{"include":"#expression"}],"repository":{"attribute-bind":{"patterns":[{"include":"#attribute-name"},{"include":"#attribute-bind-from-equals"}]},"attribute-bind-from-equals":{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.bind.nix"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.bind.nix"}},"patterns":[{"include":"#expression"}]},"attribute-inherit":{"begin":"\\\\binherit\\\\b","beginCaptures":{"0":{"name":"keyword.other.inherit.nix"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.inherit.nix"}},"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.function.arguments.nix"}},"end":"(?=;)","patterns":[{"begin":"\\\\)","beginCaptures":{"0":{"name":"punctuation.section.function.arguments.nix"}},"end":"(?=;)","patterns":[{"include":"#bad-reserved"},{"include":"#attribute-name-single"},{"include":"#others"}]},{"include":"#expression"}]},{"begin":"(?=[A-Z_a-z])","end":"(?=;)","patterns":[{"include":"#bad-reserved"},{"include":"#attribute-name-single"},{"include":"#others"}]},{"include":"#others"}]},"attribute-name":{"patterns":[{"match":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","name":"entity.other.attribute-name.multipart.nix"},{"match":"\\\\."},{"include":"#string-quoted"},{"include":"#interpolation"}]},"attribute-name-single":{"match":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","name":"entity.other.attribute-name.single.nix"},"attrset-contents":{"patterns":[{"include":"#attribute-inherit"},{"include":"#bad-reserved"},{"include":"#attribute-bind"},{"include":"#others"}]},"attrset-definition":{"begin":"(?=\\\\{)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}},"end":"(})","endCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}},"patterns":[{"include":"#attrset-contents"}]},{"begin":"(?<=})","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]}]},"attrset-definition-brace-opened":{"patterns":[{"begin":"(?<=})","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"(?=.?)","end":"}","endCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}},"patterns":[{"include":"#attrset-contents"}]}]},"attrset-for-sure":{"patterns":[{"begin":"(?=\\\\brec\\\\b)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\brec\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=\\\\{)","patterns":[{"include":"#others"}]},{"include":"#attrset-definition"},{"include":"#others"}]},{"begin":"(?=\\\\{\\\\s*(}|[^,?]*([;=])))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attrset-definition"},{"include":"#others"}]}]},"attrset-or-function":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.attrset-or-function.nix"}},"end":"(?=([]);}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"(?=(\\\\s*}|\\"|\\\\binherit\\\\b|\\\\$\\\\{|\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*(\\\\s*\\\\.|\\\\s*=[^=])))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attrset-definition-brace-opened"}]},{"begin":"(?=(\\\\.\\\\.\\\\.|\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*\\\\s*[,?]))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition-brace-opened"}]},{"include":"#bad-reserved"},{"begin":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"variable.parameter.function.maybe.nix"}},"end":"(?=([]);}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"(?=\\\\.)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attrset-definition-brace-opened"}]},{"begin":"\\\\s*(,)","beginCaptures":{"1":{"name":"keyword.operator.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition-brace-opened"}]},{"begin":"(?==)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#attribute-bind-from-equals"},{"include":"#attrset-definition-brace-opened"}]},{"begin":"(?=\\\\?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-parameter-default"},{"begin":",","beginCaptures":{"0":{"name":"keyword.operator.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition-brace-opened"}]}]},{"include":"#others"}]},{"include":"#others"}]},"bad-reserved":{"match":"(?<![-\'\\\\w])(if|then|else|assert|with|let|in|rec|inherit)(?![-\'\\\\w])","name":"invalid.illegal.reserved.nix"},"comment":{"patterns":[{"begin":"/\\\\*([^*]|\\\\*[^/])*","end":"\\\\*/","name":"comment.block.nix"},{"begin":"#","end":"$","name":"comment.line.number-sign.nix"}]},"constants":{"patterns":[{"begin":"\\\\b(builtins|true|false|null)\\\\b","beginCaptures":{"0":{"name":"constant.language.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"\\\\b(scopedImport|import|isNull|abort|throw|baseNameOf|dirOf|removeAttrs|map|toString|derivationStrict|derivation)\\\\b","beginCaptures":{"0":{"name":"support.function.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"\\\\b[0-9]+\\\\b","beginCaptures":{"0":{"name":"constant.numeric.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]}]},"expression":{"patterns":[{"include":"#parens-and-cont"},{"include":"#list-and-cont"},{"include":"#string"},{"include":"#interpolation"},{"include":"#with-assert"},{"include":"#function-for-sure"},{"include":"#attrset-for-sure"},{"include":"#attrset-or-function"},{"include":"#let"},{"include":"#if"},{"include":"#operator-unary"},{"include":"#operator-binary"},{"include":"#constants"},{"include":"#bad-reserved"},{"include":"#parameter-name-and-cont"},{"include":"#others"}]},"expression-cont":{"begin":"(?=.?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#parens"},{"include":"#list"},{"include":"#string"},{"include":"#interpolation"},{"include":"#function-for-sure"},{"include":"#attrset-for-sure"},{"include":"#attrset-or-function"},{"include":"#operator-binary"},{"include":"#constants"},{"include":"#bad-reserved"},{"include":"#parameter-name"},{"include":"#others"}]},"function-body":{"begin":"(@\\\\s*([A-Z_a-z][-\'0-9A-Z_a-z]*)\\\\s*)?(:)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression"}]},"function-body-from-colon":{"begin":"(:)","beginCaptures":{"0":{"name":"punctuation.definition.function.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression"}]},"function-contents":{"patterns":[{"include":"#bad-reserved"},{"include":"#function-parameter"},{"include":"#others"}]},"function-definition":{"begin":"(?=.?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-body-from-colon"},{"begin":"(?=.?)","end":"(?=:)","patterns":[{"begin":"\\\\b([A-Z_a-z][-\'0-9A-Z_a-z]*)","beginCaptures":{"0":{"name":"variable.parameter.function.4.nix"}},"end":"(?=:)","patterns":[{"begin":"@","end":"(?=:)","patterns":[{"include":"#function-header-until-colon-no-arg"},{"include":"#others"}]},{"include":"#others"}]},{"begin":"(?=\\\\{)","end":"(?=:)","patterns":[{"include":"#function-header-until-colon-with-arg"}]}]},{"include":"#others"}]},"function-definition-brace-opened":{"begin":"(?=.?)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-body-from-colon"},{"begin":"(?=.?)","end":"(?=:)","patterns":[{"include":"#function-header-close-brace-with-arg"},{"begin":"(?=.?)","end":"(?=})","patterns":[{"include":"#function-contents"}]}]},{"include":"#others"}]},"function-for-sure":{"patterns":[{"begin":"(?=(\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*\\\\s*[:@]|\\\\{[^\\"\'}]*}\\\\s*:|\\\\{[^\\"#\'/=}]*[,?]))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#function-definition"}]}]},"function-header-close-brace-no-arg":{"begin":"}","beginCaptures":{"0":{"name":"punctuation.definition.entity.function.nix"}},"end":"(?=:)","patterns":[{"include":"#others"}]},"function-header-close-brace-with-arg":{"begin":"}","beginCaptures":{"0":{"name":"punctuation.definition.entity.function.nix"}},"end":"(?=:)","patterns":[{"include":"#function-header-terminal-arg"},{"include":"#others"}]},"function-header-open-brace":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.entity.function.2.nix"}},"end":"(?=})","patterns":[{"include":"#function-contents"}]},"function-header-terminal-arg":{"begin":"(?=@)","end":"(?=:)","patterns":[{"begin":"@","end":"(?=:)","patterns":[{"begin":"\\\\b([A-Z_a-z][-\'0-9A-Z_a-z]*)","end":"(?=:)","name":"variable.parameter.function.3.nix"},{"include":"#others"}]},{"include":"#others"}]},"function-header-until-colon-no-arg":{"begin":"(?=\\\\{)","end":"(?=:)","patterns":[{"include":"#function-header-open-brace"},{"include":"#function-header-close-brace-no-arg"}]},"function-header-until-colon-with-arg":{"begin":"(?=\\\\{)","end":"(?=:)","patterns":[{"include":"#function-header-open-brace"},{"include":"#function-header-close-brace-with-arg"}]},"function-parameter":{"patterns":[{"begin":"(\\\\.\\\\.\\\\.)","end":"(,|(?=}))","name":"keyword.operator.nix","patterns":[{"include":"#others"}]},{"begin":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"variable.parameter.function.1.nix"}},"end":"(,|(?=}))","endCaptures":{"0":{"name":"keyword.operator.nix"}},"patterns":[{"include":"#whitespace"},{"include":"#comment"},{"include":"#function-parameter-default"},{"include":"#expression"}]},{"include":"#others"}]},"function-parameter-default":{"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.nix"}},"end":"(?=[,}])","patterns":[{"include":"#expression"}]},"if":{"begin":"(?=\\\\bif\\\\b)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\bif\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"\\\\bth(?=en\\\\b)","endCaptures":{"0":{"name":"keyword.other.nix"}},"patterns":[{"include":"#expression"}]},{"begin":"(?<=th)en\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"\\\\bel(?=se\\\\b)","endCaptures":{"0":{"name":"keyword.other.nix"}},"patterns":[{"include":"#expression"}]},{"begin":"(?<=el)se\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","endCaptures":{"0":{"name":"keyword.other.nix"}},"patterns":[{"include":"#expression"}]}]},"illegal":{"match":".","name":"invalid.illegal"},"interpolation":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nix"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.nix"}},"name":"meta.embedded","patterns":[{"include":"#expression"}]},"let":{"begin":"(?=\\\\blet\\\\b)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\blet\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=([]),;}]|\\\\b(in|else|then)\\\\b))","patterns":[{"begin":"(?=\\\\{)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\\\\{","end":"}","patterns":[{"include":"#attrset-contents"}]},{"begin":"(^|(?<=}))","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"include":"#others"}]},{"include":"#attrset-contents"},{"include":"#others"}]},{"begin":"\\\\bin\\\\b","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression"}]}]},"list":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.list.nix"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.list.nix"}},"patterns":[{"include":"#expression"}]},"list-and-cont":{"begin":"(?=\\\\[)","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#list"},{"include":"#expression-cont"}]},"operator-binary":{"match":"(\\\\bor\\\\b|\\\\.|\\\\|>|<\\\\||==|!=?|<=?|>=?|&&|\\\\|\\\\||->|//|\\\\?|\\\\+\\\\+|[-*]|/(?=([^*]|$))|\\\\+)","name":"keyword.operator.nix"},"operator-unary":{"match":"([-!])","name":"keyword.operator.unary.nix"},"others":{"patterns":[{"include":"#whitespace"},{"include":"#comment"},{"include":"#illegal"}]},"parameter-name":{"captures":{"0":{"name":"variable.parameter.name.nix"}},"match":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*"},"parameter-name-and-cont":{"begin":"\\\\b[A-Z_a-z][-\'0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"variable.parameter.name.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.expression.nix"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.expression.nix"}},"patterns":[{"include":"#expression"}]},"parens-and-cont":{"begin":"(?=\\\\()","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#parens"},{"include":"#expression-cont"}]},"string":{"patterns":[{"begin":"(?=\'\')","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"begin":"\'\'","beginCaptures":{"0":{"name":"punctuation.definition.string.other.start.nix"}},"end":"\'\'(?![$\']|\\\\\\\\.)","endCaptures":{"0":{"name":"punctuation.definition.string.other.end.nix"}},"name":"string.quoted.other.nix","patterns":[{"match":"\'\'([$\']|\\\\\\\\.)","name":"constant.character.escape.nix"},{"include":"#interpolation"}]},{"include":"#expression-cont"}]},{"begin":"(?=\\")","end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#string-quoted"},{"include":"#expression-cont"}]},{"begin":"(~?[-+.0-9A-Z_a-z]*(/[-+.0-9A-Z_a-z]+)+)","beginCaptures":{"0":{"name":"string.unquoted.path.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"(<[-+.0-9A-Z_a-z]+(/[-+.0-9A-Z_a-z]+)*>)","beginCaptures":{"0":{"name":"string.unquoted.spath.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"([A-Za-z][-+.0-9A-Za-z]*:[!$-\'*-:=?-Z_a-z~]+)","beginCaptures":{"0":{"name":"string.unquoted.url.nix"}},"end":"(?=([]),;}]|\\\\b(else|then)\\\\b))","patterns":[{"include":"#expression-cont"}]}]},"string-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.double.start.nix"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.double.end.nix"}},"name":"string.quoted.double.nix","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.nix"},{"include":"#interpolation"}]},"whitespace":{"match":"\\\\s+"},"with-assert":{"begin":"(?<![-\'\\\\w])(with|assert)(?![-\'\\\\w])","beginCaptures":{"0":{"name":"keyword.other.nix"}},"end":";","patterns":[{"include":"#expression"}]}},"scopeName":"source.nix","embeddedLangs":["markdown-nix"]}')),kq=[...Qx,xq]});var zq,ak,ik=s1(()=>{zq=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":"text.html.vue"}]}},"scopeName":"markdown.vue.codeblock"}')),ak=[zq]});var Cq,rk,sk=s1(()=>{Cq=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":"text.html.vue#vue-directives"}],"scopeName":"vue.directives"}')),rk=[Cq]});var Aq,ck,ok=s1(()=>{Aq=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":"text.html.vue#vue-interpolations"}],"scopeName":"vue.interpolations"}')),ck=[Aq]});var Mq,lk,pk=s1(()=>{me();Mq=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"]}')),lk=[...L0,Mq]});var uk={};h1(uk,{default:()=>Lq});var $q,Lq,mk=s1(()=>{We();me();K6();J6();_4();Qo();ik();sk();ok();pk();$q=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":"(?!template(?![-0-:A-Za-z]))([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"\']?)html\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"contentName":"text.html.derivative","end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"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":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.ts","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)","name":"source.ts","patterns":[{"include":"source.ts"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"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":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.tsx","patterns":[{"include":"source.tsx"}]},{"begin":"(?<=>)","name":"source.tsx","patterns":[{"include":"source.tsx"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"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":"text.html.vue","patterns":[{"include":"text.html.vue"}]}]},{"begin":"(template)(?=\\\\s|/?>)","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[>\\\\s])","name":"text.html.derivative","patterns":[{"include":"#html-stuff"}]}]},{"begin":"(script)(?=\\\\s|/?>)","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":"#multi-line-script-tag-stuff"}]},{"begin":"(style)(?=\\\\s|/?>)","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":"#multi-line-style-tag-stuff"}]},{"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":{"capitalized-tag":{"begin":"(<)([A-Z][-0-:A-Za-z]*)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.html.vue"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag.structure.$2.start.html.vue","patterns":[{"begin":"\\\\G","end":"(?=/?>)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]}]},"html-stuff":{"patterns":[{"include":"#template-tag"},{"include":"#capitalized-tag"},{"include":"text.html.derivative"},{"include":"text.html.basic"}]},"multi-line-script-tag-stuff":{"begin":"\\\\G","end":"(?=<\/script[>\\\\s])","patterns":[{"begin":"\\\\G(?!\\\\blang\\\\s*=\\\\s*[\\"\']?(?:tsx??|jsx|coffee)\\\\b)","end":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?(?:tsx??|jsx|coffee)\\\\b)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?ts\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.ts","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)","name":"source.ts","patterns":[{"include":"source.ts"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?tsx\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\\\n]*<\/script[>\\\\s])","end":"(?=<\/script[>\\\\s])","name":"source.tsx","patterns":[{"include":"source.tsx"}]},{"begin":"(?<=>)","name":"source.tsx","patterns":[{"include":"source.tsx"}],"while":"^(?!\\\\s*<\/script[>\\\\s])"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?jsx\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\/script[>\\\\s])","name":"source.js.jsx","patterns":[{"include":"source.js.jsx"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?coffee\\\\b)","end":"(?=<\/script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\/script[>\\\\s])","name":"source.coffee","patterns":[{"include":"source.coffee"}]}]},{"begin":"(?<=>)","end":"(?=<\/script[>\\\\s])","name":"source.js","patterns":[{"include":"source.js"}]}]},"multi-line-style-tag-stuff":{"begin":"\\\\G","end":"(?=</style[>\\\\s])","patterns":[{"begin":"\\\\G(?!\\\\blang\\\\s*=\\\\s*[\\"\']?(?:scss|stylus|less|postcss)\\\\b)","end":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?(?:scss|stylus|less|postcss)\\\\b)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?scss\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css.scss","patterns":[{"include":"source.css.scss"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?stylus\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.stylus","patterns":[{"include":"source.stylus"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?less\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css.less","patterns":[{"include":"source.css.less"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"\']?postcss\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.postcss","patterns":[{"include":"source.postcss"}]}]},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css","patterns":[{"include":"source.css"}]}]},"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)(?=[>\\\\s]))","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)(?=\\\\s|/?>)","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)(?=[>\\\\s]))","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":"text.html.vue","embeddedLangs":["css","javascript","typescript","json","html","html-derivative","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"]}')),Lq=[...e2,...L0,...r4,...c4,...Y2,...a9,...ak,...rk,...ck,...lk,$q]});var Sq,dk,hk=s1(()=>{Sq=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"}')),dk=[Sq]});var gk={};h1(gk,{default:()=>Zq});var Eq,Zq,bk=s1(()=>{me();K6();We();hk();Eq=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":"(?<=>)(?=[^\\\\n]+</(s(?:cript|tyle))[>\\\\s])","contentName":"source.ts","end":"(?=</(s(?:cript|tyle))[>\\\\s])","name":"meta.embedded.block.svelte","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)(?!</)","contentName":"source.ts","name":"meta.embedded.block.svelte","patterns":[{"include":"source.ts"}],"while":"^(?!\\\\s*</(s(?:cript|tyle))[>\\\\s])"}]},"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-comments"},{"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-comments":{"patterns":[{"match":"//.*$","name":"comment.line.double-slash.svelte"},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.svelte"}]},"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"]}')),Zq=[...L0,...r4,...e2,...dk,Eq]});var fk={};h1(fk,{default:()=>jq});var Fq,jq,vk=s1(()=>{Fq=Object.freeze(JSON.parse('{"displayName":"Makefile","name":"make","patterns":[{"include":"#comment"},{"include":"#variables"},{"include":"#variable-assignment"},{"include":"#directives"},{"include":"#recipe"},{"include":"#target"}],"repository":{"another-variable-braces":{"patterns":[{"begin":"(?<=\\\\{)(?!})","end":"(?=}|((?<!\\\\\\\\)\\\\n))","name":"variable.other.makefile","patterns":[{"include":"#variables"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"another-variable-parentheses":{"patterns":[{"begin":"(?<=\\\\()(?!\\\\))","end":"(?=\\\\)|((?<!\\\\\\\\)\\\\n))","name":"variable.other.makefile","patterns":[{"include":"#variables"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"braces-interpolation":{"begin":"\\\\{","end":"}","patterns":[{"include":"#variables"},{"include":"#interpolation"}]},"builtin-variable-braces":{"patterns":[{"match":"(?<=\\\\{)(MAKEFILES|VPATH|SHELL|MAKESHELL|MAKE|MAKELEVEL|MAKEFLAGS|MAKECMDGOALS|CURDIR|SUFFIXES|\\\\.LIBPATTERNS)(?=\\\\s*})","name":"variable.language.makefile"}]},"builtin-variable-parentheses":{"patterns":[{"match":"(?<=\\\\()(MAKEFILES|VPATH|SHELL|MAKESHELL|MAKE|MAKELEVEL|MAKEFLAGS|MAKECMDGOALS|CURDIR|SUFFIXES|\\\\.LIBPATTERNS)(?=\\\\s*\\\\))","name":"variable.language.makefile"}]},"comma":{"match":",","name":"punctuation.separator.delimeter.comma.makefile"},"comment":{"begin":"(^ +)?((?<!\\\\\\\\)(\\\\\\\\\\\\\\\\)*)(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.makefile"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.makefile"}},"end":"(?=[^\\\\\\\\])$","name":"comment.line.number-sign.makefile","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"directives":{"patterns":[{"begin":"^ *([-s]?include)\\\\b","beginCaptures":{"1":{"name":"keyword.control.include.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]},{"begin":"^ *(vpath)\\\\b","beginCaptures":{"1":{"name":"keyword.control.vpath.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]},{"begin":"^\\\\s*(?:(override)\\\\s*)?(define)\\\\s*(\\\\S+)\\\\s*([+:?]??=)?(?=\\\\s)","captures":{"1":{"name":"keyword.control.override.makefile"},"2":{"name":"keyword.control.define.makefile"},"3":{"name":"variable.other.makefile"},"4":{"name":"punctuation.separator.key-value.makefile"}},"end":"^\\\\s*(endef)\\\\b","name":"meta.scope.conditional.makefile","patterns":[{"begin":"\\\\G(?!\\\\n)","end":"^","patterns":[{"include":"#comment"}]},{"include":"#variables"},{"include":"#directives"}]},{"begin":"^ *(export)\\\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variable-assignment"},{"match":"\\\\S+","name":"variable.other.makefile"}]},{"begin":"^ *(override|private)\\\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"include":"#variable-assignment"}]},{"begin":"^ *(un(?:export|define))\\\\b","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^","patterns":[{"include":"#comment"},{"match":"\\\\S+","name":"variable.other.makefile"}]},{"begin":"^\\\\s*(ifn??(?:eq|def))(?=\\\\s)","captures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"^\\\\s*(endif)\\\\b","name":"meta.scope.conditional.makefile","patterns":[{"begin":"\\\\G","end":"^","name":"meta.scope.condition.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#comment"}]},{"begin":"^\\\\s*else(?=\\\\s)\\\\s*(ifn??(?:eq|def))*(?=\\\\s)","beginCaptures":{"0":{"name":"keyword.control.else.makefile"}},"end":"^","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#comment"}]},{"include":"$self"}]}]},"flavor-variable-braces":{"patterns":[{"begin":"(?<=\\\\{)(origin|flavor)\\\\s(?=[^}\\\\s]+\\\\s*})","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"contentName":"variable.other.makefile","end":"(?=})","name":"meta.scope.function-call.makefile","patterns":[{"include":"#variables"}]}]},"flavor-variable-parentheses":{"patterns":[{"begin":"(?<=\\\\()(origin|flavor)\\\\s(?=[^)\\\\s]+\\\\s*\\\\))","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"contentName":"variable.other.makefile","end":"(?=\\\\))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#variables"}]}]},"function-variable-braces":{"patterns":[{"begin":"(?<=\\\\{)(subst|patsubst|strip|findstring|filter(-out)?|sort|word(list)?|firstword|lastword|dir|notdir|suffix|basename|addsuffix|addprefix|join|wildcard|realpath|abspath|info|error|warning|shell|foreach|if|or|and|call|eval|value|file|guile)\\\\s","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"end":"(?=}|((?<!\\\\\\\\)\\\\n))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#interpolation"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"function-variable-parentheses":{"patterns":[{"begin":"(?<=\\\\()(subst|patsubst|strip|findstring|filter(-out)?|sort|word(list)?|firstword|lastword|dir|notdir|suffix|basename|addsuffix|addprefix|join|wildcard|realpath|abspath|info|error|warning|shell|foreach|if|or|and|call|eval|value|file|guile)\\\\s","beginCaptures":{"1":{"name":"support.function.$1.makefile"}},"end":"(?=\\\\)|((?<!\\\\\\\\)\\\\n))","name":"meta.scope.function-call.makefile","patterns":[{"include":"#comma"},{"include":"#variables"},{"include":"#interpolation"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"}]}]},"interpolation":{"patterns":[{"include":"#parentheses-interpolation"},{"include":"#braces-interpolation"}]},"parentheses-interpolation":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#variables"},{"include":"#interpolation"}]},"recipe":{"begin":"^\\\\t([-+@]*)","beginCaptures":{"1":{"name":"keyword.control.$1.makefile"}},"end":"[^\\\\\\\\]$","name":"meta.scope.recipe.makefile","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"include":"#variables"}]},"simple-variable":{"patterns":[{"match":"\\\\$[^(){}]","name":"variable.language.makefile"}]},"target":{"begin":"^(?!\\\\t)([^:]*)(:)(?!=)","beginCaptures":{"1":{"patterns":[{"captures":{"1":{"name":"support.function.target.$1.makefile"}},"match":"^\\\\s*(\\\\.(PHONY|SUFFIXES|DEFAULT|PRECIOUS|INTERMEDIATE|SECONDARY|SECONDEXPANSION|DELETE_ON_ERROR|IGNORE|LOW_RESOLUTION_TIME|SILENT|EXPORT_ALL_VARIABLES|NOTPARALLEL|ONESHELL|POSIX))\\\\s*$"},{"begin":"(?=\\\\S)","end":"(?=\\\\s|$)","name":"entity.name.function.target.makefile","patterns":[{"include":"#variables"},{"match":"%","name":"constant.other.placeholder.makefile"}]}]},"2":{"name":"punctuation.separator.key-value.makefile"}},"end":"[^\\\\\\\\]$","name":"meta.scope.target.makefile","patterns":[{"begin":"\\\\G","end":"(?=[^\\\\\\\\])$","name":"meta.scope.prerequisites.makefile","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"match":"[%*]","name":"constant.other.placeholder.makefile"},{"include":"#comment"},{"include":"#variables"}]}]},"variable-assignment":{"begin":"(^ *|\\\\G\\\\s*)([^#:=\\\\s]+)\\\\s*((?:(?<![!+:?])|[!+:?])=)","beginCaptures":{"2":{"name":"variable.other.makefile","patterns":[{"include":"#variables"}]},"3":{"name":"punctuation.separator.key-value.makefile"}},"end":"\\\\n","patterns":[{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.continuation.makefile"},{"include":"#comment"},{"include":"#variables"}]},"variable-braces":{"patterns":[{"begin":"\\\\$\\\\{","captures":{"0":{"name":"punctuation.definition.variable.makefile"}},"end":"}|((?<!\\\\\\\\)\\\\n)","name":"string.interpolated.makefile","patterns":[{"include":"#variables"},{"include":"#builtin-variable-braces"},{"include":"#function-variable-braces"},{"include":"#flavor-variable-braces"},{"include":"#another-variable-braces"}]}]},"variable-parentheses":{"patterns":[{"begin":"\\\\$\\\\(","captures":{"0":{"name":"punctuation.definition.variable.makefile"}},"end":"\\\\)|((?<!\\\\\\\\)\\\\n)","name":"string.interpolated.makefile","patterns":[{"include":"#variables"},{"include":"#builtin-variable-parentheses"},{"include":"#function-variable-parentheses"},{"include":"#flavor-variable-parentheses"},{"include":"#another-variable-parentheses"}]}]},"variables":{"patterns":[{"include":"#simple-variable"},{"include":"#variable-parentheses"},{"include":"#variable-braces"}]}},"scopeName":"source.makefile","aliases":["makefile"]}')),jq=[Fq]});var yk={};h1(yk,{default:()=>Nq});var Hq,Nq,_k=s1(()=>{Hq=Object.freeze(JSON.parse('{"displayName":"Groovy","name":"groovy","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.groovy"}},"match":"^(#!).+$\\\\n","name":"comment.line.hashbang.groovy"},{"captures":{"1":{"name":"keyword.other.package.groovy"},"2":{"name":"storage.modifier.package.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"match":"^\\\\s*(package)\\\\b(?:\\\\s*([^ $;]+)\\\\s*(;)?)?","name":"meta.package.groovy"},{"begin":"(import static)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.import.static.groovy"}},"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"storage.modifier.import.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"contentName":"storage.modifier.import.groovy","end":"\\\\s*(?:$|(?=%>)(;))","endCaptures":{"1":{"name":"punctuation.terminator.groovy"}},"name":"meta.import.groovy","patterns":[{"match":"\\\\.","name":"punctuation.separator.groovy"},{"match":"\\\\s","name":"invalid.illegal.character_not_allowed_here.groovy"}]},{"begin":"(import)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.import.groovy"}},"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"storage.modifier.import.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"contentName":"storage.modifier.import.groovy","end":"\\\\s*(?:$|(?=%>)|(;))","endCaptures":{"1":{"name":"punctuation.terminator.groovy"}},"name":"meta.import.groovy","patterns":[{"match":"\\\\.","name":"punctuation.separator.groovy"},{"match":"\\\\s","name":"invalid.illegal.character_not_allowed_here.groovy"}]},{"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"keyword.other.import.static.groovy"},"3":{"name":"storage.modifier.import.groovy"},"4":{"name":"punctuation.terminator.groovy"}},"match":"^\\\\s*(import)\\\\s+(static)\\\\s+\\\\b(?:\\\\s*([^ $;]+)\\\\s*(;)?)?","name":"meta.import.groovy"},{"include":"#groovy"}],"repository":{"annotations":{"patterns":[{"begin":"(?<!\\\\.)(@[^ (]+)(\\\\()","beginCaptures":{"1":{"name":"storage.type.annotation.groovy"},"2":{"name":"punctuation.definition.annotation-arguments.begin.groovy"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.annotation-arguments.end.groovy"}},"name":"meta.declaration.annotation.groovy","patterns":[{"captures":{"1":{"name":"constant.other.key.groovy"},"2":{"name":"keyword.operator.assignment.groovy"}},"match":"(\\\\w*)\\\\s*(=)"},{"include":"#values"},{"match":",","name":"punctuation.definition.seperator.groovy"}]},{"match":"(?<!\\\\.)@\\\\S+","name":"storage.type.annotation.groovy"}]},"anonymous-classes-and-new":{"begin":"\\\\bnew\\\\b","beginCaptures":{"0":{"name":"keyword.control.new.groovy"}},"end":"(?<=[])])(?!\\\\s*\\\\{)|(?<=})|(?=;)|$","patterns":[{"begin":"(\\\\w+)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"storage.type.groovy"}},"end":"}|(?=\\\\s*[),;])|$","patterns":[{"begin":"\\\\[","end":"]","patterns":[{"include":"#groovy"}]},{"begin":"\\\\{","end":"(?=})","patterns":[{"include":"#groovy"}]}]},{"begin":"(?=\\\\w.*\\\\(?)","end":"(?<=\\\\))|$","patterns":[{"include":"#object-types"},{"begin":"\\\\(","beginCaptures":{"1":{"name":"storage.type.groovy"}},"end":"\\\\)","patterns":[{"include":"#groovy"}]}]},{"begin":"\\\\{","end":"}","name":"meta.inner-class.groovy","patterns":[{"include":"#class-body"}]}]},"braces":{"begin":"\\\\{","end":"}","patterns":[{"include":"#groovy-code"}]},"class":{"begin":"(?=\\\\w?[\\\\w\\\\s]*(?:class|@?interface|enum)\\\\s+\\\\w+)","end":"}","endCaptures":{"0":{"name":"punctuation.section.class.end.groovy"}},"name":"meta.definition.class.groovy","patterns":[{"include":"#storage-modifiers"},{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.groovy"},"2":{"name":"entity.name.type.class.groovy"}},"match":"(class|@?interface|enum)\\\\s+(\\\\w+)","name":"meta.class.identifier.groovy"},{"begin":"extends","beginCaptures":{"0":{"name":"storage.modifier.extends.groovy"}},"end":"(?=\\\\{|implements)","name":"meta.definition.class.inherited.classes.groovy","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"(implements)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.groovy"}},"end":"(?=\\\\s*extends|\\\\{)","name":"meta.definition.class.implemented.interfaces.groovy","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\\\{","end":"(?=})","name":"meta.class.body.groovy","patterns":[{"include":"#class-body"}]}]},"class-body":{"patterns":[{"include":"#enum-values"},{"include":"#constructors"},{"include":"#groovy"}]},"closures":{"begin":"\\\\{(?=.*?->)","end":"}","patterns":[{"begin":"(?<=\\\\{)(?=[^}]*?->)","end":"->","endCaptures":{"0":{"name":"keyword.operator.groovy"}},"patterns":[{"begin":"(?!->)","end":"(?=->)","name":"meta.closure.parameters.groovy","patterns":[{"begin":"(?!,|->)","end":"(?=,|->)","name":"meta.closure.parameter.groovy","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"(?=,|->)","name":"meta.parameter.default.groovy","patterns":[{"include":"#groovy-code"}]},{"include":"#parameters"}]}]}]},{"begin":"(?=[^}])","end":"(?=})","patterns":[{"include":"#groovy-code"}]}]},"comment-block":{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.groovy"}},"end":"\\\\*/","name":"comment.block.groovy"},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.groovy"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.groovy"},{"include":"text.html.javadoc"},{"include":"#comment-block"},{"captures":{"1":{"name":"punctuation.definition.comment.groovy"}},"match":"(//).*$\\\\n?","name":"comment.line.double-slash.groovy"}]},"constants":{"patterns":[{"match":"\\\\b([A-Z][0-9A-Z_]+)\\\\b","name":"constant.other.groovy"},{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.groovy"}]},"constructors":{"applyEndPatternLast":1,"begin":"(?<=;|^)(?=\\\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)\\\\s+)*[A-Z]\\\\w*\\\\()","end":"}","patterns":[{"include":"#method-content"}]},"enum-values":{"patterns":[{"begin":"(?<=;|^)\\\\s*\\\\b([0-9A-Z_]+)(?=\\\\s*(?:[(,;}]|$))","beginCaptures":{"1":{"name":"constant.enum.name.groovy"}},"end":"[,;]|(?=})|^(?!\\\\s*\\\\w+\\\\s*(?:,|$))","patterns":[{"begin":"\\\\(","end":"\\\\)","name":"meta.enum.value.groovy","patterns":[{"match":",","name":"punctuation.definition.seperator.parameter.groovy"},{"include":"#groovy-code"}]}]}]},"groovy":{"patterns":[{"include":"#comments"},{"include":"#class"},{"include":"#variables"},{"include":"#methods"},{"include":"#annotations"},{"include":"#groovy-code"}]},"groovy-code":{"patterns":[{"include":"#groovy-code-minus-map-keys"},{"include":"#map-keys"}]},"groovy-code-minus-map-keys":{"patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#support-functions"},{"include":"#keyword-language"},{"include":"#values"},{"include":"#anonymous-classes-and-new"},{"include":"#keyword-operator"},{"include":"#types"},{"include":"#storage-modifiers"},{"include":"#parens"},{"include":"#closures"},{"include":"#braces"}]},"keyword":{"patterns":[{"include":"#keyword-operator"},{"include":"#keyword-language"}]},"keyword-language":{"patterns":[{"match":"\\\\b(try|catch|finally|throw)\\\\b","name":"keyword.control.exception.groovy"},{"match":"\\\\b((?<!\\\\.)(?:return|break|continue|default|do|while|for|switch|if|else))\\\\b","name":"keyword.control.groovy"},{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.groovy"}},"end":":","endCaptures":{"0":{"name":"punctuation.definition.case-terminator.groovy"}},"name":"meta.case.groovy","patterns":[{"include":"#groovy-code-minus-map-keys"}]},{"begin":"\\\\b(assert)\\\\s","beginCaptures":{"1":{"name":"keyword.control.assert.groovy"}},"end":"$|[;}]","name":"meta.declaration.assertion.groovy","patterns":[{"match":":","name":"keyword.operator.assert.expression-seperator.groovy"},{"include":"#groovy-code-minus-map-keys"}]},{"match":"\\\\b(throws)\\\\b","name":"keyword.other.throws.groovy"}]},"keyword-operator":{"patterns":[{"match":"\\\\b(as)\\\\b","name":"keyword.operator.as.groovy"},{"match":"\\\\b(in)\\\\b","name":"keyword.operator.in.groovy"},{"match":"\\\\?:","name":"keyword.operator.elvis.groovy"},{"match":"\\\\*:","name":"keyword.operator.spreadmap.groovy"},{"match":"\\\\.\\\\.","name":"keyword.operator.range.groovy"},{"match":"->","name":"keyword.operator.arrow.groovy"},{"match":"<<","name":"keyword.operator.leftshift.groovy"},{"match":"(?<=\\\\S)\\\\.(?=\\\\S)","name":"keyword.operator.navigation.groovy"},{"match":"(?<=\\\\S)\\\\?\\\\.(?=\\\\S)","name":"keyword.operator.safe-navigation.groovy"},{"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.groovy"}},"end":"(?=$|[])}])","name":"meta.evaluation.ternary.groovy","patterns":[{"match":":","name":"keyword.operator.ternary.expression-seperator.groovy"},{"include":"#groovy-code-minus-map-keys"}]},{"match":"==~","name":"keyword.operator.match.groovy"},{"match":"=~","name":"keyword.operator.find.groovy"},{"match":"\\\\b(instanceof)\\\\b","name":"keyword.operator.instanceof.groovy"},{"match":"(===?|!=|<=|>=|<=>|<>|[<>]|<<)","name":"keyword.operator.comparison.groovy"},{"match":"=","name":"keyword.operator.assignment.groovy"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.groovy"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.groovy"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.groovy"}]},"language-variables":{"patterns":[{"match":"\\\\b(this|super)\\\\b","name":"variable.language.groovy"}]},"map-keys":{"patterns":[{"captures":{"1":{"name":"constant.other.key.groovy"},"2":{"name":"punctuation.definition.seperator.key-value.groovy"}},"match":"(\\\\w+)\\\\s*(:)"}]},"method-call":{"begin":"([$\\\\w]+)(\\\\()","beginCaptures":{"1":{"name":"meta.method.groovy"},"2":{"name":"punctuation.definition.method-parameters.begin.groovy"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.method-parameters.end.groovy"}},"name":"meta.method-call.groovy","patterns":[{"match":",","name":"punctuation.definition.seperator.parameter.groovy"},{"include":"#groovy-code"}]},"method-content":{"patterns":[{"match":"\\\\s"},{"include":"#annotations"},{"begin":"(?=[<\\\\w][^(]*\\\\s+[$<\\\\w]+\\\\s*\\\\()","end":"(?=[$\\\\w]+\\\\s*\\\\()","name":"meta.method.return-type.java","patterns":[{"include":"#storage-modifiers"},{"include":"#types"}]},{"begin":"([$\\\\w]+)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.java"}},"end":"\\\\)","name":"meta.definition.method.signature.java","patterns":[{"begin":"(?=[^)])","end":"(?=\\\\))","name":"meta.method.parameters.groovy","patterns":[{"begin":"(?=[^),])","end":"(?=[),])","name":"meta.method.parameter.groovy","patterns":[{"match":",","name":"punctuation.definition.separator.groovy"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"(?=[),])","name":"meta.parameter.default.groovy","patterns":[{"include":"#groovy-code"}]},{"include":"#parameters"}]}]}]},{"begin":"(?=<)","end":"(?=\\\\s)","name":"meta.method.paramerised-type.groovy","patterns":[{"begin":"<","end":">","name":"storage.type.parameters.groovy","patterns":[{"include":"#types"},{"match":",","name":"punctuation.definition.seperator.groovy"}]}]},{"begin":"throws","beginCaptures":{"0":{"name":"storage.modifier.groovy"}},"end":"(?=[;{])|^(?=\\\\s*(?:[^{\\\\s]|$))","name":"meta.throwables.groovy","patterns":[{"include":"#object-types"}]},{"begin":"\\\\{","end":"(?=})","name":"meta.method.body.java","patterns":[{"include":"#groovy-code"}]}]},"methods":{"applyEndPatternLast":1,"begin":"(?<=;|^|\\\\{)(?=\\\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)|def|(?:(?:void|boolean|byte|char|short|int|float|long|double)|@?(?:[A-Za-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)[]\\\\[]*(?:<.*>)?)\\\\s+([^=]+\\\\s+)?\\\\w+\\\\s*\\\\()","end":"}|(?=[^{])","name":"meta.definition.method.groovy","patterns":[{"include":"#method-content"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.groovy"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"numbers":{"patterns":[{"match":"((0([Xx])\\\\h*)|([-+])?\\\\b(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdfglu]|UL|ul)?\\\\b","name":"constant.numeric.groovy"}]},"object-types":{"patterns":[{"begin":"\\\\b((?:[a-z]\\\\w*\\\\.)*(?:[A-Z]+\\\\w*[a-z]+\\\\w*|UR[IL]))<","end":"[>[^],<?\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy","patterns":[{"include":"#object-types"},{"begin":"<","end":"[>[^],<\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy"}]},{"begin":"\\\\b((?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*[a-z]+\\\\w*)(?=\\\\[)","end":"(?=[^]\\\\s])","name":"storage.type.object.array.groovy","patterns":[{"begin":"\\\\[","end":"]","patterns":[{"include":"#groovy"}]}]},{"match":"\\\\b(?:[A-Za-z]\\\\w*\\\\.)*(?:[A-Z]+\\\\w*[a-z]+\\\\w*|UR[IL])\\\\b","name":"storage.type.groovy"}]},"object-types-inherited":{"patterns":[{"begin":"\\\\b((?:[A-Za-z]\\\\w*\\\\.)*[A-Z]+\\\\w*[a-z]+\\\\w*)<","end":"[>[^],<?\\\\[\\\\w\\\\s]]","name":"entity.other.inherited-class.groovy","patterns":[{"include":"#object-types-inherited"},{"begin":"<","end":"[>[^],<\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy"}]},{"captures":{"1":{"name":"keyword.operator.dereference.groovy"}},"match":"\\\\b(?:[A-Za-z]\\\\w*(\\\\.))*[A-Z]+\\\\w*[a-z]+\\\\w*\\\\b","name":"entity.other.inherited-class.groovy"}]},"parameters":{"patterns":[{"include":"#annotations"},{"include":"#storage-modifiers"},{"include":"#types"},{"match":"\\\\w+","name":"variable.parameter.method.groovy"}]},"parens":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#groovy-code"}]},"primitive-arrays":{"patterns":[{"match":"\\\\b(?:void|boolean|byte|char|short|int|float|long|double)(\\\\[])*\\\\b","name":"storage.type.primitive.array.groovy"}]},"primitive-types":{"patterns":[{"match":"\\\\b(?:void|boolean|byte|char|short|int|float|long|double)\\\\b","name":"storage.type.primitive.groovy"}]},"regexp":{"patterns":[{"begin":"/(?=[^/]+/([^>]|$))","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.groovy"}},"end":"/","endCaptures":{"0":{"name":"punctuation.definition.string.regexp.end.groovy"}},"name":"string.regexp.groovy","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]},{"begin":"~\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.groovy"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.regexp.end.groovy"}},"name":"string.regexp.compiled.groovy","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]}]},"storage-modifiers":{"patterns":[{"match":"\\\\b(p(?:rivate|rotected|ublic))\\\\b","name":"storage.modifier.access-control.groovy"},{"match":"\\\\b(static)\\\\b","name":"storage.modifier.static.groovy"},{"match":"\\\\b(final)\\\\b","name":"storage.modifier.final.groovy"},{"match":"\\\\b(native|synchronized|abstract|threadsafe|transient)\\\\b","name":"storage.modifier.other.groovy"}]},"string-quoted-double":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.double.groovy","patterns":[{"include":"#string-quoted-double-contents"}]},"string-quoted-double-contents":{"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"},{"applyEndPatternLast":1,"begin":"\\\\$\\\\w","end":"(?=\\\\W)","name":"variable.other.interpolated.groovy","patterns":[{"match":"\\\\w","name":"variable.other.interpolated.groovy"},{"match":"\\\\.","name":"keyword.other.dereference.groovy"}]},{"begin":"\\\\$\\\\{","captures":{"0":{"name":"punctuation.section.embedded.groovy"}},"end":"}","name":"source.groovy.embedded.source","patterns":[{"include":"#nest_curly"}]}]},"string-quoted-double-multiline":{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.double.multiline.groovy","patterns":[{"include":"#string-quoted-double-contents"}]},"string-quoted-single":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.single.groovy","patterns":[{"include":"#string-quoted-single-contents"}]},"string-quoted-single-contents":{"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]},"string-quoted-single-multiline":{"begin":"\'\'\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\'\'\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.single.multiline.groovy","patterns":[{"include":"#string-quoted-single-contents"}]},"strings":{"patterns":[{"include":"#string-quoted-double-multiline"},{"include":"#string-quoted-single-multiline"},{"include":"#string-quoted-double"},{"include":"#string-quoted-single"},{"include":"#regexp"}]},"structures":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.structure.begin.groovy"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.structure.end.groovy"}},"name":"meta.structure.groovy","patterns":[{"include":"#groovy-code"},{"match":",","name":"punctuation.definition.separator.groovy"}]},"support-functions":{"patterns":[{"match":"\\\\b(?:sprintf|print(?:f|ln)?)\\\\b","name":"support.function.print.groovy"},{"match":"\\\\b(?:shouldFail|fail(?:NotEquals)?|ass(?:ume|ert(?:S(?:cript|ame)|N(?:ot(?:Same|Null)|ull)|Contains|T(?:hat|oString|rue)|Inspect|Equals|False|Length|ArrayEquals)))\\\\b","name":"support.function.testing.groovy"}]},"types":{"patterns":[{"match":"\\\\b(def)\\\\b","name":"storage.type.def.groovy"},{"include":"#primitive-types"},{"include":"#primitive-arrays"},{"include":"#object-types"}]},"values":{"patterns":[{"include":"#language-variables"},{"include":"#strings"},{"include":"#numbers"},{"include":"#constants"},{"include":"#types"},{"include":"#structures"},{"include":"#method-call"}]},"variables":{"applyEndPatternLast":1,"patterns":[{"begin":"(?=(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)|def|(?:void|boolean|byte|char|short|int|float|long|double)|(?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)\\\\s+[],<>\\\\[_\\\\w\\\\d\\\\s]+(?:=|$))","end":";|$","name":"meta.definition.variable.groovy","patterns":[{"match":"\\\\s"},{"captures":{"1":{"name":"constant.variable.groovy"}},"match":"([0-9A-Z_]+)\\\\s+(?==)"},{"captures":{"1":{"name":"meta.definition.variable.name.groovy"}},"match":"(\\\\w[^,\\\\s]*)\\\\s+(?==)"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"$","patterns":[{"include":"#groovy-code"}]},{"captures":{"1":{"name":"meta.definition.variable.name.groovy"}},"match":"(\\\\w[^=\\\\s]*)(?=\\\\s*($|;))"},{"include":"#groovy-code"}]}]}},"scopeName":"source.groovy"}')),Nq=[Hq]});var Cz=Me(yl=>{"use strict";var zz=J3();yl.createRoot=zz.createRoot,yl.hydrateRoot=zz.hydrateRoot;var Kt1});var IP={};h1(IP,{mountNativeChatList:()=>jP,mountNativeComposer:()=>HP,mountNativeConversation:()=>ZP,mountNativeFeishu:()=>qP,mountNativeRuntimeInput:()=>TP,nativeConversationCss:()=>FP});var V=X1(l0(),1);var Tl={"Optional tools":"\u6309\u9700\u9009\u62E9","Select the tools you need. The permission JSON updates automatically.":"\u52FE\u9009\u9700\u8981\u7684\u5DE5\u5177\uFF0C\u6743\u9650 JSON \u4F1A\u81EA\u52A8\u66F4\u65B0\u3002","Clipboard is unavailable. Copy the selected JSON below.":"\u65E0\u6CD5\u8BBF\u95EE\u526A\u8D34\u677F\uFF0C\u8BF7\u624B\u52A8\u590D\u5236\u5DF2\u9009\u4E2D\u7684\u6743\u9650 JSON\u3002","Base permissions are always included.":"\u5DF2\u5305\u542B\u5168\u90E8\u57FA\u7840\u6743\u9650","View permission JSON":"\u67E5\u770B\u6743\u9650 JSON","Open Feishu Open Platform":"\u6253\u5F00\u98DE\u4E66\u5F00\u653E\u5E73\u53F0","Long connection":"\u957F\u8FDE\u63A5","Event address":"\u4E8B\u4EF6\u5730\u5740","Recommended \xB7 no public address":"\u63A8\u8350 \xB7 \u65E0\u9700\u516C\u7F51\u5730\u5740","Requires a public HTTPS address":"\u9700\u8981\u516C\u7F51 HTTPS \u5730\u5740","Connection steps":"\u63A5\u5165\u6B65\u9AA4","Step {current} of {total}":"\u7B2C {current} \u6B65\uFF0C\u5171 {total} \u6B65","Previous step":"\u4E0A\u4E00\u6B65","Check App ID and App Secret. A nonexistent App ID may be reported as an internal error.":"App ID \u6216 App Secret \u4E0D\u6B63\u786E\uFF0C\u8BF7\u5728\u5E94\u7528\u7684\u201C\u51ED\u8BC1\u4E0E\u57FA\u7840\u4FE1\u606F\u201D\u9875\u9762\u91CD\u65B0\u590D\u5236\u3002App ID \u4E0D\u5B58\u5728\u65F6\uFF0C\u98DE\u4E66\u53EF\u80FD\u53EA\u8FD4\u56DE\u201C\u5185\u90E8\u9519\u8BEF\u201D\u3002","FlyBot cannot reach open.feishu.cn. Check the server network or proxy.":"FlyBot \u670D\u52A1\u5668\u8FDE\u4E0D\u4E0A open.feishu.cn\uFF0C\u8BF7\u68C0\u67E5\u670D\u52A1\u5668\u7684\u7F51\u7EDC\u6216\u4EE3\u7406\u8BBE\u7F6E\u3002","Credentials accepted, but Bot information is unavailable. Enable the Bot capability and publish a version. You can continue now and test again after publishing.":"\u51ED\u636E\u6B63\u786E\uFF0C\u4F46\u8FD8\u8BFB\u4E0D\u5230\u673A\u5668\u4EBA\uFF1A\u5E94\u7528\u8FD8\u6CA1\u6709\u5F00\u542F\u673A\u5668\u4EBA\u80FD\u529B\uFF0C\u6216\u5F00\u542F\u540E\u8FD8\u6CA1\u6709\u53D1\u5E03\u7248\u672C\u3002\u53EF\u4EE5\u5148\u7EE7\u7EED\u4E0B\u4E00\u6B65\uFF0C\u53D1\u5E03\u7248\u672C\u540E\u518D\u6D4B\u8BD5\u3002","Apply for the missing app permission, publish a new version, wait for approval, then check permissions again.":"\u8BF7\u5728\u98DE\u4E66\u5F00\u653E\u5E73\u53F0\u7533\u8BF7\u7F3A\u5C11\u7684\u5E94\u7528\u6743\u9650\u5E76\u53D1\u5E03\u65B0\u7248\u672C\uFF1B\u9700\u8981\u7BA1\u7406\u5458\u5BA1\u6279\u65F6\u7B49\u5F85\u901A\u8FC7\uFF0C\u518D\u91CD\u65B0\u68C0\u6D4B\u3002","The application has reached its long-connection limit (up to 50 connections).":"\u5E94\u7528\u7684\u957F\u8FDE\u63A5\u6570\u5DF2\u8FBE\u4E0A\u9650\uFF08\u6700\u591A 50 \u4E2A\u8FDE\u63A5\uFF09\u3002","Could not connect to open.feishu.cn; check the server network, proxy and application credentials.":"\u8FDE\u4E0D\u4E0A open.feishu.cn\uFF0C\u8BF7\u68C0\u67E5\u670D\u52A1\u5668\u7F51\u7EDC\u3001\u4EE3\u7406\u548C\u5E94\u7528\u51ED\u636E\u3002","The Feishu long-connection SDK is not installed on the FlyBot server. Reinstall FlyBot, or rebuild the image if it runs in Docker.":"FlyBot \u670D\u52A1\u5668\u4E0A\u6CA1\u6709\u5B89\u88C5\u98DE\u4E66\u957F\u8FDE\u63A5 SDK\u3002\u8BF7\u91CD\u65B0\u5B89\u88C5 FlyBot\uFF1B\u7528 Docker \u8FD0\u884C\u65F6\u8BF7\u91CD\u65B0\u6784\u5EFA\u955C\u50CF\u3002","Operation failed; check network, permissions and published app version":"\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u3001\u5E94\u7528\u6743\u9650\u53CA\u5DF2\u53D1\u5E03\u7684\u5E94\u7528\u7248\u672C\u3002","Conversation handlers":"\u4F1A\u8BDD\u5904\u7406\u7684 Bot","Conversation handler":"\u5904\u7406\u7684 Bot","Follow the default Bot":"\u8DDF\u968F\u9ED8\u8BA4 Bot","Reply in thread":"\u56DE\u590D\u6D88\u606F\u4E32","Connection name":"\u63A5\u5165\u540D\u79F0","App has read-only permission":"\u53EA\u5F00\u901A\u4E86\u53EA\u8BFB","Also process other robots that mention this robot (up to 8 consecutive requests)":"\u5176\u4ED6\u673A\u5668\u4EBA @ \u8FD9\u4E2A\u673A\u5668\u4EBA\u65F6\uFF0C\u4E5F\u4EA4\u7ED9 Bot \u5904\u7406\uFF08\u8FDE\u7EED\u6700\u591A 8 \u6B21\uFF09",Files:"\u6587\u4EF6","Setup guide":"\u8BBE\u7F6E\u5F15\u5BFC","Connect Feishu":"\u63A5\u5165\u98DE\u4E66","New connection":"\u65B0\u5EFA\u63A5\u5165","Prepare a public event address":"\u51C6\u5907\u516C\u7F51\u4E8B\u4EF6\u5730\u5740","Create an app on Feishu Open Platform":"\u5728\u98DE\u4E66\u5F00\u653E\u5E73\u53F0\u521B\u5EFA\u5E94\u7528","Enter credentials and test connection":"\u586B\u5199\u51ED\u636E\u5E76\u6D4B\u8BD5\u8FDE\u63A5","Subscribe to message events and card callbacks":"\u8BA2\u9605\u6D88\u606F\u4E8B\u4EF6\u4E0E\u5361\u7247\u56DE\u8C03","Publish an app version":"\u53D1\u5E03\u5E94\u7528\u7248\u672C","Choose the Bot represented by the robot":"\u9009\u62E9\u673A\u5668\u4EBA\u4EE3\u8868\u7684 Bot","Try it in Feishu":"\u5728\u98DE\u4E66\u4E2D\u8BD5\u4E00\u8BD5","Long connection (recommended, no public address)":"\u957F\u8FDE\u63A5\uFF08\u63A8\u8350\uFF0C\u4E0D\u9700\u8981\u516C\u7F51\u5730\u5740\uFF09","Event address (HTTP, needs a public address)":"\u4E8B\u4EF6\u5730\u5740\uFF08HTTP\uFF0C\u9700\u8981\u516C\u7F51\u5730\u5740\uFF09","Create an internal app, add the Bot capability, and apply for the permissions below. Do not configure events yet.":"\u521B\u5EFA\u4F01\u4E1A\u81EA\u5EFA\u5E94\u7528\uFF0C\u5728\u201C\u6DFB\u52A0\u5E94\u7528\u80FD\u529B\u201D\u4E2D\u6DFB\u52A0\u673A\u5668\u4EBA\uFF0C\u6309\u4E0B\u65B9\u5217\u8868\u7533\u8BF7\u6743\u9650\u5E76\u8BBE\u7F6E\u901A\u8BAF\u5F55\u6743\u9650\u8303\u56F4\u3002\u5148\u4E0D\u8981\u914D\u7F6E\u4E8B\u4EF6\u8BA2\u9605\u3002","Only Feishu (open.feishu.cn) is supported; Lark is not supported.":"\u53EA\u652F\u6301\u98DE\u4E66\uFF08open.feishu.cn\uFF09\uFF0C\u4E0D\u652F\u6301 Lark \u56FD\u9645\u7248\u3002","Copy permission JSON":"\u590D\u5236\u6743\u9650 JSON",Copied:"\u5DF2\u590D\u5236","Extended permissions (Feishu tools)":"\u6269\u5C55\u6743\u9650\uFF08\u98DE\u4E66\u5DE5\u5177\uFF09",Calendar:"\u65E5\u5386","Documents and wiki":"\u6587\u6863\u4E0E\u77E5\u8BC6\u5E93",Bitable:"\u591A\u7EF4\u8868\u683C",Spreadsheets:"\u7535\u5B50\u8868\u683C","Video meetings":"\u89C6\u9891\u4F1A\u8BAE",Tasks:"\u4EFB\u52A1","Import this JSON in Permission management \u2192 Batch import/export. Set the contact data scope to people who will use the robot.":"\u5728\u201C\u6743\u9650\u7BA1\u7406 \u2192 \u6279\u91CF\u5BFC\u5165/\u5BFC\u51FA\u201D\u4E2D\u7C98\u8D34 JSON \u5E76\u7533\u8BF7\u5F00\u901A\uFF1B\u5728\u201C\u6570\u636E\u6743\u9650\u201D\u4E2D\u628A\u901A\u8BAF\u5F55\u6743\u9650\u8303\u56F4\u8BBE\u4E3A\u4F1A\u4F7F\u7528\u673A\u5668\u4EBA\u7684\u6210\u5458\u3002","Public HTTPS event origin":"\u516C\u7F51 HTTPS \u4E8B\u4EF6\u5730\u5740\u524D\u7F00","Forward only the event port to a public HTTPS address. Do not expose the FlyBot console. Leave Encrypt Key empty.":"\u51C6\u5907\u516C\u7F51\u53EF\u4EE5\u8BBF\u95EE\u7684 HTTPS \u5730\u5740\uFF0C\u53EA\u8F6C\u53D1\u4E8B\u4EF6\u7AEF\u53E3\uFF0C\u4E0D\u5F00\u653E\u63A7\u5236\u53F0\u3002Encrypt Key \u4FDD\u6301\u4E3A\u7A7A\uFF1AFlyBot \u4E0D\u63A5\u6536\u52A0\u5BC6\u63A8\u9001\u7684\u4E8B\u4EF6\u3002","Credentials are encrypted on the platform and cannot be viewed after saving. Bots never receive them.":"FlyBot \u52A0\u5BC6\u4FDD\u5B58\u51ED\u636E\uFF0C\u4FDD\u5B58\u540E\u4E0D\u80FD\u518D\u67E5\u770B\u3002\u51ED\u636E\u53EA\u7559\u5728\u5E73\u53F0\uFF0C\u4E0D\u4EA4\u7ED9 Bot\u3002","Leave saved credentials blank to keep them. Switching receiving methods reuses the same Feishu application and conversations.":"\u5DF2\u6709\u51ED\u636E\u7559\u7A7A\u5373\u6CBF\u7528\uFF1B\u5207\u6362\u63A5\u6536\u65B9\u5F0F\u6CBF\u7528\u539F\u6765\u7684\u98DE\u4E66\u5E94\u7528\u548C\u4F1A\u8BDD\uFF0C\u4E0D\u9700\u8981\u91CD\u65B0\u521B\u5EFA\u3002","Switching to a long connection deletes the saved Verification Token.":"\u6539\u7528\u957F\u8FDE\u63A5\u540E\uFF0C\u539F\u6765\u4FDD\u5B58\u7684 Verification Token \u4F1A\u88AB\u5220\u9664\u3002","Save and test connection":"\u4FDD\u5B58\u5E76\u6D4B\u8BD5\u8FDE\u63A5","Connection to Feishu":"\u4E0E\u98DE\u4E66\u7684\u8FDE\u63A5","Refreshes every 3 seconds":"\u6BCF 3 \u79D2\u5237\u65B0",Connected:"\u5DF2\u8FDE\u63A5","Connecting\u2026":"\u6B63\u5728\u8FDE\u63A5\u2026","Connection failed":"\u8FDE\u63A5\u5931\u8D25","Wait until connected: Feishu only allows saving the long connection subscription after FlyBot connects. Check credentials and network if it keeps waiting.":"\u8FD8\u6CA1\u6709\u8FDE\u4E0A\uFF1A\u98DE\u4E66\u53EA\u6709\u5728 FlyBot \u8FDE\u4E0A\u4E4B\u540E\uFF0C\u624D\u5141\u8BB8\u628A\u8BA2\u9605\u65B9\u5F0F\u4FDD\u5B58\u4E3A\u957F\u8FDE\u63A5\u3002\u5982\u679C\u4E00\u76F4\u505C\u5728\u8FD9\u91CC\uFF0C\u68C0\u67E5 App ID\u3001App Secret\uFF0C\u4EE5\u53CA\u670D\u52A1\u5668\u80FD\u5426\u8BBF\u95EE open.feishu.cn\u3002","Now set Events and callbacks \u2192 Event configuration \u2192 Use long connection to receive events, then save.":"\u73B0\u5728\u5230\u201C\u4E8B\u4EF6\u4E0E\u56DE\u8C03 \u2192 \u4E8B\u4EF6\u914D\u7F6E\u201D\uFF0C\u628A\u8BA2\u9605\u65B9\u5F0F\u8BBE\u4E3A\u201C\u4F7F\u7528\u957F\u8FDE\u63A5\u63A5\u6536\u4E8B\u4EF6\u201D\u5E76\u4FDD\u5B58\u3002","Add Receive message v2.0 (im.message.receive_v1).":"\u6DFB\u52A0\u4E8B\u4EF6\u201C\u63A5\u6536\u6D88\u606F v2.0\u201D\uFF08im.message.receive_v1\uFF09\u3002","In Callback configuration, use the long connection and add Card action trigger (card.action.trigger).":"\u5728\u201C\u56DE\u8C03\u914D\u7F6E\u201D\u4E2D\u9009\u62E9\u201C\u4F7F\u7528\u957F\u8FDE\u63A5\u63A5\u6536\u56DE\u8C03\u201D\u5E76\u4FDD\u5B58\uFF0C\u6DFB\u52A0\u201C\u5361\u7247\u56DE\u4F20\u4EA4\u4E92\u201D\uFF08card.action.trigger\uFF09\u3002","In both Event configuration and Callback configuration, select Send to developer server, use the same address below, and save.":"\u5728\u201C\u4E8B\u4EF6\u914D\u7F6E\u201D\u548C\u201C\u56DE\u8C03\u914D\u7F6E\u201D\u4E2D\u5206\u522B\u9009\u62E9\u201C\u5C06\u4E8B\u4EF6/\u56DE\u8C03\u53D1\u9001\u81F3\u5F00\u53D1\u8005\u670D\u52A1\u5668\u201D\uFF0C\u586B\u5199\u4E0B\u65B9\u540C\u4E00\u4E2A\u8BF7\u6C42\u5730\u5740\u5E76\u4FDD\u5B58\u3002","Address verified":"\u8BF7\u6C42\u5730\u5740\u5DF2\u901A\u8FC7\u9A8C\u8BC1","Waiting for address verification":"\u7B49\u5F85\u98DE\u4E66\u9A8C\u8BC1\u8BF7\u6C42\u5730\u5740\uFF1B\u5931\u8D25\u65F6\u68C0\u67E5 Verification Token\uFF0C\u5E76\u8FD4\u56DE\u4E0A\u4E00\u6B65\u4FEE\u6539\u3002","Received an event":"\u5DF2\u6536\u5230\u98DE\u4E66\u4E8B\u4EF6","No event received yet":"\u5C1A\u672A\u6536\u5230\u98DE\u4E66\u4E8B\u4EF6","Without card.action.trigger, cards can display but buttons and forms do not respond. Neither test connection nor connected status checks callback subscriptions.":"\u6CA1\u6709\u8BA2\u9605 card.action.trigger \u65F6\uFF0C\u5361\u7247\u80FD\u663E\u793A\uFF0C\u4F46\u6309\u94AE\u548C\u8868\u5355\u6CA1\u6709\u53CD\u5E94\u3002\u6D4B\u8BD5\u8FDE\u63A5\u3001\u57FA\u7840\u6743\u9650\u68C0\u6D4B\u548C\u201C\u5DF2\u8FDE\u63A5\u201D\u90FD\u4E0D\u68C0\u6D4B\u56DE\u8C03\u8BA2\u9605\u3002","Connect each Feishu app to only one FlyBot instance; multiple instances split incoming messages.":"\u540C\u4E00\u4E2A\u98DE\u4E66\u5E94\u7528\u53EA\u63A5\u5230\u4E00\u4E2A FlyBot\uFF1A\u540C\u65F6\u63A5\u5230\u591A\u4E2A\u5B9E\u4F8B\u65F6\uFF0C\u6D88\u606F\u4F1A\u88AB\u968F\u673A\u5206\u8D70\u3002","Create and publish a version in Version management and release. Include the required members or departments. Wait for enterprise approval if required.":"\u5728\u201C\u7248\u672C\u7BA1\u7406\u4E0E\u53D1\u5E03\u201D\u4E2D\u521B\u5EFA\u7248\u672C\uFF0C\u5728\u53EF\u7528\u8303\u56F4\u4E2D\u9009\u62E9\u80FD\u4F7F\u7528\u673A\u5668\u4EBA\u7684\u6210\u5458\u6216\u90E8\u95E8\uFF0C\u7533\u8BF7\u7EBF\u4E0A\u53D1\u5E03\uFF1B\u9700\u8981\u5BA1\u6838\u65F6\u7B49\u5F85\u4F01\u4E1A\u7BA1\u7406\u5458\u901A\u8FC7\u3002","Permissions, Bot capability, events and callbacks take effect after publishing. Publish again after any change.":"\u6743\u9650\u3001\u673A\u5668\u4EBA\u80FD\u529B\u3001\u6D88\u606F\u4E8B\u4EF6\u548C\u5361\u7247\u56DE\u8C03\u8BA2\u9605\u5728\u53D1\u5E03\u540E\u624D\u751F\u6548\uFF1B\u4E4B\u540E\u4FEE\u6539\u4E5F\u8981\u91CD\u65B0\u53D1\u5E03\u7248\u672C\u3002","Test connection":"\u6D4B\u8BD5\u8FDE\u63A5","One Feishu application represents one Bot. Group mentions and private messages go to the selected local Bot.":"\u4E00\u4E2A\u98DE\u4E66\u5E94\u7528\u5C31\u662F\u4E00\u4E2A\u673A\u5668\u4EBA\u3002\u7FA4\u91CC @ \u5B83\u7684\u6D88\u606F\u548C\u53D1\u7ED9\u5B83\u7684\u79C1\u804A\u6D88\u606F\u4EA4\u7ED9\u9009\u4E2D\u7684\u672C\u5730 Bot \u5904\u7406\uFF0C\u56DE\u590D\u4EE5\u673A\u5668\u4EBA\u7684\u8EAB\u4EFD\u53D1\u51FA\u3002","Choose a Bot":"\u9009\u62E9 Bot","Add the application under Group settings \u2192 Group robots. Mention it in the group, or send a private message.":"\u5728\u201C\u7FA4\u8BBE\u7F6E \u2192 \u7FA4\u673A\u5668\u4EBA\u201D\u4E2D\u6DFB\u52A0\u8FD9\u4E2A\u5E94\u7528\uFF0C\u5728\u7FA4\u91CC @ \u673A\u5668\u4EBA\uFF0C\u6216\u76F4\u63A5\u79C1\u804A\u5B83\u3002","Ask the Bot to send a card with a submit button. Click it and confirm Submitted. Ordinary chat success does not verify card callbacks.":"\u8BF7\u673A\u5668\u4EBA\u53D1\u9001\u4E00\u5F20\u5E26\u63D0\u4EA4\u6309\u94AE\u7684\u5361\u7247\uFF0C\u5B9E\u9645\u70B9\u51FB\u5E76\u786E\u8BA4\u51FA\u73B0\u201C\u5DF2\u63D0\u4EA4\u201D\u63D0\u793A\uFF1B\u666E\u901A\u804A\u5929\u6210\u529F\u4E0D\u80FD\u4EE3\u66FF\u5361\u7247\u4EA4\u4E92\u9A8C\u8BC1\u3002","Each group or private chat keeps one FlyBot conversation; thread replies return to the original thread. Message edits and recalls are not synchronized.":"\u4E00\u4E2A\u7FA4\u804A\u6216\u79C1\u804A\u5BF9\u5E94\u4E00\u4E2A FlyBot \u4F1A\u8BDD\uFF1B\u6D88\u606F\u4E32\u4E2D\u7684\u56DE\u590D\u53D1\u56DE\u539F\u6D88\u606F\u4E32\u3002\u4E0D\u540C\u6B65\u6D88\u606F\u7684\u7F16\u8F91\u548C\u64A4\u56DE\u3002","Who may send messages":"\u8C01\u53EF\u4EE5\u53D1\u6D88\u606F","Allow an open_id":"\u5141\u8BB8\u53D1\u6D88\u606F\u7684 open_id","Allowed senders can send messages; this does not grant platform identity or approval authority.":"\u767D\u540D\u5355\u53EA\u8868\u793A\u5141\u8BB8\u53D1\u6D88\u606F\uFF0C\u4E0D\u7B49\u4E8E\u5E73\u53F0\u7528\u6237\u6216\u5BA1\u6279\u6743\u9650\u3002","Identity linking":"\u8EAB\u4EFD\u5173\u8054","Feishu open_id":"\u98DE\u4E66 open_id","Platform member":"\u5E73\u53F0\u6210\u5458","Link identity":"\u5173\u8054\u8EAB\u4EFD","Link to an existing signed-in platform member. No external members or new login accounts are created. Unlinked card submissions and meeting bookings are refused.":"\u5173\u8054\u5230\u5DF2\u6709\u5E73\u53F0\u6210\u5458\uFF0C\u4E0D\u521B\u5EFA\u5916\u90E8\u6210\u5458\u6216\u65B0\u767B\u5F55\u8D26\u53F7\u3002\u672A\u5173\u8054\u7684\u5361\u7247\u63D0\u4EA4\u548C\u89C6\u9891\u4F1A\u8BAE\u9884\u7EA6\u4F1A\u88AB\u62D2\u7EDD\u3002","Feishu tools":"\u98DE\u4E66\u5DE5\u5177",Disabled:"\u7981\u7528","Read only":"\u53EA\u8BFB","Read/write, ask before writes":"\u8BFB\u5199\uFF0C\u5199\u5165\u9700\u8BE2\u95EE","Read/write":"\u8BFB\u5199","Permissions of the Feishu application":"\u98DE\u4E66\u5E94\u7528\u7684\u6743\u9650","Check permissions again":"\u91CD\u65B0\u68C0\u6D4B","App permission not granted":"\u98DE\u4E66\u5E94\u7528\u672A\u5F00\u901A",Diagnostics:"\u8BCA\u65AD\u8BB0\u5F55","Delivery records":"\u6295\u9012\u8BB0\u5F55",Cards:"\u5361\u7247","Delete connection":"\u5220\u9664\u63A5\u5165",Later:"\u7A0D\u540E\u7EE7\u7EED",Next:"\u4E0B\u4E00\u6B65",Back:"\u4E0A\u4E00\u6B65",Finish:"\u5B8C\u6210",Save:"\u4FDD\u5B58","App ID must be cli_ followed by 16 hexadecimal characters":"App ID \u5FC5\u987B\u662F cli_ \u52A0 16 \u4F4D\u5341\u516D\u8FDB\u5236\u5B57\u7B26\u3002","Enter the App Secret":"\u8BF7\u586B\u5199 App Secret\u3002","Enter the Verification Token":"\u8BF7\u586B\u5199 Verification Token\u3002","Prepare a public HTTPS event address":"\u8BF7\u5148\u51C6\u5907\u516C\u7F51\u53EF\u4EE5\u8BBF\u95EE\u7684 HTTPS \u4E8B\u4EF6\u5730\u5740\u3002"};var Vl="ds-bot",T7={...Tl,Workflows:"\u5DE5\u4F5C\u6D41","A workflow is a group of your Bots. Drag the flowchart to change who hands work to whom.":"\u5DE5\u4F5C\u6D41\u662F\u4E00\u7EC4\u4F60\u7684 Bot\u3002\u62D6\u52A8\u6D41\u7A0B\u56FE\uFF0C\u6539\u8C01\u628A\u5DE5\u4F5C\u4EA4\u7ED9\u8C01\u3002","Factory presets":"\u51FA\u5382\u9884\u8BBE","Ready-made pipelines. Use one to start your own.":"\u51FA\u5382\u5C31\u6709\u7684\u6D41\u7A0B\u3002\u7528\u4E00\u4E2A\uFF0C\u505A\u6210\u4F60\u81EA\u5DF1\u7684\u3002",Yours:"\u4F60\u81EA\u5DF1\u7684","Workflows saved on this machine.":"\u8FD9\u53F0\u673A\u5668\u4E0A\u4FDD\u5B58\u7684\u5DE5\u4F5C\u6D41\u3002","No workflows of your own yet.":"\u8FD8\u6CA1\u6709\u4F60\u81EA\u5DF1\u7684\u5DE5\u4F5C\u6D41\u3002","No workflows yet.":"\u8FD8\u6CA1\u6709\u5DE5\u4F5C\u6D41\u3002","Reading workflows\u2026":"\u6B63\u5728\u8BFB\u53D6\u5DE5\u4F5C\u6D41\u2026","Could not read workflows":"\u8BFB\u4E0D\u5230\u5DE5\u4F5C\u6D41\u3002","The Workflow plugin is not installed or not enabled. A default install includes @flybot/workflow.":"\u5DE5\u4F5C\u6D41\u63D2\u4EF6\u6CA1\u6709\u5B89\u88C5\uFF0C\u6216\u6CA1\u6709\u542F\u7528\u3002\u9ED8\u8BA4\u5B89\u88C5\u5305\u542B @flybot/workflow\u3002","Could not copy this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u590D\u5236\u4E0D\u4E86\u3002","Could not save this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u4FDD\u5B58\u4E0D\u4E86\u3002","Could not rename this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u6539\u4E0D\u4E86\u540D\u3002","Could not delete this workflow":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u5220\u4E0D\u6389\u3002","Use this":"\u7528\u8FD9\u4E2A","Rename workflow":"\u91CD\u547D\u540D\u5DE5\u4F5C\u6D41","Delete workflow":"\u5220\u9664\u5DE5\u4F5C\u6D41",'Are you sure you want to delete "{name}"? This cannot be undone.':"\u786E\u5B9A\u5220\u9664\u300C{name}\u300D\u5417\uFF1F\u5220\u9664\u540E\u65E0\u6CD5\u6062\u590D\u3002","Finish editing":"\u5B8C\u6210","Drag a Bot here":"\u628A Bot \u62D6\u5230\u56FE\u4E0A","System prompt":"\u7CFB\u7EDF\u63D0\u793A\u8BCD","Parallel branch, then join":"\u5E76\u884C\u5206\u652F \xB7 \u5168\u90E8\u901A\u8FC7\u540E\u6C47\u5408","This workflow has no flowchart yet.":"\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u8FD8\u6CA1\u6709\u6D41\u7A0B\u56FE\u3002",Queued:"\u6392\u961F\u4E2D",Running:"\u8FD0\u884C\u4E2D",Skipped:"\u8DF3\u8FC7",Idle:"\u7A7A\u95F2","project default":"\u9879\u76EE\u9ED8\u8BA4",Customize:"\u5B9A\u5236\u4E00\u4EFD",Save:"\u4FDD\u5B58","Use for this project":"\u672C\u9879\u76EE\u4F7F\u7528","This node has no guards, so nothing refuses it but its inputs.":"\u8FD9\u4E2A\u8282\u70B9\u6CA1\u6709 guard\uFF0C\u9664\u4E86\u8F93\u5165\u4E4B\u5916\u6CA1\u6709\u522B\u7684\u4E1C\u897F\u4F1A\u62D2\u7EDD\u5B83\u3002",Guards:"Guard",Edges:"\u8FB9","Guards of {node}":"{node} \u7684 Guard",holds:"\u6210\u7ACB","cannot read":"\u8BFB\u4E0D\u5230",refuses:"\u62D2\u7EDD","The flowchart, drawn from the node table":"\u6D41\u7A0B\u56FE\uFF0C\u6309\u8282\u70B9\u8868\u7ED8\u5236","This host could not read the facts, so these guards say what they could not read \u2014 none of them is a pass.":"\u8FD9\u53F0\u4E3B\u673A\u8BFB\u4E0D\u5230\u4E8B\u5B9E\uFF0C\u6240\u4EE5\u8FD9\u4E9B guard \u53EA\u8BF4\u8BFB\u4E0D\u5230\u4EC0\u4E48\u2014\u2014\u6CA1\u6709\u4E00\u6761\u7B97\u901A\u8FC7\u3002","Saved workflows/{id}.json":"\u5DF2\u4FDD\u5B58 workflows/{id}.json","Could not open this workflow":"\u6253\u4E0D\u5F00\u8FD9\u4E2A\u5DE5\u4F5C\u6D41","This definition cannot be saved":"\u8FD9\u4E2A\u5B9A\u4E49\u4E0D\u80FD\u4FDD\u5B58","This definition cannot be copied":"\u8FD9\u4E2A\u5B9A\u4E49\u4E0D\u80FD\u590D\u5236","Select a node to edit":"\u9009\u62E9\u4E00\u4E2A\u8282\u70B9\u6765\u7F16\u8F91","Node settings":"\u8282\u70B9\u8BBE\u7F6E",Tools:"\u5DE5\u5177","Inputs and outputs":"\u8F93\u5165\u548C\u8F93\u51FA","{count} card(s) name a node this workflow draws no column for.":"\u6709 {count} \u5F20\u5361\u6307\u5411\u8FD9\u4E2A\u5DE5\u4F5C\u6D41\u4E0D\u753B\u5217\u7684\u8282\u70B9\u3002","Main Bot":"\u4E3B Bot",Working:"\u5DE5\u4F5C\u4E2D","Waiting for your answer":"\u7B49\u4F60\u56DE\u7B54","Unread activity":"\u6709\u672A\u8BFB",Search:"\u641C\u7D22","New chat":"\u65B0\u5BF9\u8BDD","Message one of your Bots":"\u7ED9\u4F60\u7684\u4E00\u4E2A Bot \u53D1\u6D88\u606F","Set up a Bot with its own role":"\u521B\u5EFA\u4E00\u4E2A\u6709\u81EA\u5DF1\u89D2\u8272\u7684 Bot","New group chat":"\u65B0\u5EFA\u7FA4\u804A","Chat with several of your Bots":"\u548C\u4F60\u7684\u51E0\u4E2A Bot \u4E00\u8D77\u804A","Face-to-face room":"\u9762\u5BF9\u9762\u623F\u95F4","Meet people nearby with a 6-digit number":"\u7528\u540C\u4E00\u7EC4 6 \u4F4D\u6570\u5B57\u548C\u8EAB\u8FB9\u7684\u4EBA\u89C1\u9762","Join by number or link":"\u7528\u53F7\u7801\u6216\u94FE\u63A5\u52A0\u5165","Start a face-to-face room":"\u9762\u5BF9\u9762\u5EFA\u7FA4","Start a new room with {code}":"\u7528 {code} \u5F00\u4E00\u4E2A\u65B0\u623F\u95F4","No one is waiting under this number. If someone already opened the room, the number no longer works \u2014 ask them for an invite link.":"\u8FD9\u4E2A\u53F7\u7801\u4E0B\u8FD8\u6CA1\u6709\u4EBA\u5728\u7B49\u3002\u5982\u679C\u5DF2\u7ECF\u6709\u4EBA\u5F00\u8FC7\u8FD9\u4E2A\u623F\u95F4\uFF0C\u53F7\u7801\u5C31\u4E0D\u518D\u6709\u6548\u2014\u2014\u5411\u4ED6\u4EEC\u8981\u4E00\u6761\u9080\u8BF7\u94FE\u63A5\u3002","Start a new room":"\u5F00\u4E00\u4E2A\u65B0\u623F\u95F4","Enter a number, or paste a group invite link":"\u8F93\u5165\u6570\u5B57\u9762\u5BF9\u9762\u5EFA\u7FA4\uFF0C\u6216\u7C98\u8D34\u9080\u8BF7\u94FE\u63A5\u52A0\u5165","Pick your Bots. Enter the same 6-digit number as everyone nearby to build a room together, or paste a group invite link or scan its QR code to join that group.":"\u9009\u597D\u4F60\u7684 Bot\u3002\u548C\u8EAB\u8FB9\u7684\u4EBA\u8F93\u5165\u540C\u4E00\u7EC4 6 \u4F4D\u6570\u5B57\u4E00\u8D77\u5EFA\u7FA4\uFF0C\u6216\u7C98\u8D34\u7FA4\u9080\u8BF7\u94FE\u63A5\u3001\u626B\u63CF\u4E8C\u7EF4\u7801\u52A0\u5165\u90A3\u4E2A\u7FA4\u3002","Pick the number everyone nearby types":"\u5B9A\u4E00\u4E2A\u5927\u5BB6\u90FD\u8F93\u5165\u7684\u53F7\u7801","Pick your Bots and choose a 6-digit number. Everyone nearby types the same number to build the room together.":"\u9009\u597D\u4F60\u7684 Bot\uFF0C\u518D\u5B9A\u4E00\u7EC4 6 \u4F4D\u6570\u5B57\u3002\u8EAB\u8FB9\u7684\u4EBA\u8F93\u5165\u540C\u4E00\u4E2A\u53F7\u7801\uFF0C\u5C31\u80FD\u4E00\u8D77\u628A\u8FD9\u4E2A\u7FA4\u5EFA\u8D77\u6765\u3002","Or paste a group invite link (https://\u2026/r/\u2026)":"\u6216\u7C98\u8D34\u7FA4\u9080\u8BF7\u94FE\u63A5\uFF08https://\u2026/r/\u2026\uFF09","Could not run: {error}":"\u8FD9\u4E00\u8F6E\u6CA1\u80FD\u8DD1\u8D77\u6765\uFF1A{error}","the model call failed":"\u6A21\u578B\u8C03\u7528\u5931\u8D25","{count} turns in a row":"\u8FDE\u7EED {count} \u8F6E","Group invite link":"\u7FA4\u9080\u8BF7\u94FE\u63A5","Room-only: friends do not see these Bots unless you invite them.":"\u4EC5\u9650\u8FD9\u4E2A\u623F\u95F4\uFF1A\u9664\u975E\u4F60\u9080\u8BF7\uFF0C\u597D\u53CB\u770B\u4E0D\u5230\u8FD9\u4E9B Bot\u3002","6 digits":"6 \u4F4D\u6570\u5B57","6-digit room number":"6 \u4F4D\u623F\u95F4\u53F7","Pick a Bot first.":"\u8BF7\u5148\u9009\u4E00\u4E2A Bot\u3002","Enter all 6 digits.":"\u8BF7\u8F93\u5165\u5B8C\u6574\u7684 6 \u4F4D\u6570\u5B57\u3002","Enter 6 digits":"\u8BF7\u8F93\u5165 6 \u4F4D\u6570\u5B57","Join with link":"\u7528\u94FE\u63A5\u52A0\u5165","Scan a code":"\u626B\u7801","Join group":"\u52A0\u5165\u7FA4",Join:"\u52A0\u5165","Invite by link":"\u7528\u94FE\u63A5\u9080\u8BF7","Create link":"\u521B\u5EFA\u94FE\u63A5","New link":"\u65B0\u94FE\u63A5","Anyone you give the link to can join with their Bot, until you withdraw it. They do not become a friend.":"\u62FF\u5230\u94FE\u63A5\u7684\u4EBA\u53EF\u4EE5\u5E26\u7740\u81EA\u5DF1\u7684 Bot \u52A0\u5165\uFF0C\u76F4\u5230\u4F60\u64A4\u56DE\u94FE\u63A5\u3002\u4ED6\u4EEC\u4E0D\u4F1A\u6210\u4E3A\u4F60\u7684\u597D\u53CB\u3002","No link came back. Try again.":"\u6CA1\u6709\u62FF\u5230\u94FE\u63A5\uFF0C\u8BF7\u91CD\u8BD5\u3002","The link was withdrawn. Nobody can join with it now.":"\u94FE\u63A5\u5DF2\u64A4\u56DE\uFF0C\u73B0\u5728\u6CA1\u4EBA\u80FD\u7528\u5B83\u52A0\u5165\u3002","Every unused link was withdrawn.":"\u6240\u6709\u8FD8\u6CA1\u7528\u8FC7\u7684\u94FE\u63A5\u90FD\u5DF2\u64A4\u56DE\u3002","This link has expired.":"\u8FD9\u4E2A\u94FE\u63A5\u5DF2\u8FC7\u671F\u3002","QR code for this group invite":"\u8FD9\u4E2A\u7FA4\u9080\u8BF7\u7684\u4E8C\u7EF4\u7801","Scan with FlyBot to join this group":"\u7528 FlyBot \u626B\u7801\u52A0\u5165\u8FD9\u4E2A\u7FA4","Copy link":"\u590D\u5236\u94FE\u63A5","{time} left to join":"\u8FD8\u5269 {time} \u53EF\u52A0\u5165","Works until you withdraw it.":"\u5728\u4F60\u64A4\u56DE\u4E4B\u524D\u4E00\u76F4\u6709\u6548\u3002","Withdraw link":"\u64A4\u56DE\u94FE\u63A5","1 earlier link still works.":"\u8FD8\u6709 1 \u4E2A\u4E4B\u524D\u7684\u94FE\u63A5\u4ECD\u7136\u6709\u6548\u3002","{count} earlier links still work.":"\u8FD8\u6709 {count} \u4E2A\u4E4B\u524D\u7684\u94FE\u63A5\u4ECD\u7136\u6709\u6548\u3002","Withdraw all":"\u5168\u90E8\u64A4\u56DE","{names} cannot be shown to someone who joins by link. Share them (Bot settings \u2192 Sharing) or remove them from the group, then seat the guest.":"{names} \u4E0D\u80FD\u7ED9\u901A\u8FC7\u94FE\u63A5\u52A0\u5165\u7684\u4EBA\u770B\u5230\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E \u2192 \u5171\u4EAB\u91CC\u5171\u4EAB\u4ED6\u4EEC\uFF0C\u6216\u628A\u4ED6\u4EEC\u79FB\u51FA\u7FA4\uFF0C\u7136\u540E\u518D\u5B89\u6392\u5BA2\u4EBA\u5165\u5EA7\u3002","A Bot in this group cannot be shown to someone who joins by link. Share that Bot or remove it, then seat the guest.":"\u8FD9\u4E2A\u7FA4\u91CC\u6709\u4E00\u4E2A Bot \u4E0D\u80FD\u7ED9\u901A\u8FC7\u94FE\u63A5\u52A0\u5165\u7684\u4EBA\u770B\u5230\u3002\u8BF7\u5171\u4EAB\u8BE5 Bot \u6216\u628A\u5B83\u79FB\u51FA\u7FA4\uFF0C\u7136\u540E\u518D\u5B89\u6392\u5BA2\u4EBA\u5165\u5EA7\u3002","A guest is in the group, but telling their FlyBot is waiting for your approval.":"\u5BA2\u4EBA\u5DF2\u7ECF\u5728\u7FA4\u91CC\uFF0C\u4F46\u901A\u77E5\u5BF9\u65B9 FlyBot \u8FD8\u5728\u7B49\u4F60\u6279\u51C6\u3002","A guest is in the group, but their FlyBot has not opened it yet. Seat them again.":"\u5BA2\u4EBA\u5DF2\u7ECF\u5728\u7FA4\u91CC\uFF0C\u4F46\u5BF9\u65B9\u7684 FlyBot \u8FD8\u6CA1\u6709\u6253\u5F00\u8FD9\u4E2A\u7FA4\u3002\u8BF7\u518D\u5B89\u6392\u4E00\u6B21\u5165\u5EA7\u3002","Seat them":"\u5B89\u6392\u5165\u5EA7","Paste an invite link or code":"\u7C98\u8D34\u9080\u8BF7\u94FE\u63A5\u6216\u9080\u8BF7\u7801","A coding session without a Bot":"\u4E0D\u5E26 Bot \u7684\u7F16\u7801\u4F1A\u8BDD","New Bot \u201C{name}\u201D":"\u65B0\u5EFA Bot\u300C{name}\u300D","New\u2026":"\u65B0\u5EFA",Animation:"\u52A8\u753B","Bot animation":"Bot \u52A8\u753B",Quiet:"\u5B89\u9759",Normal:"\u6B63\u5E38",Lively:"\u6D3B\u6CFC",Settings:"\u8BBE\u7F6E",Usage:"\u7528\u91CF",Account:"\u8D26\u6237",Cancel:"\u53D6\u6D88",Delete:"\u5220\u9664",Duplicate:"\u590D\u5236\u4E00\u4EFD",Hidden:"\u5DF2\u9690\u85CF",Admin:"\u7BA1\u7406\u5458",Human:"\u4EBA",Chief:"Chief",Shared:"\u5171\u4EAB","Add person":"\u6DFB\u52A0\u6210\u5458","Add friend's Bot":"\u6DFB\u52A0\u597D\u53CB\u7684 Bot","Sending as {name}":"\u4EE5 {name} \u7684\u8EAB\u4EFD\u53D1\u9001","Messages in this room are attributed to you":"\u8FD9\u4E2A\u623F\u95F4\u91CC\u7684\u6D88\u606F\u4F1A\u8BB0\u5728\u4F60\u7684\u540D\u4E0B","You can remove your Bot from this room":"\u4F60\u53EF\u4EE5\u4ECE\u8FD9\u4E2A\u623F\u95F4\u79FB\u8D70\u81EA\u5DF1\u7684 Bot","Shared room from {name}":"\u6765\u81EA {name} \u7684\u5171\u4EAB\u623F\u95F4","a friend":"\u4E00\u4F4D\u670B\u53CB","Your Bot was invited to this room by {name}":"{name} \u9080\u8BF7\u4E86\u4F60\u7684 Bot \u52A0\u5165\u8FD9\u4E2A\u623F\u95F4","Invited {when}":"\u9080\u8BF7\u4E8E {when}","Remove my Bot":"\u79FB\u8D70\u6211\u7684 Bot","{count} to approve":"{count} \u6761\u5F85\u6279\u51C6","Outbound reply":"\u5F85\u53D1\u51FA\u7684\u56DE\u590D",Add:"\u6DFB\u52A0",Close:"\u5173\u95ED",Copy:"\u590D\u5236",Copied:"\u5DF2\u590D\u5236",Content:"\u5185\u5BB9","Referenced {labels}":"\u5F15\u7528\u4E86 {labels}",", ":"\u3001",You:"\u4F60",you:"\u4F60",Bot:"Bot","a Bot":"\u4E00\u4E2A Bot","a group chat":"\u4E00\u4E2A\u7FA4\u804A"," and ":"\u3001",and:"\u548C","{count} members":"{count} \u4F4D\u6210\u5458","{count} member":"{count} \u4F4D\u6210\u5458","1 person":"1 \u4EBA","{count} people":"{count} \u4EBA","1 Bot":"1 \u4E2A Bot","{count} Bots":"{count} \u4E2A Bot","Loading\u2026":"\u52A0\u8F7D\u4E2D\u2026","Edit Bot":"\u7F16\u8F91 Bot","Make Main Bot":"\u8BBE\u4E3A\u4E3B Bot","Remove Main Bot role":"\u53D6\u6D88\u4E3B Bot","Bot settings":"Bot \u8BBE\u7F6E","Create group chat":"\u65B0\u5EFA\u7FA4\u804A","{name} is not shared with {friend}, so it cannot be in a group with their Bot: the group's messages go to their home.":"{name} \u8FD8\u6CA1\u6709\u5171\u4EAB\u7ED9 {friend}\uFF0C\u6240\u4EE5\u4E0D\u80FD\u548C\u5BF9\u65B9\u7684 Bot \u5728\u540C\u4E00\u4E2A\u7FA4\u91CC\uFF1A\u7FA4\u6D88\u606F\u4F1A\u53D1\u5230\u5BF9\u65B9\u7684\u4E3B\u9875\u3002","{name} are not shared with {friend}, so they cannot be in a group with their Bot: the group's messages go to their home.":"{name} \u8FD8\u6CA1\u6709\u5171\u4EAB\u7ED9 {friend}\uFF0C\u6240\u4EE5\u4E0D\u80FD\u548C\u5BF9\u65B9\u7684 Bot \u5728\u540C\u4E00\u4E2A\u7FA4\u91CC\uFF1A\u7FA4\u6D88\u606F\u4F1A\u53D1\u5230\u5BF9\u65B9\u7684\u4E3B\u9875\u3002","that friend":"\u8FD9\u4F4D\u597D\u53CB","Copy invite link for {name}":"\u590D\u5236 {name} \u7684\u9080\u8BF7\u94FE\u63A5","Leave {name} out":"\u4E0D\u62C9 {name} \u8FDB\u7FA4","Invite link for {name} copied. Send it to your friend; once they accept, create the group again.":"{name} \u7684\u9080\u8BF7\u94FE\u63A5\u5DF2\u590D\u5236\u3002\u53D1\u7ED9\u597D\u53CB\uFF0C\u5BF9\u65B9\u63A5\u53D7\u540E\u518D\u91CD\u65B0\u5EFA\u7FA4\u3002","Invite link":"\u9080\u8BF7\u94FE\u63A5","Could not copy the invite link for {name}. Copy the link below and send it to your friend; once they accept, create the group again.":"\u65E0\u6CD5\u81EA\u52A8\u590D\u5236 {name} \u7684\u9080\u8BF7\u94FE\u63A5\u3002\u8BF7\u624B\u52A8\u590D\u5236\u4E0B\u9762\u7684\u94FE\u63A5\u53D1\u7ED9\u597D\u53CB\uFF0C\u5BF9\u65B9\u63A5\u53D7\u540E\u518D\u91CD\u65B0\u5EFA\u7FA4\u3002","Could not create the invite. Use Bot settings \u2192 Sharing \u2192 Copy invite link for this Bot.":"\u65E0\u6CD5\u521B\u5EFA\u9080\u8BF7\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E \u2192 Sharing \u91CC\u4F7F\u7528 Copy invite link for this Bot\u3002","Add friend":"\u6DFB\u52A0\u597D\u53CB","Friend requests":"\u597D\u53CB\u8BF7\u6C42","Accept or decline incoming requests.":"\u63A5\u53D7\u6216\u62D2\u7EDD\u6536\u5230\u7684\u8BF7\u6C42\u3002","Accept invite":"\u63A5\u53D7\u9080\u8BF7","Paste a friend\u2019s invite link or code.":"\u7C98\u8D34\u670B\u53CB\u7684\u9080\u8BF7\u94FE\u63A5\u6216\u9080\u8BF7\u7801\u3002","Copy invite link":"\u590D\u5236\u9080\u8BF7\u94FE\u63A5","Copy a link a friend can paste in Add friend.":"\u590D\u5236\u94FE\u63A5\uFF0C\u670B\u53CB\u5728\u6DFB\u52A0\u597D\u53CB\u91CC\u7C98\u8D34\u5373\u53EF\u3002","Copy my handle":"\u590D\u5236\u6211\u7684 handle","Your Bot Social handle":"\u4F60\u7684 Bot Social handle","Face-to-face":"\u9762\u5BF9\u9762","This Bot has no model set up yet.":"\u8FD9\u4E2A Bot \u8FD8\u6CA1\u6709\u914D\u7F6E\u6A21\u578B\u3002","This Bot could not answer right now.":"\u8FD9\u4E2A Bot \u73B0\u5728\u6CA1\u6CD5\u56DE\u7B54\u3002","Refreshing\u2026":"\u6B63\u5728\u5237\u65B0\u2026","Delete group":"\u5220\u9664\u7FA4\u804A","Open {name}'s chat":"\u6253\u5F00 {name} \u7684\u5BF9\u8BDD","New Bot":"\u65B0 Bot","Bot list":"Bot \u5217\u8868","Bot tree":"Bot \u6811","no longer shared":"\u5DF2\u4E0D\u518D\u5171\u4EAB","Messages waiting for your approval":"\u7B49\u4F60\u6279\u51C6\u7684\u6D88\u606F","Waiting for approval":"\u7B49\u5F85\u6279\u51C6","Decide on the reply bubble above.":"\u5728\u4E0A\u9762\u7684\u56DE\u590D\u6C14\u6CE1\u91CC\u6279\u51C6\u3002","Decide in {name}'s chat.":"\u5728 {name} \u7684\u804A\u5929\u91CC\u6279\u51C6\u3002","Not sent":"\u672A\u53D1\u51FA","{name} \xB7 Not sent":"{name} \xB7 \u672A\u53D1\u51FA","Sent to {to}":"\u5DF2\u53D1\u7ED9 {to}","Auto-sent to {to}":"\u5DF2\u81EA\u52A8\u53D1\u7ED9 {to}","Not sent: delivery failed":"\u672A\u53D1\u51FA\uFF1A\u53D1\u9001\u5931\u8D25","{from} \u2192 {to}":"{from} \u2192 {to}","+{count} more":"\u53E6\u6709 {count} \u6761",delegated:"\u59D4\u6258\u8F6C\u8FBE",All:"\u5168\u90E8",Filter:"\u7B5B\u9009",Review:"\u67E5\u770B","Attached files":"\u9644\u4EF6",Retry:"\u91CD\u8BD5",Approve:"\u6279\u51C6","Friend's Bot":"\u597D\u53CB\u7684 Bot",Unconfirmed:"\u672A\u786E\u8BA4","Not connected":"\u672A\u63A5\u5165",Expand:"\u5C55\u5F00",Collapse:"\u6536\u8D77","Setting up your Main Bot\u2026":"\u6B63\u5728\u8BBE\u7F6E\u4F60\u7684\u4E3B Bot\u2026","Connect apps":"\u8FDE\u63A5\u5E94\u7528",Plugins:"\u63D2\u4EF6",Connectors:"\u8FDE\u63A5\u5668","Search connectors":"\u641C\u7D22\u8FDE\u63A5\u5668","No connectors":"\u6682\u65E0\u8FDE\u63A5\u5668",Capabilities:"\u80FD\u529B","Shared capabilities":"\u5171\u4EAB\u80FD\u529B","Add capability":"\u6DFB\u52A0\u80FD\u529B","No capabilities saved":"\u8FD8\u6CA1\u6709\u4FDD\u5B58\u80FD\u529B",Type:"\u7C7B\u578B","MCP server":"MCP \u670D\u52A1",Skill:"\u6280\u80FD",Pack:"\u80FD\u529B\u5305",Connection:"\u8FDE\u63A5\u65B9\u5F0F","Local command":"\u672C\u5730\u547D\u4EE4","HTTP server":"HTTP \u670D\u52A1",Command:"\u547D\u4EE4","Arguments (one per line)":"\u53C2\u6570\uFF08\u6BCF\u884C\u4E00\u4E2A\uFF09","Environment (JSON)":"\u73AF\u5883\u53D8\u91CF\uFF08JSON\uFF09",'{"API_KEY": "$DSH_SECRET_MY_KEY"}':'{"API_KEY": "$DSH_SECRET_MY_KEY"}',URL:"URL","Headers (JSON)":"\u8BF7\u6C42\u5934\uFF08JSON\uFF09","Skill instructions":"\u6280\u80FD\u8BF4\u660E","Save changes":"\u4FDD\u5B58\u66F4\u6539",Edit:"\u7F16\u8F91","Click again to delete.":"\u518D\u70B9\u4E00\u6B21\u5220\u9664\u3002",Ready:"\u5C31\u7EEA","Needs approval":"\u9700\u8981\u6279\u51C6","No items":"\u6CA1\u6709\u9879\u76EE","Save an MCP server or skill first.":"\u8BF7\u5148\u4FDD\u5B58 MCP \u670D\u52A1\u6216\u6280\u80FD\u3002",Environment:"\u73AF\u5883\u53D8\u91CF",Headers:"\u8BF7\u6C42\u5934","{label} must be valid JSON.":"{label}\u5FC5\u987B\u662F\u6709\u6548\u7684 JSON\u3002","{label} must be a JSON object.":"{label}\u5FC5\u987B\u662F JSON \u5BF9\u8C61\u3002","Repositories, issues, and pull requests":"\u4ED3\u5E93\u3001issue \u548C PR","Connecting\u2026":"\u6B63\u5728\u8FDE\u63A5\u2026","Could not connect: {error}":"\u8FDE\u63A5\u5931\u8D25\uFF1A{error}","Connected as {account}":"\u5DF2\u8FDE\u63A5\uFF1A{account}","Bot Social":"Bot Social","Bot Social server":"Bot Social \u670D\u52A1\u5668","Connected as {handle}":"\u5DF2\u8FDE\u63A5\uFF1A{handle}","Held for your approval: contains {reasons}":"\u5DF2\u6263\u7559\uFF0C\u7B49\u5F85\u4F60\u6279\u51C6\uFF1A\u542B{reasons}","commitment language":"\u627F\u8BFA\u7528\u8BED","a phone number":"\u624B\u673A\u53F7","an email address":"\u90AE\u7BB1\u5730\u5740","a money amount":"\u91D1\u989D","one of your sensitive terms":"\u4F60\u8BBE\u7F6E\u7684\u654F\u611F\u8BCD","calendar details":"\u65E5\u7A0B\u8BE6\u60C5","No server set. Friends and sharing are off until you set one.":"\u8FD8\u6CA1\u6709\u8BBE\u7F6E\u670D\u52A1\u5668\u3002\u8BBE\u7F6E\u4E4B\u524D\uFF0C\u597D\u53CB\u548C\u5206\u4EAB\u529F\u80FD\u4E0D\u53EF\u7528\u3002","Set here":"\u5728\u8FD9\u91CC\u8BBE\u7F6E","Profile default":"\u914D\u7F6E\u6587\u4EF6\u9ED8\u8BA4\u503C","Not set":"\u672A\u8BBE\u7F6E","No server":"\u6CA1\u6709\u670D\u52A1\u5668","Change server":"\u66F4\u6362\u670D\u52A1\u5668",Features:"\u529F\u80FD","No optional features listed.":"\u670D\u52A1\u5668\u6CA1\u6709\u5217\u51FA\u53EF\u9009\u529F\u80FD\u3002","Supports: {list}":"\u652F\u6301\uFF1A{list}","typing as you":"\u4EE5\u4F60\u7684\u8EAB\u4EFD\u8F93\u5165","@mentions":"@\u63D0\u53CA","online status":"\u5728\u7EBF\u72B6\u6001","(+{count} more)":"\uFF08\u53E6\u6709 {count} \u9879\uFF09","Supports 1 optional feature":"\u652F\u6301 1 \u9879\u53EF\u9009\u529F\u80FD","Supports {count} optional features":"\u652F\u6301 {count} \u9879\u53EF\u9009\u529F\u80FD",Reachability:"\u8FDE\u901A\u6027","Read-only":"\u53EA\u8BFB","Another FlyBot window holds this team. Change the server there.":"\u53E6\u4E00\u4E2A FlyBot \u7A97\u53E3\u6B63\u5728\u4F7F\u7528\u8FD9\u4E2A\u56E2\u961F\uFF0C\u8BF7\u5728\u90A3\u91CC\u66F4\u6362\u670D\u52A1\u5668\u3002","Switch server":"\u5207\u6362\u670D\u52A1\u5668","Server address":"\u670D\u52A1\u5668\u5730\u5740","Used before:":"\u7528\u8FC7\u7684\u670D\u52A1\u5668\uFF1A","{host} (profile default)":"{host}\uFF08\u914D\u7F6E\u6587\u4EF6\u9ED8\u8BA4\u503C\uFF09","Name for your home (optional)":"\u4F60\u7684\u4E3B\u9875\u540D\u79F0\uFF08\u53EF\u9009\uFF09","Switching servers changes who you are":"\u6362\u670D\u52A1\u5668\uFF0C\u5C31\u662F\u6362\u4E00\u4E2A\u8EAB\u4EFD","You used this server before. Your saved identity, friends and settings for it come back.":"\u4F60\u4EE5\u524D\u7528\u8FC7\u8FD9\u53F0\u670D\u52A1\u5668\uFF0C\u5B83\u4E0A\u9762\u4FDD\u5B58\u7684\u8EAB\u4EFD\u3001\u597D\u53CB\u548C\u8BBE\u7F6E\u4F1A\u6062\u590D\u3002","You get a new identity on this server. The friends and sharing you have now stay on the current server; they do not move.":"\u4F60\u4F1A\u5728\u8FD9\u53F0\u670D\u52A1\u5668\u4E0A\u5F97\u5230\u4E00\u4E2A\u65B0\u8EAB\u4EFD\u3002\u73B0\u5728\u7684\u597D\u53CB\u548C\u5206\u4EAB\u7559\u5728\u5F53\u524D\u670D\u52A1\u5668\u4E0A\uFF0C\u4E0D\u4F1A\u642C\u8FC7\u53BB\u3002","Your current sign-in is kept as a backup on this computer and is never deleted. Switch back any time.":"\u5F53\u524D\u7684\u767B\u5F55\u51ED\u636E\u4F1A\u4F5C\u4E3A\u5907\u4EFD\u4FDD\u7559\u5728\u8FD9\u53F0\u7535\u8111\u4E0A\uFF0C\u4E0D\u4F1A\u88AB\u5220\u9664\u3002\u968F\u65F6\u53EF\u4EE5\u5207\u6362\u56DE\u6765\u3002","Your Bots stop being shared with friends until you share them again on the new server.":"\u5728\u65B0\u670D\u52A1\u5668\u4E0A\u91CD\u65B0\u5206\u4EAB\u4E4B\u524D\uFF0C\u4F60\u7684 Bot \u4E0D\u518D\u4E0E\u597D\u53CB\u5171\u4EAB\u3002",Friends:"\u597D\u53CB","No friends yet.":"\u8FD8\u6CA1\u6709\u597D\u53CB\u3002","Could not load friends.":"\u597D\u53CB\u6CA1\u6709\u52A0\u8F7D\u51FA\u6765\u3002","Accept them in Add friend.":"\u5230\u300C\u6DFB\u52A0\u597D\u53CB\u300D\u91CC\u63A5\u53D7\u3002","Waiting for them to accept":"\u7B49\u5F85\u5BF9\u65B9\u63A5\u53D7","Same panel as the + menu.":"\u548C\u4FA7\u680F\u7684 + \u83DC\u5355\u662F\u540C\u4E00\u4E2A\u9762\u677F\u3002","People with access":"\u53EF\u8BBF\u95EE\u7684\u4EBA","People with access to {name}":"\u53EF\u8BBF\u95EE {name} \u7684\u4EBA","No Bots to share yet.":"\u8FD8\u6CA1\u6709\u53EF\u5206\u4EAB\u7684 Bot\u3002","This is the server you already use.":"\u8FD9\u5C31\u662F\u4F60\u6B63\u5728\u7528\u7684\u670D\u52A1\u5668\u3002","Switching\u2026":"\u6B63\u5728\u5207\u6362\u2026","Switch to this server":"\u5207\u6362\u5230\u8FD9\u53F0\u670D\u52A1\u5668",Check:"\u68C0\u67E5",Connected:"\u5DF2\u8FDE\u63A5",Disconnect:"\u65AD\u5F00",Connect:"\u8FDE\u63A5","GitHub token":"GitHub token","Create a token on GitHub":"\u53BB GitHub \u751F\u6210 token","Could not reach GitHub":"\u8FDE\u4E0D\u4E0A GitHub","GitHub did not accept this token":"GitHub \u4E0D\u63A5\u53D7\u8FD9\u4E2A token","GitHub did not say who this token belongs to":"GitHub \u6CA1\u6709\u8FD4\u56DE\u8FD9\u4E2A token \u7684\u8D26\u53F7","Paste a token first":"\u8BF7\u5148\u7C98\u8D34 token","GitHub addresses must start with https://":"GitHub \u5730\u5740\u5FC5\u987B\u4EE5 https:// \u5F00\u5934","This DSH cannot load connectors":"\u8FD9\u4E2A DSH \u4E0D\u80FD\u52A0\u8F7D\u8FDE\u63A5\u5668","No such connector":"\u6CA1\u6709\u8FD9\u4E2A\u8FDE\u63A5\u5668","Gmail, Slack, Calendar, Notion and many more apps, through one Composio key":"Gmail\u3001Slack\u3001\u65E5\u5386\u3001Notion \u7B49\u4F17\u591A\u5E94\u7528\uFF0C\u4E00\u4E2A Composio key \u5C31\u80FD\u8FDE","Posts into one Feishu group through a custom bot webhook":"\u901A\u8FC7\u81EA\u5B9A\u4E49\u673A\u5668\u4EBA webhook \u53D1\u5230\u4F60\u7684\u4E00\u4E2A\u98DE\u4E66\u7FA4","Feishu webhook URL":"\u98DE\u4E66 webhook \u5730\u5740","Get a webhook URL in Feishu":"\u53BB\u98DE\u4E66\u83B7\u53D6 webhook \u5730\u5740","Custom bot webhook":"\u81EA\u5B9A\u4E49\u673A\u5668\u4EBA webhook","App (long connection)":"\u81EA\u5EFA\u5E94\u7528\uFF08\u957F\u8FDE\u63A5\uFF09","Webhook URL":"Webhook \u5730\u5740","App ID":"App ID","App Secret":"App Secret","Create a Feishu app":"\u53BB\u98DE\u4E66\u521B\u5EFA\u81EA\u5EFA\u5E94\u7528","How to connect":"\u8FDE\u63A5\u65B9\u5F0F","Connected: app, over the long connection":"\u5DF2\u8FDE\u63A5\uFF1A\u81EA\u5EFA\u5E94\u7528\uFF0C\u8D70\u957F\u8FDE\u63A5","Connected: custom bot webhook":"\u5DF2\u8FDE\u63A5\uFF1A\u81EA\u5B9A\u4E49\u673A\u5668\u4EBA webhook","Who may talk to the Bots":"\u5141\u8BB8\u7684\u98DE\u4E66\u7528\u6237","Nobody yet. A message from anyone else starts no turn.":"\u8FD8\u6CA1\u6709\u4EBA\u3002\u5176\u4ED6\u4EBA\u53D1\u6765\u7684\u6D88\u606F\u4E0D\u4F1A\u8D77 turn\u3002","Paste an open_id to allow":"\u7C98\u8D34 open_id \u6765\u5141\u8BB8\u67D0\u4E2A\u4EBA","Feishu open_id":"\u98DE\u4E66 open_id",Block:"\u79FB\u9664","Message to send to Feishu":"\u8981\u53D1\u5230\u98DE\u4E66\u7684\u6D88\u606F","Type a message for the Feishu group":"\u8F93\u5165\u8981\u53D1\u5230\u98DE\u4E66\u7FA4\u7684\u6D88\u606F",Send:"\u53D1\u9001","Connected: {apps}":"\u5DF2\u8FDE\u63A5\uFF1A{apps}","Composio API key":"Composio API key","Get a Composio API key":"\u53BB Composio \u83B7\u53D6 API key","Search apps":"\u641C\u7D22\u5E94\u7528","Search Composio apps":"\u641C\u7D22 Composio \u5E94\u7528","Could not search Composio: {error}":"\u65E0\u6CD5\u641C\u7D22 Composio\uFF1A{error}","No apps match":"\u6CA1\u6709\u5339\u914D\u7684\u5E94\u7528","Picked apps":"\u5DF2\u9009\u5E94\u7528","Apps to add":"\u53EF\u6DFB\u52A0\u7684\u5E94\u7528","Remove {app}":"\u79FB\u9664 {app}","App status":"\u5E94\u7528\u72B6\u6001","Needs sign-in":"\u9700\u8981\u767B\u5F55","Choose apps":"\u9009\u62E9\u5E94\u7528","Pick at least one app":"\u81F3\u5C11\u9009\u4E00\u4E2A\u5E94\u7528",'An app name has only lowercase letters, digits, "_" and "-"':"\u5E94\u7528\u540D\u53EA\u80FD\u542B\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u201C_\u201D\u548C\u201C-\u201D","The first time a Bot uses an app, it shows a sign-in link in the chat.":"Bot \u7B2C\u4E00\u6B21\u7528\u67D0\u4E2A\u5E94\u7528\u65F6\uFF0C\u4F1A\u5728\u804A\u5929\u91CC\u7ED9\u51FA\u767B\u5F55\u94FE\u63A5\u3002","Paste a key first":"\u8BF7\u5148\u7C98\u8D34 key","Could not reach Composio":"\u8FDE\u4E0D\u4E0A Composio","Composio did not accept this API key":"Composio \u4E0D\u63A5\u53D7\u8FD9\u4E2A API key","Composio did not give an MCP address":"Composio \u6CA1\u6709\u8FD4\u56DE MCP \u5730\u5740","Composio did not give a session id":"Composio \u6CA1\u6709\u8FD4\u56DE\u4F1A\u8BDD id","Say whether to turn it on or off":"\u8BF7\u8BF4\u660E\u662F\u5F00\u542F\u8FD8\u662F\u5173\u95ED","Composio gave an MCP address on another host":"Composio \u8FD4\u56DE\u7684 MCP \u5730\u5740\u4E0D\u5728\u5B83\u81EA\u5DF1\u7684\u57DF\u540D\u4E0A","Composio addresses must start with https://":"Composio \u5730\u5740\u5FC5\u987B\u4EE5 https:// \u5F00\u5934","Connect Composio first":"\u8BF7\u5148\u8FDE\u63A5 Composio","This connector has no apps to pick":"\u8FD9\u4E2A\u8FDE\u63A5\u5668\u6CA1\u6709\u53EF\u9009\u7684\u5E94\u7528","Switch to classic Agent mode":"\u5207\u6362\u7ECF\u5178 Agent \u6A21\u5F0F","{model} is not available anymore. Pick another model for me.":"{model} \u5DF2\u7ECF\u4E0D\u53EF\u7528\u4E86\u3002\u7ED9\u6211\u6362\u4E00\u4E2A\u6A21\u578B\u5427\u3002","{name} ({handle}) is no longer shared with you, so messages to it cannot be delivered. It runs on its owner's machine, so another model cannot stand in. Ask its owner for a new invite.":"{name}\uFF08{handle}\uFF09\u5DF2\u4E0D\u518D\u4E0E\u4F60\u5171\u4EAB\uFF0C\u6D88\u606F\u65E0\u6CD5\u9001\u8FBE\u3002\u5B83\u8FD0\u884C\u5728\u4E3B\u4EBA\u7684\u673A\u5668\u4E0A\uFF0C\u4E0D\u80FD\u6362\u7528\u5176\u4ED6\u6A21\u578B\u3002\u8BF7\u5411\u5B83\u7684\u4E3B\u4EBA\u8981\u4E00\u4E2A\u65B0\u7684\u9080\u8BF7\u3002","Hi, I'm {name}. I don't have a model yet. How do you want to set one up?":"\u4F60\u597D\uFF0C\u6211\u662F {name}\u3002\u6211\u8FD8\u6CA1\u6709\u53EF\u7528\u7684\u6A21\u578B\u3002\u4F60\u60F3\u600E\u4E48\u914D\u7F6E\uFF1F","Hi, I'm {name}. Pick a model for me first. You can change it later in my details.":"\u4F60\u597D\uFF0C\u6211\u662F {name}\u3002\u5148\u7ED9\u6211\u9009\u4E00\u4E2A\u6A21\u578B\u5427\uFF0C\u4EE5\u540E\u53EF\u4EE5\u5728\u6211\u7684\u8BE6\u60C5\u91CC\u6362\u3002","Sign in to DeepSeek":"\u767B\u5F55 DeepSeek \u8D26\u53F7","Enter a DeepSeek API key":"\u586B\u5165 DeepSeek API key","How to set a DeepSeek API key":"\u5982\u4F55\u8BBE\u7F6E DeepSeek API key","Open settings to set up a custom model":"\u6253\u5F00\u8BBE\u7F6E\u914D\u7F6E\u81EA\u5B9A\u4E49\u6A21\u578B",FlyBot:"FlyBot","FlyBot core":"FlyBot \u6838\u5FC3","Message {name}":"\u7ED9 {name} \u53D1\u6D88\u606F",Message:"\u53D1\u6D88\u606F","View conversation details":"\u67E5\u770B\u5BF9\u8BDD\u8BE6\u60C5","1 new message":"1 \u6761\u65B0\u6D88\u606F","{count} new messages":"{count} \u6761\u65B0\u6D88\u606F","New messages":"\u65B0\u6D88\u606F","Dismiss new messages":"\u5173\u95ED\u65B0\u6D88\u606F\u63D0\u793A",New:"\u65B0","Add to group chat":"\u52A0\u5165\u7FA4\u804A","Message Bot":"\u7ED9 Bot \u53D1\u6D88\u606F","To:":"\u53D1\u7ED9\uFF1A","Remove {name}":"\u79FB\u9664 {name}",Recipient:"\u6536\u4EF6\u4EBA",Recipients:"\u6536\u4EF6\u4EBA","Search Bots\u2026":"\u641C\u7D22 Bot\u2026","Start a chat with\u2026":"\u548C\u8C01\u804A\u2026","Close new chat":"\u5173\u95ED\u65B0\u5BF9\u8BDD","No Bots match":"\u6CA1\u6709\u5339\u914D\u7684 Bot","Type a name to create a Bot":"\u8F93\u5165\u540D\u5B57\u6765\u65B0\u5EFA Bot","Send message":"\u53D1\u9001",Details:"\u8BE6\u60C5",Browser:"\u6D4F\u89C8\u5668",About:"\u7B80\u4ECB","Show less":"\u6536\u8D77","Show more":"\u5C55\u5F00","Admin leads":"\u7BA1\u7406\u5458\u4E3B\u6301","Plain messages go to the admin, who calls others with @Name.":"\u666E\u901A\u6D88\u606F\u5148\u7ED9\u7BA1\u7406\u5458\uFF0C\u7531\u7BA1\u7406\u5458\u7528 @\u540D\u5B57 \u70B9\u540D\u5176\u4ED6\u6210\u5458\u3002",Everyone:"\u6240\u6709\u4EBA","Every member answers in turn, admin first.":"\u6BCF\u4F4D\u6210\u5458\u8F6E\u6D41\u56DE\u7B54\uFF0C\u7BA1\u7406\u5458\u5148\u8BF4\u3002","Members \xB7 {count}":"\u6210\u5458 \xB7 {count}","{name} (you)":"{name}\uFF08\u4F60\uFF09",Someone:"\u67D0\u4EBA","Leave the group without an admin":"\u8BA9\u7FA4\u804A\u4E0D\u8BBE\u7BA1\u7406\u5458",Unset:"\u53D6\u6D88","Make admin":"\u8BBE\u4E3A\u7BA1\u7406\u5458","Task lead":"\u603B\u8D1F\u8D23\u4EBA","Make task lead":"\u8BBE\u4E3A\u603B\u8D1F\u8D23\u4EBA","Use the admin":"\u6539\u7531\u7BA1\u7406\u5458\u8D1F\u8D23","The task lead divides the board. When unset, the admin does.":"\u603B\u8D1F\u8D23\u4EBA\u62C6\u5206\u770B\u677F\u4EFB\u52A1\u3002\u672A\u6307\u5B9A\u65F6\u7531\u7BA1\u7406\u5458\u8D1F\u8D23\u3002","Room lead":"\u603B\u8D1F\u8D23\u4EBA",Lead:"\u603B\u8D1F\u8D23\u4EBA","Make lead":"\u8BBE\u4E3A\u603B\u8D1F\u8D23\u4EBA","Use the default lead":"\u6539\u56DE\u9ED8\u8BA4\u603B\u8D1F\u8D23\u4EBA","Writes the plan and gives each Bot its part.":"\u5199\u8BA1\u5212\uFF0C\u5E76\u7ED9\u6BCF\u4E2A Bot \u5206\u914D\u4EFB\u52A1\u3002","Default: the first Bot of the room creator that joined.":"\u9ED8\u8BA4\uFF1A\u623F\u95F4\u521B\u5EFA\u8005\u6700\u5148\u52A0\u5165\u7684 Bot\u3002","Only the person who created this room can change it.":"\u53EA\u6709\u521B\u5EFA\u8FD9\u4E2A\u623F\u95F4\u7684\u4EBA\u53EF\u4EE5\u66F4\u6539\u3002","Could not change the room lead.":"\u65E0\u6CD5\u66F4\u6539\u603B\u8D1F\u8D23\u4EBA\u3002","Remove {name} from the group":"\u628A {name} \u79FB\u51FA\u7FA4\u804A","Remove from group":"\u79FB\u51FA\u7FA4\u804A","Add member":"\u6DFB\u52A0\u6210\u5458","{name} leads this group: it can call members with @Name, change the group, and post here.":"{name} \u4E3B\u6301\u8FD9\u4E2A\u7FA4\uFF1A\u53EF\u4EE5\u7528 @\u540D\u5B57 \u70B9\u540D\u6210\u5458\u3001\u4FEE\u6539\u7FA4\u8BBE\u7F6E\u3001\u5728\u7FA4\u91CC\u53D1\u8A00\u3002","No admin yet. An admin can call members with @Name, change the group, and post here.":"\u8FD8\u6CA1\u6709\u7BA1\u7406\u5458\u3002\u7BA1\u7406\u5458\u53EF\u4EE5\u7528 @\u540D\u5B57 \u70B9\u540D\u6210\u5458\u3001\u4FEE\u6539\u7FA4\u8BBE\u7F6E\u3001\u5728\u7FA4\u91CC\u53D1\u8A00\u3002","Who answers":"\u8C01\u6765\u56DE\u7B54","Choose an admin first":"\u5148\u9009\u4E00\u4E2A\u7BA1\u7406\u5458","@mentions always pick who answers.":"@\u63D0\u53CA\u603B\u662F\u6307\u5B9A\u7531\u8C01\u56DE\u7B54\u3002",Notice:"\u7FA4\u516C\u544A","Shared instructions every member reads before speaking\u2026":"\u6BCF\u4F4D\u6210\u5458\u53D1\u8A00\u524D\u90FD\u4F1A\u8BFB\u5230\u7684\u5171\u540C\u8BF4\u660E\u2026","Group notice":"\u7FA4\u516C\u544A","Back to details":"\u8FD4\u56DE\u8BE6\u60C5","Close details":"\u5173\u95ED\u8BE6\u60C5","Copied conversation":"\u5DF2\u590D\u5236\u5BF9\u8BDD","Share conversation":"\u5206\u4EAB\u5BF9\u8BDD","Copy conversation":"\u590D\u5236\u5BF9\u8BDD","Nothing to copy yet":"\u8FD8\u6CA1\u6709\u53EF\u590D\u5236\u7684\u5185\u5BB9","Conversation copied as Markdown":"\u5BF9\u8BDD\u5DF2\u590D\u5236\u4E3A Markdown","Could not copy the conversation":"\u65E0\u6CD5\u590D\u5236\u5BF9\u8BDD","No messages yet. Say something to {name}.":"\u8FD8\u6CA1\u6709\u6D88\u606F\u3002\u7ED9 {name} \u53D1\u70B9\u4EC0\u4E48\u5427\u3002","This model does not support that request. Pick another model in the Bot's settings.":"\u8BE5\u6A21\u578B\u4E0D\u652F\u6301\u8FD9\u9879\u8BF7\u6C42\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u6362\u4E00\u4E2A\u6A21\u578B\u3002","This model does not support {feature}. Pick another model in the Bot's settings.":"\u8BE5\u6A21\u578B\u4E0D\u652F\u6301 {feature}\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u6362\u4E00\u4E2A\u6A21\u578B\u3002","The provider does not know this model. Check the model name in the Bot's settings.":"\u670D\u52A1\u65B9\u4E0D\u8BA4\u8BC6\u8FD9\u4E2A\u6A21\u578B\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u68C0\u67E5\u6A21\u578B\u540D\u79F0\u3002","The conversation is longer than this model can read. Condense it, or pick a model with a larger window.":"\u8FD9\u6BB5\u5BF9\u8BDD\u8D85\u51FA\u4E86\u8BE5\u6A21\u578B\u80FD\u8BFB\u7684\u957F\u5EA6\u3002\u8BF7\u538B\u7F29\u5BF9\u8BDD\uFF0C\u6216\u6362\u4E00\u4E2A\u4E0A\u4E0B\u6587\u66F4\u5927\u7684\u6A21\u578B\u3002","The model service refused the request. Check the model and the endpoint in the Bot's settings.":"\u6A21\u578B\u670D\u52A1\u62D2\u7EDD\u4E86\u8FD9\u6B21\u8BF7\u6C42\u3002\u8BF7\u5728 Bot \u8BBE\u7F6E\u91CC\u68C0\u67E5\u6A21\u578B\u548C\u63A5\u53E3\u5730\u5740\u3002","Copy conversation as Markdown":"\u628A\u5BF9\u8BDD\u590D\u5236\u4E3A Markdown","This conversation is not part of your Bot team.":"\u8FD9\u4E2A\u5BF9\u8BDD\u4E0D\u5C5E\u4E8E\u4F60\u7684 Bot \u56E2\u961F\u3002","Admin {name}":"\u7BA1\u7406\u5458 {name}","No admin":"\u65E0\u7BA1\u7406\u5458","Bot name":"Bot \u540D\u5B57","Group name":"\u7FA4\u540D","Name after members":"\u6309\u6210\u5458\u547D\u540D","Rename {name}":"\u91CD\u547D\u540D {name}",Rename:"\u91CD\u547D\u540D","Add instructions in Bot settings":"\u5728 Bot \u8BBE\u7F6E\u91CC\u6DFB\u52A0\u8BF4\u660E","No scheduled tasks yet. To add one, tell the Bot in its chat what to do and when.":"\u8FD8\u6CA1\u6709\u5B9A\u65F6\u4EFB\u52A1\u3002\u8981\u6DFB\u52A0\uFF0C\u5728\u5BF9\u8BDD\u91CC\u544A\u8BC9 Bot \u505A\u4EC0\u4E48\u3001\u4EC0\u4E48\u65F6\u5019\u505A\u3002","The browser is in the DSH Desktop app.":"\u6D4F\u89C8\u5668\u5728 DSH \u684C\u9762\u7248\u5E94\u7528\u91CC\u3002","New tab":"\u65B0\u6807\u7B7E\u9875","Close tab":"\u5173\u95ED\u6807\u7B7E\u9875","Open {title}":"\u6253\u5F00 {title}","Conversation details":"\u5BF9\u8BDD\u8BE6\u60C5","Panel tabs":"\u9762\u677F\u6807\u7B7E\u9875","Close panel":"\u5173\u95ED\u9762\u677F","Choose a PNG, JPEG, WebP, or GIF image":"\u8BF7\u9009\u62E9 PNG\u3001JPEG\u3001WebP \u6216 GIF \u56FE\u7247","Choose an image smaller than 25 MB":"\u8BF7\u9009\u62E9\u5C0F\u4E8E 25 MB \u7684\u56FE\u7247","That image is too large":"\u56FE\u7247\u592A\u5927\u4E86",Model:"\u6A21\u578B","Avatar editor":"\u5F62\u8C61\u7F16\u8F91","Avatar source":"\u5F62\u8C61\u6765\u6E90",Upload:"\u4E0A\u4F20","Reset character to default":"\u6062\u590D\u9ED8\u8BA4\u5F62\u8C61",Reset:"\u6062\u590D\u9ED8\u8BA4","Character shape":"\u5F62\u72B6","Character color":"\u989C\u8272","Drag, drop, or paste an image":"\u62D6\u5165\u6216\u7C98\u8D34\u4E00\u5F20\u56FE\u7247",Replace:"\u66FF\u6362","Browse files":"\u9009\u62E9\u6587\u4EF6","Remove photo":"\u79FB\u9664\u7167\u7247","Edit Bot avatar":"\u7F16\u8F91 Bot \u5F62\u8C61",Name:"\u540D\u5B57",Instructions:"\u8BF4\u660E","What this Bot is responsible for\u2026":"\u8FD9\u4E2A Bot \u8D1F\u8D23\u4EC0\u4E48\u2026","Pick the model this Bot runs on.":"\u9009\u62E9\u8FD9\u4E2A Bot \u4F7F\u7528\u7684\u6A21\u578B\u3002","This model is not available now. Pick another one.":"\u8FD9\u4E2A\u6A21\u578B\u73B0\u5728\u4E0D\u53EF\u7528\uFF0C\u8BF7\u6362\u4E00\u4E2A\u3002","Every message of this Bot runs on it.":"\u8FD9\u4E2A Bot \u7684\u6BCF\u6761\u6D88\u606F\u90FD\u7528\u5B83\u3002","Applies from the next message.":"\u4ECE\u4E0B\u4E00\u6761\u6D88\u606F\u5F00\u59CB\u751F\u6548\u3002","Test connection":"\u6D4B\u8BD5\u8FDE\u63A5","Testing\u2026":"\u6B63\u5728\u6D4B\u8BD5\u2026","Sends one short request to this model. It may be billed.":"\u4F1A\u5411\u8FD9\u4E2A\u6A21\u578B\u53D1\u9001\u4E00\u6761\u5F88\u77ED\u7684\u8BF7\u6C42\uFF0C\u53EF\u80FD\u4EA7\u751F\u8D39\u7528\u3002","Works. {model} answered.":"\u8FDE\u63A5\u6B63\u5E38\uFF0C{model} \u5DF2\u56DE\u590D\u3002","Works. {model} answered in {seconds} s.":"\u8FDE\u63A5\u6B63\u5E38\uFF0C{model} \u5728 {seconds} \u79D2\u5185\u56DE\u590D\u3002","Pick a model first.":"\u8BF7\u5148\u9009\u62E9\u4E00\u4E2A\u6A21\u578B\u3002","This model has no API key yet. Set one up in the model settings.":"\u8FD9\u4E2A\u6A21\u578B\u8FD8\u6CA1\u6709 API \u5BC6\u94A5\uFF0C\u8BF7\u5728\u6A21\u578B\u8BBE\u7F6E\u91CC\u586B\u5199\u3002","The API key was rejected. Check it in the model settings.":"API \u5BC6\u94A5\u88AB\u62D2\u7EDD\uFF0C\u8BF7\u5728\u6A21\u578B\u8BBE\u7F6E\u91CC\u68C0\u67E5\u3002","The account is out of quota.":"\u8D26\u6237\u989D\u5EA6\u5DF2\u7528\u5B8C\u3002","Too many requests right now. Try again in a moment.":"\u8BF7\u6C42\u592A\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002","The model did not answer within 30 seconds.":"\u6A21\u578B\u5728 30 \u79D2\u5185\u6CA1\u6709\u56DE\u590D\u3002","This model is not available now. Check its provider in the model settings.":"\u8FD9\u4E2A\u6A21\u578B\u73B0\u5728\u4E0D\u53EF\u7528\uFF0C\u8BF7\u5728\u6A21\u578B\u8BBE\u7F6E\u91CC\u68C0\u67E5\u5B83\u7684\u670D\u52A1\u5546\u3002","The provider does not know this model. Check the model name.":"\u670D\u52A1\u5546\u6CA1\u6709\u8FD9\u4E2A\u6A21\u578B\uFF0C\u8BF7\u68C0\u67E5\u6A21\u578B\u540D\u79F0\u3002","Could not reach the model service. Check the endpoint address and your network.":"\u8FDE\u4E0D\u4E0A\u6A21\u578B\u670D\u52A1\uFF0C\u8BF7\u68C0\u67E5\u63A5\u53E3\u5730\u5740\u548C\u7F51\u7EDC\u3002","The model service failed. Try again later.":"\u6A21\u578B\u670D\u52A1\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002","The model service refused the request. Check the endpoint and the model.":"\u6A21\u578B\u670D\u52A1\u62D2\u7EDD\u4E86\u8BF7\u6C42\uFF0C\u8BF7\u68C0\u67E5\u63A5\u53E3\u5730\u5740\u548C\u6A21\u578B\u3002","The test failed.":"\u6D4B\u8BD5\u5931\u8D25\u3002","A test is already running for this Bot.":"\u8FD9\u4E2A Bot \u5DF2\u7ECF\u5728\u6D4B\u8BD5\u4E2D\u3002","A friend's Bot runs on its owner's model.":"\u670B\u53CB\u7684 Bot \u4F7F\u7528\u5B83\u4E3B\u4EBA\u7684\u6A21\u578B\u3002",Profile:"\u8D44\u6599",Label:"\u6807\u7B7E","Optional. Shown under the name.":"\u53EF\u9009\uFF0C\u663E\u793A\u5728\u540D\u5B57\u4E0B\u65B9\u3002","Research, admin\u2026":"\u7814\u7A76\u3001\u884C\u653F\u2026","What this Bot does":"\u8FD9\u4E2A Bot \u505A\u4EC0\u4E48","Its job on the team. Part of the Bot's system prompt.":"\u5B83\u5728\u56E2\u961F\u91CC\u7684\u5206\u5DE5\uFF0C\u4F1A\u5199\u8FDB Bot \u7684\u7CFB\u7EDF\u63D0\u793A\u8BCD\u3002","A copy with the same job and model, and fresh memory.":"\u590D\u5236\u5206\u5DE5\u548C\u6A21\u578B\uFF0C\u8BB0\u5FC6\u4ECE\u96F6\u5F00\u59CB\u3002","Delete {name}?":"\u5220\u9664 {name}\uFF1F","Delete Bot":"\u5220\u9664 Bot","Click again to delete. Its chats are archived.":"\u518D\u70B9\u4E00\u6B21\u5220\u9664\uFF0C\u5B83\u7684\u5BF9\u8BDD\u4F1A\u5F52\u6863\u3002","Removes the Bot from the team.":"\u628A\u8FD9\u4E2A Bot \u4ECE\u56E2\u961F\u91CC\u79FB\u9664\u3002","Pick a model and {name} can start.":"\u9009\u597D\u6A21\u578B\uFF0C{name} \u5C31\u80FD\u5F00\u59CB\u5DE5\u4F5C\u3002",Permissions:"\u6743\u9650","Read only":"\u4EC5\u53EF\u67E5\u770B",Workspace:"\u5DE5\u4F5C\u533A\u5185\u4FEE\u6539","Full access":"\u5B8C\u5168\u6743\u9650","The only Main Bot. To hand the role to another Bot, use Main Bot on the Bots page.":"\u8FD9\u662F\u552F\u4E00\u7684\u4E3B Bot\u3002\u8981\u628A\u4E3B Bot \u4EA4\u7ED9\u522B\u7684 Bot\uFF0C\u8BF7\u5230\u300CBot\u300D\u9875\u7684\u4E3B Bot \u91CC\u6362\u3002",Change:"\u66F4\u6362","Can create and change Bots, and runs every group chat.":"\u53EF\u4EE5\u521B\u5EFA\u548C\u4FEE\u6539 Bot\uFF0C\u5E76\u7BA1\u7406\u6240\u6709\u7FA4\u804A\u3002",Sidebar:"\u4FA7\u680F","Kept above the other chats.":"\u6392\u5728\u5176\u4ED6\u5BF9\u8BDD\u4E0A\u9762\u3002","Search still finds it.":"\u4ECD\u7136\u53EF\u4EE5\u641C\u7D22\u5230\u3002",Manage:"\u7BA1\u7406","Send a message. Your friend approves unless Auto-send is on.":"\u53D1\u9001\u6D88\u606F\u3002\u9664\u975E\u5DF2\u5F00\u542F\u81EA\u52A8\u53D1\u9001\uFF0C\u5426\u5219\u597D\u53CB\u9700\u8981\u6279\u51C6\u3002","Leave it empty to name the group after its members.":"\u7559\u7A7A\u5C31\u6309\u6210\u5458\u547D\u540D\u3002","Every member reads it before speaking in this group.":"\u6BCF\u4F4D\u6210\u5458\u5728\u8FD9\u4E2A\u7FA4\u91CC\u53D1\u8A00\u524D\u90FD\u4F1A\u8BFB\u5230\u3002","Add a Bot first: a group chat needs at least two.":"\u8BF7\u5148\u6DFB\u52A0\u4E00\u4E2A Bot\uFF1A\u7FA4\u804A\u81F3\u5C11\u8981\u4E24\u4E2A\u3002","Click again to delete. Its history is archived.":"\u518D\u70B9\u4E00\u6B21\u5220\u9664\uFF0C\u804A\u5929\u8BB0\u5F55\u4F1A\u5F52\u6863\u3002","Removes the group chat. Its members stay on the team.":"\u5220\u9664\u8FD9\u4E2A\u7FA4\u804A\uFF0C\u6210\u5458\u4ECD\u7559\u5728\u56E2\u961F\u91CC\u3002","Add a notice in group settings":"\u5728\u7FA4\u8BBE\u7F6E\u91CC\u6DFB\u52A0\u7FA4\u516C\u544A","Create Bot":"\u521B\u5EFA Bot","Back to new chat":"\u8FD4\u56DE\u65B0\u5BF9\u8BDD",Look:"\u5F62\u8C61",Shuffle:"\u968F\u673A","Replace photo":"\u66F4\u6362\u7167\u7247","Upload photo":"\u4E0A\u4F20\u7167\u7247","A Bot named {name} already exists":"\u5DF2\u7ECF\u6709\u53EB {name} \u7684 Bot \u4E86","The Bot runs on this model. You can change it later in its details.":"Bot \u4F1A\u4F7F\u7528\u8FD9\u4E2A\u6A21\u578B\u3002\u4EE5\u540E\u53EF\u4EE5\u5728\u8BE6\u60C5\u91CC\u4FEE\u6539\u3002","Add a provider and a model in DeepSeek Harness first, or pick one in the Bot's chat later.":"\u8BF7\u5148\u5728 DeepSeek Harness \u91CC\u6DFB\u52A0\u670D\u52A1\u5546\u548C\u6A21\u578B\uFF0C\u6216\u8005\u7A0D\u540E\u5728 Bot \u7684\u5BF9\u8BDD\u91CC\u9009\u62E9\u3002","Creating\u2026":"\u521B\u5EFA\u4E2D\u2026",Create:"\u521B\u5EFA",Default:"\u9ED8\u8BA4","Thinking level":"\u601D\u8003\u5F3A\u5EA6","Model: {model}":"\u6A21\u578B\uFF1A{model}",none:"\u65E0","Choose a model":"\u9009\u62E9\u6A21\u578B","{provider} \xB7 not available":"{provider} \xB7 \u4E0D\u53EF\u7528","Model for {name}":"{name} \u7684\u6A21\u578B","No models are set up in DeepSeek Harness yet.":"DeepSeek Harness \u91CC\u8FD8\u6CA1\u6709\u8BBE\u7F6E\u6A21\u578B\u3002","Models and providers\u2026":"\u6A21\u578B\u548C\u670D\u52A1\u5546\u2026",Models:"\u6A21\u578B","Harness default":"Harness \u9ED8\u8BA4",Saving:"\u4FDD\u5B58\u4E2D","Manage models":"\u7BA1\u7406\u6A21\u578B","This turn failed":"\u672C\u8F6E\u8FD0\u884C\u5931\u8D25","This Bot's model has no API key yet. Set one up, then send your message again.":"\u8FD9\u4E2A Bot \u7684\u6A21\u578B\u8FD8\u6CA1\u6709 API key\u3002\u8BBE\u7F6E\u597D\u540E\u518D\u53D1\u4E00\u6B21\u6D88\u606F\u3002",Whale:"\u9CB8\u9C7C",Star:"\u661F\u661F",Moon:"\u6708\u4EAE",Wave:"\u58F0\u6CE2",Squircle:"\u5706\u89D2\u65B9",Bull:"\u725B\u89D2",Blossom:"\u82B1\u6735",Gumdrop:"\u8F6F\u7CD6",Peanut:"\u82B1\u751F",Bubbles:"\u6CE1\u6CE1",Saucer:"\u98DE\u789F",Sprout:"\u5AE9\u82BD",Bunny:"\u5154\u5B50",Kitty:"\u5C0F\u732B",Beacon:"\u706F\u5854",Plus:"\u52A0\u53F7",Magnet:"\u78C1\u94C1",Acorn:"\u6A61\u679C",Pebbles:"\u77F3\u5B50",Cushion:"\u9760\u57AB",Ring:"\u5706\u73AF",Gem:"\u5B9D\u77F3",Black:"\u9ED1",Brown:"\u68D5",Red:"\u7EA2",Orange:"\u6A59",Yellow:"\u9EC4",Green:"\u7EFF",Cyan:"\u9752",Blue:"\u84DD",Violet:"\u7D2B",Magenta:"\u54C1\u7EA2",Gray:"\u7070",Aurora:"\u6781\u5149",Deepseek:"DeepSeek \u84DD",Charcoal:"\u70AD\u9ED1",Graphite:"\u77F3\u58A8",Rose:"\u73AB\u7470",Sky:"\u5929\u84DD",Tangerine:"\u6A58",Cobalt:"\u94B4\u84DD",DeepSeek:"DeepSeek",Mono:"\u9ED1\u767D",Paper:"\u7EB8\u5F20",Moonlight:"\u6708\u5149",General:"\u901A\u7528",Bots:"Bot","Group chats":"\u7FA4\u804A",Secrets:"\u5BC6\u94A5",Appearance:"\u5916\u89C2",Theme:"\u4E3B\u9898","Colors for the whole team, on every device.":"\u6574\u4E2A\u56E2\u961F\u7684\u914D\u8272\uFF0C\u6240\u6709\u8BBE\u5907\u540C\u6B65\u3002",Accent:"\u5F3A\u8C03\u8272","Unread marks, badges, and the brand mark.":"\u672A\u8BFB\u6807\u8BB0\u3001\u5FBD\u6807\u548C\u54C1\u724C\u6807\u5FD7\u3002","Theme accent":"\u4E3B\u9898\u5F3A\u8C03\u8272","Custom accent":"\u81EA\u5B9A\u4E49\u5F3A\u8C03\u8272","Bots \xB7 {count}":"Bot \xB7 {count}","First in the sidebar. Pick another Bot to hand it the role; {name} then stops being a Main Bot.":"\u6392\u5728\u4FA7\u680F\u6700\u4E0A\u9762\u3002\u9009\u53E6\u4E00\u4E2A Bot \u5C31\u4F1A\u628A\u4E3B Bot \u4EA4\u7ED9\u5B83\uFF0C{name} \u968F\u4E4B\u4E0D\u518D\u662F\u4E3B Bot\u3002","Choose a Bot\u2026":"\u9009\u62E9\u4E00\u4E2A Bot\u2026","Also a Main Bot.":"\u4E5F\u662F\u4E3B Bot\u3002","Move to first":"\u79FB\u5230\u6700\u524D","Add a Main Bot":"\u6DFB\u52A0\u4E3B Bot","Main Bots can create and change Bots, and run every group chat.":"\u4E3B Bot \u53EF\u4EE5\u521B\u5EFA\u548C\u4FEE\u6539 Bot\uFF0C\u5E76\u7BA1\u7406\u6240\u6709\u7FA4\u804A\u3002","Group chats \xB7 {count}":"\u7FA4\u804A \xB7 {count}","No group chats yet.":"\u8FD8\u6CA1\u6709\u7FA4\u804A\u3002","A group chat lets several Bots work on one thing with you.":"\u5728\u7FA4\u804A\u91CC\uFF0C\u51E0\u4E2A Bot \u548C\u4F60\u4E00\u8D77\u505A\u4E00\u4EF6\u4E8B\u3002","Back to group chats":"\u8FD4\u56DE\u7FA4\u804A\u5217\u8868","FlyBot settings":"FlyBot \u8BBE\u7F6E","Settings pages":"\u8BBE\u7F6E\u9875\u9762","Opens DeepSeek Harness's own settings (models, providers, permissions) in a separate window":"\u5728\u5355\u72EC\u7684\u7A97\u53E3\u4E2D\u6253\u5F00 DeepSeek Harness \u81EA\u5DF1\u7684\u8BBE\u7F6E\uFF08\u6A21\u578B\u3001\u670D\u52A1\u5546\u3001\u6743\u9650\uFF09","Harness settings, opens DeepSeek Harness's own settings window":"Harness \u8BBE\u7F6E\uFF0C\u6253\u5F00 DeepSeek Harness \u81EA\u5DF1\u7684\u8BBE\u7F6E\u7A97\u53E3","Harness settings":"Harness \u8BBE\u7F6E","Back to Bots":"\u8FD4\u56DE Bot \u5217\u8868","Close settings":"\u5173\u95ED\u8BBE\u7F6E",Unpin:"\u53D6\u6D88\u7F6E\u9876",Pin:"\u7F6E\u9876",Pinned:"\u5DF2\u7F6E\u9876","Mark as Unread":"\u6807\u4E3A\u672A\u8BFB","Group settings":"\u7FA4\u8BBE\u7F6E","Rename group":"\u91CD\u547D\u540D\u7FA4\u804A","Copy conversation ID":"\u590D\u5236\u5BF9\u8BDD ID","Hide from sidebar":"\u4ECE\u4FA7\u680F\u9690\u85CF","{name} actions":"{name} \u7684\u64CD\u4F5C","Add DSH Agent":"\u6DFB\u52A0 DSH Agent","Add coding agent":"\u6DFB\u52A0\u7F16\u7801 Agent","Add Agent":"\u6DFB\u52A0 Agent","Remove DSH Agent":"\u79FB\u9664 DSH Agent","New session":"\u65B0\u4F1A\u8BDD",Archive:"\u5F52\u6863","Session actions":"\u4F1A\u8BDD\u64CD\u4F5C","Plain dsh session":"\u539F\u751F dsh \u4F1A\u8BDD","just now":"\u521A\u521A","{n} min":"{n} \u5206\u949F","{n} h":"{n} \u5C0F\u65F6","{n} d":"{n} \u5929","FlyBot core {version} is available":"FlyBot \u6838\u5FC3 {version} \u53EF\u4EE5\u66F4\u65B0","Updating FlyBot core\u2026":"\u6B63\u5728\u66F4\u65B0 FlyBot \u6838\u5FC3\u2026","FlyBot core {version} is installed. Restart DSH to use it.":"FlyBot \u6838\u5FC3 {version} \u5DF2\u5B89\u88C5\uFF0C\u91CD\u542F DSH \u540E\u751F\u6548","FlyBot core update":"FlyBot \u6838\u5FC3\u66F4\u65B0","FlyBot core {version}":"FlyBot \u6838\u5FC3 {version}","Update installed":"\u66F4\u65B0\u5DF2\u5B89\u88C5","Restart DSH to start using FlyBot core {version}.":"\u91CD\u542F DSH \u540E\u5F00\u59CB\u4F7F\u7528 FlyBot \u6838\u5FC3 {version}\u3002","You have {version}.":"\u5F53\u524D\u7248\u672C {version}\u3002","The update did not finish: {reason}":"\u66F4\u65B0\u6CA1\u6709\u5B8C\u6210\uFF1A{reason}","What's new":"\u66F4\u65B0\u8BF4\u660E","Updating\u2026":"\u6B63\u5728\u66F4\u65B0\u2026","DSH {version} is available":"DSH {version} \u53EF\u4EE5\u66F4\u65B0","Updating DSH\u2026":"\u6B63\u5728\u66F4\u65B0 DSH\u2026","DSH update":"DSH \u66F4\u65B0","DSH {version}":"DSH {version}","Restart DSH to start using DSH {version}.":"\u91CD\u542F DSH \u540E\u5F00\u59CB\u4F7F\u7528 DSH {version}\u3002","Update FlyBot core {version} first.":"\u5148\u66F4\u65B0 FlyBot \u6838\u5FC3 {version}\u3002","Open updates":"\u6253\u5F00\u66F4\u65B0",Inbox:"\u6536\u4EF6\u7BB1","Inbox, {count} need you":"\u6536\u4EF6\u7BB1\uFF0C{count} \u9879\u9700\u8981\u4F60","Close inbox":"\u5173\u95ED\u6536\u4EF6\u7BB1","Your Bots":"\u4F60\u7684 Bot","Needs you":"\u9700\u8981\u4F60","In progress":"\u8FDB\u884C\u4E2D","Nothing needs you right now.":"\u73B0\u5728\u6CA1\u6709\u9700\u8981\u4F60\u5904\u7406\u7684\u4E8B\u3002","Nothing is running.":"\u6CA1\u6709\u6B63\u5728\u8FDB\u884C\u7684\u4E8B\u3002","Nothing finished in the last 7 days.":"\u6700\u8FD1 7 \u5929\u6CA1\u6709\u5B8C\u6210\u7684\u4E8B\u3002","Waiting to send":"\u7B49\u5F85\u53D1\u9001","Needs your answer":"\u7B49\u4F60\u56DE\u7B54","Result ready":"\u7ED3\u679C\u5DF2\u5C31\u7EEA",Failed:"\u5931\u8D25",Cancelled:"\u5DF2\u53D6\u6D88","A tool call":"\u4E00\u6B21\u5DE5\u5177\u8C03\u7528","A workflow":"\u4E00\u4E2A\u5DE5\u4F5C\u6D41","1 message waits for your approval":"1 \u6761\u6D88\u606F\u7B49\u4F60\u6279\u51C6","{count} messages wait for your approval":"{count} \u6761\u6D88\u606F\u7B49\u4F60\u6279\u51C6","Approve it in the chat":"\u8BF7\u5728\u5BF9\u8BDD\u91CC\u6279\u51C6","The last turn did not finish":"\u4E0A\u4E00\u8F6E\u6CA1\u6709\u5B8C\u6210","Latest: {text}":"\u6700\u65B0\uFF1A{text}","{count} tool calls":"{count} \u6B21\u5DE5\u5177\u8C03\u7528","Untitled task":"\u672A\u547D\u540D\u4EFB\u52A1",Accept:"\u63A5\u53D7","Send back":"\u9000\u56DE","Send it back":"\u9000\u56DE\u7ED9 Bot","What should change":"\u9700\u8981\u6539\u4EC0\u4E48","Sent back: {note}":"\u5DF2\u9000\u56DE\uFF1A{note}","Comment goes to {target}":"\u8BC4\u8BBA\u5199\u5230 {target}","Could not comment on {target}: {error}":"\u65E0\u6CD5\u5728 {target} \u4E0A\u7559\u8A00\uFF1A{error}","Could not confirm the comment on {target} went out":"\u65E0\u6CD5\u786E\u8BA4 {target} \u4E0A\u7684\u7559\u8A00\u662F\u5426\u53D1\u51FA",Board:"\u770B\u677F",Tasks:"\u4EFB\u52A1","Close board":"\u5173\u95ED\u770B\u677F","Close tasks":"\u5173\u95ED\u4EFB\u52A1","Task board":"\u4EFB\u52A1\u677F","Not started":"\u672A\u5F00\u59CB","Groups you admin":"\u4F60\u7BA1\u7406\u7684\u7FA4","No tasks yet.":"\u8FD8\u6CA1\u6709\u4EFB\u52A1\u3002","Nothing in this column.":"\u8FD9\u4E00\u5217\u662F\u7A7A\u7684\u3002",Highest:"\u6700\u9AD8",High:"\u8F83\u9AD8",Low:"\u8F83\u4F4E",Claimed:"\u5DF2\u8BA4\u9886",Blocked:"\u53D7\u963B",Waiting:"\u7B49\u5F85","In flight":"\u8FDB\u884C\u4E2D","PRs opened today":"\u4ECA\u65E5\u65B0\u5F00 PR","PRs merged today":"\u4ECA\u65E5\u5408\u5165 PR","Issues opened today":"\u4ECA\u65E5\u65B0\u5F00 issue","Issues closed today":"\u4ECA\u65E5\u5173\u95ED issue","PR merge time":"PR \u5408\u5165\u65F6\u957F","Issue close time":"issue \u5173\u95ED\u65F6\u957F","Task completion":"\u4EFB\u52A1\u5B8C\u6210\u65F6\u957F","Natural day in your time zone, by created_at.":"\u6309\u4F60\u6240\u5728\u65F6\u533A\u7684\u81EA\u7136\u65E5\uFF0C\u53D6 created_at\u3002","Natural day in your time zone, by merged_at.":"\u6309\u4F60\u6240\u5728\u65F6\u533A\u7684\u81EA\u7136\u65E5\uFF0C\u53D6 merged_at\u3002","Natural day in your time zone, by closed_at.":"\u6309\u4F60\u6240\u5728\u65F6\u533A\u7684\u81EA\u7136\u65E5\uFF0C\u53D6 closed_at\u3002","Median of the last 7 days, opened to merged.":"\u8FD1 7 \u5929\u4E2D\u4F4D\u6570\uFF0C\u5F00\u542F\u5230\u5408\u5165\u3002","Median of the last 7 days, opened to closed.":"\u8FD1 7 \u5929\u4E2D\u4F4D\u6570\uFF0C\u5F00\u542F\u5230\u5173\u95ED\u3002","Median of the last 7 days, created to done.":"\u8FD1 7 \u5929\u4E2D\u4F4D\u6570\uFF0C\u521B\u5EFA\u5230\u5B8C\u6210\u3002","Metrics unavailable":"\u6307\u6807\u4E0D\u53EF\u7528","Running tasks":"\u5728\u8DD1\u4EFB\u52A1","Claimed for":"\u5DF2\u505A\u591A\u4E45","Last activity":"\u6700\u8FD1\u6D3B\u52A8",Task:"\u4EFB\u52A1",Status:"\u72B6\u6001",Who:"\u8C01\u5728\u505A",Source:"\u6765\u6E90",unknown:"\u672A\u77E5",Start:"\u5F00\u59CB",Complete:"\u5B8C\u6210","Start task":"\u5F00\u59CB\u4EFB\u52A1","Complete task":"\u5B8C\u6210\u4EFB\u52A1","Add task":"\u6DFB\u52A0\u4EFB\u52A1","Group task":"\u7FA4\u4EFB\u52A1","Assign, claim, and progress live on this board: one overall task, a subtask per part, an assignee, a column, and progress. @ only wakes someone.":"\u6D3E\u6D3B\u3001\u9886\u6D3B\u548C\u8FDB\u5EA6\u90FD\u5728\u8FD9\u5757\u770B\u677F\u4E0A\uFF1A\u4E00\u4E2A\u603B\u4EFB\u52A1\u3001\u6BCF\u4E2A\u90E8\u5206\u4E00\u6761\u5B50\u4EFB\u52A1\u3001\u8D1F\u8D23\u4EBA\u3001\u5217\u548C\u8FDB\u5EA6\u3002@ \u53EA\u662F\u53EB\u9192\u5BF9\u65B9\u3002","Part of {title}":"\u5C5E\u4E8E {title}","Task title":"\u4EFB\u52A1\u6807\u9898",Progress:"\u8FDB\u5EA6",Group:"\u7FA4","{percent}%":"{percent}%","{done}/{total}":"{done}/{total}","for {time}":"\u5DF2 {time}","just started":"\u521A\u5F00\u59CB","Open {name}":"\u6253\u5F00 {name}","Allowed once for {name}":"\u5DF2\u4E3A {name} \u5141\u8BB8\u4E00\u6B21","Rejected for {name}":"\u5DF2\u62D2\u7EDD {name} \u7684\u8BF7\u6C42",Messages:"\u6D88\u606F",Commands:"\u547D\u4EE4","Search Bots, chats and messages":"\u641C\u7D22 Bot\u3001\u5BF9\u8BDD\u548C\u6D88\u606F","Clear search":"\u6E05\u9664\u641C\u7D22",Results:"\u7ED3\u679C","No results":"\u6CA1\u6709\u7ED3\u679C","Try a Bot name or words from a message":"\u8BD5\u8BD5 Bot \u540D\u5B57\u6216\u6D88\u606F\u91CC\u7684\u8BCD","Bot exchange":"Bot \u95F4\u5BF9\u8BDD","Bot exchange transcript":"Bot \u95F4\u5BF9\u8BDD\u8BB0\u5F55","No messages yet":"\u8FD8\u6CA1\u6709\u6D88\u606F","Close Chat":"\u5173\u95ED","Today {time}":"\u4ECA\u5929 {time}","Yesterday {time}":"\u6628\u5929 {time}","{tokens} tok \xB7 Cache hit {hit}%":"{tokens} tok \xB7 \u7F13\u5B58\u547D\u4E2D {hit}%",Footnotes:"\u811A\u6CE8","Remove reaction {emoji}":"\u79FB\u9664\u8868\u60C5 {emoji}","Add reaction":"\u6DFB\u52A0\u8868\u60C5",Reply:"\u56DE\u590D","More message actions":"\u66F4\u591A\u64CD\u4F5C",More:"\u66F4\u591A",Sharing:"\u5206\u4EAB",Reactions:"\u8868\u60C5","Message actions":"\u6D88\u606F\u64CD\u4F5C",Download:"\u4E0B\u8F7D","Thought it through":"\u601D\u8003\u8FC7\u7A0B","{n} line of reasoning":"{n} \u884C\u601D\u8003\u5185\u5BB9","{n} lines of reasoning":"{n} \u884C\u601D\u8003\u5185\u5BB9","Earlier messages":"\u66F4\u65E9\u7684\u6D88\u606F","Loading earlier messages\u2026":"\u6B63\u5728\u52A0\u8F7D\u66F4\u65E9\u7684\u6D88\u606F\u2026","Couldn\u2019t load earlier messages \xB7 Retry":"\u66F4\u65E9\u7684\u6D88\u606F\u6CA1\u52A0\u8F7D\u51FA\u6765 \xB7 \u91CD\u8BD5","Load earlier":"\u52A0\u8F7D\u66F4\u65E9\u7684\u6D88\u606F","1 image":"1 \u5F20\u56FE\u7247","{count} images":"{count} \u5F20\u56FE\u7247","Replies from":"\u7FA4\u804A\u56DE\u590D\uFF1A","Reply from":"\u6536\u5230\u56DE\u590D\uFF1A","Message from":"\u6536\u5230\u6D88\u606F\uFF1A","via {name}":"\u7ECF\u7531 {name}","{name} is talking to {bot} through Bot Social":"{name} \u6B63\u901A\u8FC7 Bot Social \u548C {bot} \u5BF9\u8BDD","your Bot":"\u4F60\u7684 Bot","Stopped by":"\u53EB\u505C\u8005\uFF1A","{count} messages with":"{count} \u6761\u6D88\u606F\uFF0C\u6765\u81EA","Routine started":"\u4F8B\u884C\u4EFB\u52A1\u5F00\u59CB",Update:"\u66F4\u65B0","Thinking about it":"\u60F3\u4E00\u60F3","Weighing the options":"\u6743\u8861\u4E00\u4E0B","Working out a plan":"\u7406\u4E00\u4E0B\u601D\u8DEF","Sorting out the details":"\u68B3\u7406\u7EC6\u8282","On it":"\u5728\u505A\u4E86","Using {tool}":"\u4F7F\u7528 {tool}","{action}: {detail}":"{action}\uFF1A{detail}","Busy with it":"\u6B63\u5728\u5904\u7406","Moving ahead":"\u63A8\u8FDB\u4E2D","Taking care of it":"\u5904\u7406\u4E2D","Making headway":"\u6709\u8FDB\u5C55\u4E86","Searching online":"\u4E0A\u7F51\u641C\u7D22","Reading a page":"\u9605\u8BFB\u7F51\u9875","Running shell commands":"\u8FD0\u884C\u547D\u4EE4","Opening a file":"\u6253\u5F00\u6587\u4EF6","Looking through files":"\u67E5\u627E\u6587\u4EF6","Writing changes":"\u5199\u5165\u4FEE\u6539","Working on an image":"\u5904\u7406\u56FE\u7247","Creating a group":"\u521B\u5EFA\u7FA4\u804A","Updating the group":"\u66F4\u65B0\u7FA4\u804A","Deleting the group":"\u5220\u9664\u7FA4\u804A","Posting in the group":"\u5728\u7FA4\u91CC\u53D1\u8A00","Checking the keys":"\u67E5\u770B\u5BC6\u94A5","Asking {name}":"\u8BE2\u95EE {name}","Asking another Bot":"\u8BE2\u95EE\u5176\u4ED6 Bot","Stopping {name}":"\u53EB\u505C {name}","Stopping another Bot":"\u53EB\u505C\u5176\u4ED6 Bot","Creating {name}":"\u521B\u5EFA {name}","Updating {name}":"\u66F4\u65B0 {name}","Checking the team":"\u67E5\u770B\u56E2\u961F","Reading {name}":"\u9605\u8BFB {name}","Looking back through the chat":"\u7FFB\u770B\u804A\u5929\u8BB0\u5F55","{name} looked up its own chat":"{name} \u67E5\u770B\u4E86\u81EA\u5DF1\u7684\u5BF9\u8BDD","{name} looked up its own chat for \u201C{text}\u201D":"{name} \u5728\u81EA\u5DF1\u7684\u5BF9\u8BDD\u91CC\u67E5\u627E\u300C{text}\u300D","{name} didn't answer in time":"{name} \u6CA1\u6709\u53CA\u65F6\u56DE\u5E94","{name} paused for your approval":"{name} \u505C\u4E0B\u6765\u7B49\u4F60\u6279\u51C6","{name} started on it":"{name} \u5F00\u59CB\u505A\u4E86","You stopped {name}'s work":"\u4F60\u505C\u4E0B\u4E86 {name} \u7684\u5DE5\u4F5C","{name} was cut off by a restart and picked its work back up":"{name} \u7684\u5DE5\u4F5C\u88AB\u91CD\u542F\u6253\u65AD\uFF0C\u5DF2\u7ECF\u63A5\u7740\u505A","{name} was cut off by a restart again and stopped":"{name} \u7684\u5DE5\u4F5C\u53C8\u88AB\u91CD\u542F\u6253\u65AD\uFF0C\u5DF2\u505C\u4E0B","Picked up its work after a restart":"\u91CD\u542F\u540E\u63A5\u7740\u505A\u4E4B\u524D\u7684\u5DE5\u4F5C","Asked to make the tool call it wrote as text":"\u5DE5\u5177\u8C03\u7528\u88AB\u5199\u6210\u4E86\u6587\u5B57\uFF0C\u5DF2\u8BA9\u5B83\u91CD\u65B0\u8C03\u7528","A Bot":"\u4E00\u4E2A Bot","{name} is waiting for your approval":"{name} \u7B49\u4F60\u6279\u51C6","{name} finished":"{name} \u5DF2\u5B8C\u6210","{name} failed: {reason}":"{name} \u5931\u8D25\uFF1A{reason}","{name} has waited {n} min for your approval":"{name} \u5DF2\u7ECF\u7B49\u4F60\u6279\u51C6 {n} \u5206\u949F\u4E86","{count} updates":"{count} \u6761\u66F4\u65B0","Once more if it still waits after 15 min.":"\u7B49\u4E86 15 \u5206\u949F\u8FD8\u6CA1\u6279\u51C6\u65F6\u518D\u63D0\u9192\u4E00\u6B21\u3002",Notifications:"\u901A\u77E5","In other chats":"\u5728\u5176\u4ED6\u5BF9\u8BDD\u65F6","When your Bots finish, fail, or wait for your approval while you are in another chat or app.":"\u4F60\u7684 Bot \u5B8C\u6210\u3001\u5931\u8D25\u6216\u7B49\u4F60\u6279\u51C6\u65F6\u63D0\u9192\u4F60\uFF08\u4F60\u5728\u522B\u7684\u5BF9\u8BDD\u6216\u5E94\u7528\u91CC\u65F6\uFF09\u3002","{first} and {second} are waiting for your approval":"{first}\u3001{second} \u7B49\u4F60\u6279\u51C6","{first}, {second} and {count} more are waiting for your approval":"{first}\u3001{second} \u7B49 {total} \u4E2A\u7B49\u4F60\u6279\u51C6","Waiting for your approval":"\u7B49\u4F60\u6279\u51C6","Waiting for their approval":"\u7B49\u5BF9\u65B9\u6279\u51C6","Your Bots post in rooms without asking each time. Use Auto-send in the room header to turn it off.":"\u4F60\u7684 Bot \u4F1A\u5728\u623F\u95F4\u91CC\u76F4\u63A5\u53D1\u9001\uFF0C\u4E0D\u518D\u6BCF\u6B21\u8BE2\u95EE\u3002\u8981\u5173\u6389\uFF0C\u7528\u623F\u95F4\u6807\u9898\u91CC\u7684\u81EA\u52A8\u53D1\u9001\u3002","Turn on auto-send":"\u6253\u5F00\u81EA\u52A8\u53D1\u9001","Approve and always auto-send in this room":"\u6279\u51C6\u5E76\u5728\u6B64\u623F\u95F4\u59CB\u7EC8\u81EA\u52A8\u53D1\u9001",Reject:"\u62D2\u7EDD","Allow once":"\u5141\u8BB8\u4E00\u6B21","Always allow for this Bot":"\u6B64 Bot \u59CB\u7EC8\u5141\u8BB8","Always allow for this group":"\u672C\u7FA4\u59CB\u7EC8\u5141\u8BB8","Always allowed for {name}":"\u5DF2\u4E3A {name} \u59CB\u7EC8\u5141\u8BB8","Always allowed in this group":"\u5DF2\u5728\u672C\u7FA4\u59CB\u7EC8\u5141\u8BB8","Always allowed":"\u59CB\u7EC8\u5141\u8BB8","Your Bots in this group do these without asking.":"\u4F60\u5728\u672C\u7FA4\u7684 Bot \u505A\u8FD9\u4E9B\u65F6\u4E0D\u518D\u8BE2\u95EE\u3002","This Bot does these without asking.":"\u6B64 Bot \u505A\u8FD9\u4E9B\u65F6\u4E0D\u518D\u8BE2\u95EE\u3002","Remove always allow for {kind}":"\u79FB\u9664 {kind} \u7684\u59CB\u7EC8\u5141\u8BB8","Couldn't message {name}":"\u6CA1\u80FD\u7ED9 {name} \u53D1\u6D88\u606F",Messaged:"\u5DF2\u53D1\u6D88\u606F\u7ED9","Couldn't stop {name}":"\u6CA1\u80FD\u53EB\u505C {name}",Stopped:"\u5DF2\u53EB\u505C",Created:"\u5DF2\u521B\u5EFA",Updated:"\u5DF2\u66F4\u65B0","Created group":"\u5DF2\u521B\u5EFA\u7FA4\u804A","Couldn't create the group":"\u6CA1\u80FD\u521B\u5EFA\u7FA4\u804A","Updated group":"\u5DF2\u66F4\u65B0\u7FA4\u804A","Couldn't update the group":"\u6CA1\u80FD\u66F4\u65B0\u7FA4\u804A","Deleted group":"\u5DF2\u5220\u9664\u7FA4\u804A","Couldn't delete the group":"\u6CA1\u80FD\u5220\u9664\u7FA4\u804A","Posted in":"\u5DF2\u53D1\u5230","Couldn't post in the group":"\u6CA1\u80FD\u5728\u7FA4\u91CC\u53D1\u8A00",Read:"\u5DF2\u8BFB\u53D6","Your own answer":"\u4F60\u81EA\u5DF1\u7684\u56DE\u7B54","Type your own answer":"\u8F93\u5165\u4F60\u81EA\u5DF1\u7684\u56DE\u7B54",Selected:"\u5DF2\u9009",Skip:"\u8DF3\u8FC7",Submit:"\u63D0\u4EA4",Answered:"\u5DF2\u56DE\u7B54","Choose all that apply":"\u53EF\u591A\u9009","Dismiss question":"\u5173\u95ED\u95EE\u9898",Dismiss:"\u5173\u95ED",Dismissed:"\u5DF2\u5173\u95ED","Your answer":"\u4F60\u7684\u56DE\u7B54","All my Bots":"\u6211\u7684\u6240\u6709 Bot","No Bot":"\u6CA1\u6709 Bot","Paste or type the key":"\u7C98\u8D34\u6216\u8F93\u5165\u5BC6\u94A5","Only {name}":"\u53EA\u7ED9 {name}","Who may use it":"\u8C01\u53EF\u4EE5\u7528","Cancel the request":"\u53D6\u6D88\u8BF7\u6C42","This page is not on HTTPS: the key crosses the network unencrypted.":"\u8FD9\u4E2A\u9875\u9762\u4E0D\u662F HTTPS\uFF1A\u5BC6\u94A5\u4F1A\u4EE5\u660E\u6587\u7ECF\u8FC7\u7F51\u7EDC\u3002","Let {bot} use {name}?":"\u5141\u8BB8 {bot} \u4F7F\u7528 {name}\uFF1F","{name} needs a key":"{name} \u9700\u8981\u4E00\u4E2A\u5BC6\u94A5","Saved for {scope}":"\u5DF2\u4FDD\u5B58\uFF0C\u53EF\u7528\u8303\u56F4\uFF1A{scope}","Value of {name}":"{name} \u7684\u503C","{bot} never sees the value. It reaches {bot}'s shell as ":"{bot} \u6C38\u8FDC\u770B\u4E0D\u5230\u8FD9\u4E2A\u503C\u3002\u5B83\u4F1A\u4F5C\u4E3A\u4E0B\u9762\u7684\u73AF\u5883\u53D8\u91CF\u8FDB\u5165 {bot} \u7684 shell\uFF1A"," At least {count} characters.":" \u81F3\u5C11 {count} \u4E2A\u5B57\u7B26\u3002","At least {count} characters.":"\u81F3\u5C11 {count} \u4E2A\u5B57\u7B26\u3002","Replace value":"\u66FF\u6362\u503C","Saving\u2026":"\u4FDD\u5B58\u4E2D\u2026","Allowing\u2026":"\u5141\u8BB8\u4E2D\u2026",Allow:"\u5141\u8BB8","{bot} asked for {name}":"{bot} \u8BF7\u6C42\u4E86 {name}","Allowed {bot} to use {name}":"\u5DF2\u5141\u8BB8 {bot} \u4F7F\u7528 {name}","Saved {name}":"\u5DF2\u4FDD\u5B58 {name}",Canceled:"\u5DF2\u53D6\u6D88",Done:"\u5B8C\u6210","Done cards":"\u5DF2\u5B8C\u6210","{bot} is using {name}":"{bot} \u6B63\u5728\u4F7F\u7528 {name}","a saved key":"\u4E00\u4E2A\u5DF2\u4FDD\u5B58\u7684\u5BC6\u94A5","Chosen Bots":"\u6307\u5B9A\u7684 Bot","Who may use {name}":"\u8C01\u53EF\u4EE5\u7528 {name}","Save access":"\u4FDD\u5B58\u6743\u9650","Replace the value":"\u66FF\u6362\u503C","New value of {name}":"{name} \u7684\u65B0\u503C","Replaced. Bots get the new value from their next command.":"\u5DF2\u66FF\u6362\u3002Bot \u4ECE\u4E0B\u4E00\u6761\u547D\u4EE4\u5F00\u59CB\u62FF\u5230\u65B0\u503C\u3002","a deleted Bot":"\u4E00\u4E2A\u5DF2\u5220\u9664\u7684 Bot","Asked by {name}":"\u7531 {name} \u8BF7\u6C42","added {time}":"\u6DFB\u52A0\u4E8E {time}","last used {time}":"\u4E0A\u6B21\u4F7F\u7528 {time}","not used yet":"\u8FD8\u6CA1\u7528\u8FC7","Delete {name}? Bots lose it at once.":"\u5220\u9664 {name}\uFF1FBot \u4F1A\u7ACB\u523B\u5931\u53BB\u5B83\u3002",Keep:"\u4FDD\u7559","Key name":"\u5BC6\u94A5\u540D","NAME, e.g. GITHUB_TOKEN":"\u540D\u5B57\uFF0C\u4F8B\u5982 GITHUB_TOKEN","What it is for":"\u7528\u9014",Value:"\u503C","New keys are for all your Bots; change who may use it afterwards.":"\u65B0\u5BC6\u94A5\u9ED8\u8BA4\u4F60\u7684\u6240\u6709 Bot \u53EF\u7528\uFF0C\u4E4B\u540E\u53EF\u4EE5\u66F4\u6539\u8C01\u80FD\u7528\u3002","Save key":"\u4FDD\u5B58\u5BC6\u94A5","Keys your Bots asked for. Bots never see the values: they use them as ":"\u4F60\u7684 Bot \u8BF7\u6C42\u8FC7\u7684\u5BC6\u94A5\u3002Bot \u6C38\u8FDC\u770B\u4E0D\u5230\u503C\uFF1A\u5B83\u4EEC\u5728 shell \u91CC\u901A\u8FC7 "," in their shell, and every value is replaced by ":" \u4F7F\u7528\uFF0C\u800C\u4E14\u53D1\u7ED9\u6A21\u578B\u4E4B\u524D\uFF0C\u6BCF\u4E2A\u503C\u90FD\u4F1A\u88AB\u66FF\u6362\u6210 "," before anything goes to a model.":"\u3002","Secrets \xB7 {count}":"\u5BC6\u94A5 \xB7 {count}","No keys yet. When a Bot needs one, it shows a card in its chat.":"\u8FD8\u6CA1\u6709\u5BC6\u94A5\u3002Bot \u9700\u8981\u65F6\uFF0C\u4F1A\u5728\u5BF9\u8BDD\u91CC\u5F39\u51FA\u4E00\u5F20\u5361\u7247\u3002","Add a key":"\u6DFB\u52A0\u5BC6\u94A5",Memory:"\u8BB0\u5FC6","Nothing saved yet":"\u8FD8\u6CA1\u6709\u4FDD\u5B58\u5185\u5BB9","1 entry":"1 \u6761","{count} entries":"{count} \u6761","Manage {name}'s memory":"\u7BA1\u7406 {name} \u7684\u8BB0\u5FC6","{name}'s memory":"{name} \u7684\u8BB0\u5FC6","Memory summary":"\u8BB0\u5FC6\u6458\u8981","All entries":"\u5168\u90E8\u8BB0\u5FC6","Memory options":"\u8BB0\u5FC6\u9009\u9879","Close memory":"\u5173\u95ED\u8BB0\u5FC6","Back to the summary":"\u8FD4\u56DE\u6458\u8981","Regenerate summary":"\u91CD\u65B0\u751F\u6210\u6458\u8981","Updated {time}":"\u66F4\u65B0\u4E8E {time}","Updated just now":"\u521A\u521A\u66F4\u65B0","Writing the summary\u2026":"\u6B63\u5728\u751F\u6210\u6458\u8981\u2026","The summary is out of date: {reason}":"\u6458\u8981\u4E0D\u662F\u6700\u65B0\u7684\uFF1A{reason}","The summary could not be written: {reason}":"\u6458\u8981\u6CA1\u80FD\u751F\u6210\uFF1A{reason}","{name} has not saved anything yet":"{name} \u8FD8\u6CA1\u6709\u8BB0\u4F4F\u4EFB\u4F55\u5185\u5BB9","Bots keep lasting preferences, decisions, and what you ask them to remember. Tell {name} below, or in its chat.":"Bot \u4F1A\u8BB0\u4F4F\u957F\u671F\u7684\u504F\u597D\u3001\u505A\u8FC7\u7684\u51B3\u5B9A\uFF0C\u4EE5\u53CA\u4F60\u8BA9\u5B83\u8BB0\u4F4F\u7684\u4E8B\u3002\u53EF\u4EE5\u5728\u4E0B\u9762\u544A\u8BC9 {name}\uFF0C\u4E5F\u53EF\u4EE5\u5728\u5BF9\u8BDD\u91CC\u8BF4\u3002","Team memory":"\u56E2\u961F\u8BB0\u5FC6","Every Bot reads it":"\u6240\u6709 Bot \u90FD\u4F1A\u8BFB","MEMORY.md, which every conversation reads":"MEMORY.md\uFF0C\u6BCF\u6B21\u5BF9\u8BDD\u90FD\u4F1A\u8BFB","{used} of {limit} characters":"{used} / {limit} \u5B57\u7B26","by you":"\u7531\u4F60\u6DFB\u52A0","by {name}":"\u7531 {name} \u6DFB\u52A0","Remove from memory":"\u4ECE\u8BB0\u5FC6\u4E2D\u5220\u9664","Click again to remove":"\u518D\u70B9\u4E00\u6B21\u5220\u9664",Remove:"\u5220\u9664","Ask or update":"\u8BE2\u95EE\u6216\u66F4\u65B0","Ask about or update {name}'s memory":"\u8BE2\u95EE\u6216\u66F4\u65B0 {name} \u7684\u8BB0\u5FC6","Added: {text}":"\u5DF2\u6DFB\u52A0\uFF1A{text}","Added to team memory: {text}":"\u5DF2\u52A0\u5165\u56E2\u961F\u8BB0\u5FC6\uFF1A{text}","Updated: {text}":"\u5DF2\u66F4\u65B0\uFF1A{text}","Removed: {text}":"\u5DF2\u5220\u9664\uFF1A{text}","Removed from team memory: {text}":"\u5DF2\u4ECE\u56E2\u961F\u8BB0\u5FC6\u5220\u9664\uFF1A{text}","Not changed: {text} ({reason})":"\u6CA1\u6709\u6539\u52A8\uFF1A{text}\uFF08{reason}\uFF09","Saving to memory":"\u6B63\u5728\u8BB0\u4E0B","Updating memory":"\u6B63\u5728\u66F4\u65B0\u8BB0\u5FC6","Checking memory":"\u6B63\u5728\u67E5\u770B\u8BB0\u5FC6","Memory updated":"\u8BB0\u5FC6\u5DF2\u66F4\u65B0","Team memory updated":"\u56E2\u961F\u8BB0\u5FC6\u5DF2\u66F4\u65B0","Updated {name}'s memory":"\u5DF2\u66F4\u65B0 {name} \u7684\u8BB0\u5FC6","Memory updated. Open {name}'s memory":"\u8BB0\u5FC6\u5DF2\u66F4\u65B0\uFF0C\u6253\u5F00 {name} \u7684\u8BB0\u5FC6","Close browser":"\u5173\u95ED\u6D4F\u89C8\u5668","Open browser":"\u6253\u5F00\u6D4F\u89C8\u5668","Open this Bot's browser":"\u6253\u5F00\u8FD9\u4E2A Bot \u7684\u6D4F\u89C8\u5668","{name}'s browser":"{name} \u7684\u6D4F\u89C8\u5668","Resize panel":"\u8C03\u6574\u9762\u677F\u5BBD\u5EA6","{name} read this page":"{name} \u8BFB\u4E86\u8FD9\u4E2A\u9875\u9762","{name}'s browser. {name} can read the page shown here.":"{name} \u7684\u6D4F\u89C8\u5668\u3002{name} \u80FD\u8BFB\u53D6\u8FD9\u91CC\u663E\u793A\u7684\u9875\u9762\u3002",Back:"\u540E\u9000",Forward:"\u524D\u8FDB",Stop:"\u505C\u6B62",Reload:"\u5237\u65B0",Address:"\u5730\u5740","Search or enter address":"\u641C\u7D22\u6216\u8F93\u5165\u7F51\u5740","This page didn\u2019t load":"\u9875\u9762\u6CA1\u6709\u52A0\u8F7D\u51FA\u6765","Try again":"\u91CD\u8BD5","Open a page here and {name} can read it with you. Logins and cookies stay with {name}; other Bots never see them.":"\u5728\u8FD9\u91CC\u6253\u5F00\u7F51\u9875\uFF0C{name} \u5C31\u80FD\u548C\u4F60\u4E00\u8D77\u8BFB\u3002\u767B\u5F55\u72B6\u6001\u548C cookie \u53EA\u5C5E\u4E8E {name}\uFF0C\u5176\u4ED6 Bot \u770B\u4E0D\u5230\u3002","Only http and https addresses open here.":"\u8FD9\u91CC\u53EA\u80FD\u6253\u5F00 http \u548C https \u5730\u5740\u3002","The page crashed.":"\u9875\u9762\u5D29\u6E83\u4E86\u3002","The browser blocked the new window.":"\u6D4F\u89C8\u5668\u62E6\u622A\u4E86\u65B0\u7A97\u53E3\u3002","Open the issue":"\u6253\u5F00\u95EE\u9898\u9875\u9762","Cloud metadata addresses do not open here.":"\u8FD9\u91CC\u4E0D\u80FD\u6253\u5F00\u4E91\u5143\u6570\u636E\u5730\u5740\u3002","Dictation is not available in this browser":"\u8FD9\u4E2A\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u542C\u5199","Microphone access is blocked":"\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u963B\u6B62\u4E86","Couldn't hear that":"\u6CA1\u542C\u6E05","Couldn't start dictation":"\u65E0\u6CD5\u5F00\u59CB\u542C\u5199","Stop dictation":"\u505C\u6B62\u542C\u5199",Dictate:"\u542C\u5199","Start voice chat":"\u5F00\u59CB\u8BED\u97F3\u5BF9\u8BDD","Voice chat":"\u8BED\u97F3\u5BF9\u8BDD",Listening:"\u5728\u542C",Thinking:"\u601D\u8003\u4E2D","Thinking\u2026":"\u601D\u8003\u4E2D\u2026",Speaking:"\u5728\u8BF4",Paused:"\u5DF2\u6682\u505C","Voice chat is not available in this browser":"\u8FD9\u4E2A\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u8BED\u97F3\u5BF9\u8BDD","Voice chat with {name}":"\u548C {name} \u8BED\u97F3\u5BF9\u8BDD","Resume listening":"\u7EE7\u7EED\u542C",Pause:"\u6682\u505C","End voice chat":"\u7ED3\u675F\u8BED\u97F3\u5BF9\u8BDD","Recognizing\u2026":"\u8BC6\u522B\u4E2D\u2026","Voice input needs its speech model":"\u8BED\u97F3\u8F93\u5165\u8FD8\u6CA1\u6709\u8BED\u97F3\u6A21\u578B","Set up voice input":"\u8BBE\u7F6E\u8BED\u97F3\u8F93\u5165","That was too long to recognize":"\u8FD9\u6BB5\u592A\u957F\u4E86\uFF0C\u8BC6\u522B\u4E0D\u4E86","24 hours":"24 \u5C0F\u65F6","7 days":"7 \u5929","30 days":"30 \u5929","12 weeks":"12 \u5468","12 months":"12 \u4E2A\u6708","Per hour":"\u6309\u5C0F\u65F6","Per day":"\u6309\u5929","Per week":"\u6309\u5468","Per month":"\u6309\u6708",Output:"\u8F93\u51FA",Input:"\u8F93\u5165","Cache hit":"\u7F13\u5B58\u547D\u4E2D","Deleted Bot":"\u5DF2\u5220\u9664\u7684 Bot",Deleted:"\u5DF2\u5220\u9664","Deleted group chat":"\u5DF2\u5220\u9664\u7684\u7FA4\u804A","Group chat":"\u7FA4\u804A","Own chat":"\u5355\u804A",Conversations:"\u5BF9\u8BDD","Compaction and handoff":"\u538B\u7F29\u4E0E\u4EA4\u63A5","Image reading":"\u8BC6\u56FE",Titles:"\u6807\u9898",Other:"\u5176\u4ED6","Last {range}":"\u6700\u8FD1 {range}",tokens:"Token","Compared with the {range} before":"\u4E0E\u518D\u5F80\u524D {range} \u76F8\u6BD4","{share}% of all usage in the last {range}":"\u5360\u6700\u8FD1 {range}\u5168\u90E8\u7528\u91CF\u7684 {share}%",Calls:"\u8C03\u7528\u6B21\u6570","Cache hit rate":"\u7F13\u5B58\u547D\u4E2D\u7387","Tokens over time":"Token \u8D70\u52BF","{count} tokens":"{count} Token","{tokens} tokens \xB7 {calls} calls":"{tokens} Token \xB7 {calls} \u6B21\u8C03\u7528","Active on 1 day in the last year":"\u8FD1\u4E00\u5E74\u6709 1 \u5929\u5728\u7528","Active on {count} days in the last year":"\u8FD1\u4E00\u5E74\u6709 {count} \u5929\u5728\u7528",Light:"\u5C11",Heavy:"\u591A","Unknown model":"\u672A\u77E5\u6A21\u578B","More Bots":"\u5176\u4F59 Bot","More models":"\u5176\u4F59\u6A21\u578B","Reading your chats\u2026":"\u6B63\u5728\u8BFB\u53D6\u804A\u5929\u8BB0\u5F55\u2026","No usage yet.":"\u8FD8\u6CA1\u6709\u7528\u91CF\u3002","Token usage shows up here after a model is called.":"\u8C03\u7528\u6A21\u578B\u4E4B\u540E\uFF0C\u8FD9\u91CC\u4F1A\u663E\u793A Token \u7528\u91CF\u3002","Nothing in this range.":"\u8FD9\u6BB5\u65F6\u95F4\u6CA1\u6709\u7528\u91CF\u3002","Who used it":"\u8C01\u5728\u7528","What for":"\u7528\u9014",Activity:"\u6D3B\u8DC3\u5EA6","Time range":"\u65F6\u95F4\u8303\u56F4","All usage":"\u5168\u90E8\u7528\u91CF","Group usage by":"\u7528\u91CF\u5206\u7EC4","By Bot":"\u6309 Bot","By model":"\u6309\u6A21\u578B","Still reading older chats; totals may grow.":"\u8FD8\u5728\u8BFB\u53D6\u8F83\u65E9\u7684\u804A\u5929\u8BB0\u5F55\uFF0C\u6570\u5B57\u53EF\u80FD\u8FD8\u4F1A\u53D8\u5927\u3002",Custom:"\u81EA\u5B9A\u4E49","Custom range":"\u81EA\u5B9A\u4E49\u65F6\u95F4\u8303\u56F4","This month":"\u672C\u6708","Last month":"\u4E0A\u4E2A\u6708","This year":"\u4ECA\u5E74","Previous month":"\u5F80\u524D\u4E00\u4E2A\u6708","Next month":"\u5F80\u540E\u4E00\u4E2A\u6708","Pick the first day":"\u9009\u62E9\u5F00\u59CB\u65E5\u671F","Pick the last day":"\u9009\u62E9\u7ED3\u675F\u65E5\u671F","1 day":"1 \u5929","{count} days":"{count} \u5929","Compared with the day before":"\u4E0E\u524D\u4E00\u5929\u76F8\u6BD4","Compared with the {count} days before":"\u4E0E\u518D\u5F80\u524D {count} \u5929\u76F8\u6BD4","{share}% of all usage from {span}":"\u5360 {span} \u5168\u90E8\u7528\u91CF\u7684 {share}%","About FlyBot":"\u5173\u4E8E FlyBot","Version {version}":"\u7248\u672C {version}","Star FlyBot on GitHub":"\u5728 GitHub \u4E0A\u7ED9 FlyBot \u70B9 Star","{count} stars":"{count} \u4E2A Star","If FlyBot helps you, a star on GitHub helps more people find it.":"\u5982\u679C FlyBot \u5BF9\u4F60\u6709\u7528\uFF0C\u6B22\u8FCE\u5728 GitHub \u4E0A\u70B9\u4E2A Star\uFF0C\u8BA9\u66F4\u591A\u4EBA\u770B\u5230\u5B83\u3002",Updates:"\u66F4\u65B0","Check for updates":"\u68C0\u67E5\u66F4\u65B0","Checking\u2026":"\u6B63\u5728\u68C0\u67E5\u2026","Up to date":"\u5DF2\u662F\u6700\u65B0\u7248\u672C","Checked {time}":"\u68C0\u67E5\u4E8E {time}","Could not check for updates.":"\u6CA1\u80FD\u68C0\u67E5\u66F4\u65B0\u3002","Update checks are off.":"\u5DF2\u5173\u95ED\u66F4\u65B0\u68C0\u67E5\u3002","Installed from a local folder; update it there.":"\u4ECE\u672C\u5730\u6587\u4EF6\u5939\u5B89\u88C5\uFF0C\u8BF7\u5728\u90A3\u91CC\u66F4\u65B0\u3002","Updates are not offered for this install.":"\u8FD9\u79CD\u5B89\u88C5\u65B9\u5F0F\u4E0D\u63D0\u4F9B\u66F4\u65B0\u3002","Installed from GitHub ({where}). Updates come from the maintainer: reinstall FlyBot to get them.":"\u4ECE GitHub \u5B89\u88C5\uFF08{where}\uFF09\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","Pinned to commit {commit}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u56FA\u5B9A\u5728\u63D0\u4EA4 {commit}\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","Up to date with {branch}.":"\u5DF2\u662F {branch} \u7684\u6700\u65B0\u63D0\u4EA4\u3002","1 commit behind {branch}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u843D\u540E {branch} 1 \u4E2A\u63D0\u4EA4\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","{count} commits behind {branch}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u843D\u540E {branch} {count} \u4E2A\u63D0\u4EA4\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","Could not compare with {branch}. Updates come from the maintainer: reinstall FlyBot to get them.":"\u6CA1\u80FD\u548C {branch} \u6BD4\u8F83\u3002\u66F4\u65B0\u7531\u7EF4\u62A4\u8005\u53D1\u5E03\uFF1A\u91CD\u65B0\u5B89\u88C5 FlyBot \u5373\u53EF\u5347\u7EA7\u3002","DeepSeek Harness (underlying)":"DeepSeek Harness\uFF08\u5E95\u5C42\uFF09",Links:"\u94FE\u63A5","Source code":"\u6E90\u4EE3\u7801","Release notes":"\u53D1\u5E03\u8BF4\u660E",Open:"\u6253\u5F00",Feedback:"\u53CD\u9988","Report a problem":"\u62A5\u544A\u95EE\u9898","What happened?":"\u53D1\u751F\u4E86\u4EC0\u4E48\uFF1F","What you did, what you expected, and what happened instead. It goes into the issue.":"\u4F60\u505A\u4E86\u4EC0\u4E48\u3001\u671F\u671B\u4EC0\u4E48\u3001\u5B9E\u9645\u53D1\u751F\u4E86\u4EC0\u4E48\u3002\u4F1A\u5199\u8FDB issue\u3002","For example: I asked Writer in the group chat and it showed an error.":"\u4F8B\u5982\uFF1A\u6211\u5728\u7FA4\u804A\u91CC\u95EE Writer\uFF0C\u5B83\u663E\u793A\u51FA\u9519\u4E86\u3002",Diagnostics:"\u8BCA\u65AD\u4FE1\u606F","Versions, system, models, and the latest errors. Saved keys, tokens, and your home folder are hidden.":"\u7248\u672C\u3001\u7CFB\u7EDF\u3001\u6A21\u578B\u548C\u6700\u8FD1\u7684\u9519\u8BEF\u3002\u5DF2\u4FDD\u5B58\u7684\u5BC6\u94A5\u3001\u4EE4\u724C\u548C\u4F60\u7684\u7528\u6237\u76EE\u5F55\u90FD\u5DF2\u9690\u85CF\u3002",Show:"\u67E5\u770B",Hide:"\u6536\u8D77","GitHub issue":"GitHub issue","Opens a new issue in the FlyBot repository with all of this filled in. Nothing is sent until you submit it there.":"\u5728 FlyBot \u4ED3\u5E93\u65B0\u5EFA\u4E00\u4E2A issue\uFF0C\u5E76\u586B\u597D\u4EE5\u4E0A\u5185\u5BB9\u3002\u4F60\u5728 GitHub \u4E0A\u63D0\u4EA4\u4E4B\u524D\uFF0C\u4EC0\u4E48\u90FD\u4E0D\u4F1A\u53D1\u51FA\u3002","Report on GitHub":"\u5728 GitHub \u4E0A\u62A5\u544A","Copied the diagnostics.":"\u5DF2\u590D\u5236\u8BCA\u65AD\u4FE1\u606F\u3002","Could not copy. Select the text below and copy it.":"\u65E0\u6CD5\u590D\u5236\u3002\u8BF7\u9009\u4E2D\u4E0B\u9762\u7684\u6587\u5B57\u624B\u52A8\u590D\u5236\u3002","Opened a new GitHub issue with the diagnostics filled in. Check it before you submit.":"\u5DF2\u6253\u5F00\u65B0\u7684 GitHub issue\uFF0C\u8BCA\u65AD\u4FE1\u606F\u5DF2\u586B\u597D\u3002\u63D0\u4EA4\u524D\u8BF7\u68C0\u67E5\u4E00\u904D\u3002","Opened a new GitHub issue. The diagnostics are long, so they are on the clipboard: paste them into the issue.":"\u5DF2\u6253\u5F00\u65B0\u7684 GitHub issue\u3002\u8BCA\u65AD\u4FE1\u606F\u592A\u957F\uFF0C\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F\uFF0C\u8BF7\u7C98\u8D34\u5230 issue \u91CC\u3002","Opened a new GitHub issue. Copy the diagnostics below into it.":"\u5DF2\u6253\u5F00\u65B0\u7684 GitHub issue\u3002\u8BF7\u628A\u4E0B\u9762\u7684\u8BCA\u65AD\u4FE1\u606F\u590D\u5236\u8FDB\u53BB\u3002","Downloaded the log. Keys, tokens, and your home folder are hidden in it.":"\u5DF2\u4E0B\u8F7D\u65E5\u5FD7\u3002\u91CC\u9762\u7684\u5BC6\u94A5\u3001\u4EE4\u724C\u548C\u7528\u6237\u76EE\u5F55\u90FD\u5DF2\u9690\u85CF\u3002","Cleared the error log.":"\u5DF2\u6E05\u7A7A\u9519\u8BEF\u65E5\u5FD7\u3002","Recent errors":"\u6700\u8FD1\u7684\u9519\u8BEF","Recent errors \xB7 {count}":"\u6700\u8FD1\u7684\u9519\u8BEF \xB7 {count}","No errors recorded.":"\u6CA1\u6709\u9519\u8BEF\u8BB0\u5F55\u3002","Failed model calls and FlyBot problems show here, newest first.":"\u6A21\u578B\u8C03\u7528\u5931\u8D25\u548C FlyBot \u7684\u95EE\u9898\u4F1A\u663E\u793A\u5728\u8FD9\u91CC\uFF0C\u6700\u65B0\u7684\u5728\u524D\u3002","Model call":"\u6A21\u578B\u8C03\u7528","This window":"\u8FD9\u4E2A\u7A97\u53E3","Error log":"\u9519\u8BEF\u65E5\u5FD7","Kept on this computer across restarts, up to about 1 MB.":"\u4FDD\u5B58\u5728\u8FD9\u53F0\u7535\u8111\u4E0A\uFF0C\u91CD\u542F\u540E\u4ECD\u5728\uFF0C\u6700\u591A\u7EA6 1 MB\u3002",Clear:"\u6E05\u7A7A","Settings \u2192 Feedback has the details.":"\u8BE6\u60C5\u89C1 \u8BBE\u7F6E \u2192 \u53CD\u9988\u3002","Could not reach DSH. Check that it is still running.":"\u8FDE\u4E0D\u4E0A DSH\uFF0C\u8BF7\u786E\u8BA4\u5B83\u8FD8\u5728\u8FD0\u884C\u3002","{name} could not answer: {reason}":"{name} \u6CA1\u80FD\u56DE\u7B54\uFF1A{reason}","Unknown error":"\u672A\u77E5\u9519\u8BEF","The API key was rejected":"API \u5BC6\u94A5\u65E0\u6548","The account is out of quota":"\u8D26\u6237\u989D\u5EA6\u5DF2\u7528\u5C3D","Too many requests to the model":"\u6A21\u578B\u8BF7\u6C42\u592A\u9891\u7E41","The conversation is too long for the model":"\u5BF9\u8BDD\u592A\u957F\uFF0C\u8D85\u51FA\u6A21\u578B\u4E0A\u9650","The model service refused the request":"\u6A21\u578B\u670D\u52A1\u62D2\u7EDD\u4E86\u8BF7\u6C42","The model service failed":"\u6A21\u578B\u670D\u52A1\u51FA\u9519","The model took too long to answer":"\u6A21\u578B\u54CD\u5E94\u8D85\u65F6","Could not reach the model service":"\u8FDE\u4E0D\u4E0A\u6A21\u578B\u670D\u52A1","Its group conversation could not open":"\u5B83\u7684\u7FA4\u804A\u4F1A\u8BDD\u6253\u4E0D\u5F00","Add files":"\u6DFB\u52A0\u6587\u4EF6","Reference a chat":"\u5F15\u7528\u5BF9\u8BDD","Chat with {name}":"\u4E0E {name} \u7684\u5BF9\u8BDD","Scheduled task":"\u5B9A\u65F6\u4EFB\u52A1","Send to":"\u53D1\u7ED9","Scheduled task: {text}":"\u5B9A\u65F6\u4EFB\u52A1\uFF1A{text}","Choose the group admin":"\u9009\u62E9\u7FA4\u7BA1\u7406\u5458","Group admin":"\u7FA4\u7BA1\u7406\u5458","Who to chat with\u2026":"\u60F3\u548C\u8C01\u804A\u2026","Add at least one more Bot":"\u518D\u81F3\u5C11\u6DFB\u52A0\u4E00\u4E2A Bot",Members:"\u6210\u5458","Choose Bots":"\u9009\u62E9 Bot","Off for every Bot. Choose which Bots may use it.":"\u6240\u6709 Bot \u90FD\u672A\u5F00\u542F\u3002\u9009\u62E9\u54EA\u4E9B Bot \u53EF\u4EE5\u4F7F\u7528\u3002","On for {count} of {total} Bots":"\u5DF2\u4E3A {total} \u4E2A Bot \u4E2D\u7684 {count} \u4E2A\u5F00\u542F","On for all {total} Bots":"\u5DF2\u4E3A\u5168\u90E8 {total} \u4E2A Bot \u5F00\u542F","On. This Bot can use it on every turn.":"\u5DF2\u5F00\u542F\u3002\u8FD9\u4E2A Bot \u6BCF\u4E00\u8F6E\u90FD\u53EF\u4EE5\u4F7F\u7528\u5B83\u3002","Off. This Bot will not use it.":"\u5DF2\u5173\u95ED\u3002\u8FD9\u4E2A Bot \u4E0D\u4F1A\u4F7F\u7528\u5B83\u3002","On by default for each of your Bots, on every turn: in its own chat, in groups, on schedules and when a friend uses it. A friend's own Bot never gets it.":"\u9ED8\u8BA4\u5BF9\u4F60\u7684\u6BCF\u4E2A Bot \u5F00\u542F\uFF0C\u6BCF\u4E00\u8F6E\u90FD\u53EF\u7528\uFF1A\u5B83\u81EA\u5DF1\u7684\u804A\u5929\u3001\u7FA4\u804A\u3001\u5B9A\u65F6\u4EFB\u52A1\uFF0C\u4EE5\u53CA\u597D\u53CB\u4F7F\u7528\u5B83\u65F6\u3002\u597D\u53CB\u81EA\u5DF1\u7684 Bot \u6C38\u8FDC\u62FF\u4E0D\u5230\u3002","No Bots":"\u6CA1\u6709 Bot","Scheduled tasks":"\u5B9A\u65F6\u4EFB\u52A1","Every day":"\u6BCF\u5929","Every {count} days":"\u6BCF {count} \u5929","Every hour":"\u6BCF\u5C0F\u65F6","Every {count} hours":"\u6BCF {count} \u5C0F\u65F6","Every {count} minutes":"\u6BCF {count} \u5206\u949F","Every {count} seconds":"\u6BCF {count} \u79D2","Once, {time}":"\u4E00\u6B21\uFF0C{time}","Every day at {time}":"\u6BCF\u5929 {time}","Every {days} at {time}":"\u6BCF{days} {time}","Every weekday at {time}":"\u6BCF\u4E2A\u5DE5\u4F5C\u65E5 {time}","Every weekend at {time}":"\u6BCF\u4E2A\u5468\u672B {time}","On the schedule {expression}":"\u6309\u8BA1\u5212 {expression}","Next: {time}":"\u4E0B\u6B21 {time}","Running since {time}":"\u8FD0\u884C\u4E2D\uFF0C{time} \u5F00\u59CB","Last run {time}":"\u4E0A\u6B21\u8FD0\u884C {time}","Last run {time} \xB7 Stopped":"\u4E0A\u6B21\u8FD0\u884C {time} \xB7 \u5DF2\u505C\u6B62","Last run {time} \xB7 Failed: {reason}":"\u4E0A\u6B21\u8FD0\u884C {time} \xB7 \u5931\u8D25\uFF1A{reason}","Run the task once now":"\u73B0\u5728\u8FD0\u884C\u4E00\u6B21\u8FD9\u4E2A\u4EFB\u52A1","DSH could not deliver it":"DSH \u6CA1\u80FD\u9001\u8FBE","Resume the task first":"\u8BF7\u5148\u7EE7\u7EED\u8FD9\u4E2A\u4EFB\u52A1","Copy to\u2026":"\u590D\u5236\u5230\u2026","Copy to":"\u590D\u5236\u5230","Copy to another Bot or group chat":"\u590D\u5236\u5230\u5176\u4ED6 Bot \u6216\u7FA4\u804A","Copy \u201C{name}\u201D to":"\u628A\u300C{name}\u300D\u590D\u5236\u5230","Pick a Bot or group chat":"\u9009\u62E9 Bot \u6216\u7FA4\u804A","Copying\u2026":"\u6B63\u5728\u590D\u5236\u2026",Finished:"\u5DF2\u7ED3\u675F",Resume:"\u7EE7\u7EED","in {name}":"\u5728 {name}","Click again to delete":"\u518D\u70B9\u4E00\u6B21\u5220\u9664","Delete task":"\u5220\u9664\u4EFB\u52A1",Once:"\u4E00\u6B21","Every week":"\u6BCF\u5468",Repeat:"\u91CD\u590D",minutes:"\u5206\u949F",hours:"\u5C0F\u65F6",days:"\u5929",seconds:"\u79D2","Morning briefing":"\u65E9\u95F4\u7B80\u62A5","What to do":"\u8981\u505A\u4EC0\u4E48","Sum up what changed since yesterday and what needs me today.":"\u603B\u7ED3\u4E00\u4E0B\u6628\u5929\u4EE5\u6765\u7684\u53D8\u5316\uFF0C\u4EE5\u53CA\u4ECA\u5929\u9700\u8981\u6211\u5904\u7406\u7684\u4E8B\u3002",When:"\u4EC0\u4E48\u65F6\u5019","Date and time":"\u65E5\u671F\u548C\u65F6\u95F4",Days:"\u661F\u671F",Time:"\u65F6\u95F4",Every:"\u6BCF","How many":"\u6570\u91CF",Unit:"\u5355\u4F4D","Create task":"\u521B\u5EFA\u4EFB\u52A1","Turn on Automation tasks in DSH":"\u5728 DSH \u91CC\u6253\u5F00\u300C\u81EA\u52A8\u5316\u4EFB\u52A1\u300D","Switch on Automation tasks on the Plugins page.":"\u5728\u300C\u63D2\u4EF6\u300D\u9875\u9762\u6253\u5F00\u300C\u81EA\u52A8\u5316\u4EFB\u52A1\u300D\u3002","Open Plugins":"\u6253\u5F00\u300C\u63D2\u4EF6\u300D\u9875\u9762","New task":"\u65B0\u5EFA\u4EFB\u52A1","Quiet hours":"\u5B89\u9759\u65F6\u6BB5","On, {from}\u2013{to}":"\u5F00\u7740\uFF0C{from}\u2013{to}",Off:"\u5173\u7740",Window:"\u65F6\u6BB5","Turn on":"\u6253\u5F00","Turn off":"\u5173\u6389","Save window":"\u4FDD\u5B58\u65F6\u6BB5","Quiet hours start":"\u5B89\u9759\u65F6\u6BB5\u5F00\u59CB","Quiet hours end":"\u5B89\u9759\u65F6\u6BB5\u7ED3\u675F","A new or edited task cannot be due inside the window. It never mutes a task that already exists.":"\u65B0\u5EFA\u6216\u4FEE\u6539\u7684\u4EFB\u52A1\u4E0D\u80FD\u843D\u5728\u65F6\u6BB5\u5185\u3002\u5DF2\u7ECF\u5B58\u5728\u7684\u4EFB\u52A1\u4E0D\u4F1A\u88AB\u9759\u97F3\u3002","A repeat or cron task can still run inside quiet hours, because DSH decides its next run. FlyBot says so here rather than claiming a silence it cannot keep.":"\u300C\u6BCF N \u5206\u949F\u300D\u548C cron \u4EFB\u52A1\u4ECD\u53EF\u80FD\u5728\u5B89\u9759\u65F6\u6BB5\u5185\u8FD0\u884C\uFF1A\u4E0B\u4E00\u6B21\u8FD0\u884C\u65F6\u95F4\u662F DSH \u7B97\u7684\u3002\u8FD9\u91CC\u5982\u5B9E\u8BF4\u660E\uFF0C\u4E0D\u5047\u88C5\u5DF2\u7ECF\u9759\u97F3\u3002","No scheduled tasks yet.":"\u8FD8\u6CA1\u6709\u5B9A\u65F6\u4EFB\u52A1\u3002","No scheduled tasks yet. Add one":"\u8FD8\u6CA1\u6709\u5B9A\u65F6\u4EFB\u52A1\uFF0C\u53BB\u6DFB\u52A0","Automation tasks are off in DSH":"DSH \u7684\u300C\u81EA\u52A8\u5316\u4EFB\u52A1\u300D\u6CA1\u6709\u6253\u5F00","No such Bot":"\u6CA1\u6709\u8FD9\u4E2A Bot","No such Bot or group chat":"\u6CA1\u6709\u8FD9\u4E2A Bot \u6216\u7FA4\u804A","Give the task a name":"\u7ED9\u4EFB\u52A1\u8D77\u4E2A\u540D\u5B57","Say what the Bot should do":"\u5199\u4E0B Bot \u8981\u505A\u4EC0\u4E48","Pick a date and time":"\u9009\u4E00\u4E2A\u65E5\u671F\u548C\u65F6\u95F4","Pick a time in the future":"\u9009\u4E00\u4E2A\u5C06\u6765\u7684\u65F6\u95F4","Pick a time of day":"\u9009\u4E00\u4E2A\u65F6\u95F4","Quiet hours must be on or off":"\u5B89\u9759\u65F6\u6BB5\u8981\u4E48\u5F00\u3001\u8981\u4E48\u5173","Quiet hours need a start and an end time":"\u5B89\u9759\u65F6\u6BB5\u9700\u8981\u5F00\u59CB\u548C\u7ED3\u675F\u65F6\u95F4","Quiet hours need two different times":"\u5B89\u9759\u65F6\u6BB5\u7684\u5F00\u59CB\u548C\u7ED3\u675F\u4E0D\u80FD\u662F\u540C\u4E00\u4E2A\u65F6\u95F4","Pick at least one day":"\u81F3\u5C11\u9009\u4E00\u5929","Repeat every 1 minute to 7 days":"\u91CD\u590D\u95F4\u9694\u8981\u5728 1 \u5206\u949F\u5230 7 \u5929\u4E4B\u95F4","Pick when it runs":"\u9009\u62E9\u4EC0\u4E48\u65F6\u5019\u8FD0\u884C","No such task":"\u6CA1\u6709\u8FD9\u4E2A\u4EFB\u52A1","This task has finished":"\u8FD9\u4E2A\u4EFB\u52A1\u5DF2\u7ECF\u7ED3\u675F","The task changed meanwhile. Try again":"\u4EFB\u52A1\u521A\u521A\u6709\u53D8\u5316\uFF0C\u8BF7\u518D\u8BD5\u4E00\u6B21","The task could not be saved":"\u4EFB\u52A1\u6CA1\u80FD\u4FDD\u5B58","This task cannot be edited here":"\u8FD9\u4E2A\u4EFB\u52A1\u4E0D\u80FD\u5728\u8FD9\u91CC\u7F16\u8F91","This task cannot be paused":"\u8FD9\u4E2A\u4EFB\u52A1\u4E0D\u80FD\u6682\u505C","Its time has passed. Edit the task to pick a new one":"\u65F6\u95F4\u5DF2\u7ECF\u8FC7\u4E86\uFF0C\u8BF7\u7F16\u8F91\u4EFB\u52A1\u9009\u4E00\u4E2A\u65B0\u65F6\u95F4","Working folder":"\u5DE5\u4F5C\u6587\u4EF6\u5939","Working folder: {folder}":"\u5DE5\u4F5C\u6587\u4EF6\u5939\uFF1A{folder}",Folder:"\u6587\u4EF6\u5939",Folders:"\u6587\u4EF6\u5939","Team workspace":"\u56E2\u961F\u5DE5\u4F5C\u533A","Each Bot's own folder":"\u5404 Bot \u81EA\u5DF1\u7684\u6587\u4EF6\u5939","Choose a folder\u2026":"\u9009\u62E9\u6587\u4EF6\u5939\u2026","Browse folders\u2026":"\u6D4F\u89C8\u6587\u4EF6\u5939\u2026","Enter a path\u2026":"\u8F93\u5165\u8DEF\u5F84\u2026","Folder path":"\u6587\u4EF6\u5939\u8DEF\u5F84","Full path of a folder":"\u6587\u4EF6\u5939\u7684\u5B8C\u6574\u8DEF\u5F84","Use this folder":"\u4F7F\u7528\u8FD9\u4E2A\u6587\u4EF6\u5939","Up one level":"\u4E0A\u4E00\u7EA7","No folders inside.":"\u91CC\u9762\u6CA1\u6709\u6587\u4EF6\u5939\u3002","Some folders are not shown.":"\u8FD8\u6709\u4E00\u4E9B\u6587\u4EF6\u5939\u6CA1\u6709\u663E\u793A\u3002","Project settings":"\u9879\u76EE\u8BBE\u7F6E","Project board":"\u9879\u76EE\u770B\u677F","No Project here.":"\u8FD9\u91CC\u6CA1\u6709\u9879\u76EE\u3002",Decisions:"\u51B3\u7B56",Meetings:"\u4F1A\u8BAE","Not decided":"\u672A\u51B3\u5B9A","decision file gone":"\u51B3\u7B56\u6587\u4EF6\u5DF2\u4E0D\u5728",ordinary:"\u666E\u901A",major:"\u91CD\u5927",severe:"\u4E25\u91CD","for {user}":"\u4EE3 {user} \u53D1\u8A00","not-started":"\u672A\u5F00\u59CB","in-progress":"\u8FDB\u884C\u4E2D",done:"\u5DF2\u5B8C\u6210",running:"\u8FD0\u884C\u4E2D",stalled:"\u5DF2\u505C\u6EDE",Projects:"\u9879\u76EE","New Project":"\u65B0\u5EFA\u9879\u76EE","Project name":"\u9879\u76EE\u540D\u79F0","e.g. Website":"\u4F8B\u5982\uFF1A\u5B98\u7F51","Optional. Where this Project's work happens.":"\u53EF\u9009\u3002\u8FD9\u4E2A\u9879\u76EE\u7684\u5DE5\u4F5C\u76EE\u5F55\u3002","Projects \xB7 {count}":"\u9879\u76EE \xB7 {count}",Maintainer:"\u7EF4\u62A4\u8005",Member:"\u6210\u5458","No Projects yet":"\u8FD8\u6CA1\u6709\u9879\u76EE","Reading Projects\u2026":"\u6B63\u5728\u8BFB\u53D6\u9879\u76EE\u2026","My role":"\u6211\u7684\u89D2\u8272","No role to switch here.":"\u8FD9\u91CC\u6CA1\u6709\u53EF\u5207\u6362\u7684\u89D2\u8272\u3002","Role changed.":"\u89D2\u8272\u5DF2\u66F4\u6539\u3002","Role unchanged: {reason}":"\u89D2\u8272\u672A\u66F4\u6539\uFF1A{reason}",refused:"\u88AB\u62D2\u7EDD","No Project yet \u2014 create one.":"\u8FD8\u6CA1\u6709\u9879\u76EE\u2014\u2014\u65B0\u5EFA\u4E00\u4E2A\u3002","Bind a Bot or group":"\u7ED1\u5B9A Bot \u6216\u7FA4\u804A","Bind to {name}":"\u7ED1\u5B9A\u5230 {name}","Open board":"\u6253\u5F00\u770B\u677F",Unbind:"\u89E3\u9664\u7ED1\u5B9A",Bindings:"\u7ED1\u5B9A\u5173\u7CFB","Bind a member to this Project":"\u628A\u6210\u5458\u7ED1\u5B9A\u5230\u8FD9\u4E2A\u9879\u76EE","Member kind":"\u6210\u5458\u7C7B\u578B","Member id":"\u6210\u5458 ID","Member bound.":"\u6210\u5458\u5DF2\u7ED1\u5B9A\u3002",Bind:"\u7ED1\u5B9A","Member unbound.":"\u5DF2\u89E3\u9664\u6210\u5458\u7684\u7ED1\u5B9A\u3002","Project Assistant":"\u9879\u76EE\u52A9\u624B","Project Chief":"\u9879\u76EE Chief","Chief of this Project":"\u672C\u9879\u76EE\u7684 Chief","Pause the daily digest":"\u6682\u505C\u6BCF\u65E5\u6458\u8981","Assistant settings saved.":"\u52A9\u624B\u8BBE\u7F6E\u5DF2\u4FDD\u5B58\u3002","Add to the assistant memory":"\u6DFB\u52A0\u5230\u52A9\u624B\u8BB0\u5FC6","Memory saved.":"\u8BB0\u5FC6\u5DF2\u4FDD\u5B58\u3002","Save memory":"\u4FDD\u5B58\u8BB0\u5FC6","Back to board":"\u8FD4\u56DE\u770B\u677F",Owner:"\u8D1F\u8D23\u4EBA","On the board":"\u5728\u770B\u677F\u4E0A","No member is named yet.":"\u8FD8\u6CA1\u6709\u6307\u5B9A\u6210\u5458\u3002","Member management is not part of this slice; owners and the members their cards name are listed here.":"\u6210\u5458\u7BA1\u7406\u4E0D\u5728\u672C\u6B21\u8303\u56F4\u5185\uFF1B\u8FD9\u91CC\u5217\u51FA\u9879\u76EE\u8D1F\u8D23\u4EBA\u548C\u5361\u7247\u4E0A\u70B9\u540D\u7684\u6210\u5458\u3002","Project team":"\u9879\u76EE\u56E2\u961F","My agent":"\u6211\u7684\u52A9\u624B","Role pool":"\u89D2\u8272\u6C60","Can switch to {roles}":"\u53EF\u5207\u6362\u4E3A {roles}","No one in this pool yet.":"\u89D2\u8272\u6C60\u91CC\u8FD8\u6CA1\u6709\u4EBA\u3002",Dossier:"\u6863\u6848",Persona:"\u4EBA\u8BBE",Skills:"\u6280\u80FD","No memory yet.":"\u8FD8\u6CA1\u6709\u8BB0\u5FC6\u3002","No skills attached.":"\u8FD8\u6CA1\u6709\u9644\u52A0\u6280\u80FD\u3002","Open chat":"\u6253\u5F00\u5BF9\u8BDD","Open my agent":"\u6253\u5F00\u6211\u7684\u9879\u76EE\u52A9\u624B","Open {name}'s dossier":"\u6253\u5F00 {name} \u7684\u6863\u6848","No cards yet.":"\u8FD8\u6CA1\u6709\u5361\u7247\u3002","Open Projects in Settings":"\u5728\u8BBE\u7F6E\u4E2D\u6253\u5F00\u9879\u76EE"},rC=[[/^Model (.+) is not available\. Available: (.*)$/,"\u6A21\u578B $1 \u4E0D\u53EF\u7528\u3002\u53EF\u7528\u7684\uFF1A$2"],[/^A Bot named (.+) already exists$/,"\u5DF2\u7ECF\u6709\u53EB $1 \u7684 Bot \u4E86"],[/^Name (.*) is not available$/,"\u540D\u5B57 $1 \u4E0D\u53EF\u7528"],[/^"(.+)" calls everyone in a group, so it cannot be a Bot name$/,"\u300C$1\u300D\u5728\u7FA4\u91CC\u8868\u793A\u6240\u6709\u4EBA\uFF0C\u4E0D\u80FD\u7528\u4F5C Bot \u540D\u5B57"],[/^Another group chat is already called "(.+)"$/,"\u5DF2\u7ECF\u6709\u53EB\u300C$1\u300D\u7684\u7FA4\u804A\u4E86"],[/^A group chat holds at most (\d+) Bots$/,"\u4E00\u4E2A\u7FA4\u804A\u6700\u591A $1 \u4E2A Bot"],[/^Reply mode must be one of (.+)$/,"\u56DE\u590D\u6A21\u5F0F\u53EA\u80FD\u662F $1"],[/^Only the user, a Main Bot, or the admin of "(.+)" can change it$/,"\u53EA\u6709\u4F60\u3001\u4E3B Bot \u6216\u300C$1\u300D\u7684\u7BA1\u7406\u5458\u53EF\u4EE5\u4FEE\u6539"],[/^A key must have at least (\d+) characters$/,"\u5BC6\u94A5\u81F3\u5C11 $1 \u4E2A\u5B57\u7B26"],[/^A key can have at most (\d+) characters$/,"\u5BC6\u94A5\u6700\u591A $1 \u4E2A\u5B57\u7B26"],[/^Quiet hours are on until (\d\d:\d\d)\. Pick a time outside (\d\d:\d\d)–(\d\d:\d\d)\.$/,"\u5B89\u9759\u65F6\u6BB5\u5230 $1 \u7ED3\u675F\u3002\u8BF7\u9009 $2\u2013$3 \u4E4B\u5916\u7684\u65F6\u95F4\u3002"],[/^(.+) is not saved yet$/,"$1 \u8FD8\u6CA1\u6709\u4FDD\u5B58"],[/^The Bot team in (.+) is open in another dsh \((.+)\)\. This window shows the team but cannot change it; close the other one and reload\.$/,"$1 \u91CC\u7684 Bot \u56E2\u961F\u5DF2\u5728\u53E6\u4E00\u4E2A dsh \u4E2D\u6253\u5F00\uFF08$2\uFF09\u3002\u8FD9\u4E2A\u7A97\u53E3\u53EA\u80FD\u67E5\u770B\uFF0C\u4E0D\u80FD\u4FEE\u6539\uFF1B\u5173\u6389\u53E6\u4E00\u4E2A\u540E\u5237\u65B0\u3002"],[/^The Bot team file (.+) could not be read \((.+)\)\. FlyBot does not change it; fix or move the file and reload\.$/,"$1 \u91CC\u7684 Bot \u56E2\u961F\u6587\u4EF6\u8BFB\u4E0D\u51FA\u6765\uFF08$2\uFF09\u3002FlyBot \u4E0D\u4F1A\u6539\u5B83\uFF1B\u4FEE\u597D\u6216\u79FB\u8D70\u6587\u4EF6\u540E\u5237\u65B0\u3002"],[/^The Bot team file lists (\d+) members; FlyBot runs one owner per team$/,"\u56E2\u961F\u6587\u4EF6\u5217\u51FA\u4E86 $1 \u4E2A\u6210\u5458\uFF1BFlyBot \u6BCF\u4E2A\u56E2\u961F\u53EA\u8FD0\u884C\u4E00\u4F4D\u4E3B\u4EBA"],[/^HTTP (\d+)$/,"\u8BF7\u6C42\u5931\u8D25\uFF08HTTP $1\uFF09"],[/^GitHub answered (\d+)$/,"GitHub \u8FD4\u56DE\u4E86 $1"],[/^Keep the name under (\d+) characters$/,"\u540D\u5B57\u4E0D\u80FD\u8D85\u8FC7 $1 \u4E2A\u5B57"],[/^Give the full path of the folder, not (.+)$/,"\u8BF7\u586B\u5199\u6587\u4EF6\u5939\u7684\u5B8C\u6574\u8DEF\u5F84\uFF0C\u800C\u4E0D\u662F $1"],[/^There is no folder at (.+)$/,"\u627E\u4E0D\u5230\u6587\u4EF6\u5939 $1"],[/^(.+) is a file, not a folder$/,"$1 \u662F\u6587\u4EF6\uFF0C\u4E0D\u662F\u6587\u4EF6\u5939"],[/^(.+) holds DeepSeek Harness data, so Bots cannot work there$/,"$1 \u91CC\u6709 DeepSeek Harness \u7684\u6570\u636E\uFF0CBot \u4E0D\u80FD\u5728\u8FD9\u91CC\u5DE5\u4F5C"],[/^This looks like a key, token, or password[\s\S]*$/,"\u770B\u8D77\u6765\u50CF\u5BC6\u94A5\u3001\u4EE4\u724C\u6216\u5BC6\u7801\uFF0C\u8BB0\u5FC6\u4E0D\u4F1A\u4FDD\u5B58\u8FD9\u7C7B\u5185\u5BB9"],[/^An entry holds at most (\d+) characters; this one has (\d+)\.[\s\S]*$/,"\u4E00\u6761\u8BB0\u5FC6\u6700\u591A $1 \u4E2A\u5B57\u7B26\uFF0C\u8FD9\u6761\u6709 $2 \u4E2A"],[/^[\s\S]*'s MEMORY\.md would have (\d+) of its (\d+) characters\.[\s\S]*$/,"\u4E3B\u8BB0\u5FC6\u4F1A\u8D85\u8FC7 $2 \u4E2A\u5B57\u7B26\u7684\u4E0A\u9650\uFF0C\u8BF7\u5148\u5220\u6389\u4E00\u4E9B"],[/^The topic \[\[(.+?)\]\] in [\s\S]* would have (\d+) of its (\d+) characters\.[\s\S]*$/,"\u4E3B\u9898 $1 \u4F1A\u8D85\u8FC7 $3 \u4E2A\u5B57\u7B26\u7684\u4E0A\u9650"],[/^[\s\S]* already has (\d+) topics, the most it holds\.[\s\S]*$/,"\u4E3B\u9898\u5DF2\u7ECF\u6709 $1 \u4E2A\uFF0C\u4E0D\u80FD\u518D\u52A0\u65B0\u4E3B\u9898"],[/^There is no entry (.+)\.$/,"\u6CA1\u6709\u7B2C $1 \u6761"],[/^No entry in [\s\S]* matches "([\s\S]*)"\.[\s\S]*$/,"\u627E\u4E0D\u5230\u300C$1\u300D\u8FD9\u6761\u8BB0\u5FC6"],[/^"([\s\S]*)" matches (\d+) entries in [\s\S]*$/,"\u300C$1\u300D\u5BF9\u5E94\u4E86 $2 \u6761\u8BB0\u5FC6\uFF0C\u8BF7\u8BF4\u5F97\u66F4\u5177\u4F53"],[/^Memory cannot change now: [\s\S]*$/,"\u73B0\u5728\u4E0D\u80FD\u4FEE\u6539\u8BB0\u5FC6\uFF1A\u53E6\u4E00\u4E2A dsh \u6B63\u5728\u4F7F\u7528\u8FD9\u4E2A Bot \u56E2\u961F"],[/^Only the owner of this Project may change it$/,"\u53EA\u6709\u8FD9\u4E2A\u9879\u76EE\u7684\u4E3B\u4EBA\u53EF\u4EE5\u4FEE\u6539"],[/^A binding needs the member id$/,"\u7ED1\u5B9A\u9700\u8981 member id"],[/^A Project memory entry needs text$/,"\u9879\u76EE\u8BB0\u5FC6\u6761\u76EE\u9700\u8981\u6587\u5B57"],[/^A Project memory entry is at most (\d+) characters$/,"\u9879\u76EE\u8BB0\u5FC6\u6761\u76EE\u6700\u591A $1 \u4E2A\u5B57\u7B26"],[/^Unknown Project (\S+)$/,"\u627E\u4E0D\u5230\u9879\u76EE $1"]],sC={"Request failed":"\u8BF7\u6C42\u5931\u8D25","Permissions are not available in this DeepSeek Harness":"\u8FD9\u4E2A DeepSeek Harness \u4E0D\u652F\u6301\u6743\u9650\u8BBE\u7F6E","Avatar images must be PNG, JPEG, WebP, or GIF":"\u5934\u50CF\u56FE\u7247\u5FC5\u987B\u662F PNG\u3001JPEG\u3001WebP \u6216 GIF","Avatar image is too large":"\u5934\u50CF\u56FE\u7247\u592A\u5927\u4E86","A Bot needs a name":"Bot \u9700\u8981\u4E00\u4E2A\u540D\u5B57","A Bot name cannot contain @, ` or a line break":"Bot \u540D\u5B57\u91CC\u4E0D\u80FD\u6709 @\u3001` \u6216\u6362\u884C","Unknown Bot":"\u627E\u4E0D\u5230\u8FD9\u4E2A Bot","Unknown conversation":"\u627E\u4E0D\u5230\u8FD9\u4E2A\u5BF9\u8BDD","A group chat needs at least two Bots":"\u7FA4\u804A\u81F3\u5C11\u8981\u4E24\u4E2A Bot","You are not a member of that room":"\u4F60\u4E0D\u662F\u8FD9\u4E2A\u623F\u95F4\u7684\u6210\u5458","Only a room admin can add participants":"\u53EA\u6709\u623F\u95F4\u7BA1\u7406\u5458\u53EF\u4EE5\u6DFB\u52A0\u6210\u5458","Only a room admin can remove participants":"\u53EA\u6709\u623F\u95F4\u7BA1\u7406\u5458\u53EF\u4EE5\u79FB\u9664\u6210\u5458","Specialists stay in their owner's private rooms; a cross-owner room takes each side's Chief":"\u4E13\u5458\u53EA\u5F85\u5728\u5176\u4E3B\u4EBA\u7684\u79C1\u6709\u623F\u95F4\u91CC\uFF1B\u8DE8\u4E3B\u4EBA\u623F\u95F4\u53EA\u63A5\u53D7\u5404\u65B9\u7684 Chief","Only a designated Chief of a room member may join a shared room":"\u53EA\u6709\u623F\u95F4\u6210\u5458\u7684\u6307\u5B9A Chief \u53EF\u4EE5\u52A0\u5165\u5171\u4EAB\u623F\u95F4","Only a Bot granted to you may join a shared room":"\u53EA\u6709\u5DF2\u6388\u6743\u7ED9\u4F60\u7684 Bot \u53EF\u4EE5\u52A0\u5165\u5171\u4EAB\u623F\u95F4","Only a Chief or a Bot published to friends may join a shared room":"\u53EA\u6709\u5DF2\u6388\u6743\u7ED9\u4F60\u7684 Bot \u53EF\u4EE5\u52A0\u5165\u5171\u4EAB\u623F\u95F4","Participant kind must be human or bot":"\u6210\u5458\u7C7B\u578B\u53EA\u80FD\u662F human \u6216 bot","A participant needs an id":"\u6210\u5458\u9700\u8981 id","Room role must be admin or member":"\u623F\u95F4\u89D2\u8272\u53EA\u80FD\u662F admin \u6216 member","That participant is already in the room":"\u8FD9\u4E2A\u6210\u5458\u5DF2\u7ECF\u5728\u623F\u95F4\u91CC","Unknown team member":"\u627E\u4E0D\u5230\u8FD9\u4E2A\u56E2\u961F\u6210\u5458","That participant is not in the room":"\u8FD9\u4E2A\u6210\u5458\u4E0D\u5728\u623F\u95F4\u91CC","Each participant needs a kind (human or bot) and an id":"\u6BCF\u4E2A\u6210\u5458\u90FD\u9700\u8981\u7C7B\u578B\uFF08human \u6216 bot\uFF09\u548C id","The admin must be a member of the group":"\u7BA1\u7406\u5458\u5FC5\u987B\u662F\u7FA4\u6210\u5458","Unknown group chat":"\u627E\u4E0D\u5230\u8FD9\u4E2A\u7FA4\u804A","Hand the admin role to another member instead of leaving the group without one":"\u8BF7\u628A\u7BA1\u7406\u5458\u4EA4\u7ED9\u5176\u4ED6\u6210\u5458\uFF0C\u4E0D\u8981\u8BA9\u7FA4\u804A\u6CA1\u6709\u7BA1\u7406\u5458","Hand the admin role to another member before leaving the group":"\u79BB\u5F00\u7FA4\u804A\u524D\uFF0C\u8BF7\u5148\u628A\u7BA1\u7406\u5458\u4EA4\u7ED9\u5176\u4ED6\u6210\u5458","The team needs at least one Main Bot":"\u56E2\u961F\u81F3\u5C11\u8981\u6709\u4E00\u4E2A\u4E3B Bot","Only a Main Bot can be replaced":"\u53EA\u80FD\u66FF\u6362\u4E3B Bot","A Main Bot cannot be deleted; remove its Main Bot role first":"\u4E3B Bot \u4E0D\u80FD\u5220\u9664\uFF0C\u8BF7\u5148\u53D6\u6D88\u5B83\u7684\u4E3B Bot \u8EAB\u4EFD","Unknown theme":"\u672A\u77E5\u4E3B\u9898","Accent must be a #rrggbb color":"\u5F3A\u8C03\u8272\u5FC5\u987B\u662F #rrggbb \u683C\u5F0F","Type the key first":"\u8BF7\u5148\u8F93\u5165\u5BC6\u94A5","Choose every Bot or a list of Bots":"\u8BF7\u9009\u62E9\u6240\u6709 Bot \u6216\u6307\u5B9A\u7684 Bot","This request is gone":"\u8FD9\u4E2A\u8BF7\u6C42\u5DF2\u7ECF\u4E0D\u5B58\u5728\u4E86","This request was already answered":"\u8FD9\u4E2A\u8BF7\u6C42\u5DF2\u7ECF\u5904\u7406\u8FC7\u4E86","A name uses capitals, digits, and underscores, and starts with a letter":"\u540D\u5B57\u53EA\u80FD\u7528\u5927\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u4E0B\u5212\u7EBF\uFF0C\u5E76\u4EE5\u5B57\u6BCD\u5F00\u5934","No such key":"\u6CA1\u6709\u8FD9\u4E2A\u5BC6\u94A5","Type a question or a change first":"\u8BF7\u5148\u8F93\u5165\u95EE\u9898\u6216\u8981\u6539\u7684\u5185\u5BB9","No model is available. Add one in Harness settings.":"\u6CA1\u6709\u53EF\u7528\u7684\u6A21\u578B\uFF0C\u8BF7\u5148\u5728 Harness \u8BBE\u7F6E\u91CC\u6DFB\u52A0\u6A21\u578B\u3002","Memory is turned off on this host":"\u8FD9\u53F0\u4E3B\u673A\u5173\u95ED\u4E86\u8BB0\u5FC6\u529F\u80FD","The model wrote nothing":"\u6A21\u578B\u6CA1\u6709\u8F93\u51FA\u5185\u5BB9","Write the entry to save.":"\u8BF7\u5199\u4E0B\u8981\u4FDD\u5B58\u7684\u5185\u5BB9\u3002","This DeepSeek Harness has no folder chooser":"\u8FD9\u4E2A DeepSeek Harness \u6CA1\u6709\u6587\u4EF6\u5939\u9009\u62E9\u7A97\u53E3","This DeepSeek Harness cannot list folders":"\u8FD9\u4E2A DeepSeek Harness \u4E0D\u80FD\u5217\u51FA\u6587\u4EF6\u5939","No FlyBot core update is available":"\u6CA1\u6709\u53EF\u7528\u7684 FlyBot \u6838\u5FC3\u66F4\u65B0","saved by a newer FlyBot; update FlyBot":"\u7531\u66F4\u65B0\u7684 FlyBot \u4FDD\u5B58\uFF1B\u8BF7\u66F4\u65B0 FlyBot"};Object.assign(T7,sC);var ql=(e,t)=>t?e.replace(/\{(\w+)\}/g,(n,a)=>a in t?String(t[a]):n):e,H7=null,N7=null;function cC(e){if(!e||typeof e.register!="function"||typeof e.bind!="function")return()=>{};H7=e,N7=e.bind(Vl);let t=e.register(Vl,"zh",T7);return()=>{H7===e&&(H7=null,N7=null),typeof t=="function"&&t()}}function Il(e){let t=typeof e=="string"?e:"en";return cC({getLocale:()=>({active:t}),register:()=>()=>{},bind:()=>(n,a)=>ql(t.startsWith("zh")?T7[n]??n:n,a)})}function N(e,t){return N7?N7(e,t):ql(e,t)}function $e(e){if(!Bl().startsWith("zh"))return e;if(Object.hasOwn(T7,e))return N(e);for(let[t,n]of rC)if(t.test(e))return e.replace(t,n);return e}function Bl(){let e=H7?.getLocale?.().active;return typeof e=="string"?e:"en"}var oC=X1(l0(),1);function V7(e){let t=e?.self?.memberId;return(e?.bots??[]).filter(n=>!n.remote&&(t==null||n.ownerId===void 0||n.ownerId===t))}var y9=/^cli_[0-9a-f]{16}$/i,_9=["im:message.group_at_msg:readonly","im:message.p2p_msg:readonly","im:message:send_as_bot","im:message.reactions:write_only","im:resource","im:message:readonly","im:chat:readonly","contact:contact.base:readonly","contact:user.base:readonly","im:message.group_msg.include_bot:read"],q7=[{id:"calendar",label:"Calendar",scopes:["calendar:calendar"]},{id:"docs",label:"Documents and wiki",scopes:["docx:document","drive:drive","wiki:wiki"]},{id:"bitable",label:"Bitable",scopes:["bitable:app"]},{id:"sheets",label:"Spreadsheets",scopes:["sheets:spreadsheet"]},{id:"meeting",label:"Video meetings",scopes:["vc:reserve"]},{id:"task",label:"Tasks",scopes:["task:task:write"]}],Pl=["Create an app on Feishu Open Platform","Enter credentials and test connection","Subscribe to message events and card callbacks","Publish an app version","Choose the Bot represented by the robot","Try it in Feishu"],Rl=e=>e==="http"?["Prepare a public event address",...Pl]:[...Pl],w9=(e=[])=>JSON.stringify({scopes:{tenant:[...new Set([..._9,...q7.filter(t=>e.includes(t.id)).flatMap(t=>t.scopes)])],user:[]}},null,2);function Dl(e,t=[]){return e==="im:message:readonly"?["im:message:readonly","im:message","im:message.history:readonly"].some(n=>t.includes(n)):e==="im:message.reactions:write_only"?t.includes(e)||t.includes("im:message"):t.includes(e)}function x9(e,t=[]){return e.scopes.every(n=>t.includes(n))?"write":["meeting","task"].includes(e.id)?"disabled":e.scopes.every(n=>t.includes(n)||t.includes("".concat(n,":readonly")))?"read":"disabled"}function k9(e){try{let t=new URL(e);return t.protocol==="https:"&&!t.username&&!t.password&&!t.hash&&!t.search&&!/^(localhost$|127\.|10\.|0\.|192\.168\.|172\.(1[6-9]|2\d|3[01])\.|\[|169\.254\.)/.test(t.hostname)&&!t.hostname.endsWith(".local")}catch{return!1}}var X0=(e,t,n=!1,a="")=>(0,V.createElement)("button",{type:"button",className:"bt-soft bt-soft-sm bt-feishu-button ".concat(a),onClick:t,disabled:n},N(e)),e0=e=>(0,V.createElement)("p",{className:"bt-set-hint"},N(e)),Xe=(e,t,n,a="text",i=!1)=>(0,V.createElement)("label",{className:"bt-feishu-field"},(0,V.createElement)("span",{},N(e)),(0,V.createElement)("input",{className:"bt-input",type:a,value:t,disabled:i,autoComplete:a==="password"?"new-password":"off","aria-label":N(e),onChange:r=>n(r.target.value)}));function Gl({actions:e,roster:t,onClose:n}){let[a,i]=(0,V.useState)([]),[r,s]=(0,V.useState)([]),[c,o]=(0,V.useState)(""),[l,p]=(0,V.useState)(0),[u,m]=(0,V.useState)("socket"),[d,f]=(0,V.useState)(""),[w,x]=(0,V.useState)(""),[v,b]=(0,V.useState)(""),[_,z]=(0,V.useState)(""),[$,C]=(0,V.useState)("Feishu"),[j,T]=(0,V.useState)(""),[H,E]=(0,V.useState)(""),[R,D]=(0,V.useState)(""),[B,Q]=(0,V.useState)([]),[O,U]=(0,V.useState)(!1),[r1,z1]=(0,V.useState)(!1),[A1,A]=(0,V.useState)(""),[i1,l1]=(0,V.useState)(null),[S,R1]=(0,V.useState)(""),h0=(0,V.useRef)(!0),p1=a.find(I=>I.id===c),V1=Rl(u),S1=u==="http"?1:0,Z1=l-S1,Q1=(0,V.useCallback)(async()=>{let I=await e.feishu({operation:"list"});if(i(I.apps??[]),s(I.members??[]),h0.current){h0.current=!1;let y1=new URLSearchParams(window.location.search).get("feishu-app"),n0=I.apps?.find(g2=>g2.id===y1)??I.apps?.[0];n0&&(o(n0.id),f(n0.id),m(n0.mode),p(n0.step??0),T(n0.botId??""),z(n0.publicUrl??""),C(n0.name??"Feishu"))}},[e]);(0,V.useEffect)(()=>{Q1().catch(y1=>A($e(y1.message)));let I=setInterval(()=>{Q1().catch(()=>{})},3e3);return()=>clearInterval(I)},[Q1]);let x0=async I=>{z1(!0),A("");try{let y1=await I();return await Q1(),y1}catch(y1){A($e(y1.message));return}finally{z1(!1)}},k0=I=>{let y1=a.find(n0=>n0.id===I);o(I),f(I),m(y1?.mode??"socket"),p(y1?.step??0),T(y1?.botId??""),z(y1?.publicUrl??""),C(y1?.name??"Feishu"),x(""),b(""),l1(null)},t2=async I=>{c&&await x0(()=>e.feishu({operation:"configure",appId:c,step:I,...j?{botId:j}:{}})),p(I)},h2=()=>{x0(async()=>{let I=await e.feishu({operation:"save",appId:d,appSecret:w,verificationToken:v,mode:u,publicUrl:_,name:$,step:S1+2});i(I.apps),o(d),x(""),b(""),l1(I.test),p(S1+(I.test?.credentialError?1:2))})},V0=I=>{x0(()=>e.feishu({appId:c,...I}))},J2=async I=>{let y1=I.currentTarget.closest(".bt-feishu-permissions");A("");try{if(!navigator.clipboard?.writeText)throw new Error("Clipboard unavailable");await navigator.clipboard.writeText(w9(B)),U(!0)}catch{let n0=y1.querySelector(".bt-feishu-json"),g2=n0.querySelector("textarea");n0.open=!0,g2.focus(),g2.select(),U(!1),A(N("Clipboard is unavailable. Copy the selected JSON below."))}},A2=(0,V.createElement)("section",{className:"bt-feishu-permissions"},(0,V.createElement)("div",{className:"bt-feishu-section-head"},(0,V.createElement)("strong",{},N("Extended permissions (Feishu tools)")),(0,V.createElement)("span",{className:"bt-feishu-optional"},N("Optional tools"))),e0("Select the tools you need. The permission JSON updates automatically."),(0,V.createElement)("div",{className:"bt-feishu-permission-grid"},q7.map(I=>(0,V.createElement)("label",{key:I.id,className:"bt-feishu-permission","data-checked":B.includes(I.id)},(0,V.createElement)("input",{type:"checkbox",checked:B.includes(I.id),onChange:y1=>{Q(y1.target.checked?[...B,I.id]:B.filter(n0=>n0!==I.id)),U(!1)}}),(0,V.createElement)("span",{},N(I.label))))),(0,V.createElement)("div",{className:"bt-feishu-permission-copy"},X0(O?"Copied":"Copy permission JSON",J2),(0,V.createElement)("span",{className:"bt-set-hint"},N("Base permissions are always included."))),(0,V.createElement)("details",{className:"bt-feishu-json"},(0,V.createElement)("summary",{},N("View permission JSON")),(0,V.createElement)("textarea",{className:"bt-input",readOnly:!0,rows:8,value:w9(B),"aria-label":N("Copy permission JSON")})),e0("Import this JSON in Permission management \u2192 Batch import/export. Set the contact data scope to people who will use the robot.")),F0;l===0&&u==="http"?F0=(0,V.createElement)("div",{},e0("Forward only the event port to a public HTTPS address. Do not expose the FlyBot console. Leave Encrypt Key empty."),Xe("Public HTTPS event origin",_,z)):Z1===0?F0=(0,V.createElement)("div",{},e0("Create an internal app, add the Bot capability, and apply for the permissions below. Do not configure events yet."),(0,V.createElement)("a",{className:"bt-feishu-external",href:"https://open.feishu.cn/app",target:"_blank",rel:"noopener noreferrer"},N("Open Feishu Open Platform"),(0,V.createElement)("span",{"aria-hidden":!0},"\u2197")),A2):Z1===1?F0=(0,V.createElement)("div",{},e0("Credentials are encrypted on the platform and cannot be viewed after saving. Bots never receive them."),e0("Leave saved credentials blank to keep them. Switching receiving methods reuses the same Feishu application and conversations."),p1?.mode==="http"&&u==="socket"?e0("Switching to a long connection deletes the saved Verification Token."):null,Xe("Connection name",$,C),Xe("App ID",d,f,"text",!!c),Xe("App Secret",w,x,"password"),u==="http"?Xe("Verification Token",v,b,"password"):null,d&&!y9.test(d)?e0("App ID must be cli_ followed by 16 hexadecimal characters"):null,X0("Save and test connection",h2,r1||!y9.test(d)||!c&&!w.trim()||u==="http"&&(!k9(_)||!v&&p1?.mode!=="http"),"bt-feishu-primary")):Z1===2?F0=(0,V.createElement)("div",{},u==="socket"?(0,V.createElement)("div",{},(0,V.createElement)("strong",{},N("Connection to Feishu")),(0,V.createElement)("p",{role:"status"},N(p1?.connection==="ready"?"Connected":p1?.connection==="error"?"Connection failed":"Connecting\u2026")),e0("Refreshes every 3 seconds"),p1?.connection==="ready"?e0("Now set Events and callbacks \u2192 Event configuration \u2192 Use long connection to receive events, then save."):e0("Wait until connected: Feishu only allows saving the long connection subscription after FlyBot connects. Check credentials and network if it keeps waiting."),e0("In Callback configuration, use the long connection and add Card action trigger (card.action.trigger).")):(0,V.createElement)("div",{},e0("In both Event configuration and Callback configuration, select Send to developer server, use the same address below, and save."),(0,V.createElement)("code",{},"".concat(_.replace(/\/$/,""),"/api/feishu/events/").concat(c)),e0(p1?.verifiedAt?"Address verified":"Waiting for address verification")),e0("Add Receive message v2.0 (im.message.receive_v1)."),e0("Without card.action.trigger, cards can display but buttons and forms do not respond. Neither test connection nor connected status checks callback subscriptions."),e0("Connect each Feishu app to only one FlyBot instance; multiple instances split incoming messages."),e0(p1?.lastEventAt?"Received an event":"No event received yet")):Z1===3?F0=(0,V.createElement)("div",{},e0("Create and publish a version in Version management and release. Include the required members or departments. Wait for enterprise approval if required."),e0("Permissions, Bot capability, events and callbacks take effect after publishing. Publish again after any change."),X0("Test connection",()=>{x0(async()=>{let I=await e.feishu({operation:"test",appId:c});l1(I)})},r1)):Z1===4?F0=(0,V.createElement)("div",{},e0("One Feishu application represents one Bot. Group mentions and private messages go to the selected local Bot."),(0,V.createElement)("select",{className:"bt-input","aria-label":N("Choose a Bot"),value:j,onChange:I=>T(I.target.value)},(0,V.createElement)("option",{value:""},N("Choose a Bot")),V7(t).filter(I=>!I.projectAgent&&!I.ephemeral).map(I=>(0,V.createElement)("option",{key:I.id,value:I.id},I.name)))):F0=(0,V.createElement)("div",{},e0("Add the application under Group settings \u2192 Group robots. Mention it in the group, or send a private message."),e0("Ask the Bot to send a card with a submit button. Click it and confirm Submitted. Ordinary chat success does not verify card callbacks."),e0("Each group or private chat keeps one FlyBot conversation; thread replies return to the original thread."),(0,V.createElement)("ul",{},(p1?.recent??[]).map(I=>(0,V.createElement)("li",{key:I.id},"".concat(I.text??""," \xB7 ").concat(I.status)))));let V2=(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Identity linking")),e0("Link to an existing signed-in platform member. No external members or new login accounts are created. Unlinked card submissions and meeting bookings are refused."),Xe("Feishu open_id",H,E),(0,V.createElement)("select",{className:"bt-input",value:R,"aria-label":N("Platform member"),onChange:I=>D(I.target.value)},(0,V.createElement)("option",{value:""},N("Platform member")),r.map(I=>(0,V.createElement)("option",{key:I.id,value:I.id},I.name))),X0("Link identity",()=>V0({operation:"identity",openId:H,...R?{memberId:R}:{}}),r1||!H),(0,V.createElement)("ul",{},(p1?.identities??[]).map(I=>(0,V.createElement)("li",{key:I.openId},"".concat(I.openId," \u2192 ").concat(I.memberId)))));return(0,V.createElement)("section",{className:"bt-feishu-setup","aria-label":N("Connect Feishu")},(0,V.createElement)("header",{className:"bt-feishu-header"},(0,V.createElement)("div",{},(0,V.createElement)("h3",{},N("Connect Feishu")),e0("Only Feishu (open.feishu.cn) is supported; Lark is not supported.")),a.length?(0,V.createElement)("select",{className:"bt-input",value:c,onChange:I=>k0(I.target.value),"aria-label":N("Connect Feishu")},(0,V.createElement)("option",{value:""},N("New connection")),a.map(I=>(0,V.createElement)("option",{key:I.id,value:I.id},"".concat(I.name," (").concat(I.id,")")))):null),p1?.linkOnly?(0,V.createElement)("div",{className:"bt-feishu-body"},V2,X0("Later",n,!1,"bt-feishu-quiet")):(0,V.createElement)("div",{className:"bt-feishu-body"},(0,V.createElement)("div",{className:"bt-feishu-modes",role:"group","aria-label":N("How to connect")},["socket","http"].map(I=>(0,V.createElement)("button",{key:I,type:"button","aria-pressed":u===I,"aria-label":N(I==="socket"?"Long connection (recommended, no public address)":"Event address (HTTP, needs a public address)"),onClick:()=>{m(I),p(I==="http"?0:c?1:0)}},(0,V.createElement)("strong",{},N(I==="socket"?"Long connection":"Event address")),(0,V.createElement)("small",{},N(I==="socket"?"Recommended \xB7 no public address":"Requires a public HTTPS address"))))),(0,V.createElement)("div",{className:"bt-feishu-layout"},(0,V.createElement)("nav",{className:"bt-feishu-progress","aria-label":N("Connection steps")},(0,V.createElement)("ol",{},V1.map((I,y1)=>(0,V.createElement)("li",{key:I},(0,V.createElement)("button",{type:"button","aria-label":N(I),"aria-current":l===y1?"step":void 0,"data-done":y1<l,disabled:y1>S1+1&&!c,onClick:()=>p(y1)},(0,V.createElement)("span",{className:"bt-feishu-step-number","aria-hidden":!0},y1<l?"\u2713":y1+1),(0,V.createElement)("span",{className:"bt-feishu-step-label"},N(I))))))),(0,V.createElement)("div",{className:"bt-feishu-step"},(0,V.createElement)("div",{className:"bt-feishu-step-heading"},(0,V.createElement)("span",{className:"bt-feishu-eyebrow"},N("Step {current} of {total}",{current:l+1,total:V1.length})),(0,V.createElement)("h4",{},N(V1[l]))),(0,V.createElement)("div",{className:"bt-feishu-step-content"},F0),i1?(0,V.createElement)("p",{className:"bt-feishu-result",role:"status","data-success":i1.ok},i1.ok?"".concat(N("Connected")," ").concat(i1.bot??""):$e(i1.error)):null,(0,V.createElement)("footer",{className:"bt-feishu-footer"},X0("Previous step",()=>p(Math.max(0,l-1)),l===0||r1),(0,V.createElement)("div",{},X0("Later",n,!1,"bt-feishu-quiet"),l<V1.length-1?X0("Next",()=>{t2(l+1)},r1||Z1===3&&!i1?.ok||Z1===1&&(!c||p1?.mode!==u)||Z1===4&&!j||u==="http"&&l===0&&!k9(_)||Z1>1&&!c,"bt-feishu-primary"):X0("Finish",n,!1,"bt-feishu-primary"))))),p1?(0,V.createElement)("div",{className:"bt-feishu-management"},(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Who may send messages")),e0("Allowed senders can send messages; this does not grant platform identity or approval authority."),(0,V.createElement)("label",{className:"bt-feishu-check"},(0,V.createElement)("input",{type:"checkbox",checked:p1.allowBots===!0,onChange:I=>V0({operation:"configure",allowBots:I.target.checked})}),N("Also process other robots that mention this robot (up to 8 consecutive requests)")),Xe("Allow an open_id",H,E),X0("Allow",()=>V0({operation:"allow",openId:H}),r1||!H),(p1.allowed??[]).map(I=>(0,V.createElement)("p",{key:I},I,X0("Block",()=>V0({operation:"allow",openId:I,enabled:!1}),r1)))),V2,(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Conversation handlers")),[...new Set((p1.recent??[]).map(I=>I.chatId).filter(Boolean))].map(I=>(0,V.createElement)("label",{key:I,className:"bt-q-field"},I,(0,V.createElement)("select",{className:"bt-input",value:p1.chatBots?.[I]??"","aria-label":"".concat(N("Conversation handler")," ").concat(I),onChange:y1=>V0({operation:"configure",chatId:I,botId:y1.target.value||null})},(0,V.createElement)("option",{value:""},N("Follow the default Bot")),V7(t).filter(y1=>!y1.projectAgent&&!y1.ephemeral).map(y1=>(0,V.createElement)("option",{key:y1.id,value:y1.id},y1.name)))))),(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Permissions of the Feishu application")),A2,X0("Check permissions again",()=>V0({operation:"scopes"}),r1),(0,V.createElement)("ul",{},_9.filter(I=>!Dl(I,p1.scopes)).map(I=>(0,V.createElement)("li",{key:I},I)))),(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Feishu tools")),V7(t).filter(I=>!I.projectAgent&&!I.ephemeral).map(I=>(0,V.createElement)("fieldset",{key:I.id},(0,V.createElement)("legend",{},I.name),q7.map(y1=>(0,V.createElement)("label",{key:y1.id,className:"bt-q-field"},N(y1.label),x9(y1,p1.scopes)!=="write"?(0,V.createElement)("small",{},N(x9(y1,p1.scopes)==="read"?"App has read-only permission":"App permission not granted")):null,(0,V.createElement)("select",{className:"bt-input","aria-label":"".concat(I.name," ").concat(N(y1.label)),value:p1.grants?.[I.id]?.[y1.id]??"disabled",onChange:n0=>V0({operation:"grant",botId:I.id,product:y1.id,mode:n0.target.value})},[["disabled","Disabled"],["read","Read only"],["ask","Read/write, ask before writes"],["write","Read/write"]].map(([n0,g2])=>(0,V.createElement)("option",{key:n0,value:n0},N(g2))))))))),(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Diagnostics")),(0,V.createElement)("ul",{},(p1.diagnostics??[]).map((I,y1)=>(0,V.createElement)("li",{key:y1},"".concat(I.kind,": ").concat($e(I.message)," ").concat(I.code??""," ").concat(I.detail??""))))),(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Delivery records")),(p1.outbox??[]).map(I=>(0,V.createElement)("p",{key:I.id},"".concat(I.id,": ").concat(I.status),I.status==="failed"?X0("Try again",()=>V0({operation:"retry",outboxId:I.id})):null))),(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Files")),(p1.files??[]).map(I=>X0(I.name,()=>{x0(async()=>{let y1=await e.feishu({operation:"attachment",appId:p1.id,attachmentId:I.id}),n0=Uint8Array.from(atob(y1.content_base64),ot=>ot.charCodeAt(0)),g2=URL.createObjectURL(new Blob([n0]));Object.assign(document.createElement("a"),{href:g2,download:y1.name??I.name}).click(),setTimeout(()=>URL.revokeObjectURL(g2),1e4)})}))),(0,V.createElement)("details",{},(0,V.createElement)("summary",{},N("Cards")),(p1.cards??[]).map(I=>(0,V.createElement)(lC,{key:I.id,card:I,action:V0}))),X0("Delete connection",()=>{x0(async()=>{await e.feishu({operation:"delete",appId:c}),k0("")})},r1)):null),p1?null:(0,V.createElement)("details",{className:"bt-feishu-webhook"},(0,V.createElement)("summary",{},N("Custom bot webhook")),Xe("Webhook URL",S,R1,"password"),X0("Connect",()=>{x0(()=>e.connectorConnect("feishu",{mode:"webhook",credentials:{webhook:S}}))},r1||!S)),A1?(0,V.createElement)("p",{className:"bt-feishu-error",role:"alert"},A1):null)}function lC({card:e,action:t}){let[n,a]=(0,V.useState)({});return(0,V.createElement)("article",{},(0,V.createElement)("strong",{},e.card.title??"FlyBot"),(e.card.blocks??[]).map((i,r)=>i.type==="input"?Xe(i.label??i.name,n[i.name]??"",s=>a({...n,[i.name]:s})):(0,V.createElement)("pre",{key:r},i.text??JSON.stringify(i))),(e.card.actions??[]).map(i=>X0(i.label??i.id,()=>t({operation:"card-action",cardId:e.id,action:i.id,fields:n}),e.closed)))}var j5=X1(l0(),1);var Ol=30,pC=300*1e3,M5=[],z9=new WeakSet,C9=e=>(e!==null&&typeof e=="object"&&z9.add(e),e);function I7(e,t){if(t!==null&&typeof t=="object"){if(z9.has(t))return;z9.add(t)}let n=String(t?.message??t??"error").slice(0,300),a=typeof t?.code=="string"?t.code:void 0,i="".concat(e,": ").concat(n),r=Date.now(),s=M5.at(-1);if(s&&s.text===i&&r-s.time<pC){s.time=r,s.count=(s.count??1)+1;return}M5.push({time:r,level:"error",text:i,...a?{code:a}:{}}),M5.length>Ol&&M5.splice(0,M5.length-Ol)}var uC="api/bot",mC=new Set(["bot/refused","bot/invalid","bot/read-only","bot/not-found","bot/browser-off"]),w4=async(e,t,n)=>{let a;try{let r={"content-type":"application/json"};try{let s=localStorage.getItem("flybot-member-session");s&&(r["x-flybot-member-session"]=s)}catch{}a=await fetch(uC,{method:"POST",credentials:"same-origin",headers:r,body:JSON.stringify({endpoint:e,payload:t??null}),signal:n})}catch(r){throw r?.name==="AbortError"?r:(I7(e,Object.assign(new Error("network error: ".concat(r?.message??r)),{code:"NETWORK"})),C9(Object.assign(new Error(N("Could not reach DSH. Check that it is still running.")),{code:"NETWORK",cause:r})))}if(!a.ok){let r=Object.assign(new Error($e("HTTP ".concat(a.status))),{code:"HTTP_".concat(a.status)});throw I7(e,r),r}let i=await a.json();if(!i.ok){let r=i.error?.code??"bot/error",s=$e(i.error?.message??"Request failed"),c=Object.assign(new Error(r==="bot/internal"?"".concat(s," ").concat(N("Settings \u2192 Feedback has the details.")):s),{code:r,details:i.error?.details});throw mC.has(r)||(I7(e,Object.assign(new Error(i.error?.message??"Request failed"),{code:r})),C9(c)),c}return i.value};function I2(e,t=""){return String(e??"").replace(/[\u0000-\u001f\u007f-\u009f\u2028\u2029]/g," ").replace(/[[\]"`<>]/g,"").replace(/\s+/g," ").trim().slice(0,60)||t}function Xl(e){return"@".concat(String(e??"").trim().replace(/^@+/,"").toLowerCase())}function $5(e){let t=String(e??"").replace(/^@/,"").split(".");return t.length>=3&&t.at(-1)==="home"?t.at(-2):t.length===2&&t[1]==="home"?t[0]:""}function dC(e){let t=String(e?.handle??e?.remote?.handle??""),a=Xl(t).replace(/^@/,"").split(".");return a.length===2&&a[1]==="home"}function Kl(e){if(!e||e.hidden)return!1;let t=e.remote;return!t||typeof t.handle!="string"?!0:!(t.gone||t.hidden||dC(t))}function Yl(e){return e?Kl(e)?!0:e.remote?.gone!==!0?!1:e.hidden!==!0||e.remote.hiddenByGone===!0:!1}var hC=/^flybot[\s._-]*(?=[0-9a-f]*\d)[0-9a-f]{6,}$/i;function A9(e){return hC.test(String(e??"").trim())}function mt(e){if(!e)return"";let t=I2(e.ownerName||e.owner||e.homeName||e.ownerHome||e.home||$5(e.handle),"");return A9(t)&&([e.ownerName,e.owner,e.homeName].map(a=>I2(a,"")).find(a=>a&&!A9(a))||I2($5(e.handle)||$5(e.ownerHome)||$5(e.home),""))||t}var Wl=e=>String(e??"").toLowerCase().replace(/[\s._@-]+/g,"");function Jl(e,t=""){let n=I2(e?.displayName||e?.name,t),a=n.lastIndexOf(" \xB7 ");if(a<=0)return n;let i=Wl(n.slice(a+3)),r=[e?.ownerName,e?.owner,e?.homeName,$5(e?.handle),mt(e)].map(Wl).filter(Boolean);return A9(n.slice(a+3))||r.includes(i)?n.slice(0,a).trim():n}function gC(e){return e?e.isChief===!0?!0:/^chief$/i.test(String(e.displayName||e.name||"")):!1}function Ql(e){let t=mt(e)||I2(e?.handle,"Friend"),n=Jl(e,gC(e)?"Chief":I2(e?.handle,"Bot"));return"".concat(n," (").concat(t,")")}function bC(e){return mt(e)||I2(e?.handle,"Friend")}function ep(e){let t=e?.remote&&typeof e.remote=="object"?e.remote:{};return{displayName:t.displayName||t.name||e?.name,ownerName:t.ownerName||t.owner||t.homeName||e?.ownerName||e?.owner||e?.homeName,handle:t.handle??e?.handle,isChief:t.isChief??e?.isChief}}function ut(e){return Ql(ep(e))}var Ul=e=>String((e?.remote&&typeof e.remote=="object"?e.remote.handle:e?.handle)??"").replace(/^@+/,"").toLowerCase();function B7(e,t=[]){let n=ut(e),a=Ul(e);if(!(t??[]).some(s=>{let c=Ul(s);return c!==""&&c!==a&&ut(s)===n}))return n;let r=I2(String(e?.remote?.home??e?.home??"").replace(/^@+/,""),"");return r?"".concat(n," \xB7 ").concat(r):n}function M9(e){return bC(ep(e))}function $9(e){return"Shared room from ".concat(I2(e,"a friend"))}function L9(e){if(!e)return"";let t=I2(e.name,"");return e.sharedFrom?.ticket&&t?t:e.displayName||(e.sharedFrom?$9(e.sharedFrom.inviterName):e.name)||""}var tp=["flybot.sidebar.section","flybot.sidebar.structure","flybot.composer.mention","flybot.bot.details","flybot.approvals","flybot.room.overview","flybot.room.members","flybot.session.dock","flybot.new-chat.action","flybot.account.header","flybot.settings.page"];function np(){let e=new Map(tp.map(i=>[i,[]])),t=new Set,n=0,a=()=>{n+=1;for(let i of[...t])i()};return{register(i,r){if(!e.has(i))throw new Error("flybot: unknown slot ".concat(i));if(typeof r?.id!="string")throw new Error("flybot: a slot entry needs an id");let s=e.get(i).filter(o=>o.id!==r.id),c={order:0,...r};return s.push(c),s.sort((o,l)=>o.order-l.order),e.set(i,s),a(),()=>{e.set(i,e.get(i).filter(o=>o!==c)),a()}},entries:i=>e.get(i)??[],subscribe(i){return t.add(i),()=>t.delete(i)},version:()=>n}}function S9(){let e=globalThis;return e.__flybot__??={slots:np()},e.__flybot__.slots}function E9(e,t,n){let a=new Map(e.map(o=>[o.id,o])),i=a.get(t);if(i===void 0)return[];let r=o=>{if(o===t)return null;let l;try{l=n(o)}catch{l=void 0}if(typeof l!="string"||l===o||!a.has(l))return t;let p=new Set([o]);for(let u=l;u!==t;){if(p.has(u))return t;p.add(u);let m;try{m=n(u)}catch{m=void 0}u=typeof m=="string"&&a.has(m)&&m!==u?m:t}return l},s=new Map;for(let o of e){if(o.id===t)continue;let l=r(o.id);s.has(l)||s.set(l,[]),s.get(l).push(o)}let c=(o,l)=>({bot:o,depth:l,children:(s.get(o.id)??[]).map(p=>c(p,l+1))});return[c(i,0)]}var M1=X1(l0(),1);var Ke={deepseek:["#4D6BFE","#6A84FF"],charcoal:["#141416","#F1F2F4"],graphite:["#2D2D2D","#D6D6DA"],rose:["#EC2F6B","#FF5A7A"],sky:["#0AA8D6","#2EE6E0"],tangerine:["#FF6900","#FF8A2E"],cobalt:["#082DFF","#5C78FF"],black:["#000000","#FFFFFF"],brown:["#A27952","#855C36"],red:["#FF3E51","#E02135"],orange:["#FF781C","#FF6700"],yellow:["#FFAF38","#FF9800"],green:["#00C972","#009957"],cyan:["#1CC3B0","#00A592"],blue:["#2A92FE","#0E74E0"],violet:["#A97EFE","#804EE0"],magenta:["#FF5EB1","#E02A88"],gray:["#959595","#777777"],aurora:["#00B8D4","#2EE6E0"]},Z9={aurora:[[0,"#A4FFB0"],[.42,"#00F0E4"],[1,"#2E9EF7"]]};var ap={kimi:"charcoal",zai:"graphite",minimax:"rose",stepfun:"sky",mimo:"tangerine",qwen:"cobalt"},P7=e=>typeof e=="string"&&/^#[0-9a-f]{6}$/i.test(e);var fC=e=>Ke[e]?e:Ke[ap[e]]?ap[e]:"gray",R7=e=>P7(e)?e:"var(--bt-ink-".concat(fC(e),")");var cp={whale:{label:"Whale",body:"M65.3 20.9l5.1 .1 4.8 .9 4.8 1.7 4.3 2.3 3.8 3.1 3 3.4 2.3 3.8 1.6 4.3 .9 4.3 0 4.8-.8 4.8-1.4 4.3-2.3 4.3-3.2 4.3-3.4 3.3-4.3 3.1-7.2 3.5-7.6 1.7-7.2 .1-9.6-1.6-3.3-1-2.9-1.7-8.8-8.9-6-4.7-3.3-.5-7.7 1.1-4.8-.1-4.7-1.2-1.9-1.2-1-1-.5-1.5 .4-1.4 1.1-1.3 1.9-1.3 4.7-1.5 7.7-.6 1.1-.5 .7-1 0-1.4-2.8-7.2-1.2-5.3-.1-4.3 .4-1.4 .9-1.2 1.9-.2 2 1 2.2 2.3 2.2 3.4 3.2 7.6 1.9 9.7 .5-.1 1.1-7.2 1.8-4.8 3.2-5.2 3.9-4.3 4.9-3.9 5.6-2.9 5.8-1.9z",paints:[["M93.3 55.8l1-.3 .1 1.2-2.4 5.3-3.4 4.8-3.8 3.8-4.8 3.4-5.7 2.8-4.8 1.5-4.8 .4 20.1-17.4 5.2-3.7z","#fff",1]],shade:"M88.6 29.5l2.4 2.9 1.9 2.8 2.4 6.3 .5 3.3 .1 5.3-1.5 6.6-1.9 4.3-2 3.3-4.8 5.4-5.7 4.3-7.2 3.3-6.2 1.5-6.7 .1-3.3-.2-9.6-1.8-3.3-1.5-2.4-1.9-8.6-8.9-5.3-3.9-3.3-.1-2.9 .2-3.3 .8-5.8 0-4.3-1-2.9-1.9 .6-.6 3.8-1.3 10.5-2.5 4.3 .9 1.4-.1 2.2-1.7 .5-1.4-.3-1.5-1.2-1.4-2.2-1.4-1.2-1.9-.6-12 .4-3.3 .5-.5 2.9 3.8 2.4 4.8 1.9 5.7 .7 5.8 .7 2.8 2.1 2.4 2.7 5.5 3.8 4.3 2.9 2.2 3.3 1 3.4-.4 6.2-3 7.1-4.5 7.3-5.6 6.6-5.9 5.9-6.5 3.7-5.3 1.7-4.2 .1-2.9z",light:"M55.6 22.8l1.9-.3 1.5 .3 .6 1 .1 .9-2 4.3-3.8 5.3-5.8 6.2-5.4 4.4-4.8 2.3-1.4 0-1.2-.5-.8-1.9 .5-3.3 2.5-4.8 3.3-4.3 2.4-2.4 5.3-3.9zM19.3 28.1l-1.4 2 .3-1.1zM21.7 49.1l.6 .5-.3 .5-.8 0zM35.8 52l1.2-.4 .9 .7 .7 1.6-.4 .9-1.2 .1-2.6-.5zM7.2 52.9l-2.9 2.9 1.2-1.6z",eyes:[[72.5,48.4,9.3,23,-15.8],[85.6,43.4,7,22.9,-21.2]]},star:{label:"Star",body:"M40.1 4.4l1.5-.4 1.9 .1 5.2 1.1 1.9 .9 13.2 14.9 17.1-.8 5.2 1.1 1.8 .9 1.7 1.6 .7 2.4-.4 1.9-9.7 23.6 5.6 23.7 .1 1.9-.6 1.4-2.1 1.8-2.3 .5-19.9-1.8-16.6 15.5-1.9 1-1.9 .3-7-1.5-2.6-2.1-.9-2.4-2.8-24.1-16-13.6-1.1-1.5-.5-1.9 .4-1.9 1.2-1.5 18.9-13.6 7.1-24.6 1-1.7z",shade:"M52 7.7l14.3 16.1 1 2.9 .3 3.1 19.4-1.3 2-1.4 .7-2.3-.4-1 .5 .5 .5 1.9-.4 1.9-9.8 23.2 5.5 23.1 .1 3.4-2 2.4-2.8 .8-19.4-2.1-1.9 1.4-14.7 14-2.4 1.4-3.3 .1-4.7-1-2-1 .6-.2 3.3 .8 2.8 .1 5.1-2.1 .7-.9 .4-2.4-2.6-22.7-.3-.3-1.4 .2-1.4 .7-5.7 .7-5.6-1.2-16.7-13.8 1-.1 5.2 1 3.8-1.1 1-.7 1.9-.4 .4-.4 1.5 .3 .4-.4 1 .2 18-12.8 6.7-23.5 0-1.8-.4-.5-.3-1.9 .4-2.4z",light:"M40.1 4.4l2-.1 4.7 1 .7 1-.5 1.4-2.8 1.5-6.6 23.1 .7 1.2 .6 .3-18.1 12.5-1.8 2.1-3.4 .7-5.2-1.2-.3-.4 .3-.9 1.4-1.4 18.3-12.9 .9-2.3 6.4-22.7 .8-1.4z",eyes:[[53.9,53.4,7.2,18.8,-10],[65.1,49.2,7.2,18.8,-10]]},moon:{label:"Moon",body:"M45.8 4.2l4.7-.2 4.2 .4 10.2 2.4 3.7 1.6 3.6 2.1 3.3 2.5 3 3.1 4.6 6.7 3.4 8.3 1.5 8.8 .1 4.6-.8 7.8-2.6 8.8-3.9 7.7-5.1 6.7-6.1 5.3-4.1 2.6-3.6 1.6-27.2 10.2-2.8 .7-2.6 0-5.7-1.3-2-.8-1.9-1.7-1.1-2.6-6.5-37.7-.2-5.2 .8-7.7 1.3-5.2 3.1-7.8 4.2-6.7 3-3.6 3.9-3.6 6.3-4.2 4.1-1.8z",paints:[["M57.6 9.9l.2-.3 .2 .3 2 4.7 1.9 1.9 2.6 .5 1.5-.7 1.1-1.1 .4 .4-.1 1.6-.7 1.5-2.2 2.5-1.6 .7-2 0-1.6-.8-1.3-1.4-.8-2-.4-2.6 .1-3.1z","#1783FF",1]],shade:"M74.3 13.5l2.1 1.5 .3-.4-.3-.6 2.1 2.1 4.6 6.7 3.1 7.4 1.5 7.6 .1 10.4-.6 4.6-2.5 8.3-4.2 8.2-3.1 4.2-5.7 5.7-6.2 4.2-4.6 2-28 10.3-4.1 0-5.2-1.1-2-.9-.5-.7 .5 .5 1.5 0 3.6 1 2.6-.3 5.7-2.1 2.1-2.1-5.4-31.5-.2-4.1 .4-1.1-.1-2.6 .5-3.6 1.8-7.7 2.8-6.7 1.9-3.1 3.9-5.2 3.2-3.1 2.5-2 5.2-2.9 3.1-1.1 3.1-.8 2.1 0 .5-.4 2.6 .2 1-.3 1.6 .4 1-.5 2.1 .8 1-.8 2.1 1.2z",light:"M38 6.3l1.7-.3 2.5 .2 .6 .4 1.5 0 .5 .5 1.6 .3-3.1 1.3 .4 .7-2.5 1.6-.5 1-2.5 2.1-2.7 2.9-6.2 7.9-1.5 2.7-1 .9-1.2 2.6-1.4 1-1.3 3.7-1.3 .3-6-1.4-1 3.6-.8 0 .9-3.6-.5-1 1.1-3.6 2.7-5.7 4.1-6.2 5.7-5.8 3.1-2.4 3.6-2.2z",eyes:[[51.6,48.5,8.4,22.1,-10],[66.8,42.9,8.4,22.1,-10]]},wave:{label:"Wave",body:"M46.1 4l6.1 .3 9.6 2.1 4.5 1.8 4.1 2.4 3.5 2.8 4.4 4.8 2.6 4 2.1 4.1 2.2 6 4.8 26 .5 5.3-.3 4.1-1.2 3.8-1.5 2.8-2.4 2.5-2.1 1.4-3.1 1-3 .3-8.1-1.5-3.2 5.3-2.1 2.1-2.5 1.5-2.8 1-3 .4-9.1-1.6-2.7 4.2-3.4 3.1-4 1.7-4.6 .1-7-1.5-3.5-1.9-3.4-3.5-2.1-4-1.5-5.6-3.7-20.7-.6-5.6-.1-5 .5-6.1 2.3-9.6 2.3-5.5 2.7-4.9 2.7-3.7 3.2-3.6 4.2-3.6 4.7-2.9 4.4-2 4-1.2z",paints:[["M61.6 48.5l2.2-.3 2 1.1 1.1 2.2 .3 3-.6 3.1-1.5 3.5-2.5 4.1-2.4 2.8-5-2.2-3-2.2-2.3-3-.7-3.5 .6-2.6 1.8-2.1 1.6-.7 1.5 0 1.5 .6 1.5 1.3 2-3.6z","#fff",.4]],shade:"M69.3 13.6l2.6 1.3 .5-.3 .5-1.3 2 1.7 .5 0 2.5 2.7 3.5 5.5 3.6 8.6 1.5 6.6 3.5 19.7 .5 5.5-.4 4.6-2 5-1 1.6-2.6 2.5-3 1.5-2.1 .5-4 0-6.6-1.4-1.4 2.9-1.9 2.5-2.7 2.6-3.1 1.5-2.5 .6-4 .1-7.1-1.5-1.5 2.8-2.6 3-2 1.6-3 1.4-4.5 .6-7.1-1.5-3.6-1.5-3.5-3.1 6.6 1.5 2.8-.5 .5-.5-.3-.5 3.2-2-.4-1 1.4-1.5-.3-1 .7-1.6-.2-2.5-3.4-19.2 .3-.5-.6-5 .5-.5-.1-4.6 .4-.5 .3-4 1-4.1 1.5-4.5 3.8-7.7 5.5-6.9 3.1-2.6 6.5-3.9 7.6-2.2 3.1 0 .5-.4 3 .5 1-.5 2.5 1z",light:"M36.5 6.1l2-.3 .5 .6 4.1 .5 1 .7-3.3 1.5-.3 1.2-3 2-.3 .8-2.8 2.6-3.5 4-3.9 5-2 3.6-1 .5-1.7 4-1.5 .5-1.4 4.6-1.6 .2-.5-.4-5.6-.9-.4-.4 1.4-5.1 1.5-3.5 2.6-5.1 4-5.5 6.6-6.2 4-2.5z",eyes:[[47.5,37.2,8.4,22.1,-10],[61.6,31.9,8.4,22.1,-10]]},squircle:{label:"Squircle",body:"M54.5 4.2l3.9-.2 3.7 .3 11.6 2.7 3.1 1.6 2.8 1.9 2.6 2.7 2.2 3.1 2.4 4.8 1.9 5.8 3.7 19.4 .8 11.1-.4 4.7-1 4.7-1.3 3.5-1.8 3.4-4.8 5.8-6.4 4.7-8 4-14.2 5.3-9.5 2.2-7.4 .1-10.5-2.2-5.3-2.5-4.3-3.7-3.3-4.8-2.7-6.3-2.4-9.5-2.8-17.9-.2-7.8 1.3-7.9 2.2-5.3 2.8-4.2 4.1-4.2 4.3-3.1 6.3-3.4 11.6-4.6 7.9-2.7z",shade:"M80.5 11.6l2.1 2.1 2.1 3.2 3.2 7.3 2.1 8.4 2.7 15.8 .5 7.9-.6 7.4-2 6.3-3.8 6.3-4.2 4.3-2.6 2-6.9 3.8-15.2 6.2-9.5 2.7-6.8 .6-6.2-.7-8.5-2-5.8-3.2-3.2-3.3 .5 .4 1.1-.2 5.8 1.4 2.1-.8 1.4-.7-.3-.5 1.4-1.1-.1-1 .8-.5 0-1.1 1.1-1 .1-2.1 .4-.6-.2-3.6-2.4-17.9-.2-9.5 .8-5.3 1.1-3.6 1.2-2.7 2.2-3.5 2.7-2.8 3.1-2.5 5.8-3.2 17.9-6.9 5.3-1.4 8.4-1.4 1.6-1.1 .5 .1 .9-1.5z",light:"M39.4 8.4l1.2 0-1.6 .7-1-.1 1-.1zM36.8 9.5l1 0 .6 .9 4.2 .6 .7 .6-3.8-.4-.3 .4 1.9 .3 .1 .7-3.2 1.6-6.9 5.8-5.3 6-4.7 6.1-3.8 3.7-.2 .5-1.8 .1-6.8-1.7 .4-3.6 2.1-4.2 2.2-3.2 4.2-4.3 4.2-3 3.1-1.8 5.3-2.5zM35.1 10.5l1.7 0-.5 .4zM36.5 11.1l.3-.5 2.2 .1 .4 .4-.4 .3z",eyes:[[52.6,52.4,8.4,22.1,-10],[67.3,46.9,8.4,22.1,-10]]},zed:{label:"Bull",body:"M77 4.4l1.1-.4 1.1 .2 1.2 1.3 2 9.8 2.2 5.9 .4 2.8-.3 2.1-.8 1.7-4.7 5.1-1.3 1.9-.4 1.7 .1 1.6 1 1.7 4.4 .2 3.8 1.3 2 1.7 .6 1.6-.3 1.7-.7 1.1-3.5 2.7 1.7 6 .4 5.9-.8 6.6-1.9 6-3.4 5.9-4.4 5.3-5.5 4.4-6 3.1-6.5 2-7.1 .7-6.5-.7-6.5-2.1-6-3.4-4.8-4.4-3.5-4.9-3.1-6.7-3.3 1.1-2.7 .3-2-.6-1.1-1.1-.3-2.2 .9-2.7 2.9-3.8 4.6-3.8 1.8-7.1-6.3-1.8-1.6-1.3-1.3-1.8-.6-2.7 0-6.6-1.4-8.7 .2-1.1 1.5-1.4 1.1-.1 1 .5 5.5 7.9 2.2 2.2 2.7 1.4 4.9 .4 .5-.1 6.5-5.1 6.6-3.2 6-1.6 8.7-.7 3.8-.9 2.7-1.5 3.9-3.2 3-3.8 2.4-4.9 2.1-10z",paints:[["M61 36.5l1.9 .7 1.4 2-.7 5.4 .3 .4 2.8-1.2 1.1 0 1 .9 .5 1.6-.5 .8-1 .5-7.1 2.4-1.1-.5-.9-1.6 1.4-5.4-.5-.6-3.3 1.1-1.1-.1-1.6-1-1-1.6 .5-.9z","#fff",1]],shade:"M80.2 5.5l.6 1.6 1.3 8.2 2.5 6 .2 3.7-.1 1.1-1.2 2.2-5.2 5.4-1.1 3.3 .9 2.7 3.8 3.9 1.6 .1 4.4-1.4 1.2 1.2 .1 1.1-.2 1.7-.6 1.1-3.6 2.7 .9 2.2 1.1 5.4 .1 6-1.1 6.5-2.3 6-3.8 6-6 6-4.9 3.3-5.9 2.6-7.1 1.7-7.1 .1-6-1.1-5.9-2.3-4.4-2.7-4.4-4.5 3.8 .4 5.5-1.5 7.6-3.9 6.8-4.7 7.9-6.5 7.1-6.9 5.4-6.5 4.4-6.7 1.8-4.4 .4-3.2-.3-1.1-3.3-3.8-.8-2.8 .8-2.7 6.2-7 .8-2.2-.1-2.7-1.7-4.4-.8-8.2zM14.9 29.9l.1-.5 4 6.5 2.3 2.7-1.4 .1-2-.6-3.6-7.1zM24.3 44.6l1-.3 1.1 .2 3.3 2.9 1.7 .5 .3 1.6-.5 2.2-1 1.6-1.6 1.5-1.6 .7-1.7 .1-3.2-2.2-2.2 0-2.7-.6-2.9-1.6 3.9-1.6 2.2-1.7 2.2-2.3zM21 68.6l.5-.5 1.1 .1 1.1 .5 .8 1 .6 2.7-.1 1.1-.7 1.1-.6 .1-2.2-1.2-2.7 1.1-3.8 .6-2.7-1.2 3.4-1.6z",light:"M77 4.4l.6-.2 .1 .7-1.2 .8-.1-.8zM74.2 15.8l.6 1.1 .1 2.7-.6 2.2-1 1.6-5.5 5-1.7 .7-3.3 .3 .1-.6 2.1-1.2 4.2-3.6 2.7-3.9zM11.7 28.9l.8 0-.1 .5-1.2 .8-.1-.8zM44.3 32.1l3.1 0 .8 1.1 0 1.1-1.9 4.3-3 4.1-1.7-1.1-2.1-.8-4.4-.6-4.4 .1 5.5-4.4zM22 54.4l.6 0-.3 .6 .2 .5 2.3 2.7 .4 1.7-1 .9-4.8 2.3-7.1 7.8 0-1.8 2.1-3.3 6.4-5.4 1.2-4.3z",eyes:[[61.8,69,9.5,22.3,-10.5],[78.4,62.7,6.9,22.2,-11.2]]},hex:{label:"Blossom",body:"M38.8 4.2l2.6-.1 6 1.3 2 1.3 3 3.3 12-4.5 2-.5 6.5 1.1 2.9 1.6 4.9 6 .8 2 .3 2-.2 2.5-1.9 7-1.3 2.2-1.9 1.8 2.9 1.3 1.8 1.7 10.1 12.5 1.5 3 .1 4-1.8 7-.9 2-2.8 2.7-7.1 2.7-5.2 20-.8 2-1.4 1.9-1.5 1.1-6.5 2.6-3 .2-6.5-1.6-2-1.4-4-4.9-16 5.7-2 .1-4.5-1-3-1.2-5.2-6-1.3-3 0-3.5 2-8.5-10.8-13.4-1.4-3-.3-2 .3-2.5 1.7-6.5 1.8-3 2.2-1.8 5.9-2.2 2.1-.4 2.5 .3 .4-.4-.7-2.5 .1-2.5 4.8-18.5 1-2.5 2.9-2.9z",shade:"M49.7 7.7l.2-.4 .5 .4 2 2.3 0 .7 1.6 1.5 1 2 .1 1.5-.3 .5 .6 1.3 17.5-6.5 2.5-1.3 1-1.5 4.5 6 .6 1.5 .3 3-1.9 8-1 2-3 3-.3 1 .4 .5-1.7 3 .1 .5-.5 .5 0 .7 5.5-2.2 1.5-1.5 2 2 8 10 1 1.5 1 2.5-.1 4-1.9 7-1.1 1.9-2.9 2.5-6.8 2.5-4.7 19-1.5 3.5-2.5 2.5-6.5 2.6-4 0-5.5-1.4-2.2-1.7-3.2-4 4.9 .8 2.5-1.4 1.5-2.6 .7-2.3 1.7-6.5-.4-.3-.6 .8-.7 3.5-1.1 1.5 .3 .5-.3 .5-.7-.5-1.4-5.5-.5 1-.2 2-.9 1-.1 1.5-1.1 2-2.7 2.8-1 .4-1 .1-15.5 5.8-3-.1-4.5-1-2-1-2-2-2.2-3 .2-.2 4 .9 2-1.1 1.7-1.6 1.3-3.2 1.7-6.3 1.1-2.5-.3-.3-.5 .2-6.5-.3-.5-.5-2 0-.5-.5-1.7-.1-10.4-13.4 4.1 .7 3.1-1.7 1.3-2 2.5-8.5 .9-1.5 1.7-1.3 6.5-2.7 2-1.5-.3-.5 .3-.5 1.5-1.2 1.5-3 5.6-20.3 1.9-2 6-2.4 1.1-.6zM73.2 31.2l1.5 0-.8 1-34 12.7-1 .1-1.5-.5-2 .8-1.9-2.6 .4-.9 2 .5 1.5 1 .5-.4 1 .5 1-.3 1 .4 3-1.5 1 .1 3-1.6 1 .1 3-1.6 1 .1 3-1.6 2.5-.5 1.5-1 2.5-.5 1.5-1 2.5-.5 1.5-1 2.5-.5 1.5-1 1 0zM61.3 74.6l.1-.2 .4 .2-.4 1.7z",light:"M33.4 6.2l3 .1 1.9 .9-.1 .5-1.8 2.5-3.4 3.5-4.5 17-3.6-.9-1 .4 0-1 4.4-16.5 0-1.5 2.1-3.1zM68.2 6.2l1.2 0zM14.9 37.7l3.5 .9 .4 .6-.3 1-5 5.5-1.1 4.6-2.5-.5-2 .1 0-1.7 1-4.5 1-2.5 2-2.1zM19.4 71.6l4 .7 1.8 .8-1.2 1-1.1 5.1-4.5-.5-.5-.6 1.4-5z",eyes:[[49.8,55.5,6.7,17.7,-10],[61.6,51.1,6.7,17.7,-10]]},gumdrop:{body:"M38.7 4.5l4.4-.5 4.6 .8 4.1 1.9 3.7 3.2 23.2 36.6 2.3 5 1.4 5.1 .7 6.4-.7 6.4-1.8 6.1-3.1 5.7-4.1 5.1-5.2 4.2-5.8 3.1-6 1.8-6.4 .6-6.4-.6-6-1.8-5.9-3.1-5.1-4.2-4.1-5.1-3-5.4-1.9-6.4-.7-6 .5-5.9 9-41.6 2-4.1 2.6-3.2 3.4-2.5z",shade:"M54.9 9.5l1.9 2.3 22.9 36.5 1.8 4.6 .9 3.7 .6 4.1-.1 5.9-1.4 6.4-2.3 5.5-3.7 5.4-4.1 4.2-4.5 3.3-7.3 3.2-6.4 1.2-6.4 0-5.1-.9-5.9-2.1-5.5-3.3-4.6-4.1 .5-.3 4.1 .8 5.5-1 6.4-2.6 7.3-4.5 7.2-5.7 6.5-6.4 5.5-6.9 3.5-5.9-18.1-37 1.1-3.7 .2-2.3z",light:"M37.1 4.9l2.5 0 .8 1.4-.5 2.1-1.8 2.9-3.2 3.2-3.2 2.1-2.3 .7-1.8-.1-.7-.9 .1-1.8 2.4-4.1 2.7-2.8z",eyes:[[52.1,40.3,9.7,22.9,-15.2],[64.8,35.6,6.3,23,-27]]},peanut:{body:"M43.5 4l6.6 .7 5.8 2.2 5.4 3.8 4.1 4.7 2 3.8 1.4 4.3 1.3 11.9 1 4.3 1.6 3.8 5.8 10.5 1.4 3.8 .8 4.3 .1 6.2-1 5.7-2.1 5.5-3.2 4.9-4.1 4.3-4.8 3.4-5.6 2.4-5.7 1.3-6.1 .1-5.8-1.1-5.7-2.2-4.7-3.1-4.3-4.1-3.3-4.8-2.5-5.7-1.2-5.7-.1-6.7 1.7-9 .4-4.3-.5-4.7-2.5-9.6-.6-3.8 .2-5.2 1.2-5.2 1.5-3.4 2.2-3.3 2.5-2.9 2.8-2.3 3.4-2.1 3.4-1.4 3.8-.9z",shade:"M62.7 12.6l2.6 2.8 2.8 5.8 1.1 4.2 1 11.9 1 3.4 2.3 4.7 4.2 6.7 1.9 4.7 .9 3.8 .2 2.9-.1 6.2-.5 3.3-1.9 5.3-3.4 5.7-3.4 3.8-4.2 3.3-5.7 2.9-4.8 1.4-5.7 .6-6.2-.6-3.8-1-5.2-2.3-4.8-3.4-2.9-2.8 3.9 .8 5.2-.7 6.2-2.5 5.7-3.3 6.7-5.1 6.2-5.9 5.1-6.2 3.5-5.7-1.1-2.8-2.4-2.4-3.2-1.7-11.5-4.1-2.7-1.8-1.6-2.4-.2-2.4 .8-2.9 7.8-8 4.9-7.7 1.6-5.2z",light:"M35.9 5.4l3.2-.2 1.3 .7 .5 1-.5 3.3-2.9 4.8-4.1 4.1-4.8 3.3-4.2 1.5-1.5 0-1.4-.6-.7-1.2 .2-2.4 1.9-3.8 2.4-3.3 4.3-3.9z",eyes:[[50.9,31.5,8.7,20.5,-11.9],[64.2,26.5,5.7,20.3,-16.3]]},saucer:{body:"M45 22.7l6.7 .1 6.7 1.9 4.3 2.5 3.5 3.1 2.8 3.5 2.5 4.5 6.8 .9 5.6 1.2 4.5 1.6 3.5 2.1 2.8 2.8 1.3 3.5-.5 3.5-2 3.5-2.6 2.8-3.5 2.8-4.5 2.8-5.1 2.6-12 4.4-13.6 3.1-13.6 1.5-12.6-.3-5.5-.7-5-1.2-4.1-1.6-3.5-2-2.8-3.1-1.1-3 .5-3.5 2-3.6 2.7-3 3.7-2.9 10.3-5.6 .7-5.1 1.5-4.5 2.6-4.5 3.1-3.5 3-2.4 3.5-2 3.5-1.4z",shade:"M66.5 31.3l.3-.2 .6 .7 1.9 2.5 2 4.5 1.6 1.5 .1 1.5-1.7 1.7-3 1.2-3.1 .5-3.1-.3 4-8.1 .7-3.5zM94.9 47.4l1.1 3-.5 3.5-2.1 3.5-4 4.1-5 3.5-6.1 3.1-7 2.9-6.6 2.1-8 2-9.1 1.5-6.5 .6-11.6 0-4.5-.2-8-1.4-4.6-1.5-3.6-2.1 4.1 1.2 5.1 .8 7 .3 6-.2 15.1-1.9 15.6-3.6 14.5-5.1 5.4-2.5 5.3-3.1 4-3 2.3-2.5 1.2-2.1zM7.3 71l.7 .5z",light:"M40.6 23.7l2.8 0 .8 .5 .7 1.5-.8 3.6-2.6 4-3.9 4-4.5 3.2-4.6 1.7-2.5-.4-1-1.4 0-1.6 .9-2.5 2.1-3.5 2.6-3 3-2.6 3.5-2.1zM22.4 47.4l.7 0-.5 .5 0 1.5 .4 .8 2 1.4 3 1.2 9.1 2 15.1 1.1-.2 1.5-2.2 3.6-3 2.5-4.9 2.5-6 2-7.9 1.5-6.5 .5-7.1-.4-4.9-1.1-3-1.5-1.6-1.7-.6-2.3 1.1-3.1 2.9-3.5 4.1-3.5 4.1-2.6z",eyes:[[53.6,45,7.8,18.4,-14.5],[66.2,40.3,5,18.3,-25.1]]},bunny:{body:"M49.3 4.4l1.5-.4 2 1.2 1.6 2.7 1.2 3.4 1.6 8.9 .2 6-.2 6.4 .6 3 2.4 2.5 5.4 3 3.4 2.4 5.1 5.5 2.4 3.9 1.7 4 1.1 4.4 .4 4.5-.5 5.9-1.6 5.5-2.8 5.4-3.6 4.5-4.6 3.8-4.9 2.7-5.5 1.7-5.9 .7-6-.5-5.4-1.7-4.9-2.5-4.7-3.7-3.8-4.5-2.7-4.9-1.8-5.5-.7-5.9 .6-6.5 1.9-5.9 3.1-5.4 4.6-5.5-.4-2-3.4-8.4-1.8-6.9-.6-6.9 .3-3 .6-2 1.3-1.4 2-.1 2.5 1.5 2.1 2.5 4 6.9 2.1 5.5 1.7 5.9 1.5 2.1 1.8-1.6 .7-2-.4-12.4 1-8.9 1.6-4.9z",shade:"M52.7 5.4l2.1 3.5 1.9 7.4 .7 7.9-.5 8.4 .8 3.6-4.4-2.5-2.1-2.6 1.4-17.3zM31.2 15.3l.3-.5 2 2.5 2.9 4.9 2.5 6 1.7 6.4 1.4 2.5 0 .5-1.1 .9-4.5 1.9-2.4 .2-1.2-.6zM71.5 46l3.6 4.4 2.9 6 1.5 6.4 .1 5.5-1.1 6.3-2 5-3.4 5.4-3.5 3.6-4 2.9-6.4 3-4 1-6.9 .5-5.9-1-5.5-2-5.4-3.5-3.6-3.4 2.6 .7 2.5 .1 2.9-.5 4-1.3 8.4-4.6 8.7-6.8 7.4-7.9 5.3-7.9 1.3-3 1-3.5 .2-2.9-.2-2z",light:"M49.3 4.4l.6 0-3.6 6.2 1-3.7zM26 13.3l.5-.4 .2 .4-1.7 2.2 0-.7zM44.8 34.6l.5-.1 1.2 1.1 .8 1 0 .7-.5 .3-4-.5zM45.1 42.5l.8 0-.3 1-2.4 4.5-3.8 4.4-4.1 3.5-3.8 2.4-4 1.6-2.9 .1-1.8-1.1-.4-2.5 1.1-3.5 3.5-5.4 3-3.1 .2 1.6 .8 .8 3 .1 4.4-1.2z",eyes:[[59.2,69.2,8.2,19.3,-12],[72.9,64,5.6,19.1,-15.4]]},kitty:{body:"M62.4 4.2l1.6-.1 1.5 1.2 7.4 21.3 3.7 6.4 6.2 7.4 3.1 5.9 1.5 4.8 .7 5.3-.2 5.4-1.1 5.3-3 7.4-4.4 6.4-5.3 5.4-6.9 4.6-7.5 3.1-8 1.7-8 .2-7.4-1.4-4.3-1.5-3.7-1.8-3.8-2.5-3.1-2.7-2.7-3-2.5-3.7-1.9-3.7-1.4-4.3-.9-5.3 .1-5.8 1.4-7 1.6-4.2 2-3.8 .8-3.2 .2-20.2 1.1-1.4 1.1-.3 1.1 .3 12.2 9.7 5.9-2.5 8-2.1 3.2-1.8 2.3-2.4 8.3-16z",shade:"M64.9 5.8l.1-.3 .7 .3 6.5 19.7 3.1 5.9 2.5 3.2-1.6-.8-2.6-2.4-5.1-8zM79.4 36.7l2.2 2.1 1.6 2.2 3.3 6.9 1.5 6.9-.1 6.4-1.6 7.5-3.1 6.9-3.8 5.3-5.3 5.4-6.4 4.3-7 3.1-6.3 1.6-4.3 .6-5.3 0-7.5-1.1-5.8-2-5.9-3.3-5.9-5.4 2.7 .7 3.2-.1 3.7-.8 5.2-1.9 10.3-5.5 11-7.8 10.7-9.6 7.8-9.1 3-4.6 1.6-3.4 .7-3.2z",light:"M62.4 4.2l.5-.1 0 .6-.8 1.1-4.5 14.4 .2 2.7-.3 1.6-1.1 1-2 .6-6.9-.5 2.6-1.3 3.1-3 8.1-16zM18.7 20.7l1.1-.5 0 .8-1.1 .9-.6-.1zM39.5 27.7l2.6-.3 1.9 .8 .4 1.6-.7 1.8-4.2-1.5-5.4 .2 0-.5zM16 47.4l.3 4.2 1.6 2.2 3 2.1-.6 .5-3.7 .6-1.1-.3-1.1-1.1-.4-1.8 .4-2.7z",eyes:[[59.6,65.1,9.4,22.6,-11.9],[77.5,58.4,7,22.5,-14]]},beacon:{body:"M40 4.1l2.7 0 2.5 .9 2 1.7 1.1 2.1 .5 2-.2 2.1-2.1 4.1-.4 1.6 1.5 7.7 9-3.1 4.1-.2 18.5 4 3.1 1.6 2.4 2.3 1.3 2.1 .9 2.6 5.8 33.4-.4 3.1-1.3 3.1-2 2.5-2.6 1.9-41.7 15.7-4.1 .7-19.6-4-3.5-1.9-2.5-2.5-1.2-2.1-.8-2.6-5.7-32.9 .4-3.1 1-2.7 1.7-2.5 2.4-1.9 28.4-10.9-1.5-9.3-.7-1-3.5-3.3-.9-1.9-.4-2 .5-2.6 1.1-2.1 1.7-1.5z",shade:"M47.1 7.2l.4 0 .8 1.6 .3 2-.2 2.6-2.5 4.7 1.5 8.2 0 2 .5 .6 .1 1.5 .5 1-1.2 .4-1.3-.4-.3-.5-1.9-10.3-4.1-1.5-3.2-2.6 3.1-.9 3.2-2.2 2.5-2.6zM84.2 30.9l1.2 1.1 1.5 3.6 5.7 32.4 0 2.6-1 3.6-1 1.5-3.1 3.2-4.2 1.9-40.6 15-4.2 0-16.4-3.6-3.6-1.4-2.6-2.2 .5 .4 17.5 3.4 3.8-1.2 5-3.4 1-1.3-5.4-30.3 .2-.6 3.1-3.4 40.2-15.1 2-3.6z",light:"M38.5 4.7l2 0-.1 1-.8 1.4-2.6 2.2-1 .4-1.1-.1-.1-.8 .7-1.6 1.5-1.6zM55 23.7l1.1 .1-1.6 .6-.9-.2 .9 0zM52.4 24.7l1 0-3 1.2-.9-.1 2.4-.6zM48.3 26.3l1 0-1.5 .6zM40 29.4l1.1 0-3.1 1.2-.9-.2 2.5-.5zM35.9 30.9l1 0-3 1.2-.9-.1 2.5-.6zM31.8 32.5l1 0-3 1.2-.9-.2 2.4-.5zM40.2 33l.4-.4 1-.1 1.6 .8 3 .7-1.5 .5-4.1 0-.9-1zM27.7 34l1 0-3 1.2-1-.2 2.5-.5zM23.6 35.6l1 0-3 1.1-1-.1 2.5-.5zM19.4 37.1l1 0-2.4 .8-.5 .7 15.4 3.3 .5 .3 .3 1.1-1.1 2.6-3.3 3.3-3.1 1.5-17.5-3.6-.6-1.2 .5-1.6 3.2-3.7 2.1-1.4 2.5-1.1 1 0 .6-.5 1 0z",eyes:[[55.5,65.3,8.4,22.1,-10],[74.2,58.3,8.4,22.1,-10]]},plus:{body:"M44.6 4.3l3.3-.1 11.9 2.5 2.5 1.3 1.3 1.4 .7 1.6 2.1 11.4 4.1-1.2 2.1 0 12.3 2.6 2.8 1.6 1.2 1.5 .7 1.5 3.8 21.6-.5 3.1-1 1.5-1.3 1.3-17 6.6 3.4 20.4-.4 2.5-1.2 2.1-2.3 1.6-19 6.9-2-.2-11.9-2.5-2.5-1.3-1.3-1.4-.7-1.6-2.1-11.4-4.1 1.2-2.1 0-12.3-2.6-2.8-1.6-1.2-1.5-.7-1.5-3.8-21.6 .5-3.1 1-1.5 1.3-1.3 17-6.6-3.4-20.4 .2-2 1.1-2.2 2.6-2z",shade:"M63.2 9.4l.7 .6 .5 1.5 2.1 13.3 .6 .6 0 2.5 .5 .5 .1 2.6 .5 .5 .1 2.1-.8 3.1 19-7.1 1-1.2 1-2.1 1.1 2.1 .4 2.6 3.2 18 0 3.1-1 2-2.2 2.1-15.9 5.8-.8 .8 3.6 19.5-.1 2.6-1.5 2.6-2.2 1.6-16.4 6.1-2.1 .6-2.5 0-12.4-2.7-2.2-1.5 12.5 2.5 2.4-1 2.7-2-3.9-22.1-3.8 3.5-1 .4-2.6 .5-1.5 1-2.6 .5-1.5 1-2.6 .4-1.5 1-4.6 1.5-2.5 0-11.9-2.6-2.7-1.6 12.4 2.3 2.6-.9 2.4-1.9-3.4-20.5 .3-.5 1.7-1.8 18.6-6.9 .3-.6-.7-1-3.8-22.1 2.1-2.1 16.4-6.1 .6-.5z",light:"M28.4 10.5l1.1 .5 10.2 2.1 .5 .4-.1 1.1-1.9 2.3-2.1 1-12.3-2.5-.1-1.3 1-1.6 1.2-1zM11.4 43.3l11.4 2.2 1 .6 0 .8-1.5 2.3-2.6 1.4-12.3-2.6-.2-1.1 .6-1 2.2-2.1z",eyes:[[54.5,53.1,6.1,15.9,-10],[64.5,49.4,6.1,15.9,-10]]},magnet:{body:"M71.9 4.2l1.2-.2 12.1 2.6 .5 .3 .6 1 6.2 35.6 .6 5.8-.1 5.7-.7 5.8-1.5 5.7-2.2 5.8-4.2 7.3-5.5 6.5-6.5 5-7.1 3.4-6.3 1.3-6.3 0-15.2-3.1-5.2-1.8-5.2-3-4.6-4.1-4-5.2-2.9-5.8-2.4-7.8-6.4-36.2 25-9.5 13.1 2.9 .5 .9 6.3 35.3 1.8-3.9 .5-4.7-6.3-36.1 .4-.6z",shade:"M86.2 9.5l.5 1 5.8 33 .6 4.7 0 5.2-.6 5.8-2.1 8.4-3.1 7.3-3.7 5.8-6.3 6.8-5.7 4.1-5.8 2.7-6.8 1.5-6.3 0-15.2-3.1-5.7-2-5.2-3.2-5.9-5.8 .1-.7 11.5 2.5 .3-3.4-1.9-13.6-5.7-32.4 1-.1 18.3-6.9 .9-.9 .4-1 6.1 35 1.6 2.1 .1 .6 4 4.7 3.2 1.1 3.6-.6 3.2-1.9 2.4-2.8 1.9-4.2 .6-3.7-6.4-36.6 19.3-7.1 .8-.8z",light:"M53.6 54.5l.7-.4 12 2.8 .6 1.8-.6 2.1-2.1 2.4-2.6 1-1.5 0-6.3-1.4-1.6-2.6-.2-2.1z",eyes:[[59.6,82.1,6.1,15.9,-10],[72,77.5,6.1,15.9,-10]]},acorn:{body:"M47.6 4l2.1 .6 1.3 1.5 .4 1.5-.4 5.2 .3 .3 8.8-.1 7.7 1 7.3 2.1 5.7 2.9 3.6 2.9 2.6 3 1.8 3.4 .9 3.7 0 4.1-1 3.6-1.7 2.2-3.9 3 2.9 8.3 .9 8.3-.9 8.3-2.7 7.7-4.2 6.8-2.9 3.1-3.2 2.6-6.7 3.8-3.7 1.2-4.1 .8-7.2 0-7.3-1.7-7-3.6-5.9-5.1-4.8-6.3-3.3-7.3-1.8-7.7-.1-8.3-4.5-1.5-2.6-1.7-2.6-4.1-1.1-4.1 0-4.2 1.2-4.1 2.2-4.1 2.8-3.7 5.2-4.6 6.3-3.8 7.2-3.2 8.3-2.3 .9-8.3 1.2-1.4z",shade:"M50.6 6.1l.1-.5 .6 2-.6 5.7 .2 2.1-1.2 .2-1.2-.7 .5-6.8zM85.8 23.7l1.7 2 1.6 3.7 .6 2.6-.1 4.1-.5 2.6-1.1 2.1-2.1 2-2.9 2.1 1.4 3.1 1.6 5.2 .9 8.8-.5 5.7-1.4 5.7-2.2 5.1-2.6 4.2-5.1 5.7-5.2 3.6-4.7 2.2-6.2 1.5-7.7 .1-5.7-1.2-6.8-3-4.6-3.2-4.2-4.2 2.1 1 2.1 .3 3.1-.3 3.1-.9 6.4-3.1 6.5-4.6 6.6-5.8 5.9-6.4 5.6-7.9 4-7.4-2.4 .4-.5 .5-1.1 0-.5 .5-1 0-.5 .5-1.1 0-.5 .5-1 0-.5 .6-1.6-.1-.5 .5-1.6 0-.5 .5-3.6 .5-.5 .5-2.1-.1-.5 .6-2.1-.1-.5 .7-3.1-.2-.5 .5-3.1 0-.5 .7-4.7-.2-.5 .7-15.6-.3 0-.3 8.3-.6 11.4-2.4 11.4-3.8 10.5-4.8 9.2-5.7 6-5.2 2.2-2.6 1.6-2.9 .5-1.7z",light:"M46 4.5l1.1-.1 0 .6-1.5 1.6-1.1 .2-.1-.7zM38.5 15.9l5 0 3.3 1.6 1.6 3.1 .1 3.1-.9 3.1-1.9 3.1-3.2 3.6-4 3.1-3.6 2.1-8.5 3.2-4.1 .7-4.2 .1-3.1-.5-2.6-1.5-1.1-2 .1-2.1 .5-1.5 2.1-3.7 4.1-4.6 3.7-3.1 5.1-3.2 6.3-3z",eyes:[[63.6,63.3,9.6,22.7,-11.9],[79.5,57.3,6.5,22.5,-15.5]]},pebbles:{body:"M47.3 4.5l2.7-.4 2.7 .1 13.7 3 4.3 2.1 3.3 3.4 1.3 2.2 1 2.8 2 12-.5 4.3-3.1 7.7 .2 .5 8.4 1.9 2.7 1 3.3 2.1 2.7 2.8 2.4 4.3 1.4 6.5 .1 4.4-.8 3.8-1.3 2.7-2 2.8-2.4 2.2-2.7 1.6-45.5 17-3.3 .6-3.2-.2-19.2-4.2-4.9-2.8-3.4-3.8-1.9-4.4-1.3-7.7 .2-3.2 .8-2.8 1.3-2.7 2-2.7 3.2-2.8 7.9-3.8 2.5-2.2-.4-1.6-5.4-6.1-1.8-3.8-2.3-12.5 .2-3.3 .7-2.7 2.6-4.4 2.2-2 2.2-1.4z",shade:"M73.2 12.2l.4 0 1.5 2.2 1.2 3.3 1.8 11.4-.2 4.4-3.3 7.6 0 1.1 .6 1.1-1.2 1.3-26.8 10.1-3.2 .5-5.8-.4-15.2-3.3-1.4-.5-3.5-3.8 .2-.3 1.6 .2 10.9 2.2 2.8-.5 4.4-2.2 5-3.8 .1-.6-1.5-8.7 4-4.5 24.2-9.2 2.4-3.8zM90.9 48.8l2.8 3.8 1 2.8 1.2 6 0 4.3-1.1 3.9-1.7 3.2-3.8 3.9-2.7 1.7-42.1 15.8-5.5 1.6-3.8 0-18-3.8-4.9-2.1-3.4-2.9 17.6 3.8 2.7-.2 3.3-1.2 4.3-2.6 4.4-3.6-.4-3.8 4.4-4.9 42.5-16 2.1-3.1 1.1-2.8 .5-3.3z",light:"M45.6 5.1l1.5 0-.4 .2-22.9 8.5 11.4 2.5 .6 .8 0 1.6-1.5 2.8-1.9 2.2-2.8 2.1-3.1 1.2-13.2-2.8-.1-2.2 1.2-2.2 1.7-2.2 2.7-2.2 2.2-1.1 2.2-.5 .5-.5 2.8-.6 1.6-1.1 2.7-.5 1.7-1.1 2.7-.6 1.6-1 2.8-.6 1.6-1.1 2.8-.5zM21.6 53.2l15.8 3.6 1.2 .7-.1 .9-.8 .8-3.1 1.6-1.3 3.8-3 3.8-3.3 2.5-3.3 1.4-18-3.6-.6-1.3 .6-2.2 1.6-2.7 1.7-1.8 3.8-2.8 5.5-2.2z",eyes:[[51.2,34.1,6.9,18.1,-10],[66.4,28.4,6.9,18.1,-10]]},cushion:{body:"M64.2 4.4l3.3-.4 2.8 .2 3.9 .8 2.8 1.1 2.7 1.7 2.4 2.1 1.9 2.4 1.5 2.8 1.2 3.9 7.1 40.6-.1 5-1.4 4.5-1.6 2.9-1.9 2.2-2.2 1.9-2.8 1.7-45.6 17.1-3.4 .9-3.4 .2-4.5-.7-3.4-1.2-3.3-2-2.9-2.7-2.3-3.4-1.5-3.9-7.3-41.7 .1-5 1.4-4.5 1.6-2.9 1.9-2.2 2.2-1.9 2.8-1.7z",shade:"M82.1 10l2.9 4 1.6 4.5 7.3 42.2-.5 5.1-1.1 3.3-1.7 2.9-4.6 4.5-3.3 1.7-46.8 17.4-5.6 .2-4-.7-3.3-1.2-3.4-2.2-1.7-1.8 .6 .4 3.3 .2 4.5-1.2 5.1-2.8 5.3-4.4-6.9-39.4 5-5.7 43.9-16.4 2.3-3.6 1.1-2.8 .5-3.6z",light:"M62.3 4.9l1.8 .1-43.4 16.1 1.1 .4 .8 .9 .1 1.7-1.6 3.4-2.6 3-3.4 2.7-3.4 1.5-3.4-.2-.8-.8-.2-1.2 .4-1.6 1.7-2.9 3.4-3.5 2.3-1.6 3.4-1.6 5.6-1.8 .6-.5 1.1 0 .5-.6 2.3-.5 .6-.6 1.1 0 .6-.6 2.2-.5 .6-.6 1.1 0 .6-.6 2.2-.5 .6-.6 1.1 0 .6-.5 2.2-.6 .6-.6 1.1 0 .6-.5 2.2-.6 .6-.5 1.1-.1 .6-.5 2.2-.6 .6-.5 1.1-.1 .6-.5 2.2-.6 .6-.5 1.1 0 .6-.6 2.2-.6 .6-.5 1.1 0z",eyes:[[51.1,57.2,8.4,22.1,-10],[69.9,50.1,8.4,22.1,-10]]},ring:{body:"M48.1 4.3l8-.1 7.8 1.8 7.3 3.5 6.7 5.4 5.2 6.7 4.1 8.3 2.3 8.9 .7 9-1 9.5-2.5 8.9-4.1 8.3-5.3 7.3-6.6 6.1-7.3 4.5-7.8 2.7-8.4 .9-7.2-.8-7.3-2.5-6.7-4.1-5.6-5.3-4.5-6.5-3.5-7.8-2-8.4-.6-8.4 .9-8.9 2.2-8.4 3.5-7.8 4.9-7.2 5.8-6.1 6.3-4.5 7.1-3.3zM50.5 33.8l2.3-.3 1.7 .4 1.6 1.1 2 2.2 1.3 2.8 .8 2.7 .4 3.4-.1 3.3-1.4 6.2-3 5.6-2.2 2.4-2.2 1.6-2.3 1-2.2 .3-1.7-.4-1.6-1.1-2.8-3.7-1.5-5.2-.1-5.5 1.2-5.6 2.4-5 3.6-4z",shade:"M76.2 14.9l1.1-.5 3.4 3.8 2.8 3.9 2.3 4.5 1.6 3.9 1.6 5.6 1.1 8.3-.4 10.1-1.3 6.1-2.6 7.8-4.6 8.3-4.4 5.6-6.2 5.7-6.1 3.8-7.2 2.9-6.2 1.1-7.8-.1-7.2-1.7-3.9-1.6-4-2.2-5.5-4.5-2.8-3.4 1.7-.6 2.4-2.1 2-2.8 1.2-2.8 1.2-5 1.1-13.4 1.4-7.8 2.5-7.8 3.8-7.3 3.3-4.5 3.4-3.4 3.9-3.1 4.4-2.6 3.9-1.5 4.5-1.1 12.3-.9zM50.5 33.8l.6-.3 2.8 0 1.6 .9 2.7 2.8 3 1.4 3.3 .5 6.1 .2 3.9 .9 1.7 1 1.7 1.6 2.1 4.4 .7 4.5-.3 5-1.2 5-1.9 4.5-2.8 4.2-3.3 3.6-3.9 2.8-3.9 1.7-3.4 .6-3.3-.1-3.4-1.1-2.5-1.7-2.5-3-3.6-7-2.9-3.4-2.1-5-.6-5.6 .6-4.4 1-3.4 2.3-4.4 1.4-2.1 2.3-2.2 2.7-1.7z",light:"M41.1 5.9l.5 .1 .2 .5-.3 .6-12.4 13.3-13.1 18.1-2.3 2.1-1.1 0-.2-1.2 .2-2.8 1.6-5 4.6-8.3 3.9-5.1 4.4-4.4 4.5-3.4 5-2.8zM60.5 53.3l1.2-.3 1.1 .6 1.1 1.3 .8 1.8-.2 3.3-1.5 2.8-2 1.7-2.6 1-7.3 .2 2.2-1.4 2.6-2.6z",eyes:[[56.2,84.6,5.3,13.3,-6.8],[71.7,78.8,5.1,13.4,-6.5]]},gem:{body:"M57 9.3l2.9-.4 14.9 3.5 19.6 14.1 1 1.4 .6 1.6-.5 2.6-27.1 56.5-1.6 1.8-2.1 .7-15.9-3.4-42.9-30.7-1.3-1.6-.6-1.6 .5-2.6 12-25.2 1.1-1.5 1.5-1z",shade:"M75.7 14.6l.1-.4 .6 .2 16.9 12.3 1.1 .7 .5-.2 .5 .7 .6 2.6-.5 1.6-26.4 55.1-1.2 2.1-1.1 1.1-1.6 .6-2.1 0-14.3-3.3-42.8-30.7 1.5-.2 11.6 2.5 2.2-.7 2.8-2.6 11.9-24.9 .6-.8 38.2-14.2z",light:"M19.1 23.6l1.1-.4 .5 .5 11.7 2.2 1 .9-.2 .5-1.8 2.7-11.7 24.4-1.6 .6-13.3-2.8-.5-.5 12.1-25.4 1.2-1.7z",eyes:[[51.4,42.9,6.7,17.7,-10],[66.1,37.4,6.7,17.7,-10]]}},vC=Object.keys(cp);var D7=["star","moon","gumdrop","peanut","bunny","kitty","acorn"],N9="gumdrop",yC=Object.freeze({shape:"whale",color:"deepseek"}),_C=["black","brown","red","orange","yellow","green","cyan","blue","violet","magenta","gray","aurora"],F9=_C.filter(e=>!["black","gray","brown"].includes(e)&&!Z9[e]),wC=e=>P7(e)||Object.hasOwn(Ke,e);function ht(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t=Math.imul(t^e.charCodeAt(n),16777619);return t>>>0}function T9(e){let t=ht(e)+1831565813|0,n=Math.imul(t^t>>>15,1|t);return n=n+Math.imul(n^n>>>7,61|n)^n,F9[Math.floor(((n^n>>>14)>>>0)/4294967296*F9.length)]}function xC(e){let t=ht(e)|0;return t=Math.imul(t^t>>>16,73244475),t=Math.imul(t^t>>>13,3266489909),D7[((t^t>>>16)>>>0)%D7.length]}var V9=e=>"remote:".concat(String(e??"").trim().replace(/^@+/,"").toLowerCase()),j9=e=>typeof e?.remote?.handle=="string"&&e.remote.handle.trim()!==""?V9(e.remote.handle):e?.id!==void 0?String(e.id):void 0;function G7(e,t){let n=String(e?.handle||e?.remote?.handle||"").trim(),a=n?(t?.bots??[]).find(s=>s.remote?.handle===n):void 0,i={};if(typeof e?.color=="string"&&(i.color=e.color),e?.avatar&&typeof e.avatar=="object"&&(i.avatar=e.avatar),a)return Object.keys(i).length?{...a,...i}:a;let r=e?.label||e?.displayName||e?.name||n||"Bot";return n?{id:V9(n),name:r,remote:{handle:n},...i}:{id:e?.id||"remote",name:r,...i}}var q9=e=>wC(e?.color)?e.color:j9(e)!==void 0?T9(j9(e)):"black";function x4(e){let t=e?.avatar??{},n=j9(e);return{shape:P9(t.shape)?t.shape:n!==void 0?xC(n):N9,image:t.image,...typeof t.emoji=="string"&&t.emoji?{emoji:t.emoji}:{},color:q9(e)}}var H9=e=>{let t=String(e??"");return Object.hasOwn(Ke,t)?[t,...Ke[t].map(n=>n.toLowerCase())]:[P7(t)?t.toLowerCase():t]};function L5(e){return e?.image?["image:".concat(String(e.image).slice(0,96))]:e?.emoji?["emoji:".concat(e.emoji)]:H9(e?.color).map(t=>"shape:".concat(S5(e?.shape),":").concat(t))}var kC=[];var ip=e=>String(e?.name??"").trim().toLowerCase(),zC=(e,t)=>{let n=L5(e);return L5(t).some(a=>n.includes(a))};function I9(e,t=kC){let n=x4(e),a=e?.avatar??{};if(a.image||typeof a.emoji=="string"&&a.emoji)return n;let i=(Array.isArray(t)?t:[]).filter(p=>p&&!p.remote);if(i.length===0)return n;if(P9(a.shape)){let p=ip(e);if(!(p===""?[]:i.filter(m=>ip(m)===p)).some(m=>zC(n,x4(m))))return n}let r=new Set(i.flatMap(p=>L5(x4(p)))),s=p=>!L5(p).some(u=>r.has(u));if(s(n))return n;let c=[...D7,...vC.filter(p=>p!=="whale"&&!D7.includes(p))],o=[n.color,...F9.filter(p=>!H9(p).some(u=>H9(n.color).includes(u)))],l=Math.max(0,c.indexOf(S5(n.shape)));for(let p of o)for(let u=1;u<=c.length;u+=1){let m={...n,color:p,shape:c[(l+u)%c.length]};if(s(m))return m}return n}var B9={};for(let[e,t]of Object.entries(cp)){let n=[...(t.paints??[]).map(([a,i,r])=>'<path d="'.concat(a,'" fill="').concat(i,'" fill-opacity="').concat(r,'"/>')),'<path d="'.concat(t.shade,'" fill="#000" fill-opacity=".14"/>'),'<path d="'.concat(t.light,'" fill="#fff" fill-opacity=".16"/>')].join("");B9[e]={label:t.label??e[0].toUpperCase()+e.slice(1),size:100,path:t.body,layers:n,eyes:t.eyes}}var P9=e=>typeof e=="string"&&Object.hasOwn(B9,e),S5=e=>P9(e)?e:N9,O7=e=>B9[S5(e)];function op(e,t,n=!1){if(e.path)return'<g fill-rule="evenodd"><path d="'.concat(e.path,'" fill="').concat(t,'"/>').concat(n?"":e.layers,"</g>");try{return e.body(t)}catch{return""}}var lp=([e,t,n,a,i])=>'<g transform="translate('.concat(e," ").concat(t,") rotate(").concat(i,')"><rect class="bt-eye" x="').concat(-n/2,'" y="').concat(-a/2,'" width="').concat(n,'" height="').concat(a,'" rx="').concat(n/2,'"/></g>'),CC=([e,t,n,a,i])=>'<g transform="translate('.concat(e," ").concat(t,") rotate(").concat(i,')"><path class="bt-eye-happy" opacity="0" d="M').concat(-n*.62," ").concat(a*.14,"Q0 ").concat(-a*.42," ").concat(n*.62," ").concat(a*.14,'" fill="none" stroke="#000" stroke-width="').concat(n*.5,'" stroke-linecap="round"/></g>'),pp=e=>'maskUnits="userSpaceOnUse" x="'.concat(-e,'" y="').concat(-e,'" width="').concat(e*3,'" height="').concat(e*3,'"'),up=(e,t)=>'<rect x="'.concat(-e.size,'" y="').concat(-e.size,'" width="').concat(e.size*3,'" height="').concat(e.size*3,'" fill="#fff"/>').concat(t),dt="%MASK%",AC=0,mp=()=>AC+=1,rp=new Map;function dp(e,t){let n="".concat(e,"|").concat(t),a=rp.get(n);if(a===void 0){let i=O7(e),r='<g class="bt-gaze"><g class="bt-eyes" fill="#000">'.concat(i.eyes.map(lp).join("")).concat(i.eyes.map(CC).join(""),"</g></g>"),s=Z9[t],c=s?'<linearGradient id="'.concat(dt,'g" gradientUnits="userSpaceOnUse" x1="18" y1="10" x2="78" y2="92">').concat(s.map(([l,p])=>'<stop offset="'.concat(l,'" stop-color="').concat(p,'"/>')).join(""),"</linearGradient>"):"",o='<g mask="url(#'.concat(dt,')">').concat(op(i,s?"url(#".concat(dt,"g)"):R7(t)),"</g>");a="<defs>".concat(c,'<mask id="').concat(dt,'" ').concat(pp(i.size),">").concat(up(i,r),'</mask></defs><g class="bt-b">').concat(i.wrap?'<g transform="'.concat(i.wrap,'">').concat(o,"</g>"):o,"</g>"),rp.set(n,a)}return a}var MC=(e,t)=>'url("data:image/svg+xml,'.concat(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 '.concat(t," ").concat(t,'">').concat(e,"</svg>")),'")'),sp=new Map;function $C(e){let t=sp.get(e);if(t===void 0){let n=O7(e),a='<g mask="url(#e)">'.concat(op(n,"#000",!0),"</g>");t=MC('<mask id="e" '.concat(pp(n.size),">").concat(up(n,n.eyes.map(lp).join("").replaceAll('class="bt-eye"','fill="#000"')),"</mask>").concat(n.wrap?'<g transform="'.concat(n.wrap,'">').concat(a,"</g>"):a),n.size),sp.set(e,t)}return t}var R9=$C(N9);function hp(e){let t=Array.isArray(e)?e:[],n=r=>!!r?.remote;if(!t.some(n))return t;let a=t.filter(r=>!n(r)),i=t.filter(n);return t.length<=4?[...i,...a]:[...a,...i]}var LC=["all","everyone","\u6240\u6709\u4EBA","\u5168\u4F53"],bp=/^(?:[a-z0-9_\-/\\]|\.[a-z0-9_-])/i,fp=/[a-z0-9_./]/i,SC=/```[\s\S]*?(?:```|$)|`[^`\n]*`|\[[^\]\n]*\]\([^)\s]*(?:\s+(?:"[^"\n]*"|'[^'\n]*'))?\)/g,gp=(e,t,n)=>e.slice(t,t+n.length).toLowerCase()===n.toLowerCase()&&!bp.test(e.slice(t+n.length)),vp=(e,t,n)=>e.some(a=>t<a.end&&a.start<n);function EC(e,t=[]){let n=[];for(let a of[...t].sort((i,r)=>r.length-i.length)){let i="@".concat(a);for(let r=e.indexOf(i);r!==-1;r=e.indexOf(i,r+1)){let s=r+i.length;if(!(r>0&&fp.test(e[r-1])||bp.test(e.slice(s))||vp(n,r,s))){n.push({start:r,end:s,label:a});break}}}return n.sort((a,i)=>a.start-i.start)}function yp(e,t,{references:n=[]}={}){let a=String(e??""),i=[...[...a.matchAll(SC)].map(c=>({start:c.index,end:c.index+c[0].length})),...EC(a,n)],r=t.filter(c=>c?.name).sort((c,o)=>o.name.length-c.name.length),s=[];for(let c=a.indexOf("@");c!==-1;c=a.indexOf("@",c+1)){if(c>0&&fp.test(a[c-1])||vp(i,c,c+1))continue;let o=r.find(u=>gp(a,c+1,u.name)),l=o?void 0:LC.find(u=>gp(a,c+1,u));if(!o&&!l)continue;let p=c+1+(o?o.name.length:l.length);s.push(o?{start:c,end:p,bot:o}:{start:c,end:p,all:!0}),c=p-1}return s}var ZC=/<\s*\/?\s*untrusted-(?:message|file)\b[^<>]*>/gi,FC=/\bfrom\s*=\s*(?:"[^"]*"|'[^']*')\s*>/gi,jC=/<[^<>]*\buntrusted-(?:message|file)\b[^<>]*$/i,HC=/(?:\/\s*)?untrusted-(?:message|file)\b\s*>?/gi;function _p(e){let t=String(e??"");for(let n;n!==t;)n=t,t=t.replace(ZC,"").replace(FC,"");return t.replace(jC,"").replace(HC,"")}function W7(e){let t=String(e??"");for(let n;n!==t;){n=t;let a=t.indexOf("<untrusted-message");if(a<0)break;let i=t.lastIndexOf("</untrusted-message>"),r=i>a?t.slice(t.indexOf(">",a)+1,i):t;t=_p(r)}return _p(t).replace(/\s+/g," ").trim()}var k4="https://bots.local/";function xp(e,t,n){if(!e||!e.includes("@"))return e;let a=[...t??[]].sort((s,c)=>+!!s?.remote-+!!c?.remote),i="",r=0;for(let s of yp(e,a))!s.bot||s.bot.id===n||(i+="".concat(e.slice(r,s.start),"[").concat(e.slice(s.start+1,s.end).replace(/[[\]\\]/g,"\\$&"),"](").concat(k4).concat(s.bot.id,")"),r=s.end);return r===0?e:i+e.slice(r)}function kp(e){let t=e.target instanceof Element?e.target.closest('a[href^="'.concat(k4,'"]')):null;return t?t.getAttribute("href").slice(k4.length):null}function U7(e,t){let n=String(e??"");if(!n.includes("@")||t===null||typeof t!="object")return n;let a=[...Array.isArray(t.remoteBots)?t.remoteBots:[],...Array.isArray(t.bots)?t.bots:[]],i=new Map;for(let c of a){let o=typeof c?.remote=="object"&&c.remote!==null?c.remote.handle:c?.handle;typeof o=="string"&&typeof c?.name=="string"&&c.name!==""&&i.set(o.replace(/^@+/,"").toLowerCase(),B7(c,a))}let r=[...i.keys()].filter(Boolean).sort((c,o)=>o.length-c.length);if(r.length===0)return n;let s=r.map(c=>c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");return n.replace(new RegExp("(^|[^a-z0-9_./])@(".concat(s,")(?![a-z0-9_\\-/\\\\])(?!\\.[a-z0-9_-])"),"gi"),(c,o,l)=>"".concat(o,"@").concat(i.get(l.toLowerCase())))}var NC=/^\[(Message from|Reply from|Group chat|Group post from|Bot team setup|Handoff · part|Secret card)[^\]]*\]\n?/,gt=e=>e.sessionId??e.id;var zp=e=>e.replace(NC,""),TC=/^[ \t]*[^\n→]{1,60}(?:[ \t]*→[ \t]*[^\n→]{1,60})+[ \t]*\n+/;function D9(e){if(typeof e!="string")return e;let t=e.match(TC)?.[0];return!t||/[.!?。!?::,,]/.test(t.replace(/[^\S\n]*\n+$/,"").replace(/→/g,""))?e:e.slice(t.length).replace(/^\s+/,"")}function Cp(e,t,n){if(t===void 0||n===void 0)return;let a=e.remoteTypedTurns?.[t]?.[n];return typeof a=="string"&&a?a:void 0}function Ap(e,t,n){return t===void 0||n===void 0?!1:(e.exchangeTurns[t]??[]).includes(n)}var VC=new Set(["request","reply","stopped"]),Mp=e=>{let t=e?.source;return t===null||typeof t!="object"||t.kind!=="bot"||t.handoff===!0||t.deferred===!0||t.resumed===!0||t.retried===!0?!1:VC.has(t.role)&&typeof t.senderSessionId=="string"},qC=e=>(e?.blocks??[]).some(t=>t===void 0||t.kind==="tool-call"?!1:t.kind==="text"||t.kind==="reasoning"?String(t.text??"").trim()!=="":!0),IC=e=>(e?.blocks??[]).some(t=>t?.kind==="reasoning"&&String(t.text??"").trim()!==""),$p=(e,t)=>t===void 0||(IC(e)?t==="reasoning":t==="response");function Lp(e,t,n){let a=t.findIndex(r=>r?.step===n?.step);if(a===-1)return[];let i=-1/0;for(let r=a-1;r>=0;r-=1)if(qC(t[r])){i=t[r].time;break}return(e??[]).filter(r=>Mp(r)&&typeof r.time=="number"&&r.time>=i&&r.time<n.time)}function Sp(e,t,n){let a=Array.isArray(e?.heldReplies)?e.heldReplies:[],i;for(let r of a)r.sessionId===t&&String(r.turn)===String(n)&&(i=r);return i}var Ep=(e,t)=>(Array.isArray(e?.heldReplies)?e.heldReplies:[]).filter(n=>n.sessionId===t&&n.status!=="approved"&&n.status!=="auto").map(n=>n.turn);function X7(e,t,n=[],a=[],i=[]){let r=e.projectionsBySession?.[t]?.values?.turnOutline??e.byId[t]?.projectionValues?.turnOutline;if(!Array.isArray(r))return"";for(let s=r.length-1;s>=0;s-=1){let c=r[s];if(n.includes(c.turn))continue;let o=(a.includes(c.turn)?"":c.response)||c.prompt||"";if(o!=="")return BC(o,i)}return""}function BC(e,t=[]){return RC(PC(e),t)}function PC(e){return W7(D9(zp("".concat(e))).replace(/\s+/g," ").trim())}function RC(e,t){let n=[...new Set((Array.isArray(t)?t:[]).map(o=>String(o??"").trim()).filter(o=>o!==""))].sort((o,l)=>l.length-o.length);if(n.length===0||e==="")return e;let a=n.map(o=>o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),i="(?:".concat(a,")(?=[ \\t\u2192,\uFF0C.\u3002:\uFF1A]|$)"),s=new RegExp("^".concat(i,"(?:[ \\t]*\u2192[ \\t]*").concat(i,")+[ \\t]*(?:[,\uFF0C.\u3002:\uFF1A][ \\t]*)?(?:\\d{1,2}:\\d{2}Z?[ \\t]*)?")).exec(e);if(!s)return e;let c=e.slice(s[0].length);return/^[\s,,.。::]*$/.test(c)?"":c}var K7=e=>[...e?.bots??[],...e?.remoteBots??[],...e?.agents??[]].map(t=>t?.name).filter(t=>typeof t=="string"&&t!=="");function G9(e){let t=String(e??""),n=t.match(/^Face-to-face · (.+) · (\d{6})$/);return n?"".concat(n[2]," \xB7 ").concat(n[1]):t.match(/^Face-to-face · (\d{6})$/)?.[1]??t}function Zp(e,t){let n=e.model??e.appliedModel;if(!n)return;let a=(t.models??[]).find(s=>s.ref===n),[i,...r]=n.split("/");return{ref:n,name:a?.name??r.join("/"),provider:a?.providerName??i,served:a!==void 0}}function Fp(e,t,n){return t?"".concat(e," \xB7 ").concat(t):n?void 0:e}function jp(e,t){return(e??[]).filter(n=>t?.[n.id]?.origin!=="face-to-face")}var O9=(e,t)=>t!==void 0&&(e.mainBotIds??[]).includes(t);function Y7(e,t){if(t==null||t==="")return;let a=(e?.bots??[]).find(i=>i&&!i.remote&&(i.id===t||i.sessionId===t||(i.parts??[]).includes(t)));return a||e?.byId?.[t]}var Np=["idle","thinking","searching","working","sending","orbit","alert","done"],Tp=(e,t,n)=>e?Np.includes(t)?t:"working":n?"alert":"idle",W9=e=>/^(message_bot|stop_bot|create_bot|update_bot|create_group|update_group|delete_group|post_to_group)$/.test(e)?"sending":/search|fetch|browse|read|grep|glob|list|recall/i.test(e)?"searching":"working";function GC(e,t){(0,M1.useEffect)(()=>{if(!t)return;let n=0,a=null,i=()=>{n=0;let c=e.current;if(!c||!a)return;let o=c.getBoundingClientRect(),l=p=>Math.max(-1,Math.min(1,p));c.style.setProperty("--bt-gx",l((a.x-o.left-o.width/2)/160).toFixed(2)),c.style.setProperty("--bt-gy",l((a.y-o.top-o.height/2)/160).toFixed(2))},r=c=>{a={x:c.clientX,y:c.clientY},n||(n=requestAnimationFrame(i))},s=()=>{a=null,e.current?.style.setProperty("--bt-gx","0"),e.current?.style.setProperty("--bt-gy","0")};return window.addEventListener("pointermove",r,{passive:!0}),document.documentElement.addEventListener("pointerleave",s),()=>{cancelAnimationFrame(n),window.removeEventListener("pointermove",r),document.documentElement.removeEventListener("pointerleave",s)}},[t])}var Hp=["hop","sway","stretch","look"];function n2({bot:e,look:t,size:n=36,state:a="idle",live:i=!1,gaze:r=!1,pokeable:s=!1,label:c}){let o=t??(e?.remote?I9(e):x4(e)),l=(0,M1.useRef)(null),p=(0,M1.useRef)("");p.current===""&&(p.current="bt-mark-".concat(mp()));let[u,m]=(0,M1.useState)(!1);GC(l,r);let d={ref:l,className:u?"bt-mark bt-mark-poke":"bt-mark","data-shape":o.image?"image":o.emoji?"emoji":S5(o.shape),"data-state":Np.includes(a)?a:"idle","data-live":i?"":void 0,"data-fidget":i?Hp[ht("".concat(e?.id??"",":fidget"))%Hp.length]:void 0,"data-gaze":r?"":void 0,"data-poke":s?"":void 0,style:{width:n,height:n,...i?{"--bt-delay":"".concat(-(ht(String(e?.id??""))%5e3)/1e3,"s"),"--bt-fidget-delay":"".concat(-(ht("".concat(e?.id??"",":when"))%9e3)/1e3,"s")}:{}},role:c?"img":void 0,"aria-label":c,"aria-hidden":c?void 0:!0,onClick:s?()=>m(!0):void 0,onAnimationEnd:u?w=>{/^bt-poke/.test(w.animationName)&&m(!1)}:void 0};if(o.image)return(0,M1.createElement)("span",d,(0,M1.createElement)("img",{className:"bt-mark-img",src:o.image,alt:"",draggable:!1}));if(o.emoji)return(0,M1.createElement)("span",d,(0,M1.createElement)("span",{className:"bt-mark-emoji",style:{fontSize:Math.max(12,Math.round(n*.62)),lineHeight:1}},o.emoji));let f=O7(o.shape).size;return(0,M1.createElement)("span",d,(0,M1.createElement)("svg",{viewBox:"0 0 ".concat(f," ").concat(f),dangerouslySetInnerHTML:{__html:dp(o.shape,o.color).replaceAll(dt,p.current)}}))}function OC({size:e=8}){return(0,M1.createElement)("svg",{width:e,height:e,viewBox:"0 0 10 10","aria-hidden":!0},(0,M1.createElement)("path",{d:"M5 .6l1.3 2.8 3 .3-2.3 2 .7 3L5 7.2 2.3 8.7l.7-3L.7 3.7l3-.3z",fill:"#fff"}))}var WC=e=>(Array.from(String(e??"").trim())[0]??"").toUpperCase(),UC=e=>T9("person:".concat(String(e??"").trim().toLowerCase()));function J7({size:e=22,name:t}){let n=WC(t);return n?(0,M1.createElement)("span",{className:"bt-person-mark bt-person-initial","data-initial":n,style:{width:e,height:e,background:R7(UC(t)),fontSize:Math.max(9,Math.round(e*.46))},"aria-hidden":!0},n):(0,M1.createElement)("span",{className:"bt-person-mark",style:{width:e,height:e},"aria-hidden":!0},(0,M1.createElement)("svg",{width:e*.64,height:e*.64,viewBox:"0 0 24 24",fill:"currentColor"},(0,M1.createElement)("circle",{cx:12,cy:8.5,r:4.2}),(0,M1.createElement)("path",{d:"M3.5 21c0-4.7 3.8-7.6 8.5-7.6s8.5 2.9 8.5 7.6z"})))}function XC(){return(0,M1.createElement)("svg",{viewBox:"0 0 20 20","aria-hidden":!0},(0,M1.createElement)("path",{d:"M10 2.4l2.29 5.04 5.51.63-4.09 3.74 1.11 5.42L10 14.5l-4.82 2.73 1.11-5.42L2.2 8.07l5.51-.63z"}))}function KC(e){let t=(0,M1.useRef)(e),[n,a]=(0,M1.useState)(!1);return(0,M1.useEffect)(()=>{let i=t.current;if(t.current=e,e!=="idle"){a(!1);return}if(i==="idle"||i==="alert")return;a(!0);let r=setTimeout(()=>a(!1),1800);return()=>clearTimeout(r)},[e]),n}function bt({bot:e,size:t,state:n="idle",main:a,admin:i,badge:r=!0,live:s=!0,gaze:c=!1,pokeable:o=!1}){let l=KC(n);if(e===void 0)return(0,M1.createElement)(n2,{size:t});let p=r?n==="alert"?"alert":n!=="idle"?"working":i?"admin":a?"main":null:null;return(0,M1.createElement)("span",{className:"bt-mark",style:{width:t,height:t,"--bt-size":"".concat(t,"px")}},(0,M1.createElement)(n2,{bot:e,size:t,state:l?"done":n,live:s,gaze:c,pokeable:o}),p==="working"?(0,M1.createElement)("span",{className:"bt-badge bt-badge-working","aria-label":N("Working"),role:"img"}):null,p==="alert"?(0,M1.createElement)("span",{className:"bt-badge bt-badge-alert","aria-label":N("Waiting for your answer"),role:"img"},"?"):null,p==="admin"?(0,M1.createElement)("span",{className:"bt-badge bt-badge-admin","aria-label":N("Admin"),role:"img"},(0,M1.createElement)(OC)):null,p==="main"?(0,M1.createElement)("span",{className:"bt-badge bt-badge-main","aria-label":N("Main Bot"),role:"img"},(0,M1.createElement)(XC)):null)}function YC(e,t){if(e===1)return[[0,0,t]];if(e===2)return[[0,0,t*2/3],[t/3,t/3,t*2/3]];if(e===3){let a=t*5/9,i=t-a;return[[i/2,0,a],[0,i,a],[i,i,a]]}let n=t/2;return[[0,0,n],[n,0,n],[0,n,n],[n,n,n]]}function JC(e,t){let n=(e?.members??[]).map(r=>Y7(t,r)).filter(Boolean),a=new Set(n.map(r=>r.id)),i=[];for(let r of e?.participants??[]){if(r.leftSeq!==void 0||r.kind==="human"||!r.remote&&r.id&&a.has(r.id))continue;let s=!r.remote&&r.id?Y7(t,r.id):void 0;if(s){a.has(s.id)||(n.push(s),a.add(s.id));continue}let c=r.handle||(r.remote?r.id:"");if(!c||n.some(l=>l.remote?.handle===c||l.handle===c))continue;let o="h:".concat(c);a.has(o)||(a.add(o),i.push(G7({handle:c,displayName:r.displayName,name:r.displayName,label:r.label,color:r.color,avatar:r.avatar},t)))}return e?.origin!=="face-to-face"&&n.length===1&&i.length===0?[n[0],null]:[...n,...i]}function E5({room:e,roster:t,size:n=36}){let a=hp(JC(e,t)),i=(l,p,u)=>l?(0,M1.createElement)(n2,{key:u,bot:l,size:p}):(0,M1.createElement)("span",{key:u,className:"bt-cluster-you",style:{width:p*.92,height:p*.92,margin:p*.04}});if(a.length===0)return(0,M1.createElement)(n2,{size:n});if(n<=20&&a.length>1)return(0,M1.createElement)("span",{className:"bt-stack",style:{"--bt-stack-size":"".concat(n,"px")}},a.slice(0,3).map((l,p)=>i(l,n,l?.id??"you-".concat(p))),a.length>3?(0,M1.createElement)("span",{className:"bt-stack-more"},"+".concat(a.length-3)):null);let r=YC(Math.min(a.length,4),n),s=a.length>4?a.length-3:0,c=n/14,o=r.map(([l,p,u])=>({cx:l+u/2,cy:p+u/2,r:u*.48+c}));return(0,M1.createElement)("span",{className:"bt-cluster",style:{width:n,height:n}},r.map(([l,p,u],m)=>{let d=o.slice(m+1).filter(x=>Math.hypot(x.cx-l-u/2,x.cy-p-u/2)<x.r+u*.46).map(x=>"radial-gradient(circle at ".concat(x.cx-l,"px ").concat(x.cy-p,"px,transparent ").concat(x.r,"px,#000 ").concat(x.r+.5,"px)")),f={left:l,top:p,width:u,height:u};if(d.length>0&&Object.assign(f,{WebkitMaskImage:d.join(","),maskImage:d.join(","),WebkitMaskComposite:"source-in",maskComposite:"intersect"}),s>0&&m===3)return(0,M1.createElement)("span",{key:"more",className:"bt-cluster-more",style:{...f,width:u*.92,height:u*.92,margin:u*.04,fontSize:Math.max(8,Math.round(u*.36))}},"+".concat(s));let w=a[m];return(0,M1.createElement)("span",{key:w?.id??"you",style:f},i(w,u))}))}var Vp=new Map,QC=new Set;var eA=()=>{for(let e of[...QC])e()};function Z5(e,t){!Array.isArray(t)||t.length===0?Vp.delete(e):Vp.set(e,new Set(t.map(String))),eA()}var qp=Object.freeze(["pending","pending_approval"]);function F5(e){return qp.includes(e)}var tA=[/no such remote bot/i,/is not shared with your Bots/i,/is no longer shared with you/i,/has not granted chat\.public/i,/bot_not_shared/i,/bot_not_found/i],U9=e=>{if(!e)return!0;if(e.retry===!1||e.noRetry===!0)return!1;let t="".concat(e.error??""," ").concat(e.code??"");return!tA.some(n=>n.test(t))};var Q7=e=>e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB");var L1=X1(l0(),1);var Q2=X1(l0(),1);var cD=10*6e4;function Ip({size:e=16}){return(0,Q2.createElement)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round","aria-hidden":!0},(0,Q2.createElement)("rect",{x:7,y:2.5,width:6,height:10,rx:3,fill:"currentColor",stroke:"none"}),(0,Q2.createElement)("path",{d:"M4.5 9.5a5.5 5.5 0 0 0 11 0M10 15v2.5"}))}function H5(){return(0,Q2.createElement)("svg",{width:16,height:16,viewBox:"0 0 20 20","aria-hidden":!0},(0,Q2.createElement)("path",{d:"M5 5l10 10M15 5L5 15",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round"}))}var O1=e=>function(){return(0,Q2.createElement)("svg",{width:15,height:15,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.map((n,a)=>(0,Q2.createElement)("path",{key:a,d:n})))};var Bp=O1(["M10 3.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z","M7.3 11.6a3.4 3.4 0 0 0 5.4 0","M7.75 8.25h.01M12.25 8.25h.01"]),Pp=O1(["M8 5L4 9l4 4","M4 9h7.5a4.5 4.5 0 0 1 4.5 4.5V15"]),Rp=O1(["M5 10h.01M10 10h.01M15 10h.01"]),N5=O1(["M4.5 10.5l3.5 3.5 7.5-8"]),vD=O1(["M10 4v12","M5 11l5 5 5-5"]),Dp=O1(["M10 3.5v9","M6.5 9.5L10 13l3.5-3.5","M4 16h12"]),aA=O1(["M3.5 13.5a6.5 6.5 0 1 1 13 0","M10 13.5l3-4","M10 13.5h.01"]),iA=O1(["M7 3v4M13 3v4","M5 7h10v2.5a5 5 0 0 1-10 0z","M10 14.5V17"]),yD=O1(["M5.5 5h9A1.5 1.5 0 0 1 16 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 4 14.5v-8A1.5 1.5 0 0 1 5.5 5z","M4 8.75h12","M7.25 3.5v3M12.75 3.5v3"]),_D=O1(["M4.5 4h4v3.5h-4z","M11.5 12.5h4V16h-4z","M6.5 7.5v3.5a2 2 0 0 0 2 2h3"]),rA=O1(["M7 10a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z","M18 10a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z","M7 10h6"]),sA=O1(["M4 7h9.5M10.5 3.5L14 7l-3.5 3.5","M16 13H6.5M9.5 9.5L6 13l3.5 3.5"]),Gp=O1(["M15.5 9.5l-5.6 5.6a3.4 3.4 0 0 1-4.8-4.8l6.1-6.1a2.25 2.25 0 0 1 3.2 3.2l-6 6a1.1 1.1 0 0 1-1.6-1.6l5.5-5.5"]),Op=O1(["M10 3.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z","M10 6.5V10l2.5 1.5"]),Wp=O1(["M10 7.4a2.6 2.6 0 1 1 0 5.2 2.6 2.6 0 0 1 0-5.2z","M7.85 4.4l.29-1.87a7.7 7.7 0 0 1 3.72 0l.29 1.87a6 6 0 0 1 1.63.94l1.76-.69a7.7 7.7 0 0 1 1.86 3.23l-1.47 1.18a6 6 0 0 1 0 1.88l1.47 1.18a7.7 7.7 0 0 1-1.86 3.23l-1.76-.69a6 6 0 0 1-1.63.94l-.29 1.87a7.7 7.7 0 0 1-3.72 0l-.29-1.87a6 6 0 0 1-1.63-.94l-1.76.69a7.7 7.7 0 0 1-1.86-3.23l1.47-1.18a6 6 0 0 1 0-1.88L2.6 7.88a7.7 7.7 0 0 1 1.86-3.23l1.76.69a6 6 0 0 1 1.63-.94z"]),wD=O1(["M12.5 3l4.5 4.5-3 1.5-2.5 2.5.5 3.5-1.5 1.5L7 13 3.5 16.5","M7 13l-3.5-3.5L5 8l3.5.5L11 6l1.5-3"]);function Up(){return(0,Q2.createElement)("svg",{width:12,height:12,viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":!0},(0,Q2.createElement)("g",{transform:"rotate(45 10 10)"},(0,Q2.createElement)("path",{d:"M8 2.5h4a.9.9 0 0 1 0 1.8h-.4v4.1c0 1.4 1.1 2.6 2.6 3.1l.7.3v1.5H5.1v-1.5l.7-.3c1.5-.5 2.6-1.7 2.6-3.1V4.3H8a.9.9 0 0 1 0-1.8z"}),(0,Q2.createElement)("path",{d:"M9.35 13.3h1.3v3.6L10 18l-.65-1.1z"})))}var xD=O1(["M10 3.5a4.5 4.5 0 0 0-4.5 4.5v3L4 13.5h12L14.5 11V8","M8.3 16a1.8 1.8 0 0 0 3.4 0","M15.5 3.2a1.6 1.6 0 1 1 0 3.2 1.6 1.6 0 0 1 0-3.2z"]),kD=O1(["M9 4H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3","M14.3 3.7a1.6 1.6 0 0 1 2.3 2.3L10.5 12l-3 .8.8-3z"]),zD=O1(["M10 3.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z","M10 9.25v4","M10 6.6h.01"]),CD=O1(["M10 3l2.1 4.3 4.7.7-3.4 3.3.8 4.7L10 13.8 5.8 16l.8-4.7L3.2 8l4.7-.7z"]),Xp=O1(["M8.5 7h6A1.5 1.5 0 0 1 16 8.5v6a1.5 1.5 0 0 1-1.5 1.5h-6A1.5 1.5 0 0 1 7 14.5v-6A1.5 1.5 0 0 1 8.5 7z","M4 12.5V5.5A1.5 1.5 0 0 1 5.5 4H13"]),AD=O1(["M3 3l14 14","M8.6 5.2A7.6 7.6 0 0 1 10 5c4.5 0 7 5 7 5a12.6 12.6 0 0 1-2 2.6M12.2 14.5A6.8 6.8 0 0 1 10 15c-4.5 0-7-5-7-5a12.4 12.4 0 0 1 3-3.4","M8.5 8.5a2 2 0 0 0 3 3"]),cA=O1(["M3.5 5.5h13","M8 5.5V4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v1.5","M5 5.5l.7 10A1.5 1.5 0 0 0 7.2 17h5.6a1.5 1.5 0 0 0 1.5-1.5l.7-10","M8.5 9v4.5M11.5 9v4.5"]),MD=O1(["M7 7h8.5v9.5H7z","M4.5 13V3.5H13","M11.25 9.5v4.5M9 11.75h4.5"]),$D=O1(["M8.5 11.5a3.5 3.5 0 0 0 5 0l2.5-2.5a3.5 3.5 0 0 0-5-5l-1 1","M11.5 8.5a3.5 3.5 0 0 0-5 0L4 11a3.5 3.5 0 0 0 5 5l1-1"]),LD=O1(["M4 6.5h5M12.5 6.5H16M4 13.5h4M11.5 13.5H16","M10.5 4.5v4M9.5 11.5v4"]),oA=O1(["M5.5 3.5h8A1.5 1.5 0 0 1 15 5v10a1.5 1.5 0 0 1-1.5 1.5h-8z","M5.5 3.5v13","M8.5 7.5h3.5M8.5 10.5h2.5","M12 3.5v4l1-.8 1 .8"]),SD=O1(["M3 6A1.5 1.5 0 0 1 4.5 4.5h3.2l1.8 2h6A1.5 1.5 0 0 1 17 8v6.5a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 3 14.5z"]),ED=O1(["M4 5.5A1.5 1.5 0 0 1 5.5 4h9A1.5 1.5 0 0 1 16 5.5v6a1.5 1.5 0 0 1-1.5 1.5H9l-3.5 3v-3A1.5 1.5 0 0 1 4 11.5z"]),ZD=O1(["M6 7.5h8a2 2 0 0 1 2 2V14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9.5a2 2 0 0 1 2-2z","M10 4.5v3","M10 3.5h.01","M7.75 11.5h.01M12.25 11.5h.01"]),FD=O1(["M4.5 4.5h11a1.5 1.5 0 0 1 1.5 1.5v8a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 3 14V6a1.5 1.5 0 0 1 1.5-1.5z","M6.5 8.25L8.75 10 6.5 11.75","M10.5 12h3"]),lA=O1(["M3.5 5.5A1.5 1.5 0 0 1 5 4h7a1.5 1.5 0 0 1 1.5 1.5V10A1.5 1.5 0 0 1 12 11.5H8L5 14v-2.5A1.5 1.5 0 0 1 3.5 10z","M13.5 7.5H15A1.5 1.5 0 0 1 16.5 9v4.5A1.5 1.5 0 0 1 15 15v2l-2.5-2h-3A1.5 1.5 0 0 1 8 13.5V13"]);var X9=e=>String.fromCharCode(65+e),uA=e=>(e?.options??[]).map(t=>typeof t=="string"?{label:t}:t),Kp=e=>e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLElement&&e.isContentEditable;function mA(e,t,n){let a=(0,L1.useRef)(t);a.current=t,(0,L1.useEffect)(()=>{if(e===0)return;let i=r=>{if(r.defaultPrevented||r.metaKey||r.ctrlKey||r.altKey||r.shiftKey||r.key.length!==1||Kp(r.target)||Kp(document.activeElement)||document.querySelector('[role="dialog"], [aria-modal="true"]')!==null)return;let s=r.key.toUpperCase().charCodeAt(0)-65;s>=0&&s<e?(r.preventDefault(),a.current(s)):s===e&&n.current&&(r.preventDefault(),n.current.focus())};return document.addEventListener("keydown",i,!0),()=>document.removeEventListener("keydown",i,!0)},[e,n])}function dA({question:e,onAnswer:t,onDismiss:n,ownAnswer:a=!1,raised:i=!1}){let[r,s]=(0,L1.useState)(""),[c,o]=(0,L1.useState)([]),l=(0,L1.useRef)(null),p=(0,L1.useId)(),u=uA(e),m=e.multiSelect===!0,d=r.trim(),f=m&&c.length>0||d!=="",w=$=>{if(m){o(C=>C.includes($)?C.filter(j=>j!==$):[...C,$]);return}t({selected:[$]})},x=()=>{f&&t({selected:m?c:[],...d?{custom:d}:{}})};mA(u.length,$=>w(u[$].label),l);let v=u.length>0?X9(u.length):void 0,b=a?(0,L1.createElement)("textarea",{ref:l,rows:1,value:r,autoComplete:"off",spellCheck:!1,className:"bt-q-input","aria-label":N("Your own answer"),placeholder:N("Type your own answer"),"aria-keyshortcuts":v?.toLowerCase(),onChange:$=>s($.target.value),onKeyDown:$=>{$.key!=="Enter"||$.shiftKey||$.nativeEvent.isComposing||($.preventDefault(),x())}}):null,_=u.map(($,C)=>{let j=m&&c.includes($.label);return(0,L1.createElement)("button",{key:$.label,type:"button",className:"bt-q-opt","aria-pressed":m?j:void 0,"aria-keyshortcuts":X9(C).toLowerCase(),onClick:()=>w($.label)},(0,L1.createElement)("span",{className:"bt-key","aria-hidden":!0},X9(C)),(0,L1.createElement)("span",{className:"bt-q-body"},(0,L1.createElement)("span",{className:"bt-q-label"},$.label),$.description?(0,L1.createElement)("span",{className:"bt-q-desc"},$.description):null),j&&!i?(0,L1.createElement)("span",{className:"bt-q-check",title:N("Selected")},(0,L1.createElement)(N5)):null)});i&&b&&_.push((0,L1.createElement)("label",{key:"own",className:"bt-q-opt bt-q-ownrow","data-filled":d!==""?"":void 0},v?(0,L1.createElement)("span",{className:"bt-key","aria-hidden":!0},v):null,(0,L1.createElement)("span",{className:"bt-q-body"},b)));let z=null;return i&&m?z=(0,L1.createElement)("div",{className:"bt-q-foot"},(0,L1.createElement)("button",{type:"button",className:"bt-q-btn",onClick:n},N("Skip")),(0,L1.createElement)("button",{type:"submit",className:"bt-q-submit",disabled:!f},N("Submit"))):(i||m)&&f&&(z=(0,L1.createElement)("div",{className:"bt-q-foot"},(0,L1.createElement)("button",{type:"submit",className:"bt-q-submit"},N("Submit")))),(0,L1.createElement)("form",{className:i?"bt-q bt-q-raised":"bt-q","aria-labelledby":p,onSubmit:$=>{$.preventDefault(),x()}},(0,L1.createElement)("div",{className:"bt-q-head"},(0,L1.createElement)("div",{className:"bt-q-text"},(0,L1.createElement)("p",{className:"bt-q-title",id:p},e.header?"".concat(e.header," \xB7 "):"",e.question),e.detail?(0,L1.createElement)("div",{className:"bt-q-detail"},e.detail):null,i&&m?(0,L1.createElement)("div",{className:"bt-q-detail"},N("Choose all that apply")):null),(0,L1.createElement)("button",{type:"button",className:"bt-q-x","aria-label":N("Dismiss question"),title:N("Dismiss"),onClick:n},(0,L1.createElement)(H5))),_.length>0?(0,L1.createElement)("div",{className:"bt-q-list",role:"group"},_):null,b&&!i?(0,L1.createElement)("div",{className:"bt-q-custom"},(0,L1.createElement)("label",{className:"bt-q-field"},b),!m&&f?(0,L1.createElement)("button",{type:"submit",className:"bt-q-submit"},N("Submit")):null):null,z)}function K9({sessionId:e,question:t,actions:n,inline:a}){let[i,r]=(0,L1.useState)(null);if(i===t.id)return null;let s=o=>{r(t.id),n.answerQuestion(e,t.id,{selected:o.selected??[],custom:o.custom??""}).catch(()=>r(null))},c=()=>{r(t.id),n.dismissQuestion(e)};return(0,L1.createElement)("div",{className:a?"bt-q-inline":"bt-q-dock"},(0,L1.createElement)(dA,{key:t.id,question:t,onAnswer:s,onDismiss:c,ownAnswer:t.allowCustom===!0,raised:!a}))}var r0=X1(l0(),1);var c1=X1(l0(),1),hl=X1(J3(),1);var Z=X1(_h(),1);function wh(e){var t,n,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=wh(e[t]))&&(a&&(a+=" "),a+=n)}else for(n in e)e[n]&&(a&&(a+=" "),a+=n);return a}function w$(){for(var e,t,n=0,a="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=wh(e))&&(a&&(a+=" "),a+=t);return a}var C0=w$;var P=X1(l0(),1);var Q3={root:"Ei",content:"Ni",text:"be",decoration:"ze",sweep:"u","dsh-row-shimmer-sweep":"we",highlight:"E","dsh-row-shimmer-highlight":"ke"};var c3={root:"Ai",header:"N",row:"l",leading:"A",iconIdle:"ve",chevronHover:"ye",title:"Yi"};var $6={button:"je",md:"Ii",sm:"Ri",primary:"Xe",ghost:"Te",outline:"Ke",toolbar:"_e",icon:"Bi"};var w8={wrap:"Fe",icon:"Qi",input:"Ee"};var A7=X1(J3(),1);var Ot={keys:"Ui",key:"I",tooltip:"Ae",separator:"Vi",joined:"Ye"};var Wt={surface:"R",backing:"B",compact:"Wi",material:"Zi"};var He={root:"pa",card:"xa",copyable:"Ge",feedback:"fa",copied:"ca",status:"ma",preview:"K",inline:"ga",media:"ha"};var I1='<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>',B1='';var xh={title:"AliExpress",slug:"aliexpress",get svg(){return I1+"AliExpress"+B1+this.path+P1},path:"M5.166 9.096a.022.022 0 0 0-.022.021c0 .396-.32.717-.713.717a.021.021 0 0 0-.021.022c0 .012.01.021.021.021.394 0 .713.322.713.718 0 .012.01.021.022.021.011 0 .021-.01.021-.021A.717.717 0 0 1 5.9 9.88a.021.021 0 0 0 0-.043.716.716 0 0 1-.713-.718v-.002a.021.021 0 0 0-.006-.015.022.022 0 0 0-.015-.006zm-3.693.526L0 13.462h.48l.355-.922h1.782l.354.922h.481L1.98 9.622zm2.264.002v3.838h.491V9.624zm2.375 0v3.838h2.413v-.502H6.613v-1.19H8.19v-.477H6.613v-1.166h1.773v-.502zm-4.386.592l.698 1.82H1.028zm14.689.402a1.466 1.466 0 0 0-.966.366V10.7h-.491v2.763h.49c.002-.477 0-.955.002-1.433a.969.969 0 0 1 .965-.918zm4.18.007c-.053 0-.105.003-.158.01-.315.031-.606.175-.753.377a.689.689 0 0 0-.14.465c.007.2.066.357.233.496.184.147.42.2.657.259.311.067.426.095.546.186.08.07.133.127.136.27 0 .25-.221.372-.42.41a.89.89 0 0 1-.894-.344l-.371.288c.33.382.777.505 1.09.5.54-.01.891-.217 1.029-.534.066-.153.063-.309.063-.38a.677.677 0 0 0-.267-.545c-.228-.177-.583-.228-.636-.242-.437-.078-.658-.196-.697-.341-.043-.192.102-.35.297-.411a.76.76 0 0 1 .857.277l.367-.247a1.166 1.166 0 0 0-.939-.494zm2.387 0c-.052 0-.105.003-.157.01-.316.031-.607.175-.753.377a.689.689 0 0 0-.14.465c.006.2.065.357.233.496.183.147.42.2.657.259.31.067.426.095.545.186.081.07.134.127.136.27.001.25-.221.372-.42.41a.89.89 0 0 1-.894-.344l-.371.288c.33.382.777.505 1.09.5.541-.01.891-.217 1.03-.534.065-.153.062-.309.062-.38a.677.677 0 0 0-.267-.545c-.227-.177-.583-.228-.636-.242-.437-.078-.658-.196-.696-.341-.043-.192.101-.35.297-.411a.76.76 0 0 1 .857.277l.367-.247a1.167 1.167 0 0 0-.94-.494zm-9.84.002a1.461 1.461 0 0 0-1.42 1.117 1.305 1.305 0 0 0-.041.327v2.833h.491v-1.813c.17.18.487.42.96.454a1.447 1.447 0 0 0 1.208-.627 1.457 1.457 0 0 0-1.199-2.292zm4.804 0a1.448 1.448 0 0 0-1.288 2.08c.255.53.811.87 1.412.833a1.452 1.452 0 0 0 1.012-.51l-.363-.291a.968.968 0 0 1-1.106.273 1.01 1.01 0 0 1-.602-.69h2.239l.002-.427a1.295 1.295 0 0 0-1.306-1.268zm-9.2.08l1.062 1.377-1.062 1.378h.581l.779-1.01.778 1.01h.581l-1.062-1.378 1.062-1.378h-.581l-.778 1.01-.779-1.01zm-3.825.015v2.74h.49v-2.74zm8.233.37a.96.96 0 0 1 .95.993.963.963 0 0 1-.863.998.962.962 0 0 1-1.034-.739c-.074-.382 0-.746.307-1.019a.959.959 0 0 1 .64-.233zm4.79.015a.823.823 0 0 1 .819.755h-1.76a.964.964 0 0 1 .94-.755z",source:"https://www.alibabagroup.com/en/ir/reports",hex:"FF4747"};var kh={title:"Apple",slug:"apple",get svg(){return I1+"Apple"+B1+this.path+P1},path:"M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701",source:"https://www.apple.com",hex:"000000"};var zh={title:"Baidu",slug:"baidu",get svg(){return I1+"Baidu"+B1+this.path+P1},path:"M9.154 0C7.71 0 6.54 1.658 6.54 3.707c0 2.051 1.171 3.71 2.615 3.71 1.446 0 2.614-1.659 2.614-3.71C11.768 1.658 10.6 0 9.154 0zm7.025.594C14.86.58 13.347 2.589 13.2 3.927c-.187 1.745.25 3.487 2.179 3.735 1.933.25 3.175-1.806 3.422-3.364.252-1.555-.995-3.364-2.362-3.674a1.218 1.218 0 0 0-.261-.03zM3.582 5.535a2.811 2.811 0 0 0-.156.008c-2.118.19-2.428 3.24-2.428 3.24-.287 1.41.686 4.425 3.297 3.864 2.617-.561 2.262-3.68 2.183-4.362-.125-1.018-1.292-2.773-2.896-2.75zm16.534 1.753c-2.308 0-2.617 2.119-2.617 3.616 0 1.43.121 3.425 2.988 3.362 2.867-.063 2.553-3.238 2.553-3.988 0-.745-.62-2.99-2.924-2.99zm-8.264 2.478c-1.424.014-2.708.925-3.323 1.947-1.118 1.868-2.863 3.05-3.112 3.363-.25.309-3.61 2.116-2.864 5.42.746 3.301 3.365 3.237 3.365 3.237s1.93.19 4.171-.31c2.24-.495 4.17.123 4.17.123s5.233 1.748 6.665-1.616c1.43-3.364-.808-5.109-.808-5.109s-2.99-2.306-4.736-4.798c-1.072-1.665-2.348-2.268-3.528-2.257zm-2.234 3.84l1.542.024v8.197H7.758c-1.47-.291-2.055-1.292-2.13-1.462-.072-.173-.488-.976-.268-2.343.635-2.049 2.447-2.196 2.447-2.196h1.81zm3.964 2.39v3.881c.096.413.612.488.612.488h1.614v-4.343h1.689v5.782h-3.915c-1.517-.39-1.59-1.465-1.59-1.465v-4.317zm-5.458 1.147c-.66.197-.978.708-1.05.928-.076.22-.247.78-.1 1.269.294 1.095 1.248 1.144 1.248 1.144h1.37v-3.34z",source:"https://www.baidu.com",hex:"2932E1"};var Ch={title:"Bilibili",slug:"bilibili",get svg(){return I1+"Bilibili"+B1+this.path+P1},path:"M17.813 4.653h.854c1.51.054 2.769.578 3.773 1.574 1.004.995 1.524 2.249 1.56 3.76v7.36c-.036 1.51-.556 2.769-1.56 3.773s-2.262 1.524-3.773 1.56H5.333c-1.51-.036-2.769-.556-3.773-1.56S.036 18.858 0 17.347v-7.36c.036-1.511.556-2.765 1.56-3.76 1.004-.996 2.262-1.52 3.773-1.574h.774l-1.174-1.12a1.234 1.234 0 0 1-.373-.906c0-.356.124-.658.373-.907l.027-.027c.267-.249.573-.373.92-.373.347 0 .653.124.92.373L9.653 4.44c.071.071.134.142.187.213h4.267a.836.836 0 0 1 .16-.213l2.853-2.747c.267-.249.573-.373.92-.373.347 0 .662.151.929.4.267.249.391.551.391.907 0 .355-.124.657-.373.906zM5.333 7.24c-.746.018-1.373.276-1.88.773-.506.498-.769 1.13-.786 1.894v7.52c.017.764.28 1.395.786 1.893.507.498 1.134.756 1.88.773h13.334c.746-.017 1.373-.275 1.88-.773.506-.498.769-1.129.786-1.893v-7.52c-.017-.765-.28-1.396-.786-1.894-.507-.497-1.134-.755-1.88-.773zM8 11.107c.373 0 .684.124.933.373.25.249.383.569.4.96v1.173c-.017.391-.15.711-.4.96-.249.25-.56.374-.933.374s-.684-.125-.933-.374c-.25-.249-.383-.569-.4-.96V12.44c0-.373.129-.689.386-.947.258-.257.574-.386.947-.386zm8 0c.373 0 .684.124.933.373.25.249.383.569.4.96v1.173c-.017.391-.15.711-.4.96-.249.25-.56.374-.933.374s-.684-.125-.933-.374c-.25-.249-.383-.569-.4-.96V12.44c.017-.391.15-.711.4-.96.249-.249.56-.373.933-.373Z",source:"https://www.bilibili.com",hex:"00A1D6"};var Ah={title:"CSDN",slug:"csdn",get svg(){return I1+"CSDN"+B1+this.path+P1},path:"M4.693 13.638c-.497.568-1.363.63-1.712.63-.648 0-1.144-.164-1.474-.488-.313-.307-.478-.76-.489-1.346-.025-1.358.744-2.762 2.074-2.762.635 0 1.124.455 1.311.644a.337.337 0 0 0 .282.099.38.38 0 0 0 .241-.159c.068-.087.135-.237.138-.401s-.057-.344-.243-.49a2.642 2.642 0 0 0-1.668-.591c-.819 0-1.627.376-2.218 1.033-.621.691-.953 1.63-.935 2.646.015.815.282 1.5.773 1.982.528.518 1.3.791 2.235.791 1.097 0 1.776-.325 2.154-.597a.584.584 0 0 0 .24-.456.702.702 0 0 0-.208-.497c-.23-.248-.448-.101-.503-.037ZM9.663 11.488a7.471 7.471 0 0 0-.698-.248c-.157-.048-.309-.091-.45-.131-.922-.26-1.027-.5-1.017-.68.022-.363.515-.853 1.352-.792.607.045 1.015.509 1.205.781.149.214.371.135.434.095a.602.602 0 0 0 .309-.514.626.626 0 0 0-.209-.488 2.654 2.654 0 0 0-3.347-.273c-.456.323-.744.772-.77 1.202-.064 1.061 1.015 1.366 1.803 1.588.214.061.429.127.667.202 1.14.357 1.173.717 1.092 1.267-.082.556-.696.834-1.685.761-1.029-.076-1.464-.61-1.612-.901-.05-.098-.205-.248-.413-.156-.514.229-.473.731-.26.993.339.416 1.15 1.035 2.667 1.035 1.734 0 2.255-.875 2.378-1.64.092-.572-.022-1.028-.348-1.396-.236-.267-.592-.495-1.101-.706ZM16.44 9.323c-.598-.431-1.393-.61-2.36-.532-.712.058-1.274.243-1.335.263l-.006.002a.437.437 0 0 0-.297.379l-.47 5.201a.337.337 0 0 0 .247.35l.072.02.066.018.086.021a7.914 7.914 0 0 0 1.64.183c.972 0 1.765-.23 2.36-.684.764-.583 1.141-1.5 1.118-2.725-.021-1.135-.398-1.974-1.121-2.495Zm-.662 4.461c-.836.639-2.09.562-2.677.481a.128.128 0 0 1-.109-.137l.397-4.248a.113.113 0 0 1 .086-.1c.999-.241 1.777-.168 2.312.218.189.137.348.331.471.568.176.339.277.765.286 1.234.017.916-.24 1.583-.765 1.984ZM23.967 10.41a1.92 1.92 0 0 0-.432-.919c-.399-.465-1.029-.689-1.848-.689-.734 0-1.372.228-1.947.799.007-.086.019-.159.018-.223s-.017-.116-.066-.163c-.048-.045-.077-.067-.127-.077-.05-.01-.122-.008-.256-.006a.587.587 0 0 0-.589.54s-.325 3.874-.428 5.165a.308.308 0 0 0 .073.228.36.36 0 0 0 .26.131h.387a.224.224 0 0 0 .226-.205l.273-2.929.014-.147a1.902 1.902 0 0 1 .082-.412c.014-.045.03-.092.047-.14.245-.694.803-1.72 1.971-1.694.84.018 1.449.455 1.385 1.114-.101 1.034-.266 3.1-.358 4.14-.019.209.182.273.252.273h.304a.442.442 0 0 0 .444-.404s.185-2.127.294-3.352l.048-.532a1.959 1.959 0 0 0-.026-.5Z",source:"https://www.csdn.net/company/index.html",hex:"FC5531"};var Mh={title:"DuckDuckGo",slug:"duckduckgo",get svg(){return I1+"DuckDuckGo"+B1+this.path+P1},path:"M12 0C5.37 0 0 5.37 0 12s5.37 12 12 12 12-5.37 12-12S18.63 0 12 0zm0 .984C18.083.984 23.016 5.916 23.016 12S18.084 23.016 12 23.016.984 18.084.984 12C.984 5.917 5.916.984 12 .984zm0 .938C6.434 1.922 1.922 6.434 1.922 12c0 4.437 2.867 8.205 6.85 9.55-.237-.82-.776-2.753-1.6-6.052-1.184-4.741-2.064-8.606 2.379-9.813.047-.011.064-.064.03-.093-.514-.467-1.382-.548-2.233-.38a.06.06 0 0 1-.07-.058c0-.011 0-.023.011-.035.205-.286.572-.507.822-.64a1.843 1.843 0 0 0-.607-.335c-.059-.022-.059-.12-.006-.144.006-.006.012-.012.024-.012 1.749-.233 3.586.292 4.49 1.448.011.011.023.017.035.023 2.968.635 3.509 4.837 3.328 5.998a9.607 9.607 0 0 0 2.346-.576c.746-.286 1.008-.222 1.101-.053.1.193-.018.513-.28.81-.496.567-1.393 1.01-2.974 1.137-.546.044-1.029.024-1.445.006-.789-.035-1.339-.059-1.633.39-.192.298-.041.998 1.487 1.22 1.09.157 2.078.047 2.798-.034.643-.07 1.073-.118 1.172.069.21.402-.996 1.207-3.066 1.224-.158 0-.315-.006-.467-.011-1.283-.065-2.227-.414-2.816-.735a.094.094 0 0 1-.035-.017c-.105-.059-.31.045-.188.267.07.134.444.478 1.004.776-.058.466.087 1.184.338 2l.088-.016c.041-.009.087-.019.134-.025.507-.082.775.012.926.175.717-.536 1.913-1.294 2.03-1.154.583.694.66 2.332.53 2.99-.004.012-.017.024-.04.035-.274.117-1.783-.296-1.783-.511-.059-1.075-.26-1.173-.493-1.225h-.156c.006.006.012.018.018.03l.052.12c.093.257.24 1.063.13 1.26-.112.199-.835.297-1.284.303-.443.006-.543-.158-.637-.408-.07-.204-.103-.675-.103-.95a.857.857 0 0 1 .012-.216c-.134.058-.333.193-.397.281-.017.262-.017.682.123 1.149.07.221-1.518 1.164-1.74.99-.227-.181-.634-1.952-.459-2.67-.187.017-.338.075-.42.191-.367.508.093 2.933.582 3.248.257.169 1.54-.553 2.176-1.095.105.145.305.158.553.158.326-.012.782-.06 1.103-.158.192.45.423.972.613 1.388 4.47-1.032 7.803-5.037 7.803-9.82 0-5.566-4.512-10.078-10.078-10.078zm1.791 5.646c-.42 0-.678.146-.795.332-.023.047.047.094.094.07.14-.075.357-.161.701-.156.328.006.516.09.67.159l.023.01c.041.017.088-.03.059-.065-.134-.18-.332-.35-.752-.35zm-5.078.198a1.24 1.24 0 0 0-.522.082c-.454.169-.67.526-.67.76 0 .051.112.057.141.011.081-.123.21-.31.617-.478.408-.17.73-.146.951-.094.047.012.083-.041.041-.07a.989.989 0 0 0-.558-.211zm5.434 1.423a.651.651 0 0 0-.655.647.652.652 0 0 0 1.307 0 .646.646 0 0 0-.652-.647zm.283.262h.008a.17.17 0 0 1 .17.17c0 .093-.077.17-.17.17a.17.17 0 0 1-.17-.17c0-.09.072-.165.162-.17zm-5.358.076a.752.752 0 0 0-.758.758c0 .42.338.758.758.758s.758-.337.758-.758a.756.756 0 0 0-.758-.758zm.328.303h.01c.112 0 .2.089.2.2 0 .11-.088.197-.2.197a.195.195 0 0 1-.197-.198c0-.107.082-.194.187-.199z",source:"https://github.com/duckduckgo/duckduckgo-privacy-extension/blob/5c6ac8d6a07421adbfb97ee2ff855dd7655f8d71/shared/img/logo-small-grayscale.svg",hex:"DE5833",guidelines:"https://duckduckgo.com/press#press-materials"};var $h={title:"eBay",slug:"ebay",get svg(){return I1+"eBay"+B1+this.path+P1},path:"M6.056 12.132v-4.92h1.2v3.026c.59-.703 1.402-.906 2.202-.906 1.34 0 2.828.904 2.828 2.855 0 .233-.015.457-.06.668.24-.953 1.274-1.305 2.896-1.344.51-.018 1.095-.018 1.56-.018v-.135c0-.885-.556-1.244-1.53-1.244-.72 0-1.245.3-1.305.81h-1.275c.136-1.29 1.5-1.62 2.686-1.62 1.064 0 1.995.27 2.415 1.02l-.436-.84h1.41l2.055 4.125 2.055-4.126H24l-3.72 7.305h-1.346l1.07-2.04-2.33-4.38c.13.255.2.555.2.93v2.46c0 .346.01.69.04 1.005H16.8a6.543 6.543 0 01-.046-.765c-.603.734-1.32.96-2.32.96-1.48 0-2.272-.78-2.272-1.695 0-.15.015-.284.037-.405-.3 1.246-1.36 2.086-2.767 2.086-.87 0-1.694-.315-2.2-.93 0 .24-.015.494-.04.734h-1.18c.02-.39.04-.855.04-1.245v-1.05h-4.83c.065 1.095.818 1.74 1.853 1.74.718 0 1.355-.3 1.568-.93h1.24c-.24 1.29-1.61 1.725-2.79 1.725C.95 15.009 0 13.822 0 12.232c0-1.754.982-2.91 3.116-2.91 1.688 0 2.93.886 2.94 2.806v.005zm9.137.183c-1.095.034-1.77.233-1.77.95 0 .465.36.97 1.305.97 1.26 0 1.935-.69 1.935-1.814v-.13c-.45 0-.99.006-1.484.022h.012zm-6.06 1.875c1.11 0 1.876-.806 1.876-2.02s-.768-2.02-1.893-2.02c-1.11 0-1.89.806-1.89 2.02s.765 2.02 1.875 2.02h.03zm-4.35-2.514c-.044-1.125-.854-1.546-1.725-1.546-.944 0-1.694.474-1.815 1.546z",source:"https://go.developer.ebay.com/logos",hex:"E53238"};var Lh={title:"Facebook",slug:"facebook",get svg(){return I1+"Facebook"+B1+this.path+P1},path:"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z",source:"https://about.meta.com/brand/resources/facebook/logo",hex:"0866FF",guidelines:"https://about.meta.com/brand/resources/facebook/logo"};var x8={title:"GitHub",slug:"github",get svg(){return I1+"GitHub"+B1+this.path+P1},path:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12",source:"https://github.com/logos",hex:"181717",guidelines:"https://github.com/logos"};var Sh={title:"GitLab",slug:"gitlab",get svg(){return I1+"GitLab"+B1+this.path+P1},path:"m23.6004 9.5927-.0337-.0862L20.3.9814a.851.851 0 0 0-.3362-.405.8748.8748 0 0 0-.9997.0539.8748.8748 0 0 0-.29.4399l-2.2055 6.748H7.5375l-2.2057-6.748a.8573.8573 0 0 0-.29-.4412.8748.8748 0 0 0-.9997-.0537.8585.8585 0 0 0-.3362.4049L.4332 9.5015l-.0325.0862a6.0657 6.0657 0 0 0 2.0119 7.0105l.0113.0087.03.0213 4.976 3.7264 2.462 1.8633 1.4995 1.1321a1.0085 1.0085 0 0 0 1.2197 0l1.4995-1.1321 2.4619-1.8633 5.006-3.7489.0125-.01a6.0682 6.0682 0 0 0 2.0094-7.003z",source:"https://about.gitlab.com/press/press-kit/",hex:"FC6D26",guidelines:"https://about.gitlab.com/handbook/marketing/corporate-marketing/brand-activation/trademark-guidelines/"};var Eh={title:"Google",slug:"google",get svg(){return I1+"Google"+B1+this.path+P1},path:"M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z",source:"https://partnermarketinghub.withgoogle.com",hex:"4285F4",guidelines:"https://about.google/brand-resource-center/brand-elements/"};var Zh={title:"Instagram",slug:"instagram",get svg(){return I1+"Instagram"+B1+this.path+P1},path:"M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077",source:"https://about.meta.com/brand/resources/instagram",hex:"FF0069",guidelines:"https://about.meta.com/brand/resources/instagram"};var Fh={title:"Juejin",slug:"juejin",get svg(){return I1+"Juejin"+B1+this.path+P1},path:"m12 14.316 7.454-5.88-2.022-1.625L12 11.1l-.004.003-5.432-4.288-2.02 1.624 7.452 5.88Zm0-7.247 2.89-2.298L12 2.453l-.004-.005-2.884 2.318 2.884 2.3Zm0 11.266-.005.002-9.975-7.87L0 12.088l.194.156 11.803 9.308 7.463-5.885L24 12.085l-2.023-1.624Z",source:"https://juejin.cn",hex:"007FFF"};var jh={title:"MDN Web Docs",slug:"mdnwebdocs",get svg(){return I1+"MDN Web Docs"+B1+this.path+P1},path:"m21.538 1.1-6.745 21.8h-2.77L18.77 1.1ZM24 1.1v21.8h-2.462V1.1Zm-12 0v21.8H9.538V1.1Zm-2.462 0L2.77 22.9H0L6.746 1.1Z",source:"https://github.com/mdn/yari/blob/77e6cda02f7013219e9da27a00b9424085e60fdb/client/src/assets/mdn-logo.svg",hex:"000000"};var Hh={title:"Netflix",slug:"netflix",get svg(){return I1+"Netflix"+B1+this.path+P1},path:"m5.398 0 8.348 23.602c2.346.059 4.856.398 4.856.398L10.113 0H5.398zm8.489 0v9.172l4.715 13.33V0h-4.715zM5.398 1.5V24c1.873-.225 2.81-.312 4.715-.398V14.83L5.398 1.5z",source:"https://brand.netflix.com/en/assets/logos",hex:"E50914",guidelines:"https://brand.netflix.com/en/assets/logos"};var Nh={title:"npm",slug:"npm",get svg(){return I1+"npm"+B1+this.path+P1},path:"M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z",source:"https://www.npmjs.com",hex:"CB3837",guidelines:"https://docs.npmjs.com/policies/logos-and-usage"};var Th={title:"PyPI",slug:"pypi",get svg(){return I1+"PyPI"+B1+this.path+P1},path:"M23.922 13.58v3.912L20.55 18.72l-.078.055.052.037 3.45-1.256.026-.036v-3.997l-.053-.036-.025.092z M23.621 5.618l-3.04 1.107v3.912l3.339-1.215V5.509zM23.92 13.457V9.544l-3.336 1.215v3.913zM20.47 14.71V10.8L17.17 12v3.913zM17.034 19.996v-3.912l-3.313 1.206v3.912zM17.17 16.057v3.868l3.314-1.206V14.85l-3.314 1.206zm2.093 1.882c-.367.134-.663-.074-.663-.463s.296-.814.663-.947c.365-.133.662.075.662.464s-.297.814-.662.946z M13.225 9.315l.365-.132-3.285-1.197-3.323 1.21.102.037 3.184 1.16zM20.507 10.664V6.751L17.17 7.965v3.913zM17.058 11.918V8.005l-3.302 1.202v3.912zM13.643 9.246l-3.336 1.215v3.913l3.336-1.215zM6.907 13.165l3.322 1.209v-3.913L6.907 9.252z M10.34 7.873l3.281 1.193V5.198l-3.28-1.193zM20.507 2.715L17.19 3.922v3.913l3.317-1.207zM16.95 3.903L13.724 2.73l-3.269 1.19 3.225 1.174zM15.365 4.606l-1.624.592v3.868l3.317-1.207V3.991l-1.693.615zm-.391 2.778c-.367.134-.662-.074-.662-.464s.295-.813.662-.946c.366-.133.663.074.663.464s-.297.813-.663.946z M10.229 18.41v-3.914l-3.322-1.209V17.2zM13.678 17.182v-3.913l-3.371 1.227v3.913z M13.756 17.154l3.3-1.2V12.04l-3.3 1.2zM13.678 21.217l-3.371 1.227v-3.912h-.078v3.912l-3.322-1.209v-3.913l-.053-.058-.025-.06-3.336-1.21v-3.948l.034.013 3.287 1.196.015-.078-3.261-1.187 3.26-1.187v-.109L3.876 9.62l-.307-.112 3.26-1.188v.877l.079-.055V6.769l3.257 1.185.058-.061L7.084 6.75l-.102-.037 3.24-1.179v-.083L6.854 6.677v.018l-.025.018v1.523L3.44 9.47v.02l-.025.017v4.007l-3.39 1.233v.019L0 14.784v3.995l.025.037 3.4 1.237.008-.006.007.01 3.4 1.238.008-.006.006.01 3.4 1.237.014-.009.012.01 3.45-1.256.026-.037-.078-.027zM3.493 9.563l3.257 1.185-3.257 1.187V9.562zM3.4 19.96L.078 18.752v-3.913l2.361.86.96.349v3.913zm.015-3.99L.335 14.85l-.182-.066 3.262-1.187v2.374zm3.399 5.231l-3.321-1.209v-3.912l3.321 1.209v3.912zM23.791 5.434l-3.21-1.17v2.338zM20.387 2.643l-3.24-1.18-3.27 1.19 3.247 1.182z",source:"https://pypi.org",hex:"3775A9"};var Vh={title:"QQ",slug:"qq",get svg(){return I1+"QQ"+B1+this.path+P1},path:"M21.395 15.035a40 40 0 0 0-.803-2.264l-1.079-2.695c.001-.032.014-.562.014-.836C19.526 4.632 17.351 0 12 0S4.474 4.632 4.474 9.241c0 .274.013.804.014.836l-1.08 2.695a39 39 0 0 0-.802 2.264c-1.021 3.283-.69 4.643-.438 4.673.54.065 2.103-2.472 2.103-2.472 0 1.469.756 3.387 2.394 4.771-.612.188-1.363.479-1.845.835-.434.32-.379.646-.301.778.343.578 5.883.369 7.482.189 1.6.18 7.14.389 7.483-.189.078-.132.132-.458-.301-.778-.483-.356-1.233-.646-1.846-.836 1.637-1.384 2.393-3.302 2.393-4.771 0 0 1.563 2.537 2.103 2.472.251-.03.581-1.39-.438-4.673",source:"https://en.wikipedia.org/wiki/File:Tencent_QQ.svg",hex:"1EBAFC",guidelines:"https://qq.design/brand/BrandDesign/Logo"};var qh={title:"Quora",slug:"quora",get svg(){return I1+"Quora"+B1+this.path+P1},path:"M7.3799.9483A11.9628 11.9628 0 0 1 21.248 19.5397l2.4096 2.4225c.7322.7362.21 1.9905-.8272 1.9905l-10.7105.01a12.52 12.52 0 0 1-.304 0h-.02A11.9628 11.9628 0 0 1 7.3818.9503Zm7.3217 4.428a7.1717 7.1717 0 1 0-5.4873 13.2512 7.1717 7.1717 0 0 0 5.4883-13.2511Z",source:"https://www.quora.com",hex:"B92B27"};var Ih={title:"Reddit",slug:"reddit",get svg(){return I1+"Reddit"+B1+this.path+P1},path:"M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286C.775 23.225 1.097 24 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199c1.104 0 1.999.895 1.999 1.999 0 1.105-.895 2-1.999 2-.946 0-1.739-.657-1.947-1.539v.002c-1.147.162-2.032 1.15-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363.473-.363 1.064-.58 1.707-.58 1.547 0 2.802 1.254 2.802 2.802 0 1.117-.655 2.081-1.601 2.531-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87-.954-.447-1.614-1.415-1.614-2.538 0-1.548 1.255-2.802 2.803-2.802.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01c0-1.663 1.263-3.034 2.88-3.207.188-.911.993-1.595 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135-.147.015-.241.168-.183.305.483 1.154 1.622 1.964 2.953 1.964 1.33 0 2.47-.81 2.953-1.964.057-.137-.037-.29-.184-.305-.863-.087-1.795-.135-2.769-.135Z",source:"https://www.redditinc.com/brand",hex:"FF4500",guidelines:"https://www.redditinc.com/brand"};var Bh={title:"Sina Weibo",slug:"sinaweibo",get svg(){return I1+"Sina Weibo"+B1+this.path+P1},path:"M10.098 20.323c-3.977.391-7.414-1.406-7.672-4.02-.259-2.609 2.759-5.047 6.74-5.441 3.979-.394 7.413 1.404 7.671 4.018.259 2.6-2.759 5.049-6.737 5.439l-.002.004zM9.05 17.219c-.384.616-1.208.884-1.829.602-.612-.279-.793-.991-.406-1.593.379-.595 1.176-.861 1.793-.601.622.263.82.972.442 1.592zm1.27-1.627c-.141.237-.449.353-.689.253-.236-.09-.313-.361-.177-.586.138-.227.436-.346.672-.24.239.09.315.36.18.601l.014-.028zm.176-2.719c-1.893-.493-4.033.45-4.857 2.118-.836 1.704-.026 3.591 1.886 4.21 1.983.64 4.318-.341 5.132-2.179.8-1.793-.201-3.642-2.161-4.149zm7.563-1.224c-.346-.105-.57-.18-.405-.615.375-.977.42-1.804 0-2.404-.781-1.112-2.915-1.053-5.364-.03 0 0-.766.331-.571-.271.376-1.217.315-2.224-.27-2.809-1.338-1.337-4.869.045-7.888 3.08C1.309 10.87 0 13.273 0 15.348c0 3.981 5.099 6.395 10.086 6.395 6.536 0 10.888-3.801 10.888-6.82 0-1.822-1.547-2.854-2.915-3.284v.01zm1.908-5.092c-.766-.856-1.908-1.187-2.96-.962-.436.09-.706.511-.616.932.09.42.511.691.932.602.511-.105 1.067.044 1.442.465.376.421.466.977.316 1.473-.136.406.089.856.51.992.405.119.857-.105.992-.512.33-1.021.12-2.178-.646-3.035l.03.045zm2.418-2.195c-1.576-1.757-3.905-2.419-6.054-1.968-.496.104-.812.587-.706 1.081.104.496.586.813 1.082.707 1.532-.331 3.185.15 4.296 1.383 1.112 1.246 1.429 2.943.947 4.416-.165.48.106 1.007.586 1.157.479.165.991-.104 1.157-.586.675-2.088.241-4.478-1.338-6.235l.03.045z",source:"https://en.wikipedia.org/wiki/Sina_Weibo",hex:"E6162D"};var Ph={title:"Spotify",slug:"spotify",get svg(){return I1+"Spotify"+B1+this.path+P1},path:"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z",source:"https://developer.spotify.com/documentation/general/design-and-branding/#using-our-logo",hex:"1ED760",guidelines:"https://developer.spotify.com/documentation/general/design-and-branding/#using-our-logo"};var Rh={title:"Stack Overflow",slug:"stackoverflow",get svg(){return I1+"Stack Overflow"+B1+this.path+P1},path:"M15.725 0l-1.72 1.277 6.39 8.588 1.716-1.277L15.725 0zm-3.94 3.418l-1.369 1.644 8.225 6.85 1.369-1.644-8.225-6.85zm-3.15 4.465l-.905 1.94 9.702 4.517.904-1.94-9.701-4.517zm-1.85 4.86l-.44 2.093 10.473 2.201.44-2.092-10.473-2.203zM1.89 15.47V24h19.19v-8.53h-2.133v6.397H4.021v-6.396H1.89zm4.265 2.133v2.13h10.66v-2.13H6.154Z",source:"https://stackoverflow.design/brand/logo/",hex:"F58025",guidelines:"https://stackoverflow.com/legal/trademark-guidance"};var Dh={title:"Taobao",slug:"taobao",get svg(){return I1+"Taobao"+B1+this.path+P1},path:"M21.3099 9.9008c.5285 0 .9584.4284.9584.9589 0 .5276-.4299.958-.9584.958-.5276 0-.9585-.4304-.9585-.958 0-.5305.4309-.959.9585-.959zm2.3899 3.0462h-10.408v-.9595h4.15V9.7591h-2.8869v-.768h2.8868v-.9234h-2.508v.2034h-1.6418V5.3733h1.6418v.3497c.4945-.0607 1.463-.1814 2.5175-.2956v-.8257h1.8522v.6408c.9249-.0807 1.753-.1312 2.211-.1112 1.489.0716 2.4449.2816 2.485 1.273.0356.989-1.4244 1.9043-1.4244 1.9043l-.4509-.4338v.1929h-2.8116v.9233h3.229v.768h-3.229v2.2285h4.3873v.9595zM21.5259 7.299l-.0115-.0115s1.3722-.7595.3427-1.272c-.8633-.43-5.5346.3056-6.9234.6257v.6578h6.5922zM1.8822 6.4166c.5515 0 .9985-.449.9985-1 0-.5531-.447-.9995-.9985-.9995a.9984.9984 0 00-1.001.9995c0 .551.4463 1 1.001 1zm3.4094-.8596c.252-.4364.3717-.7195.3717-.7195l-1.466-.4123S3.6068 6.3546 2.5527 7.253c0 0 1.0195.5897 1.0095.5732a9.6444 9.6444 0 00.782-.8793c.2345-.1017.4585-.198.6794-.2876-.2715.487-.7094 1.219-1.1478 1.6809l.6178.5385s.4198-.4033.8792-.8907h.5246v.8993H3.8557v.7204h2.0416v1.7235c-.025 0-.0521 0-.0782-.002-.224-.0106-.5751-.0476-.7124-.265-.1678-.2636-.044-.7496-.0346-1.0457H3.6608l-.0496.026s-.517 2.3142 1.489 2.2621c1.8793.0521 2.9544-.523 3.4725-.9178l.2064.7645 1.1583-.4825-.785-1.9183-.941.292.1764.6574c-.2415.1809-.518.3157-.8187.4134V9.6076h1.995v-.7204h-1.995v-.8993h2.003v-.72h-3.557c.2565-.3111.4589-.5982.5095-.78L5.9058 6.32c2.6603-.9519 4.1408-.7886 4.1278.773v4.1128s.1568 1.4124-1.461 1.3107l-.8757-.188-.207.8307s3.7822 1.0812 4.0913-1.8246c.3096-2.9058-.0767-4.7576-.0767-4.7576s-.3451-2.6824-6.213-1.02zM.0582 12.1534l1.5867.9905c1.0967-2.3813 1.0265-2.0657 1.302-2.92.2832-.8737.3453-1.54-.1362-2.023-.6172-.6197-.6844-.6773-1.6017-1.3582L.5487 7.8562l1.2164.7576s.8141.4153.4274 1.1903c-.3617.7375-2.1343 2.3493-2.1343 2.3493zm19.94 6.8484s-.0186.523-.6704.523c-.5892 0-.6363-.4113-.6363-.4113-.2485.2996-.6207.4549-1.0696.4549-.7606 0-1.2961-.5135-1.2961-1.2896 0-.786.5576-1.28 1.3983-1.28.3832 0 .725.1462.9258.4037.0066-.0706.0136-.1362.0136-.1968 0-.5622-.3092-.8127-1.01-.8127-.3382 0-.6659.0486-1.0136.1408.1107-.219.1924-.3793.2971-.4574.1202-.0972.4294-.1408.9419-.1408 1.269 0 1.742.4259 1.742 1.4279v1.2024c0 .3161.033.4359.3772.4359zm-1.3272-.745c0-.4815-.2555-.747-.6378-.747-.4043 0-.6668.2825-.6668.7595 0 .467.2775.7615.6533.7615.3882 0 .6513-.275.6513-.774zm5.2706-.501c0 1.1528-.6924 1.8271-1.7786 1.8271-1.0957 0-1.7766-.6743-1.7766-1.8271 0-1.1584.6809-1.8252 1.7766-1.8252 1.0862 0 1.7786.6719 1.7786 1.8252zm-1.0867 0c0-.8693-.237-1.2997-.692-1.2997-.4734 0-.6938.4304-.6938 1.2997 0 .8662.2204 1.299.6939 1.299.467 0 .6919-.4328.6919-1.299zm-7.1313-.0441c0 1.1703-.6534 1.8567-1.5767 1.8567-.4233 0-.8056-.1633-1.0466-.47 0 0-.1082.4264-.6618.4264-.6884 0-.6644-.523-.6644-.523.3868.0165.3758-.2145.3758-.436v-2.8862c0-.3552-.0742-.4795-.4269-.4865.0136-.1072.0777-.5376.6789-.5376.8156 0 .7615.9149.7615.9149v.786c.229-.268.5516-.3942.9905-.3942.9624 0 1.5697.6447 1.5697 1.7495zm-1.0937.0806c0-.8983-.2716-1.3557-.7616-1.3557-.4393 0-.74.3968-.74 1.1047v.3602c0 .7205.3152 1.1168.7631 1.1168.477 0 .7385-.4134.7385-1.226zm-3.2425-.0365c0 1.1528-.688 1.8271-1.7806 1.8271-1.0937 0-1.7726-.6743-1.7726-1.8271 0-1.1584.6789-1.8252 1.7726-1.8252 1.0927 0 1.7806.6719 1.7806 1.8252zm-1.0832 0c0-.8693-.236-1.2997-.6974-1.2997-.467 0-.6874.4304-.6874 1.2997 0 .8662.2205 1.299.6874 1.299.469 0 .6974-.4328.6974-1.299zm-5.9895-2.716c-.268.0782-.7901.0972-1.5516.0972-.925 0-1.5391-.039-1.8543-.039-.5195 0-.7254.1342-.9088.6592.3006-.1017.6729-.1087 1.1353-.1087.3512 0 .4108.0431.4108.2941V18.846c0 .2821.1178.6789.7255.6789.7104 0 .8346-.526.8346-.526-.3552-.007-.4248-.1313-.4248-.4865V15.952c0-.2675.1012-.2795.471-.2795.1252 0 .2094.007.2605.007.545 0 .6883-.1047.9018-.6398zm3.1303 3.962s-.018.523-.6664.523c-.556 0-.6403-.4113-.6403-.4113-.248.2996-.6207.4549-1.0656.4549-.7655 0-1.2996-.5135-1.2996-1.2896 0-.786.557-1.28 1.3993-1.28.3843 0 .7274.1462.9258.4037.0036-.0706.0106-.1362.0106-.1968 0-.5622-.3051-.8127-1.007-.8127-.3382 0-.6669.0486-1.015.1408.1131-.219.1923-.3793.2945-.4574.1293-.0972.4329-.1408.9469-.1408 1.265 0 1.746.4259 1.746 1.4279v1.2024c0 .3161.0276.4359.3708.4359zm-1.3262-.745c0-.4815-.2555-.747-.6378-.747-.4013 0-.6668.2825-.6668.7595 0 .467.279.7615.6513.7615.3893 0 .6533-.275.6533-.774z",source:"https://www.alibabagroup.com/en/ir/reports",hex:"E94F20"};var ps={title:"Telegram",slug:"telegram",get svg(){return I1+"Telegram"+B1+this.path+P1},path:"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z",source:"https://telegram.org/tour/screenshots",hex:"26A5E4"};var Gh={title:"TikTok",slug:"tiktok",get svg(){return I1+"TikTok"+B1+this.path+P1},path:"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z",source:"https://tiktok.com",hex:"000000"};var Oh={title:"V2EX",slug:"v2ex",get svg(){return I1+"V2EX"+B1+this.path+P1},path:"M.671 1.933h13.821a1.342 1.342 0 0 1 .98.425l8.166 8.725a1.342 1.342 0 0 1 0 1.834l-8.166 8.724a1.342 1.342 0 0 1-.98.426H.673A.671.671 0 0 1 0 21.395v-6.878h13.19l2.276-2.28a.336.336 0 0 0 0-.474l-2.276-2.28H0V2.604a.671.671 0 0 1 .671-.671Z",source:"https://www.v2ex.com",hex:"1F1F1F"};var Wh={title:"WeChat",slug:"wechat",get svg(){return I1+"WeChat"+B1+this.path+P1},path:"M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 0 1 .213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 0 0 .167-.054l1.903-1.114a.864.864 0 0 1 .717-.098 10.16 10.16 0 0 0 2.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348zM5.785 5.991c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178A1.17 1.17 0 0 1 4.623 7.17c0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178 1.17 1.17 0 0 1-1.162-1.178c0-.651.52-1.18 1.162-1.18zm5.34 2.867c-1.797-.052-3.746.512-5.28 1.786-1.72 1.428-2.687 3.72-1.78 6.22.942 2.453 3.666 4.229 6.884 4.229.826 0 1.622-.12 2.361-.336a.722.722 0 0 1 .598.082l1.584.926a.272.272 0 0 0 .14.047c.134 0 .24-.111.24-.247 0-.06-.023-.12-.038-.177l-.327-1.233a.582.582 0 0 1-.023-.156.49.49 0 0 1 .201-.398C23.024 18.48 24 16.82 24 14.98c0-3.21-2.931-5.837-6.656-6.088V8.89c-.135-.01-.27-.027-.407-.03zm-2.53 3.274c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.97-.982zm4.844 0c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.969-.982z",source:"https://wechat.design/tool/brand",hex:"07C160",guidelines:"https://wechat.design/brand/main-brand"};var us={title:"WhatsApp",slug:"whatsapp",get svg(){return I1+"WhatsApp"+B1+this.path+P1},path:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z",source:"https://about.meta.com/brand/resources/whatsapp/whatsapp-brand",hex:"25D366",guidelines:"https://about.meta.com/brand/resources/whatsapp/whatsapp-brand"};var Uh={title:"Wikipedia",slug:"wikipedia",get svg(){return I1+"Wikipedia"+B1+this.path+P1},path:"M12.09 13.119c-.936 1.932-2.217 4.548-2.853 5.728-.616 1.074-1.127.931-1.532.029-1.406-3.321-4.293-9.144-5.651-12.409-.251-.601-.441-.987-.619-1.139-.181-.15-.554-.24-1.122-.271C.103 5.033 0 4.982 0 4.898v-.455l.052-.045c.924-.005 5.401 0 5.401 0l.051.045v.434c0 .119-.075.176-.225.176l-.564.031c-.485.029-.727.164-.727.436 0 .135.053.33.166.601 1.082 2.646 4.818 10.521 4.818 10.521l.136.046 2.411-4.81-.482-1.067-1.658-3.264s-.318-.654-.428-.872c-.728-1.443-.712-1.518-1.447-1.617-.207-.023-.313-.05-.313-.149v-.468l.06-.045h4.292l.113.037v.451c0 .105-.076.15-.227.15l-.308.047c-.792.061-.661.381-.136 1.422l1.582 3.252 1.758-3.504c.293-.64.233-.801.111-.947-.07-.084-.305-.22-.812-.24l-.201-.021c-.052 0-.098-.015-.145-.051-.045-.031-.067-.076-.067-.129v-.427l.061-.045c1.247-.008 4.043 0 4.043 0l.059.045v.436c0 .121-.059.178-.193.178-.646.03-.782.095-1.023.439-.12.186-.375.589-.646 1.039l-2.301 4.273-.065.135 2.792 5.712.17.048 4.396-10.438c.154-.422.129-.722-.064-.895-.197-.172-.346-.273-.857-.295l-.42-.016c-.061 0-.105-.014-.152-.045-.043-.029-.072-.075-.072-.119v-.436l.059-.045h4.961l.041.045v.437c0 .119-.074.18-.209.18-.648.03-1.127.18-1.443.421-.314.255-.557.616-.736 1.067 0 0-4.043 9.258-5.426 12.339-.525 1.007-1.053.917-1.503-.031-.571-1.171-1.773-3.786-2.646-5.71l.053-.036z",source:"https://commons.wikimedia.org/wiki/File:Wikipedia-logo-v2.svg",hex:"000000"};var ms={title:"X",slug:"x",get svg(){return I1+"X"+B1+this.path+P1},path:"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z",source:"https://x.com",hex:"000000",guidelines:"https://about.x.com/en/who-we-are/brand-toolkit"};var Xh={title:"Y Combinator",slug:"ycombinator",get svg(){return I1+"Y Combinator"+B1+this.path+P1},path:"M0 24V0h24v24H0zM6.951 5.896l4.112 7.708v5.064h1.583v-4.972l4.148-7.799h-1.749l-2.457 4.875c-.372.745-.688 1.434-.688 1.434s-.297-.708-.651-1.434L8.831 5.896h-1.88z",source:"https://www.ycombinator.com/press",hex:"F0652F"};var ds={title:"YouTube",slug:"youtube",get svg(){return I1+"YouTube"+B1+this.path+P1},path:"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z",source:"https://www.youtube.com/howyoutubeworks/resources/brand-resources/#logos-icons-and-colors",hex:"FF0000",guidelines:"https://www.youtube.com/howyoutubeworks/resources/brand-resources/#logos-icons-and-colors"};var Kh={title:"Zhihu",slug:"zhihu",get svg(){return I1+"Zhihu"+B1+this.path+P1},path:"M5.721 0C2.251 0 0 2.25 0 5.719V18.28C0 21.751 2.252 24 5.721 24h12.56C21.751 24 24 21.75 24 18.281V5.72C24 2.249 21.75 0 18.281 0zm1.964 4.078c-.271.73-.5 1.434-.68 2.11h4.587c.545-.006.445 1.168.445 1.171H9.384a58.104 58.104 0 01-.112 3.797h2.712c.388.023.393 1.251.393 1.266H9.183a9.223 9.223 0 01-.408 2.102l.757-.604c.452.456 1.512 1.712 1.906 2.177.473.681.063 2.081.063 2.081l-2.794-3.382c-.653 2.518-1.845 3.607-1.845 3.607-.523.468-1.58.82-2.64.516 2.218-1.73 3.44-3.917 3.667-6.497H4.491c0-.015.197-1.243.806-1.266h2.71c.024-.32.086-3.254.086-3.797H6.598c-.136.406-.158.447-.268.753-.594 1.095-1.603 1.122-1.907 1.155.906-1.821 1.416-3.6 1.591-4.064.425-1.124 1.671-1.125 1.671-1.125zM13.078 6h6.377v11.33h-2.573l-2.184 1.373-.401-1.373h-1.219zm1.313 1.219v8.86h.623l.263.937 1.455-.938h1.456v-8.86z",source:"https://www.zhihu.com",hex:"0084FF"};var o2={markdown:"e",fileLink:"Ze",fileMention:"p",linkIcon:"Qa",tableScroll:"a",tableFill:"Ua",imageAlt:"Va",image:"ei",compact:"i",imageButton:"W",previewName:"Wa"};var hs={bubble:"r","tooltip-in":"ii",label:"ai"};var t0=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function E$(e){return zs(e)}function zs(e){return Array.isArray(e)?Z$(e):e instanceof RegExp?e:typeof e=="object"?F$(e):e}function Z$(e){let t=[];for(let n=0,a=e.length;n{for(let a in n)e[a]=n[a]}),e}function sg(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?sg(e.substring(0,e.length-1)):e.substr(~t+1)}var gs=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,k8=class{static hasCaptures(e){return e===null?!1:(gs.lastIndex=0,gs.test(e))}static replaceCaptures(e,t,n){return e.replace(gs,(a,i,r,s)=>{let c=n[parseInt(i||r,10)];if(c){let o=t.substring(c.start,c.end);for(;o[0]===".";)o=o.substring(1);switch(s){case"downcase":return o.toLowerCase();case"upcase":return o.toUpperCase();default:return o}}else return a})}};function cg(e,t){return et?1:0}function og(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,a=t.length;if(n===a){for(let i=0;ithis._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,a=this._cachedMatchRoot.get(t).find(i=>j$(e.parent,i.parentScopes));return a?new ug(a.fontStyle,a.foreground,a.background):null}},bs=class z8{constructor(t,n){this.parent=t,this.scopeName=n}parent;scopeName;static push(t,n){for(let a of n)t=new z8(t,a);return t}static from(...t){let n=null;for(let a=0;a"){if(n===t.length-1)return!1;a=t[++n],i=!0}for(;e&&!H$(e.scopeName,a);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function H$(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var ug=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}fontStyle;foregroundId;backgroundId};function N$(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],a=0;for(let i=0,r=t.length;i1&&(x=f.slice(0,f.length-1),x.reverse()),n[a++]=new T$(w,x,i,o,l,p)}}return n}var T$=class{constructor(e,t,n,a,i,r){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=a,this.foreground=i,this.background=r}scope;parentScopes;index;fontStyle;foreground;background},Q0=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(Q0||{});function V$(e,t){e.sort((o,l)=>{let p=cg(o.scope,l.scope);return p!==0||(p=og(o.parentScopes,l.parentScopes),p!==0)?p:o.index-l.index});let n=0,a="#000000",i="#ffffff";for(;e.length>=1&&e[0].scope==="";){let o=e.shift();o.fontStyle!==-1&&(n=o.fontStyle),o.foreground!==null&&(a=o.foreground),o.background!==null&&(i=o.background)}let r=new q$(t),s=new ug(n,r.getId(a),r.getId(i)),c=new B$(new vs(0,null,-1,0,0),[]);for(let o=0,l=e.length;ot?console.log("how did this happen?"):this.scopeDepth=t,n!==-1&&(this.fontStyle=n),a!==0&&(this.foreground=a),i!==0&&(this.background=i)}},B$=class ys{constructor(t,n=[],a={}){this._mainRule=t,this._children=a,this._rulesWithParentScopes=n}_mainRule;_children;_rulesWithParentScopes;static _cmpBySpecificity(t,n){if(t.scopeDepth!==n.scopeDepth)return n.scopeDepth-t.scopeDepth;let a=0,i=0;for(;t.parentScopes[a]===">"&&a++,n.parentScopes[i]===">"&&i++,!(a>=t.parentScopes.length||i>=n.parentScopes.length);){let r=n.parentScopes[i].length-t.parentScopes[a].length;if(r!==0)return r;a++,i++}return n.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let a=t.indexOf("."),i,r;if(a===-1?(i=t,r=""):(i=t.substring(0,a),r=t.substring(a+1)),this._children.hasOwnProperty(i))return this._children[i].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(ys._cmpBySpecificity),n}insert(t,n,a,i,r,s){if(n===""){this._doInsertHere(t,a,i,r,s);return}let c=n.indexOf("."),o,l;c===-1?(o=n,l=""):(o=n.substring(0,c),l=n.substring(c+1));let p;this._children.hasOwnProperty(o)?p=this._children[o]:(p=new ys(this._mainRule.clone(),vs.cloneArr(this._rulesWithParentScopes)),this._children[o]=p),p.insert(t+1,l,a,i,r,s)}_doInsertHere(t,n,a,i,r){if(n===null){this._mainRule.acceptOverwrite(t,a,i,r);return}for(let s=0,c=this._rulesWithParentScopes.length;s>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,n,a,i,r,s,c){let o=ce.getLanguageId(t),l=ce.getTokenType(t),p=ce.containsBalancedBrackets(t)?1:0,u=ce.getFontStyle(t),m=ce.getForeground(t),d=ce.getBackground(t);return n!==0&&(o=n),a!==8&&(l=a),i!==null&&(p=i?1:0),r!==-1&&(u=r),s!==0&&(m=s),c!==0&&(d=c),(o<<0|l<<8|p<<10|u<<11|m<<15|d<<24)>>>0}};function A8(e,t){let n=[],a=P$(e),i=a.next();for(;i!==null;){let o=0;if(i.length===2&&i.charAt(1)===":"){switch(i.charAt(0)){case"R":o=1;break;case"L":o=-1;break;default:console.log("Unknown priority ".concat(i," in scope selector"))}i=a.next()}let l=s();if(n.push({matcher:l,priority:o}),i!==",")break;i=a.next()}return n;function r(){if(i==="-"){i=a.next();let o=r();return l=>!!o&&!o(l)}if(i==="("){i=a.next();let o=c();return i===")"&&(i=a.next()),o}if(Jh(i)){let o=[];do o.push(i),i=a.next();while(Jh(i));return l=>t(o,l)}return null}function s(){let o=[],l=r();for(;l;)o.push(l),l=r();return p=>o.every(u=>u(p))}function c(){let o=[],l=s();for(;l&&(o.push(l),i==="|"||i===",");){do i=a.next();while(i==="|"||i===",");l=s()}return p=>o.some(u=>u(p))}}function Jh(e){return!!e&&!!e.match(/[\w\.:]+/)}function P$(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let a=n[0];return n=t.exec(e),a}}}function dg(e){typeof e.dispose=="function"&&e.dispose()}var Z6=class{constructor(e){this.scopeName=e}scopeName;toKey(){return this.scopeName}},R$=class{constructor(e,t){this.scopeName=e,this.ruleName=t}scopeName;ruleName;toKey(){return"".concat(this.scopeName,"#").concat(this.ruleName)}},D$=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},G$=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Z6(this.initialScopeName)]}repo;initialScopeName;seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new D$;for(let n of e)O$(n,this.initialScopeName,this.repo,t);for(let n of t.references)if(n instanceof Z6){if(this.seenFullScopeRequests.has(n.scopeName))continue;this.seenFullScopeRequests.add(n.scopeName),this.Q.push(n)}else{if(this.seenFullScopeRequests.has(n.scopeName)||this.seenPartialScopeRequests.has(n.toKey()))continue;this.seenPartialScopeRequests.add(n.toKey()),this.Q.push(n)}}};function O$(e,t,n,a){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw new Error("No grammar provided for <".concat(t,">"));return}let r=n.lookup(t);e instanceof Z6?C8({baseGrammar:r,selfGrammar:i},a):_s(e.ruleName,{baseGrammar:r,selfGrammar:i,repository:i.repository},a);let s=n.injections(e.scopeName);if(s)for(let c of s)a.add(new Z6(c))}function _s(e,t,n){if(t.repository&&t.repository[e]){let a=t.repository[e];M8([a],t,n)}}function C8(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&M8(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&M8(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function M8(e,t,n){for(let a of e){if(n.visitedRule.has(a))continue;n.visitedRule.add(a);let i=a.repository?rg({},t.repository,a.repository):t.repository;Array.isArray(a.patterns)&&M8(a.patterns,{...t,repository:i},n);let r=a.include;if(!r)continue;let s=hg(r);switch(s.kind){case 0:C8({...t,selfGrammar:t.baseGrammar},n);break;case 1:C8(t,n);break;case 2:_s(s.ruleName,{...t,repository:i},n);break;case 3:case 4:let c=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(c){let o={baseGrammar:t.baseGrammar,selfGrammar:c,repository:i};s.kind===4?_s(s.ruleName,o,n):C8(o,n)}else s.kind===4?n.add(new R$(s.scopeName,s.ruleName)):n.add(new Z6(s.scopeName));break}}}var W$=class{kind=0},U$=class{kind=1},X$=class{constructor(e){this.ruleName=e}ruleName;kind=2},K$=class{constructor(e){this.scopeName=e}scopeName;kind=3},Y$=class{constructor(e,t){this.scopeName=e,this.ruleName=t}scopeName;ruleName;kind=4};function hg(e){if(e==="$base")return new W$;if(e==="$self")return new U$;let t=e.indexOf("#");if(t===-1)return new K$(e);if(t===0)return new X$(e.substring(1));{let n=e.substring(0,t),a=e.substring(t+1);return new Y$(n,a)}}var J$=/\\(\d+)/,Qh=/\\(\d+)/g,Q$=-1,gg=-2;var H6=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,a){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=k8.hasCaptures(this._name),this._contentName=a||null,this._contentNameIsCapturing=k8.hasCaptures(this._contentName)}get debugName(){let e=this.$location?"".concat(sg(this.$location.filename),":").concat(this.$location.line):"unknown";return"".concat(this.constructor.name,"#").concat(this.id," @ ").concat(e)}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:k8.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:k8.replaceCaptures(this._contentName,e,t)}},eL=class extends H6{retokenizeCapturedWithRuleId;constructor(e,t,n,a,i){super(e,t,n,a),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,n,a){throw new Error("Not supported!")}},tL=class extends H6{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,a,i){super(e,t,n,null),this._match=new F6(a,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return"".concat(this._match.source)}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e).compileAG(e,n,a)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new j6,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},eg=class extends H6{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,a,i){super(e,t,n,a),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e).compileAG(e,n,a)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new j6,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},ws=class extends H6{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,a,i,r,s,c,o,l){super(e,t,n,a),this._begin=new F6(i,this.id),this.beginCaptures=r,this._end=new F6(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=c,this.applyEndPatternLast=o||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return"".concat(this._begin.source)}get debugEndRegExp(){return"".concat(this._end.source)}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,a)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new j6;for(let n of this.patterns)e.getRule(n).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},$8=class extends H6{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,a,i,r,s,c,o){super(e,t,n,a),this._begin=new F6(i,this.id),this.beginCaptures=r,this.whileCaptures=c,this._while=new F6(s,gg),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=o.patterns,this.hasMissingPatterns=o.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return"".concat(this._begin.source)}get debugWhileRegExp(){return"".concat(this._while.source)}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,a){return this._getCachedCompiledPatterns(e).compileAG(e,n,a)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new j6;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,a){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,a)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new j6,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},bg=class l2{static createCaptureRule(t,n,a,i,r){return t.registerRule(s=>new eL(n,s,a,i,r))}static getCompiledRuleId(t,n,a){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new tL(t.$vscodeTextmateLocation,t.id,t.name,t.match,l2._compileCaptures(t.captures,n,a));if(typeof t.begin>"u"){t.repository&&(a=rg({},a,t.repository));let r=t.patterns;return typeof r>"u"&&t.include&&(r=[{include:t.include}]),new eg(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,l2._compilePatterns(r,n,a))}return t.while?new $8(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,l2._compileCaptures(t.beginCaptures||t.captures,n,a),t.while,l2._compileCaptures(t.whileCaptures||t.captures,n,a),l2._compilePatterns(t.patterns,n,a)):new ws(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,l2._compileCaptures(t.beginCaptures||t.captures,n,a),t.end,l2._compileCaptures(t.endCaptures||t.captures,n,a),t.applyEndPatternLast,l2._compilePatterns(t.patterns,n,a))}),t.id}static _compileCaptures(t,n,a){let i=[];if(t){let r=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let c=parseInt(s,10);c>r&&(r=c)}for(let s=0;s<=r;s++)i[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let c=parseInt(s,10),o=0;t[s].patterns&&(o=l2.getCompiledRuleId(t[s],n,a)),i[c]=l2.createCaptureRule(n,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,o)}}return i}static _compilePatterns(t,n,a){let i=[];if(t)for(let r=0,s=t.length;rt.substring(i.start,i.end));return Qh.lastIndex=0,this.source.replace(Qh,(i,r)=>lg(a[parseInt(r,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],n=[],a=[],i=[],r,s,c,o;for(r=0,s=this.source.length;rn.source);this._cached=new tg(e,t,this._items.map(n=>n.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){let a=this._items.map(i=>i.resolveAnchors(t,n));return new tg(e,a,this._items.map(i=>i.ruleId))}},tg=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}regExps;rules;scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t{let n=this._scopeToLanguage(t),a=this._toStandardTokenType(t);return new fs(n,a)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let n=t.match(xs.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},aL=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([n,a])=>lg(n));t.sort(),t.reverse(),this.scopesRegExp=new RegExp("^((".concat(t.join(")|("),"))($|\\.)"),"")}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},DG={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},vg=!1,ng=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}stack;stoppedEarly};function yg(e,t,n,a,i,r,s,c){let o=t.content.length,l=!1,p=-1;if(s){let d=iL(e,t,n,a,i,r);i=d.stack,a=d.linePos,n=d.isFirstLine,p=d.anchorPosition}let u=Date.now();for(;!l;){if(c!==0&&Date.now()-u>c)return new ng(i,!0);m()}return new ng(i,!1);function m(){let d=rL(e,t,n,a,i,p);if(!d){r.produce(i,o),l=!0;return}let f=d.captureIndices,w=d.matchedRuleId,x=f&&f.length>0?f[0].end>a:!1;if(w===Q$){let v=i.getRule(e);r.produce(i,f[0].start),i=i.withContentNameScopesList(i.nameScopesList),L6(e,t,n,i,r,v.endCaptures,f),r.produce(i,f[0].end);let b=i;if(i=i.parent,p=b.getAnchorPos(),!x&&b.getEnterPos()===a){i=b,r.produce(i,o),l=!0;return}}else{let v=e.getRule(w);r.produce(i,f[0].start);let b=i,_=v.getName(t.content,f),z=i.contentNameScopesList.pushAttributed(_,e);if(i=i.push(w,a,p,f[0].end===o,null,z,z),v instanceof ws){let $=v;L6(e,t,n,i,r,$.beginCaptures,f),r.produce(i,f[0].end),p=f[0].end;let C=$.getContentName(t.content,f),j=z.pushAttributed(C,e);if(i=i.withContentNameScopesList(j),$.endHasBackReferences&&(i=i.withEndRule($.getEndWithResolvedBackReferences(t.content,f))),!x&&b.hasSameRuleAs(i)){i=i.pop(),r.produce(i,o),l=!0;return}}else if(v instanceof $8){let $=v;L6(e,t,n,i,r,$.beginCaptures,f),r.produce(i,f[0].end),p=f[0].end;let C=$.getContentName(t.content,f),j=z.pushAttributed(C,e);if(i=i.withContentNameScopesList(j),$.whileHasBackReferences&&(i=i.withEndRule($.getWhileWithResolvedBackReferences(t.content,f))),!x&&b.hasSameRuleAs(i)){i=i.pop(),r.produce(i,o),l=!0;return}}else if(L6(e,t,n,i,r,v.captures,f),r.produce(i,f[0].end),i=i.pop(),!x){i=i.safePop(),r.produce(i,o),l=!0;return}}f[0].end>a&&(a=f[0].end,n=!1)}}function iL(e,t,n,a,i,r){let s=i.beginRuleCapturedEOL?0:-1,c=[];for(let o=i;o;o=o.pop()){let l=o.getRule(e);l instanceof $8&&c.push({rule:l,stack:o})}for(let o=c.pop();o;o=c.pop()){let{ruleScanner:l,findOptions:p}=oL(o.rule,e,o.stack.endRule,n,a===s),u=l.findNextMatchSync(t,a,p);if(u){if(u.ruleId!==gg){i=o.stack.pop();break}u.captureIndices&&u.captureIndices.length&&(r.produce(o.stack,u.captureIndices[0].start),L6(e,t,n,o.stack,r,o.rule.whileCaptures,u.captureIndices),r.produce(o.stack,u.captureIndices[0].end),s=u.captureIndices[0].end,u.captureIndices[0].end>a&&(a=u.captureIndices[0].end,n=!1))}else{i=o.stack.pop();break}}return{stack:i,linePos:a,anchorPosition:s,isFirstLine:n}}function rL(e,t,n,a,i,r){let s=sL(e,t,n,a,i,r),c=e.getInjections();if(c.length===0)return s;let o=cL(c,e,t,n,a,i,r);if(!o)return s;if(!s)return o;let l=s.captureIndices[0].start,p=o.captureIndices[0].start;return p=c)&&(c=_,o=b.captureIndices,l=b.ruleId,p=f.priority,c===i))break}return o?{priorityMatch:p===-1,captureIndices:o,matchedRuleId:l}:null}function _g(e,t,n,a,i){if(vg){let s=e.compile(t,n),c=wg(a,i);return{ruleScanner:s,findOptions:c}}return{ruleScanner:e.compileAG(t,n,a,i),findOptions:0}}function oL(e,t,n,a,i){if(vg){let s=e.compileWhile(t,n),c=wg(a,i);return{ruleScanner:s,findOptions:c}}return{ruleScanner:e.compileWhileAG(t,n,a,i),findOptions:0}}function wg(e,t){let n=0;return e||(n|=1),t||(n|=4),n}function L6(e,t,n,a,i,r,s){if(r.length===0)return;let c=t.content,o=Math.min(r.length,s.length),l=[],p=s[0].end;for(let u=0;up)break;for(;l.length>0&&l[l.length-1].endPos<=d.start;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop();if(l.length>0?i.produceFromScopes(l[l.length-1].scopes,d.start):i.produce(a,d.start),m.retokenizeCapturedWithRuleId){let w=m.getName(c,s),x=a.contentNameScopesList.pushAttributed(w,e),v=m.getContentName(c,s),b=x.pushAttributed(v,e),_=a.push(m.retokenizeCapturedWithRuleId,d.start,-1,!1,null,x,b),z=e.createOnigString(c.substring(0,d.end));yg(e,z,n&&d.start===0,d.start,_,i,!1,0),dg(z);continue}let f=m.getName(c,s);if(f!==null){let x=(l.length>0?l[l.length-1].scopes:a.contentNameScopesList).pushAttributed(f,e);l.push(new lL(x,d.end))}}for(;l.length>0;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var lL=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function pL(e,t,n,a,i,r,s,c){return new mL(e,t,n,a,i,r,s,c)}function ag(e,t,n,a,i){let r=A8(t,L8),s=bg.getCompiledRuleId(n,a,i.repository);for(let c of r)e.push({debugSelector:t,matcher:c.matcher,ruleId:s,grammar:i,priority:c.priority})}function L8(e,t){if(t.length{for(let i=n;in&&e.substr(0,n)===t&&e[n]==="."}var mL=class{constructor(e,t,n,a,i,r,s,c){if(this._rootScopeName=e,this.balancedBracketSelectors=r,this._onigLib=c,this._basicScopeAttributesProvider=new nL(n,a),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=ig(t,null),this._injections=null,this._tokenTypeMatchers=[],i)for(let o of Object.keys(i)){let l=A8(o,L8);for(let p of l)this._tokenTypeMatchers.push({matcher:p.matcher,type:i[o]})}}_rootScopeName;balancedBracketSelectors;_onigLib;_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:i=>i===this._rootScopeName?this._grammar:this.getExternalGrammar(i),injections:i=>this._grammarRepository.injections(i)},t=[],n=this._rootScopeName,a=e.lookup(n);if(a){let i=a.injections;if(i)for(let s in i)ag(t,s,i[s],this,a);let r=this._grammarRepository.injections(n);r&&r.forEach(s=>{let c=this.getExternalGrammar(s);if(c){let o=c.injectionSelector;o&&ag(t,o,c,this,c)}})}return t.sort((i,r)=>i.priority-r.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,n=e(t);return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=ig(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){let a=this._tokenize(e,t,!1,n);return{tokens:a.lineTokens.getResult(a.ruleStack,a.lineLength),ruleStack:a.ruleStack,stoppedEarly:a.stoppedEarly}}tokenizeLine2(e,t,n=0){let a=this._tokenize(e,t,!0,n);return{tokens:a.lineTokens.getBinaryResult(a.ruleStack,a.lineLength),ruleStack:a.ruleStack,stoppedEarly:a.stoppedEarly}}_tokenize(e,t,n,a){this._rootId===-1&&(this._rootId=bg.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let i;if(!t||t===ks.NULL){i=!0;let l=this._basicScopeAttributesProvider.getDefaultAttributes(),p=this.themeProvider.getDefaults(),u=e4.set(0,l.languageId,l.tokenType,null,p.fontStyle,p.foregroundId,p.backgroundId),m=this.getRule(this._rootId).getName(null,null),d;m?d=S6.createRootAndLookUpScopeName(m,u,this):d=S6.createRoot("unknown",u),t=new ks(null,this._rootId,-1,-1,!1,null,d,d)}else i=!1,t.reset();e=e+"\n";let r=this.createOnigString(e),s=r.content.length,c=new hL(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),o=yg(this,r,i,0,t,c,!0,a);return dg(r),{lineLength:s,lineTokens:c,ruleStack:o.stack,stoppedEarly:o.stoppedEarly}}};function ig(e,t){return e=E$(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var S6=class Ne{constructor(t,n,a){this.parent=t,this.scopePath=n,this.tokenAttributes=a}parent;scopePath;tokenAttributes;static fromExtension(t,n){let a=t,i=t?.scopePath??null;for(let r of n)i=bs.push(i,r.scopeNames),a=new Ne(a,i,r.encodedTokenAttributes);return a}static createRoot(t,n){return new Ne(null,new bs(null,t),n)}static createRootAndLookUpScopeName(t,n,a){let i=a.getMetadataForScope(t),r=new bs(null,t),s=a.themeProvider.themeMatch(r),c=Ne.mergeAttributes(n,i,s);return new Ne(null,r,c)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Ne.equals(this,t)}static equals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.scopeName!==n.scopeName||t.tokenAttributes!==n.tokenAttributes)return!1;t=t.parent,n=n.parent}while(!0)}static mergeAttributes(t,n,a){let i=-1,r=0,s=0;return a!==null&&(i=a.fontStyle,r=a.foregroundId,s=a.backgroundId),e4.set(t,n.languageId,n.tokenType,null,i,r,s)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(" ")===-1)return Ne._pushAttributed(this,t,n);let a=t.split(/ /g),i=this;for(let r of a)i=Ne._pushAttributed(i,r,n);return i}static _pushAttributed(t,n,a){let i=a.getMetadataForScope(n),r=t.scopePath.push(n),s=a.themeProvider.themeMatch(r),c=Ne.mergeAttributes(t.tokenAttributes,i,s);return new Ne(t,r,c)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let n=[],a=this;for(;a&&a!==t;)n.push({encodedTokenAttributes:a.tokenAttributes,scopeNames:a.scopePath.getExtensionIfDefined(a.parent?.scopePath??null)}),a=a.parent;return a===t?n.reverse():void 0}},ks=class q4{constructor(t,n,a,i,r,s,c,o){this.parent=t,this.ruleId=n,this.beginRuleCapturedEOL=r,this.endRule=s,this.nameScopesList=c,this.contentNameScopesList=o,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=a,this._anchorPos=i}parent;ruleId;beginRuleCapturedEOL;endRule;nameScopesList;contentNameScopesList;_stackElementBrand=void 0;static NULL=new q4(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:q4._equals(this,t)}static _equals(t,n){return t===n?!0:this._structuralEquals(t,n)?S6.equals(t.contentNameScopesList,n.contentNameScopesList):!1}static _structuralEquals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.depth!==n.depth||t.ruleId!==n.ruleId||t.endRule!==n.endRule)return!1;t=t.parent,n=n.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){q4._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,a,i,r,s,c){return new q4(this,t,n,a,i,r,s,c)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,n){return this.parent&&(n=this.parent._writeString(t,n)),t[n++]="(".concat(this.ruleId,", ").concat(this.nameScopesList?.toString(),", ").concat(this.contentNameScopesList?.toString(),")"),n}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new q4(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let n=this;for(;n&&n._enterPos===t._enterPos;){if(n.ruleId===t.ruleId)return!0;n=n.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,n){let a=S6.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new q4(t,n.ruleId,n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,a,S6.fromExtension(a,n.contentNameScopesList))}},dL=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(n=>n==="*"?(this.allowAny=!0,[]):A8(n,L8).map(a=>a.matcher)),this.unbalancedBracketScopes=t.flatMap(n=>A8(n,L8).map(a=>a.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},hL=class{constructor(e,t,n,a){this.balancedBracketSelectors=a,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}balancedBracketSelectors;_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let a=e?.tokenAttributes??0,i=!1;if(this.balancedBracketSelectors?.matchesAlways&&(i=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let r=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(r)&&(a=e4.set(a,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(i=this.balancedBracketSelectors.match(r))}if(i&&(a=e4.set(a,0,8,i,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===a){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(a),this._lastTokenEndIndex=t;return}let n=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let n=new Uint32Array(this._binaryTokens.length);for(let a=0,i=this._binaryTokens.length;a0;)r.Q.map(s=>this._loadSingleGrammar(s.scopeName)),r.processQueue();return this._grammarForScopeName(e,t,n,a,i)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let n=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,n)}}addGrammar(e,t=[],n=0,a=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,n,a)}_grammarForScopeName(e,t=0,n=null,a=null,i=null){return this._syncRegistry.grammarForScopeName(e,t,n,a,i)}},S8=ks.NULL;function T6(e,t){let n=typeof e=="string"?{}:{...e.colorReplacements},a=typeof e=="string"?e:e.name;for(let[i,r]of Object.entries(t?.colorReplacements||{}))typeof r=="string"?n[i]=r:i===a&&Object.assign(n,r);return n}function o3(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Mg(e){return Array.isArray(e)?e:[e]}async function Cs(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function V6(e){return!e||["plaintext","txt","text","plain"].includes(e)}function $g(e){return e==="ansi"||V6(e)}function q6(e){return e==="none"}function Lg(e){return q6(e)}var bL=/(\r?\n)/g;function Ut(e,t=!1){if(e.length===0)return[["",0]];let n=e.split(bL),a=0,i=[];for(let r=0;r!o.name&&!o.scope):void 0;c?.settings?.foreground&&(a=c.settings.foreground),c?.settings?.background&&(n=c.settings.background),!a&&t?.colors?.["editor.foreground"]&&(a=t.colors["editor.foreground"]),!n&&t?.colors?.["editor.background"]&&(n=t.colors["editor.background"]),a||(a=t.type==="light"?kg.light:kg.dark),n||(n=t.type==="light"?zg.light:zg.dark),t.fg=a,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,r=new Map;function s(c){if(r.has(c))return r.get(c);i+=1;let o="#".concat(i.toString(16).padStart(8,"0").toLowerCase());return t.colorReplacements?.["#".concat(o)]?s(c):(r.set(c,o),o)}t.settings=t.settings.map(c=>{let o=c.settings?.foreground&&!c.settings.foreground.startsWith("#"),l=c.settings?.background&&!c.settings.background.startsWith("#");if(!o&&!l)return c;let p={...c,settings:{...c.settings}};if(o){let u=s(c.settings.foreground);t.colorReplacements[u]=c.settings.foreground,p.settings.foreground=u}if(l){let u=s(c.settings.background);t.colorReplacements[u]=c.settings.background,p.settings.background=u}return p});for(let c of Object.keys(t.colors||{}))if((c==="editor.foreground"||c==="editor.background"||c.startsWith("terminal.ansi"))&&!t.colors[c]?.startsWith("#")){let o=s(t.colors[c]);t.colorReplacements[o]=t.colors[c],t.colors[c]=o}return Object.defineProperty(t,Cg,{enumerable:!1,writable:!1,value:!0}),t}async function fL(e){return[...new Set((await Promise.all(e.filter(t=>!$g(t)).map(async t=>await Cs(t).then(n=>Array.isArray(n)?n:[n])))).flat())]}async function vL(e){return(await Promise.all(e.map(async t=>Lg(t)?null:E8(await Cs(t))))).filter(t=>!!t)}function Sg(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new t0("Circular alias `".concat([...n].join(" -> ")," -> ").concat(e,"`"));n.add(e)}}return e}var yL=class extends xg{_resolver;_themes;_langs;_alias;_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;constructor(e,t,n,a={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=a,this._themes.map(i=>this.loadTheme(i)),this.loadLanguages(this._langs)}getTheme(e){return typeof e=="string"?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=E8(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=E6.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=Sg(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(i=>i.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||["*"],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let a=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(a.name=e.name,this._resolvedGrammars.set(e.name,a),e.aliases&&e.aliases.forEach(i=>{this._alias[i]=e.name}),this._loadedLanguagesCache=null,t.size)for(let i of t)this._syncRegistry?._grammars?.get(i.scopeName)?.dispose(),this._resolvedGrammars.delete(i.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(i.scopeName),this._syncRegistry?._grammars?.delete(i.scopeName),this.loadLanguage(this._langMap.get(i.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let a of e)this.resolveEmbeddedLanguages(a);let t=[...this._langGraph.entries()],n=t.filter(([a,i])=>!i);if(n.length){let a=t.filter(([i,r])=>r?(r.embeddedLanguages||r.embeddedLangs)?.some(s=>n.map(([c])=>c).includes(s)):!1).filter(i=>!n.includes(i));throw new t0("Missing languages ".concat(n.map(([i])=>"`".concat(i,"`")).join(", "),", required by ").concat(a.map(([i])=>"`".concat(i,"`")).join(", ")))}for(let[a,i]of t)this._resolver.addLanguage(i);for(let[a,i]of t)this.loadLanguage(i)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let n of t)this._langGraph.set(n,this._langMap.get(n))}},_L=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:n=>e.createScanner(n),createOnigString:n=>e.createString(n)},t.forEach(n=>this.addLanguage(n))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).includes(e.scopeName)||this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split("."),n=[];for(let a=1;a<=t.length;a++){let i=t.slice(0,a).join(".");n=[...n,...this._injections.get(i)||[]]}return n}},N6=0;function As(e){N6+=1,e.warnings!==!1&&N6>=10&&N6%10===0&&console.warn("[Shiki] ".concat(N6," 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."));let t=!1;if(!e.engine)throw new t0("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),a=(e.themes||[]).flat(1).map(E8),i=new yL(new _L(e.engine,n),a,n,e.langAlias),r;function s(b){return Sg(b,e.langAlias)}function c(b){x();let _=i.getGrammar(typeof b=="string"?b:b.name);if(!_)throw new t0("Language `".concat(b,"` not found, you may need to load it first"));return _}function o(b){if(b==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};x();let _=i.getTheme(b);if(!_)throw new t0("Theme `".concat(b,"` not found, you may need to load it first"));return _}function l(b){x();let _=o(b);return r!==b&&(i.setTheme(_),r=b),{theme:_,colorMap:i.getColorMap()}}function p(){return x(),i.getLoadedThemes()}function u(){return x(),i.getLoadedLanguages()}function m(...b){x(),i.loadLanguages(b.flat(1))}async function d(...b){return m(await fL(b))}function f(...b){x();for(let _ of b.flat(1))i.loadTheme(_)}async function w(...b){return x(),f(await vL(b))}function x(){if(t)throw new t0("Shiki instance has been disposed")}function v(){t||(t=!0,i.dispose(),N6-=1)}return{setTheme:l,getTheme:o,getLanguage:c,getLoadedThemes:p,getLoadedLanguages:u,resolveLangAlias:s,loadLanguage:d,loadLanguageSync:m,loadTheme:w,loadThemeSync:f,dispose:v,[Symbol.dispose]:v}}var Eg=new WeakMap;function I6(e,t){Eg.set(e,t)}function Xt(e){return Eg.get(e)}var Z8=class Zg{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new Zg(Object.fromEntries(Mg(n).map(a=>[a,S8])),t)}constructor(...t){if(t.length===2){let[n,a]=t;this.lang=a,this._stacks=n}else{let[n,a,i]=t;this.lang=a,this._stacks={[i]:n}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return wL(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function wL(e){let t=[],n=new Set;function a(i){if(n.has(i))return;n.add(i);let r=i?.nameScopesList?.scopeName;r&&t.push(r),i.parent&&a(i.parent)}return a(e),t}function xL(e,t){if(!(e instanceof Z8))throw new t0("Invalid grammar state");return e.getInternalStack(t)}var kL=/,/,zL=/ /;function Ms(e,t,n={}){let{theme:a=e.getLoadedThemes()[0]}=n;if(V6(e.resolveLangAlias(n.lang||"text"))||q6(a))return Ut(t).map(c=>[{content:c[0],offset:c[1]}]);let{theme:i,colorMap:r}=e.setTheme(a),s=e.getLanguage(n.lang||"text");if(n.grammarState){if(n.grammarState.lang!==s.name)throw new t0('Grammar state language "'.concat(n.grammarState.lang,'" does not match highlight language "').concat(s.name,'"'));if(!n.grammarState.themes.includes(i.name))throw new t0('Grammar state themes "'.concat(n.grammarState.themes,'" do not contain highlight theme "').concat(i.name,'"'))}return jg(t,s,i,r,n)}function Fg(...e){if(e.length===2)return Xt(e[1]);let[t,n,a={}]=e,{lang:i="text",theme:r=t.getLoadedThemes()[0]}=a;if(V6(i)||q6(r))throw new t0("Plain language does not have grammar state");if(i==="ansi")throw new t0("ANSI language does not have grammar state");let{theme:s,colorMap:c}=t.setTheme(r),o=t.getLanguage(i);return new Z8($s(n,o,s,c,a).stateStack,o.name,s.name)}function jg(e,t,n,a,i){let r=$s(e,t,n,a,i),s=new Z8(r.stateStack,t.name,n.name);return I6(r.tokens,s),r.tokens}function $s(e,t,n,a,i){let r=T6(n,i),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:c=500,includeExplanation:o=!1}=i,l=Ut(e),p=i.grammarState?xL(i.grammarState,n.name)??S8:i.grammarContextCode!=null?$s(i.grammarContextCode,t,n,a,{...i,grammarState:void 0,grammarContextCode:void 0}).stateStack:S8,u=[],m=[];for(let d=0,f=l.length;d0&&w.length>=s){u=[],m.push([{content:w,offset:x,color:"",fontStyle:0}]);continue}let v,b,_;o&&o!=="tokenType"&&(v=t.tokenizeLine(w,p,c),b=v.tokens,_=0);let z=t.tokenizeLine2(w,p,c),$=z.tokens.length/2;for(let C=0;C<$;C++){let j=z.tokens[2*C],T=C+1<$?z.tokens[2*C+2]:w.length;if(j===T)continue;let H=z.tokens[2*C+1],E=o3(a[e4.getForeground(H)],r),R=e4.getFontStyle(H),D={content:w.substring(j,T),offset:x+j,color:E,fontStyle:R};if(o==="tokenType")D.type=e4.getTokenType(H);else if(o){let B=[];if(o!=="scopeName")for(let O of n.settings){let U;switch(typeof O.scope){case"string":U=O.scope.split(kL).map(r1=>r1.trim());break;case"object":U=O.scope;break;default:continue}B.push({settings:O,selectors:U.map(r1=>r1.split(zL))})}D.explanation=[];let Q=0;for(;j+Q({scopeName:t}))}function AL(e,t){let n=[];for(let a=0,i=t.length;a=0&&i>=0;)Ag(e[a],n[i])&&(a-=1),i-=1;return a===-1}function $L(e,t,n){let a=[];for(let{selectors:i,settings:r}of e)for(let s of i)if(ML(s,t,n)){a.push(r);break}return a}function F8(e,t,n,a=Ms){let i=Object.entries(n.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),r=i.map(l=>{let p=a(e,t,{...n,theme:l.theme});return{tokens:p,state:Xt(p),theme:typeof l.theme=="string"?l.theme:l.theme.name}}),s=LL(...r.map(l=>l.tokens)),c=s[0].map((l,p)=>l.map((u,m)=>{let d={content:u.content,variants:{},offset:u.offset};return"includeExplanation"in n&&n.includeExplanation&&(d.explanation=u.explanation),s.forEach((f,w)=>{let{content:x,explanation:v,offset:b,..._}=f[p][m];d.variants[i[w].color]=_}),d})),o=r[0].state?new Z8(Object.fromEntries(r.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),r[0].state.lang):void 0;return o&&I6(c,o),c}function LL(...e){let t=e.map(()=>[]),n=e.length;for(let a=0;ao[a]),r=t.map(()=>[]);t.forEach((o,l)=>o.push(r[l]));let s=i.map(()=>0),c=i.map(o=>o[0]);for(;c.every(o=>o);){let o=Math.min(...c.map(l=>l.content.length));for(let l=0;lk1,booleanish:()=>A0,commaOrSpaceSeparated:()=>j2,commaSeparated:()=>p3,number:()=>X,overloadedBoolean:()=>j8,spaceSeparated:()=>K1});var SL=0,k1=I4(),A0=I4(),j8=I4(),X=I4(),K1=I4(),p3=I4(),j2=I4();function I4(){return 2**++SL}var Ss=Object.keys(P6),B4=class extends W0{constructor(t,n,a,i){let r=-1;if(super(t,n),Ng(this,"space",i),typeof a=="number")for(;++r4&&n.slice(0,4)==="data"&&ZL.test(t)){if(t.charAt(4)==="-"){let r=t.slice(5).replace(qg,jL);a="data"+r.charAt(0).toUpperCase()+r.slice(1)}else{let r=t.slice(4);if(!qg.test(r)){let s=r.replace(EL,FL);s.charAt(0)!=="-"&&(s="-"+s),t="data"+s}}i=B4}return new i(a,t)}function FL(e){return"-"+e.toLowerCase()}function jL(e){return e.charAt(1).toUpperCase()}var T8=Ls([Es,Tg,Zs,Fs,js],"html"),V8=Ls([Es,Vg,Zs,Fs,js],"svg");var Ig={}.hasOwnProperty;function Bg(e,t){let n=t||{};function a(i,...r){let s=a.invalid,c=a.handlers;if(i&&Ig.call(i,e)){let o=String(i[e]);s=Ig.call(c,o)?c[o]:a.unknown}if(s)return s.call(this,i,...r)}return a.handlers=n.handlers||{},a.invalid=n.invalid,a.unknown=n.unknown,a}var HL=/["&'<>`]/g,NL=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,TL=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,VL=/[|\\{}()[\]^$+*?.]/g,Pg=new WeakMap;function Rg(e,t){if(e=e.replace(t.subset?qL(t.subset):HL,a),t.subset||t.escapeOnly)return e;return e.replace(NL,n).replace(TL,a);function n(i,r,s){return t.format((i.charCodeAt(0)-55296)*1024+i.charCodeAt(1)-56320+65536,s.charCodeAt(r+2),t)}function a(i,r,s){return t.format(i.charCodeAt(0),s.charCodeAt(r+1),t)}}function qL(e){let t=Pg.get(e);return t||(t=IL(e),Pg.set(e,t)),t}function IL(e){let t=[],n=-1;for(;++n",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var Wg=["cent","copy","divide","gt","lt","not","para","times"];var Ug={}.hasOwnProperty,Ns={},I8;for(I8 in q8)Ug.call(q8,I8)&&(Ns[q8[I8]]=I8);var RL=/[^\dA-Za-z]/;function Xg(e,t,n,a){let i=String.fromCharCode(e);if(Ug.call(Ns,i)){let r=Ns[i],s="&"+r;return n&&Og.includes(r)&&!Wg.includes(r)&&(!a||t&&t!==61&&RL.test(String.fromCharCode(t)))?s:s+";"}return""}function Kg(e,t,n){let a=Dg(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=Xg(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let r=Gg(e,t,n.omitOptionalSemicolons);r.length|^->||--!>|"],OL=["<",">"];function Yg(e,t,n,a){return a.settings.bogusComments?"":"";function i(r){return u3(r,Object.assign({},a.settings.characterReferences,{subset:OL}))}}function Jg(e,t,n,a){return""}function Kt(e,t){let n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let a=0,i=n.indexOf(t);for(;i!==-1;)a++,i=n.indexOf(t,i+t.length);return a}function Qg(e,t){let n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function eb(e){return e.join(" ").trim()}var WL=/[ \t\n\f\r]/g;function P4(e){return typeof e=="object"?e.type==="text"?tb(e.value):!1:tb(e)}function tb(e){return e.replace(WL,"")===""}var E0=nb(1),Ts=nb(-1),UL=[];function nb(e){return t;function t(n,a,i){let r=n?n.children:UL,s=(a||0)+e,c=r[s];if(!i)for(;c&&P4(c);)s+=e,c=r[s];return c}}var XL={}.hasOwnProperty;function B8(e){return t;function t(n,a,i){return XL.call(e,n.tagName)&&e[n.tagName](n,a,i)}}var R6=B8({body:YL,caption:Vs,colgroup:Vs,dd:tS,dt:eS,head:Vs,html:KL,li:QL,optgroup:nS,option:aS,p:JL,rp:ab,rt:ab,tbody:rS,td:ib,tfoot:sS,th:ib,thead:iS,tr:cS});function Vs(e,t,n){let a=E0(n,t,!0);return!a||a.type!=="comment"&&!(a.type==="text"&&P4(a.value.charAt(0)))}function KL(e,t,n){let a=E0(n,t);return!a||a.type!=="comment"}function YL(e,t,n){let a=E0(n,t);return!a||a.type!=="comment"}function JL(e,t,n){let a=E0(n,t);return a?a.type==="element"&&(a.tagName==="address"||a.tagName==="article"||a.tagName==="aside"||a.tagName==="blockquote"||a.tagName==="details"||a.tagName==="div"||a.tagName==="dl"||a.tagName==="fieldset"||a.tagName==="figcaption"||a.tagName==="figure"||a.tagName==="footer"||a.tagName==="form"||a.tagName==="h1"||a.tagName==="h2"||a.tagName==="h3"||a.tagName==="h4"||a.tagName==="h5"||a.tagName==="h6"||a.tagName==="header"||a.tagName==="hgroup"||a.tagName==="hr"||a.tagName==="main"||a.tagName==="menu"||a.tagName==="nav"||a.tagName==="ol"||a.tagName==="p"||a.tagName==="pre"||a.tagName==="section"||a.tagName==="table"||a.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"||n.tagName.includes("-")))}function QL(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&a.tagName==="li"}function eS(e,t,n){let a=E0(n,t);return!!(a&&a.type==="element"&&(a.tagName==="dt"||a.tagName==="dd"))}function tS(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&(a.tagName==="dt"||a.tagName==="dd")}function ab(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&(a.tagName==="rp"||a.tagName==="rt")}function nS(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&a.tagName==="optgroup"}function aS(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&(a.tagName==="option"||a.tagName==="optgroup")}function iS(e,t,n){let a=E0(n,t);return!!(a&&a.type==="element"&&(a.tagName==="tbody"||a.tagName==="tfoot"))}function rS(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&(a.tagName==="tbody"||a.tagName==="tfoot")}function sS(e,t,n){return!E0(n,t)}function cS(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&a.tagName==="tr"}function ib(e,t,n){let a=E0(n,t);return!a||a.type==="element"&&(a.tagName==="td"||a.tagName==="th")}var rb=B8({body:pS,colgroup:uS,head:lS,html:oS,tbody:mS});function oS(e){let t=E0(e,-1);return!t||t.type!=="comment"}function lS(e){let t=new Set;for(let a of e.children)if(a.type==="element"&&(a.tagName==="base"||a.tagName==="title")){if(t.has(a.tagName))return!1;t.add(a.tagName)}let n=e.children[0];return!n||n.type==="element"}function pS(e){let t=E0(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&P4(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function uS(e,t,n){let a=Ts(n,t);if(n&&a&&a.type==="element"&&a.tagName==="colgroup"&&R6(a,n.children.indexOf(a),n))return!1;let i=E0(e,-1,!0);return!!(i&&i.type==="element"&&i.tagName==="col")}function mS(e,t,n){let a=Ts(n,t);if(n&&a&&a.type==="element"&&(a.tagName==="thead"||a.tagName==="tbody")&&R6(a,n.children.indexOf(a),n))return!1;let i=E0(e,-1);return!!(i&&i.type==="element"&&i.tagName==="tr")}var P8={name:[[" \n\f\r &/=>".split("")," \n\f\r \"&'/=>`".split("")],["\0 \n\f\r \"&'/<=>".split(""),"\0 \n\f\r \"&'/<=>`".split("")]],unquoted:[[" \n\f\r &>".split(""),"\0 \n\f\r \"&'<=>`".split("")],["\0 \n\f\r \"&'<=>`".split(""),"\0 \n\f\r \"&'<=>`".split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]},dS=new Set(["desc","foreignObject","title"]);function sb(e,t,n,a){let{schema:i}=a,r=i.space==="svg"?!1:a.settings.omitOptionalTags,s=i.space==="svg"?a.settings.closeEmptyElements:a.settings.voids.includes(e.tagName.toLowerCase()),c=[];i.space==="html"&&e.tagName==="svg"&&(a.schema=V8);let o=hS(a,e.properties);a.schema.space==="svg"&&dS.has(e.tagName)&&(a.schema=T8);let l=a.all(i.space==="html"&&e.tagName==="template"?e.content:e);if(a.schema=i,l&&(s=!1),o||!r||!rb(e,t,n)){if(c.push("<",e.tagName,o?" "+o:""),s&&(i.space==="svg"||a.settings.closeSelfClosing)){let p=o.charAt(o.length-1);(!a.settings.tightSelfClosing||p==="/"||p&&p!=='"'&&p!=="'")&&c.push(" "),c.push("/")}c.push(">")}return c.push(l),!s&&(!r||!R6(e,t,n))&&c.push(""),c.join("")}function hS(e,t){let n=[],a=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let r=gS(e,i,t[i]);r&&n.push(r)}}for(;++aKt(n,e.alternative)&&(o=e.alternative),c=o+u3(n,Object.assign({},e.settings.characterReferences,{subset:(o==="'"?P8.single:P8.double)[i][r],attribute:!0}))+o}return s+(c&&"="+c)}var bS=["<","&"];function R8(e,t,n,a){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?e.value:u3(e.value,Object.assign({},a.settings.characterReferences,{subset:bS}))}function cb(e,t,n,a){return a.settings.allowDangerousHtml?e.value:R8(e,t,n,a)}function ob(e,t,n,a){return a.all(e)}var lb=Bg("type",{invalid:fS,unknown:vS,handlers:{comment:Yg,doctype:Jg,element:sb,raw:cb,root:ob,text:R8}});function fS(e){throw new Error("Expected node, not `"+e+"`")}function vS(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var yS={},_S={},wS=[];function qs(e,t){let n=t||yS,a=n.quote||'"';if(a!=='"'&&a!=="'")throw new Error("Invalid quote `"+a+"`, expected `'` or `\"`");let i=a==='"'?"'":'"';return{one:xS,all:kS,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||Hg,characterReferences:n.characterReferences||_S,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?V8:T8,quote:a,alternative:i}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function xS(e,t,n){return lb(e,t,n,this)}function kS(e){let t=[],n=e&&e.children||wS,a=-1;for(;++ai);function n(i){if(i===e.length)return{line:t.length-1,character:t.at(-1).length};let r=i,s=0;for(let c of t){if(rn&&a.push({...e,content:e.content.slice(n,i),offset:e.offset+n}),n=i;return n>1);e[i]<=t?n=i+1:a=i}return n}function LS(e,t){let n=[...t instanceof Set?t:new Set(t)].sort((a,i)=>a-i);return n.length?e.map(a=>a.flatMap(i=>{let r=i.offset+i.content.length,s=$S(n,i.offset),c=s;for(;cD8(e.variants[p])),c=new Set(s.flatMap(p=>Object.keys(p))),o={},l=(p,u)=>{let m=u==="color"?"":u==="background-color"?"-bg":"-".concat(u);return n+t[p]+(u==="color"?"":m)};return s.forEach((p,u)=>{for(let m of c){let d=p[m]||"inherit";if(u===0&&a&&AS.includes(m))if(a==="light-dark()"&&s.length>1){let f=t.findIndex(b=>b==="light"),w=t.findIndex(b=>b==="dark");if(f===-1||w===-1)throw new t0('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let x=s[f][m]||"inherit",v=s[w][m]||"inherit";o[m]="light-dark(".concat(x,", ").concat(v,")"),i==="css-vars"&&(o[l(u,m)]=d)}else o[m]=d;else i==="css-vars"&&(o[l(u,m)]=d)}}),r.htmlStyle=o,r}function D8(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Q0.Italic&&(t["font-style"]="italic"),e.fontStyle&Q0.Bold&&(t["font-weight"]="bold");let n=[];e.fontStyle&Q0.Underline&&n.push("underline"),e.fontStyle&Q0.Strikethrough&&n.push("line-through"),n.length&&(t["text-decoration"]=n.join(" "))}return t}function Bs(e){return typeof e=="string"?e:Object.entries(e).map(([t,n])=>"".concat(t,":").concat(n)).join(";")}function ES(){let e=new WeakMap;function t(n){if(!e.has(n.meta)){let i=function(s){if(typeof s=="number"){if(s<0||s>n.source.length)throw new t0("Invalid decoration offset: ".concat(s,". Code length: ").concat(n.source.length));return{...a.indexToPos(s),offset:s}}else{let c=a.lines[s.line];if(c===void 0)throw new t0("Invalid decoration position ".concat(JSON.stringify(s),". Lines length: ").concat(a.lines.length));let o=s.character;if(o<0&&(o=c.length+o),o<0||o>c.length)throw new t0("Invalid decoration position ".concat(JSON.stringify(s),". Line ").concat(s.line," length: ").concat(c.length));return{...s,character:o,offset:a.posToIndex(s.line,o)}}},a=CS(n.source),r=(n.options.decorations||[]).map(s=>({...s,start:i(s.start),end:i(s.end)}));ZS(r),e.set(n.meta,{decorations:r,converter:a,source:n.source})}return e.get(n.meta)}return{name:"shiki:decorations",tokens(n){if(this.options.decorations?.length)return LS(n,t(this).decorations.flatMap(a=>[a.start.offset,a.end.offset]))},code(n){if(!this.options.decorations?.length)return;let a=t(this),i=[...n.children].filter(p=>p.type==="element"&&p.tagName==="span");if(i.length!==a.converter.lines.length)throw new t0("Number of lines in code element (".concat(i.length,") does not match the number of lines in the source (").concat(a.converter.lines.length,"). Failed to apply decorations."));function r(p,u,m,d){let f=i[p],w="",x=-1,v=-1;if(u===0&&(x=0),m===0&&(v=0),m===Number.POSITIVE_INFINITY&&(v=f.children.length),x===-1||v===-1)for(let _=0;_w);return p.tagName=u.tagName||"span",p.properties={...p.properties,...d,class:p.properties.class},u.properties?.class&&db(p,u.properties.class),p=f(p,m)||p,p}let o=[],l=a.decorations.sort((p,u)=>u.start.offset-p.start.offset||p.end.offset-u.end.offset);for(let p of l){let{start:u,end:m}=p;if(u.line===m.line)r(u.line,u.character,m.character,p);else if(u.lines(d,p));r(m.line,0,m.character,p)}}o.forEach(p=>p())}}}function ZS(e){for(let t=0;tn.end.offset)throw new t0("Invalid decoration range: ".concat(JSON.stringify(n.start)," - ").concat(JSON.stringify(n.end)));for(let a=t+1;aNumber.parseInt(a));return n.length!==3||n.some(a=>Number.isNaN(a))?void 0:{type:"rgb",rgb:n}}else if(t==="5"){let n=e.shift();if(n)return{type:"table",index:Number(n)}}}function NS(e){let t=[];for(;e.length>0;){let n=e.shift();if(!n)continue;let a=Number.parseInt(n);if(!Number.isNaN(a))if(a===0)t.push({type:"resetAll"});else if(a<=9)Is[a]&&t.push({type:"setDecoration",value:Is[a]});else if(a<=29){let i=Is[a-20];i&&(t.push({type:"resetDecoration",value:i}),i==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(a<=37)t.push({type:"setForegroundColor",value:{type:"named",name:R4[a-30]}});else if(a===38){let i=ub(e);i&&t.push({type:"setForegroundColor",value:i})}else if(a===39)t.push({type:"resetForegroundColor"});else if(a<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:R4[a-40]}});else if(a===48){let i=ub(e);i&&t.push({type:"setBackgroundColor",value:i})}else a===49?t.push({type:"resetBackgroundColor"}):a===53?t.push({type:"setDecoration",value:"overline"}):a===55?t.push({type:"resetDecoration",value:"overline"}):a>=90&&a<=97?t.push({type:"setForegroundColor",value:{type:"named",name:R4[a-90+8]}}):a>=100&&a<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:R4[a-100+8]}})}return t}function TS(){let e=null,t=null,n=new Set;return{parse(a){let i=[],r=0;do{let s=HS(a,r),c=s.sequence?a.substring(r,s.startPosition):a.substring(r);if(c.length>0&&i.push({value:c,foreground:e,background:t,decorations:new Set(n)}),s.sequence){let o=NS(s.sequence);for(let l of o)l.type==="resetAll"?(e=null,t=null,n.clear()):l.type==="resetForegroundColor"?e=null:l.type==="resetBackgroundColor"?t=null:l.type==="resetDecoration"&&n.delete(l.value);for(let l of o)l.type==="setForegroundColor"?e=l.value:l.type==="setBackgroundColor"?t=l.value:l.type==="setDecoration"&&n.add(l.value)}r=s.position}while(rMath.max(0,Math.min(o,255)).toString(16).padStart(2,"0")).join(""))}let a;function i(){if(a)return a;a=[];for(let l=0;l{let o="terminal.ansi".concat(c[0].toUpperCase()).concat(c.substring(1));return[c,e.colors?.[o]||PS[c]]}))),s=TS();return i.map(c=>s.parse(c[0]).map(o=>{let l,p;o.decorations.has("reverse")?(l=o.background?r.value(o.background):e.bg,p=o.foreground?r.value(o.foreground):e.fg):(l=o.foreground?r.value(o.foreground):e.fg,p=o.background?r.value(o.background):void 0),l=o3(l,a),p=o3(p,a),o.decorations.has("dim")&&(l=DS(l));let u=Q0.None;return o.decorations.has("bold")&&(u|=Q0.Bold),o.decorations.has("italic")&&(u|=Q0.Italic),o.decorations.has("underline")&&(u|=Q0.Underline),o.decorations.has("strikethrough")&&(u|=Q0.Strikethrough),{content:o.value,offset:c[1],color:l,bgColor:p,fontStyle:u}}))}function DS(e){let t=e.match(IS);if(t){let a=t[1];if(a.length===8){let i=Math.round(Number.parseInt(a.slice(6,8),16)/2).toString(16).padStart(2,"0");return"#".concat(a.slice(0,6)).concat(i)}else{if(a.length===6)return"#".concat(a,"80");if(a.length===4){let i=a[0],r=a[1],s=a[2],c=a[3];return"#".concat(i).concat(i).concat(r).concat(r).concat(s).concat(s).concat(Math.round(Number.parseInt("".concat(c).concat(c),16)/2).toString(16).padStart(2,"0"))}else if(a.length===3){let i=a[0],r=a[1],s=a[2];return"#".concat(i).concat(i).concat(r).concat(r).concat(s).concat(s,"80")}}}let n=e.match(BS);return n?"var(".concat(n[1],"-dim)"):e}function Ps(e,t,n={}){let a=e.resolveLangAlias(n.lang||"text"),{theme:i=e.getLoadedThemes()[0]}=n;if(!V6(a)&&!q6(i)&&a==="ansi"){let{theme:r}=e.setTheme(i);return RS(r,t,n)}return Ms(e,t,n)}function O8(e,t,n){let a,i,r,s,c,o;if("themes"in n){let{defaultColor:l="light",cssVariablePrefix:p="--shiki-",colorsRendering:u="css-vars"}=n,m=Object.entries(n.themes).filter(v=>v[1]).map(v=>({color:v[0],theme:v[1]})).sort((v,b)=>v.color===l?-1:b.color===l?1:0);if(m.length===0)throw new t0("`themes` option must not be empty");let d=F8(e,t,n,Ps);if(o=Xt(d),l&&l!=="light-dark()"&&!m.some(v=>v.color===l))throw new t0("`themes` option must contain the defaultColor key `".concat(l,"`"));let f=m.map(v=>e.getTheme(v.theme)),w=m.map(v=>v.color);r=d.map(v=>v.map(b=>SS(b,w,p,l,u))),o&&I6(r,o);let x=m.map(v=>T6(v.theme,n));i=mb(m,f,x,p,l,"fg",u),a=mb(m,f,x,p,l,"bg",u),s="shiki-themes ".concat(f.map(v=>v.name).join(" ")),c=l?void 0:[i,a].join(";")}else if("theme"in n){let l=T6(n.theme,n);r=Ps(e,t,n);let p=e.getTheme(n.theme);a=o3(p.bg,l),i=o3(p.fg,l),s=p.name,o=Xt(r)}else throw new t0("Invalid options, either `theme` or `themes` must be provided");return{tokens:r,fg:i,bg:a,themeName:s,rootStyle:c,grammarState:o}}function mb(e,t,n,a,i,r,s){return e.map((c,o)=>{let l=o3(t[o][r],n[o])||"inherit",p="".concat(a+c.color).concat(r==="bg"?"-bg":"",":").concat(l);if(o===0&&i){if(i==="light-dark()"&&e.length>1){let u=e.findIndex(d=>d.color==="light"),m=e.findIndex(d=>d.color==="dark");if(u===-1||m===-1)throw new t0('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return"light-dark(".concat(o3(t[u][r],n[u])||"inherit",", ").concat(o3(t[m][r],n[m])||"inherit",");").concat(p)}return l}return s==="css-vars"?p:null}).filter(c=>!!c).join(";")}var gb=/^\s+$/,GS=/^(\s*)(.*?)(\s*)$/;function W8(e,t,n,a={meta:{},options:n,codeToHast:(i,r)=>W8(e,i,r),codeToTokens:(i,r)=>O8(e,i,r)}){let i=t;for(let f of G8(n))i=f.preprocess?.call(a,i,n)||i;let{tokens:r,fg:s,bg:c,themeName:o,rootStyle:l,grammarState:p}=O8(e,i,n),{mergeWhitespaces:u=!0,mergeSameStyleTokens:m=!1}=n;u===!0?r=WS(r):u==="never"&&(r=US(r)),m&&(r=XS(r));let d={...a,get source(){return i}};for(let f of G8(n))r=f.tokens?.call(d,r)||r;return OS(r,{...n,fg:s,bg:c,themeName:o,rootStyle:n.rootStyle===!1?!1:n.rootStyle??l},d,p)}function OS(e,t,n,a=Xt(e)){let i=G8(t),r=[],s={type:"root",children:[]},{structure:c="classic",tabindex:o="0"}=t,l={class:"shiki ".concat(t.themeName||"")};t.rootStyle!==!1&&(t.rootStyle!=null?l.style=t.rootStyle:l.style="background-color:".concat(t.bg,";color:").concat(t.fg)),o!==!1&&o!=null&&(l.tabindex=o.toString());for(let[w,x]of Object.entries(t.meta||{}))w.startsWith("_")||(l[w]=x);let p={type:"element",tagName:"pre",properties:l,children:[],data:t.data},u={type:"element",tagName:"code",properties:{},children:r},m=[],d={...n,structure:c,addClassToHast:db,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return p},get code(){return u},get lines(){return m}};if(e.forEach((w,x)=>{x&&(c==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):c==="classic"&&r.push({type:"text",value:"\n"}));let v={type:"element",tagName:"span",properties:{class:"line"},children:[]},b=0;for(let _ of w){let z={type:"element",tagName:"span",properties:{..._.htmlAttrs},children:[{type:"text",value:_.content}]},$=Bs(_.htmlStyle||D8(_));$&&(z.properties.style=$);for(let C of i)z=C?.span?.call(d,z,x+1,b,v,_)||z;c==="inline"?s.children.push(z):c==="classic"&&v.children.push(z),b+=_.content.length}if(c==="classic"){for(let _ of i)v=_?.line?.call(d,v,x+1)||v;m.push(v),r.push(v)}else c==="inline"&&m.push(v)}),c==="classic"){for(let w of i)u=w?.code?.call(d,u)||u;p.children.push(u);for(let w of i)p=w?.pre?.call(d,p)||p;s.children.push(p)}else if(c==="inline"){let w=[],x={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let b of s.children)b.type==="element"&&b.tagName==="br"?(w.push(x),x={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(b.type==="element"||b.type==="text")&&x.children.push(b);w.push(x);let v={type:"element",tagName:"code",properties:{},children:w};for(let b of i)v=b?.code?.call(d,v)||v;s.children=[];for(let b=0;b0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let _=v.children[b];_.type==="element"&&s.children.push(..._.children)}}let f=s;for(let w of i)f=w?.root?.call(d,f)||f;return a&&I6(f,a),f}function WS(e){return e.map(t=>{let n=[],a="",i;return t.forEach((r,s)=>{let c=!(r.fontStyle&&(r.fontStyle&Q0.Underline||r.fontStyle&Q0.Strikethrough));c&&gb.test(r.content)&&t[s+1]?(i===void 0&&(i=r.offset),a+=r.content):a?(c?n.push({...r,offset:i,content:a+r.content}):n.push({content:a,offset:i},r),i=void 0,a=""):n.push(r)}),n})}function US(e){return e.map(t=>t.flatMap(n=>{if(gb.test(n.content))return n;let a=n.content.match(GS);if(!a)return n;let[,i,r,s]=a;if(!i&&!s)return n;let c=[{...n,offset:n.offset+i.length,content:r}];return i&&c.unshift({content:i,offset:n.offset}),s&&c.push({content:s,offset:n.offset+i.length+r.length}),c}))}function XS(e){return e.map(t=>{let n=[];for(let a of t){if(n.length===0){n.push({...a});continue}let i=n.at(-1),r=Bs(i.htmlStyle||D8(i)),s=Bs(a.htmlStyle||D8(a)),c=i.fontStyle&&(i.fontStyle&Q0.Underline||i.fontStyle&Q0.Strikethrough),o=a.fontStyle&&(a.fontStyle&Q0.Underline||a.fontStyle&Q0.Strikethrough);!c&&!o&&r===s?i.content+=a.content:n.push({...a})}return n})}var KS=qs;function YS(e,t,n){let a={meta:{},options:n,codeToHast:(r,s)=>W8(e,r,s),codeToTokens:(r,s)=>O8(e,r,s)},i=KS(W8(e,t,n,a));for(let r of G8(n))i=r.postprocess?.call(a,i,n)||i;return i}function bb(e){let t=As(e);return{getLastGrammarState:(...n)=>Fg(t,...n),codeToTokensBase:(n,a)=>Ps(t,n,a),codeToTokensWithThemes:(n,a)=>F8(t,n,a),codeToTokens:(n,a)=>O8(t,n,a),codeToHast:(n,a)=>W8(t,n,a),codeToHtml:(n,a)=>YS(t,n,a),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function fb(e={}){let{name:t="css-variables",variablePrefix:n="--shiki-",fontStyle:a=!0}=e,i=s=>e.variableDefaults?.[s]?"var(".concat(n).concat(s,", ").concat(e.variableDefaults[s],")"):"var(".concat(n).concat(s,")"),r={name:t,type:"dark",colors:{"editor.foreground":i("foreground"),"editor.background":i("background"),"terminal.ansiBlack":i("ansi-black"),"terminal.ansiRed":i("ansi-red"),"terminal.ansiGreen":i("ansi-green"),"terminal.ansiYellow":i("ansi-yellow"),"terminal.ansiBlue":i("ansi-blue"),"terminal.ansiMagenta":i("ansi-magenta"),"terminal.ansiCyan":i("ansi-cyan"),"terminal.ansiWhite":i("ansi-white"),"terminal.ansiBrightBlack":i("ansi-bright-black"),"terminal.ansiBrightRed":i("ansi-bright-red"),"terminal.ansiBrightGreen":i("ansi-bright-green"),"terminal.ansiBrightYellow":i("ansi-bright-yellow"),"terminal.ansiBrightBlue":i("ansi-bright-blue"),"terminal.ansiBrightMagenta":i("ansi-bright-magenta"),"terminal.ansiBrightCyan":i("ansi-bright-cyan"),"terminal.ansiBrightWhite":i("ansi-bright-white")},tokenColors:[{scope:["keyword.operator.accessor","meta.group.braces.round.function.arguments","meta.template.expression","markup.fenced_code meta.embedded.block"],settings:{foreground:i("foreground")}},{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:i("token-link")}},{scope:["string","markup.fenced_code","markup.inline"],settings:{foreground:i("token-string")}},{scope:["comment","string.quoted.docstring.multi"],settings:{foreground:i("token-comment")}},{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:i("token-constant")}},{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:i("token-keyword")}},{scope:"variable.parameter.function",settings:{foreground:i("token-parameter")}},{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:i("token-function")}},{scope:["entity.name.tag","string.quoted","string.regexp","string.interpolated","string.template","string.unquoted.plain.out.yaml","keyword.other.template"],settings:{foreground:i("token-string-expression")}},{scope:["punctuation.definition.arguments","punctuation.definition.dict","punctuation.separator","meta.function-call.arguments"],settings:{foreground:i("token-punctuation")}},{scope:["markup.underline.link","punctuation.definition.metadata.markdown"],settings:{foreground:i("token-link")}},{scope:["beginning.punctuation.definition.list.markdown"],settings:{foreground:i("token-string")}},{scope:["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","string.other.link.title.markdown","string.other.link.description.markdown"],settings:{foreground:i("token-keyword")}},{scope:["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],settings:{foreground:i("token-inserted")}},{scope:["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],settings:{foreground:i("token-deleted")}},{scope:["markup.changed","punctuation.definition.changed"],settings:{foreground:i("token-changed")}}]};return a||(r.tokenColors=r.tokenColors?.map(s=>(s.settings?.fontStyle&&delete s.settings.fontStyle,s))),r}function JS(e){return!e.sticky&&!e.rawOptions?.strategy}function vb(e,t){return{index:e,captureIndices:t.map(n=>n==null?{start:4294967295,end:4294967295,length:0}:{start:n[0],end:n[1],length:n[1]-n[0]})}}var yb=class{patterns;options;regexps;lastSearches;constructor(e,t={}){this.patterns=e,this.options=t;let{forgiving:n=!1,cache:a,regexConstructor:i}=t;if(!i)throw new Error("Option `regexConstructor` is not provided");this.regexps=e.map(r=>{if(typeof r!="string")return r;let s=a?.get(r);if(s){if(s instanceof RegExp)return s;if(n)return null;throw s}try{let c=i(r);return a?.set(r,c),c}catch(c){if(a?.set(r,c),n)return null;throw c}}),this.lastSearches=this.regexps.map(r=>r&&JS(r)?{strId:0,searchedFrom:0,matchIndex:-1,indices:null}:null)}findNextMatchSync(e,t,n){let a=typeof e=="string"?e:e.content,i=typeof e=="string"?0:e.id||0,r=-1,s=0,c=null;for(let o=0;o=t))u=p.matchIndex,m=p.indices;else{l.lastIndex=t;let d=l.exec(a);u=d?d.index:-1,m=d?d.indices:null,p&&(p.strId=i,p.searchedFrom=t,p.matchIndex=u,p.indices=m)}if(u===-1)continue;if(u===t)return vb(o,m);(r===-1||u]*>?\n | [gk]'[^']*'?\n | .\n )\n | ( (?:\n ? (?:\n [:=!>({]\n | <[=!]\n | <[^>]*>\n | '[^']*'\n | ~|?\n | #(?:[^)\\]|\\.?)*\n | [^:)]*[:)]\n )?\n | *[^)]*)?\n )?\n | (?:",")+\n | ","\n | .\n"],["\n \\\\ (?:\n ","\n | [gk]<[^>]*>?\n | [gk]'[^']*'?\n | .\n )\n | \\( (?:\n \\? (?:\n [:=!>({]\n | <[=!]\n | <[^>]*>\n | '[^']*'\n | ~\\|?\n | #(?:[^)\\\\]|\\\\.?)*\n | [^:)]*[:)]\n )?\n | \\*[^\\)]*\\)?\n )?\n | (?:",")+\n | ","\n | .\n"])),Bb,Ds.source,Ib).replace(/\s+/g,""),"gsu"),jb,Rs=new RegExp(H0(jb||(jb=a1(["\n \\ (?:\n ","\n | .\n )\n | [:(?:^?p{Alpha}+|^):]\n | ","\n | &&\n | .\n"],["\n \\\\ (?:\n ","\n | .\n )\n | \\[:(?:\\^?\\p{Alpha}+|\\^):\\]\n | ","\n | &&\n | .\n"])),Bb,Ib).replace(/\s+/g,""),"gsu");function Pb(e,t={}){let n={flags:"",...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!="string")throw new Error("String expected as pattern");let a=vE(n.flags),i=[a.extended],r={captureGroup:n.rules.captureGroup,getCurrentModX(){return i.at(-1)},numOpenGroups:0,popModX(){i.pop()},pushModX(u){i.push(u)},replaceCurrentModX(u){i[i.length-1]=u},singleline:n.rules.singleline},s=[],c;for(U8.lastIndex=0;c=U8.exec(e);){let u=eE(r,e,c[0],U8.lastIndex);u.tokens?s.push(...u.tokens):u.token&&s.push(u.token),u.lastIndex!==void 0&&(U8.lastIndex=u.lastIndex)}let o=[],l=0;s.filter(u=>u.type==="GroupOpen").forEach(u=>{u.kind==="capturing"?u.number=++l:u.raw==="("&&o.push(u)}),l||o.forEach((u,m)=>{u.kind="capturing",u.number=m+1});let p=l||o.length;return{tokens:s.map(u=>u.type==="EscapedNumber"?_E(u,p):u).flat(),flags:a}}var Hb,Nb;function eE(e,t,n,a){let[i,r]=n;if(n==="["||n==="[^"){let s=tE(t,n,a);return{tokens:s.tokens,lastIndex:s.lastIndex}}if(i==="\\"){if("AbBGyYzZ".includes(r))return{token:xb(n,n)};if(/^\\g[<']/.test(n)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(n))throw new Error('Invalid group name "'.concat(n,'"'));return{token:uE(n)}}if(/^\\k[<']/.test(n)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(n))throw new Error('Invalid group name "'.concat(n,'"'));return{token:Db(n)}}if(r==="K")return{token:Gb("keep",n)};if(r==="N"||r==="R")return{token:D4("newline",n,{negate:r==="N"})};if(r==="O")return{token:D4("any",n)};if(r==="X")return{token:D4("text_segment",n)};let s=Rb(n,{inCharClass:!1});return Array.isArray(s)?{tokens:s}:{token:s}}if(i==="("){if(r==="*")return{token:gE(n)};if(n==="(?{")throw new Error('Unsupported callout "'.concat(n,'"'));if(n.startsWith("(?#")){if(t[a]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:a+1}}if(/^\(\?[-imx]+[:)]$/.test(n))return{token:hE(n,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,n==="("&&!e.captureGroup||n==="(?:")return{token:Yt("group",n)};if(n==="(?>")return{token:Yt("atomic",n)};if(n==="(?="||n==="(?!"||n==="(?<="||n==="(?")||n.startsWith("(?'")&&n.endsWith("'"))return{token:Yt("capturing",n,{...n!=="("&&{name:n.slice(3,-1)}})};if(n.startsWith("(?~")){if(n==="(?~|")throw new Error('Unsupported absence function kind "'.concat(n,'"'));return{token:Yt("absence_repeater",n)}}throw n==="(?("?new Error('Unsupported conditional "'.concat(n,'"')):new Error('Invalid or unsupported group option "'.concat(n,'"'))}if(n===")"){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:oE(n)}}if(e.getCurrentModX()){if(n==="#"){let s=t.indexOf("\n",a);return{lastIndex:s===-1?t.length:s}}if(/^\s$/.test(n)){let s=/\s+/y;return s.lastIndex=a,{lastIndex:s.exec(t)?s.lastIndex:a}}}if(n===".")return{token:D4("dot",n)};if(n==="^"||n==="$"){let s=e.singleline?{"^":H0(Hb||(Hb=a1(["A"],["\\A"]))),$:H0(Nb||(Nb=a1(["Z"],["\\Z"])))}[n]:n;return{token:xb(s,n)}}return n==="|"?{token:aE(n)}:Ds.test(n)?{tokens:wE(n)}:{token:d3(t4(n),n)}}function tE(e,t,n){let a=[kb(t[1]==="^",t)],i=1,r;for(Rs.lastIndex=n;r=Rs.exec(e);){let s=r[0];if(s[0]==="["&&s[1]!==":")i++,a.push(kb(s[1]==="^",s));else if(s==="]"){if(a.at(-1).type==="CharacterClassOpen")a.push(d3(93,s));else if(i--,a.push(iE(s)),!i)break}else{let c=nE(s);Array.isArray(c)?a.push(...c):a.push(c)}}return{tokens:a,lastIndex:Rs.lastIndex||e.length}}function nE(e){if(e[0]==="\\")return Rb(e,{inCharClass:!0});if(e[0]==="["){let t=/\[:(?\^?)(?[a-z]+):\]/.exec(e);if(!t||!D6.has(t.groups.name))throw new Error('Invalid POSIX class "'.concat(e,'"'));return D4("posix",e,{value:t.groups.name,negate:!!t.groups.negate})}return e==="-"?rE(e):e==="&&"?sE(e):d3(t4(e),e)}var Tb,Vb;function Rb(e,{inCharClass:t}){let n=e[1];if(n==="c"||n==="C")return dE(e);if("dDhHsSwW".includes(n))return bE(e);if(e.startsWith(H0(Tb||(Tb=a1(["o{"],["\\o{"])))))throw new Error('Incomplete, invalid, or unsupported octal code point "'.concat(e,'"'));if(/^\\[pP]\{/.test(e)){if(e.length===3)throw new Error('Incomplete or invalid Unicode property "'.concat(e,'"'));return fE(e)}if(/^\\x[89A-Fa-f]\p{AHex}/u.test(e))try{let a=e.split(/\\x/).slice(1).map(s=>parseInt(s,16)),i=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(a)),r=new TextEncoder;return[...i].map(s=>{let c=[...r.encode(s)].map(o=>"\\x".concat(o.toString(16))).join("");return d3(t4(s),c)})}catch{throw new Error('Multibyte code "'.concat(e,'" incomplete or invalid in Oniguruma'))}if(n==="u"||n==="x")return d3(yE(e),e);if(zb.has(n))return d3(zb.get(n),e);if(/\d/.test(n))return cE(t,e);if(e==="\\")throw new Error(H0(Vb||(Vb=a1(['Incomplete escape ""'],['Incomplete escape "\\"']))));if(n==="M")throw new Error('Unsupported meta "'.concat(e,'"'));if([...e].length===2)return d3(e.codePointAt(1),e);throw new Error('Unexpected escape "'.concat(e,'"'))}function aE(e){return{type:"Alternator",raw:e}}function xb(e,t){return{type:"Assertion",kind:e,raw:t}}function Db(e){return{type:"Backreference",raw:e}}function d3(e,t){return{type:"Character",value:e,raw:t}}function iE(e){return{type:"CharacterClassClose",raw:e}}function rE(e){return{type:"CharacterClassHyphen",raw:e}}function sE(e){return{type:"CharacterClassIntersector",raw:e}}function kb(e,t){return{type:"CharacterClassOpen",negate:e,raw:t}}function D4(e,t,n={}){return{type:"CharacterSet",kind:e,...n,raw:t}}function Gb(e,t,n={}){return e==="keep"?{type:"Directive",kind:e,raw:t}:{type:"Directive",kind:e,flags:m3(n.flags),raw:t}}function cE(e,t){return{type:"EscapedNumber",inCharClass:e,raw:t}}function oE(e){return{type:"GroupClose",raw:e}}function Yt(e,t,n={}){return{type:"GroupOpen",kind:e,...n,raw:t}}function lE(e,t,n,a){return{type:"NamedCallout",kind:e,tag:t,arguments:n,raw:a}}function pE(e,t,n,a){return{type:"Quantifier",kind:e,min:t,max:n,raw:a}}function uE(e){return{type:"Subroutine",raw:e}}var mE=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),zb=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function dE(e){let t=e[1]==="c"?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw new Error('Unsupported control character "'.concat(e,'"'));return d3(t4(t.toUpperCase())-64,e)}function hE(e,t){let{on:n,off:a}=/^\(\?(?[imx]*)(?:-(?[-imx]*))?/.exec(e).groups;a??="";let i=(t.getCurrentModX()||n.includes("x"))&&!a.includes("x"),r=Ab(n),s=Ab(a),c={};if(r&&(c.enable=r),s&&(c.disable=s),e.endsWith(")"))return t.replaceCurrentModX(i),Gb("flags",e,{flags:c});if(e.endsWith(":"))return t.pushModX(i),t.numOpenGroups++,Yt("group",e,{...(r||s)&&{flags:c}});throw new Error('Unexpected flag modifier "'.concat(e,'"'))}function gE(e){let t=/\(\*(?[A-Za-z_]\w*)?(?:\[(?(?:[A-Za-z_]\w*)?)\])?(?:\{(?[^}]*)\})?\)/.exec(e);if(!t)throw new Error('Incomplete or invalid named callout "'.concat(e,'"'));let{name:n,tag:a,args:i}=t.groups;if(!n)throw new Error('Invalid named callout "'.concat(e,'"'));if(a==="")throw new Error('Named callout tag with empty value not allowed "'.concat(e,'"'));let r=i?i.split(",").filter(p=>p!=="").map(p=>/^[+-]?\d+$/.test(p)?+p:p):[],[s,c,o]=r,l=mE.has(n)?n.toLowerCase():"custom";switch(l){case"fail":case"mismatch":case"skip":if(r.length>0)throw new Error('Named callout arguments not allowed "'.concat(r,'"'));break;case"error":if(r.length>1)throw new Error('Named callout allows only one argument "'.concat(r,'"'));if(typeof s=="string")throw new Error('Named callout argument must be a number "'.concat(s,'"'));break;case"max":if(!r.length||r.length>2)throw new Error('Named callout must have one or two arguments "'.concat(r,'"'));if(typeof s=="string"&&!/^[A-Za-z_]\w*$/.test(s))throw new Error('Named callout argument one must be a tag or number "'.concat(s,'"'));if(r.length===2&&(typeof c=="number"||!/^[<>X]$/.test(c)))throw new Error("Named callout optional argument two must be '<', '>', or 'X' \"".concat(c,'"'));break;case"count":case"total_count":if(r.length>1)throw new Error('Named callout allows only one argument "'.concat(r,'"'));if(r.length===1&&(typeof s=="number"||!/^[<>X]$/.test(s)))throw new Error("Named callout optional argument must be '<', '>', or 'X' \"".concat(s,'"'));break;case"cmp":if(r.length!==3)throw new Error('Named callout must have three arguments "'.concat(r,'"'));if(typeof s=="string"&&!/^[A-Za-z_]\w*$/.test(s))throw new Error('Named callout argument one must be a tag or number "'.concat(s,'"'));if(typeof c=="number"||!/^(?:[<>!=]=|[<>])$/.test(c))throw new Error("Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' \"".concat(c,'"'));if(typeof o=="string"&&!/^[A-Za-z_]\w*$/.test(o))throw new Error('Named callout argument three must be a tag or number "'.concat(o,'"'));break;case"custom":throw new Error('Undefined callout name "'.concat(n,'"'));default:throw new Error('Unexpected named callout kind "'.concat(l,'"'))}return lE(l,a??null,i?.split(",")??null,e)}function Cb(e){let t=null,n,a;if(e[0]==="{"){let{minStr:i,maxStr:r}=/^\{(?\d*)(?:,(?\d*))?/.exec(e).groups,s=1e5;if(+i>s||r&&+r>s)throw new Error("Quantifier value unsupported in Oniguruma");if(n=+i,a=r===void 0?+i:r===""?1/0:+r,n>a&&(t="possessive",[n,a]=[a,n]),e.endsWith("?")){if(t==="possessive")throw new Error('Unsupported possessive interval quantifier chain with "?"');t="lazy"}else t||(t="greedy")}else n=e[0]==="+"?1:0,a=e[0]==="?"?1:1/0,t=e[1]==="+"?"possessive":e[1]==="?"?"lazy":"greedy";return pE(t,n,a,e)}function bE(e){let t=e[1].toLowerCase();return D4({d:"digit",h:"hex",s:"space",w:"word"}[t],e,{negate:e[1]!==t})}function fE(e){let{p:t,neg:n,value:a}=/^\\(?

[pP])\{(?\^?)(?[^}]+)/.exec(e).groups;return D4("property",e,{value:a,negate:t==="P"&&!n||t==="p"&&!!n})}function Ab(e){let t={};return e.includes("i")&&(t.ignoreCase=!0),e.includes("m")&&(t.dotAll=!0),e.includes("x")&&(t.extended=!0),Object.keys(t).length?t:null}function vE(e){let t={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let n=0;n\p{AHex}+)/u.exec(e).groups.hex:e.slice(2);return parseInt(t,16)}var qb;function _E(e,t){let{raw:n,inCharClass:a}=e,i=n.slice(1);if(!a&&(i!=="0"&&i.length===1||i[0]!=="0"&&+i<=t))return[Db(n)];let r=[],s=i.match(/^[0-7]+|\d/g);for(let c=0;c127)throw new Error(H0(qb||(qb=a1(['Octal encoded byte above 177 unsupported "','"'])),n))}else l=t4(o);r.push(d3(l,(c===0?"\\":"")+o))}return r}function wE(e){let t=[],n=new RegExp(Ds,"gy"),a;for(;a=n.exec(e);){let i=a[0];if(i[0]==="{"){let r=/^\{(?\d+),(?\d+)\}\??$/.exec(i);if(r){let{min:s,max:c}=r.groups;if(+s>+c&&i.endsWith("?")){n.lastIndex--,t.push(Cb(i.slice(0,-1)));continue}}}t.push(Cb(i))}return t}function X8(e,t){if(!Array.isArray(e.body))throw new Error("Expected node with body array");if(e.body.length!==1)return!1;let n=e.body[0];return!t||Object.keys(t).every(a=>t[a]===n[a])}function Ob(e){return xE.has(e.type)}var xE=new Set(["AbsenceFunction","Backreference","CapturingGroup","Character","CharacterClass","CharacterSet","Group","Quantifier","Subroutine"]);var Yb,Jb;function Y8(e,t={}){let n={flags:"",normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},a=Pb(e,{flags:n.flags,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline}}),i=(m,d)=>{let f=a.tokens[r.nextIndex];switch(r.parent=m,r.nextIndex++,f.type){case"Alternator":return h3();case"Assertion":return kE(f);case"Backreference":return zE(f,r);case"Character":return Jt(f.value,{useLastValid:!!d.isCheckingRangeEnd});case"CharacterClassHyphen":return CE(f,r,d);case"CharacterClassOpen":return AE(f,r,d);case"CharacterSet":return ME(f,r);case"Directive":return FE(f.kind,{flags:f.flags});case"GroupOpen":return $E(f,r,d);case"NamedCallout":return HE(f.kind,f.tag,f.arguments);case"Quantifier":return LE(f,r);case"Subroutine":return SE(f,r);default:throw new Error('Unexpected token type "'.concat(f.type,'"'))}},r={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:n.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:n.skipBackrefValidation,skipLookbehindValidation:n.skipLookbehindValidation,skipPropertyNameValidation:n.skipPropertyNameValidation,subroutines:[],tokens:a.tokens,unicodePropertyMap:n.unicodePropertyMap,walk:i},s=TE(jE(a.flags)),c=s.body[0];for(;r.nextIndexo.length)throw new Error("Subroutine uses a group number that's not defined");m&&(o[m-1].isSubroutined=!0)}else if(p.has(m)){if(p.get(m).length>1)throw new Error(H0(Yb||(Yb=a1(['Subroutine uses a duplicate group name "g<','>"'],['Subroutine uses a duplicate group name "\\g<','>"'])),m));p.get(m)[0].isSubroutined=!0}else throw new Error(H0(Jb||(Jb=a1(["Subroutine uses a group name that's not defined \"g<",'>"'],["Subroutine uses a group name that's not defined \"\\g<",'>"'])),m));return s}var Qb,ef;function kE({kind:e}){return J8(m3({"^":"line_start",$:"line_end","\\A":"string_start","\\b":"word_boundary","\\B":"word_boundary","\\G":"search_start","\\y":"text_segment_boundary","\\Y":"text_segment_boundary","\\z":"string_end","\\Z":"string_end_newline"}[e],'Unexpected assertion kind "'.concat(e,'"')),{negate:e===H0(Qb||(Qb=a1(["B"],["\\B"])))||e===H0(ef||(ef=a1(["Y"],["\\Y"])))})}function zE({raw:e},t){let n=/^\\k[<']/.test(e),a=n?e.slice(3,-1):e.slice(1),i=(r,s=!1)=>{let c=t.capturingGroups.length,o=!1;if(r>c)if(t.skipBackrefValidation)o=!0;else throw new Error('Not enough capturing groups defined to the left "'.concat(e,'"'));return t.hasNumberedRef=!0,K8(s?c+1-r:r,{orphan:o})};if(n){let r=/^(?-?)0*(?[1-9]\d*)$/.exec(a);if(r)return i(+r.groups.num,!!r.groups.sign);if(/[-+]/.test(a))throw new Error('Invalid backref name "'.concat(e,'"'));if(!t.namedGroupsByName.has(a))throw new Error('Group name not defined to the left "'.concat(e,'"'));return K8(a)}return i(+a)}function CE(e,t,n){let{tokens:a,walk:i}=t,r=t.parent,s=r.body.at(-1),c=a[t.nextIndex];if(!n.isCheckingRangeEnd&&s&&s.type!=="CharacterClass"&&s.type!=="CharacterClassRange"&&c&&c.type!=="CharacterClassOpen"&&c.type!=="CharacterClassClose"&&c.type!=="CharacterClassIntersector"){let o=i(r,{...n,isCheckingRangeEnd:!0});if(s.type==="Character"&&o.type==="Character")return r.body.pop(),ZE(s,o);throw new Error("Invalid character class range")}return Jt(t4("-"))}function AE({negate:e},t,n){let{tokens:a,walk:i}=t,r=[G6()],s=a[t.nextIndex],c=Xb(s);for(;c.type!=="CharacterClassClose";){if(c.type==="CharacterClassIntersector")r.push(G6()),t.nextIndex++;else{let l=r.at(-1);l.body.push(i(l,n))}c=Xb(a[t.nextIndex],s)}let o=G6({negate:e});return r.length===1?o.body=r[0].body:(o.kind="intersection",o.body=r.map(l=>l.body.length===1?l.body[0]:l)),t.nextIndex++,o}function ME({kind:e,negate:t,value:n},a){let{normalizeUnknownPropertyNames:i,skipPropertyNameValidation:r,unicodePropertyMap:s}=a;if(e==="property"){let c=Qt(n);if(D6.has(c)&&!s?.has(c))e="posix",n=c;else return G4(n,{negate:t,normalizeUnknownPropertyNames:i,skipPropertyNameValidation:r,unicodePropertyMap:s})}return e==="posix"?NE(n,{negate:t}):Q8(e,{negate:t})}function $E(e,t,n){let{tokens:a,capturingGroups:i,namedGroupsByName:r,skipLookbehindValidation:s,walk:c}=t,o=VE(e),l=o.type==="AbsenceFunction",p=Ub(o),u=p&&o.negate;if(o.type==="CapturingGroup"&&(i.push(o),o.name&&wb(r,o.name,[]).push(o)),l&&n.isInAbsenceFunction)throw new Error("Nested absence function not supported by Oniguruma");let m=Kb(a[t.nextIndex]);for(;m.type!=="GroupClose";){if(m.type==="Alternator")o.body.push(h3()),t.nextIndex++;else{let d=o.body.at(-1),f=c(d,{...n,isInAbsenceFunction:n.isInAbsenceFunction||l,isInLookbehind:n.isInLookbehind||p,isInNegLookbehind:n.isInNegLookbehind||u});if(d.body.push(f),(p||n.isInLookbehind)&&!s){let w="Lookbehind includes a pattern not allowed by Oniguruma";if(u||n.isInNegLookbehind){if(Wb(f)||f.type==="CapturingGroup")throw new Error(w)}else if(Wb(f)||Ub(f)&&f.negate)throw new Error(w)}}m=Kb(a[t.nextIndex])}return t.nextIndex++,o}function LE({kind:e,min:t,max:n},a){let i=a.parent,r=i.body.at(-1);if(!r||!Ob(r))throw new Error("Quantifier requires a repeatable token");let s=Os(e,t,n,r);return i.body.pop(),s}function SE({raw:e},t){let{capturingGroups:n,subroutines:a}=t,i=e.slice(3,-1),r=/^(?[-+]?)0*(?[1-9]\d*)$/.exec(i);if(r){let c=+r.groups.num,o=n.length;if(t.hasNumberedRef=!0,i={"":c,"+":o+c,"-":o+1-c}[r.groups.sign],i<1)throw new Error("Invalid subroutine number")}else i==="0"&&(i=0);let s=Ws(i);return a.push(s),s}function EE(e,t){if(e!=="repeater")throw new Error('Unexpected absence function kind "'.concat(e,'"'));return{type:"AbsenceFunction",kind:e,body:O6(t?.body)}}function h3(e){return{type:"Alternative",body:nf(e?.body)}}function J8(e,t){let n={type:"Assertion",kind:e};return(e==="word_boundary"||e==="text_segment_boundary")&&(n.negate=!!t?.negate),n}function K8(e,t){let n=!!t?.orphan;return{type:"Backreference",ref:e,...n&&{orphan:n}}}function Gs(e,t){let n={name:void 0,isSubroutined:!1,...t};if(n.name!==void 0&&!qE(n.name))throw new Error('Group name "'.concat(n.name,'" invalid in Oniguruma'));return{type:"CapturingGroup",number:e,...n.name&&{name:n.name},...n.isSubroutined&&{isSubroutined:n.isSubroutined},body:O6(t?.body)}}function Jt(e,t){let n={useLastValid:!1,...t};if(e>1114111){let a=e.toString(16);if(n.useLastValid)e=1114111;else throw e>1310719?new Error('Invalid code point out of range "\\x{'.concat(a,'}"')):new Error('Invalid code point out of range in JS "\\x{'.concat(a,'}"'))}return{type:"Character",value:e}}function G6(e){let t={kind:"union",negate:!1,...e};return{type:"CharacterClass",kind:t.kind,negate:t.negate,body:nf(e?.body)}}function ZE(e,t){if(t.valuen)throw new Error("Invalid reversed quantifier range");return{type:"Quantifier",kind:e,min:t,max:n,body:a}}function TE(e,t){return{type:"Regex",body:O6(t?.body),flags:e}}function Ws(e){return{type:"Subroutine",ref:e}}var tf;function G4(e,t){let n={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t},a=n.unicodePropertyMap?.get(Qt(e));if(!a){if(n.normalizeUnknownPropertyNames)a=IE(e);else if(n.unicodePropertyMap&&!n.skipPropertyNameValidation)throw new Error(H0(tf||(tf=a1(['Invalid Unicode property "p{','}"'],['Invalid Unicode property "\\p{','}"'])),e))}return{type:"CharacterSet",kind:"property",value:a??e,negate:n.negate}}function VE({flags:e,kind:t,name:n,negate:a,number:i}){switch(t){case"absence_repeater":return EE("repeater");case"atomic":return W2({atomic:!0});case"capturing":return Gs(i,{name:n});case"group":return W2({flags:e});case"lookahead":case"lookbehind":return n4({behind:t==="lookbehind",negate:a});default:throw new Error('Unexpected group kind "'.concat(t,'"'))}}function O6(e){if(e===void 0)e=[h3()];else if(!Array.isArray(e)||!e.length||!e.every(t=>t.type==="Alternative"))throw new Error("Invalid body; expected array of one or more Alternative nodes");return e}function nf(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(t=>!!t.type))throw new Error("Invalid body; expected array of nodes");return e}function Wb(e){return e.type==="LookaroundAssertion"&&e.kind==="lookahead"}function Ub(e){return e.type==="LookaroundAssertion"&&e.kind==="lookbehind"}function qE(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function IE(e){return e.trim().replace(/[- _]+/g,"_").replace(/[A-Z][a-z]+(?=[A-Z])/g,"$&_").replace(/[A-Za-z]+/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function Qt(e){return e.replace(/[- _]+/g,"").toLowerCase()}function Xb(e,t){let n=t;return m3(e,"Unclosed character class".concat(n?.type==="Character"&&n.value===93&&n.raw==="]"?' (started with "]")':""))}function Kb(e){return m3(e,"Unclosed group")}function O4(e,t,n=null){function a(r,s){for(let c=0;cA-Za-z-]|<[=!]|(DEFINE))"],["\\(\\?(?:[:=!>A-Za-z\\-]|<[=!]|\\(DEFINE\\))"])));function sf(e,t){for(let n=0;n=t&&e[n]++}function cf(e,t,n,a){return e.slice(0,t)+a+e.slice(t+n.length)}var H2=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"}),of;function W6(e,t,n,a){let i=new RegExp(String.raw(of||(of=a1(["","|(?<$skip>[^?|\\?.)"],["","|(?<$skip>\\[\\^?|\\\\?.)"])),t),"gsu"),r=[!1],s=0,c="";for(let o of e.matchAll(i)){let{0:l,groups:{$skip:p}}=o;if(!p&&(!a||a===H2.DEFAULT==!s)){n instanceof Function?c+=n(o,{context:s?H2.CHAR_CLASS:H2.DEFAULT,negated:r[r.length-1]}):c+=n;continue}l[0]==="["?(s++,r.push(l[1]==="^")):l==="]"&&s&&(s--,r.pop()),c+=l}return c}function Us(e,t,n,a){W6(e,t,n,a)}function BE(e,t,n=0,a){if(!new RegExp(t,"su").test(e))return null;let i=new RegExp("".concat(t,"|(?<$skip>\\\\?.)"),"gsu");i.lastIndex=n;let r=0,s;for(;s=i.exec(e);){let{0:c,groups:{$skip:o}}=s;if(!o&&(!a||a===H2.DEFAULT==!r))return s;c==="["?r++:c==="]"&&r&&r--,i.lastIndex==s.index&&i.lastIndex++}return null}function U6(e,t,n){return!!BE(e,t,0,n)}function lf(e,t){let n=/\\?./gsu;n.lastIndex=t;let a=e.length,i=0,r=1,s;for(;s=n.exec(e);){let[c]=s;if(c==="[")i++;else if(i)c==="]"&&i--;else if(c==="(")r++;else if(c===")"&&(r--,!r)){a=s.index;break}}return e.slice(t,a)}var uf,pf=new RegExp(String.raw(uf||(uf=a1(["(?",")|(?((?:?<[^>]+>)?)|\\?."],["(?",")|(?\\((?:\\?<[^>]+>)?)|\\\\?."])),rf),"gsu"),mf;function Ks(e,t){let n=t?.hiddenCaptures??[],a=t?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:a,hiddenCaptures:n};let i="(?>",r="(?:(?=(",s=[0],c=[],o=0,l=0,p=NaN,u;do{u=!1;let m=0,d=0,f=!1,w;for(pf.lastIndex=Number.isNaN(p)?0:p+r.length;w=pf.exec(e);){let{0:x,index:v,groups:{capturingStart:b,noncapturingStart:_}}=w;if(x==="[")m++;else if(m)x==="]"&&m--;else if(x===i&&!f)p=v,f=!0;else if(f&&_)d++;else if(b)f?d++:(o++,s.push(o+l));else if(x===")"&&f){if(!d){l++;let z=o+l;if(e="".concat(e.slice(0,p)).concat(r).concat(e.slice(p+i.length,v),"))<$$").concat(z,">)").concat(e.slice(v+1)),u=!0,c.push(z),sf(n,z),a.size){let $=new Map;a.forEach((C,j)=>{$.set(j>=z?j+1:j,C.map(T=>T>=z?T+1:T))}),a=$}break}d--}}}while(u);return n.push(...c),e=W6(e,String.raw(mf||(mf=a1(["\\(?[1-9]d*)|<$$(?d+)>"],["\\\\(?[1-9]\\d*)|<\\$\\$(?\\d+)>"]))),({0:m,groups:{backrefNum:d,wrappedBackrefNum:f}})=>{if(d){let w=+d;if(w>s.length-1)throw new Error('Backref "'.concat(m,'" greater than number of captures'));return"\\".concat(s[w])}return"\\".concat(f)},H2.DEFAULT),{pattern:e,captureTransfers:a,hiddenCaptures:n}}var df,gf=String.raw(df||(df=a1(["(?:[?*+]|{d+(?:,d*)?})"],["(?:[?*+]|\\{\\d+(?:,\\d*)?\\})"]))),hf,Xs=new RegExp(String.raw(hf||(hf=a1(["\n\\(?: d+\n | c[A-Za-z]\n | [gk]<[^>]+>\n | [pPu]{[^}]+}\n | u[A-Fa-fd]{4}\n | x[A-Fa-fd]{2}\n )\n| ((?: ? (?: [:=!>]\n | <(?:[=!]|[^>]+>)\n | [A-Za-z-]+:\n | (DEFINE)\n ))?\n| (?",")(?[?+]?)(?[?*+{]?)\n| \\?.\n"],["\n\\\\(?: \\d+\n | c[A-Za-z]\n | [gk]<[^>]+>\n | [pPu]\\{[^\\}]+\\}\n | u[A-Fa-f\\d]{4}\n | x[A-Fa-f\\d]{2}\n )\n| \\((?: \\? (?: [:=!>]\n | <(?:[=!]|[^>]+>)\n | [A-Za-z\\-]+:\n | \\(DEFINE\\)\n ))?\n| (?",")(?[?+]?)(?[?*+\\{]?)\n| \\\\?.\n"])),gf).replace(/\s+/g,""),"gsu");function Ys(e){if(!new RegExp("".concat(gf,"\\+")).test(e))return{pattern:e};let t=[],n=null,a=null,i="",r=0,s;for(Xs.lastIndex=0;s=Xs.exec(e);){let{0:c,index:o,groups:{qBase:l,qMod:p,invalidQ:u}}=s;if(c==="[")r||(a=o),r++;else if(c==="]")r?r--:a=null;else if(!r)if(p==="+"&&i&&!i.startsWith("(")){if(u)throw new Error('Invalid quantifier "'.concat(c,'"'));let m=-1;if(/^\{\d+\}$/.test(l))e=cf(e,o+l.length,p,"");else{if(i===")"||i==="]"){let d=i===")"?n:a;if(d===null)throw new Error('Invalid unmatched "'.concat(i,'"'));e="".concat(e.slice(0,d),"(?>").concat(e.slice(d,o)).concat(l,")").concat(e.slice(o+c.length))}else e="".concat(e.slice(0,o-i.length),"(?>").concat(i).concat(l,")").concat(e.slice(o+c.length));m+=4}Xs.lastIndex+=m}else c[0]==="("?t.push(o):c===")"&&(n=t.length?t.pop():null);i=c}return{pattern:e}}var le=String.raw,_f,PE=le(_f||(_f=a1(["\\g<(?[^>&]+)&R=(?[^>]+)>"],["\\\\g<(?[^>&]+)&R=(?[^>]+)>"]))),wf,Qs=le(wf||(wf=a1(["(?R=(?[^)]+))|",""],["\\(\\?R=(?[^\\)]+)\\)|",""])),PE),xf,ta=le(xf||(xf=a1(["(?<(?![=!])(?[^>]+)>"],["\\(\\?<(?![=!])(?[^>]+)>"]))),kf,Zf=le(kf||(kf=a1(["","|(?()(?!?)"],["","|(?\\()(?!\\?)"])),ta),zf,W4=new RegExp(le(zf||(zf=a1(["","|","|(?|\\?."],["","|","|\\(\\?|\\\\?."])),ta,Qs),"gsu"),Js="Cannot use multiple overlapping recursions",Cf,Af,Mf,$f,Lf;function Ff(e,t){let{hiddenCaptures:n,mode:a}={hiddenCaptures:[],mode:"plugin",...t},i=t?.captureTransfers??new Map;if(!new RegExp(Qs,"su").test(e))return{pattern:e,captureTransfers:i,hiddenCaptures:n};if(a==="plugin"&&U6(e,le(Cf||(Cf=a1(["(?(DEFINE)"],["\\(\\?\\(DEFINE\\)"]))),H2.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");let r=[],s=U6(e,le(Af||(Af=a1(["\\[1-9]"],["\\\\[1-9]"]))),H2.DEFAULT),c=new Map,o=[],l=!1,p=0,u=0,m;for(W4.lastIndex=0;m=W4.exec(e);){let{0:d,groups:{captureName:f,rDepth:w,gRNameOrNum:x,gRDepth:v}}=m;if(d==="[")p++;else if(p)d==="]"&&p--;else if(w){if(bf(w),l)throw new Error(Js);if(s)throw new Error("".concat(a==="external"?"Backrefs":"Numbered backrefs"," cannot be used with global recursion"));let b=e.slice(0,m.index),_=e.slice(W4.lastIndex);if(U6(_,Qs,H2.DEFAULT))throw new Error(Js);let z=+w-1;e=ff(b,_,z,!1,n,r,u),i=yf(i,b,z,r.length,0,u);break}else if(x){bf(v);let b=!1;for(let D of o)if(D.name===x||D.num===+x){if(b=!0,D.hasRecursedWithin)throw new Error(Js);break}if(!b)throw new Error(le($f||($f=a1(['Recursive g cannot be used outside the referenced group "','"'],['Recursive \\g cannot be used outside the referenced group "','"'])),a==="external"?x:le(Mf||(Mf=a1(["g<","&R=",">"],["\\g<","&R=",">"])),x,v)));let _=c.get(x),z=lf(e,_);if(s&&U6(z,le(Lf||(Lf=a1(["","|((?!?)"],["","|\\((?!\\?)"])),ta),H2.DEFAULT))throw new Error("".concat(a==="external"?"Backrefs":"Numbered backrefs"," cannot be used with recursion of capturing groups"));let $=e.slice(_,m.index),C=z.slice($.length+d.length),j=r.length,T=+v-1,H=ff($,C,T,!0,n,r,u);i=yf(i,$,T,r.length-j,j,u);let E=e.slice(0,_),R=e.slice(_+z.length);e="".concat(E).concat(H).concat(R),W4.lastIndex+=H.length-d.length-$.length-C.length,o.forEach(D=>D.hasRecursedWithin=!0),l=!0}else if(f)u++,c.set(String(u),W4.lastIndex),c.set(f,W4.lastIndex),o.push({num:u,name:f});else if(d[0]==="("){let b=d==="(";b&&(u++,c.set(String(u),W4.lastIndex)),o.push(b?{num:u}:{})}else d===")"&&o.pop()}return n.push(...r),{pattern:e,captureTransfers:i,hiddenCaptures:n}}function bf(e){let t="Max depth must be integer between 2 and 100; used ".concat(e);if(!/^[1-9]\d*$/.test(e))throw new Error(t);if(e=+e,e<2||e>100)throw new Error(t)}function ff(e,t,n,a,i,r,s){let c=new Set;a&&Us(e+t,ta,({groups:{captureName:l}})=>{c.add(l)},H2.DEFAULT);let o=[n,a?c:null,i,r,s];return"".concat(e).concat(vf("(?:".concat(e),"forward",...o),"(?:)").concat(vf("".concat(t,")"),"backward",...o)).concat(t)}var Sf,Ef;function vf(e,t,n,a,i,r,s){let o=p=>t==="forward"?p+2:n-p+2-1,l="";for(let p=0;p[^>]+)>"],["","|\\\\k<(?[^>]+)>"])),Zf),({0:m,groups:{captureName:d,unnamed:f,backref:w}})=>{if(w&&a&&!a.has(w))return m;let x="_$".concat(u);if(f||d){let v=s+r.length+1;return r.push(v),RE(i,v),f?m:"(?<".concat(d).concat(x,">")}return le(Ef||(Ef=a1(["k<","",">"],["\\k<","",">"])),w,x)},H2.DEFAULT)}return l}function RE(e,t){for(let n=0;n=t&&e[n]++}function yf(e,t,n,a,i,r){if(e.size&&a){let s=0;Us(t,Zf,()=>s++,H2.DEFAULT);let c=r-s+i,o=new Map;return e.forEach((l,p)=>{let u=(a-s*n)/n,m=s*n,d=p>c+s?p+a:p,f=[];for(let w of l)if(w<=c)f.push(w);else if(w>c+s+u)f.push(w+a);else if(w<=c+s)for(let x=0;x<=n;x++)f.push(w+s*x);else for(let x=0;x<=n;x++)f.push(w+m+u*x);o.set(d,f)}),o}return e}var B0=String.fromCodePoint,$1=String.raw,we={},aa=globalThis.RegExp;we.flagGroups=(()=>{try{new aa("(?i:)")}catch{return!1}return!0})();we.unicodeSets=(()=>{try{new aa("[[]]","v")}catch{return!1}return!0})();var qf;we.bugFlagVLiteralHyphenIsRange=we.unicodeSets?(()=>{try{new aa($1(qf||(qf=a1(["[d-a]"],["[\\d\\-a]"]))),"v")}catch{return!0}return!1})():!1;we.bugNestedClassIgnoresNegation=we.unicodeSets&&new aa("[[^a]]","v").test("a");function na(e,{enable:t,disable:n}){return{dotAll:!n?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!n?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function X6(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function ic(e,t){return jf[e]>=jf[t]}function DE(e,t){if(e==null)throw new Error(t??"Value expected");return e}var jf={ES2025:2025,ES2024:2024,ES2018:2018},GE={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function $v(e={}){if({}.toString.call(e)!=="[object Object]")throw new Error("Unexpected options");if(e.target!==void 0&&!GE[e.target])throw new Error('Unexpected target "'.concat(e.target,'"'));let t={accuracy:"default",avoidSubclass:!1,flags:"",global:!1,hasIndices:!1,lazyCompileLength:1/0,target:"auto",verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return t.target==="auto"&&(t.target=we.flagGroups?"ES2025":we.unicodeSets?"ES2024":"ES2018"),t}var OE="[ -\r ]",WE=new Set([B0(304),B0(305)]),If,g3=$1(If||(If=a1(["[p{L}p{M}p{N}p{Pc}]"],["[\\p{L}\\p{M}\\p{N}\\p{Pc}]"])));function Lv(e){if(WE.has(e))return[e];let t=new Set,n=e.toLowerCase(),a=n.toUpperCase(),i=KE.get(n),r=UE.get(n),s=XE.get(n);return[...a].length===1&&t.add(a),s&&t.add(s),i&&t.add(i),t.add(n),r&&t.add(r),[...t]}var sc=new Map("C Other\nCc Control cntrl\nCf Format\nCn Unassigned\nCo Private_Use\nCs Surrogate\nL Letter\nLC Cased_Letter\nLl Lowercase_Letter\nLm Modifier_Letter\nLo Other_Letter\nLt Titlecase_Letter\nLu Uppercase_Letter\nM Mark Combining_Mark\nMc Spacing_Mark\nMe Enclosing_Mark\nMn Nonspacing_Mark\nN Number\nNd Decimal_Number digit\nNl Letter_Number\nNo Other_Number\nP Punctuation punct\nPc Connector_Punctuation\nPd Dash_Punctuation\nPe Close_Punctuation\nPf Final_Punctuation\nPi Initial_Punctuation\nPo Other_Punctuation\nPs Open_Punctuation\nS Symbol\nSc Currency_Symbol\nSk Modifier_Symbol\nSm Math_Symbol\nSo Other_Symbol\nZ Separator\nZl Line_Separator\nZp Paragraph_Separator\nZs Space_Separator\nASCII\nASCII_Hex_Digit AHex\nAlphabetic Alpha\nAny\nAssigned\nBidi_Control Bidi_C\nBidi_Mirrored Bidi_M\nCase_Ignorable CI\nCased\nChanges_When_Casefolded CWCF\nChanges_When_Casemapped CWCM\nChanges_When_Lowercased CWL\nChanges_When_NFKC_Casefolded CWKCF\nChanges_When_Titlecased CWT\nChanges_When_Uppercased CWU\nDash\nDefault_Ignorable_Code_Point DI\nDeprecated Dep\nDiacritic Dia\nEmoji\nEmoji_Component EComp\nEmoji_Modifier EMod\nEmoji_Modifier_Base EBase\nEmoji_Presentation EPres\nExtended_Pictographic ExtPict\nExtender Ext\nGrapheme_Base Gr_Base\nGrapheme_Extend Gr_Ext\nHex_Digit Hex\nIDS_Binary_Operator IDSB\nIDS_Trinary_Operator IDST\nID_Continue IDC\nID_Start IDS\nIdeographic Ideo\nJoin_Control Join_C\nLogical_Order_Exception LOE\nLowercase Lower\nMath\nNoncharacter_Code_Point NChar\nPattern_Syntax Pat_Syn\nPattern_White_Space Pat_WS\nQuotation_Mark QMark\nRadical\nRegional_Indicator RI\nSentence_Terminal STerm\nSoft_Dotted SD\nTerminal_Punctuation Term\nUnified_Ideograph UIdeo\nUppercase Upper\nVariation_Selector VS\nWhite_Space space\nXID_Continue XIDC\nXID_Start XIDS".split(/\s/).map(e=>[Qt(e),e])),UE=new Map([["s",B0(383)],[B0(383),"s"]]),XE=new Map([[B0(223),B0(7838)],[B0(107),B0(8490)],[B0(229),B0(8491)],[B0(969),B0(8486)]]),KE=new Map([a4(453),a4(456),a4(459),a4(498),...ec(8072,8079),...ec(8088,8095),...ec(8104,8111),a4(8124),a4(8140),a4(8188)]),Bf,Pf,Rf,Df,Gf,Of,Wf,Uf,Xf,Kf,Yf,Jf,Qf,ev,YE=new Map([["alnum",$1(Bf||(Bf=a1(["[p{Alpha}p{Nd}]"],["[\\p{Alpha}\\p{Nd}]"])))],["alpha",$1(Pf||(Pf=a1(["p{Alpha}"],["\\p{Alpha}"])))],["ascii",$1(Rf||(Rf=a1(["p{ASCII}"],["\\p{ASCII}"])))],["blank",$1(Df||(Df=a1(["[p{Zs} ]"],["[\\p{Zs}\\t]"])))],["cntrl",$1(Gf||(Gf=a1(["p{Cc}"],["\\p{Cc}"])))],["digit",$1(Of||(Of=a1(["p{Nd}"],["\\p{Nd}"])))],["graph",$1(Wf||(Wf=a1(["[P{space}&&P{Cc}&&P{Cn}&&P{Cs}]"],["[\\P{space}&&\\P{Cc}&&\\P{Cn}&&\\P{Cs}]"])))],["lower",$1(Uf||(Uf=a1(["p{Lower}"],["\\p{Lower}"])))],["print",$1(Xf||(Xf=a1(["[[P{space}&&P{Cc}&&P{Cn}&&P{Cs}]p{Zs}]"],["[[\\P{space}&&\\P{Cc}&&\\P{Cn}&&\\P{Cs}]\\p{Zs}]"])))],["punct",$1(Kf||(Kf=a1(["[p{P}p{S}]"],["[\\p{P}\\p{S}]"])))],["space",$1(Yf||(Yf=a1(["p{space}"],["\\p{space}"])))],["upper",$1(Jf||(Jf=a1(["p{Upper}"],["\\p{Upper}"])))],["word",$1(Qf||(Qf=a1(["[p{Alpha}p{M}p{Nd}p{Pc}]"],["[\\p{Alpha}\\p{M}\\p{Nd}\\p{Pc}]"])))],["xdigit",$1(ev||(ev=a1(["p{AHex}"],["\\p{AHex}"])))]]);function JE(e,t){let n=[];for(let a=e;a<=t;a++)n.push(a);return n}function a4(e){let t=B0(e);return[t.toLowerCase(),t]}function ec(e,t){return JE(e,t).map(n=>a4(n))}var Sv=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function QE(e,t){let n={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...t};Ev(e);let a={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:ic(n.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};O4(e,eZ,a);let i={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},r={currentFlags:i,prevFlags:null,globalFlags:i,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:a.subroutineRefMap};O4(e,tZ,r);let s={groupsByName:r.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:r.reffedNodesByReferencer};return O4(e,nZ,s),e._originMap=r.groupOriginByCopy,e._strategy=a.strategy,e}var tv,nv,av,iv,rv,sv,cv,ov,lv,eZ={AbsenceFunction({node:e,parent:t,replaceWith:n}){let{body:a,kind:i}=e;if(i==="repeater"){let r=W2();r.body[0].body.push(n4({negate:!0,body:a}),G4("Any"));let s=W2();s.body[0].body.push(Os("greedy",0,1/0,r)),n(Z0(s,t),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:a}){let i=e.body.filter(r=>r.kind==="flags");for(let r=n+1;r\r\n|","|P{M}p{M}*)"],["(?>\\r\\n|","|\\P{M}\\p{M}*)"])),i?$1(sv||(sv=a1(["p{RGI_Emoji}"],["\\p{RGI_Emoji}"]))):m),{skipPropertyNameValidation:!0}),t))}else if(o==="hex")n(i4(G4("AHex",{negate:l}),t));else if(o==="newline")n(Z0(b3(l?"[^\n]":"(?>\r\n?|[\n\v\f\x85\u2028\u2029])"),t));else if(o==="posix")if(!i&&(p==="graph"||p==="print")){if(a==="strict")throw new Error('POSIX class "'.concat(p,'" requires min target ES2024 or non-strict accuracy'));let u={graph:"!-~",print:" -~"}[p];l&&(u="\0-".concat(B0(u.codePointAt(0)-1)).concat(B0(u.codePointAt(2)+1),"-\u{10FFFF}")),n(Z0(b3("[".concat(u,"]")),t))}else n(Z0(ac(b3(YE.get(p)),l),t));else if(o==="property")sc.has(Qt(p))||(e.key="sc");else if(o==="space")n(i4(G4("space",{negate:l}),t));else if(o==="word")n(Z0(ac(b3(g3),l),t));else throw new Error('Unexpected character set kind "'.concat(o,'"'))},Directive({node:e,parent:t,root:n,remove:a,replaceWith:i,removeAllPrevSiblings:r,removeAllNextSiblings:s}){let{kind:c,flags:o}=e;if(c==="flags")if(!o.enable&&!o.disable)a();else{let l=W2({flags:o});l.body[0].body=s(),i(Z0(l,t),{traverse:!0})}else if(c==="keep"){let l=n.body[0],u=n.body.length===1&&X8(l,{type:"Group"})&&l.body[0].body.length===1?l.body[0]:n;if(t.parent!==u||u.body.length>1)throw new Error($1(ov||(ov=a1(['Uses "K" in a way that\'s unsupported'],['Uses "\\K" in a way that\'s unsupported']))));let m=n4({behind:!0});m.body[0].body=r(),i(Z0(m,t))}else throw new Error('Unexpected directive kind "'.concat(c,'"'))},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(n=>delete e[n]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;let{enable:t,disable:n}=e.flags;t?.extended&&delete t.extended,n?.extended&&delete n.extended,t?.dotAll&&n?.dotAll&&delete t.dotAll,t?.ignoreCase&&n?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){let{kind:n}=e;n==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){let{kind:a}=e;if(a==="fail")n(Z0(n4({negate:!0}),t));else throw new Error('Unsupported named callout "(*'.concat(a.toUpperCase(),'"'))},Quantifier({node:e}){if(e.body.type==="Quantifier"){let t=W2();t.body[0].body.push(e.body),e.body=Z0(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){let n=[],a=!1,i=!1;for(let r of e.body)if(r.body.length===1&&r.body[0].kind==="search_start")r.body.pop();else{let s=Hv(r.body);s?(a=!0,Array.isArray(s)?n.push(...s):n.push(s)):i=!0}a&&!i&&n.forEach(r=>t.add(r))},exit(e,{accuracy:t,passedLookbehind:n,strategy:a}){if(t==="strict"&&n&&a)throw new Error($1(lv||(lv=a1(['Uses "G" in a way that requires non-strict accuracy'],['Uses "\\G" in a way that requires non-strict accuracy']))))}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!nc(n)&&(n=tc(n,t),e.ref=n)}},tZ={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){let{orphan:a,ref:i}=e;a||n.set(e,[...t.get(i).map(({node:r})=>r)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:a},{groupOriginByCopy:i,groupsByName:r,multiplexCapturesToLeftByRef:s,openRefs:c,reffedNodesByReferencer:o}){let l=i.get(e);if(l&&c.has(e.number)){let u=i4(Hf(e.number),t);o.set(u,c.get(e.number)),n(u);return}c.set(e.number,e),s.set(e.number,[]),e.name&&X6(s,e.name,[]);let p=s.get(e.name??e.number);for(let u=0;um.type==="Group"&&!!m.flags)),u=p?na(a.globalFlags,p):a.globalFlags;aZ(u,a.currentFlags)||(l=W2({flags:sZ(u)}),l.body[0].body.push(o))}n(Z0(l,t),{traverse:!c})}},nZ={Backreference({node:e,parent:t,replaceWith:n},a){if(e.orphan){a.highestOrphanBackref=Math.max(a.highestOrphanBackref,e.ref);return}let r=a.reffedNodesByReferencer.get(e).filter(s=>iZ(s,e));if(!r.length)n(Z0(n4({negate:!0}),t));else if(r.length>1){let s=W2({atomic:!0,body:r.reverse().map(c=>h3({body:[K8(c.number)]}))});n(Z0(s,t))}else e.ref=r[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){let n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let a=0;a{t.forEach(i=>{a.enable?.[i]&&(delete n.disable[i],n.enable[i]=!0),a.disable?.[i]&&(n.disable[i]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function sZ({dotAll:e,ignoreCase:t}){let n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function jv(e){if(!e)throw new Error("Node expected");let{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function Hv(e){let t=e.find(n=>n.kind==="search_start"||lZ(n,{negate:!1})||!cZ(n));if(!t)return null;if(t.kind==="search_start")return t;if(t.type==="LookaroundAssertion")return t.body[0].body[0];if(t.type==="CapturingGroup"||t.type==="Group"){let n=[];for(let a of t.body){let i=Hv(a.body);if(!i)return null;Array.isArray(i)?n.push(...i):n.push(i)}return n}return null}function Nv(e,t){let n=jv(e)??[];for(let a of n)if(a===t||Nv(a,t))return!0;return!1}function cZ({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function oZ(e){let t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function lZ(e,t){let n={negate:null,...t};return e.type==="LookaroundAssertion"&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&X8(e.body[0],{type:"Assertion",kind:"search_start"})}function nc(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function b3(e,t){let a=Y8(e,{...t,unicodePropertyMap:sc}).body;return a.length>1||a[0].body.length>1?W2({body:a}):a[0].body[0]}function ac(e,t){return e.negate=t,e}function i4(e,t){return e.parent=t,e}function Z0(e,t){return Ev(e),e.parent=t,e}function pZ(e,t){let n=$v(t),a=ic(n.target,"ES2024"),i=ic(n.target,"ES2025"),r=n.rules.recursionLimit;if(!Number.isInteger(r)||r<2||r>20)throw new Error("Invalid recursionLimit; use 2-20");let s=null,c=null;if(!i){let d=[e.flags.ignoreCase];O4(e,uZ,{getCurrentModI:()=>d.at(-1),popModI(){d.pop()},pushModI(f){d.push(f)},setHasCasedChar(){d.at(-1)?s=!0:c=!0}})}let o={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||s)&&!c)},l=e,p={accuracy:n.accuracy,appliedGlobalFlags:o,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:l,originMap:e._originMap,recursionLimit:r,useAppliedIgnoreCase:!!(!i&&s&&c),useFlagMods:i,useFlagV:a,verbose:n.verbose};function u(d){return p.lastNode=l,l=d,DE(mZ[d.type],'Unexpected node type "'.concat(d.type,'"'))(d,p,u)}let m={pattern:e.body.map(u).join("|"),flags:u(e.flags),options:{...e.options}};return a||(delete m.options.force.v,m.options.disable.v=!0,m.options.unicodeSetsPlugin=null),m._captureTransfers=new Map,m._hiddenCaptures=[],p.captureMap.forEach((d,f)=>{d.hidden&&m._hiddenCaptures.push(f),d.transferTo&&X6(m._captureTransfers,d.transferTo,[]).push(f)}),m}var uZ={"*":{enter({node:e},t){if(Tf(e)){let n=t.getCurrentModI();t.pushModI(e.flags?na({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){Tf(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){cc(B0(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),Tv(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&Sv.has(e.value)&&t.setHasCasedChar()}},pv,uv,mv,dv,hv,gv,bv,fv,vv,yv,mZ={Alternative({body:e},t,n){return e.map(n).join("")},Assertion({kind:e,negate:t}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return $1(t?pv||(pv=a1(["B"],["\\B"])):uv||(uv=a1(["\b"],["\\b"])));throw new Error('Unexpected assertion kind "'.concat(e,'"'))},Backreference({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,t,n){let{body:a,name:i,number:r}=e,s={ignoreCase:t.currentFlags.ignoreCase},c=t.originMap.get(e);return c&&(s.hidden=!0,r>c.number&&(s.transferTo=c.number)),t.captureMap.set(r,s),"(".concat(i?"?<".concat(i,">"):"").concat(a.map(n).join("|"),")")},Character({value:e},t){let n=B0(e),a=t5(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(a!==n)return a;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&cc(n)){let i=Lv(n);return t.inCharClass?i.join(""):i.length>1?"[".concat(i.join(""),"]"):i[0]}return n},CharacterClass(e,t,n){let{kind:a,negate:i,parent:r}=e,{body:s}=e;if(a==="intersection"&&!t.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");we.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&s.some(Vf)&&(s=[Jt(45),...s.filter(l=>!Vf(l))]);let c=()=>"[".concat(i?"^":"").concat(s.map(n).join(a==="intersection"?"&&":""),"]");if(!t.inCharClass){if((!t.useFlagV||we.bugNestedClassIgnoresNegation)&&!i){let p=s.filter(u=>u.type==="CharacterClass"&&u.kind==="union"&&u.negate);if(p.length){let u=W2(),m=u.body[0];return u.parent=r,m.parent=u,s=s.filter(d=>!p.includes(d)),e.body=s,s.length?(e.parent=m,m.body.push(e)):u.body.pop(),p.forEach(d=>{let f=h3({body:[d]});d.parent=f,f.parent=u,u.body.push(f)}),n(u)}}t.inCharClass=!0;let l=c();return t.inCharClass=!1,l}let o=s[0];if(a==="union"&&!i&&o&&((!t.useFlagV||!t.verbose)&&r.kind==="union"&&!(we.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&r.kind==="intersection"&&s.length===1&&o.type!=="CharacterClassRange"))return s.map(n).join("");if(!t.useFlagV&&r.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return c()},CharacterClassRange(e,t){let n=e.min.value,a=e.max.value,i={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},r=t5(n,i),s=t5(a,i),c=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){let o=Tv(e);fZ(o).forEach(p=>{c.add(Array.isArray(p)?"".concat(t5(p[0],i),"-").concat(t5(p[1],i)):t5(p,i))})}return"".concat(r,"-").concat(s).concat([...c].join(""))},CharacterSet({kind:e,negate:t,value:n,key:a},i){if(e==="dot")return i.currentFlags.dotAll?i.appliedGlobalFlags.dotAll||i.useFlagMods?".":"[^]":$1(mv||(mv=a1(["[^\n]"],["[^\\n]"])));if(e==="digit")return $1(t?dv||(dv=a1(["D"],["\\D"])):hv||(hv=a1(["d"],["\\d"])));if(e==="property"){if(i.useAppliedIgnoreCase&&i.currentFlags.ignoreCase&&Sv.has(n))throw new Error('Unicode property "'.concat(n,"\" can't be case-insensitive when other chars have specific case"));return"".concat($1(t?gv||(gv=a1(["P"],["\\P"])):bv||(bv=a1(["p"],["\\p"]))),"{").concat(a?"".concat(a,"="):"").concat(n,"}")}if(e==="word")return $1(t?fv||(fv=a1(["W"],["\\W"])):vv||(vv=a1(["w"],["\\w"])));throw new Error('Unexpected character set kind "'.concat(e,'"'))},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:t,flags:n,parent:a},i,r){let s=i.currentFlags;n&&(i.currentFlags=na(s,n));let c=t.map(r).join("|"),o=!i.verbose&&t.length===1&&a.type!=="Quantifier"&&!e&&(!i.useFlagMods||!n)?c:"(?".concat(vZ(e,n,i.useFlagMods)).concat(c,")");return i.currentFlags=s,o},LookaroundAssertion({body:e,kind:t,negate:n},a,i){let r="".concat(t==="lookahead"?"":"<").concat(n?"!":"=");return"(?".concat(r).concat(e.map(i).join("|"),")")},Quantifier(e,t,n){return n(e.body)+yZ(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");let a=n.recursionLimit;return t===0?"(?R=".concat(a,")"):$1(yv||(yv=a1(["g<","&R=",">"],["\\g<","&R=",">"])),t,a)}},dZ=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),hZ=new Set(["-","\\","]","^","["]),gZ=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),_v,wv,xv,kv,zv,Cv,Av,Mv,Nf=new Map([[9,$1(_v||(_v=a1([" "],["\\t"])))],[10,$1(wv||(wv=a1(["\n"],["\\n"])))],[11,$1(xv||(xv=a1(["\v"],["\\v"])))],[12,$1(kv||(kv=a1(["\f"],["\\f"])))],[13,$1(zv||(zv=a1(["\r"],["\\r"])))],[8232,$1(Cv||(Cv=a1(["\u2028"],["\\u2028"])))],[8233,$1(Av||(Av=a1(["\u2029"],["\\u2029"])))],[65279,$1(Mv||(Mv=a1(["\uFEFF"],["\\uFEFF"])))]]),bZ=/^\p{Cased}$/u;function cc(e){return bZ.test(e)}function Tv(e,t){let n=!!t?.firstOnly,a=e.min.value,i=e.max.value,r=[];if(a<65&&(i===65535||i>=131071)||a===65536&&i>=131071)return r;for(let s=a;s<=i;s++){let c=B0(s);if(!cc(c))continue;let o=Lv(c).filter(l=>{let p=l.codePointAt(0);return pi});if(o.length&&(r.push(...o),n))break}return r}function t5(e,{escDigit:t,inCharClass:n,useFlagV:a}){if(Nf.has(e))return Nf.get(e);if(e<32||e>126&&e<160||e>262143||t&&_Z(e))return e>255?"\\u{".concat(e.toString(16).toUpperCase(),"}"):"\\x".concat(e.toString(16).toUpperCase().padStart(2,"0"));let i=n?a?gZ:hZ:dZ,r=B0(e);return(i.has(r)?"\\":"")+r}function fZ(e){let t=e.map(i=>i.codePointAt(0)).sort((i,r)=>i-r),n=[],a=null;for(let i=0;i";let a="";if(t&&n){let{enable:i,disable:r}=t;a=(i?.ignoreCase?"i":"")+(i?.dotAll?"s":"")+(r?"-":"")+(r?.ignoreCase?"i":"")+(r?.dotAll?"s":"")}return"".concat(a,":")}function yZ({kind:e,max:t,min:n}){let a;return!n&&t===1?a="?":!n&&t===1/0?a="*":n===1&&t===1/0?a="+":n===t?a="{".concat(n,"}"):a="{".concat(n,",").concat(t===1/0?"":t,"}"),a+{greedy:"",lazy:"?",possessive:"+"}[e]}function Tf({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function _Z(e){return e>47&&e<58}function Vf({type:e,value:t}){return e==="Character"&&t===45}var wZ=class rc extends RegExp{#t=new Map;#e=null;#a;#n=null;#i=null;rawOptions={};get source(){return this.#a||"(?:)"}constructor(t,n,a){let i=!!a?.lazyCompile;if(t instanceof RegExp){if(a)throw new Error("Cannot provide options when copying a regexp");let r=t;super(r,n),this.#a=r.source,r instanceof rc&&(this.#t=r.#t,this.#n=r.#n,this.#i=r.#i,this.rawOptions=r.rawOptions)}else{let r={hiddenCaptures:[],strategy:null,transfers:[],...a};super(i?"":t,n),this.#a=t,this.#t=kZ(r.hiddenCaptures,r.transfers),this.#i=r.strategy,this.rawOptions=a??{}}i||(this.#e=this)}exec(t){if(!this.#e){let{lazyCompile:i,...r}=this.rawOptions;this.#e=new rc(this.#a,this.flags,r)}let n=this.global||this.sticky,a=this.lastIndex;if(this.#i==="clip_search"&&n&&a){this.lastIndex=0;let i=this.#r(t.slice(a));return i&&(xZ(i,a,t,this.hasIndices),this.lastIndex+=a),i}return this.#r(t)}#r(t){this.#e.lastIndex=this.lastIndex;let n=super.exec.call(this.#e,t);if(this.lastIndex=this.#e.lastIndex,!n||!this.#t.size)return n;let a=[...n];n.length=1;let i;this.hasIndices&&(i=[...n.indices],n.indices.length=1);let r=[0];for(let s=1;s{let c=r[s];c&&(r[s]=[c[0]+t,c[1]+t])})}}function kZ(e,t){let n=new Map;for(let a of e)n.set(a,{hidden:!0});for(let[a,i]of t)for(let r of i)X6(n,r,{}).transferTo=a;return n}function zZ(e){let t=/(?\((?:\?<(?![=!])(?[^>]+)>|(?!\?)))|\\?./gsu,n=new Map,a=0,i=0,r;for(;r=t.exec(e);){let{0:s,groups:{capture:c,name:o}}=r;s==="["?a++:a?s==="]"&&a--:c&&(i++,o&&n.set(i,o))}return n}function Vv(e,t){let n=CZ(e,t);return n.options?new wZ(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function CZ(e,t){let n=$v(t),a=Y8(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:sc}),i=QE(a,{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),r=pZ(i,n),s=Ff(r.pattern,{captureTransfers:r._captureTransfers,hiddenCaptures:r._hiddenCaptures,mode:"external"}),c=Ys(s.pattern),o=Ks(c.pattern,{captureTransfers:s.captureTransfers,hiddenCaptures:s.hiddenCaptures}),l={pattern:o.pattern,flags:"".concat(n.hasIndices?"d":"").concat(n.global?"g":"").concat(r.flags).concat(r.options.disable.v?"u":"v")};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{let p=o.hiddenCaptures.sort((f,w)=>f-w),u=Array.from(o.captureTransfers),m=i._strategy,d=l.pattern.length>=n.lazyCompileLength;(p.length||u.length||m||d)&&(l.options={...p.length&&{hiddenCaptures:p},...u.length&&{transfers:u},...m&&{strategy:m},...d&&{lazyCompile:d}})}return l}function ia(e,t){return Vv(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function oc(e={}){let t={target:"auto",cache:new Map,...e};return t.regexConstructor||=n=>ia(n,{target:t.target}),{createScanner(n){return new yb(n,t)},createString:_b}}K6();Y6();J6();var LZ=new Map(Object.entries({typescript:["ts","tsx","mts","cts"],javascript:["js","jsx","mjs","cjs"],shellscript:["sh","bash","zsh"],fish:["fish"],json:["json","jsonc","jsonl","ndjson","ipynb"],csv:["csv"],python:["py","pyw","pyi"],ruby:["rb","rake","gemspec"],go:["go"],rust:["rs"],java:["java"],c:["c","h"],cpp:["cc","cpp","cxx","hh","hpp","hxx"],csharp:["cs"],kotlin:["kt","kts"],swift:["swift"],php:["php"],yaml:["yaml","yml"],toml:["toml"],ini:["ini","conf","cfg","properties"],dotenv:["env"],log:["log"],diff:["diff","patch"],http:["http"],markdown:["md","markdown"],mdx:["mdx"],rst:["rst"],latex:["tex","sty","cls"],bibtex:["bib"],asciidoc:["adoc"],html:["html","htm","xhtml"],css:["css"],scss:["scss"],less:["less"],sql:["sql"],xml:["xml","xsd","xsl","xslt","plist","svg"],lua:["lua"],bat:["bat","cmd"],powershell:["ps1","psm1","psd1"],r:["r"],julia:["jl"],dart:["dart"],scala:["scala"],clojure:["clj","cljs","edn"],erlang:["erl","hrl"],elixir:["ex","exs"],haskell:["hs"],fsharp:["fs","fsi","fsx"],vb:["vb"],perl:["pl","pm"],verilog:["v"],"system-verilog":["sv","svh"],graphql:["graphql","gql"],proto:["proto"],hcl:["tf","tfvars","hcl"],nix:["nix"],vue:["vue"],svelte:["svelte"],make:["makefile","mk"],cmake:["cmake"],groovy:["gradle","groovy"]}).flatMap(([e,t])=>t.map(n=>[n,e]))),SZ=[...LZ.keys()];var Tq=X1(Iv(),1);var f3={card:"At",header:"Yt",heading:"It",language:"Rt",title:"Bt",actions:"Dt",status:"Gt",action:"ne",body:"Ht"};var n5={block:"le",body:"ki",line:"vi",path:"Lt",gap:"Ot",del:"yi",add:"ji",context:"Xi",expand:"Ti"};var jZ={};function pc(e,t){let n=t||jZ,a=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return Pv(e,a,i)}function Pv(e,t,n){if(HZ(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Bv(e.children,t,n)}return Array.isArray(e)?Bv(e,t,n):""}function Bv(e,t,n){let a=[],i=-1;for(;++ii?0:i+t:t=t>i?i:t,n=n>0?n:0,a.length<1e4)s=Array.from(a),s.unshift(t,n),e.splice(...s);else for(n&&e.splice(t,n);r0?(U0(e,e.length,0,t),e):t}var Dv={}.hasOwnProperty;function ra(e){let t={},n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"\uFFFD":String.fromCodePoint(n)}function p2(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var P0=l4(/[A-Za-z]/),M0=l4(/[\dA-Za-z]/),Gv=l4(/[#-'*+\--9=?A-Z^-~]/);function U4(e){return e!==null&&(e<32||e===127)}var Q6=l4(/\d/),Ov=l4(/[\dA-Fa-f]/),Wv=l4(/[!-/:-@[-`{-~]/);function t1(e){return e!==null&&e<-2}function j1(e){return e!==null&&(e<0||e===32)}function f1(e){return e===-2||e===-1||e===32}var v3=l4(/\p{P}|\p{S}/u),Te=l4(/\s/);function l4(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function ca(e){let t=[],n=-1,a=0,i=0;for(;++n55295&&r<57344){let c=e.charCodeAt(n+1);r<56320&&c>56319&&c<57344?(s=String.fromCharCode(r,c),i=1):s="\uFFFD"}else s=String.fromCharCode(r);s&&(t.push(e.slice(a,n),encodeURIComponent(s)),a=n+i+1,s=""),i&&(n+=i,i=0)}return t.join("")+e.slice(a)}function g1(e,t,n,a){let i=a?a-1:1/0,r=0;return s;function s(o){return f1(o)?(e.enter(n),c(o)):t(o)}function c(o){return f1(o)&&r++0&&f1(p)?(e.enter(a),o(p)):l(p)}function o(p){return f1(p)&&s=i?t(p):n(p)}}var Uv={tokenize:VZ};function VZ(e){let t=e.attempt(this.parser.constructs.contentInitial,a,i),n;return t;function a(c){if(c===null){e.consume(c);return}return e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),g1(e,t,"linePrefix")}function i(c){return e.enter("paragraph"),r(c)}function r(c){let o=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=o),n=o,s(c)}function s(c){if(c===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(c);return}return t1(c)?(e.consume(c),e.exit("chunkText"),r):(e.consume(c),s)}}var y3=class{constructor(){this.index=new Map,this.map=[]}add(t,n,a){Xv(this,t,n,a,!1)}addBefore(t,n,a){Xv(this,t,n,a,!0)}consume(t){if(this.map.sort(function(r,s){return r[0]-s[0]}),this.map.length===0)return;let n=this.map.length,a=[];for(;n>0;)n-=1,a.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];a.push(t.slice()),t.length=0;let i=a.pop();for(;i;){for(let r of i)t.push(r);i=a.pop()}this.map.length=0,this.index.clear()}};function Xv(e,t,n,a,i){if(n===0&&a.length===0)return;let r=e.index.get(t);if(r){r[1]+=n,i?(a.push(...r[2]),r[2]=a):r[2].push(...a);return}let s=[t,n,a];e.map.push(s),e.index.set(t,s)}var Yv={tokenize:qZ},Kv={tokenize:IZ};function qZ(e){let t=this,n=[],a=0,i,r,s;return c;function c(_){if(as))return;let j=t.events.length,T=j,H,E;for(;T--;)if(t.events[T][0]==="exit"&&t.events[T][1].type==="chunkFlow"){if(H){E=t.events[T][1].end;break}H=!0}for(v(a),C=j;C_;){let $=n[z];t.containerState=$[1],$[0].exit.call(t,e)}n.length=_}function b(){i.write([null]),r=void 0,i=void 0,t.containerState._closeFlow=void 0}}function IZ(e,t,n){return g1(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function _3(e){if(e===null||j1(e)||Te(e))return 1;if(v3(e))return 2}function p4(e,t,n){let a=[],i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1,s={...e[i][1].end},c={...e[n][1].start};Jv(s,-r),Jv(c,r);let o={type:r>1?"strongSequence":"emphasisSequence",start:s,end:{...e[i][1].end}},l={type:r>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:c},p={type:r>1?"strongText":"emphasisText",start:{...e[i][1].end},end:{...e[n][1].start}},u={type:r>1?"strong":"emphasis",start:{...o.start},end:{...l.end}};e[i][1].end={...o.start},e[n][1].start={...l.end},a=[],e[i][1].end.offset-e[i][1].start.offset&&(a=_2(a,[["enter",e[i][1],t],["exit",e[i][1],t]])),a=_2(a,[["enter",u,t],["enter",o,t],["exit",o,t],["enter",p,t]]),a=_2(a,p4(t.parser.constructs.insideSpan.null,e.slice(i+1,n),t)),a=_2(a,[["exit",p,t],["enter",l,t],["exit",l,t],["exit",u,t]]);let m=0;e[n][1].end.offset-e[n][1].start.offset&&(m=2,a=_2(a,[["enter",e[n][1],t],["exit",e[n][1],t]])),U0(e,i-1,n-i+3,a),n=i+a.length-m-2;break}}for(n=-1;++n0&&f1(C)?g1(e,b,"linePrefix",r+1)(C):b(C)}function b(C){return C===null||t1(C)?e.check(e7,w,z)(C):(e.enter("codeFlowValue"),_(C))}function _(C){return C===null||t1(C)?(e.exit("codeFlowValue"),b(C)):(e.consume(C),_)}function z(C){return e.exit("codeFenced"),t(C)}function $(C,j,T){let H=0;return E;function E(O){return C.enter("lineEnding"),C.consume(O),C.exit("lineEnding"),R}function R(O){return C.enter("codeFencedFence"),f1(O)?g1(C,D,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(O):D(O)}function D(O){return O===c?(C.enter("codeFencedFenceSequence"),B(O)):T(O)}function B(O){return O===c?(H++,C.consume(O),B):H>=s?(C.exit("codeFencedFenceSequence"),f1(O)?g1(C,Q,"whitespace")(O):Q(O)):T(O)}function Q(O){return O===null||t1(O)?(C.exit("codeFencedFence"),j(O)):T(O)}}}var t7={name:"codeIndented",tokenize:QZ},JZ={partial:!0,tokenize:eF};function QZ(e,t,n){return a;function a(c){return e.enter("codeIndented"),uc(e,i,n,"linePrefix",4,4)(c)}function i(c){return c===null?s(c):t1(c)?e.attempt(JZ,i,s)(c):(e.enter("codeFlowValue"),r(c))}function r(c){return c===null||t1(c)?(e.exit("codeFlowValue"),i(c)):(e.consume(c),r)}function s(c){return e.exit("codeIndented"),t(c)}}function eF(e,t,n){let a=this;return i;function i(s){return a.parser.lazy[a.now().line]?n(s):t1(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i):uc(e,t,r,"linePrefix",4,4)(s)}function r(s){return t1(s)?i(s):n(s)}}var dc={name:"codeText",previous:nF,resolve:tF,tokenize:aF};function tF(e){let t=e.length-4,n=3,a,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(a=n;++a=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-a+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-a+this.left.length).reverse())}splice(t,n,a){let i=n||0;this.setCursor(Math.trunc(t));let r=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return a&&n7(this.left,a),r.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),n7(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),n7(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(s):e.interrupt(a.parser.constructs.flow,n,t)(s)}}function ha(e,t,n,a,i,r,s,c,o){let l=o||Number.POSITIVE_INFINITY,p=0;return u;function u(v){return v===60?(e.enter(a),e.enter(i),e.enter(r),e.consume(v),e.exit(r),m):v===null||v===32||v===41||U4(v)?n(v):(e.enter(a),e.enter(s),e.enter(c),e.enter("chunkString",{contentType:"string"}),w(v))}function m(v){return v===62?(e.enter(r),e.consume(v),e.exit(r),e.exit(i),e.exit(a),t):(e.enter(c),e.enter("chunkString",{contentType:"string"}),d(v))}function d(v){return v===62?(e.exit("chunkString"),e.exit(c),m(v)):v===null||v===60||t1(v)?n(v):(e.consume(v),v===92?f:d)}function f(v){return v===60||v===62||v===92?(e.consume(v),d):d(v)}function w(v){return!p&&(v===null||v===41||j1(v))?(e.exit("chunkString"),e.exit(c),e.exit(s),e.exit(a),t(v)):p999||d===null||d===91||d===93&&!o||d===94&&!c&&"_hiddenFootnoteSupport"in s.parser.constructs?n(d):d===93?(e.exit(r),e.enter(i),e.consume(d),e.exit(i),e.exit(a),t):t1(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),p):(e.enter("chunkString",{contentType:"string"}),u(d))}function u(d){return d===null||d===91||d===93||t1(d)||c++>999?(e.exit("chunkString"),p(d)):(e.consume(d),o||(o=!f1(d)),d===92?m:u)}function m(d){return d===91||d===92||d===93?(e.consume(d),c++,u):u(d)}}function ba(e,t,n,a,i,r){let s;return c;function c(m){return m===34||m===39||m===40?(e.enter(a),e.enter(i),e.consume(m),e.exit(i),s=m===40?41:m,o):n(m)}function o(m){return m===s?(e.enter(i),e.consume(m),e.exit(i),e.exit(a),t):(e.enter(r),l(m))}function l(m){return m===s?(e.exit(r),o(s)):m===null?n(m):t1(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),g1(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),p(m))}function p(m){return m===s||m===null||t1(m)?(e.exit("chunkString"),l(m)):(e.consume(m),m===92?u:p)}function u(m){return m===s||m===92?(e.consume(m),p):p(m)}}function K4(e,t){let n;return a;function a(i){return t1(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,a):f1(i)?g1(e,a,n?"linePrefix":"lineSuffix")(i):t(i)}}var gc={name:"definition",tokenize:pF},lF={partial:!0,tokenize:uF};function pF(e,t,n){let a=this,i;return r;function r(d){return e.enter("definition"),s(d)}function s(d){return ga.call(a,e,c,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(d)}function c(d){return i=p2(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)),d===58?(e.enter("definitionMarker"),e.consume(d),e.exit("definitionMarker"),o):n(d)}function o(d){return j1(d)?K4(e,l)(d):l(d)}function l(d){return ha(e,p,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(d)}function p(d){return e.attempt(lF,u,u)(d)}function u(d){return f1(d)?g1(e,m,"whitespace")(d):m(d)}function m(d){return d===null||t1(d)?(e.exit("definition"),a.parser.defined.push(i),t(d)):n(d)}}function uF(e,t,n){return a;function a(c){return j1(c)?K4(e,i)(c):n(c)}function i(c){return ba(e,r,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(c)}function r(c){return f1(c)?g1(e,s,"whitespace")(c):s(c)}function s(c){return c===null||t1(c)?t(c):n(c)}}var bc={name:"hardBreakEscape",tokenize:mF};function mF(e,t,n){return a;function a(r){return e.enter("hardBreakEscape"),e.consume(r),i}function i(r){return t1(r)?(e.exit("hardBreakEscape"),t(r)):n(r)}}var fc={name:"headingAtx",resolve:dF,tokenize:hF};function dF(e,t){let n=e.length-2,a=3;if(e[a][1].type==="whitespace"&&(a+=2),n-2>a&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(a===n-1||n-4>a&&e[n-2][1].type==="whitespace")&&(n-=a+1===n?2:4),n>a){let i={type:"atxHeadingText",start:e[a][1].start,end:e[n][1].end},r={type:"chunkText",start:e[a][1].start,end:e[n][1].end,contentType:"text"};U0(e,a,n-a+1,[["enter",i,t],["enter",r,t],["exit",r,t],["exit",i,t]])}return e}function hF(e,t,n){let a=0;return i;function i(p){return e.enter("atxHeading"),r(p)}function r(p){return e.enter("atxHeadingSequence"),s(p)}function s(p){return p===35&&a++<6?(e.consume(p),s):p===null||j1(p)?(e.exit("atxHeadingSequence"),c(p)):n(p)}function c(p){return p===35?(e.enter("atxHeadingSequence"),o(p)):p===null||t1(p)?(e.exit("atxHeading"),t(p)):f1(p)?g1(e,c,"whitespace")(p):(e.enter("atxHeadingText"),l(p))}function o(p){return p===35?(e.consume(p),o):(e.exit("atxHeadingSequence"),c(p))}function l(p){return p===null||p===35||j1(p)?(e.exit("atxHeadingText"),c(p)):(e.consume(p),l)}}var Qv=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],vc=["pre","script","style","textarea"];var yc={concrete:!0,name:"htmlFlow",resolveTo:bF,tokenize:fF},gF={partial:!0,tokenize:vF};function bF(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function fF(e,t,n){let a=this,i,r,s,c,o;return l;function l(S){return p(S)}function p(S){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(S),u}function u(S){return S===33?(e.consume(S),m):S===47?(e.consume(S),r=!0,w):S===63?(e.consume(S),i=3,a.interrupt?t:A):P0(S)?(e.consume(S),s=String.fromCharCode(S),x):n(S)}function m(S){return S===45?(e.consume(S),i=2,d):S===91?(e.consume(S),i=5,c=0,f):P0(S)?(e.consume(S),i=4,a.interrupt?t:A):n(S)}function d(S){return S===45?(e.consume(S),a.interrupt?t:A):n(S)}function f(S){let R1="CDATA[";return S===R1.charCodeAt(c++)?(e.consume(S),c===R1.length?a.interrupt?t:D:f):n(S)}function w(S){return P0(S)?(e.consume(S),s=String.fromCharCode(S),x):n(S)}function x(S){if(S===null||S===47||S===62||j1(S)){let R1=S===47,h0=s.toLowerCase();return!R1&&!r&&vc.includes(h0)?(i=1,a.interrupt?t(S):D(S)):Qv.includes(s.toLowerCase())?(i=6,R1?(e.consume(S),v):a.interrupt?t(S):D(S)):(i=7,a.interrupt&&!a.parser.lazy[a.now().line]?n(S):r?b(S):_(S))}return S===45||M0(S)?(e.consume(S),s+=String.fromCharCode(S),x):n(S)}function v(S){return S===62?(e.consume(S),a.interrupt?t:D):n(S)}function b(S){return f1(S)?(e.consume(S),b):E(S)}function _(S){return S===47?(e.consume(S),E):S===58||S===95||P0(S)?(e.consume(S),z):f1(S)?(e.consume(S),_):E(S)}function z(S){return S===45||S===46||S===58||S===95||M0(S)?(e.consume(S),z):$(S)}function $(S){return S===61?(e.consume(S),C):f1(S)?(e.consume(S),$):_(S)}function C(S){return S===null||S===60||S===61||S===62||S===96?n(S):S===34||S===39?(e.consume(S),o=S,j):f1(S)?(e.consume(S),C):T(S)}function j(S){return S===o?(e.consume(S),o=null,H):S===null||t1(S)?n(S):(e.consume(S),j)}function T(S){return S===null||S===34||S===39||S===47||S===60||S===61||S===62||S===96||j1(S)?$(S):(e.consume(S),T)}function H(S){return S===47||S===62||f1(S)?_(S):n(S)}function E(S){return S===62?(e.consume(S),R):n(S)}function R(S){return S===null||t1(S)?D(S):f1(S)?(e.consume(S),R):n(S)}function D(S){return S===45&&i===2?(e.consume(S),U):S===60&&i===1?(e.consume(S),r1):S===62&&i===4?(e.consume(S),i1):S===63&&i===3?(e.consume(S),A):S===93&&i===5?(e.consume(S),A1):t1(S)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(gF,l1,B)(S)):S===null||t1(S)?(e.exit("htmlFlowData"),B(S)):(e.consume(S),D)}function B(S){return e.check(e7,Q,l1)(S)}function Q(S){return e.enter("lineEnding"),e.consume(S),e.exit("lineEnding"),O}function O(S){return S===null||t1(S)?B(S):(e.enter("htmlFlowData"),D(S))}function U(S){return S===45?(e.consume(S),A):D(S)}function r1(S){return S===47?(e.consume(S),s="",z1):D(S)}function z1(S){if(S===62){let R1=s.toLowerCase();return vc.includes(R1)?(e.consume(S),i1):D(S)}return P0(S)&&s.length<8?(e.consume(S),s+=String.fromCharCode(S),z1):D(S)}function A1(S){return S===93?(e.consume(S),A):D(S)}function A(S){return S===62?(e.consume(S),i1):S===45&&i===2?(e.consume(S),A):D(S)}function i1(S){return S===null||t1(S)?(e.exit("htmlFlowData"),l1(S)):(e.consume(S),i1)}function l1(S){return e.exit("htmlFlow"),t(S)}}function vF(e,t,n){return a;function a(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Ve,t,n)}}var _c={name:"htmlText",tokenize:yF};function yF(e,t,n){let a=this,i,r,s;return c;function c(A){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(A),o}function o(A){return A===33?(e.consume(A),l):A===47?(e.consume(A),$):A===63?(e.consume(A),_):P0(A)?(e.consume(A),T):n(A)}function l(A){return A===45?(e.consume(A),p):A===91?(e.consume(A),r=0,f):P0(A)?(e.consume(A),b):n(A)}function p(A){return A===45?(e.consume(A),d):n(A)}function u(A){return A===null?n(A):A===45?(e.consume(A),m):t1(A)?(s=u,r1(A)):(e.consume(A),u)}function m(A){return A===45?(e.consume(A),d):u(A)}function d(A){return A===62?U(A):A===45?m(A):u(A)}function f(A){let i1="CDATA[";return A===i1.charCodeAt(r++)?(e.consume(A),r===i1.length?w:f):n(A)}function w(A){return A===null?n(A):A===93?(e.consume(A),x):t1(A)?(s=w,r1(A)):(e.consume(A),w)}function x(A){return A===93?(e.consume(A),v):w(A)}function v(A){return A===62?U(A):A===93?(e.consume(A),v):w(A)}function b(A){return A===null||A===62?U(A):t1(A)?(s=b,r1(A)):(e.consume(A),b)}function _(A){return A===null?n(A):A===63?(e.consume(A),z):t1(A)?(s=_,r1(A)):(e.consume(A),_)}function z(A){return A===62?U(A):_(A)}function $(A){return P0(A)?(e.consume(A),C):n(A)}function C(A){return A===45||M0(A)?(e.consume(A),C):j(A)}function j(A){return t1(A)?(s=j,r1(A)):f1(A)?(e.consume(A),j):U(A)}function T(A){return A===45||M0(A)?(e.consume(A),T):A===47||A===62||j1(A)?H(A):n(A)}function H(A){return A===47?(e.consume(A),U):A===58||A===95||P0(A)?(e.consume(A),E):t1(A)?(s=H,r1(A)):f1(A)?(e.consume(A),H):U(A)}function E(A){return A===45||A===46||A===58||A===95||M0(A)?(e.consume(A),E):R(A)}function R(A){return A===61?(e.consume(A),D):t1(A)?(s=R,r1(A)):f1(A)?(e.consume(A),R):H(A)}function D(A){return A===null||A===60||A===61||A===62||A===96?n(A):A===34||A===39?(e.consume(A),i=A,B):t1(A)?(s=D,r1(A)):f1(A)?(e.consume(A),D):(e.consume(A),Q)}function B(A){return A===i?(e.consume(A),i=void 0,O):A===null?n(A):t1(A)?(s=B,r1(A)):(e.consume(A),B)}function Q(A){return A===null||A===34||A===39||A===60||A===61||A===96?n(A):A===47||A===62||j1(A)?H(A):(e.consume(A),Q)}function O(A){return A===47||A===62||j1(A)?H(A):n(A)}function U(A){return A===62?(e.consume(A),e.exit("htmlTextData"),e.exit("htmlText"),t):n(A)}function r1(A){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),z1}function z1(A){return f1(A)?g1(e,A1,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):A1(A)}function A1(A){return e.enter("htmlTextData"),s(A)}}var Y4={name:"labelEnd",resolveAll:kF,resolveTo:zF,tokenize:CF},_F={tokenize:AF},wF={tokenize:MF},xF={tokenize:$F};function kF(e){let t=-1,n=[];for(;++t0&&i[i.length-1]._balanced;)i.pop();r=i[i.length-1]}return c;function c(m){return r?r._inactive?u(m):(s=a.parser.defined.includes(p2(a.sliceSerialize({start:r.end,end:a.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(m),e.exit("labelMarker"),e.exit("labelEnd"),o):n(m)}function o(m){return m===40?e.attempt(_F,p,s?p:u)(m):m===91?e.attempt(wF,p,s?l:u)(m):s?p(m):u(m)}function l(m){return e.attempt(xF,p,u)(m)}function p(m){return i.pop(),t(m)}function u(m){return r._balanced=!0,n(m)}}function AF(e,t,n){return a;function a(u){return e.enter("resource"),e.enter("resourceMarker"),e.consume(u),e.exit("resourceMarker"),i}function i(u){return j1(u)?K4(e,r)(u):r(u)}function r(u){return u===41?p(u):ha(e,s,c,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(u)}function s(u){return j1(u)?K4(e,o)(u):p(u)}function c(u){return n(u)}function o(u){return u===34||u===39||u===40?ba(e,l,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(u):p(u)}function l(u){return j1(u)?K4(e,p)(u):p(u)}function p(u){return u===41?(e.enter("resourceMarker"),e.consume(u),e.exit("resourceMarker"),e.exit("resource"),t):n(u)}}function MF(e,t,n){let a=this;return i;function i(c){return ga.call(a,e,r,s,"reference","referenceMarker","referenceString")(c)}function r(c){return a.parser.defined.includes(p2(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)))?t(c):n(c)}function s(c){return n(c)}}function $F(e,t,n){return a;function a(r){return e.enter("reference"),e.enter("referenceMarker"),e.consume(r),e.exit("referenceMarker"),i}function i(r){return r===93?(e.enter("referenceMarker"),e.consume(r),e.exit("referenceMarker"),e.exit("reference"),t):n(r)}}var wc={name:"labelStartImage",resolveAll:Y4.resolveAll,tokenize:LF};function LF(e,t,n){let a=this,i;return r;function r(o){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(o),e.exit("labelImageMarker"),s}function s(o){return o===91?(e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),i=e.exit("labelImage"),c):n(o)}function c(o){return o===94&&"_hiddenFootnoteSupport"in a.parser.constructs?n(o):(a._labelStarts=a._labelStarts||[],a._labelStarts.push(i),t(o))}}var xc={name:"labelStartLink",resolveAll:Y4.resolveAll,tokenize:SF};function SF(e,t,n){let a=this,i;return r;function r(c){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(c),e.exit("labelMarker"),i=e.exit("labelLink"),s}function s(c){return c===94&&"_hiddenFootnoteSupport"in a.parser.constructs?n(c):(a._labelStarts=a._labelStarts||[],a._labelStarts.push(i),t(c))}}var a7={name:"lineEnding",tokenize:EF};function EF(e,t){return n;function n(a){return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),g1(e,t,"linePrefix")}}var J4={name:"thematicBreak",tokenize:ZF};function ZF(e,t,n){let a=0,i;return r;function r(l){return e.enter("thematicBreak"),s(l)}function s(l){return i=l,c(l)}function c(l){return l===i?(e.enter("thematicBreakSequence"),o(l)):a>=3&&(l===null||t1(l))?(e.exit("thematicBreak"),t(l)):n(l)}function o(l){return l===i?(e.consume(l),a++,o):(e.exit("thematicBreakSequence"),f1(l)?g1(e,c,"whitespace")(l):c(l))}}var u2={continuation:{tokenize:NF},exit:VF,name:"list",tokenize:HF},FF={partial:!0,tokenize:qF},jF={partial:!0,tokenize:TF};function HF(e,t,n){let a=this,i=a.events[a.events.length-1],r=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,s=0;return c;function c(d){let f=a.containerState.type||(d===42||d===43||d===45?"listUnordered":"listOrdered");if(f==="listUnordered"?!a.containerState.marker||d===a.containerState.marker:Q6(d)){if(a.containerState.type||(a.containerState.type=f,e.enter(f,{_container:!0})),f==="listUnordered")return e.enter("listItemPrefix"),d===42||d===45?e.check(J4,n,l)(d):l(d);if(!a.interrupt||d===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),o(d)}return n(d)}function o(d){return Q6(d)&&++s<10?(e.consume(d),o):(!a.interrupt||s<2)&&(a.containerState.marker?d===a.containerState.marker:d===41||d===46)?(e.exit("listItemValue"),l(d)):n(d)}function l(d){return e.enter("listItemMarker"),e.consume(d),e.exit("listItemMarker"),a.containerState.marker=a.containerState.marker||d,e.check(Ve,a.interrupt?n:p,e.attempt(FF,m,u))}function p(d){return a.containerState.initialBlankLine=!0,r++,m(d)}function u(d){return f1(d)?(e.enter("listItemPrefixWhitespace"),e.consume(d),e.exit("listItemPrefixWhitespace"),m):n(d)}function m(d){return a.containerState.size=r+a.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(d)}}function NF(e,t,n){let a=this;return a.containerState._closeFlow=void 0,e.check(Ve,i,r);function i(c){return a.containerState.furtherBlankLines=a.containerState.furtherBlankLines||a.containerState.initialBlankLine,g1(e,t,"listItemIndent",a.containerState.size+1)(c)}function r(c){return a.containerState.furtherBlankLines||!f1(c)?(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,s(c)):(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,e.attempt(jF,t,s)(c))}function s(c){return a.containerState._closeFlow=!0,a.interrupt=void 0,g1(e,e.attempt(u2,t,n),"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(c)}}function TF(e,t,n){let a=this;return g1(e,i,"listItemIndent",a.containerState.size+1);function i(r){let s=a.events[a.events.length-1];return s&&s[1].type==="listItemIndent"&&s[2].sliceSerialize(s[1],!0).length===a.containerState.size?t(r):n(r)}}function VF(e){e.exit(this.containerState.type)}function qF(e,t,n){let a=this;return g1(e,i,"listItemPrefixWhitespace",a.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(r){let s=a.events[a.events.length-1];return!f1(r)&&s&&s[1].type==="listItemPrefixWhitespace"?t(r):n(r)}}var fa={name:"setextUnderline",resolveTo:IF,tokenize:BF};function IF(e,t){let n=new y3,a=e.length,i,r,s;for(;a--;)if(e[a][0]==="enter"){if(e[a][1].type==="content"){i=a;break}e[a][1].type==="paragraph"&&(r=a)}else e[a][1].type==="content"&&n.add(a,1,[]),!s&&e[a][1].type==="definition"&&(s=a);let c={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type="setextHeadingText",s?(n.add(r,0,[["enter",c,t]]),n.add(s+1,0,[["exit",e[i][1],t]]),e[i][1].end={...e[s][1].end}):e[i][1]=c,n.add(e.length,0,[["exit",c,t]]),n.consume(e),e}function BF(e,t,n){let a=this,i;return r;function r(l){let p=a.events.length,u;for(;p--;)if(a.events[p][1].type!=="lineEnding"&&a.events[p][1].type!=="linePrefix"&&a.events[p][1].type!=="content"){u=a.events[p][1].type==="paragraph";break}return!a.parser.lazy[a.now().line]&&(a.interrupt||u)?(e.enter("setextHeadingLine"),i=l,s(l)):n(l)}function s(l){return e.enter("setextHeadingLineSequence"),c(l)}function c(l){return l===i?(e.consume(l),c):(e.exit("setextHeadingLineSequence"),f1(l)?g1(e,o,"lineSuffix")(l):o(l))}function o(l){return l===null||t1(l)?(e.exit("setextHeadingLine"),t(l)):n(l)}}var ey={tokenize:PF};function PF(e){let t=this,n=e.attempt(Ve,a,e.attempt(this.parser.constructs.flowInitial,i,g1(e,e.attempt(this.parser.constructs.flow,i,e.attempt(hc,i)),"linePrefix")));return n;function a(r){if(r===null){e.consume(r);return}return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var ty={resolveAll:ry()},ny=iy("string"),ay=iy("text");function iy(e){return{resolveAll:ry(e==="text"?RF:void 0),tokenize:t};function t(n){let a=this,i=this.parser.constructs[e],r=n.attempt(i,s,c);return s;function s(p){return l(p)?r(p):c(p)}function c(p){if(p===null){n.consume(p);return}return n.enter("data"),n.consume(p),o}function o(p){return l(p)?(n.exit("data"),r(p)):(n.consume(p),o)}function l(p){if(p===null)return!0;let u=i[p],m=-1;if(u)for(;++mYF,contentInitial:()=>GF,disable:()=>JF,document:()=>DF,flow:()=>WF,flowInitial:()=>OF,insideSpan:()=>KF,string:()=>UF,text:()=>XF});var DF={42:u2,43:u2,45:u2,48:u2,49:u2,50:u2,51:u2,52:u2,53:u2,54:u2,55:u2,56:u2,57:u2,62:oa},GF={91:gc},OF={[-2]:t7,[-1]:t7,32:t7},WF={35:fc,42:J4,45:[fa,J4],60:yc,61:fa,95:J4,96:ua,126:ua},UF={38:pa,92:la},XF={[-5]:a7,[-4]:a7,[-3]:a7,33:wc,38:pa,42:X4,60:[mc,_c],91:xc,92:[bc,la],93:Y4,95:X4,96:dc},KF={null:[X4,ty]},YF={null:[42,95]},JF={null:[]};function sy(e,t,n){let a={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},r=[],s=[],c=[],o=!0,l={attempt:H(j),check:H(T),consume:z,enter:$,exit:C,interrupt:H(T,{interrupt:!0})},p={code:null,containerState:{},defineSkip:v,events:[],now:x,parser:e,previous:null,sliceSerialize:f,sliceStream:w,write:d},u=t.tokenize.call(p,l),m;return t.resolveAll&&r.push(t),p;function d(B){return s=_2(s,B),b(),s[s.length-1]!==null?[]:(E(t,0),p.events=p4(r,p.events,p),p.events)}function f(B,Q){return ej(w(B),Q)}function w(B){return QF(s,B)}function x(){let{_bufferIndex:B,_index:Q,line:O,column:U,offset:r1}=a;return{_bufferIndex:B,_index:Q,line:O,column:U,offset:r1}}function v(B){i[B.line]=B.column,D()}function b(){for(;a._index-1){let c=s[0];typeof c=="string"?s[0]=c.slice(a):s.shift()}r>0&&s.push(e[i].slice(0,r))}return s}function ej(e,t){let n=-1,a=[],i;for(;++n0&&i(t.beforeEnter,{..._1,sliceSerialize:q[s0][2].sliceSerialize},q[s0][1]),my.call($2,q[s0][1].type)&&$2[q[s0][1].type].call({..._1,sliceSerialize:q[s0][2].sliceSerialize},q[s0][1]),q[s0][0]==="exit"&&t.afterExit.length>0&&i(t.afterExit,{..._1,sliceSerialize:q[s0][2].sliceSerialize},q[s0][1])}if(_1.tokenStack.length>0){let $2=_1.tokenStack[_1.tokenStack.length-1];($2[1]||uy).call(_1,void 0,$2[0])}for(e1.position={start:u4(q.length>0?q[0][1].start:{line:1,column:1,offset:0}),end:u4(q.length>0?q[q.length-2][1].end:{line:1,column:1,offset:0})},s0=-1;++s0":""))+")"})}return x;function x(){let v=!r||l(m,d,f[f.length-1]||void 0),b=gy;if(c&&v&&(b=hy(c(m,f,d)),b[0]===_a))return b;if("children"in m&&m.children){let _=m;if(_.children&&b[0]!==i7){let z=(i?-1:_.children.length)+p,$=[...f,_];for(;z>-1&&z<_.children.length;){let C=_.children[z],j=u(C,z,$)();if(j[0]===_a)return j;z=typeof j[1]=="number"?j[1]:z+p}}}if(o&&v){let _=hy(o(m,f,d));if(_[0]===i7)throw new Error("Unexpected value `"+_[0]+"` from `exit`, expected `CONTINUE`, `EXIT`, index, or nothing");if(_[0]===_a||typeof _[1]=="number")return _}return b}}}function hy(e){return Array.isArray(e)?e:typeof e=="number"?[by,e]:e==null?gy:[e]}function Sc(e,t,n){let i=r5((n||{}).ignore||[]),r=pj(t),s=-1;for(;++s0?{type:"text",value:C}:void 0),C===!1)d.lastIndex=z+1;else{if(w!==z&&_({type:"text",value:l.value.slice(w,z)}),Array.isArray(C))for(let j of C)_(j);else C&&_(C);w=z+b[0].length,x=!0}if(!d.global)break;b=d.exec(l.value)}return x?(w?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],a=n.indexOf(")"),i=Kt(e,"("),r=Kt(e,")");for(;a!==-1&&i>r;)e+=n.slice(0,a+1),n=n.slice(a+1),a=n.indexOf(")"),r++;return[e,n]}function fy(e,t){let n=e.input.charCodeAt(e.index-1);return(e.index===0||Te(n)||v3(n))&&(!t||n!==47)}Fj.peek=Zj;function zj(){this.buffer()}function Cj(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function Aj(){this.buffer()}function Mj(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function $j(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=p2(this.sliceSerialize(e)).toLowerCase(),n.label=t}function Lj(e){this.exit(e)}function Sj(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=p2(this.sliceSerialize(e)).toLowerCase(),n.label=t}function Ej(e){this.exit(e)}function Zj(){return"["}function Fj(e,t,n,a){let i=n.createTracker(a),r=i.move("[^"),s=n.enter("footnoteReference"),c=n.enter("reference");return r+=i.move(n.safe(n.associationId(e),{after:"]",before:r})),c(),s(),r+=i.move("]"),r}function Fc(){return{enter:{gfmFootnoteCallString:zj,gfmFootnoteCall:Cj,gfmFootnoteDefinitionLabelString:Aj,gfmFootnoteDefinition:Mj},exit:{gfmFootnoteCallString:$j,gfmFootnoteCall:Lj,gfmFootnoteDefinitionLabelString:Sj,gfmFootnoteDefinition:Ej}}}vy.attention=Tj;vy.peek=Vj;function jc(){return{canContainEols:["delete"],enter:{strikethrough:Hj},exit:{strikethrough:Nj}}}function Hj(e){this.enter({type:"delete",children:[],position:void 0},e)}function Nj(e){this.exit(e)}function vy(e,t,n,a){let i=n.createTracker(a),r=n.stack.includes("strikethrough")?"~":"~~",s=n.enter("strikethrough"),c=i.move(r);return c+=n.containerPhrasing(e,{...i.current(),before:c,after:"~"}),c+=i.move(r),s(),c}function Tj(){return{construct:"strikethrough",markers:["~"],sizes:[2,1]}}function Vj(){return"~"}function Nc(){return{enter:{table:Ij,tableData:yy,tableHeader:yy,tableRow:Pj},exit:{codeText:Rj,table:Bj,tableData:Hc,tableHeader:Hc,tableRow:Hc}}}function Ij(e){let t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function Bj(e){this.exit(e),this.data.inTable=void 0}function Pj(e){this.enter({type:"tableRow",children:[]},e)}function Hc(e){this.exit(e)}function yy(e){this.enter({type:"tableCell",children:[]},e)}function Rj(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,Dj));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function Dj(e,t){return t==="|"?t:e}function Tc(){return{exit:{taskListCheckValueChecked:_y,taskListCheckValueUnchecked:_y,paragraph:Oj}}}function _y(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function Oj(e){let t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){let n=this.stack[this.stack.length-1];n.type;let a=n.children[0];if(a&&a.type==="text"){let i=t.children,r=-1,s;for(;++r0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var iH={tokenize:uH,partial:!0};function Pc(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:oH,continuation:{tokenize:lH},exit:pH}},text:{91:{name:"gfmFootnoteCall",tokenize:cH},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:rH,resolveTo:sH}}}}function rH(e,t,n){let a=this,i=a.events.length,r=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),s;for(;i--;){let o=a.events[i][1];if(o.type==="labelImage"){s=o;break}if(o.type==="gfmFootnoteCall"||o.type==="labelLink"||o.type==="label"||o.type==="image"||o.type==="link")break}return c;function c(o){if(!s||!s._balanced)return n(o);let l=p2(a.sliceSerialize({start:s.end,end:a.now()}));return l.codePointAt(0)!==94||!r.includes(l.slice(1))?n(o):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(o),e.exit("gfmFootnoteCallLabelMarker"),t(o))}}function sH(e,t){let n=e.length,a;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){a=e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";let i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},r={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};r.end.column++,r.end.offset++,r.end._bufferIndex++;let s={type:"gfmFootnoteCallString",start:Object.assign({},r.end),end:Object.assign({},e[e.length-1][1].start)},c={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},o=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",r,t],["exit",r,t],["enter",s,t],["enter",c,t],["exit",c,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...o),e}function cH(e,t,n){let a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),r=0,s;return c;function c(u){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),o}function o(u){return u!==94?n(u):(e.enter("gfmFootnoteCallMarker"),e.consume(u),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(u){if(r>999||u===93&&!s||u===null||u===91||j1(u))return n(u);if(u===93){e.exit("chunkString");let m=e.exit("gfmFootnoteCallString");return i.includes(p2(a.sliceSerialize(m)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(u)}return j1(u)||(s=!0),r++,e.consume(u),u===92?p:l}function p(u){return u===91||u===92||u===93?(e.consume(u),r++,l):l(u)}}function oH(e,t,n){let a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),r,s=0,c;return o;function o(f){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),l}function l(f){return f===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",p):n(f)}function p(f){if(s>999||f===93&&!c||f===null||f===91||j1(f))return n(f);if(f===93){e.exit("chunkString");let w=e.exit("gfmFootnoteDefinitionLabelString");return r=p2(a.sliceSerialize(w)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),m}return j1(f)||(c=!0),s++,e.consume(f),f===92?u:p}function u(f){return f===91||f===92||f===93?(e.consume(f),s++,p):p(f)}function m(f){return f===58?(e.enter("definitionMarker"),e.consume(f),e.exit("definitionMarker"),i.includes(r)||i.push(r),g1(e,d,"gfmFootnoteDefinitionWhitespace")):n(f)}function d(f){return t(f)}}function lH(e,t,n){return e.check(Ve,t,e.attempt(iH,t,n))}function pH(e){e.exit("gfmFootnoteDefinition")}function uH(e,t,n){let a=this;return g1(e,i,"gfmFootnoteDefinitionIndent",5);function i(r){let s=a.events[a.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(r):n(r)}}function Rc(e){let n=(e||{}).singleTilde,a={name:"strikethrough",tokenize:r,resolveAll:i};return n==null&&(n=!0),{text:{126:a},insideSpan:{null:[a]},attentionMarkers:{null:[126]}};function i(s,c){let o=-1;for(;++o1?o(f):(s.consume(f),u++,d);if(u<2&&!n)return o(f);let x=s.exit("strikethroughSequenceTemporary"),v=_3(f);return x._open=!v||v===2&&!!w,x._close=!w||w===2&&!!v,c(f)}}}var xa=class{constructor(){this.map=[],this.index=new Map}add(t,n,a){mH(this,t,n,a)}consume(t){if(this.map.sort(function(r,s){return r[0]-s[0]}),this.map.length===0)return;let n=this.map.length,a=[];for(;n>0;)n-=1,a.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];a.push(t.slice()),t.length=0;let i=a.pop();for(;i;){for(let r of i)t.push(r);i=a.pop()}this.map.length=0,this.index.clear()}};function mH(e,t,n,a){if(n===0&&a.length===0)return;let i=e.index.get(t);if(i){i[1]+=n,i[2].push(...a);return}let r=[t,n,a];e.map.push(r),e.index.set(t,r)}function Ly(e,t){let n=!1,a=[];for(;t-1;){let{type:Q}=a.events[R][1];if(Q==="lineEnding"||Q==="linePrefix")R--;else break}let D=R>-1?a.events[R][1].type:null,B=D==="tableHead"||D==="tableRow"?C:o;return B===C&&a.parser.lazy[a.now().line]?n(E):B(E)}function o(E){return e.enter("tableHead"),e.enter("tableRow"),l(E)}function l(E){return E===124||(s=!0,r+=1),p(E)}function p(E){return E===null?n(E):t1(E)?r>1?(r=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(E),e.exit("lineEnding"),d):n(E):f1(E)?g1(e,p,"whitespace")(E):(r+=1,s&&(s=!1,i+=1),E===124?(e.enter("tableCellDivider"),e.consume(E),e.exit("tableCellDivider"),s=!0,p):(e.enter("data"),u(E)))}function u(E){return E===null||E===124||j1(E)?(e.exit("data"),p(E)):(e.consume(E),E===92?m:u)}function m(E){return E===92||E===124?(e.consume(E),u):u(E)}function d(E){return a.interrupt=!1,a.parser.lazy[a.now().line]?n(E):(e.enter("tableDelimiterRow"),s=!1,f1(E)?g1(e,f,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(E):f(E))}function f(E){return E===45||E===58?x(E):E===124?(s=!0,e.enter("tableCellDivider"),e.consume(E),e.exit("tableCellDivider"),w):$(E)}function w(E){return f1(E)?g1(e,x,"whitespace")(E):x(E)}function x(E){return E===58?(r+=1,s=!0,e.enter("tableDelimiterMarker"),e.consume(E),e.exit("tableDelimiterMarker"),v):E===45?(r+=1,v(E)):E===null||t1(E)?z(E):$(E)}function v(E){return E===45?(e.enter("tableDelimiterFiller"),b(E)):$(E)}function b(E){return E===45?(e.consume(E),b):E===58?(s=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(E),e.exit("tableDelimiterMarker"),_):(e.exit("tableDelimiterFiller"),_(E))}function _(E){return f1(E)?g1(e,z,"whitespace")(E):z(E)}function z(E){return E===124?f(E):E===null||t1(E)?!s||i!==r?$(E):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(E)):$(E)}function $(E){return n(E)}function C(E){return e.enter("tableRow"),j(E)}function j(E){return E===124?(e.enter("tableCellDivider"),e.consume(E),e.exit("tableCellDivider"),j):E===null||t1(E)?(e.exit("tableRow"),t(E)):f1(E)?g1(e,j,"whitespace")(E):(e.enter("data"),T(E))}function T(E){return E===null||E===124||j1(E)?(e.exit("data"),j(E)):(e.consume(E),E===92?H:T)}function H(E){return E===92||E===124?(e.consume(E),T):T(E)}}function hH(e,t){let n=-1,a=!0,i=0,r=[0,0,0,0],s=[0,0,0,0],c=!1,o=0,l,p,u,m=new xa;for(;++nn[2]+1){let f=n[2]+1,w=n[3]-n[2]-1;e.add(f,w,[])}}e.add(n[3]+1,0,[["exit",u,t]])}return i!==void 0&&(r.end=Object.assign({},s5(t.events,i)),e.add(i,0,[["exit",r,t]]),r=void 0),r}function Sy(e,t,n,a,i){let r=[],s=s5(t.events,n);i&&(i.end=Object.assign({},s),r.push(["exit",i,t])),a.end=Object.assign({},s),r.push(["exit",a,t]),e.add(n+1,0,r)}function s5(e,t){let n=e[t],a=n[0]==="enter"?"start":"end";return n[1][a]}var gH={name:"tasklistCheck",tokenize:bH};function Gc(){return{text:{91:gH}}}function bH(e,t,n){let a=this;return i;function i(o){return a.previous!==null||!a._gfmTasklistFirstContentOfListItem?n(o):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(o),e.exit("taskListCheckMarker"),r)}function r(o){return j1(o)?(e.enter("taskListCheckValueUnchecked"),e.consume(o),e.exit("taskListCheckValueUnchecked"),s):o===88||o===120?(e.enter("taskListCheckValueChecked"),e.consume(o),e.exit("taskListCheckValueChecked"),s):n(o)}function s(o){return o===93?(e.enter("taskListCheckMarker"),e.consume(o),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),c):n(o)}function c(o){return t1(o)?t(o):f1(o)?e.check({tokenize:fH},t,n)(o):n(o)}}function fH(e,t,n){return g1(e,a,"whitespace");function a(i){return i===null?n(i):t(i)}}function Oc(e){return ra([Ic(),Pc(),Rc(e),Dc(),Gc()])}var Zy={tokenize:vH,concrete:!0,name:"mathFlow"},Ey={tokenize:yH,partial:!0};function vH(e,t,n){let a=this,i=a.events[a.events.length-1],r=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,s=0;return c;function c(b){return e.enter("mathFlow"),e.enter("mathFlowFence"),e.enter("mathFlowFenceSequence"),o(b)}function o(b){return b===36?(e.consume(b),s++,o):s<2?n(b):(e.exit("mathFlowFenceSequence"),g1(e,l,"whitespace")(b))}function l(b){return b===null||t1(b)?u(b):(e.enter("mathFlowFenceMeta"),e.enter("chunkString",{contentType:"string"}),p(b))}function p(b){return b===null||t1(b)?(e.exit("chunkString"),e.exit("mathFlowFenceMeta"),u(b)):b===36?n(b):(e.consume(b),p)}function u(b){return e.exit("mathFlowFence"),a.interrupt?t(b):e.attempt(Ey,m,x)(b)}function m(b){return e.attempt({tokenize:v,partial:!0},x,d)(b)}function d(b){return(r?g1(e,f,"linePrefix",r+1):f)(b)}function f(b){return b===null?x(b):t1(b)?e.attempt(Ey,m,x)(b):(e.enter("mathFlowValue"),w(b))}function w(b){return b===null||t1(b)?(e.exit("mathFlowValue"),f(b)):(e.consume(b),w)}function x(b){return e.exit("mathFlow"),t(b)}function v(b,_,z){let $=0;return g1(b,C,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function C(H){return b.enter("mathFlowFence"),b.enter("mathFlowFenceSequence"),j(H)}function j(H){return H===36?($++,b.consume(H),j):$15?l="\u2026"+c.slice(i-15,i):l=c.slice(0,i);var p;r+15e.replace(kH,"-$1").toLowerCase(),CH={"&":"&",">":">","<":"<",'"':""","'":"'"},AH=/[&><"']/g,d2=e=>String(e).replace(AH,t=>CH[t]),Fa=e=>e.type==="ordgroup"||e.type==="color"?e.body.length===1?Fa(e.body[0]):e:e.type==="font"?Fa(e.body):e,MH=new Set(["mathord","textord","atom"]),C3=e=>MH.has(Fa(e).type),$H=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},co={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand ",cliProcessor:e=>e==="Infinity"?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function LH(e){if(typeof e!="string")return e.enum[0];switch(e){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}function SH(e){if(Object.prototype.hasOwnProperty.call(e,"default")&&e.default!==void 0)return e.default;var t=Array.isArray(e.type)?e.type[0]:e.type;return LH(t)}function EH(e,t,n,a){var i=Object.prototype.hasOwnProperty.call(n,t)?n[t]:void 0,r=Object.prototype.hasOwnProperty.call(a,"processor")?a.processor:void 0;e[t]=i!==void 0?r?r(i):i:SH(a)}var p7=class{constructor(t){t===void 0&&(t={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,t=t||{};for(var n of Object.keys(co)){var a=co[n];a&&EH(this,n,t,a)}}reportNonstrict(t,n,a){var i=this.strict;if(typeof i=="function"&&(i=i(t,n,a)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new K("LaTeX-incompatible input and strict mode is set to 'error': "+(n+" ["+t+"]"),a);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+t+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+n+" ["+t+"]"))}}useStrictBehavior(t,n,a){var i=this.strict;if(typeof i=="function")try{i=i(t,n,a)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(n+" ["+t+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+n+" ["+t+"]")),!1)}isTrusted(t){if("url"in t&&t.url&&!t.protocol){var n=$H(t.url);if(n==null)return!1;t.protocol=n}var a=typeof this.trust=="function"?this.trust(t):this.trust;return!!a}},Ie=class{constructor(t,n,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=n,this.cramped=a}sup(){return Be[ZH[this.id]]}sub(){return Be[FH[this.id]]}fracNum(){return Be[jH[this.id]]}fracDen(){return Be[HH[this.id]]}cramp(){return Be[NH[this.id]]}text(){return Be[TH[this.id]]}isTight(){return this.size>=2}},Lo=0,Ha=1,o5=2,z3=3,u7=4,pe=5,l5=6,k2=7,Be=[new Ie(Lo,0,!1),new Ie(Ha,0,!0),new Ie(o5,1,!1),new Ie(z3,1,!0),new Ie(u7,2,!1),new Ie(pe,2,!0),new Ie(l5,3,!1),new Ie(k2,3,!0)],ZH=[u7,pe,u7,pe,l5,k2,l5,k2],FH=[pe,pe,pe,pe,k2,k2,k2,k2],jH=[o5,z3,u7,pe,l5,k2,l5,k2],HH=[z3,z3,pe,pe,k2,k2,k2,k2],NH=[Ha,Ha,z3,z3,pe,pe,k2,k2],TH=[Lo,Ha,o5,z3,o5,z3,o5,z3],C1={DISPLAY:Be[Lo],TEXT:Be[o5],SCRIPT:Be[u7],SCRIPTSCRIPT:Be[l5]},oo=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function VH(e){for(var t=0;t=i[0]&&e<=i[1])return n.name}return null}var ja=[];oo.forEach(e=>e.blocks.forEach(t=>ja.push(...t)));function f_(e){for(var t=0;t=ja[t]&&e<=ja[t+1])return!0;return!1}var R0=e=>e+" "+e,c5=80,qH=function(t,n){return"M95,"+(622+t+n)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+t/2.075+" -"+t+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+t)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},IH=function(t,n){return"M263,"+(601+t+n)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+t/2.084+" -"+t+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+t)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},BH=function(t,n){return"M983 "+(10+t+n)+"\nl"+t/3.13+" -"+t+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+t)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+t)+" "+n+"h400000v"+(40+t)+"h-400000z"},PH=function(t,n){return"M424,"+(2398+t+n)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+t/4.223+" -"+t+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+t)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+t)+" "+n+"\nh400000v"+(40+t)+"h-400000z"},RH=function(t,n){return"M473,"+(2713+t+n)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+t/5.298+" -"+t+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+t)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+t)+" "+n+"h400000v"+(40+t)+"H1017.7z"},DH=function(t){var n=t/2;return"M400000 "+t+" H0 L"+n+" 0 l65 45 L145 "+(t-80)+" H400000z"},GH=function(t,n,a){var i=a-54-n-t;return"M702 "+(t+n)+"H400000"+(40+t)+"\nH742v"+i+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+n+"H400000v"+(40+t)+"H742z"},OH=function(t,n,a){n=1e3*n;var i="";switch(t){case"sqrtMain":i=qH(n,c5);break;case"sqrtSize1":i=IH(n,c5);break;case"sqrtSize2":i=BH(n,c5);break;case"sqrtSize3":i=PH(n,c5);break;case"sqrtSize4":i=RH(n,c5);break;case"sqrtTall":i=GH(n,c5,a)}return i},WH=function(t,n){switch(t){case"\u239C":return R0("M291 0 H417 V"+n+" H291z");case"\u2223":return R0("M145 0 H188 V"+n+" H145z");case"\u2225":return R0("M145 0 H188 V"+n+" H145z")+R0("M367 0 H410 V"+n+" H367z");case"\u239F":return R0("M457 0 H583 V"+n+" H457z");case"\u23A2":return R0("M319 0 H403 V"+n+" H319z");case"\u23A5":return R0("M263 0 H347 V"+n+" H263z");case"\u23AA":return R0("M384 0 H504 V"+n+" H384z");case"\u23D0":return R0("M312 0 H355 V"+n+" H312z");case"\u2016":return R0("M257 0 H300 V"+n+" H257z")+R0("M478 0 H521 V"+n+" H478z");default:return""}},jy={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:R0("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:R0("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:R0("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:R0("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:R0("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:R0("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:R0("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:R0("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},UH=function(t,n){switch(t){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+n+" v1759 v84 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+n+" v1759 v84 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+n+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+n+" v1759 h84z";case"vert":return"M145 15 v585 v"+n+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-n+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+n+" v585 h43z";case"doublevert":return"M145 15 v585 v"+n+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-n+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+n+" v585 h43z\nM367 15 v585 v"+n+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-n+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+n+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+n+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+n+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+n+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+n+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+n+" v602 h84z\nM403 1759 V0 H319 V1759 v"+n+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+n+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+n+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(n+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(n+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(n+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(n+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}};function XH(e){return"toText"in e}var h4=class{constructor(t){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(t){return this.classes.includes(t)}toNode(){for(var t=document.createDocumentFragment(),n=0;n{if(XH(t))return t.toText();throw new Error("Expected MathDomNode with toText, got "+t.constructor.name)}).join("")}},lo={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},KH={ex:!0,em:!0,mu:!0},v_=function(t){return typeof t!="string"&&(t=t.unit),t in lo||t in KH||t==="ex"},_0=function(t,n){var a;if(t.unit in lo)a=lo[t.unit]/n.fontMetrics().ptPerEm/n.sizeMultiplier;else if(t.unit==="mu")a=n.fontMetrics().cssEmPerMu;else{var i;if(n.style.isTight()?i=n.havingStyle(n.style.text()):i=n,t.unit==="ex")a=i.fontMetrics().xHeight;else if(t.unit==="em")a=i.fontMetrics().quad;else throw new K("Invalid unit: '"+t.unit+"'");i!==n&&(a*=i.sizeMultiplier/n.sizeMultiplier)}return Math.min(t.number*a,n.maxSize)},n1=function(t){return+t.toFixed(4)+"em"},g4=function(t){return t.filter(n=>n).join(" ")},So=function(t){var n="";for(var a of Object.keys(t)){var i=t[a];i!==void 0&&(n+=zH(a)+":"+i+";")}return n},y_=function(t,n,a){if(this.classes=t||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=a||{},n){n.style.isTight()&&this.classes.push("mtight");var i=n.getColor();i&&(this.style.color=i)}},__=function(t){var n=document.createElement(t);n.className=g4(this.classes),Object.assign(n.style,this.style);for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);for(var i=0;i/=\x00-\x1f]/,w_=function(t){var n="<"+t;this.classes.length&&(n+=' class="'+d2(g4(this.classes))+'"');var a=So(this.style);a&&(n+=' style="'+d2(a)+'"');for(var i of Object.keys(this.attributes)){if(YH.test(i))throw new K("Invalid attribute name '"+i+"'");n+=" "+i+'="'+d2(this.attributes[i])+'"'}n+=">";for(var r=0;r",n},b4=class{constructor(t,n,a,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,y_.call(this,t,a,i),this.children=n||[]}setAttribute(t,n){this.attributes[t]=n}hasClass(t){return this.classes.includes(t)}toNode(){return __.call(this,"span")}toMarkup(){return w_.call(this,"span")}},p5=class{constructor(t,n,a,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,y_.call(this,n,i),this.children=a||[],this.setAttribute("href",t)}setAttribute(t,n){this.attributes[t]=n}hasClass(t){return this.classes.includes(t)}toNode(){return __.call(this,"a")}toMarkup(){return w_.call(this,"a")}},po=class{constructor(t,n,a){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=n,this.src=t,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=a}hasClass(t){return this.classes.includes(t)}toNode(){var t=document.createElement("img");return t.src=this.src,t.alt=this.alt,t.className="mord",Object.assign(t.style,this.style),t}toMarkup(){var t=''+d2(this.alt)+'0&&(n=document.createElement("span"),n.style.marginRight=n1(this.italic)),this.classes.length>0&&(n=n||document.createElement("span"),n.className=g4(this.classes)),Object.keys(this.style).length>0&&(n=n||document.createElement("span"),Object.assign(n.style,this.style)),n?(n.appendChild(t),n):t}toMarkup(){var t=!1,n="0&&(a+="margin-right:"+n1(this.italic)+";"),a+=So(this.style),a&&(t=!0,n+=' style="'+d2(a)+'"');var i=d2(this.text);return t?(n+=">",n+=i,n+="",n):i}},ke=class{constructor(t,n){this.children=void 0,this.attributes=void 0,this.children=t||[],this.attributes=n||{}}toNode(){var t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"svg");for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);for(var i=0;i':''}},m7=class{constructor(t){this.attributes=void 0,this.attributes=t||{}}toNode(){var t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"line");for(var a of Object.keys(this.attributes))n.setAttribute(a,this.attributes[a]);return n}toMarkup(){var t=" but got "+String(e)+".")}var tN=e=>e instanceof b4||e instanceof p5||e instanceof h4,Pe={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},Uc={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Hy={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};function nN(e,t){Pe[e]=t}function Eo(e,t,n){if(!Pe[t])throw new Error("Font metrics not found for font: "+t+".");var a=e.charCodeAt(0),i=Pe[t][a];if(!i&&e[0]in Hy&&(a=Hy[e[0]].charCodeAt(0),i=Pe[t][a]),!i&&n==="text"&&f_(a)&&(i=Pe[t][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var Xc={};function aN(e){var t;if(e>=5?t=0:e>=3?t=1:t=2,!Xc[t]){var n=Xc[t]={cssEmPerMu:Uc.quad[t]/18};for(var a of Object.keys(Uc))n[a]=Uc[a][t]}return Xc[t]}var u0={math:{},text:{}};function h(e,t,n,a,i,r){u0[e][i]={font:t,group:n,replace:a},r&&a&&(u0[e][a]=u0[e][i])}var g="math",G="text",y="main",M="ams",m0="accent-token",m1="bin",C2="close",d5="inner",v1="mathord",T0="op-token",X2="open",f7="punct",L="rel",A3="spacing",F="textord";h(g,y,L,"\u2261","\\equiv",!0);h(g,y,L,"\u227A","\\prec",!0);h(g,y,L,"\u227B","\\succ",!0);h(g,y,L,"\u223C","\\sim",!0);h(g,y,L,"\u22A5","\\perp");h(g,y,L,"\u2AAF","\\preceq",!0);h(g,y,L,"\u2AB0","\\succeq",!0);h(g,y,L,"\u2243","\\simeq",!0);h(g,y,L,"\u2223","\\mid",!0);h(g,y,L,"\u226A","\\ll",!0);h(g,y,L,"\u226B","\\gg",!0);h(g,y,L,"\u224D","\\asymp",!0);h(g,y,L,"\u2225","\\parallel");h(g,y,L,"\u22C8","\\bowtie",!0);h(g,y,L,"\u2323","\\smile",!0);h(g,y,L,"\u2291","\\sqsubseteq",!0);h(g,y,L,"\u2292","\\sqsupseteq",!0);h(g,y,L,"\u2250","\\doteq",!0);h(g,y,L,"\u2322","\\frown",!0);h(g,y,L,"\u220B","\\ni",!0);h(g,y,L,"\u221D","\\propto",!0);h(g,y,L,"\u22A2","\\vdash",!0);h(g,y,L,"\u22A3","\\dashv",!0);h(g,y,L,"\u220B","\\owns");h(g,y,f7,".","\\ldotp");h(g,y,f7,"\u22C5","\\cdotp");h(g,y,f7,"\u22C5","\xB7");h(G,y,F,"\u22C5","\xB7");h(g,y,F,"#","\\#");h(G,y,F,"#","\\#");h(g,y,F,"&","\\&");h(G,y,F,"&","\\&");h(g,y,F,"\u2135","\\aleph",!0);h(g,y,F,"\u2200","\\forall",!0);h(g,y,F,"\u210F","\\hbar",!0);h(g,y,F,"\u2203","\\exists",!0);h(g,y,F,"\u2207","\\nabla",!0);h(g,y,F,"\u266D","\\flat",!0);h(g,y,F,"\u2113","\\ell",!0);h(g,y,F,"\u266E","\\natural",!0);h(g,y,F,"\u2663","\\clubsuit",!0);h(g,y,F,"\u2118","\\wp",!0);h(g,y,F,"\u266F","\\sharp",!0);h(g,y,F,"\u2662","\\diamondsuit",!0);h(g,y,F,"\u211C","\\Re",!0);h(g,y,F,"\u2661","\\heartsuit",!0);h(g,y,F,"\u2111","\\Im",!0);h(g,y,F,"\u2660","\\spadesuit",!0);h(g,y,F,"\xA7","\\S",!0);h(G,y,F,"\xA7","\\S");h(g,y,F,"\xB6","\\P",!0);h(G,y,F,"\xB6","\\P");h(g,y,F,"\u2020","\\dag");h(G,y,F,"\u2020","\\dag");h(G,y,F,"\u2020","\\textdagger");h(g,y,F,"\u2021","\\ddag");h(G,y,F,"\u2021","\\ddag");h(G,y,F,"\u2021","\\textdaggerdbl");h(g,y,C2,"\u23B1","\\rmoustache",!0);h(g,y,X2,"\u23B0","\\lmoustache",!0);h(g,y,C2,"\u27EF","\\rgroup",!0);h(g,y,X2,"\u27EE","\\lgroup",!0);h(g,y,m1,"\u2213","\\mp",!0);h(g,y,m1,"\u2296","\\ominus",!0);h(g,y,m1,"\u228E","\\uplus",!0);h(g,y,m1,"\u2293","\\sqcap",!0);h(g,y,m1,"\u2217","\\ast");h(g,y,m1,"\u2294","\\sqcup",!0);h(g,y,m1,"\u25EF","\\bigcirc",!0);h(g,y,m1,"\u2219","\\bullet",!0);h(g,y,m1,"\u2021","\\ddagger");h(g,y,m1,"\u2240","\\wr",!0);h(g,y,m1,"\u2A3F","\\amalg");h(g,y,m1,"&","\\And");h(g,y,L,"\u27F5","\\longleftarrow",!0);h(g,y,L,"\u21D0","\\Leftarrow",!0);h(g,y,L,"\u27F8","\\Longleftarrow",!0);h(g,y,L,"\u27F6","\\longrightarrow",!0);h(g,y,L,"\u21D2","\\Rightarrow",!0);h(g,y,L,"\u27F9","\\Longrightarrow",!0);h(g,y,L,"\u2194","\\leftrightarrow",!0);h(g,y,L,"\u27F7","\\longleftrightarrow",!0);h(g,y,L,"\u21D4","\\Leftrightarrow",!0);h(g,y,L,"\u27FA","\\Longleftrightarrow",!0);h(g,y,L,"\u21A6","\\mapsto",!0);h(g,y,L,"\u27FC","\\longmapsto",!0);h(g,y,L,"\u2197","\\nearrow",!0);h(g,y,L,"\u21A9","\\hookleftarrow",!0);h(g,y,L,"\u21AA","\\hookrightarrow",!0);h(g,y,L,"\u2198","\\searrow",!0);h(g,y,L,"\u21BC","\\leftharpoonup",!0);h(g,y,L,"\u21C0","\\rightharpoonup",!0);h(g,y,L,"\u2199","\\swarrow",!0);h(g,y,L,"\u21BD","\\leftharpoondown",!0);h(g,y,L,"\u21C1","\\rightharpoondown",!0);h(g,y,L,"\u2196","\\nwarrow",!0);h(g,y,L,"\u21CC","\\rightleftharpoons",!0);h(g,M,L,"\u226E","\\nless",!0);h(g,M,L,"\uE010","\\@nleqslant");h(g,M,L,"\uE011","\\@nleqq");h(g,M,L,"\u2A87","\\lneq",!0);h(g,M,L,"\u2268","\\lneqq",!0);h(g,M,L,"\uE00C","\\@lvertneqq");h(g,M,L,"\u22E6","\\lnsim",!0);h(g,M,L,"\u2A89","\\lnapprox",!0);h(g,M,L,"\u2280","\\nprec",!0);h(g,M,L,"\u22E0","\\npreceq",!0);h(g,M,L,"\u22E8","\\precnsim",!0);h(g,M,L,"\u2AB9","\\precnapprox",!0);h(g,M,L,"\u2241","\\nsim",!0);h(g,M,L,"\uE006","\\@nshortmid");h(g,M,L,"\u2224","\\nmid",!0);h(g,M,L,"\u22AC","\\nvdash",!0);h(g,M,L,"\u22AD","\\nvDash",!0);h(g,M,L,"\u22EA","\\ntriangleleft");h(g,M,L,"\u22EC","\\ntrianglelefteq",!0);h(g,M,L,"\u228A","\\subsetneq",!0);h(g,M,L,"\uE01A","\\@varsubsetneq");h(g,M,L,"\u2ACB","\\subsetneqq",!0);h(g,M,L,"\uE017","\\@varsubsetneqq");h(g,M,L,"\u226F","\\ngtr",!0);h(g,M,L,"\uE00F","\\@ngeqslant");h(g,M,L,"\uE00E","\\@ngeqq");h(g,M,L,"\u2A88","\\gneq",!0);h(g,M,L,"\u2269","\\gneqq",!0);h(g,M,L,"\uE00D","\\@gvertneqq");h(g,M,L,"\u22E7","\\gnsim",!0);h(g,M,L,"\u2A8A","\\gnapprox",!0);h(g,M,L,"\u2281","\\nsucc",!0);h(g,M,L,"\u22E1","\\nsucceq",!0);h(g,M,L,"\u22E9","\\succnsim",!0);h(g,M,L,"\u2ABA","\\succnapprox",!0);h(g,M,L,"\u2246","\\ncong",!0);h(g,M,L,"\uE007","\\@nshortparallel");h(g,M,L,"\u2226","\\nparallel",!0);h(g,M,L,"\u22AF","\\nVDash",!0);h(g,M,L,"\u22EB","\\ntriangleright");h(g,M,L,"\u22ED","\\ntrianglerighteq",!0);h(g,M,L,"\uE018","\\@nsupseteqq");h(g,M,L,"\u228B","\\supsetneq",!0);h(g,M,L,"\uE01B","\\@varsupsetneq");h(g,M,L,"\u2ACC","\\supsetneqq",!0);h(g,M,L,"\uE019","\\@varsupsetneqq");h(g,M,L,"\u22AE","\\nVdash",!0);h(g,M,L,"\u2AB5","\\precneqq",!0);h(g,M,L,"\u2AB6","\\succneqq",!0);h(g,M,L,"\uE016","\\@nsubseteqq");h(g,M,m1,"\u22B4","\\unlhd");h(g,M,m1,"\u22B5","\\unrhd");h(g,M,L,"\u219A","\\nleftarrow",!0);h(g,M,L,"\u219B","\\nrightarrow",!0);h(g,M,L,"\u21CD","\\nLeftarrow",!0);h(g,M,L,"\u21CF","\\nRightarrow",!0);h(g,M,L,"\u21AE","\\nleftrightarrow",!0);h(g,M,L,"\u21CE","\\nLeftrightarrow",!0);h(g,M,L,"\u25B3","\\vartriangle");h(g,M,F,"\u210F","\\hslash");h(g,M,F,"\u25BD","\\triangledown");h(g,M,F,"\u25CA","\\lozenge");h(g,M,F,"\u24C8","\\circledS");h(g,M,F,"\xAE","\\circledR");h(G,M,F,"\xAE","\\circledR");h(g,M,F,"\u2221","\\measuredangle",!0);h(g,M,F,"\u2204","\\nexists");h(g,M,F,"\u2127","\\mho");h(g,M,F,"\u2132","\\Finv",!0);h(g,M,F,"\u2141","\\Game",!0);h(g,M,F,"\u2035","\\backprime");h(g,M,F,"\u25B2","\\blacktriangle");h(g,M,F,"\u25BC","\\blacktriangledown");h(g,M,F,"\u25A0","\\blacksquare");h(g,M,F,"\u29EB","\\blacklozenge");h(g,M,F,"\u2605","\\bigstar");h(g,M,F,"\u2222","\\sphericalangle",!0);h(g,M,F,"\u2201","\\complement",!0);h(g,M,F,"\xF0","\\eth",!0);h(G,y,F,"\xF0","\xF0");h(g,M,F,"\u2571","\\diagup");h(g,M,F,"\u2572","\\diagdown");h(g,M,F,"\u25A1","\\square");h(g,M,F,"\u25A1","\\Box");h(g,M,F,"\u25CA","\\Diamond");h(g,M,F,"\xA5","\\yen",!0);h(G,M,F,"\xA5","\\yen",!0);h(g,M,F,"\u2713","\\checkmark",!0);h(G,M,F,"\u2713","\\checkmark");h(g,M,F,"\u2136","\\beth",!0);h(g,M,F,"\u2138","\\daleth",!0);h(g,M,F,"\u2137","\\gimel",!0);h(g,M,F,"\u03DD","\\digamma",!0);h(g,M,F,"\u03F0","\\varkappa");h(g,M,X2,"\u250C","\\@ulcorner",!0);h(g,M,C2,"\u2510","\\@urcorner",!0);h(g,M,X2,"\u2514","\\@llcorner",!0);h(g,M,C2,"\u2518","\\@lrcorner",!0);h(g,M,L,"\u2266","\\leqq",!0);h(g,M,L,"\u2A7D","\\leqslant",!0);h(g,M,L,"\u2A95","\\eqslantless",!0);h(g,M,L,"\u2272","\\lesssim",!0);h(g,M,L,"\u2A85","\\lessapprox",!0);h(g,M,L,"\u224A","\\approxeq",!0);h(g,M,m1,"\u22D6","\\lessdot");h(g,M,L,"\u22D8","\\lll",!0);h(g,M,L,"\u2276","\\lessgtr",!0);h(g,M,L,"\u22DA","\\lesseqgtr",!0);h(g,M,L,"\u2A8B","\\lesseqqgtr",!0);h(g,M,L,"\u2251","\\doteqdot");h(g,M,L,"\u2253","\\risingdotseq",!0);h(g,M,L,"\u2252","\\fallingdotseq",!0);h(g,M,L,"\u223D","\\backsim",!0);h(g,M,L,"\u22CD","\\backsimeq",!0);h(g,M,L,"\u2AC5","\\subseteqq",!0);h(g,M,L,"\u22D0","\\Subset",!0);h(g,M,L,"\u228F","\\sqsubset",!0);h(g,M,L,"\u227C","\\preccurlyeq",!0);h(g,M,L,"\u22DE","\\curlyeqprec",!0);h(g,M,L,"\u227E","\\precsim",!0);h(g,M,L,"\u2AB7","\\precapprox",!0);h(g,M,L,"\u22B2","\\vartriangleleft");h(g,M,L,"\u22B4","\\trianglelefteq");h(g,M,L,"\u22A8","\\vDash",!0);h(g,M,L,"\u22AA","\\Vvdash",!0);h(g,M,L,"\u2323","\\smallsmile");h(g,M,L,"\u2322","\\smallfrown");h(g,M,L,"\u224F","\\bumpeq",!0);h(g,M,L,"\u224E","\\Bumpeq",!0);h(g,M,L,"\u2267","\\geqq",!0);h(g,M,L,"\u2A7E","\\geqslant",!0);h(g,M,L,"\u2A96","\\eqslantgtr",!0);h(g,M,L,"\u2273","\\gtrsim",!0);h(g,M,L,"\u2A86","\\gtrapprox",!0);h(g,M,m1,"\u22D7","\\gtrdot");h(g,M,L,"\u22D9","\\ggg",!0);h(g,M,L,"\u2277","\\gtrless",!0);h(g,M,L,"\u22DB","\\gtreqless",!0);h(g,M,L,"\u2A8C","\\gtreqqless",!0);h(g,M,L,"\u2256","\\eqcirc",!0);h(g,M,L,"\u2257","\\circeq",!0);h(g,M,L,"\u225C","\\triangleq",!0);h(g,M,L,"\u223C","\\thicksim");h(g,M,L,"\u2248","\\thickapprox");h(g,M,L,"\u2AC6","\\supseteqq",!0);h(g,M,L,"\u22D1","\\Supset",!0);h(g,M,L,"\u2290","\\sqsupset",!0);h(g,M,L,"\u227D","\\succcurlyeq",!0);h(g,M,L,"\u22DF","\\curlyeqsucc",!0);h(g,M,L,"\u227F","\\succsim",!0);h(g,M,L,"\u2AB8","\\succapprox",!0);h(g,M,L,"\u22B3","\\vartriangleright");h(g,M,L,"\u22B5","\\trianglerighteq");h(g,M,L,"\u22A9","\\Vdash",!0);h(g,M,L,"\u2223","\\shortmid");h(g,M,L,"\u2225","\\shortparallel");h(g,M,L,"\u226C","\\between",!0);h(g,M,L,"\u22D4","\\pitchfork",!0);h(g,M,L,"\u221D","\\varpropto");h(g,M,L,"\u25C0","\\blacktriangleleft");h(g,M,L,"\u2234","\\therefore",!0);h(g,M,L,"\u220D","\\backepsilon");h(g,M,L,"\u25B6","\\blacktriangleright");h(g,M,L,"\u2235","\\because",!0);h(g,M,L,"\u22D8","\\llless");h(g,M,L,"\u22D9","\\gggtr");h(g,M,m1,"\u22B2","\\lhd");h(g,M,m1,"\u22B3","\\rhd");h(g,M,L,"\u2242","\\eqsim",!0);h(g,y,L,"\u22C8","\\Join");h(g,M,L,"\u2251","\\Doteq",!0);h(g,M,m1,"\u2214","\\dotplus",!0);h(g,M,m1,"\u2216","\\smallsetminus");h(g,M,m1,"\u22D2","\\Cap",!0);h(g,M,m1,"\u22D3","\\Cup",!0);h(g,M,m1,"\u2A5E","\\doublebarwedge",!0);h(g,M,m1,"\u229F","\\boxminus",!0);h(g,M,m1,"\u229E","\\boxplus",!0);h(g,M,m1,"\u22C7","\\divideontimes",!0);h(g,M,m1,"\u22C9","\\ltimes",!0);h(g,M,m1,"\u22CA","\\rtimes",!0);h(g,M,m1,"\u22CB","\\leftthreetimes",!0);h(g,M,m1,"\u22CC","\\rightthreetimes",!0);h(g,M,m1,"\u22CF","\\curlywedge",!0);h(g,M,m1,"\u22CE","\\curlyvee",!0);h(g,M,m1,"\u229D","\\circleddash",!0);h(g,M,m1,"\u229B","\\circledast",!0);h(g,M,m1,"\u22C5","\\centerdot");h(g,M,m1,"\u22BA","\\intercal",!0);h(g,M,m1,"\u22D2","\\doublecap");h(g,M,m1,"\u22D3","\\doublecup");h(g,M,m1,"\u22A0","\\boxtimes",!0);h(g,M,L,"\u21E2","\\dashrightarrow",!0);h(g,M,L,"\u21E0","\\dashleftarrow",!0);h(g,M,L,"\u21C7","\\leftleftarrows",!0);h(g,M,L,"\u21C6","\\leftrightarrows",!0);h(g,M,L,"\u21DA","\\Lleftarrow",!0);h(g,M,L,"\u219E","\\twoheadleftarrow",!0);h(g,M,L,"\u21A2","\\leftarrowtail",!0);h(g,M,L,"\u21AB","\\looparrowleft",!0);h(g,M,L,"\u21CB","\\leftrightharpoons",!0);h(g,M,L,"\u21B6","\\curvearrowleft",!0);h(g,M,L,"\u21BA","\\circlearrowleft",!0);h(g,M,L,"\u21B0","\\Lsh",!0);h(g,M,L,"\u21C8","\\upuparrows",!0);h(g,M,L,"\u21BF","\\upharpoonleft",!0);h(g,M,L,"\u21C3","\\downharpoonleft",!0);h(g,y,L,"\u22B6","\\origof",!0);h(g,y,L,"\u22B7","\\imageof",!0);h(g,M,L,"\u22B8","\\multimap",!0);h(g,M,L,"\u21AD","\\leftrightsquigarrow",!0);h(g,M,L,"\u21C9","\\rightrightarrows",!0);h(g,M,L,"\u21C4","\\rightleftarrows",!0);h(g,M,L,"\u21A0","\\twoheadrightarrow",!0);h(g,M,L,"\u21A3","\\rightarrowtail",!0);h(g,M,L,"\u21AC","\\looparrowright",!0);h(g,M,L,"\u21B7","\\curvearrowright",!0);h(g,M,L,"\u21BB","\\circlearrowright",!0);h(g,M,L,"\u21B1","\\Rsh",!0);h(g,M,L,"\u21CA","\\downdownarrows",!0);h(g,M,L,"\u21BE","\\upharpoonright",!0);h(g,M,L,"\u21C2","\\downharpoonright",!0);h(g,M,L,"\u21DD","\\rightsquigarrow",!0);h(g,M,L,"\u21DD","\\leadsto");h(g,M,L,"\u21DB","\\Rrightarrow",!0);h(g,M,L,"\u21BE","\\restriction");h(g,y,F,"\u2018","`");h(g,y,F,"$","\\$");h(G,y,F,"$","\\$");h(G,y,F,"$","\\textdollar");h(g,y,F,"%","\\%");h(G,y,F,"%","\\%");h(g,y,F,"_","\\_");h(G,y,F,"_","\\_");h(G,y,F,"_","\\textunderscore");h(g,y,F,"\u2220","\\angle",!0);h(g,y,F,"\u221E","\\infty",!0);h(g,y,F,"\u2032","\\prime");h(g,y,F,"\u25B3","\\triangle");h(g,y,F,"\u0393","\\Gamma",!0);h(g,y,F,"\u0394","\\Delta",!0);h(g,y,F,"\u0398","\\Theta",!0);h(g,y,F,"\u039B","\\Lambda",!0);h(g,y,F,"\u039E","\\Xi",!0);h(g,y,F,"\u03A0","\\Pi",!0);h(g,y,F,"\u03A3","\\Sigma",!0);h(g,y,F,"\u03A5","\\Upsilon",!0);h(g,y,F,"\u03A6","\\Phi",!0);h(g,y,F,"\u03A8","\\Psi",!0);h(g,y,F,"\u03A9","\\Omega",!0);h(g,y,F,"A","\u0391");h(g,y,F,"B","\u0392");h(g,y,F,"E","\u0395");h(g,y,F,"Z","\u0396");h(g,y,F,"H","\u0397");h(g,y,F,"I","\u0399");h(g,y,F,"K","\u039A");h(g,y,F,"M","\u039C");h(g,y,F,"N","\u039D");h(g,y,F,"O","\u039F");h(g,y,F,"P","\u03A1");h(g,y,F,"T","\u03A4");h(g,y,F,"X","\u03A7");h(g,y,F,"\xAC","\\neg",!0);h(g,y,F,"\xAC","\\lnot");h(g,y,F,"\u22A4","\\top");h(g,y,F,"\u22A5","\\bot");h(g,y,F,"\u2205","\\emptyset");h(g,M,F,"\u2205","\\varnothing");h(g,y,v1,"\u03B1","\\alpha",!0);h(g,y,v1,"\u03B2","\\beta",!0);h(g,y,v1,"\u03B3","\\gamma",!0);h(g,y,v1,"\u03B4","\\delta",!0);h(g,y,v1,"\u03F5","\\epsilon",!0);h(g,y,v1,"\u03B6","\\zeta",!0);h(g,y,v1,"\u03B7","\\eta",!0);h(g,y,v1,"\u03B8","\\theta",!0);h(g,y,v1,"\u03B9","\\iota",!0);h(g,y,v1,"\u03BA","\\kappa",!0);h(g,y,v1,"\u03BB","\\lambda",!0);h(g,y,v1,"\u03BC","\\mu",!0);h(g,y,v1,"\u03BD","\\nu",!0);h(g,y,v1,"\u03BE","\\xi",!0);h(g,y,v1,"\u03BF","\\omicron",!0);h(g,y,v1,"\u03C0","\\pi",!0);h(g,y,v1,"\u03C1","\\rho",!0);h(g,y,v1,"\u03C3","\\sigma",!0);h(g,y,v1,"\u03C4","\\tau",!0);h(g,y,v1,"\u03C5","\\upsilon",!0);h(g,y,v1,"\u03D5","\\phi",!0);h(g,y,v1,"\u03C7","\\chi",!0);h(g,y,v1,"\u03C8","\\psi",!0);h(g,y,v1,"\u03C9","\\omega",!0);h(g,y,v1,"\u03B5","\\varepsilon",!0);h(g,y,v1,"\u03D1","\\vartheta",!0);h(g,y,v1,"\u03D6","\\varpi",!0);h(g,y,v1,"\u03F1","\\varrho",!0);h(g,y,v1,"\u03C2","\\varsigma",!0);h(g,y,v1,"\u03C6","\\varphi",!0);h(g,y,m1,"\u2217","*",!0);h(g,y,m1,"+","+");h(g,y,m1,"\u2212","-",!0);h(g,y,m1,"\u22C5","\\cdot",!0);h(g,y,m1,"\u2218","\\circ",!0);h(g,y,m1,"\xF7","\\div",!0);h(g,y,m1,"\xB1","\\pm",!0);h(g,y,m1,"\xD7","\\times",!0);h(g,y,m1,"\u2229","\\cap",!0);h(g,y,m1,"\u222A","\\cup",!0);h(g,y,m1,"\u2216","\\setminus",!0);h(g,y,m1,"\u2227","\\land");h(g,y,m1,"\u2228","\\lor");h(g,y,m1,"\u2227","\\wedge",!0);h(g,y,m1,"\u2228","\\vee",!0);h(g,y,F,"\u221A","\\surd");h(g,y,X2,"\u27E8","\\langle",!0);h(g,y,X2,"\u2223","\\lvert");h(g,y,X2,"\u2225","\\lVert");h(g,y,C2,"?","?");h(g,y,C2,"!","!");h(g,y,C2,"\u27E9","\\rangle",!0);h(g,y,C2,"\u2223","\\rvert");h(g,y,C2,"\u2225","\\rVert");h(g,y,L,"=","=");h(g,y,L,":",":");h(g,y,L,"\u2248","\\approx",!0);h(g,y,L,"\u2245","\\cong",!0);h(g,y,L,"\u2265","\\ge");h(g,y,L,"\u2265","\\geq",!0);h(g,y,L,"\u2190","\\gets");h(g,y,L,">","\\gt",!0);h(g,y,L,"\u2208","\\in",!0);h(g,y,L,"\uE020","\\@not");h(g,y,L,"\u2282","\\subset",!0);h(g,y,L,"\u2283","\\supset",!0);h(g,y,L,"\u2286","\\subseteq",!0);h(g,y,L,"\u2287","\\supseteq",!0);h(g,M,L,"\u2288","\\nsubseteq",!0);h(g,M,L,"\u2289","\\nsupseteq",!0);h(g,y,L,"\u22A8","\\models");h(g,y,L,"\u2190","\\leftarrow",!0);h(g,y,L,"\u2264","\\le");h(g,y,L,"\u2264","\\leq",!0);h(g,y,L,"<","\\lt",!0);h(g,y,L,"\u2192","\\rightarrow",!0);h(g,y,L,"\u2192","\\to");h(g,M,L,"\u2271","\\ngeq",!0);h(g,M,L,"\u2270","\\nleq",!0);h(g,y,A3,"\xA0","\\ ");h(g,y,A3,"\xA0","\\space");h(g,y,A3,"\xA0","\\nobreakspace");h(G,y,A3,"\xA0","\\ ");h(G,y,A3,"\xA0"," ");h(G,y,A3,"\xA0","\\space");h(G,y,A3,"\xA0","\\nobreakspace");h(g,y,A3,"","\\nobreak");h(g,y,A3,"","\\allowbreak");h(g,y,f7,",",",");h(g,y,f7,";",";");h(g,M,m1,"\u22BC","\\barwedge",!0);h(g,M,m1,"\u22BB","\\veebar",!0);h(g,y,m1,"\u2299","\\odot",!0);h(g,y,m1,"\u2295","\\oplus",!0);h(g,y,m1,"\u2297","\\otimes",!0);h(g,y,F,"\u2202","\\partial",!0);h(g,y,m1,"\u2298","\\oslash",!0);h(g,M,m1,"\u229A","\\circledcirc",!0);h(g,M,m1,"\u22A1","\\boxdot",!0);h(g,y,m1,"\u25B3","\\bigtriangleup");h(g,y,m1,"\u25BD","\\bigtriangledown");h(g,y,m1,"\u2020","\\dagger");h(g,y,m1,"\u22C4","\\diamond");h(g,y,m1,"\u22C6","\\star");h(g,y,m1,"\u25C3","\\triangleleft");h(g,y,m1,"\u25B9","\\triangleright");h(g,y,X2,"{","\\{");h(G,y,F,"{","\\{");h(G,y,F,"{","\\textbraceleft");h(g,y,C2,"}","\\}");h(G,y,F,"}","\\}");h(G,y,F,"}","\\textbraceright");h(g,y,X2,"{","\\lbrace");h(g,y,C2,"}","\\rbrace");h(g,y,X2,"[","\\lbrack",!0);h(G,y,F,"[","\\lbrack",!0);h(g,y,C2,"]","\\rbrack",!0);h(G,y,F,"]","\\rbrack",!0);h(g,y,X2,"(","\\lparen",!0);h(g,y,C2,")","\\rparen",!0);h(G,y,F,"<","\\textless",!0);h(G,y,F,">","\\textgreater",!0);h(g,y,X2,"\u230A","\\lfloor",!0);h(g,y,C2,"\u230B","\\rfloor",!0);h(g,y,X2,"\u2308","\\lceil",!0);h(g,y,C2,"\u2309","\\rceil",!0);h(g,y,F,"\\","\\backslash");h(g,y,F,"\u2223","|");h(g,y,F,"\u2223","\\vert");h(G,y,F,"|","\\textbar",!0);h(g,y,F,"\u2225","\\|");h(g,y,F,"\u2225","\\Vert");h(G,y,F,"\u2225","\\textbardbl");h(G,y,F,"~","\\textasciitilde");h(G,y,F,"\\","\\textbackslash");h(G,y,F,"^","\\textasciicircum");h(g,y,L,"\u2191","\\uparrow",!0);h(g,y,L,"\u21D1","\\Uparrow",!0);h(g,y,L,"\u2193","\\downarrow",!0);h(g,y,L,"\u21D3","\\Downarrow",!0);h(g,y,L,"\u2195","\\updownarrow",!0);h(g,y,L,"\u21D5","\\Updownarrow",!0);h(g,y,T0,"\u2210","\\coprod");h(g,y,T0,"\u22C1","\\bigvee");h(g,y,T0,"\u22C0","\\bigwedge");h(g,y,T0,"\u2A04","\\biguplus");h(g,y,T0,"\u22C2","\\bigcap");h(g,y,T0,"\u22C3","\\bigcup");h(g,y,T0,"\u222B","\\int");h(g,y,T0,"\u222B","\\intop");h(g,y,T0,"\u222C","\\iint");h(g,y,T0,"\u222D","\\iiint");h(g,y,T0,"\u220F","\\prod");h(g,y,T0,"\u2211","\\sum");h(g,y,T0,"\u2A02","\\bigotimes");h(g,y,T0,"\u2A01","\\bigoplus");h(g,y,T0,"\u2A00","\\bigodot");h(g,y,T0,"\u222E","\\oint");h(g,y,T0,"\u222F","\\oiint");h(g,y,T0,"\u2230","\\oiiint");h(g,y,T0,"\u2A06","\\bigsqcup");h(g,y,T0,"\u222B","\\smallint");h(G,y,d5,"\u2026","\\textellipsis");h(g,y,d5,"\u2026","\\mathellipsis");h(G,y,d5,"\u2026","\\ldots",!0);h(g,y,d5,"\u2026","\\ldots",!0);h(g,y,d5,"\u22EF","\\@cdots",!0);h(g,y,d5,"\u22F1","\\ddots",!0);h(g,y,F,"\u22EE","\\varvdots");h(G,y,F,"\u22EE","\\varvdots");h(g,y,m0,"\u02CA","\\acute");h(g,y,m0,"\u02CB","\\grave");h(g,y,m0,"\xA8","\\ddot");h(g,y,m0,"~","\\tilde");h(g,y,m0,"\u02C9","\\bar");h(g,y,m0,"\u02D8","\\breve");h(g,y,m0,"\u02C7","\\check");h(g,y,m0,"^","\\hat");h(g,y,m0,"\u20D7","\\vec");h(g,y,m0,"\u02D9","\\dot");h(g,y,m0,"\u02DA","\\mathring");h(g,y,v1,"\uE131","\\@imath");h(g,y,v1,"\uE237","\\@jmath");h(g,y,F,"\u0131","\u0131");h(g,y,F,"\u0237","\u0237");h(G,y,F,"\u0131","\\i",!0);h(G,y,F,"\u0237","\\j",!0);h(G,y,F,"\xDF","\\ss",!0);h(G,y,F,"\xE6","\\ae",!0);h(G,y,F,"\u0153","\\oe",!0);h(G,y,F,"\xF8","\\o",!0);h(G,y,F,"\xC6","\\AE",!0);h(G,y,F,"\u0152","\\OE",!0);h(G,y,F,"\xD8","\\O",!0);h(G,y,m0,"\u02CA","\\'");h(G,y,m0,"\u02CB","\\`");h(G,y,m0,"\u02C6","\\^");h(G,y,m0,"\u02DC","\\~");h(G,y,m0,"\u02C9","\\=");h(G,y,m0,"\u02D8","\\u");h(G,y,m0,"\u02D9","\\.");h(G,y,m0,"\xB8","\\c");h(G,y,m0,"\u02DA","\\r");h(G,y,m0,"\u02C7","\\v");h(G,y,m0,"\xA8",'\\"');h(G,y,m0,"\u02DD","\\H");h(G,y,m0,"\u25EF","\\textcircled");var x_={"--":!0,"---":!0,"``":!0,"''":!0};h(G,y,F,"\u2013","--",!0);h(G,y,F,"\u2013","\\textendash");h(G,y,F,"\u2014","---",!0);h(G,y,F,"\u2014","\\textemdash");h(G,y,F,"\u2018","`",!0);h(G,y,F,"\u2018","\\textquoteleft");h(G,y,F,"\u2019","'",!0);h(G,y,F,"\u2019","\\textquoteright");h(G,y,F,"\u201C","``",!0);h(G,y,F,"\u201C","\\textquotedblleft");h(G,y,F,"\u201D","''",!0);h(G,y,F,"\u201D","\\textquotedblright");h(g,y,F,"\xB0","\\degree",!0);h(G,y,F,"\xB0","\\degree");h(G,y,F,"\xB0","\\textdegree",!0);h(g,y,F,"\xA3","\\pounds");h(g,y,F,"\xA3","\\mathsterling",!0);h(G,y,F,"\xA3","\\pounds");h(G,y,F,"\xA3","\\textsterling",!0);h(g,M,F,"\u2720","\\maltese");h(G,M,F,"\u2720","\\maltese");var Ny='0123456789/@."';for(za=0;za{var t=e.charCodeAt(0),n=e.charCodeAt(1),a=(t-55296)*1024+(n-56320)+65536;if(119808<=a&&a<120484){var i=Math.floor((a-119808)/26);return Dy[i]}else if(120782<=a&&a<=120831){var r=Math.floor((a-120782)/10);return rN[r]}else{if(a===120485||a===120486)return Dy[0];if(120486{if(g4(e.classes)!==g4(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize||e.italic!==0&&e.hasClass("mathnormal"))return!1;if(e.classes.length===1){var n=e.classes[0];if(n==="mbin"||n==="mord")return!1}for(var a of Object.keys(e.style))if(e.style[a]!==t.style[a])return!1;for(var i of Object.keys(t.style))if(e.style[i]!==t.style[i])return!1;return!0},k_=e=>{for(var t=0;tn&&(n=s.height),s.depth>a&&(a=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}t.height=n,t.depth=a,t.maxFontSize=i},W=function(t,n,a,i){var r=new b4(t,n,a,i);return Fo(r),r},f4=(e,t,n,a)=>new b4(e,t,n,a),u5=function(t,n,a){var i=W([t],[],n);return i.height=Math.max(a||n.fontMetrics().defaultRuleThickness,n.minRuleThickness),i.style.borderBottomWidth=n1(i.height),i.maxFontSize=1,i},lN=function(t,n,a,i){var r=new p5(t,n,a,i);return Fo(r),r},M3=function(t){var n=new h4(t);return Fo(n),n},m5=function(t,n){return t instanceof h4?W([],[t],n):t},pN=function(t){if(t.positionType==="individualShift"){for(var n=t.children,a=[n[0]],i=-n[0].shift-n[0].elem.depth,r=i,s=1;s{var n=W(["mspace"],[],t),a=_0(e,t);return n.style.marginRight=n1(a),n},$a=(e,t,n)=>{var a,i;switch(e){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=e}return t==="textbf"&&n==="textit"?i="BoldItalic":t==="textbf"?i="Bold":n==="textit"?i="Italic":i="Regular",a+"-"+i},fo={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},C_={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},A_=function(t,n){var a=C_[t],i=a[0],r=a[1],s=a[2],c=new Re(i),o=new ke([c],{width:n1(r),height:n1(s),style:"width:"+n1(r),viewBox:"0 0 "+1e3*r+" "+1e3*s,preserveAspectRatio:"xMinYMin"}),l=f4(["katex-overlay"],[o],n);return l.height=s,l.style.height=n1(s),l.style.width=n1(r),l},y0={number:3,unit:"mu"},et={number:4,unit:"mu"},k3={number:5,unit:"mu"},uN={mord:{mop:y0,mbin:et,mrel:k3,minner:y0},mop:{mord:y0,mop:y0,mrel:k3,minner:y0},mbin:{mord:et,mop:et,mopen:et,minner:et},mrel:{mord:k3,mop:k3,mopen:k3,minner:k3},mopen:{},mclose:{mop:y0,mbin:et,mrel:k3,minner:y0},mpunct:{mord:y0,mop:y0,mrel:k3,mopen:y0,mclose:y0,mpunct:y0,minner:y0},minner:{mord:y0,mop:y0,mbin:et,mrel:k3,mopen:y0,mpunct:y0,minner:y0}},mN={mord:{mop:y0},mop:{mord:y0,mop:y0},mbin:{},mrel:{},mopen:{},mclose:{mop:y0},mpunct:{},minner:{mop:y0}},M_={},d7={},h7={};function o1(e){for(var t=e.type,n=e.names,a=e.htmlBuilder,i=e.mathmlBuilder,r=0;r{var x=w.classes[0],v=f.classes[0];x==="mbin"&&hN.has(v)?w.classes[0]="mord":v==="mbin"&&dN.has(x)&&(f.classes[0]="mord")},{node:u},m,d),vo(r,(f,w)=>{var x,v,b=_o(w),_=_o(f),z=b&&_?f.hasClass("mtight")?(x=mN[b])==null?void 0:x[_]:(v=uN[b])==null?void 0:v[_]:null;if(z)return z_(z,l)},{node:u},m,d),r},vo=function(t,n,a,i,r){i&&t.push(i);for(var s=0;sm=>{t.splice(u+1,0,m),s++})(s)}i&&t.pop()},$_=function(t){return t instanceof h4||t instanceof p5||t instanceof b4&&t.hasClass("enclosing")?t:null},yo=function(t,n){var a=$_(t);if(a){var i=a.children;if(i.length){if(n==="right")return yo(i[i.length-1],"right");if(n==="left")return yo(i[0],"left")}}return t},_o=function(t,n){if(!t)return null;n&&(t=yo(t,n));var a=t.classes[0];return bN[a]||null},b7=function(t,n){var a=["nulldelimiter"].concat(t.baseSizingClasses());return W(n.concat(a))},W1=function(t,n,a){if(!t)return W();if(d7[t.type]){var i=d7[t.type](t,n);if(a&&n.size!==a.size){i=W(n.sizingClasses(a),[i],n);var r=n.sizeMultiplier/a.sizeMultiplier;i.height*=r,i.depth*=r}return i}else throw new K("Got group of unknown type: '"+t.type+"'")};function La(e,t){var n=W(["katex-base"],e,t),a=W(["katex-strut"]);return a.style.height=n1(n.height+n.depth),n.depth&&(a.style.verticalAlign=n1(-n.depth)),n.children.unshift(a),n}function wo(e,t){var n=null;e.length===1&&e[0].type==="tag"&&(n=e[0].tag,e=e[0].body);var a=D0(e,t,"root"),i;a.length===2&&a[1].hasClass("katex-tag")&&(i=a.pop());for(var r=[],s=[],c=0;c0&&(r.push(La(s,t)),s=[]),r.push(a[c]));s.length>0&&r.push(La(s,t));var l;n?(l=La(D0(n,t,!0),t),l.classes=["katex-tag"],r.push(l)):i&&r.push(i);var p=W(["katex-html"],r);if(p.setAttribute("aria-hidden","true"),l){var u=l.children[0];u.style.height=n1(p.height+p.depth),p.depth&&(u.style.verticalAlign=n1(-p.depth))}return p}function L_(e){return new h4(e)}var Y=class{constructor(t,n,a){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=t,this.attributes={},this.children=n||[],this.classes=a||[]}setAttribute(t,n){this.attributes[t]=n}getAttribute(t){return this.attributes[t]}toNode(){var t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var n of Object.entries(this.attributes)){var a=n[0],i=n[1];t.setAttribute(a,i)}this.classes.length>0&&(t.className=g4(this.classes));for(var r=0;r0&&(t+=' class ="'+d2(g4(this.classes))+'"'),t+=">";for(var r=0;r",t}toText(){return this.children.map(t=>t.toText()).join("")}},$0=class{constructor(t){this.text=void 0,this.text=t}toNode(){return document.createTextNode(this.text)}toMarkup(){return d2(this.toText())}toText(){return this.text}},Ta=class{constructor(t){this.width=void 0,this.character=void 0,this.width=t,t>=.05555&&t<=.05556?this.character="\u200A":t>=.1666&&t<=.1667?this.character="\u2009":t>=.2222&&t<=.2223?this.character="\u2005":t>=.2777&&t<=.2778?this.character="\u2005\u200A":t>=-.05556&&t<=-.05555?this.character="\u200A\u2063":t>=-.1667&&t<=-.1666?this.character="\u2009\u2063":t>=-.2223&&t<=-.2222?this.character="\u205F\u2063":t>=-.2778&&t<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var t=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return t.setAttribute("width",n1(this.width)),t}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},fN=new Set(["\\imath","\\jmath"]),vN=new Set(["mrow","mtable"]),ue=function(t,n,a){var i,r;return u0[n][t]&&u0[n][t].replace&&t.charCodeAt(0)!==55349&&!(Object.prototype.hasOwnProperty.call(x_,t)&&((a==null||(i=a.fontFamily)==null?void 0:i.slice(4,6))==="tt"||(a==null||(r=a.font)==null?void 0:r.slice(4,6))==="tt"))&&(t=u0[n][t].replace),new $0(t)},jo=function(t){return t.length===1?t[0]:new Y("mrow",t)},yN={mathit:"italic",boldsymbol:e=>e.type==="textord"?"bold":"bold-italic",mathbf:"bold",mathbb:"double-struck",mathsfit:"sans-serif-italic",mathfrak:"fraktur",mathscr:"script",mathcal:"script",mathsf:"sans-serif",mathtt:"monospace"},Ho=(e,t)=>{if(e.mode==="text"){if(t.fontFamily==="texttt")return"monospace";if(t.fontFamily==="textsf")return t.fontShape==="textit"&&t.fontWeight==="textbf"?"sans-serif-bold-italic":t.fontShape==="textit"?"sans-serif-italic":t.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(t.fontShape==="textit"&&t.fontWeight==="textbf")return"bold-italic";if(t.fontShape==="textit")return"italic";if(t.fontWeight==="textbf")return"bold"}var n=t.font;if(!n||n==="mathnormal")return null;var a=e.mode,i=yN[n];if(i)return typeof i=="function"?i(e):i;var r=e.text;if(fN.has(r))return null;if(u0[a][r]){var s=u0[a][r].replace;s&&(r=s)}var c=fo[n].fontName;return Eo(r,c,a)?fo[n].variant:null};function Jc(e){if(!e)return!1;if(e.type==="mi"&&e.children.length===1){var t=e.children[0];return t instanceof $0&&t.text==="."}else if(e.type==="mo"&&e.children.length===1&&e.getAttribute("separator")==="true"&&e.getAttribute("lspace")==="0em"&&e.getAttribute("rspace")==="0em"){var n=e.children[0];return n instanceof $0&&n.text===","}else return!1}var K2=function(t,n,a){if(t.length===1){var i=J1(t[0],n);return a&&i instanceof Y&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var r=[],s,c=0;c=1&&(s.type==="mn"||Jc(s))){var l=o.children[0];l instanceof Y&&l.type==="mn"&&(l.children=[...s.children,...l.children],r.pop())}else if(s.type==="mi"&&s.children.length===1){var p=s.children[0];if(p instanceof $0&&p.text==="\u0338"&&(o.type==="mo"||o.type==="mi"||o.type==="mn")){var u=o.children[0];u instanceof $0&&u.text.length>0&&(u.text=u.text.slice(0,1)+"\u0338"+u.text.slice(1),r.pop())}}}r.push(o),s=o}return r},v4=function(t,n,a){return jo(K2(t,n,a))},J1=function(t,n){if(!t)return new Y("mrow");if(h7[t.type])return h7[t.type](t,n);throw new K("Got group of unknown type: '"+t.type+"'")};function Gy(e,t,n,a,i){var r=K2(e,n),s;r.length===1&&r[0]instanceof Y&&vN.has(r[0].type)?s=r[0]:s=new Y("mrow",r);var c=new Y("annotation",[new $0(t)]);c.setAttribute("encoding","application/x-tex");var o=new Y("semantics",[s,c]),l=new Y("math",[o]);l.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&l.setAttribute("display","block");var p=i?"katex":"katex-mathml";return W([p],[l])}var _N=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Oy=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Wy=function(t,n){return n.size<2?t:_N[t-1][n.size-1]},Va=class e{constructor(t){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=t.style,this.color=t.color,this.size=t.size||e.BASESIZE,this.textSize=t.textSize||this.size,this.phantom=!!t.phantom,this.font=t.font||"",this.fontFamily=t.fontFamily||"",this.fontWeight=t.fontWeight||"",this.fontShape=t.fontShape||"",this.sizeMultiplier=Oy[this.size-1],this.maxSize=t.maxSize,this.minRuleThickness=t.minRuleThickness,this._fontMetrics=void 0}extend(t){var n={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(n,t),new e(n)}havingStyle(t){return this.style===t?this:this.extend({style:t,size:Wy(this.textSize,t)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(t){return this.size===t&&this.textSize===t?this:this.extend({style:this.style.text(),size:t,textSize:t,sizeMultiplier:Oy[t-1]})}havingBaseStyle(t){t=t||this.style.text();var n=Wy(e.BASESIZE,t);return this.size===n&&this.textSize===e.BASESIZE&&this.style===t?this:this.extend({style:t,size:n})}havingBaseSizing(){var t;switch(this.style.id){case 4:case 5:t=3;break;case 6:case 7:t=1;break;default:t=6}return this.extend({style:this.style.text(),size:t})}withColor(t){return this.extend({color:t})}withPhantom(){return this.extend({phantom:!0})}withFont(t){return this.extend({font:t})}withTextFontFamily(t){return this.extend({fontFamily:t,font:""})}withTextFontWeight(t){return this.extend({fontWeight:t,font:""})}withTextFontShape(t){return this.extend({fontShape:t,font:""})}sizingClasses(t){return t.size!==this.size?["katex-sizing","reset-size"+t.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==e.BASESIZE?["katex-sizing","reset-size"+this.size,"size"+e.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=aN(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};Va.BASESIZE=6;var S_=function(t){return new Va({style:t.displayMode?C1.DISPLAY:C1.TEXT,maxSize:t.maxSize,minRuleThickness:t.minRuleThickness})},E_=function(t,n){if(n.displayMode){var a=["katex-display"];n.leqno&&a.push("leqno"),n.fleqn&&a.push("fleqn"),t=W(a,[t])}return t},wN=function(t,n,a){var i=S_(a),r;if(a.output==="mathml")return Gy(t,n,i,a.displayMode,!0);if(a.output==="html"){var s=wo(t,i);r=W(["katex"],[s])}else{var c=Gy(t,n,i,a.displayMode,!1),o=wo(t,i);r=W(["katex"],[c,o])}return E_(r,a)},xN=function(t,n,a){var i=S_(a),r=wo(t,i),s=W(["katex"],[r]);return E_(s,a)},kN={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",underbracket:"\u23B5",overbracket:"\u23B4",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Ra=function(t){var n=new Y("mo",[new $0(kN[t.replace(/^\\/,"")])]);return n.setAttribute("stretchy","true"),n},zN={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},CN=new Set(["widehat","widecheck","widetilde","utilde"]),Da=function(t,n){function a(){var o=4e5,l=t.label.slice(1);if(CN.has(l)&&"base"in t){var p=t.base.type==="ordgroup"?t.base.body.length:1,u,m,d;if(p>5)l==="widehat"||l==="widecheck"?(u=420,o=2364,d=.42,m=l+"4"):(u=312,o=2340,d=.34,m="tilde4");else{var f=[1,1,2,2,3,3][p];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][f],u=[0,239,300,360,420][f],d=[0,.24,.3,.3,.36,.42][f],m=l+f):(o=[0,600,1033,2339,2340][f],u=[0,260,286,306,312][f],d=[0,.26,.286,.3,.306,.34][f],m="tilde"+f)}var w=new Re(m),x=new ke([w],{width:"100%",height:n1(d),viewBox:"0 0 "+o+" "+u,preserveAspectRatio:"none"});return{span:f4([],[x],n),minWidth:0,height:d}}else{var v=[],b=zN[l];if(!b)throw new Error('No SVG data for "'+l+'".');var _=b[0],z=b[1],$=b[2],C=$/1e3,j=_.length,T,H;if(j===1){if(b.length!==4)throw new Error('Expected 4-tuple for single-path SVG data "'+l+'".');T=["hide-tail"],H=[b[3]]}else if(j===2)T=["halfarrow-left","halfarrow-right"],H=["xMinYMin","xMaxYMin"];else if(j===3)T=["brace-left","brace-center","brace-right"],H=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error("Correct katexImagesData or update code here to support\n "+j+" children.");for(var E=0;E0&&(r.style.minWidth=n1(s)),r},AN=function(t,n,a,i,r){var s,c=t.height+t.depth+a+i;if(/fbox|color|angl/.test(n)){if(s=W(["katex-stretchy",n],[],r),n==="fbox"){var o=r.color&&r.getColor();o&&(s.style.borderColor=o)}}else{var l=[];/^[bx]cancel$/.test(n)&&l.push(new m7({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(n)&&l.push(new m7({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var p=new ke(l,{width:"100%",height:n1(c)});s=f4([],[p],r)}return s.height=c,s.style.height=n1(c),s},MN=["bin","close","inner","open","punct","rel"],$N=["accent-token","mathord","op-token","spacing","textord"],LN=new Set(MN),SN=new Set($N);function EN(e){return LN.has(e)}function N1(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function Ga(e){var t=Oa(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function Oa(e){return e.type==="atom"||SN.has(e.type)?e:null}function No(e,t,n){var a="";for(var i of e.body)if(i.type==="textord")a+=i.text;else if(n&&i.type==="spacing"&&i.text===" ")a+=" ";else throw new K(t,e);return a}var Z_=e=>{if(e instanceof z2)return e;if(tN(e)&&e.children.length===1)return Z_(e.children[0])},F_=(e,t)=>{var n,a,i;e&&e.type==="supsub"?(a=N1(e.base,"accent"),n=a.base,e.base=n,i=eN(W1(e,t)),e.base=a):(a=N1(e,"accent"),n=a.base);var r=W1(n,t.havingCrampedStyle()),s=a.isShifty&&C3(n),c=0;if(s){var o,l;c=(o=(l=Z_(r))==null?void 0:l.skew)!=null?o:0}var p=a.label==="\\c",u=p?r.height+r.depth:Math.min(r.height,t.fontMetrics().xHeight),m;if(a.isStretchy)m=Da(a,t),m=U1({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"elem",elem:m,wrapperClasses:["svg-align"],wrapperStyle:c>0?{width:"calc(100% - "+n1(2*c)+")",marginLeft:n1(2*c)}:void 0}]});else{var d,f;a.label==="\\vec"?(d=A_("vec",t),f=C_.vec[1]):(d=Pa({type:"textord",mode:a.mode,text:a.label},t),d=QH(d),d.italic=0,f=d.width,p&&(u+=d.depth)),m=W(["accent-body"],[d]);var w=a.label==="\\textcircled";w&&(m.classes.push("accent-full"),u=r.height);var x=c;w||(x-=f/2),m.style.left=n1(x),a.label==="\\textcircled"&&(m.style.top=".2em"),m=U1({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:-u},{type:"elem",elem:m}]})}var v=W(["mord","katex-accent"],[m],t);return i?(i.children[0]=v,i.height=Math.max(v.height,i.height),i.classes[0]="mord",i):v},ZN=(e,t)=>{var n=e.isStretchy?Ra(e.label):new Y("mo",[ue(e.label,e.mode)]),a=new Y("mover",[J1(e.base,t),n]);return a.setAttribute("accent","true"),a},FN=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(e=>"\\"+e).join("|"));o1({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],numArgs:1,handler:(e,t)=>{var n=g7(t[0]),a=!FN.test(e.funcName),i=!a||e.funcName==="\\widehat"||e.funcName==="\\widetilde"||e.funcName==="\\widecheck";return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:a,isShifty:i,base:n}},htmlBuilder:F_,mathmlBuilder:ZN});o1({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"],handler:(e,t)=>{var n=t[0],a=e.parser.mode;return a==="math"&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:e.funcName,isStretchy:!1,isShifty:!0,base:n}}});o1({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],numArgs:1,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0];return{type:"accentUnder",mode:n.mode,label:a,base:i}},htmlBuilder:(e,t)=>{var n=W1(e.base,t),a=Da(e,t),i=e.label==="\\utilde"?.12:0,r=U1({positionType:"top",positionData:n.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:n}]});return W(["mord","accentunder"],[r],t)},mathmlBuilder:(e,t)=>{var n=Ra(e.label),a=new Y("munder",[J1(e.base,t),n]);return a.setAttribute("accentunder","true"),a}});var Sa=e=>{var t=new Y("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};o1({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],numArgs:1,numOptionalArgs:1,handler(e,t,n){var a=e.parser,i=e.funcName;return{type:"xArrow",mode:a.mode,label:i,body:t[0],below:n[0]}},htmlBuilder(e,t){var n=t.style,a=t.havingStyle(n.sup()),i=m5(W1(e.body,a,t),t),r=e.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(r+"-arrow-pad");var s;e.below&&(a=t.havingStyle(n.sub()),s=m5(W1(e.below,a,t),t),s.classes.push(r+"-arrow-pad"));var c=Da(e,t),o=-t.fontMetrics().axisHeight+.5*c.height,l=-t.fontMetrics().axisHeight-.5*c.height-.111;(i.depth>.25||e.label==="\\xleftequilibrium")&&(l-=i.depth);var p;if(s){var u=-t.fontMetrics().axisHeight+s.height+.5*c.height+.111;p=U1({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:c,shift:o,wrapperClasses:["svg-align"]},{type:"elem",elem:s,shift:u}]})}else p=U1({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:c,shift:o,wrapperClasses:["svg-align"]}]});return W(["mrel","x-arrow"],[p],t)},mathmlBuilder(e,t){var n=Ra(e.label);n.setAttribute("minsize",e.label.charAt(0)==="x"?"1.75em":"3.0em");var a;if(e.body){var i=Sa(J1(e.body,t));if(e.below){var r=Sa(J1(e.below,t));a=new Y("munderover",[n,r,i])}else a=new Y("mover",[n,i])}else if(e.below){var s=Sa(J1(e.below,t));a=new Y("munder",[n,s])}else a=Sa(),a=new Y("mover",[n,a]);return a}});function jN(e,t){var n=D0(e.body,t,!0);return W([e.mclass],n,t)}function HN(e,t){var n,a=K2(e.body,t);return e.mclass==="minner"?n=new Y("mpadded",a):e.mclass==="mord"?e.isCharacterBox?(n=a[0],n.type="mi"):n=new Y("mi",a):(e.isCharacterBox?(n=a[0],n.type="mo"):n=new Y("mo",a),e.mclass==="mbin"?(n.attributes.lspace="0.22em",n.attributes.rspace="0.22em"):e.mclass==="mpunct"?(n.attributes.lspace="0em",n.attributes.rspace="0.17em"):(e.mclass==="mopen"||e.mclass==="mclose")&&(n.attributes.lspace="0em",n.attributes.rspace="0em")),n}o1({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],numArgs:1,primitive:!0,handler(e,t){var n=e.parser,a=e.funcName,i=t[0];return{type:"mclass",mode:n.mode,mclass:"m"+a.slice(5),body:N0(i),isCharacterBox:C3(i)}},htmlBuilder:jN,mathmlBuilder:HN});var Wa=e=>{var t=e.type==="ordgroup"&&e.body.length?e.body[0]:e;return t.type==="atom"&&(t.family==="bin"||t.family==="rel")?"m"+t.family:"mord"};o1({type:"mclass",names:["\\@binrel"],numArgs:2,handler(e,t){var n=e.parser;return{type:"mclass",mode:n.mode,mclass:Wa(t[0]),body:N0(t[1]),isCharacterBox:C3(t[1])}}});o1({type:"mclass",names:["\\stackrel","\\overset","\\underset"],numArgs:2,handler(e,t){var n=e.parser,a=e.funcName,i=t[1],r=t[0],s;a!=="\\stackrel"?s=Wa(i):s="mrel";var c={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:a!=="\\stackrel",body:N0(i)},o=a==="\\underset"?{type:"supsub",mode:r.mode,base:c,sub:r}:{type:"supsub",mode:r.mode,base:c,sup:r};return{type:"mclass",mode:n.mode,mclass:s,body:[o],isCharacterBox:C3(o)}}});o1({type:"pmb",names:["\\pmb"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser;return{type:"pmb",mode:n.mode,mclass:Wa(t[0]),body:N0(t[0])}},htmlBuilder(e,t){var n=D0(e.body,t,!0),a=W([e.mclass],n,t);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(e,t){var n=K2(e.body,t),a=new Y("mstyle",n);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var NN={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Uy=()=>({type:"styling",body:[],mode:"math",style:"display",resetFont:!0}),Xy=e=>e.type==="textord"&&e.text==="@",TN=(e,t)=>(e.type==="mathord"||e.type==="atom")&&e.text===t;function VN(e,t,n){var a=NN[e];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return n.callFunction(a,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":{var i=n.callFunction("\\\\cdleft",[t[0]],[]),r={type:"atom",text:a,mode:"math",family:"rel"},s=n.callFunction("\\Big",[r],[]),c=n.callFunction("\\\\cdright",[t[1]],[]),o={type:"ordgroup",mode:"math",body:[i,s,c]};return n.callFunction("\\\\cdparent",[o],[])}case"\\\\cdlongequal":return n.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var l={type:"textord",text:"\\Vert",mode:"math"};return n.callFunction("\\Big",[l],[])}default:return{type:"textord",text:" ",mode:"math"}}}function qN(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();var n=e.fetch().text;if(n==="&"||n==="\\\\")e.consume();else if(n==="\\end"){t[t.length-1].length===0&&t.pop();break}else throw new K("Expected \\\\ or \\cr or \\end",e.nextToken)}for(var a=[],i=[a],r=0;rAV".includes(l))for(var u=0;u<2;u++){for(var m=!0,d=o+1;dAV=|." after @',s[o]);var f=VN(l,p,e),w={type:"styling",body:[f],mode:"math",style:"display",resetFont:!0};a.push(w),c=Uy()}r%2===0?a.push(c):a.shift(),a=[],i.push(a)}e.gullet.endGroup(),e.gullet.endGroup();var x=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:x,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}o1({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],numArgs:1,handler(e,t){var n=e.parser,a=e.funcName;return{type:"cdlabel",mode:n.mode,side:a.slice(4),label:t[0]}},htmlBuilder(e,t){var n=t.havingStyle(t.style.sup()),a=m5(W1(e.label,n,t),t);return a.classes.push("cd-label-"+e.side),a.style.bottom=n1(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(e,t){var n=new Y("mrow",[J1(e.label,t)]);return n=new Y("mpadded",[n]),n.setAttribute("width","0"),e.side==="left"&&n.setAttribute("lspace","-1width"),n.setAttribute("voffset","0.7em"),n=new Y("mstyle",[n]),n.setAttribute("displaystyle","false"),n.setAttribute("scriptlevel","1"),n}});o1({type:"cdlabelparent",names:["\\\\cdparent"],numArgs:1,handler(e,t){var n=e.parser;return{type:"cdlabelparent",mode:n.mode,fragment:t[0]}},htmlBuilder(e,t){var n=m5(W1(e.fragment,t),t);return n.classes.push("cd-vert-arrow"),n},mathmlBuilder(e,t){return new Y("mrow",[J1(e.fragment,t)])}});o1({type:"textord",names:["\\@char"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser,a=N1(t[0],"ordgroup"),i=No(a,"\\@char has non-numeric argument"),r=parseInt(i),s;if(isNaN(r))throw new K("\\@char has non-numeric argument "+i);if(r<0||r>1114111)throw new K("\\@char with invalid code point "+i);return r<=65535?s=String.fromCharCode(r):(r-=65536,s=String.fromCharCode((r>>10)+55296,(r&1023)+56320)),{type:"textord",mode:n.mode,text:s}}});var IN=(e,t)=>{var n=D0(e.body,t.withColor(e.color),!1);return M3(n)},BN=(e,t)=>{var n=K2(e.body,t.withColor(e.color)),a=new Y("mstyle",n);return a.setAttribute("mathcolor",e.color),a};o1({type:"color",names:["\\textcolor"],numArgs:2,allowedInText:!0,argTypes:["color","original"],handler(e,t){var n=e.parser,a=N1(t[0],"color-token").color,i=t[1];return{type:"color",mode:n.mode,color:a,body:N0(i)}},htmlBuilder:IN,mathmlBuilder:BN});o1({type:"color",names:["\\color"],numArgs:1,allowedInText:!0,argTypes:["color"],handler(e,t){var n=e.parser,a=e.breakOnTokenText,i=N1(t[0],"color-token").color;n.gullet.macros.set("\\current@color",i);var r=n.parseExpression(!0,a);return{type:"color",mode:n.mode,color:i,body:r}}});o1({type:"cr",names:["\\\\"],numArgs:0,numOptionalArgs:0,allowedInText:!0,handler(e,t,n){var a=e.parser,i=a.gullet.future().text==="["?a.parseSizeGroup(!0):null,r=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:r,size:i&&N1(i,"size").value}},htmlBuilder(e,t){var n=W(["mspace"],[],t);return e.newLine&&(n.classes.push("katex-newline"),e.size&&(n.style.marginTop=n1(_0(e.size,t)))),n},mathmlBuilder(e,t){var n=new Y("mspace");return e.newLine&&(n.setAttribute("linebreak","newline"),e.size&&n.setAttribute("height",n1(_0(e.size,t)))),n}});var xo={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},j_=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new K("Expected a control sequence",e);return t},PN=e=>{var t=e.gullet.popToken();return t.text==="="&&(t=e.gullet.popToken(),t.text===" "&&(t=e.gullet.popToken())),t},H_=(e,t,n,a)=>{var i=e.gullet.macros.get(n.text);i==null&&(n.noexpand=!0,i={tokens:[n],numArgs:0,unexpandable:!e.gullet.isExpandable(n.text)}),e.gullet.macros.set(t,i,a)};o1({type:"internal",names:["\\global","\\long","\\\\globallong"],numArgs:0,allowedInText:!0,handler(e){var t=e.parser,n=e.funcName;t.consumeSpaces();var a=t.fetch();if(xo[a.text])return(n==="\\global"||n==="\\\\globallong")&&(a.text=xo[a.text]),N1(t.parseFunction(),"internal");throw new K("Invalid token after macro prefix",a)}});o1({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,a=t.gullet.popToken(),i=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new K("Expected a control sequence",a);for(var r=0,s,c=[[]];t.gullet.future().text!=="{";)if(a=t.gullet.popToken(),a.text==="#"){if(t.gullet.future().text==="{"){s=t.gullet.future(),c[r].push("{");break}if(a=t.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new K('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==r+1)throw new K('Argument number "'+a.text+'" out of order');r++,c.push([])}else{if(a.text==="EOF")throw new K("Expected a macro definition");c[r].push(a.text)}var o=t.gullet.consumeArg(),l=o.tokens;return s&&l.unshift(s),(n==="\\edef"||n==="\\xdef")&&(l=t.gullet.expandTokens(l),l.reverse()),t.gullet.macros.set(i,{tokens:l,numArgs:r,delimiters:c},n===xo[n]),{type:"internal",mode:t.mode}}});o1({type:"internal",names:["\\let","\\\\globallet"],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,a=j_(t.gullet.popToken());t.gullet.consumeSpaces();var i=PN(t);return H_(t,a,i,n==="\\\\globallet"),{type:"internal",mode:t.mode}}});o1({type:"internal",names:["\\futurelet","\\\\globalfuture"],numArgs:0,allowedInText:!0,primitive:!0,handler(e){var t=e.parser,n=e.funcName,a=j_(t.gullet.popToken()),i=t.gullet.popToken(),r=t.gullet.popToken();return H_(t,a,r,n==="\\\\globalfuture"),t.gullet.pushToken(r),t.gullet.pushToken(i),{type:"internal",mode:t.mode}}});var o7=function(t,n,a){var i=u0.math[t]&&u0.math[t].replace,r=Eo(i||t,n,a);if(!r)throw new Error("Unsupported symbol "+t+" and font size "+n+".");return r},To=function(t,n,a,i){var r=a.havingBaseStyle(n),s=W(i.concat(r.sizingClasses(a)),[t],a),c=r.sizeMultiplier/a.sizeMultiplier;return s.height*=c,s.depth*=c,s.maxFontSize=r.sizeMultiplier,s},N_=function(t,n,a){var i=n.havingBaseStyle(a),r=(1-n.sizeMultiplier/i.sizeMultiplier)*n.fontMetrics().axisHeight;t.classes.push("delimcenter"),t.style.top=n1(r),t.height-=r,t.depth+=r},RN=function(t,n,a,i,r,s){var c=x2(t,"Main-Regular",r,i),o=To(c,n,i,s);return a&&N_(o,i,n),o},DN=function(t,n,a,i){return x2(t,"Size"+n+"-Regular",a,i)},T_=function(t,n,a,i,r,s){var c=DN(t,n,r,i),o=To(W(["delimsizing","size"+n],[c],i),C1.TEXT,i,s);return a&&N_(o,i,C1.TEXT),o},Qc=function(t,n,a){var i;n==="Size1-Regular"?i="delim-size1":i="delim-size4";var r=W(["delimsizinginner",i],[W([],[x2(t,n,a)])]);return{type:"elem",elem:r}},eo=function(t,n,a){var i=Pe["Size4-Regular"][t.charCodeAt(0)]?Pe["Size4-Regular"][t.charCodeAt(0)][4]:Pe["Size1-Regular"][t.charCodeAt(0)][4],r=new Re("inner",WH(t,Math.round(1e3*n))),s=new ke([r],{width:n1(i),height:n1(n),style:"width:"+n1(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*n),preserveAspectRatio:"xMinYMin"}),c=f4([],[s],a);return c.height=n,c.style.height=n1(n),c.style.width=n1(i),{type:"elem",elem:c}},ko=.008,Ea={type:"kern",size:-1*ko},GN=new Set(["|","\\lvert","\\rvert","\\vert"]),ON=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),V_=function(t,n,a,i,r,s){var c,o,l,p,u="",m=0;c=l=p=t,o=null;var d="Size1-Regular";t==="\\uparrow"?l=p="\u23D0":t==="\\Uparrow"?l=p="\u2016":t==="\\downarrow"?c=l="\u23D0":t==="\\Downarrow"?c=l="\u2016":t==="\\updownarrow"?(c="\\uparrow",l="\u23D0",p="\\downarrow"):t==="\\Updownarrow"?(c="\\Uparrow",l="\u2016",p="\\Downarrow"):GN.has(t)?(l="\u2223",u="vert",m=333):ON.has(t)?(l="\u2225",u="doublevert",m=556):t==="["||t==="\\lbrack"?(c="\u23A1",l="\u23A2",p="\u23A3",d="Size4-Regular",u="lbrack",m=667):t==="]"||t==="\\rbrack"?(c="\u23A4",l="\u23A5",p="\u23A6",d="Size4-Regular",u="rbrack",m=667):t==="\\lfloor"||t==="\u230A"?(l=c="\u23A2",p="\u23A3",d="Size4-Regular",u="lfloor",m=667):t==="\\lceil"||t==="\u2308"?(c="\u23A1",l=p="\u23A2",d="Size4-Regular",u="lceil",m=667):t==="\\rfloor"||t==="\u230B"?(l=c="\u23A5",p="\u23A6",d="Size4-Regular",u="rfloor",m=667):t==="\\rceil"||t==="\u2309"?(c="\u23A4",l=p="\u23A5",d="Size4-Regular",u="rceil",m=667):t==="("||t==="\\lparen"?(c="\u239B",l="\u239C",p="\u239D",d="Size4-Regular",u="lparen",m=875):t===")"||t==="\\rparen"?(c="\u239E",l="\u239F",p="\u23A0",d="Size4-Regular",u="rparen",m=875):t==="\\{"||t==="\\lbrace"?(c="\u23A7",o="\u23A8",p="\u23A9",l="\u23AA",d="Size4-Regular"):t==="\\}"||t==="\\rbrace"?(c="\u23AB",o="\u23AC",p="\u23AD",l="\u23AA",d="Size4-Regular"):t==="\\lgroup"||t==="\u27EE"?(c="\u23A7",p="\u23A9",l="\u23AA",d="Size4-Regular"):t==="\\rgroup"||t==="\u27EF"?(c="\u23AB",p="\u23AD",l="\u23AA",d="Size4-Regular"):t==="\\lmoustache"||t==="\u23B0"?(c="\u23A7",p="\u23AD",l="\u23AA",d="Size4-Regular"):(t==="\\rmoustache"||t==="\u23B1")&&(c="\u23AB",p="\u23A9",l="\u23AA",d="Size4-Regular");var f=o7(c,d,r),w=f.height+f.depth,x=o7(l,d,r),v=x.height+x.depth,b=o7(p,d,r),_=b.height+b.depth,z=0,$=1;if(o!==null){var C=o7(o,d,r);z=C.height+C.depth,$=2}var j=w+_+z,T=Math.max(0,Math.ceil((n-j)/($*v))),H=j+T*$*v,E=i.fontMetrics().axisHeight;a&&(E*=i.sizeMultiplier);var R=H/2-E,D=[];if(u.length>0){var B=H-w-_,Q=Math.round(H*1e3),O=UH(u,Math.round(B*1e3)),U=new Re(u,O),r1=n1(m/1e3),z1=n1(Q/1e3),A1=new ke([U],{width:r1,height:z1,viewBox:"0 0 "+m+" "+Q}),A=f4([],[A1],i);A.height=Q/1e3,A.style.width=r1,A.style.height=z1,D.push({type:"elem",elem:A})}else{if(D.push(Qc(p,d,r)),D.push(Ea),o===null){var i1=H-w-_+2*ko;D.push(eo(l,i1,i))}else{var l1=(H-w-_-z)/2+2*ko;D.push(eo(l,l1,i)),D.push(Ea),D.push(Qc(o,d,r)),D.push(Ea),D.push(eo(l,l1,i))}D.push(Ea),D.push(Qc(c,d,r))}var S=i.havingBaseStyle(C1.TEXT),R1=U1({positionType:"bottom",positionData:R,children:D});return To(W(["delimsizing","mult"],[R1],S),C1.TEXT,i,s)},to=80,no=.08,ao=function(t,n,a,i,r){var s=OH(t,i,a),c=new Re(t,s),o=new ke([c],{width:"400em",height:n1(n),viewBox:"0 0 400000 "+a,preserveAspectRatio:"xMinYMin slice"});return f4(["hide-tail"],[o],r)},WN=function(t,n){var a=n.havingBaseSizing(),i=R_("\\surd",t*a.sizeMultiplier,P_,a),r=a.sizeMultiplier,s=Math.max(0,n.minRuleThickness-n.fontMetrics().sqrtRuleThickness),c,o,l,p,u;return i.type==="small"?(p=1e3+1e3*s+to,t<1?r=1:t<1.4&&(r=.7),o=(1+s+no)/r,l=(1+s)/r,c=ao("sqrtMain",o,p,s,n),c.style.minWidth="0.853em",u=.833/r):i.type==="large"?(p=(1e3+to)*l7[i.size],l=(l7[i.size]+s)/r,o=(l7[i.size]+s+no)/r,c=ao("sqrtSize"+i.size,o,p,s,n),c.style.minWidth="1.02em",u=1/r):(o=t+s+no,l=t+s,p=Math.floor(1e3*t+s)+to,c=ao("sqrtTall",o,p,s,n),c.style.minWidth="0.742em",u=1.056),c.height=l,c.style.height=n1(o),{span:c,advanceWidth:u,ruleWidth:(n.fontMetrics().sqrtRuleThickness+s)*r}},q_=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"]),UN=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"]),I_=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),l7=[0,1.2,1.8,2.4,3],B_=function(t,n,a,i,r){if(t==="<"||t==="\\lt"||t==="\u27E8"?t="\\langle":(t===">"||t==="\\gt"||t==="\u27E9")&&(t="\\rangle"),q_.has(t)||I_.has(t))return T_(t,n,!1,a,i,r);if(UN.has(t))return V_(t,l7[n],!1,a,i,r);throw new K("Illegal delimiter: '"+t+"'")},XN=[{type:"small",style:C1.SCRIPTSCRIPT},{type:"small",style:C1.SCRIPT},{type:"small",style:C1.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],KN=[{type:"small",style:C1.SCRIPTSCRIPT},{type:"small",style:C1.SCRIPT},{type:"small",style:C1.TEXT},{type:"stack"}],P_=[{type:"small",style:C1.SCRIPTSCRIPT},{type:"small",style:C1.SCRIPT},{type:"small",style:C1.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],YN=function(t){if(t.type==="small")return"Main-Regular";if(t.type==="large")return"Size"+t.size+"-Regular";if(t.type==="stack")return"Size4-Regular";var n=t.type;throw new Error("Add support for delim type '"+n+"' here.")},R_=function(t,n,a,i){for(var r=Math.min(2,3-i.style.size),s=r;sn)return c}return a[a.length-1]},zo=function(t,n,a,i,r,s){t==="<"||t==="\\lt"||t==="\u27E8"?t="\\langle":(t===">"||t==="\\gt"||t==="\u27E9")&&(t="\\rangle");var c;I_.has(t)?c=XN:q_.has(t)?c=P_:c=KN;var o=R_(t,n,c,i);return o.type==="small"?RN(t,o.style,a,i,r,s):o.type==="large"?T_(t,o.size,a,i,r,s):V_(t,n,a,i,r,s)},io=function(t,n,a,i,r,s){var c=i.fontMetrics().axisHeight*i.sizeMultiplier,o=901,l=5/i.fontMetrics().ptPerEm,p=Math.max(n-c,a+c),u=Math.max(p/500*o,2*p-l);return zo(t,u,!0,i,r,s)},Ky={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},JN=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function Yy(e){return"isMiddle"in e}function Ua(e,t){var n=Oa(e);if(n&&JN.has(n.text))return n;throw n?new K("Invalid delimiter '"+n.text+"' after '"+t.funcName+"'",e):new K("Invalid delimiter type '"+e.type+"'",e)}o1({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],numArgs:1,argTypes:["primitive"],handler:(e,t)=>{var n=Ua(g7(t[0]),e);return{type:"delimsizing",mode:e.parser.mode,size:Ky[e.funcName].size,mclass:Ky[e.funcName].mclass,delim:n.text}},htmlBuilder:(e,t)=>e.delim==="."?W([e.mclass]):B_(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];e.delim!=="."&&t.push(ue(e.delim,e.mode));var n=new Y("mo",t);e.mclass==="mopen"||e.mclass==="mclose"?n.setAttribute("fence","true"):n.setAttribute("fence","false"),n.setAttribute("stretchy","true");var a=n1(l7[e.size]);return n.setAttribute("minsize",a),n.setAttribute("maxsize",a),n}});function Jy(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}o1({type:"leftright-right",names:["\\right"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=e.parser.gullet.macros.get("\\current@color");if(n&&typeof n!="string")throw new K("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:Ua(t[0],e).text,color:n}}});o1({type:"leftright",names:["\\left"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=Ua(t[0],e),a=e.parser;++a.leftrightDepth;var i=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var r=N1(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:i,left:n.text,right:r.delim,rightColor:r.color}},htmlBuilder:(e,t)=>{Jy(e);for(var n=D0(e.body,t,!0,["mopen","mclose"]),a=0,i=0,r=!1,s=0;s{Jy(e);var n=K2(e.body,t);if(e.left!=="."){var a=new Y("mo",[ue(e.left,e.mode)]);a.setAttribute("fence","true"),n.unshift(a)}if(e.right!=="."){var i=new Y("mo",[ue(e.right,e.mode)]);i.setAttribute("fence","true"),e.rightColor&&i.setAttribute("mathcolor",e.rightColor),n.push(i)}return jo(n)}});o1({type:"middle",names:["\\middle"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=Ua(t[0],e);if(!e.parser.leftrightDepth)throw new K("\\middle without preceding \\left",n);return{type:"middle",mode:e.parser.mode,delim:n.text}},htmlBuilder:(e,t)=>{var n;return e.delim==="."?n=b7(t,[]):(n=B_(e.delim,1,t,e.mode,[]),n.isMiddle={delim:e.delim,options:t}),n},mathmlBuilder:(e,t)=>{var n=e.delim==="\\vert"||e.delim==="|"?ue("|","text"):ue(e.delim,e.mode),a=new Y("mo",[n]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var QN=(e,t)=>{var n=m5(W1(e.body,t),t),a=e.label.slice(1),i=t.sizeMultiplier,r,s,c=C3(e.body);if(a==="sout")r=W(["katex-stretchy","katex-sout"]),r.height=t.fontMetrics().defaultRuleThickness/i,s=-.5*t.fontMetrics().xHeight;else if(a==="phase"){var o=_0({number:.6,unit:"pt"},t),l=_0({number:.35,unit:"ex"},t),p=t.havingBaseSizing();i=i/p.sizeMultiplier;var u=n.height+n.depth+o+l;n.style.paddingLeft=n1(u/2+o);var m=Math.floor(1e3*u*i),d=DH(m),f=new ke([new Re("phase",d)],{width:"400em",height:n1(m/1e3),viewBox:"0 0 400000 "+m,preserveAspectRatio:"xMinYMin slice"});r=f4(["hide-tail"],[f],t),r.style.height=n1(u),s=n.depth+o+l}else{/cancel/.test(a)?c||n.classes.push("cancel-pad"):a==="angl"?n.classes.push("anglpad"):n.classes.push("boxpad");var w,x,v=0;/box/.test(a)?(v=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),w=t.fontMetrics().fboxsep+(a==="colorbox"?0:v),x=w):a==="angl"?(v=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),w=4*v,x=Math.max(0,.25-n.depth)):(w=c?.2:0,x=w),r=AN(n,a,w,x,t),/fbox|boxed|fcolorbox/.test(a)?(r.style.borderStyle="solid",r.style.borderWidth=n1(v)):a==="angl"&&v!==.049&&(r.style.borderTopWidth=n1(v),r.style.borderRightWidth=n1(v)),s=n.depth+x,e.backgroundColor&&(r.style.backgroundColor=e.backgroundColor,e.borderColor&&(r.style.borderColor=e.borderColor))}var b;if(e.backgroundColor)b=U1({positionType:"individualShift",children:[{type:"elem",elem:r,shift:s},{type:"elem",elem:n,shift:0}]});else{var _=/cancel|phase/.test(a)?["svg-align"]:[];b=U1({positionType:"individualShift",children:[{type:"elem",elem:n,shift:0},{type:"elem",elem:r,shift:s,wrapperClasses:_}]})}return/cancel/.test(a)&&(b.height=n.height,b.depth=n.depth),/cancel/.test(a)&&!c?W(["mord","cancel-lap"],[b],t):W(["mord"],[b],t)},eT=(e,t)=>{var n,a=new Y(e.label.includes("colorbox")?"mpadded":"menclose",[J1(e.body,t)]);switch(e.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(n=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*n+"pt"),a.setAttribute("height","+"+2*n+"pt"),a.setAttribute("lspace",n+"pt"),a.setAttribute("voffset",n+"pt"),e.label==="\\fcolorbox"){var i=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);a.setAttribute("style","border: "+n1(i)+" solid "+e.borderColor)}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return e.backgroundColor&&a.setAttribute("mathbackground",e.backgroundColor),a};o1({type:"enclose",names:["\\colorbox"],numArgs:2,allowedInText:!0,argTypes:["color","hbox"],handler(e,t,n){var a=e.parser,i=e.funcName,r=N1(t[0],"color-token").color,s=t[1];return{type:"enclose",mode:a.mode,label:i,backgroundColor:r,body:s}},htmlBuilder:QN,mathmlBuilder:eT});o1({type:"enclose",names:["\\fcolorbox"],numArgs:3,allowedInText:!0,argTypes:["color","color","hbox"],handler(e,t,n){var a=e.parser,i=e.funcName,r=N1(t[0],"color-token").color,s=N1(t[1],"color-token").color,c=t[2];return{type:"enclose",mode:a.mode,label:i,backgroundColor:s,borderColor:r,body:c}}});o1({type:"enclose",names:["\\fbox"],numArgs:1,argTypes:["hbox"],allowedInText:!0,handler(e,t){var n=e.parser;return{type:"enclose",mode:n.mode,label:"\\fbox",body:t[0]}}});o1({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],numArgs:1,handler(e,t){var n=e.parser,a=e.funcName,i=t[0];return{type:"enclose",mode:n.mode,label:a,body:i}}});o1({type:"enclose",names:["\\sout"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser,a=e.funcName;n.mode==="math"&&n.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=t[0];return{type:"enclose",mode:n.mode,label:a,body:i}}});o1({type:"enclose",names:["\\angl"],numArgs:1,argTypes:["hbox"],allowedInText:!1,handler(e,t){var n=e.parser;return{type:"enclose",mode:n.mode,label:"\\angl",body:t[0]}}});var D_={};function De(e){for(var t=e.type,n=e.names,a=e.props,i=e.handler,r=e.htmlBuilder,s=e.mathmlBuilder,c={type:t,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},o=0;o{var t=e.parser.settings;if(!t.displayMode)throw new K("{"+e.envName+"} can be used only in display mode.")},tT=new Set(["gather","gather*"]);function Vo(e){if(!e.includes("ed"))return!e.includes("*")}function y4(e,t,n){var a=t.hskipBeforeAndAfter,i=t.addJot,r=t.cols,s=t.arraystretch,c=t.colSeparationType,o=t.autoTag,l=t.singleRow,p=t.emptySingleRow,u=t.maxNumCols,m=t.leqno;if(e.gullet.beginGroup(),l||e.gullet.macros.set("\\cr","\\\\\\relax"),!s){var d=e.gullet.expandMacroAsText("\\arraystretch");if(d==null)s=1;else if(s=parseFloat(d),!s||s<0)throw new K("Invalid \\arraystretch: "+d)}e.gullet.beginGroup();var f=[],w=[f],x=[],v=[],b=o!=null?[]:void 0;function _(){o&&e.gullet.macros.set("\\@eqnsw","1",!0)}function z(){b&&(e.gullet.macros.get("\\df@tag")?(b.push(e.subparse([new U2("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):b.push(!!o&&e.gullet.macros.get("\\@eqnsw")==="1"))}for(_(),v.push(Qy(e));;){var $=e.parseExpression(!1,l?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup();var C={type:"ordgroup",mode:e.mode,body:$};n&&(C={type:"styling",mode:e.mode,style:n,resetFont:!0,body:[C]}),f.push(C);var j=e.fetch().text;if(j==="&"){if(u&&f.length===u){if(l||c)throw new K("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else if(j==="\\end"){z(),f.length===1&&C.type==="styling"&&C.body.length===1&&C.body[0].type==="ordgroup"&&C.body[0].body.length===0&&(w.length>1||!p)&&!Array.isArray(b?.[b.length-1])&&!(o&&b?.[b.length-1]===!0)&&w.pop(),v.length0&&(_+=.25),l.push({pos:_,isDashed:e1[_1]})}for(z(s[0]),a=0;a0&&(R+=b,je1))for(a=0;a=c)){var Z1=void 0;if(i>0||t.hskipBeforeAndAfter){var Q1,x0;Z1=(Q1=(x0=S)==null?void 0:x0.pregap)!=null?Q1:m,Z1!==0&&(O=W(["arraycolsep"],[]),O.style.width=n1(Z1),Q.push(O))}var k0=[];for(a=0;a0){for(var y1=u5("katex-hline",n,p),n0=u5("katex-hdashline",n,p),g2=[{type:"elem",elem:I,shift:0}];l.length>0;){var w5=l.pop(),ot=w5.pos-D;w5.isDashed?g2.push({type:"elem",elem:n0,shift:ot}):g2.push({type:"elem",elem:y1,shift:ot})}I=U1({positionType:"individualShift",children:g2})}if(r1.length===0)return W(["mord"],[I],n);var m9=U1({positionType:"individualShift",children:r1}),q=W(["katex-tag"],[m9],n);return M3([I,q])},nT={c:"center ",l:"left ",r:"right "},Oe=function(t,n){for(var a=[],i=new Y("mtd",[],["mtr-glue"]),r=new Y("mtd",[],["mml-eqn-num"]),s=0;s0){var f=t.cols,w="",x=!1,v=0,b=f.length;f[0].type==="separator"&&(m+="top ",v=1),f[f.length-1].type==="separator"&&(m+="bottom ",b-=1);for(var _=v;_0?"left ":"",m+=H[H.length-1].length>0?"right ":"";for(var E=1;E0&&u&&(f=1),a[m]={type:"align",align:d,pregap:f,postgap:0}}return r.colSeparationType=u?"align":"alignat",r};De({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){var n=Oa(t[0]),a=n?[t[0]]:N1(t[0],"ordgroup").body,i=a.map(function(s){var c=Ga(s),o=c.text;if("lcr".includes(o))return{type:"align",align:o};if(o==="|")return{type:"separator",separator:"|"};if(o===":")return{type:"separator",separator:":"};throw new K("Unknown column alignment: "+o,s)}),r={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return y4(e.parser,r,qo(e.envName))},htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],n="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:n}]};if(e.envName.charAt(e.envName.length-1)==="*"){var i=e.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),n=i.fetch().text,!"lcr".includes(n))throw new K("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),a.cols=[{type:"align",align:n}]}}var r=y4(e.parser,a,qo(e.envName)),s=Math.max(0,...r.body.map(c=>c.length));return r.cols=new Array(s).fill({type:"align",align:n}),t?{type:"leftright",mode:e.mode,body:[r],left:t[0],right:t[1],rightColor:void 0}:r},htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){var t={arraystretch:.5},n=y4(e.parser,t,"script");return n.colSeparationType="small",n},htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){var n=Oa(t[0]),a=n?[t[0]]:N1(t[0],"ordgroup").body,i=a.map(function(c){var o=Ga(c),l=o.text;if("lc".includes(l))return{type:"align",align:l};throw new K("Unknown column alignment: "+l,c)});if(i.length>1)throw new K("{subarray} can contain only one column");var r={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=y4(e.parser,r,"script");if(s.body.length>0&&s.body[0].length>1)throw new K("{subarray} can contain only one column");return s},htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){var t={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},n=y4(e.parser,t,qo(e.envName));return{type:"leftright",mode:e.mode,body:[n],left:e.envName.includes("r")?".":"\\{",right:e.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:O_,htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){tT.has(e.envName)&&Xa(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Vo(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return y4(e.parser,t,"display")},htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:O_,htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){Xa(e);var t={autoTag:Vo(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return y4(e.parser,t,"display")},htmlBuilder:Ge,mathmlBuilder:Oe});De({type:"array",names:["CD"],props:{numArgs:0},handler(e){return Xa(e),qN(e.parser)},htmlBuilder:Ge,mathmlBuilder:Oe});k("\\nonumber","\\gdef\\@eqnsw{0}");k("\\notag","\\nonumber");o1({type:"text",names:["\\hline","\\hdashline"],numArgs:0,allowedInText:!0,allowedInMath:!0,handler(e,t){throw new K(e.funcName+" valid only within array environment")}});var e_=D_;o1({type:"environment",names:["\\begin","\\end"],numArgs:1,argTypes:["text"],handler(e,t){var n=e.parser,a=e.funcName,i=t[0];if(i.type!=="ordgroup")throw new K("Invalid environment name",i);var r=No(i,"Environment name should contain only text characters and spaces",!0);if(a==="\\begin"){if(!Object.prototype.hasOwnProperty.call(e_,r))throw new K("No such environment: "+r,i);var s=e_[r],c=n.parseArguments("\\begin{"+r+"}",s),o=c.args,l=c.optArgs,p={mode:n.mode,envName:r,parser:n},u=s.handler(p,o,l);n.expect("\\end",!1);var m=n.nextToken,d=N1(n.parseFunction(),"environment");if(d.name!==r)throw new K("Mismatch: \\begin{"+r+"} matched by \\end{"+d.name+"}",m);return u}return{type:"environment",mode:n.mode,name:r,nameGroup:i}}});var aT=(e,t)=>{var n=e.font,a=t.withFont(n);return W1(e.body,a)},iT=(e,t)=>{var n=e.font,a=t.withFont(n);return J1(e.body,a)},t_={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak"};o1({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],numArgs:1,allowedInArgument:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=g7(t[0]),r=a in t_?t_[a]:a;return{type:"font",mode:n.mode,font:r.slice(1),body:i}},htmlBuilder:aT,mathmlBuilder:iT});o1({type:"mclass",names:["\\boldsymbol","\\bm"],numArgs:1,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"mclass",mode:n.mode,mclass:Wa(a),body:[{type:"font",mode:n.mode,font:"boldsymbol",body:a}],isCharacterBox:C3(a)}}});o1({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],numArgs:0,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=e.breakOnTokenText,r=n.mode,s=n.parseExpression(!0,i);return{type:"font",mode:r,font:"math"+a.slice(1),body:{type:"ordgroup",mode:n.mode,body:s}}}});var rT=(e,t)=>{var n=t.style,a=n.fracNum(),i=n.fracDen(),r;r=t.havingStyle(a);var s=W1(e.numer,r,t);if(e.continued){var c=8.5/t.fontMetrics().ptPerEm,o=3.5/t.fontMetrics().ptPerEm;s.height=s.height0?f=3*m:f=7*m,w=t.fontMetrics().denom1):(u>0?(d=t.fontMetrics().num2,f=m):(d=t.fontMetrics().num3,f=3*m),w=t.fontMetrics().denom2);var x;if(p){var b=t.fontMetrics().axisHeight;d-s.depth-(b+.5*u){var n=new Y("mfrac",[J1(e.numer,t),J1(e.denom,t)]);if(!e.hasBarLine)n.setAttribute("linethickness","0px");else if(e.barSize){var a=_0(e.barSize,t);n.setAttribute("linethickness",n1(a))}if(e.leftDelim!=null||e.rightDelim!=null){var i=[];if(e.leftDelim!=null){var r=new Y("mo",[new $0(e.leftDelim.replace("\\",""))]);r.setAttribute("fence","true"),i.push(r)}if(i.push(n),e.rightDelim!=null){var s=new Y("mo",[new $0(e.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return jo(i)}return n},W_=(e,t)=>{if(!t)return e;var n={type:"styling",mode:e.mode,style:t,body:[e]};return n};o1({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],numArgs:2,allowedInArgument:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0],r=t[1],s,c=null,o=null;switch(a){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,c="(",o=")";break;case"\\\\bracefrac":s=!1,c="\\{",o="\\}";break;case"\\\\brackfrac":s=!1,c="[",o="]";break;default:throw new Error("Unrecognized genfrac command")}var l=a==="\\cfrac",p=null;return l||a.startsWith("\\d")?p="display":a.startsWith("\\t")&&(p="text"),W_({type:"genfrac",mode:n.mode,numer:i,denom:r,continued:l,hasBarLine:s,leftDelim:c,rightDelim:o,barSize:null},p)},htmlBuilder:rT,mathmlBuilder:sT});o1({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],numArgs:0,infix:!0,handler(e){var t=e.parser,n=e.funcName,a=e.token,i;switch(n){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:t.mode,replaceWith:i,token:a}}});var n_=["display","text","script","scriptscript"],a_=function(t){var n=null;return t.length>0&&(n=t,n=n==="."?null:n),n};o1({type:"genfrac",names:["\\genfrac"],numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"],handler(e,t){var n=e.parser,a=t[4],i=t[5],r=g7(t[0]),s=r.type==="atom"&&r.family==="open"?a_(r.text):null,c=g7(t[1]),o=c.type==="atom"&&c.family==="close"?a_(c.text):null,l=N1(t[2],"size"),p,u=null;l.isBlank?p=!0:(u=l.value,p=u.number>0);var m=null,d=t[3];if(d.type==="ordgroup"){if(d.body.length>0){var f=N1(d.body[0],"textord");m=n_[Number(f.text)]}}else d=N1(d,"textord"),m=n_[Number(d.text)];return W_({type:"genfrac",mode:n.mode,numer:a,denom:i,continued:!1,hasBarLine:p,barSize:u,leftDelim:s,rightDelim:o},m)}});o1({type:"infix",names:["\\above"],numArgs:1,argTypes:["size"],infix:!0,handler(e,t){var n=e.parser;e.funcName;var a=e.token;return{type:"infix",mode:n.mode,replaceWith:"\\\\abovefrac",size:N1(t[0],"size").value,token:a}}});o1({type:"genfrac",names:["\\\\abovefrac"],numArgs:3,argTypes:["math","size","math"],handler:(e,t)=>{var n=e.parser;e.funcName;var a=t[0],i=N1(t[1],"infix").size;if(!i)throw new Error("\\\\abovefrac expected size, but got "+String(i));var r=t[2],s=i.number>0;return{type:"genfrac",mode:n.mode,numer:a,denom:r,continued:!1,hasBarLine:s,barSize:i,leftDelim:null,rightDelim:null}}});var U_=(e,t)=>{var n=t.style,a,i;e.type==="supsub"?(a=e.sup?W1(e.sup,t.havingStyle(n.sup()),t):W1(e.sub,t.havingStyle(n.sub()),t),i=N1(e.base,"horizBrace")):i=N1(e,"horizBrace");var r=W1(i.base,t.havingBaseStyle(C1.DISPLAY)),s=Da(i,t),c;if(i.isOver?c=U1({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:.1},{type:"elem",elem:s,wrapperClasses:["svg-align"]}]}):c=U1({positionType:"bottom",positionData:r.depth+.1+s.height,children:[{type:"elem",elem:s,wrapperClasses:["svg-align"]},{type:"kern",size:.1},{type:"elem",elem:r}]}),a){var o=W(["minner",i.isOver?"mover":"munder"],[c],t);i.isOver?c=U1({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.2},{type:"elem",elem:a}]}):c=U1({positionType:"bottom",positionData:o.depth+.2+a.height+a.depth,children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:o}]})}return W(["minner",i.isOver?"mover":"munder"],[c],t)},cT=(e,t)=>{var n=Ra(e.label);return new Y(e.isOver?"mover":"munder",[J1(e.base,t),n])};o1({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],numArgs:1,handler(e,t){var n=e.parser,a=e.funcName;return{type:"horizBrace",mode:n.mode,label:a,isOver:a.includes("\\over"),base:t[0]}},htmlBuilder:U_,mathmlBuilder:cT});o1({type:"href",names:["\\href"],numArgs:2,argTypes:["url","original"],allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=t[1],i=N1(t[0],"url").url;return n.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:n.mode,href:i,body:N0(a)}:n.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{var n=D0(e.body,t,!1);return lN(e.href,[],n,t)},mathmlBuilder:(e,t)=>{var n=v4(e.body,t);return n instanceof Y||(n=new Y("mrow",[n])),n.setAttribute("href",e.href),n}});o1({type:"href",names:["\\url"],numArgs:1,argTypes:["url"],allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=N1(t[0],"url").url;if(!n.settings.isTrusted({command:"\\url",url:a}))return n.formatUnsupportedCmd("\\url");for(var i=[],r=0;r{var n=e.parser,a=e.funcName;e.token;var i=N1(t[0],"raw").string,r=t[1];n.settings.strict&&n.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var s,c={};switch(a){case"\\htmlClass":c.class=i,s={command:"\\htmlClass",class:i};break;case"\\htmlId":c.id=i,s={command:"\\htmlId",id:i};break;case"\\htmlStyle":c.style=i,s={command:"\\htmlStyle",style:i};break;case"\\htmlData":{for(var o="{,}",l=[],p="",u=0;u{var n=D0(e.body,t,!1),a=["enclosing"];e.attributes.class&&a.push(...e.attributes.class.trim().split(/\s+/));var i=W(a,n,t);for(var r of Object.entries(e.attributes)){var s=r[0],c=r[1];s!=="class"&&i.setAttribute(s,c)}return i},mathmlBuilder:(e,t)=>v4(e.body,t)});o1({type:"htmlmathml",names:["\\html@mathml"],numArgs:2,allowedInArgument:!0,allowedInText:!0,handler:(e,t)=>{var n=e.parser;return{type:"htmlmathml",mode:n.mode,html:N0(t[0]),mathml:N0(t[1])}},htmlBuilder:(e,t)=>{var n=D0(e.html,t,!1);return M3(n)},mathmlBuilder:(e,t)=>v4(e.mathml,t)});var ro=function(t){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(t))return{number:+t,unit:"bp"};var n=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t);if(!n)throw new K("Invalid size: '"+t+"' in \\includegraphics");var a={number:+(n[1]+n[2]),unit:n[3]};if(!v_(a))throw new K("Invalid unit: '"+a.unit+"' in \\includegraphics.");return a};o1({type:"includegraphics",names:["\\includegraphics"],numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1,handler:(e,t,n)=>{var a=e.parser,i={number:0,unit:"em"},r={number:.9,unit:"em"},s={number:0,unit:"em"},c="";if(n[0])for(var o=N1(n[0],"raw").string,l=o.split(","),p=0;p{var n=_0(e.height,t),a=0;e.totalheight.number>0&&(a=_0(e.totalheight,t)-n);var i=0;e.width.number>0&&(i=_0(e.width,t));var r={height:n1(n+a)};i>0&&(r.width=n1(i)),a>0&&(r.verticalAlign=n1(-a));var s=new po(e.src,e.alt,r);return s.height=n,s.depth=a,s},mathmlBuilder:(e,t)=>{var n=new Y("mglyph",[]);n.setAttribute("alt",e.alt);var a=_0(e.height,t),i=0;if(e.totalheight.number>0&&(i=_0(e.totalheight,t)-a,n.setAttribute("valign",n1(-i))),n.setAttribute("height",n1(a+i)),e.width.number>0){var r=_0(e.width,t);n.setAttribute("width",n1(r))}return n.setAttribute("src",e.src),n}});o1({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0,handler(e,t){var n=e.parser,a=e.funcName,i=N1(t[0],"size");if(n.settings.strict){var r=a[1]==="m",s=i.value.unit==="mu";r?(s||n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, "+("not "+i.value.unit+" units")),n.mode!=="math"&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):s&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:n.mode,dimension:i.value}},htmlBuilder(e,t){return z_(e.dimension,t)},mathmlBuilder(e,t){var n=_0(e.dimension,t);return new Ta(n)}});o1({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0];return{type:"lap",mode:n.mode,alignment:a.slice(5),body:i}},htmlBuilder:(e,t)=>{var n;e.alignment==="clap"?(n=W([],[W1(e.body,t)]),n=W(["katex-inner"],[n],t)):n=W(["katex-inner"],[W1(e.body,t)]);var a=W(["katex-fix"],[]),i=W([e.alignment],[n,a],t),r=W(["katex-strut"]);return r.style.height=n1(i.height+i.depth),i.depth&&(r.style.verticalAlign=n1(-i.depth)),i.children.unshift(r),i=W(["katex-thinbox"],[i],t),W(["mord","katex-vbox"],[i],t)},mathmlBuilder:(e,t)=>{var n=new Y("mpadded",[J1(e.body,t)]);if(e.alignment!=="rlap"){var a=e.alignment==="llap"?"-1":"-0.5";n.setAttribute("lspace",a+"width")}return n.setAttribute("width","0px"),n}});o1({type:"styling",names:["\\(","$"],numArgs:0,allowedInText:!0,allowedInMath:!1,handler(e,t){var n=e.funcName,a=e.parser,i=a.mode;a.switchMode("math");var r=n==="\\("?"\\)":"$",s=a.parseExpression(!1,r);return a.expect(r),a.switchMode(i),{type:"styling",mode:a.mode,style:"text",resetFont:!0,body:s}}});o1({type:"text",names:["\\)","\\]"],numArgs:0,allowedInText:!0,allowedInMath:!1,handler(e,t){throw new K("Mismatched "+e.funcName)}});var i_=(e,t)=>{switch(t.style.size){case C1.DISPLAY.size:return e.display;case C1.TEXT.size:return e.text;case C1.SCRIPT.size:return e.script;case C1.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};o1({type:"mathchoice",names:["\\mathchoice"],numArgs:4,primitive:!0,handler:(e,t)=>{var n=e.parser;return{type:"mathchoice",mode:n.mode,display:N0(t[0]),text:N0(t[1]),script:N0(t[2]),scriptscript:N0(t[3])}},htmlBuilder:(e,t)=>{var n=i_(e,t),a=D0(n,t,!1);return M3(a)},mathmlBuilder:(e,t)=>{var n=i_(e,t);return v4(n,t)}});var X_=(e,t,n,a,i,r,s)=>{e=W([],[e]);var c=n&&C3(n),o,l;if(t){var p=W1(t,a.havingStyle(i.sup()),a);l={elem:p,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-p.depth)}}if(n){var u=W1(n,a.havingStyle(i.sub()),a);o={elem:u,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-u.height)}}var m;if(l&&o){var d=a.fontMetrics().bigOpSpacing5+o.elem.height+o.elem.depth+o.kern+e.depth+s;m=U1({positionType:"bottom",positionData:d,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:n1(-r)},{type:"kern",size:o.kern},{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:n1(r)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else if(o){var f=e.height-s;m=U1({positionType:"top",positionData:f,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:n1(-r)},{type:"kern",size:o.kern},{type:"elem",elem:e}]})}else if(l){var w=e.depth+s;m=U1({positionType:"bottom",positionData:w,children:[{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:n1(r)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else return e;var x=[m];if(o&&r!==0&&!c){var v=W(["mspace"],[],a);v.style.marginRight=n1(r),x.unshift(v)}return W(["mop","op-limits"],x,a)},K_=new Set(["\\smallint"]),Y_=(e,t)=>{var n,a,i=!1,r;e.type==="supsub"?(n=e.sup,a=e.sub,r=N1(e.base,"op"),i=!0):r=N1(e,"op");var s=t.style,c=!1;s.size===C1.DISPLAY.size&&r.symbol&&!K_.has(r.name)&&(c=!0);var o,l;if(r.symbol){var p=c?"Size2-Regular":"Size1-Regular",u="";if((r.name==="\\oiint"||r.name==="\\oiiint")&&(u=r.name.slice(1),r.name=u==="oiint"?"\\iint":"\\iiint"),o=x2(r.name,p,"math",t,["mop","op-symbol",c?"large-op":"small-op"]),l=o.italic,u.length>0){var m=A_(u+"Size"+(c?"2":"1"),t);o=U1({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:m,shift:c?.08:0}]}),r.name="\\"+u,o.classes.unshift("mop"),o.italic=l}}else if(r.body){var d=D0(r.body,t,!0);d.length===1&&d[0]instanceof z2?(o=d[0],o.classes[0]="mop"):o=W(["mop"],d,t)}else{for(var f=[],w=1;w{var n;if(e.symbol)n=new Y("mo",[ue(e.name,e.mode)]),K_.has(e.name)&&n.setAttribute("largeop","false");else if(e.body)n=new Y("mo",K2(e.body,t));else{n=new Y("mi",[new $0(e.name.slice(1))]);var a=new Y("mo",[ue("\u2061","text")]);e.parentIsSupSub?n=new Y("mrow",[n,a]):n=L_([n,a])}return n},lT={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};o1({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],numArgs:0,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=a;return i.length===1&&(i=lT[i]),{type:"op",mode:n.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:Y_,mathmlBuilder:oT});o1({type:"op",names:["\\mathop"],numArgs:1,primitive:!0,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"op",mode:n.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:N0(a)}}});var pT={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};o1({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],numArgs:0,handler(e){var t=e.parser,n=e.funcName;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:n}}});o1({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],numArgs:0,handler(e){var t=e.parser,n=e.funcName;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:n}}});o1({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],numArgs:0,allowedInArgument:!0,handler(e){var t=e.parser,n=e.funcName,a=n;return a.length===1&&(a=pT[a]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}}});var J_=(e,t)=>{var n,a,i=!1,r;e.type==="supsub"?(n=e.sup,a=e.sub,r=N1(e.base,"operatorname"),i=!0):r=N1(e,"operatorname");var s;if(r.body.length>0){for(var c=r.body.map(u=>{var m="text"in u?u.text:void 0;return typeof m=="string"?{type:"textord",mode:u.mode,text:m}:u}),o=D0(c,t.withFont("mathrm"),!0),l=0;l{for(var n=K2(e.body,t.withFont("mathrm")),a=!0,i=0;ip.toText()).join("");n=[new $0(c)]}var o=new Y("mi",n);o.setAttribute("mathvariant","normal");var l=new Y("mo",[ue("\u2061","text")]);return e.parentIsSupSub?new Y("mrow",[o,l]):L_([o,l])};o1({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],numArgs:1,handler:(e,t)=>{var n=e.parser,a=e.funcName,i=t[0];return{type:"operatorname",mode:n.mode,body:N0(i),alwaysHandleSupSub:a==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:J_,mathmlBuilder:uT});k("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");nt({type:"ordgroup",htmlBuilder(e,t){return e.semisimple?M3(D0(e.body,t,!1)):W(["mord"],D0(e.body,t,!0),t)},mathmlBuilder(e,t){return v4(e.body,t,!0)}});o1({type:"overline",names:["\\overline"],numArgs:1,handler(e,t){var n=e.parser,a=t[0];return{type:"overline",mode:n.mode,body:a}},htmlBuilder(e,t){var n=W1(e.body,t.havingCrampedStyle()),a=u5("overline-line",t),i=t.fontMetrics().defaultRuleThickness,r=U1({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:a},{type:"kern",size:i}]});return W(["mord","katex-overline"],[r],t)},mathmlBuilder(e,t){var n=new Y("mo",[new $0("\u203E")]);n.setAttribute("stretchy","true");var a=new Y("mover",[J1(e.body,t),n]);return a.setAttribute("accent","true"),a}});o1({type:"phantom",names:["\\phantom"],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"phantom",mode:n.mode,body:N0(a)}},htmlBuilder:(e,t)=>{var n=D0(e.body,t.withPhantom(),!1);return M3(n)},mathmlBuilder:(e,t)=>{var n=K2(e.body,t);return new Y("mphantom",n)}});k("\\hphantom","\\smash{\\phantom{#1}}");o1({type:"vphantom",names:["\\vphantom"],numArgs:1,allowedInText:!0,handler:(e,t)=>{var n=e.parser,a=t[0];return{type:"vphantom",mode:n.mode,body:a}},htmlBuilder:(e,t)=>{var n=W(["katex-inner"],[W1(e.body,t.withPhantom())]),a=W(["katex-fix"],[]);return W(["mord","rlap"],[n,a],t)},mathmlBuilder:(e,t)=>{var n=K2(N0(e.body),t),a=new Y("mphantom",n),i=new Y("mpadded",[a]);return i.setAttribute("width","0px"),i}});o1({type:"raisebox",names:["\\raisebox"],numArgs:2,argTypes:["size","hbox"],allowedInText:!0,handler(e,t){var n=e.parser,a=N1(t[0],"size").value,i=t[1];return{type:"raisebox",mode:n.mode,dy:a,body:i}},htmlBuilder(e,t){var n=W1(e.body,t),a=_0(e.dy,t);return U1({positionType:"shift",positionData:-a,children:[{type:"elem",elem:n}]})},mathmlBuilder(e,t){var n=new Y("mpadded",[J1(e.body,t)]),a=e.dy.number+e.dy.unit;return n.setAttribute("voffset",a),n}});var Q_=(e,t)=>{var n=e.parser;return{type:"reflectbox",mode:n.mode,body:t[0]}};o1({type:"reflectbox",names:["\\reflectbox"],numArgs:1,argTypes:["hbox"],allowedInText:!0,handler:Q_,htmlBuilder(e,t){return W(["mord","reflectbox"],[W1(e.body,t)],t)},mathmlBuilder(e,t){return J1(e.body,t)}});o1({type:"reflectbox",names:["\\mathreflectbox"],numArgs:1,argTypes:["math"],handler:Q_});o1({type:"internal",names:["\\relax"],numArgs:0,allowedInText:!0,allowedInArgument:!0,handler(e){var t=e.parser;return{type:"internal",mode:t.mode}}});o1({type:"rule",names:["\\rule"],numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"],handler(e,t,n){var a=e.parser,i=n[0],r=N1(t[0],"size"),s=N1(t[1],"size");return{type:"rule",mode:a.mode,shift:i&&N1(i,"size").value,width:r.value,height:s.value}},htmlBuilder(e,t){var n=W(["mord","katex-rule"],[],t),a=_0(e.width,t),i=_0(e.height,t),r=e.shift?_0(e.shift,t):0;return n.style.borderRightWidth=n1(a),n.style.borderTopWidth=n1(i),n.style.bottom=n1(r),n.width=a,n.height=i+r,n.depth=-r,n.maxFontSize=i*1.125*t.sizeMultiplier,n},mathmlBuilder(e,t){var n=_0(e.width,t),a=_0(e.height,t),i=e.shift?_0(e.shift,t):0,r=t.color&&t.getColor()||"black",s=new Y("mspace");s.setAttribute("mathbackground",r),s.setAttribute("width",n1(n)),s.setAttribute("height",n1(a));var c=new Y("mpadded",[s]);return i>=0?c.setAttribute("height",n1(i)):(c.setAttribute("height",n1(i)),c.setAttribute("depth",n1(-i))),c.setAttribute("voffset",n1(i)),c}});function ew(e,t,n){for(var a=D0(e,t,!1),i=t.sizeMultiplier/n.sizeMultiplier,r=0;r{var n=t.havingSize(e.size);return ew(e.body,n,t)};o1({type:"sizing",names:r_,numArgs:0,allowedInText:!0,handler:(e,t)=>{var n=e.breakOnTokenText,a=e.funcName,i=e.parser,r=i.parseExpression(!1,n);return{type:"sizing",mode:i.mode,size:r_.indexOf(a)+1,body:r}},htmlBuilder:mT,mathmlBuilder:(e,t)=>{var n=t.havingSize(e.size),a=K2(e.body,n),i=new Y("mstyle",a);return i.setAttribute("mathsize",n1(n.sizeMultiplier)),i}});o1({type:"smash",names:["\\smash"],numArgs:1,numOptionalArgs:1,allowedInText:!0,handler:(e,t,n)=>{var a=e.parser,i=!1,r=!1,s=n[0]&&N1(n[0],"ordgroup");if(s)for(var c,o=0;o{var n=W([],[W1(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return n;if(e.smashHeight&&(n.height=0),e.smashDepth&&(n.depth=0),e.smashHeight&&e.smashDepth)return W(["mord","katex-smash"],[n],t);if(n.children)for(var a=0;a{var n=new Y("mpadded",[J1(e.body,t)]);return e.smashHeight&&n.setAttribute("height","0px"),e.smashDepth&&n.setAttribute("depth","0px"),n}});o1({type:"sqrt",names:["\\sqrt"],numArgs:1,numOptionalArgs:1,handler(e,t,n){var a=e.parser,i=n[0],r=t[0];return{type:"sqrt",mode:a.mode,body:r,index:i}},htmlBuilder(e,t){var n=W1(e.body,t.havingCrampedStyle());n.height===0&&(n.height=t.fontMetrics().xHeight),n=m5(n,t);var a=t.fontMetrics(),i=a.defaultRuleThickness,r=i;t.style.idn.height+n.depth+s&&(s=(s+m-n.height-n.depth)/2);var d=l.height-n.height-s-p;n.style.paddingLeft=n1(u);var f=U1({positionType:"firstBaseline",children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:-(n.height+d)},{type:"elem",elem:l},{type:"kern",size:p}]});if(e.index){var w=t.havingStyle(C1.SCRIPTSCRIPT),x=W1(e.index,w,t),v=.6*(f.height-f.depth),b=U1({positionType:"shift",positionData:-v,children:[{type:"elem",elem:x}]}),_=W(["katex-root"],[b]);return W(["mord","sqrt"],[_,f],t)}else return W(["mord","sqrt"],[f],t)},mathmlBuilder(e,t){var n=e.body,a=e.index;return a?new Y("mroot",[J1(n,t),J1(a,t)]):new Y("msqrt",[J1(n,t)])}});var Co={display:C1.DISPLAY,text:C1.TEXT,script:C1.SCRIPT,scriptscript:C1.SCRIPTSCRIPT};function dT(e){return e in Co}o1({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],numArgs:0,allowedInText:!0,primitive:!0,handler(e,t){var n=e.breakOnTokenText,a=e.funcName,i=e.parser,r=i.parseExpression(!0,n),s=a.slice(1,a.length-5);if(!dT(s))throw new Error("Unknown style: "+s);return{type:"styling",mode:i.mode,style:s,body:r}},htmlBuilder(e,t){var n=Co[e.style],a=t.havingStyle(n);return e.resetFont&&(a=a.withFont("")),ew(e.body,a,t)},mathmlBuilder(e,t){var n=Co[e.style],a=t.havingStyle(n);e.resetFont&&(a=a.withFont(""));var i=K2(e.body,a),r=new Y("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},c=s[e.style];return r.setAttribute("scriptlevel",c[0]),r.setAttribute("displaystyle",c[1]),r}});var hT=function(t,n){var a=t.base;if(a)if(a.type==="op"){var i=a.limits&&(n.style.size===C1.DISPLAY.size||a.alwaysHandleSupSub);return i?Y_:null}else if(a.type==="operatorname"){var r=a.alwaysHandleSupSub&&(n.style.size===C1.DISPLAY.size||a.limits);return r?J_:null}else{if(a.type==="accent")return C3(a.base)?F_:null;if(a.type==="horizBrace"){var s=!t.sub;return s===a.isOver?U_:null}else return null}else return null};nt({type:"supsub",htmlBuilder(e,t){var n=hT(e,t);if(n)return n(e,t);var a=e.base,i=e.sup,r=e.sub,s=W1(a,t),c,o,l=t.fontMetrics(),p=0,u=0,m=a&&C3(a);if(i){var d=t.havingStyle(t.style.sup());c=W1(i,d,t),m||(p=s.height-d.fontMetrics().supDrop*d.sizeMultiplier/t.sizeMultiplier)}if(r){var f=t.havingStyle(t.style.sub());o=W1(r,f,t),m||(u=s.depth+f.fontMetrics().subDrop*f.sizeMultiplier/t.sizeMultiplier)}var w;t.style===C1.DISPLAY?w=l.sup1:t.style.cramped?w=l.sup3:w=l.sup2;var x=t.sizeMultiplier,v=n1(.5/l.ptPerEm/x),b=null;if(o){var _=e.base&&e.base.type==="op"&&e.base.name&&(e.base.name==="\\oiint"||e.base.name==="\\oiiint");if(s instanceof z2||_){var z;b=n1(-((z=s.italic)!=null?z:0))}}var $;if(c&&o){p=Math.max(p,w,c.depth+.25*l.xHeight),u=Math.max(u,l.sub2);var C=l.defaultRuleThickness,j=4*C;if(p-c.depth-(o.height-u)0&&(p+=T,u-=T)}var H=[{type:"elem",elem:o,shift:u,marginRight:v,marginLeft:b},{type:"elem",elem:c,shift:-p,marginRight:v}];$=U1({positionType:"individualShift",children:H})}else if(o){u=Math.max(u,l.sub1,o.height-.8*l.xHeight);var E=[{type:"elem",elem:o,marginLeft:b,marginRight:v}];$=U1({positionType:"shift",positionData:u,children:E})}else if(c)p=Math.max(p,w,c.depth+.25*l.xHeight),$=U1({positionType:"shift",positionData:-p,children:[{type:"elem",elem:c,marginRight:v}]});else throw new Error("supsub must have either sup or sub.");var R=_o(s,"right")||"mord";return W([R],[s,W(["msupsub"],[$])],t)},mathmlBuilder(e,t){var n=!1,a,i;e.base&&e.base.type==="horizBrace"&&(i=!!e.sup,i===e.base.isOver&&(n=!0,a=e.base.isOver)),e.base&&(e.base.type==="op"||e.base.type==="operatorname")&&(e.base.parentIsSupSub=!0);var r=[J1(e.base,t)];e.sub&&r.push(J1(e.sub,t)),e.sup&&r.push(J1(e.sup,t));var s;if(n)s=a?"mover":"munder";else if(e.sub)if(e.sup){var l=e.base;l&&l.type==="op"&&l.limits&&t.style===C1.DISPLAY||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(t.style===C1.DISPLAY||l.limits)?s="munderover":s="msubsup"}else{var o=e.base;o&&o.type==="op"&&o.limits&&(t.style===C1.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||t.style===C1.DISPLAY)?s="munder":s="msub"}else{var c=e.base;c&&c.type==="op"&&c.limits&&(t.style===C1.DISPLAY||c.alwaysHandleSupSub)||c&&c.type==="operatorname"&&c.alwaysHandleSupSub&&(c.limits||t.style===C1.DISPLAY)?s="mover":s="msup"}return new Y(s,r)}});nt({type:"atom",htmlBuilder(e,t){return Zo(e.text,e.mode,t,["m"+e.family])},mathmlBuilder(e,t){var n=new Y("mo",[ue(e.text,e.mode)]);if(e.family==="bin"){var a=Ho(e,t);a==="bold-italic"&&n.setAttribute("mathvariant",a)}else e.family==="punct"?n.setAttribute("separator","true"):(e.family==="open"||e.family==="close")&&n.setAttribute("stretchy","false");return n}});var tw={mi:"italic",mn:"normal",mtext:"normal"};nt({type:"mathord",htmlBuilder(e,t){return Pa(e,t)},mathmlBuilder(e,t){var n=new Y("mi",[ue(e.text,e.mode,t)]),a=Ho(e,t)||"italic";return a!==tw[n.type]&&n.setAttribute("mathvariant",a),n}});nt({type:"textord",htmlBuilder(e,t){return Pa(e,t)},mathmlBuilder(e,t){var n=ue(e.text,e.mode,t),a=Ho(e,t)||"normal",i;return e.mode==="text"?i=new Y("mtext",[n]):/[0-9]/.test(e.text)?i=new Y("mn",[n]):e.text==="\\prime"?i=new Y("mo",[n]):i=new Y("mi",[n]),a!==tw[i.type]&&i.setAttribute("mathvariant",a),i}});var s_=new Map([["\\nobreak","nobreak"],["\\allowbreak","allowbreak"]]),c_=new Map([[" ",{}],["\\ ",{}],["~",{className:"nobreak"}],["\\space",{}],["\\nobreakspace",{className:"nobreak"}]]);nt({type:"spacing",htmlBuilder(e,t){var n=c_.get(e.text),a=s_.get(e.text);if(n){var i=n.className||"";if(e.mode==="text"){var r=Pa(e,t);return r.classes.push(i),r}else return W(["mspace",i],[Zo(e.text,e.mode,t)],t)}else{if(a)return W(["mspace",a],[],t);throw new K('Unknown type of space "'+e.text+'"')}},mathmlBuilder(e,t){var n;if(c_.has(e.text))n=new Y("mtext",[new $0("\xA0")]);else{if(s_.has(e.text))return new Y("mspace");throw new K('Unknown type of space "'+e.text+'"')}return n}});var o_=()=>{var e=new Y("mtd",[]);return e.setAttribute("width","50%"),e};nt({type:"tag",mathmlBuilder(e,t){var n=new Y("mtable",[new Y("mtr",[o_(),new Y("mtd",[v4(e.body,t)]),o_(),new Y("mtd",[v4(e.tag,t)])])]);return n.setAttribute("width","100%"),n}});var l_={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},p_={"\\textbf":"textbf","\\textmd":"textmd"},gT={"\\textit":"textit","\\textup":"textup"},u_=(e,t)=>{var n=e.font;if(n){if(l_[n])return t.withTextFontFamily(l_[n]);if(p_[n])return t.withTextFontWeight(p_[n]);if(n==="\\emph")return t.fontShape==="textit"?t.withTextFontShape("textup"):t.withTextFontShape("textit")}else return t;return t.withTextFontShape(gT[n])};o1({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0,handler(e,t){var n=e.parser,a=e.funcName,i=t[0];return{type:"text",mode:n.mode,body:N0(i),font:a}},htmlBuilder(e,t){var n=u_(e,t),a=D0(e.body,n,!0);return W(["mord","text"],a,n)},mathmlBuilder(e,t){var n=u_(e,t);return v4(e.body,n)}});o1({type:"underline",names:["\\underline"],numArgs:1,allowedInText:!0,handler(e,t){var n=e.parser;return{type:"underline",mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=W1(e.body,t),a=u5("underline-line",t),i=t.fontMetrics().defaultRuleThickness,r=U1({positionType:"top",positionData:n.height,children:[{type:"kern",size:i},{type:"elem",elem:a},{type:"kern",size:3*i},{type:"elem",elem:n}]});return W(["mord","katex-underline"],[r],t)},mathmlBuilder(e,t){var n=new Y("mo",[new $0("\u203E")]);n.setAttribute("stretchy","true");var a=new Y("munder",[J1(e.body,t),n]);return a.setAttribute("accentunder","true"),a}});o1({type:"vcenter",names:["\\vcenter"],numArgs:1,argTypes:["original"],allowedInText:!1,handler(e,t){var n=e.parser;return{type:"vcenter",mode:n.mode,body:t[0]}},htmlBuilder(e,t){var n=W1(e.body,t),a=t.fontMetrics().axisHeight,i=.5*(n.height-a-(n.depth+a));return U1({positionType:"shift",positionData:i,children:[{type:"elem",elem:n}]})},mathmlBuilder(e,t){var n=new Y("mpadded",[J1(e.body,t)],["vcenter"]);return new Y("mrow",[n])}});o1({type:"verb",names:["\\verb"],numArgs:0,allowedInText:!0,handler(e,t,n){throw new K("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){for(var n=m_(e),a=[],i=t.havingStyle(t.style.text()),r=0;re.body.replace(/ /g,e.star?"\u2423":"\xA0"),d4=M_,nw="[ \r\n ]",bT="\\\\[a-zA-Z@]+",fT="\\\\[^\uD800-\uDFFF]",vT="("+bT+")"+nw+"*",yT="\\\\(\n|[ \r ]+\n?)[ \r ]*",Ao="[\u0300-\u036F]",_T=new RegExp(Ao+"+$"),wT="("+nw+"+)|"+(yT+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(Ao+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Ao+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+vT)+("|"+fT+")"),qa=class{constructor(t,n){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=t,this.settings=n,this.tokenRegex=new RegExp(wT,"g"),this.catcodes={"%":14,"~":13}}setCatcode(t,n){this.catcodes[t]=n}lex(){var t=this.input,n=this.tokenRegex.lastIndex;if(n===t.length)return new U2("EOF",new N2(this,n,n));var a=this.tokenRegex.exec(t);if(a===null||a.index!==n)throw new K("Unexpected character: '"+t[n]+"'",new U2(t[n],new N2(this,n,n+1)));var i=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[i]===14){var r=t.indexOf("\n",this.tokenRegex.lastIndex);return r===-1?(this.tokenRegex.lastIndex=t.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=r+1,this.lex()}return new U2(i,new N2(this,n,this.tokenRegex.lastIndex))}},Mo=class{constructor(t,n){t===void 0&&(t={}),n===void 0&&(n={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=n,this.builtins=t,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new K("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var t=this.undefStack.pop();for(var n of Object.keys(t))t[n]===void 0?delete this.current[n]:this.current[n]=t[n]}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(t){return Object.prototype.hasOwnProperty.call(this.current,t)||Object.prototype.hasOwnProperty.call(this.builtins,t)}get(t){return Object.prototype.hasOwnProperty.call(this.current,t)?this.current[t]:Object.prototype.hasOwnProperty.call(this.builtins,t)?this.builtins[t]:void 0}set(t,n,a){if(a===void 0&&(a=!1),a){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][t]=n)}else{var r=this.undefStack[this.undefStack.length-1];r&&!Object.prototype.hasOwnProperty.call(r,t)&&(r[t]=Object.prototype.hasOwnProperty.call(this.current,t)?this.current[t]:void 0)}n==null?delete this.current[t]:this.current[t]=n}},xT=G_;k("\\noexpand",function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}});k("\\expandafter",function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}});k("\\@firstoftwo",function(e){var t=e.consumeArgs(2);return{tokens:t[0],numArgs:0}});k("\\@secondoftwo",function(e){var t=e.consumeArgs(2);return{tokens:t[1],numArgs:0}});k("\\@ifnextchar",function(e){var t=e.consumeArgs(3);e.consumeSpaces();var n=e.future();return t[0].length===1&&t[0][0].text===n.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}});k("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");k("\\TextOrMath",function(e){var t=e.consumeArgs(2);return e.mode==="text"?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}});var d_={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};k("\\char",function(e){var t=e.popToken(),n,a=0;if(t.text==="'")n=8,t=e.popToken();else if(t.text==='"')n=16,t=e.popToken();else if(t.text==="`")if(t=e.popToken(),t.text[0]==="\\")a=t.text.charCodeAt(1);else{if(t.text==="EOF")throw new K("\\char` missing argument");a=t.text.charCodeAt(0)}else n=10;if(n){if(a=d_[t.text],a==null||a>=n)throw new K("Invalid base-"+n+" digit "+t.text);for(var i;(i=d_[e.future().text])!=null&&i{var i=e.consumeArg().tokens;if(i.length!==1)throw new K("\\newcommand's first argument must be a macro name");var r=i[0].text,s=e.isDefined(r);if(s&&!t)throw new K("\\newcommand{"+r+"} attempting to redefine "+(r+"; use \\renewcommand"));if(!s&&!n)throw new K("\\renewcommand{"+r+"} when command "+r+" does not yet exist; use \\newcommand");var c=0;if(i=e.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var o="",l=e.expandNextToken();l.text!=="]"&&l.text!=="EOF";)o+=l.text,l=e.expandNextToken();if(!o.match(/^\s*[0-9]+\s*$/))throw new K("Invalid number of arguments: "+o);c=parseInt(o),i=e.consumeArg().tokens}return s&&a||e.macros.set(r,{tokens:i,numArgs:c}),""};k("\\newcommand",e=>Io(e,!1,!0,!1));k("\\renewcommand",e=>Io(e,!0,!1,!1));k("\\providecommand",e=>Io(e,!0,!0,!0));k("\\message",e=>{var t=e.consumeArgs(1)[0];return console.log(t.reverse().map(n=>n.text).join("")),""});k("\\errmessage",e=>{var t=e.consumeArgs(1)[0];return console.error(t.reverse().map(n=>n.text).join("")),""});k("\\show",e=>{var t=e.popToken(),n=t.text;return console.log(t,e.macros.get(n),d4[n],u0.math[n],u0.text[n]),""});k("\\bgroup","{");k("\\egroup","}");k("~","\\nobreakspace");k("\\lq","`");k("\\rq","'");k("\\aa","\\r a");k("\\AA","\\r A");k("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");k("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");k("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");k("\u212C","\\mathscr{B}");k("\u2130","\\mathscr{E}");k("\u2131","\\mathscr{F}");k("\u210B","\\mathscr{H}");k("\u2110","\\mathscr{I}");k("\u2112","\\mathscr{L}");k("\u2133","\\mathscr{M}");k("\u211B","\\mathscr{R}");k("\u212D","\\mathfrak{C}");k("\u210C","\\mathfrak{H}");k("\u2128","\\mathfrak{Z}");k("\\Bbbk","\\Bbb{k}");k("\\llap","\\mathllap{\\textrm{#1}}");k("\\rlap","\\mathrlap{\\textrm{#1}}");k("\\clap","\\mathclap{\\textrm{#1}}");k("\\mathstrut","\\vphantom{(}");k("\\underbar","\\underline{\\text{#1}}");k("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');k("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");k("\\ne","\\neq");k("\u2260","\\neq");k("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");k("\u2209","\\notin");k("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");k("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");k("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");k("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");k("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");k("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");k("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");k("\u27C2","\\perp");k("\u203C","\\mathclose{!\\mkern-0.8mu!}");k("\u220C","\\notni");k("\u231C","\\ulcorner");k("\u231D","\\urcorner");k("\u231E","\\llcorner");k("\u231F","\\lrcorner");k("\xA9","\\copyright");k("\xAE","\\textregistered");k("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');k("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');k("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');k("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');k("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");k("\u22EE","\\vdots");k("\\varGamma","\\mathit{\\Gamma}");k("\\varDelta","\\mathit{\\Delta}");k("\\varTheta","\\mathit{\\Theta}");k("\\varLambda","\\mathit{\\Lambda}");k("\\varXi","\\mathit{\\Xi}");k("\\varPi","\\mathit{\\Pi}");k("\\varSigma","\\mathit{\\Sigma}");k("\\varUpsilon","\\mathit{\\Upsilon}");k("\\varPhi","\\mathit{\\Phi}");k("\\varPsi","\\mathit{\\Psi}");k("\\varOmega","\\mathit{\\Omega}");k("\\substack","\\begin{subarray}{c}#1\\end{subarray}");k("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");k("\\boxed","\\fbox{$\\displaystyle{#1}$}");k("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");k("\\implies","\\DOTSB\\;\\Longrightarrow\\;");k("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");k("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");k("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var h_={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},kT=new Set(["bin","rel"]);k("\\dots",function(e){var t="\\dotso",n=e.expandAfterFuture().text;return n in h_?t=h_[n]:(n.slice(0,4)==="\\not"||n in u0.math&&kT.has(u0.math[n].group))&&(t="\\dotsb"),t});var Bo={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};k("\\dotso",function(e){var t=e.future().text;return t in Bo?"\\ldots\\,":"\\ldots"});k("\\dotsc",function(e){var t=e.future().text;return t in Bo&&t!==","?"\\ldots\\,":"\\ldots"});k("\\cdots",function(e){var t=e.future().text;return t in Bo?"\\@cdots\\,":"\\@cdots"});k("\\dotsb","\\cdots");k("\\dotsm","\\cdots");k("\\dotsi","\\!\\cdots");k("\\dotsx","\\ldots\\,");k("\\DOTSI","\\relax");k("\\DOTSB","\\relax");k("\\DOTSX","\\relax");k("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");k("\\,","\\tmspace+{3mu}{.1667em}");k("\\thinspace","\\,");k("\\>","\\mskip{4mu}");k("\\:","\\tmspace+{4mu}{.2222em}");k("\\medspace","\\:");k("\\;","\\tmspace+{5mu}{.2777em}");k("\\thickspace","\\;");k("\\!","\\tmspace-{3mu}{.1667em}");k("\\negthinspace","\\!");k("\\negmedspace","\\tmspace-{4mu}{.2222em}");k("\\negthickspace","\\tmspace-{5mu}{.277em}");k("\\enspace","\\kern.5em ");k("\\enskip","\\hskip.5em\\relax");k("\\quad","\\hskip1em\\relax");k("\\qquad","\\hskip2em\\relax");k("\\tag","\\@ifstar\\tag@literal\\tag@paren");k("\\tag@paren","\\tag@literal{({#1})}");k("\\tag@literal",e=>{if(e.macros.get("\\df@tag"))throw new K("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});k("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");k("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");k("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");k("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");k("\\newline","\\\\\\relax");k("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var aw=n1(Pe["Main-Regular"][84][1]-.7*Pe["Main-Regular"][65][1]);k("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+aw+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");k("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+aw+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");k("\\hspace","\\@ifstar\\@hspacer\\@hspace");k("\\@hspace","\\hskip #1\\relax");k("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");k("\\ordinarycolon",":");k("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");k("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');k("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');k("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');k("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');k("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');k("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');k("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');k("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');k("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');k("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');k("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');k("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');k("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');k("\u2237","\\dblcolon");k("\u2239","\\eqcolon");k("\u2254","\\coloneqq");k("\u2255","\\eqqcolon");k("\u2A74","\\Coloneqq");k("\\ratio","\\vcentcolon");k("\\coloncolon","\\dblcolon");k("\\colonequals","\\coloneqq");k("\\coloncolonequals","\\Coloneqq");k("\\equalscolon","\\eqqcolon");k("\\equalscoloncolon","\\Eqqcolon");k("\\colonminus","\\coloneq");k("\\coloncolonminus","\\Coloneq");k("\\minuscolon","\\eqcolon");k("\\minuscoloncolon","\\Eqcolon");k("\\coloncolonapprox","\\Colonapprox");k("\\coloncolonsim","\\Colonsim");k("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");k("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");k("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");k("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");k("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");k("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");k("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");k("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");k("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");k("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");k("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");k("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");k("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");k("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");k("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");k("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");k("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");k("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");k("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");k("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");k("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");k("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");k("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");k("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");k("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");k("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");k("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");k("\\imath","\\html@mathml{\\@imath}{\u0131}");k("\\jmath","\\html@mathml{\\@jmath}{\u0237}");k("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");k("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");k("\u27E6","\\llbracket");k("\u27E7","\\rrbracket");k("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");k("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");k("\u21A4","\\mapsfrom");k("\\mapsfrom","\\html@mathml{\\mathrel{\\mathreflectbox{\\mapsto}}}{\\mathrel{\\char`\u21A4}}");k("\u2983","\\lBrace");k("\u2984","\\rBrace");k("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");k("\u29B5","\\minuso");k("\\darr","\\downarrow");k("\\dArr","\\Downarrow");k("\\Darr","\\Downarrow");k("\\lang","\\langle");k("\\rang","\\rangle");k("\\uarr","\\uparrow");k("\\uArr","\\Uparrow");k("\\Uarr","\\Uparrow");k("\\N","\\mathbb{N}");k("\\R","\\mathbb{R}");k("\\Z","\\mathbb{Z}");k("\\alef","\\aleph");k("\\alefsym","\\aleph");k("\\Alpha","\\mathrm{A}");k("\\Beta","\\mathrm{B}");k("\\bull","\\bullet");k("\\Chi","\\mathrm{X}");k("\\clubs","\\clubsuit");k("\\cnums","\\mathbb{C}");k("\\Complex","\\mathbb{C}");k("\\Dagger","\\ddagger");k("\\diamonds","\\diamondsuit");k("\\empty","\\emptyset");k("\\Epsilon","\\mathrm{E}");k("\\Eta","\\mathrm{H}");k("\\exist","\\exists");k("\\harr","\\leftrightarrow");k("\\hArr","\\Leftrightarrow");k("\\Harr","\\Leftrightarrow");k("\\hearts","\\heartsuit");k("\\image","\\Im");k("\\infin","\\infty");k("\\Iota","\\mathrm{I}");k("\\isin","\\in");k("\\Kappa","\\mathrm{K}");k("\\larr","\\leftarrow");k("\\lArr","\\Leftarrow");k("\\Larr","\\Leftarrow");k("\\lrarr","\\leftrightarrow");k("\\lrArr","\\Leftrightarrow");k("\\Lrarr","\\Leftrightarrow");k("\\Mu","\\mathrm{M}");k("\\natnums","\\mathbb{N}");k("\\Nu","\\mathrm{N}");k("\\Omicron","\\mathrm{O}");k("\\plusmn","\\pm");k("\\rarr","\\rightarrow");k("\\rArr","\\Rightarrow");k("\\Rarr","\\Rightarrow");k("\\real","\\Re");k("\\reals","\\mathbb{R}");k("\\Reals","\\mathbb{R}");k("\\Rho","\\mathrm{P}");k("\\sdot","\\cdot");k("\\sect","\\S");k("\\spades","\\spadesuit");k("\\sub","\\subset");k("\\sube","\\subseteq");k("\\supe","\\supseteq");k("\\Tau","\\mathrm{T}");k("\\thetasym","\\vartheta");k("\\weierp","\\wp");k("\\Zeta","\\mathrm{Z}");k("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");k("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");k("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");k("\\bra","\\mathinner{\\langle{#1}|}");k("\\ket","\\mathinner{|{#1}\\rangle}");k("\\braket","\\mathinner{\\langle{#1}\\rangle}");k("\\Bra","\\left\\langle#1\\right|");k("\\Ket","\\left|#1\\right\\rangle");var iw=e=>t=>{var n=t.consumeArg().tokens,a=t.consumeArg().tokens,i=t.consumeArg().tokens,r=t.consumeArg().tokens,s=t.macros.get("|"),c=t.macros.get("\\|");t.macros.beginGroup();var o=u=>m=>{e&&(m.macros.set("|",s),i.length&&m.macros.set("\\|",c));var d=u;if(!u&&i.length){var f=m.future();f.text==="|"&&(m.popToken(),d=!0)}return{tokens:d?i:a,numArgs:0}};t.macros.set("|",o(!1)),i.length&&t.macros.set("\\|",o(!0));var l=t.consumeArg().tokens,p=t.expandTokens([...r,...l,...n]);return t.macros.endGroup(),{tokens:p.reverse(),numArgs:0}};k("\\bra@ket",iw(!1));k("\\bra@set",iw(!0));k("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");k("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");k("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");k("\\angln","{\\angl n}");k("\\blue","\\textcolor{##6495ed}{#1}");k("\\orange","\\textcolor{##ffa500}{#1}");k("\\pink","\\textcolor{##ff00af}{#1}");k("\\red","\\textcolor{##df0030}{#1}");k("\\green","\\textcolor{##28ae7b}{#1}");k("\\gray","\\textcolor{gray}{#1}");k("\\purple","\\textcolor{##9d38bd}{#1}");k("\\blueA","\\textcolor{##ccfaff}{#1}");k("\\blueB","\\textcolor{##80f6ff}{#1}");k("\\blueC","\\textcolor{##63d9ea}{#1}");k("\\blueD","\\textcolor{##11accd}{#1}");k("\\blueE","\\textcolor{##0c7f99}{#1}");k("\\tealA","\\textcolor{##94fff5}{#1}");k("\\tealB","\\textcolor{##26edd5}{#1}");k("\\tealC","\\textcolor{##01d1c1}{#1}");k("\\tealD","\\textcolor{##01a995}{#1}");k("\\tealE","\\textcolor{##208170}{#1}");k("\\greenA","\\textcolor{##b6ffb0}{#1}");k("\\greenB","\\textcolor{##8af281}{#1}");k("\\greenC","\\textcolor{##74cf70}{#1}");k("\\greenD","\\textcolor{##1fab54}{#1}");k("\\greenE","\\textcolor{##0d923f}{#1}");k("\\goldA","\\textcolor{##ffd0a9}{#1}");k("\\goldB","\\textcolor{##ffbb71}{#1}");k("\\goldC","\\textcolor{##ff9c39}{#1}");k("\\goldD","\\textcolor{##e07d10}{#1}");k("\\goldE","\\textcolor{##a75a05}{#1}");k("\\redA","\\textcolor{##fca9a9}{#1}");k("\\redB","\\textcolor{##ff8482}{#1}");k("\\redC","\\textcolor{##f9685d}{#1}");k("\\redD","\\textcolor{##e84d39}{#1}");k("\\redE","\\textcolor{##bc2612}{#1}");k("\\maroonA","\\textcolor{##ffbde0}{#1}");k("\\maroonB","\\textcolor{##ff92c6}{#1}");k("\\maroonC","\\textcolor{##ed5fa6}{#1}");k("\\maroonD","\\textcolor{##ca337c}{#1}");k("\\maroonE","\\textcolor{##9e034e}{#1}");k("\\purpleA","\\textcolor{##ddd7ff}{#1}");k("\\purpleB","\\textcolor{##c6b9fc}{#1}");k("\\purpleC","\\textcolor{##aa87ff}{#1}");k("\\purpleD","\\textcolor{##7854ab}{#1}");k("\\purpleE","\\textcolor{##543b78}{#1}");k("\\mintA","\\textcolor{##f5f9e8}{#1}");k("\\mintB","\\textcolor{##edf2df}{#1}");k("\\mintC","\\textcolor{##e0e5cc}{#1}");k("\\grayA","\\textcolor{##f6f7f7}{#1}");k("\\grayB","\\textcolor{##f0f1f2}{#1}");k("\\grayC","\\textcolor{##e3e5e6}{#1}");k("\\grayD","\\textcolor{##d6d8da}{#1}");k("\\grayE","\\textcolor{##babec2}{#1}");k("\\grayF","\\textcolor{##888d93}{#1}");k("\\grayG","\\textcolor{##626569}{#1}");k("\\grayH","\\textcolor{##3b3e40}{#1}");k("\\grayI","\\textcolor{##21242c}{#1}");k("\\kaBlue","\\textcolor{##314453}{#1}");k("\\kaGreen","\\textcolor{##71B307}{#1}");var rw={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},$o=class{constructor(t,n,a){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=n,this.expansionCount=0,this.feed(t),this.macros=new Mo(xT,n.macros),this.mode=a,this.stack=[]}feed(t){this.lexer=new qa(t,this.settings)}switchMode(t){this.mode=t}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(t){this.stack.push(t)}pushTokens(t){this.stack.push(...t)}scanArgument(t){var n,a,i;if(t){if(this.consumeSpaces(),this.future().text!=="[")return null;n=this.popToken();var r=this.consumeArg(["]"]);i=r.tokens,a=r.end}else{var s=this.consumeArg();i=s.tokens,n=s.start,a=s.end}return this.pushToken(new U2("EOF",a.loc)),this.pushTokens(i),new U2("",N2.range(n,a))}consumeSpaces(){for(;;){var t=this.future();if(t.text===" ")this.stack.pop();else break}}consumeArg(t){var n=[],a=t&&t.length>0;a||this.consumeSpaces();var i=this.future(),r,s=0,c=0;do{if(r=this.popToken(),n.push(r),r.text==="{")++s;else if(r.text==="}"){if(--s,s===-1)throw new K("Extra }",r)}else if(r.text==="EOF")throw new K("Unexpected end of input in a macro argument, expected '"+(t&&a?t[c]:"}")+"'",r);if(t&&a)if((s===0||s===1&&t[c]==="{")&&r.text===t[c]){if(++c,c===t.length){n.splice(-c,c);break}}else c=0}while(s!==0||a);return i.text==="{"&&n[n.length-1].text==="}"&&(n.pop(),n.shift()),n.reverse(),{tokens:n,start:i,end:r}}consumeArgs(t,n){if(n){if(n.length!==t+1)throw new K("The length of delimiters doesn't match the number of args!");for(var a=n[0],i=0;ithis.settings.maxExpand)throw new K("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(t){var n=this.popToken(),a=n.text,i=n.noexpand?null:this._getExpansion(a);if(i==null||t&&i.unexpandable){if(t&&i==null&&a[0]==="\\"&&!this.isDefined(a))throw new K("Undefined control sequence: "+a);return this.pushToken(n),!1}this.countExpansion(1);var r=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){r=r.slice();for(var c=r.length-1;c>=0;--c){var o=r[c];if(o.text==="#"){if(c===0)throw new K("Incomplete placeholder at end of macro body",o);if(o=r[--c],o.text==="#")r.splice(c+1,1);else if(/^[1-9]$/.test(o.text))r.splice(c,2,...s[+o.text-1]);else throw new K("Not a valid argument number",o)}}}return this.pushTokens(r),r.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var t=this.stack.pop();return t.treatAsRelax&&(t.text="\\relax"),t}}expandMacro(t){return this.macros.has(t)?this.expandTokens([new U2(t)]):void 0}expandTokens(t){var n=[],a=this.stack.length;for(this.pushTokens(t);this.stack.length>a;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),n.push(i)}return this.countExpansion(n.length),n}expandMacroAsText(t){var n=this.expandMacro(t);return n&&n.map(a=>a.text).join("")}_getExpansion(t){var n=this.macros.get(t);if(n==null)return n;if(t.length===1){var a=this.lexer.catcodes[t];if(a!=null&&a!==13)return}var i=typeof n=="function"?n(this):n;if(typeof i=="string"){var r=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(r+1));)++r;for(var c=new qa(i,this.settings),o=[],l=c.lex();l.text!=="EOF";)o.push(l),l=c.lex();o.reverse();var p={tokens:o,numArgs:r};return p}return i}isDefined(t){return this.macros.has(t)||Object.prototype.hasOwnProperty.call(d4,t)||Object.prototype.hasOwnProperty.call(u0.math,t)||Object.prototype.hasOwnProperty.call(u0.text,t)||Object.prototype.hasOwnProperty.call(rw,t)}isExpandable(t){var n=this.macros.get(t);return n!=null?typeof n=="string"||typeof n=="function"||!n.unexpandable:Object.prototype.hasOwnProperty.call(d4,t)&&!d4[t].primitive}},g_=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Za=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),so={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},b_={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},Ia=class e{constructor(t,n){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new $o(t,n,this.mode),this.settings=n,this.leftrightDepth=0,this.nextToken=null}expect(t,n){if(n===void 0&&(n=!0),this.fetch().text!==t)throw new K("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());n&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(t){this.mode=t,this.gullet.switchMode(t)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var t=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),t}finally{this.gullet.endGroups()}}subparse(t){var n=this.nextToken;this.consume(),this.gullet.pushToken(new U2("}")),this.gullet.pushTokens(t);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=n,a}parseExpression(t,n){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(e.endOfExpression.has(i.text)||n&&i.text===n||t&&d4[i.text]&&d4[i.text].infix)break;var r=this.parseAtom(n);if(r){if(r.type==="internal")continue}else break;a.push(r)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(t){for(var n=-1,a,i=0;i=128)this.settings.strict&&(f_(n.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+n[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+n[0]+'"'+(" ("+n.charCodeAt(0)+")"),t)),s={type:"textord",mode:"text",loc:N2.range(t),text:n};else return null;if(this.consume(),r)for(var p=0;p(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("path",{d:"M7.99986 14.0887C11.3626 14.0887 14.0886 11.3627 14.0886 7.99998C14.0886 4.63727 11.3626 1.91125 7.99986 1.91125C4.63715 1.91125 1.91113 4.63727 1.91113 7.99998C1.91113 11.3627 4.63715 14.0887 7.99986 14.0887Z",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M2.34619 8H13.6538",stroke:"currentColor",strokeLinecap:"square"}),(0,Z.jsx)("path",{d:"M7.99976 14.0889C9.23509 14.0889 10.1743 11.3629 10.1743 8.00006C10.1743 4.63739 9.23509 1.91138 7.99976 1.91138",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M7.99973 14.0889C6.76445 14.0889 5.8252 11.3629 5.8252 8.00006C5.8252 4.63739 6.76445 1.91138 7.99973 1.91138",stroke:"currentColor"})]}),qq=({size:e=14,className:t,strokeWidth:n})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("path",{d:"M4.67398 4.25061L1.36094 7.86484C1.29085 7.9413 1.29085 8.05866 1.36094 8.13513L4.67398 11.7494",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M11.3262 4.25061L14.6392 7.86484C14.7093 7.9413 14.7093 8.05866 14.6392 8.13513L11.3262 11.7494",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M9.56222 3.62573L6.43774 12.3743",stroke:"currentColor"})]});var Iq=({size:e=16,className:t,strokeWidth:n})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("path",{d:"M1.50439 3.11059C1.50439 2.55831 1.95211 2.1106 2.50439 2.1106H5.43389C5.67773 2.1106 5.91318 2.19969 6.09593 2.36113L7.71649 3.79265C7.89924 3.95409 8.1347 4.04319 8.3785 4.04319H13.4958C14.0481 4.04319 14.4958 4.4909 14.4958 5.04319V12.8894C14.4958 13.4417 14.0481 13.8894 13.4958 13.8894H2.50439C1.95211 13.8894 1.50439 13.4417 1.50439 12.8894V4.04319V3.11059Z",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M3.63501 7.66614H12.3647",stroke:"currentColor"})]});var Bq=1.3;var Pq=({size:e=16,className:t,strokeWidth:n})=>(0,Z.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,Z.jsx)("path",{d:"M2.25 8.5L5.49732 11.7473C5.90519 12.1552 6.57263 12.1344 6.95426 11.7018L13.75 4",stroke:"currentColor"})}),Rq=e=>(0,Z.jsx)(Pq,{...e,strokeWidth:1});var Dq=({size:e=14,className:t,strokeWidth:n})=>(0,Z.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,Z.jsx)("path",{d:"M4 6L7.29289 9.29289C7.68342 9.68342 8.31658 9.68342 8.70711 9.29289L12 6",stroke:"currentColor"})}),Gq=e=>(0,Z.jsx)(Dq,{...e,strokeWidth:1});var Oq=({size:e=14,className:t,strokeWidth:n})=>(0,Z.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,Z.jsx)("path",{d:"M12 10L8.70711 6.70711C8.31658 6.31658 7.68342 6.31658 7.29289 6.70711L4 10",stroke:"currentColor"})}),Wq=e=>(0,Z.jsx)(Oq,{...e,strokeWidth:1});var Uq=({size:e=16,className:t,strokeWidth:n})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("path",{d:"M2.5 2.5L13.5 13.5",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M13.5 2.5L2.5 13.5",stroke:"currentColor"})]}),Xq=e=>(0,Z.jsx)(Uq,{...e,strokeWidth:1});var Kq=({size:e=16,className:t,strokeWidth:n})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("rect",{x:"1.52075",y:"4.07373",width:"10.3932",height:"10.3932",rx:"2",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M11.9792 1.53296C13.36 1.53296 14.4792 2.65225 14.4792 4.03296V9.42847C14.4792 10.3756 13.9521 11.1987 13.1755 11.6228V10.3298C13.3652 10.0787 13.4792 9.7674 13.4792 9.42847V4.03296C13.4792 3.20453 12.8077 2.53296 11.9792 2.53296H6.58374C6.27966 2.53301 5.99684 2.6235 5.7605 2.77905H4.42358C4.85652 2.03463 5.66056 1.53304 6.58374 1.53296H11.9792Z",fill:"currentColor"})]}),Yq=e=>(0,Z.jsx)(Kq,{...e,strokeWidth:1});var Jq=({size:e=16,className:t,strokeWidth:n})=>(0,Z.jsx)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:(0,Z.jsx)("path",{d:"M12.596 12.596C11.687 13.5049 10.5288 14.1239 9.26798 14.3747C8.00716 14.6255 6.70028 14.4968 5.51261 14.0048C4.32494 13.5129 3.30981 12.6798 2.59557 11.611C1.88134 10.5421 1.50008 9.2855 1.5 7.99998C1.50008 6.71446 1.88134 5.45783 2.59557 4.38898C3.30981 3.32013 4.32494 2.48707 5.51261 1.99513C6.70028 1.50319 8.00716 1.37447 9.26798 1.62524C10.5288 1.87602 11.687 2.49502 12.596 3.40398",stroke:"currentColor"})}),Qq=e=>(0,Z.jsx)(Jq,{...e,strokeWidth:1});var eI=({size:e=16,className:t})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,Z.jsx)("path",{d:"M2 15H1V1H2V15Z",fill:"currentColor"}),(0,Z.jsx)("path",{d:"M12.3535 7.64645C12.5487 7.84171 12.5487 8.15829 12.3535 8.35355L9.85352 10.8535L9.14648 10.1465L10.793 8.5H3.5V7.5H10.793L9.14648 5.85352L9.85352 5.14648L12.3535 7.64645Z",fill:"currentColor"}),(0,Z.jsx)("path",{d:"M15 15H14V1H15V15Z",fill:"currentColor"})]}),tI=e=>(0,Z.jsx)(eI,{...e});var nI=({size:e=16,className:t})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,Z.jsx)("path",{d:"M10.9999 8C10.9999 6.89543 10.1046 6 9 6H4.5V5H9C10.6568 5 11.9999 6.34315 11.9999 8C11.9999 9.65685 10.6568 11 9 11H6.20703L6.85351 11.6465L6.14648 12.3535L4.64652 10.8536C4.45126 10.6583 4.45126 10.3417 4.64652 10.1464L6.14648 8.64648L6.85351 9.35352L6.20703 10H9C10.1046 10 10.9999 9.10457 10.9999 8Z",fill:"currentColor"}),(0,Z.jsx)("path",{d:"M2 15H1V1H2V15Z",fill:"currentColor"}),(0,Z.jsx)("path",{d:"M15 15H14V1H15V15Z",fill:"currentColor"})]}),aI=e=>(0,Z.jsx)(nI,{...e});var r9=(0,P.createContext)(void 0);function wk({children:e,className:t}){let n=(0,P.useContext)(r9)===!0&&typeof e=="string";return(0,Z.jsx)("span",{className:C0(Q3.text,t),"data-shimmer-text":n?e:void 0,children:n?null:e})}var xk=(0,P.memo)(function({children:t,active:n=!1,className:a,contentClassName:i}){if((0,P.useContext)(r9)!==void 0)return(0,Z.jsx)(wk,{className:a,children:t});let r=typeof t=="string"?(0,Z.jsx)(wk,{children:t}):t;return(0,Z.jsxs)("span",{className:C0(Q3.root,a),"data-shimmer":n||void 0,children:[(0,Z.jsx)(r9.Provider,{value:!1,children:(0,Z.jsx)("span",{className:C0(Q3.content,i),children:r})}),n&&(0,Z.jsx)("span",{className:Q3.decoration,"aria-hidden":"true",inert:"",children:(0,Z.jsx)("span",{className:Q3.sweep,children:(0,Z.jsx)(r9.Provider,{value:!0,children:(0,Z.jsx)("span",{className:C0(Q3.content,Q3.highlight,i),children:r})})})})]})}),e41=(0,P.memo)(function({icon:t,title:n,open:a,expandable:i,onToggle:r,running:s=!1,expandOnRowClick:c=!1,previewChevron:o=i,keepContentWhenOpen:l=!1,collapsedContent:p,headerAccessory:u,children:m,className:d,rowClassName:f,contentClassName:w,contentLayoutClassName:x,leadingClassName:v,chevronClassName:b,titleClassName:_}){let z=i&&c,$=H=>{H.stopPropagation(),r()},C=H=>{!z||H.key!=="Enter"&&H.key!==" "||(H.preventDefault(),r())},j=o?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("span",{className:c3.iconIdle,children:t}),(0,Z.jsx)(Gq,{className:C0(b,c3.chevronHover)})]}):t,T=a?(0,Z.jsx)(Wq,{className:b}):j;return(0,Z.jsxs)("div",{className:C0(c3.root,d),"data-open":a||void 0,children:[(0,Z.jsxs)("div",{className:c3.header,"data-disclosure-header":!0,"data-has-accessory":!!u||void 0,children:[(0,Z.jsxs)("div",{className:C0(c3.row,f),"data-disclosure-row":!0,"data-expandable":z||void 0,role:z?"button":void 0,tabIndex:z?0:void 0,"aria-expanded":z?a:void 0,onClick:z?r:void 0,onKeyDown:z?C:void 0,children:[i&&!z?(0,Z.jsx)("button",{type:"button",className:C0(c3.leading,v),"aria-label":n,"aria-expanded":a,onClick:$,children:T}):(0,Z.jsx)("span",{className:C0(c3.leading,v),children:T}),(0,Z.jsxs)(xk,{active:s,className:w,contentClassName:x,children:[(0,Z.jsx)(xk,{className:C0(c3.title,_),children:n}),(l||!a)&&p]})]}),u]}),a&&m]})}),t41=(0,P.forwardRef)(function({variant:t="ghost",size:n="md",icon:a,className:i,children:r,...s},c){return(0,Z.jsxs)("button",{ref:c,type:"button",className:C0($6.button,$6[t],$6[n],i),...s,children:[a!=null&&(0,Z.jsx)("span",{className:$6.icon,children:a}),r]})});var n41=(0,P.forwardRef)(function({icon:t,className:n,...a},i){return(0,Z.jsxs)("span",{className:C0(w8.wrap,n),children:[t!=null&&(0,Z.jsx)("span",{className:w8.icon,children:t}),(0,Z.jsx)("input",{ref:i,className:w8.input,...a})]})});function kk(e){let t=document.documentElement,n=Number.parseFloat(getComputedStyle(t).getPropertyValue("--dsh-frame-top-clearance"));return Number.isNaN(n)?e:Math.max(e,(t.hasAttribute("data-fullscreen")?0:n)+20)}function iI(e){let t=(0,P.useRef)(null),n=(0,P.useRef)(e);n.current=e;let a=(0,P.useCallback)(()=>{t.current!==null&&(clearTimeout(t.current),t.current=null)},[]),i=(0,P.useCallback)(()=>{a(),t.current=setTimeout(()=>{t.current=null,n.current()},200)},[a]);return(0,P.useEffect)(()=>a,[a]),{arm:i,cancel:a}}function rI({keys:e,variant:t="plain",className:n}){return(0,Z.jsx)("span",{className:C0(Ot.keys,t==="tooltip"&&Ot.tooltip,t==="tooltip"&&e.includes("+")&&Ot.joined,n),children:e.map((a,i)=>(0,Z.jsx)("kbd",{className:a==="+"?Ot.separator:Ot.key,children:a},i))})}var a41=(0,P.forwardRef)(function({compact:t=!1,className:n,style:a,children:i,...r},s){let c=(0,P.useId)(),o=(0,P.useRef)(null);(0,P.useLayoutEffect)(()=>{document.body.appendChild(o.current)},[]);let l={"--dsh-menu-anchor":"--dsh-menu-".concat(c.replaceAll(":",""))};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{...r,ref:s,"data-menu-material":"translucent",className:C0(Wt.surface,t&&Wt.compact,n),style:{...a,...l},children:[(0,Z.jsx)("div",{"aria-hidden":"true",className:Wt.material}),i]}),(0,A7.createPortal)((0,Z.jsx)("div",{ref:o,"aria-hidden":"true","data-menu-backing":"",className:C0(Wt.backing,t&&Wt.compact),style:{...l,visibility:a?.visibility}}),document.body)]})});function sI(e,t,n,a){(0,P.useEffect)(()=>{if(!t)return;let i=r=>{r.target instanceof Node&&e.current?.contains(r.target)!==!0&&a?.current?.contains(r.target)!==!0&&n(!1)};return document.addEventListener("pointerdown",i),()=>{document.removeEventListener("pointerdown",i)}},[e,t,n,a])}async function Ik(e){if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{return!1}let t=typeof document.execCommand=="function"?document.execCommand.bind(document):void 0;if(t===void 0)return!1;let n=document.createElement("textarea");n.value=e,n.setAttribute("readonly",""),n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.select();try{return t("copy")}catch{return!1}finally{n.remove()}}var cI=(0,P.createContext)(null);var zk=100,Ck=420,Ak=24,oI=300,rt=8,T2=8;function lI({anchor:e,content:t,openDelayMs:n=500,disabled:a=!1,grouped:i=!1,copyText:r,copyLabel:s,copiedLabel:c,variant:o="compact",widthAnchorRef:l,inline:p=!1}){let u=(0,P.useRef)(null),m=(0,P.useRef)(null),d=(0,P.useRef)(null),f=(0,P.useRef)(null),w=(0,P.useRef)(null),x=(0,P.useRef)(0),v=(0,P.useRef)(!1),b=(0,P.useRef)(!0),[_,z]=(0,P.useState)("closed"),$=_!=="closed",C=_==="closing",[j,T]=(0,P.useState)(null),H=j!==null,[E,R]=(0,P.useState)(!1),D=(0,P.useContext)(cI),B=i?D:null,[Q]=(0,P.useState)(()=>Symbol("hover-card")),O=(0,P.useCallback)(()=>{f.current!==null&&(clearTimeout(f.current),f.current=null),w.current=null,R(!1)},[]),U=(0,P.useCallback)(()=>{x.current+=1,O(),z(p1=>o==="preview"&&p1!=="closed"?"closing":"closed")},[O,o]),{arm:r1,cancel:z1}=iI(U),A1=(0,P.useCallback)(()=>{d.current!==null&&(clearTimeout(d.current),d.current=null)},[]),A=(0,P.useCallback)(()=>{A1(),z1(),x.current+=1,O(),z("closed")},[A1,z1,O]),i1=$&&H;(0,P.useLayoutEffect)(()=>{if(!(!i1||B===null))return B.shown(Q,A,m.current),()=>{B.release(Q)}},[B,Q,i1,A]),(0,P.useEffect)(()=>{if(!C)return;let p1=setTimeout(()=>{z("closed")},zk);return()=>{clearTimeout(p1)}},[C]),(0,P.useEffect)(()=>{a&&(A1(),z1(),U())},[a,z1,U]),(0,P.useEffect)(()=>(b.current=!0,()=>{b.current=!1,x.current+=1,A1(),f.current!==null&&(clearTimeout(f.current),f.current=null)}),[]),(0,P.useEffect)(()=>{if(!$||o!=="preview"&&!p)return;let p1=V1=>{V1.key==="Escape"&&(p&&V1.stopPropagation(),A1(),z1(),U())};return window.addEventListener("keydown",p1,p),()=>{window.removeEventListener("keydown",p1,p)}},[$,o,p,z1,U]),(0,P.useLayoutEffect)(()=>{if(!$){T(null);return}let p1=()=>{let S1=u.current;if(S1===null)return;let Z1=S1.getBoundingClientRect(),Q1=m.current?.offsetHeight??0;if(o==="preview"){let k0=l?.current?.getBoundingClientRect()??Z1,t2=Math.max(0,Math.min(k0.width-Ak*2,window.innerWidth-T2*2)),h2=kk(T2),V0=Math.max(h2,Z1.bottom+rt),J2=Math.max(0,Z1.top-rt-h2),A2=Math.max(0,window.innerHeight-V0-T2),F0=J2>=Math.min(Ck,A2),V2=Math.min(Ck,F0?J2:A2);T({left:Math.max(T2,Math.min(k0.left+Ak,window.innerWidth-t2-T2)),top:F0?Math.max(h2,Z1.top-Math.min(Q1,V2)-rt):V0,width:t2,maxHeight:V2});return}if(p){let k0=Math.max(Q1,m.current?.scrollHeight??0),t2=Math.max(0,Math.min(oI,window.innerWidth-T2*2)),h2=kk(T2),V0=Math.max(h2,Z1.bottom+rt),J2=Math.max(0,Z1.top-rt-h2),A2=Math.max(0,window.innerHeight-V0-T2),F0=k0>A2&&J2>A2,V2=F0?J2:A2;T({left:Math.max(T2,Math.min(Z1.left,window.innerWidth-t2-T2)),top:F0?Z1.top-rt-Math.min(k0,V2):V0,width:t2,maxHeight:V2});return}let x0=Z1.top+Q1>window.innerHeight-T2?window.innerHeight-Q1-T2:Z1.top;T({left:Z1.right+rt,top:x0})};p1();let V1=(o==="preview"||p)&&typeof ResizeObserver<"u"?new ResizeObserver(p1):null;for(let S1 of[m.current,u.current,l?.current])S1!=null&&V1?.observe(S1);return window.addEventListener("scroll",p1,!0),window.addEventListener("resize",p1),()=>{V1?.disconnect(),window.removeEventListener("scroll",p1,!0),window.removeEventListener("resize",p1)}},[$,o,l,H,p]),(0,P.useLayoutEffect)(()=>{if(!$||j===null||o==="preview"||p)return;let p1=m.current?.offsetHeight??0;j.top+p1>window.innerHeight-T2&&T({left:j.left,top:window.innerHeight-p1-T2})},[$,j,o,p]);let l1=async p1=>{if(E||v.current)return;v.current=!0;let V1=x.current,S1=await Ik(p1);v.current=!1;let Z1=m.current;if(!S1||!b.current||V1!==x.current||Z1===null)return;let Q1=Z1.offsetHeight;w.current=Q1>0?Q1:null,R(!0),f.current=setTimeout(O,1e3)},S=r!==void 0,R1=p1=>{m.current?.contains(p1.target)||(A1(),z1(),U())},h0=$&&j!==null&&(0,Z.jsx)("div",{ref:m,className:C0(He.card,o==="preview"&&He.preview,p&&He.media,S&&He.copyable,E&&He.feedback),"data-closing":C||void 0,style:{...j,minHeight:E&&w.current!==null?w.current:void 0,"--dsh-hover-preview-fade":"".concat(zk,"ms")},role:S?"button":void 0,tabIndex:S?0:void 0,"aria-label":S?"".concat(s,": ").concat(r):void 0,onClick:S?p1=>{let V1=window.getSelection();if(V1!==null&&!V1.isCollapsed){for(let S1=0;S1{p1.key!=="Enter"&&p1.key!==" "||(p1.preventDefault(),l1(r))}:void 0,children:E?(0,Z.jsx)("span",{className:He.copied,"aria-hidden":"true",children:c}):t});return(0,Z.jsxs)("span",{ref:u,className:C0(He.root,p&&He.inline),onFocus:p?p1=>{!a&&p1.target.matches(":focus-visible")&&(z1(),z("open"))}:void 0,onBlur:p?p1=>{p1.currentTarget.contains(p1.relatedTarget)||(A1(),z1(),U())}:void 0,onPointerEnter:p1=>{if(!(a||p&&p1.pointerType==="touch")){if(z1(),$){z("open");return}A1(),B?.isWarm()?z("open"):d.current=setTimeout(()=>{z("open")},n)}},onPointerLeave:()=>{A1(),$&&r1()},onPointerDownCapture:R1,onClickCapture:R1,children:[e,$&&S&&(0,Z.jsx)("span",{className:He.status,role:"status",children:E?c:""}),h0!==!1&&(0,A7.createPortal)(h0,document.body)]})}var i41=Object.freeze({angular:'',c:'',clojure:'',cmake:'',cpp:'',csharp:'',css:'CSS',dart:'',docker:'',elixir:'',env:'.ENV',erlang:'',flutter:'',git:'',go:'',graphql:'',haskell:'',ini:'INI',java:'',javascript:'',json:'',kotlin:'',lua:'',makefile:'',node:'',"objective-c":'OC',perl:'',php:'',powershell:'',protobuf:'',python:'',r:'',react:'',ruby:'',rust:'',scala:'',shell:'',solidity:'',sql:'',svelte:'',swift:'',toml:'',typescript:'',vue:'',wasm:'',xml:'',yaml:'\n\n\n\n\n',zig:''});var pI=new Set(["angular","c","clojure","cmake","cpp","csharp","css","dart","docker","elixir","env","erlang","flutter","git","go","graphql","haskell","ini","java","javascript","json","kotlin","lua","makefile","node","objective-c","perl","php","powershell","protobuf","python","r","react","ruby","rust","scala","shell","solidity","sql","svelte","swift","toml","typescript","vue","wasm","xml","yaml","zig"]),uI={".bash_profile":"shell",".bashrc":"shell",".env":"env",".gitattributes":"git",".gitconfig":"git",".gitignore":"git",".gitmodules":"git",".mailmap":"git",".profile":"shell",".zprofile":"shell",".zshrc":"shell",bsdmakefile:"makefile","cmakelists.txt":"cmake",commit_editmsg:"git","compose.yaml":"docker","compose.yml":"docker","docker-compose.yaml":"docker","docker-compose.yml":"docker",dockerfile:"docker",gemfile:"ruby",gnumakefile:"makefile",guardfile:"ruby",makefile:"makefile","npm-shrinkwrap.json":"node","package-lock.json":"node","package.json":"node",podfile:"ruby",rakefile:"ruby"},mI=[["dockerfile.","docker"],[".env.","env"]],dI=[[".component.ts","angular"],[".component.html","angular"],[".directive.ts","angular"],[".service.ts","angular"],[".module.ts","angular"],[".pipe.ts","angular"],[".guard.ts","angular"],[".interceptor.ts","angular"],[".dockerfile","docker"]],hI={bash:"shell",c:"c","c++":"cpp",cc:"cpp",cfg:"ini",cjs:"javascript",clj:"clojure",cljc:"clojure",cljs:"clojure",cmake:"cmake",cpp:"cpp",cs:"csharp",csh:"shell",css:"css",csx:"csharp",cts:"typescript",cxx:"cpp",dart:"dart",dtd:"xml",edn:"clojure",env:"env",erl:"erlang",es6:"javascript",escript:"erlang",ex:"elixir",exs:"elixir",fish:"shell",gemspec:"ruby",go:"go",gql:"graphql",graphql:"graphql",h:"c","h++":"cpp",hh:"cpp",hpp:"cpp",hrl:"erlang",hs:"haskell",hxx:"cpp",ini:"ini",ipp:"cpp",java:"java",js:"javascript",json:"json",json5:"json",jsonc:"json",jsx:"react",ksh:"shell",kt:"kotlin",kts:"kotlin",lhs:"haskell",lua:"lua",m:"objective-c",mak:"makefile",mjs:"javascript",mk:"makefile",mm:"objective-c",mts:"typescript",node:"node",pch:"objective-c",php:"php",php3:"php",php4:"php",php5:"php",phps:"php",phtml:"php",pl:"perl",plist:"xml",pm:"perl",pod:"perl",proto:"protobuf",ps1:"powershell",psd1:"powershell",psm1:"powershell",py:"python",pyi:"python",pyw:"python",pyx:"python",r:"r",rake:"ruby",rb:"ruby",rmd:"r",rs:"rust",sc:"scala",scala:"scala",sh:"shell",sol:"solidity",sql:"sql",svelte:"svelte",swift:"swift",t:"perl",tcsh:"shell",toml:"toml",tpp:"cpp",ts:"typescript",tsx:"react",vue:"vue",wasm:"wasm",wast:"wasm",wat:"wasm",xml:"xml",xsd:"xml",xsl:"xml",xslt:"xml",yaml:"yaml",yml:"yaml",zig:"zig",zsh:"shell"},gI=new Set(["ts","tsx","js","jsx","mjs","cjs","cts","mts","css","scss","sass","less","html","htm","vue","svelte","astro","json","jsonc","json5","yaml","yml","toml","xml","ini","env","sh","bash","zsh","fish","ps1","bat","cmd","py","pyi","rb","rs","go","java","kt","kts","c","cc","cpp","cxx","h","hh","hpp","cs","php","swift","sql","proto","graphql","gql","lua","r","pl","scala","clj","cljs","ex","exs","erl","hs","dart"]);function bI(e){return e.slice(Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"))+1)}function fI(e){return pI.has(e)}function vI(e){return gI.has(e.toLowerCase())}function yI(e,t,n){let a=uI[e];if(a!==void 0)return a;for(let[i,r]of mI)if(e.startsWith(i))return r;for(let[i,r]of dI)if(e.endsWith(i))return r;return t==="dart"&&n!==void 0&&Object.entries(n.files).find(([i])=>bI(i).toLowerCase()==="pubspec.yaml")?.[1]?.includes("flutter:")===!0?"flutter":hI[t]??null}var _I={scss:"code",sass:"code",less:"code",vue:"code",svelte:"code",astro:"code",bat:"code",cmd:"code",csv:"excel",tsv:"excel",html:"html",htm:"html",png:"image",jpg:"image",jpeg:"image",gif:"image",svg:"image",webp:"image",avif:"image",bmp:"image",ico:"image",tif:"image",tiff:"image",heic:"image",heif:"image",md:"markdown",mdx:"markdown",markdown:"markdown",pdf:"pdf",ppt:"ppt",pptx:"ppt",key:"ppt",mp4:"video",mov:"video",m4v:"video",webm:"video",mkv:"video",avi:"video",mpg:"video",mpeg:"video",doc:"word",docx:"word",rtf:"word",odt:"word",pages:"word",xls:"excel",xlsx:"excel",xlsm:"excel",xlsb:"excel",xlt:"excel",xltx:"excel",xltm:"excel",ods:"excel",ots:"excel",fods:"excel",numbers:"excel"},wI={changelog:"markdown",contributing:"markdown",readme:"markdown"};function Bk(e){return e.slice(Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"))+1)}function Pk(e){let t=Bk(e),n=t.lastIndexOf(".");return n<0?"":t.slice(n+1)}function Rk(e,t){let n=Bk(e).toLowerCase(),a=Pk(n).toLowerCase();return yI(n,a,t)??wI[n]??_I[a]??"other"}var xI={"github.com":x8,"github.io":x8,"raw.githubusercontent.com":x8,"gitlab.com":Sh,"npmjs.com":Nh,"pypi.org":Th,"stackoverflow.com":Rh,"developer.mozilla.org":jh,"wikipedia.org":Uh,"news.ycombinator.com":Xh,"youtube.com":ds,"youtu.be":ds,"x.com":ms,"twitter.com":ms,"bilibili.com":Ch,"zhihu.com":Kh,"juejin.cn":Fh,"csdn.net":Ah,"google.com":Eh,"baidu.com":zh,"duckduckgo.com":Mh,"tiktok.com":Gh,"netflix.com":Hh,"spotify.com":Ph,"facebook.com":Lh,"instagram.com":Zh,"reddit.com":Ih,"telegram.org":ps,"t.me":ps,"weixin.qq.com":Wh,"qq.com":Vh,"whatsapp.com":us,"wa.me":us,"weibo.com":Bh,"taobao.com":Dh,"aliexpress.com":xh,"ebay.com":$h,"quora.com":qh,"v2ex.com":Oh,"apple.com":kh};function kI(e){let t;try{let i=new URL(e);if(i.protocol!=="http:"&&i.protocol!=="https:")return;t=i.hostname.toLowerCase()}catch{return}let n,a=0;for(let[i,r]of Object.entries(xI))(t===i||t.endsWith(".".concat(i)))&&i.length>a&&(n=r,a=i.length);return n}function zI({href:e,size:t,className:n}){let a=e===void 0?void 0:kI(e);if(a!==void 0)return(0,Z.jsx)("svg",{width:t,height:t,className:n,viewBox:"-2 -2 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:(0,Z.jsx)("path",{d:a.path,fill:"currentColor"})})}function al(e){let t=Rk(e),n=Pk(e);if(fI(t))return vI(n)?"code":"other";if(n==="")return"other";switch(t){case"code":case"html":return"code";case"image":return"image";case"excel":case"pdf":case"ppt":case"word":return"document";case"markdown":case"other":case"video":return"other";default:return Dk(t)}}var CI=({size:e,className:t,strokeWidth:n})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("path",{d:"M12.4326 2.38086H3.56763C2.46306 2.38086 1.56763 3.27629 1.56763 4.38086V11.6192C1.56763 12.7237 2.46306 13.6192 3.56763 13.6192H12.4326C13.5372 13.6192 14.4326 12.7237 14.4326 11.6192V4.38086C14.4326 3.27629 13.5372 2.38086 12.4326 2.38086Z",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M10.536 7.03286C11.1948 7.03286 11.7288 6.49884 11.7288 5.8401C11.7288 5.18136 11.1948 4.64734 10.536 4.64734C9.87728 4.64734 9.34326 5.18136 9.34326 5.8401C9.34326 6.49884 9.87728 7.03286 10.536 7.03286Z",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M1.5979 9.28409L4.17738 7.37514C4.57462 7.08117 5.12701 7.12145 5.47741 7.46992L8.3322 10.309C8.6572 10.6323 9.1605 10.6931 9.5532 10.4566L10.8859 9.65399C11.2531 9.43289 11.7205 9.47039 12.0477 9.74729L14.2823 11.6379",stroke:"currentColor"})]}),AI=({size:e,className:t,strokeWidth:n})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("path",{d:"M3.51919 14.5069H12.4807C13.0679 14.5069 13.5438 14.031 13.5438 13.4438V5.97499C13.5438 5.68818 13.428 5.41352 13.2226 5.21341L9.71251 1.79459C9.51402 1.60124 9.24781 1.49304 8.97075 1.49304H3.51919C2.93204 1.49304 2.45605 1.96902 2.45605 2.55618V13.4438C2.45605 14.031 2.93203 14.5069 3.51919 14.5069Z",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M8.90454 1.6095V4.87091C8.90454 5.45806 9.38051 5.93405 9.96768 5.93405H13.4953",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M4.31152 8.7561H7.83046",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M4.31152 11.3651H9.36598",stroke:"currentColor"})]}),MI=({size:e,className:t,strokeWidth:n})=>(0,Z.jsxs)("svg",{width:e,height:e,className:t,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",strokeWidth:n,children:[(0,Z.jsx)("path",{d:"M3.75275 14.271H12.2473C12.7749 14.271 13.2027 13.8433 13.2027 13.3156V5.91732C13.2027 5.65958 13.0985 5.41276 12.9139 5.23293L9.59477 2.00011C9.4164 1.82636 9.17717 1.72913 8.9282 1.72913H3.75275C3.22511 1.72913 2.79736 2.15686 2.79736 2.68451V13.3156C2.79736 13.8433 3.22511 14.271 3.75275 14.271Z",stroke:"currentColor"}),(0,Z.jsx)("path",{d:"M8.84888 1.83838V4.94133C8.84888 5.46896 9.2766 5.89671 9.80426 5.89671H13.157",stroke:"currentColor"})]});function Dk(e){throw new Error("unreachable link icon kind: ".concat(String(e)))}function $I({kind:e,href:t,size:n=14,className:a,strokeWidth:i}){switch(e){case"url":return zI({href:t,size:n,className:a})??(0,Z.jsx)(Vq,{size:n,className:a,strokeWidth:i});case"folder":return(0,Z.jsx)(Iq,{size:n,className:a,strokeWidth:i});case"code":return(0,Z.jsx)(qq,{size:n,className:a,strokeWidth:i});case"image":return(0,Z.jsx)(CI,{size:n,className:a,strokeWidth:i});case"document":return(0,Z.jsx)(AI,{size:n,className:a,strokeWidth:i});case"other":return(0,Z.jsx)(MI,{size:n,className:a,strokeWidth:i});default:return Dk(e)}}function ll(e){return(0,Z.jsx)($I,{...e,strokeWidth:Bq})}var Mk={pointer:"pointer",keyboard:"keyboard"},LI="data-input-modality",SI=new Set(["Tab","Home","End","PageUp","PageDown"]),il=!1,C7=!1,st;function nl(){document.documentElement.setAttribute(LI,C7?Mk.pointer:Mk.keyboard)}function EI(){return il}typeof window<"u"&&(window.addEventListener("pointerdown",()=>{il=!0,C7=!0,st=void 0,nl()},!0),window.addEventListener("keydown",e=>{if(il=!1,e.isComposing){st=void 0;return}st=e.composedPath()[0],!(!SI.has(e.key)&&!e.key.startsWith("Arrow"))&&(C7=!1,nl())},!0),window.addEventListener("focusin",e=>{st===void 0||e.composedPath()[0]===st||(st=void 0,C7&&(C7=!1,nl()))},!0),window.addEventListener("blur",()=>{st=void 0}));var $k=(0,P.createContext)(null);function Lk({label:e,shortcutKeys:t,side:n="right",align:a="center",delayMs:i=0,focusDelayMs:r=0,gap:s=8,disabled:c=!1,portal:o=!1,maxWidth:l,openOnClick:p=!1,children:u}){let m=(0,P.useId)(),[d,f]=(0,P.useState)(!1),w=(0,P.useRef)(null),x=u.ref,v=(0,P.useCallback)(i1=>{w.current=i1,typeof x=="function"?x(i1):x!=null&&(x.current=i1)},[x]),[b,_]=(0,P.useState)(null),z=(0,P.useRef)(null),$=b===null?null:typeof e=="function"?e():e,C=b===null?0:n==="right"?b.top+(b.bottom-b.top)/2:n==="top"?b.top-s:b.bottom+s,j=(0,P.useRef)(null),T=(0,P.useRef)({hover:!1,focus:!1}),H=(0,P.useContext)($k),[E,R]=(0,P.useState)(!1),D=(0,P.useCallback)(i1=>{H?.(i1)},[H]),B=b!==null&&!c;(0,P.useEffect)(()=>{let i1=z.current;if(b===null||!B||E||i1===null)return;let l1=12,S,R1=n,h0=()=>{if(S===void 0)return;let{inlineSize:V1,blockSize:S1}=S,Z1=n==="right"?0:a==="end"?V1:V1/2,Q1=Math.max(l1,Math.min(b.x-Z1,window.innerWidth-l1-V1)),x0=b.bottom+s+S1<=window.innerHeight-l1,k0=b.top-s-S1>=l1;R1==="bottom"&&!x0&&k0?R1="top":R1==="top"&&!k0&&x0&&(R1="bottom"),i1.style.left="".concat(Q1+Z1,"px"),i1.style.top="".concat(R1==="right"?(b.top+b.bottom)/2:R1==="top"?b.top-s:b.bottom+s,"px"),i1.dataset.side=R1,i1.style.visibility="visible"},p1=new ResizeObserver(V1=>{S=V1[0]?.borderBoxSize[0],h0()});return p1.observe(i1,{box:"border-box"}),window.addEventListener("resize",h0),()=>{p1.disconnect(),window.removeEventListener("resize",h0)}},[a,s,b,n,E,B]),(0,P.useEffect)(()=>(D(B),()=>{D(!1)}),[D,B]);let Q=(0,P.useCallback)(()=>{j.current!==null&&(clearTimeout(j.current),j.current=null)},[]);(0,P.useEffect)(()=>(d&&(c||!p)&&f(!1),c&&(Q(),T.current={hover:!1,focus:!1},_(null)),Q),[Q,c,p,d]);let O=()=>{if(c)return;let i1=w.current;if(i1===null)return;let l1=i1.getBoundingClientRect();_({x:n==="right"?l1.right+10:a==="end"?l1.right:l1.left+l1.width/2,top:l1.top,bottom:l1.bottom}),D(!0)},U=i1=>{if(Q(),i1<=0){O();return}j.current=setTimeout(()=>{j.current=null,O()},i1)},r1=(0,P.useCallback)(()=>{f(!1),_(null),D(!1)},[D]),z1=()=>{Q(),!T.current.hover&&!T.current.focus&&!d&&r1()},A1=(0,P.useCallback)(()=>{Q(),T.current={hover:!1,focus:!1},r1()},[Q,r1]);sI(w,p&&B,A1,z),(0,P.useEffect)(()=>{if(!p||!B)return;let i1=l1=>{l1.key!=="Escape"&&l1.key!=="Tab"||(l1.key==="Escape"&&(l1.preventDefault(),l1.stopPropagation()),A1())};return document.addEventListener("keydown",i1,!0),()=>{document.removeEventListener("keydown",i1,!0)}},[A1,p,B]);let A=B&&!E&&(0,Z.jsxs)("span",{ref:z,id:p?m:void 0,className:hs.bubble,"data-side":n,"data-portal":o||void 0,"data-pinned":d||void 0,"data-align":a,"data-has-shortcut":t?.length?!0:void 0,style:{left:b.x,top:C,visibility:"hidden",...l===void 0?{}:{maxWidth:l}},role:"tooltip","aria-label":t?.length?[$,t.join(" ")].filter(Boolean).join(" "):void 0,children:[$&&(0,Z.jsx)("span",{className:hs.label,children:$}),t!==void 0&&t.length>0&&(0,Z.jsx)(rI,{keys:t,variant:"tooltip"})]});return(0,Z.jsxs)($k.Provider,{value:R,children:[(0,P.cloneElement)(u,{ref:v,"aria-describedby":p&&B?[u.props["aria-describedby"],m].filter(Boolean).join(" "):u.props["aria-describedby"],onMouseEnter:i1=>{u.props.onMouseEnter?.(i1),T.current.hover=!0,U(i)},onMouseLeave:i1=>{u.props.onMouseLeave?.(i1),T.current.hover=!1,Q(),d||r1()},onClick:i1=>{u.props.onClick?.(i1),T.current.focus=!1,Q(),p&&!c&&!d?(f(!0),O()):r1()},onFocus:i1=>{u.props.onFocus?.(i1),!EI()&&(T.current.focus=!0,U(r))},onBlur:i1=>{u.props.onBlur?.(i1),T.current.focus=!1,z1()}}),o?A!==!1&&(0,A7.createPortal)(A,document.body):A]})}var ZI=[r4,s4,c4],FI=new Map([["python",()=>Promise.resolve().then(()=>(Ya(),ow))],["ruby",()=>Promise.resolve().then(()=>(Jo(),Mw))],["go",()=>Promise.resolve().then(()=>(Lw(),$w))],["rust",()=>Promise.resolve().then(()=>(Ew(),Sw))],["java",()=>Promise.resolve().then(()=>(Oo(),dw))],["c",()=>Promise.resolve().then(()=>(_7(),ww))],["cpp",()=>Promise.resolve().then(()=>(w7(),zw))],["csharp",()=>Promise.resolve().then(()=>(Fw(),Zw))],["kotlin",()=>Promise.resolve().then(()=>(Hw(),jw))],["swift",()=>Promise.resolve().then(()=>(Tw(),Nw))],["php",()=>Promise.resolve().then(()=>(qw(),Vw))],["yaml",()=>Promise.resolve().then(()=>(t9(),Aw))],["toml",()=>Promise.resolve().then(()=>(Bw(),Iw))],["ini",()=>Promise.resolve().then(()=>(Rw(),Pw))],["markdown",()=>Promise.resolve().then(()=>(n9(),Dw))],["mdx",()=>Promise.resolve().then(()=>(Ow(),Gw))],["html",()=>Promise.resolve().then(()=>(_4(),pw))],["css",()=>Promise.resolve().then(()=>(We(),lw))],["scss",()=>Promise.resolve().then(()=>(Uw(),Ww))],["less",()=>Promise.resolve().then(()=>(Kw(),Xw))],["sql",()=>Promise.resolve().then(()=>(b5(),gw))],["xml",()=>Promise.resolve().then(()=>(g5(),hw))],["lua",()=>Promise.resolve().then(()=>(Ko(),Cw))],["bat",()=>Promise.resolve().then(()=>(Jw(),Yw))],["powershell",()=>Promise.resolve().then(()=>(ex(),Qw))],["fish",()=>Promise.resolve().then(()=>(nx(),tx))],["dotenv",()=>Promise.resolve().then(()=>(ix(),ax))],["log",()=>Promise.resolve().then(()=>(sx(),rx))],["csv",()=>Promise.resolve().then(()=>(ox(),cx))],["diff",()=>Promise.resolve().then(()=>(px(),lx))],["http",()=>Promise.resolve().then(()=>(mx(),ux))],["rst",()=>Promise.resolve().then(()=>(gx(),hx))],["latex",()=>Promise.resolve().then(()=>(_x(),yx))],["bibtex",()=>Promise.resolve().then(()=>(xx(),wx))],["asciidoc",()=>Promise.resolve().then(()=>(zx(),kx))],["r",()=>Promise.resolve().then(()=>(i9(),bx))],["julia",()=>Promise.resolve().then(()=>(Ax(),Cx))],["dart",()=>Promise.resolve().then(()=>($x(),Mx))],["scala",()=>Promise.resolve().then(()=>(Sx(),Lx))],["clojure",()=>Promise.resolve().then(()=>(Zx(),Ex))],["erlang",()=>Promise.resolve().then(()=>(jx(),Fx))],["elixir",()=>Promise.resolve().then(()=>(Nx(),Hx))],["haskell",()=>Promise.resolve().then(()=>(Vx(),Tx))],["fsharp",()=>Promise.resolve().then(()=>(Ix(),qx))],["vb",()=>Promise.resolve().then(()=>(Px(),Bx))],["perl",()=>Promise.resolve().then(()=>(Dx(),Rx))],["verilog",()=>Promise.resolve().then(()=>(Ox(),Gx))],["system-verilog",()=>Promise.resolve().then(()=>(Ux(),Wx))],["graphql",()=>Promise.resolve().then(()=>(Ja(),_w))],["proto",()=>Promise.resolve().then(()=>(Kx(),Xx))],["hcl",()=>Promise.resolve().then(()=>(Jx(),Yx))],["nix",()=>Promise.resolve().then(()=>(nk(),tk))],["vue",()=>Promise.resolve().then(()=>(mk(),uk))],["svelte",()=>Promise.resolve().then(()=>(bk(),gk))],["make",()=>Promise.resolve().then(()=>(vk(),fk))],["cmake",()=>Promise.resolve().then(()=>(tl(),dx))],["groovy",()=>Promise.resolve().then(()=>(_k(),yk))]]),jI=new Map([["typescript","typescript"],["ts","typescript"],["tsx","typescript"],["javascript","typescript"],["js","typescript"],["jsx","typescript"],["shellscript","shellscript"],["bash","shellscript"],["sh","shellscript"],["shell","shellscript"],["zsh","shellscript"],["json","json"],["jsonc","json"],["py","python"],["python","python"],["rb","ruby"],["ruby","ruby"],["go","go"],["rs","rust"],["rust","rust"],["java","java"],["c","c"],["cpp","cpp"],["cs","csharp"],["csharp","csharp"],["kotlin","kotlin"],["swift","swift"],["php","php"],["yaml","yaml"],["yml","yaml"],["toml","toml"],["ini","ini"],["md","markdown"],["markdown","markdown"],["mdx","mdx"],["html","html"],["css","css"],["scss","scss"],["less","less"],["sql","sql"],["xml","xml"],["lua","lua"],["bat","bat"],["batch","bat"],["powershell","powershell"],["ps1","powershell"],["ps","powershell"],["fish","fish"],["properties","ini"],["dotenv","dotenv"],["env","dotenv"],["log","log"],["csv","csv"],["diff","diff"],["patch","diff"],["http","http"],["rst","rst"],["latex","latex"],["tex","latex"],["bibtex","bibtex"],["bib","bibtex"],["asciidoc","asciidoc"],["adoc","asciidoc"],["r","r"],["julia","julia"],["jl","julia"],["dart","dart"],["scala","scala"],["clojure","clojure"],["clj","clojure"],["erlang","erlang"],["erl","erlang"],["elixir","elixir"],["ex","elixir"],["exs","elixir"],["haskell","haskell"],["hs","haskell"],["fsharp","fsharp"],["fs","fsharp"],["fsi","fsharp"],["fsx","fsharp"],["vb","vb"],["vbnet","vb"],["perl","perl"],["pl","perl"],["pm","perl"],["verilog","verilog"],["v","verilog"],["system-verilog","system-verilog"],["systemverilog","system-verilog"],["sv","system-verilog"],["svh","system-verilog"],["graphql","graphql"],["gql","graphql"],["proto","proto"],["protobuf","proto"],["hcl","hcl"],["tf","hcl"],["tfvars","hcl"],["nix","nix"],["vue","vue"],["svelte","svelte"],["make","make"],["makefile","make"],["mk","make"],["cmake","cmake"],["groovy","groovy"],["gradle","groovy"]]);function pl(e){return e===void 0?void 0:jI.get(e.toLowerCase())}function Gk(e){return pl(e)!==void 0}var HI=fb({name:"css-variables",variablePrefix:"--shiki-",fontStyle:!0}),NI=oc({forgiving:!0,regexConstructor:e=>ia(e,{lazyCompileLength:Number.POSITIVE_INFINITY})}),Ok=1e3,Sk,TI=[{lang:"typescript",code:"const answer: number = 42"},{lang:"shellscript",code:"printf '%s\\n' \"$HOME\""},{lang:"json",code:'{"ready":true}'}];function VI(){let e=bb({themes:[HI],langs:ZI,engine:NI});for(let t of TI)e.codeToTokens(t.code,{lang:t.lang,theme:"css-variables",tokenizeTimeLimit:0});return e}function f5(){return Sk??=VI(),Sk}var Ek=new Set,rl=new Set,Wk=0;function qI(e){return rl.add(e),()=>{rl.delete(e)}}function Zk(){return Wk}function Uk(e){let t=FI.get(e);return t===void 0||f5().getLoadedLanguages().includes(e)?!0:(Ek.has(e)||(Ek.add(e),t().then(n=>{f5().loadLanguageSync(n.default),Wk+=1;for(let a of rl)a()})),!1)}setTimeout(()=>{f5()},0).unref?.();function II(e,t){let n=pl(t);if(n!==void 0&&Uk(n))return f5().codeToHtml(e,{lang:n,theme:"css-variables",tokenizeMaxLineLength:Ok})}var BI=[[4,"underline"],[8,"line-through"]];function PI(e){let t={color:e.color},n=e.fontStyle??0;(n&1)!==0&&(t.fontStyle="italic"),(n&2)!==0&&(t.fontWeight="bold");let a=BI.filter(([i])=>(n&i)!==0);return a.length>0&&(t.textDecoration=a.map(([,i])=>i).join(" ")),t}function Fk(e){let t=[],n="";for(let[a,i]of e.entries()){if(/^\s+$/.test(i.content)&&a+1=0){let s=i[r-1]==="\r"?r-1:r,c=this.tokenize(n,i.slice(0,s));for(let o of c)this.spans.push(Fk(o));this.state=f5().getLastGrammarState(c),this.prefix=e.slice(0,this.prefix.length+r+1)}return this.lastFrame={generation:this.generation,appended:this.spans.slice(a),tail:this.tokenize(n,i.slice(r+1)).map(Fk)},this.lastFrame}update(e,t){if(e===this.lastCode&&t===this.lastLang&&this.lastResult!==void 0)return this.lastResult;let n=this.updateFrame(e,t);if(n!==void 0)return this.lastResult=[...this.spans,...n.tail],this.lastResult}};function DI({lang:e,title:t,status:n,labels:a,copyLabel:i,copiedLabel:r,copied:s,wrapped:c,onCopy:o,onWrap:l}){let p=c?a.unwrapLabel:a.wrapLabel,u=s?r:i;return(0,Z.jsxs)("div",{className:f3.header,"data-code-block-banner":!0,children:[(0,Z.jsxs)("div",{className:f3.heading,children:[(0,Z.jsx)("span",{className:f3.language,children:Gk(e)?e:a.codeLabel}),t!==void 0&&(0,Z.jsx)("span",{className:f3.title,title:t,children:t})]}),(0,Z.jsxs)("div",{className:f3.actions,children:[n!==void 0&&(0,Z.jsx)("span",{className:f3.status,children:n}),l!==void 0&&(0,Z.jsx)(Lk,{label:p,side:"top",portal:!0,children:(0,Z.jsx)("button",{type:"button",className:f3.action,"aria-label":a.wrapLabel,"aria-pressed":c,onClick:l,children:c?(0,Z.jsx)(tI,{size:14}):(0,Z.jsx)(aI,{size:14})})}),o!==void 0&&(0,Z.jsx)(Lk,{label:u,side:"top",portal:!0,children:(0,Z.jsx)("button",{type:"button",className:f3.action,"aria-label":u,onClick:o,children:s?(0,Z.jsx)(Rq,{size:14}):(0,Z.jsx)(Yq,{size:14})})})]})]})}var GI=()=>{},OI=class{observer;activators=new Map;observe(e,t){return typeof IntersectionObserver>"u"?(t(),GI):(this.observer??=new IntersectionObserver(n=>{for(let a of n){if(!a.isIntersecting)continue;let i=this.activators.get(a.target);i!==void 0&&(this.activators.delete(a.target),this.observer?.unobserve(a.target),i())}this.releaseEmptyObserver()}),this.activators.set(e,t),this.observer.observe(e),()=>{this.activators.delete(e),this.observer?.unobserve(e),this.releaseEmptyObserver()})}releaseEmptyObserver(){this.activators.size>0||(this.observer?.disconnect(),this.observer=void 0)}},WI=new OI;function UI(e,t){let n=Gk(t),[a,i]=(0,P.useState)(!1),r=(0,P.useCallback)(()=>{i(!0)},[]);return(0,P.useEffect)(()=>{if(a||!n)return;let s=e.current;if(s!==null)return WI.observe(s,r)},[r,a,n,e]),a&&n}var r41={path:n5.path,del:n5.del,add:n5.add,context:n5.context,gap:n5.gap};var XI=2;function jk(e,t,n){let a=e.position?.start.offset;return a===void 0?-(n+1):t+a}function KI(e,t){for(let n=t;n=e.length||(e[a+1]==="\n"&&(a+=1),t=n,n=a+1)}return t}function Nk(e){return e.endsWith("\r\n")?"\r\n":e.endsWith("\r")?"\r":"\n"}function Tk(e,t,n){let a=0;for(;a<=e.length;){let i=a;for(;i=n&&/^[ \t]*$/.test(r.slice(c)))return!0;if(i===e.length)return!1;a=e[i]==="\r"&&e[i+1]==="\n"?i+2:i+1}return!1}function YI(e,t,n){let a=e.line,i=e.column,r=n;for(let s of t){if(s==="\n"){r||(a+=1),i=1,r=!1;continue}if(s==="\r"){a+=1,i=1,r=!0;continue}i+=1,r=!1}return{line:a,column:i,offset:e.offset+t.length}}var JI=class{parse;prevText="";tailStart=0;frozen=[];generation=0;cached=null;openFence=null;constructor(e){this.parse=e}fenceValue(e,t){let n=this.parse("".concat(e.syntheticPrefix).concat(t));if(n.children.length!==1)return;let a=n.children[0];return a.type==="code"?a.value:void 0}openFenceState(e,t,n,a){let i=n.length-1,r=n[i];if(r?.node.type!=="code")return null;let s=r.node,c=s.position?.start.offset,o=s.position?.end;if(c===void 0||o?.offset===void 0||t+o.offset!==e.length)return null;let l=e.slice(t),p=l.lastIndexOf("\n",c-1),u=l.lastIndexOf("\r",c-1),m=Math.max(p,u)+1,d=KI(l,c);if(d===void 0||d===l.length&&l.endsWith("\r"))return null;let f=l.slice(m,d).replace(/[\r\n]+$/,""),w=/^( {0,3})(`{3,}|~{3,})/.exec(f);if(w===null)return null;let x=w[1],v=w[2];if(m+x.length!==c)return null;let b=v[0],_=t+d,z=e.slice(_);if(Tk(z,b,v.length))return null;let $="".concat(x).concat(v,"\n"),C=Hk(z),j=C===0?"":this.fenceValue({syntheticPrefix:$},z.slice(0,C));if(j===void 0)return null;let T=_+C,H=z.slice(0,C),E=C===0?"":"".concat(j).concat(Nk(H)),R=this.fenceValue({syntheticPrefix:$},e.slice(T));return R===void 0||"".concat(E).concat(R)!==s.value?null:{marker:b,markerLength:v.length,syntheticPrefix:$,codeIndex:i,frozen:a,tail:n,pendingStart:T,valuePrefix:E,end:{line:o.line,column:o.column,offset:o.offset},endedWithCarriageReturn:e.endsWith("\r")}}updateOpenFence(e,t,n){let a=t.slice(e.pendingStart);if(Tk(a,e.marker,e.markerLength))return;let i=this.fenceValue(e,a);if(i===void 0)return;let r=Hk(a),s=r===0?"":this.fenceValue(e,a.slice(0,r));if(s===void 0)return;let c=e.tail[e.codeIndex].node,o=YI(e.end,t.slice(n.length),e.endedWithCarriageReturn),l={...c,value:"".concat(e.valuePrefix).concat(i),position:{start:c.position.start,end:o}},p=e.tail.map((m,d)=>d===e.codeIndex?{...m,node:l}:m),u={frozen:e.frozen,tail:p,generation:this.generation};return this.openFence={...e,tail:p,pendingStart:e.pendingStart+r,valuePrefix:r===0?e.valuePrefix:"".concat(e.valuePrefix).concat(s).concat(Nk(a.slice(0,r))),end:o,endedWithCarriageReturn:t.endsWith("\r")},u}update(e){if(this.cached!==null&&e===this.prevText)return this.cached;e.startsWith(this.prevText)||(this.prevText="",this.tailStart=0,this.frozen=[],this.openFence=null,this.generation+=1);let t=this.prevText;if(t!==""&&this.openFence!==null){let s=this.updateOpenFence(this.openFence,e,t);if(s!==void 0)return this.prevText=e,this.cached=s,s;this.openFence=null}this.prevText=e;let n=this.tailStart,a=this.parse(e.slice(n)).children,i=Math.max(0,a.length-XI);if(i>0){let s=a[i-1]?.position?.end.offset;if(s===void 0)i=0;else{for(let c of a.slice(0,i))this.frozen.push({node:c,key:jk(c,n,this.frozen.length)});this.tailStart=n+s}}let r=a.slice(i).map((s,c)=>({node:s,key:jk(s,n,c)}));return this.cached={frozen:[...this.frozen],tail:r,generation:this.generation},this.openFence=this.openFenceState(e,n,r,this.cached.frozen),this.cached}};function Xk(e,t){let n=a=>{if(a.type==="paragraph"&&a.children.length===1){let[i]=a.children;if(i.type==="text"&&i.position!==void 0&&t.slice(i.position.start.offset,i.position.end.offset)===i.value){let r=/^!\[([^\]\n]*)\]\(((?:\/(?!\/)|\.{1,2}\/|[a-z]:[\\/])[^\n<>()[\]"']+\.[a-z\d]+)\)$/iu.exec(i.value);r!==null&&r[2].includes(" ")&&Rk(r[2])==="image"&&(a.children=[{type:"image",alt:r[1],url:r[2],position:i.position}])}}else if("children"in a)for(let i of a.children)n(i)};return n(e),e}var QI=new RegExp(["\\p{Script_Extensions=Han}","\\p{Script_Extensions=Hiragana}","\\p{Script_Extensions=Katakana}","\\p{Script_Extensions=Hangul}","\\p{Script_Extensions=Bopomofo}"].join("|"),"u");function eB(e){return e!==null&&e>=0&&QI.test(String.fromCodePoint(e))}var tB=function(e,t,n){let a=this.parser.constructs.attentionMarkers.null;if(a===void 0)throw new Error("micromark CommonMark attention markers are unavailable");let i=a,r=this.previous,s=_3(r),c=H1.eof;return o;function o(p){return p!==H1.asterisk?n(p):(c=p,e.enter("attentionSequence"),l(p))}function l(p){if(p===c)return e.consume(p),l;let u=e.exit("attentionSequence"),m=_3(p),d=!m||m===r7.characterGroupPunctuation&&!!s||i.includes(p),f=!s||s===r7.characterGroupPunctuation&&!!m||i.includes(r),w=u.end.offset-u.start.offset>=2&&v3(r)&&eB(p),x=f||w;return u._open=d,u._close=x,t(p)}},nB={name:"cjkFriendlyAttention",resolveAll:X4.resolveAll,tokenize:tB},aB={text:{[H1.asterisk]:nB}};function Kk(){return aB}var iB=function(e){if(e!==H1.backslash)return!0;let t=this.events.at(-1);return t===void 0?!1:t[1].type===w2.characterEscape},rB=function(e,t,n){return a;function a(d){return d!==H1.backslash?n(d):(e.enter("mathText"),e.enter("mathTextSequence"),e.consume(d),i)}function i(d){return d!==H1.leftParenthesis?n(d):(e.consume(d),e.exit("mathTextSequence"),r)}function r(d){return d===H1.eof?n(d):d===H1.backslash?e.attempt({partial:!0,tokenize:u},p,s)(d):t1(d)?(e.enter(w2.lineEnding),e.consume(d),e.exit(w2.lineEnding),r):c(d)}function s(d){return e.check({partial:!0,tokenize:m},n,c)(d)}function c(d){return e.enter("mathTextData"),e.consume(d),d===H1.backslash?o:l}function o(d){return d===H1.backslash?(e.consume(d),l):l(d)}function l(d){return d===H1.eof||d===H1.backslash||t1(d)?(e.exit("mathTextData"),r(d)):(e.consume(d),l)}function p(d){return e.exit("mathText"),t(d)}function u(d,f,w){return x;function x(b){return b!==H1.backslash?w(b):(d.enter("mathTextSequence"),d.consume(b),v)}function v(b){return b!==H1.rightParenthesis?w(b):(d.consume(b),d.exit("mathTextSequence"),f)}}function m(d,f,w){return x;function x(b){return b!==H1.backslash?w(b):(d.enter(w2.chunkString),d.consume(b),v)}function v(b){return b!==H1.leftParenthesis?w(b):(d.consume(b),d.exit(w2.chunkString),f)}}};function Yk(e,t,n,a){let i=function(r,s,c){let o=this,l=!1,p=o.events.at(-1),u=p?.[1].type===w2.linePrefix?p[2].sliceSerialize(p[1],!0).length:0;return m;function m(H){return H!==e?c(H):(r.enter("mathFlow"),r.enter("mathFlowFence"),r.enter("mathFlowFenceSequence"),r.consume(H),d)}function d(H){return H!==t?c(H):(r.consume(H),r.exit("mathFlowFenceSequence"),r.exit("mathFlowFence"),e===H1.dollarSign?f:w)}function f(H){return H===H1.dollarSign?c(H):w(H)}function w(H){return H===H1.eof?c(H):H===e&&(e!==H1.dollarSign||!l)?r.attempt({partial:!0,tokenize:j},C,x)(H):t1(H)?a?r.attempt(cB,v,c)(H):c(H):b(H)}function x(H){return e===H1.backslash?r.check({partial:!0,tokenize:T},c,_)(H):_(H)}function v(H){return r.attempt({partial:!0,tokenize:j},C,u?g1(r,w,w2.linePrefix,u+1):w)(H)}function b(H){return r.enter("mathFlowValue"),l=H===H1.backslash,r.consume(H),$}function _(H){return r.enter("mathFlowValue"),l=!1,r.consume(H),z}function z(H){return H===e?(r.consume(H),$):$(H)}function $(H){return H===H1.eof||H===e||t1(H)?(r.exit("mathFlowValue"),w(H)):(l=H===H1.backslash?!l:!1,r.consume(H),$)}function C(H){return r.exit("mathFlow"),s(H)}function j(H,E,R){return g1(H,D,w2.linePrefix,r7.tabSize);function D(O){return O!==e?R(O):(H.enter("mathFlowFence"),H.enter("mathFlowFenceSequence"),H.consume(O),B)}function B(O){return O!==n?R(O):(H.consume(O),H.exit("mathFlowFenceSequence"),g1(H,Q,w2.whitespace))}function Q(O){return O!==H1.eof&&!t1(O)?R(O):(H.exit("mathFlowFence"),E(O))}}function T(H,E,R){return D;function D(Q){return Q!==e?R(Q):(H.enter(w2.chunkString),H.consume(Q),B)}function B(Q){return Q!==t?R(Q):(H.consume(Q),H.exit(w2.chunkString),E)}}};return{concrete:!0,name:e===H1.dollarSign?"sameLineDollarMathFlow":"backslashMathFlow",tokenize:i}}var sB=function(e,t,n){let a=this;return i;function i(s){return s===H1.eof?t(s):t1(s)?(e.enter(w2.lineEnding),e.consume(s),e.exit(w2.lineEnding),r):n(s)}function r(s){return a.parser.lazy[a.now().line]?n(s):t(s)}},cB={partial:!0,tokenize:sB},oB={name:"backslashMathText",previous:iB,tokenize:rB},lB=Yk(H1.backslash,H1.leftSquareBracket,H1.rightSquareBracket,!0),pB=Yk(H1.dollarSign,H1.dollarSign,H1.dollarSign,!1),uB={flow:{[H1.backslash]:lB,[H1.dollarSign]:pB},text:{[H1.backslash]:oB}};function mB(){return uB}function dB(e){return Xk(va(e,{extensions:[Oc(),Kk()],mdastExtensions:[wa()]}),e)}function hB(e){return Xk(va(e,{extensions:[Oc(),Kk(),mB(),Wc()],mdastExtensions:[wa(),Vc()]}),e)}var gB={className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:0},bB=32;function Vk(e,t){return(0,Z.jsxs)(P.Fragment,{children:[t>0&&"\n",(0,Z.jsx)("span",{className:"line",children:e.map((n,a)=>(0,Z.jsx)("span",{style:n.style,children:n.text},a))})]},t)}function fB({code:e,lang:t,streaming:n,className:a,contentRef:i,lineNumbers:r=!1,showHeader:s=!0,copyLabel:c,copiedLabel:o,toolbarLabels:l,wrap:p}){let u=e.endsWith("\n")?e.slice(0,-1):e,m=r?u.split("\n"):void 0,d=(0,P.useRef)(null),f=UI(d,t),w=(0,P.useSyncExternalStore)(qI,Zk,Zk),x=(0,P.useRef)(null),v=(0,P.useRef)(null),b=(0,P.useRef)(!1),_=(0,P.useMemo)(()=>{if(!f){x.current=null,v.current=null,b.current=!1;return}if(n!==!0){let i1=v.current;if(i1!==null&&i1.code===u&&i1.lang===t)return b.current=!0,i1.body;x.current=null,v.current=null,b.current=!0;return}b.current&&(x.current=null,v.current=null,b.current=!1),x.current??=new RI;let D=x.current.updateFrame(u,t);if(D===void 0){v.current=null;return}let B=v.current;if(B?.frame===D&&B.code===u&&B.lang===t)return B.body;let Q=B?.generation===D.generation,O=Q?[...B.groups]:[],U=Q?[...B.pending]:[],r1=Q?B.nextLine:0;for(let i1 of D.appended){if(U.push(Vk(i1,r1)),r1+=1,U.length!==bB)continue;let l1=r1-U.length;O.push((0,Z.jsx)(P.Fragment,{children:U},l1)),U=[]}let z1=D.tail.map((i1,l1)=>Vk(i1,r1+l1)),A1=(0,Z.jsx)(P.Fragment,{children:[...U,...z1]},r1-U.length),A=(0,Z.jsx)("pre",{...gB,children:(0,Z.jsxs)("code",{children:[O,A1]})});return v.current={code:u,lang:t,generation:D.generation,frame:D,groups:O,pending:U,nextLine:r1,body:A},A},[n,f,u,t,w]),z=(0,P.useMemo)(()=>f&&n!==!0&&_===void 0?II(u,t):void 0,[n,f,_,u,t,w]),[$,C]=(0,P.useState)(!1),[j,T]=(0,P.useState)(!0),H=p??j,E=(0,P.useCallback)(()=>{$||Ik(d.current?.querySelector("pre")?.textContent??u).then(D=>{D&&(C(!0),window.setTimeout(()=>{C(!1)},1e3))})},[$,u]),R=_!==void 0?_:z===void 0?(0,Z.jsx)("pre",{className:xe.plain,children:(0,Z.jsx)("code",{children:m===void 0?u:m.map((D,B)=>(0,Z.jsxs)(P.Fragment,{children:[B>0&&"\n",(0,Z.jsx)("span",{className:"line",children:D})]},B))})}):(0,Z.jsx)("div",{dangerouslySetInnerHTML:{__html:z}});return(0,Z.jsxs)("div",{ref:d,className:C0(xe.block,"md-code-block",r&&xe.numbered,l!==void 0&&xe.card,a),"data-line-numbers":r||void 0,"data-code-wrap":l===void 0?void 0:H,style:m===void 0?void 0:{"--dsl-code-block-line-number-width":"".concat(Math.max(2,String(m.length).length),"ch")},children:[s&&(0,Z.jsx)("div",{className:xe.bannerWrap,children:l!==void 0?(0,Z.jsx)(DI,{lang:t,labels:l,copyLabel:c,copiedLabel:o,copied:$,wrapped:H,onCopy:E,onWrap:p===void 0?()=>{T(D=>!D)}:void 0}):(0,Z.jsxs)("div",{className:xe.banner,"data-code-block-banner":!0,children:[(0,Z.jsx)("div",{className:xe.infostring,children:t??""}),(0,Z.jsx)("div",{className:xe.action,children:(0,Z.jsx)("button",{type:"button",className:xe.copyButton,onClick:E,children:$?o:c})})]})}),(0,Z.jsx)("div",{ref:i,className:xe.content,"data-code-block-content":!0,children:R})]})}function Jk(e){let t=e.indexOf("#"),n=t<0?e:e.slice(0,t);if(n.includes("?"))return;let a;try{a=decodeURIComponent(n)}catch{return}if(a.length===0||/[\u0000-\u001f\u007f]/.test(a)||/^[\\/]{2}/.test(a)||/^[a-z][a-z\d+.-]*:/i.test(a)&&!/^[a-z]:[\\/]/i.test(a))return;if(t<0)return{path:a};let i=e.slice(t+1),r=/^L([1-9]\d*)(?:-L([1-9]\d*))?$/.exec(i);if(r===null)return;let s=Number(r[1]),c=r[2]===void 0?s:Number(r[2]);if(!(!Number.isSafeInteger(s)||!Number.isSafeInteger(c)||cs.toUpperCase());t[i]=n.slice(a+1).trim()}return t}function Qk(e,t){if(e.nodeType===Node.TEXT_NODE)return e.textContent;if(e.nodeType!==Node.ELEMENT_NODE)return null;let n=e,a={key:t};for(let r of n.attributes)r.name==="class"?a.className=r.value:r.name==="style"?a.style=vB(r.value):a[r.name]=r.value;let i=[...n.childNodes].map(Qk);return i.length===0?(0,P.createElement)(n.localName,a):(0,P.createElement)(n.localName,a,...i)}function sl(e,t){let n;try{n=Do.renderToString(e,{displayMode:t,throwOnError:!0})}catch(a){try{n=Do.renderToString(e,{displayMode:t,strict:"ignore",throwOnError:!1})}catch{return(0,Z.jsx)("span",{className:"katex-error",style:{color:"#cc0000"},title:String(a),children:e})}}return[...new DOMParser().parseFromString(n,"text/html").body.childNodes].map(Qk)}var yB=(0,P.createContext)({});function ul(){return(0,P.useContext)(yB)}function _B({src:e,alt:t,labels:n,onClose:a}){let i=(0,P.useRef)(null),r=(0,P.useRef)(null);return(0,P.useEffect)(()=>{r.current=document.activeElement instanceof HTMLElement?document.activeElement:null,i.current?.focus();let s=c=>{c.key==="Escape"&&(c.stopPropagation(),a()),c.key==="Tab"&&(c.preventDefault(),i.current?.focus())};return window.addEventListener("keydown",s,!0),()=>{window.removeEventListener("keydown",s,!0),r.current?.focus()}},[a]),(0,A7.createPortal)((0,Z.jsx)("div",{className:h5.backdrop,role:"dialog","aria-modal":"true","aria-label":n.dialog,children:(0,Z.jsxs)("div",{className:h5.stage,children:[(0,Z.jsx)("div",{className:h5.mask,"aria-hidden":"true",onMouseDown:a}),(0,Z.jsx)("img",{className:h5.image,src:e,alt:t}),(0,Z.jsx)("button",{ref:i,type:"button",className:h5.close,"aria-label":n.close,onClick:a,children:(0,Z.jsx)(Xq,{size:16})})]})}),document.body)}function wB({src:e,alt:t,loadingLabel:n,failedLabel:a}){return(0,Z.jsx)(xB,{src:e,alt:t,loadingLabel:n,failedLabel:a},e)}function xB({src:e,alt:t,loadingLabel:n,failedLabel:a}){let[i,r]=(0,P.useState)("loading");return(0,Z.jsxs)("span",{className:Ka.frame,children:[i!=="failed"&&(0,Z.jsx)("img",{src:e,alt:t,loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",className:Ka.image,"data-ready":i==="ready"||void 0,onLoad:()=>{r("ready")},onError:()=>{r("failed")}}),i!=="ready"&&(0,Z.jsxs)("span",{className:Ka.status,role:"status",children:[i==="loading"&&(0,Z.jsx)(Qq,{size:16}),(0,Z.jsx)("span",{children:i==="loading"?n:a})]})]})}function ez(e){try{switch(new URL(e).protocol){case"http:":case"https:":case"mailto:":return e;default:return""}}catch{return""}}function kB(e){try{let t=new URL(e).protocol;return t==="http:"||t==="https:"?e:void 0}catch{return}}function zB(e){try{let t=new URL(e).protocol;return t==="http:"||t==="https:"||t==="blob:"||t==="data:"||e.startsWith("dsh-app://app/api/file?")?e:void 0}catch{return}}function CB(e,t){let n=kB(ez(ca(e)));if(n!==void 0)return n;let a=t?.resolve(e);return a===void 0?void 0:zB(a)}function cl(){return{definitions:new Map,footnotes:new Map}}function s9(e,t){for(let n of e){if(n.type==="definition"){let a=n.identifier.toUpperCase();t.definitions.has(a)||t.definitions.set(a,n)}else if(n.type==="footnoteDefinition"){let a=n.identifier.toUpperCase();t.footnotes.has(a)||t.footnotes.set(a,n)}"children"in n&&s9(n.children,t)}}function ol(e,t){return e.map(n=>dl(n.node,n.key,t)).filter(n=>n!==null)}function ml(e,t){let n=[];for(let a of e)(t||n.length>0)&&n.push("\n"),n.push(a);return t&&e.length>0&&n.push("\n"),n}function tz(e,t){let n=[];for(let[a,i]of e.entries())if(i.type==="paragraph")n.push({paragraph:ze(i.children,t)});else{let r=dl(i,a,t);r!==null&&n.push({element:r})}return n}function ze(e,t){return e.map((n,a)=>dl(n,a,t))}function dl(e,t,n){switch(e.type){case"text":return e.value;case"paragraph":return(0,Z.jsx)("p",{children:ze(e.children,n)},t);case"heading":return(0,P.createElement)("h".concat(e.depth),{key:t},...ze(e.children,n));case"blockquote":return(0,Z.jsx)("blockquote",{children:ml(ze(e.children,{...n,inBlockquote:!0}).filter(a=>a!==null),!0)},t);case"thematicBreak":return(0,Z.jsx)("hr",{},t);case"break":return(0,Z.jsxs)(P.Fragment,{children:[(0,Z.jsx)("br",{}),"\n"]},t);case"strong":return(0,Z.jsx)("strong",{children:ze(e.children,n)},t);case"emphasis":return(0,Z.jsx)("em",{children:ze(e.children,n)},t);case"delete":return(0,Z.jsx)("del",{children:ze(e.children,n)},t);case"inlineCode":{let a=e.value.replace(/\r?\n|\r/g," "),i=ZB(a);if(i!==void 0)return(0,Z.jsx)("code",{children:rz(i,[a],"link")},t);let r=n.inLink===!0?void 0:n.fileMentions?.resolve(a);return r!==void 0?(0,Z.jsx)("code",{children:(0,Z.jsxs)("button",{type:"button",className:o2.fileMention,title:r.title,"aria-label":r.label,onClick:r.open,children:[(0,Z.jsx)(ll,{kind:al(a),className:o2.linkIcon}),a]})},t):(0,Z.jsx)("code",{children:a},t)}case"html":return e.value;case"code":return AB(e,t,n);case"math":return(0,Z.jsx)(P.Fragment,{children:sl(e.value,!0)},t);case"inlineMath":return(0,Z.jsx)(P.Fragment,{children:sl(e.value,!1)},t);case"list":return $B(e,t,n);case"listItem":return az(e,nz(e),t,n);case"table":return LB(e,t,n);case"link":return sz(e.url,ze(e.children,{...n,inLink:!0}),t,!iz(e.children),n.streaming);case"linkReference":return HB(e,t,n);case"image":return cz(e.url,e.alt??"",t,n);case"imageReference":return NB(e,t,n);case"footnoteReference":return TB(e,t,n);case"definition":case"footnoteDefinition":return null;default:return null}}function AB(e,t,n){let a=e.lang??void 0;if(e.value==="")return(0,Z.jsx)("pre",{children:(0,Z.jsx)("code",{className:a===void 0?void 0:"language-".concat(a)})},t);let i=a===void 0?void 0:/^[\w-]+/.exec(a)?.[0];return!n.streaming&&i==="math"?(0,Z.jsx)(P.Fragment,{children:sl("".concat(e.value,"\n"),!0)},t):(0,Z.jsx)(fB,{code:"".concat(e.value,"\n"),lang:i,streaming:n.streaming,copyLabel:n.labels.code.copyLabel,copiedLabel:n.labels.code.copiedLabel,toolbarLabels:n.labels.code.toolbarLabels},t)}function MB(e){return(e.spread??!1)||e.children.some(nz)}function nz(e){return e.spread??e.children.length>1}function $B(e,t,n){let a=MB(e),i={};return typeof e.start=="number"&&e.start!==1&&(i.start=e.start),e.children.some(r=>typeof r.checked=="boolean")&&(i.className="contains-task-list"),(0,P.createElement)(e.ordered===!0?"ol":"ul",{key:t,...i},...e.children.map((r,s)=>az(r,a,s,n)))}function az(e,t,n,a){let i=tz(e.children,a),r=typeof e.checked=="boolean";if(r){let o=(0,Z.jsx)("input",{type:"checkbox",checked:e.checked===!0,disabled:!0},"task-checkbox"),l=i[0];l!==void 0&&"paragraph"in l?l.paragraph=l.paragraph.length>0?[o," ",...l.paragraph]:[o]:i.unshift({paragraph:[o]})}let s=[];for(let[o,l]of i.entries()){let p="paragraph"in l;(t||o!==0||!p)&&s.push("\n"),p?t?s.push((0,Z.jsx)("p",{children:l.paragraph},"p-".concat(o))):s.push((0,Z.jsx)(P.Fragment,{children:l.paragraph},"p-".concat(o))):s.push(l.element)}let c=i[i.length-1];return c!==void 0&&(t||!("paragraph"in c))&&s.push("\n"),(0,Z.jsx)("li",{className:r?"task-list-item":void 0,children:s},n)}function LB(e,t,n){let a=e.align??null,[i,...r]=e.children,s=(a===null?i?.children.length??0:a.length)>=4&&n.inBlockquote!==!0;return(0,Z.jsx)("div",{className:C0(o2.tableScroll,s?"md-table-wide":o2.tableFill),tabIndex:s?0:void 0,children:(0,Z.jsxs)("table",{children:[i!==void 0&&(0,Z.jsx)("thead",{children:qk(i,"th",a,0,n)}),r.length>0&&(0,Z.jsx)("tbody",{children:r.map((c,o)=>qk(c,"td",a,o+1,n))})]})},t)}function qk(e,t,n,a,i){let r=n===null?e.children.length:n.length,s=[];for(let c=0;c0&&e.every(t=>t.type==="image"||t.type==="imageReference")}function rz(e,t,n,a=!0){let i=ez(e);return i===""?(0,Z.jsx)(P.Fragment,{children:t},n):(0,Z.jsx)(SB,{href:i,glyph:a,children:t},n)}function SB({href:e,glyph:t,children:n}){let{openExternalLink:a}=ul(),i=["http:","https:"].includes(new URL(e).protocol),r=i?a:void 0;return(0,Z.jsxs)("a",{href:e,...i?{target:"_blank",rel:"noopener noreferrer"}:{},onClick:r===void 0?void 0:s=>{s.button!==0||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||(s.preventDefault(),r(e))},children:[t&&(0,Z.jsx)(ll,{kind:"url",href:e,className:o2.linkIcon}),n]})}function sz(e,t,n,a=!0,i=!1){let r=i?void 0:Jk(e);return r!==void 0?(0,Z.jsx)(EB,{file:r,glyph:a,children:t},n):rz(ca(e),t,n,a)}function EB({file:e,glyph:t,children:n}){let{openFile:a,fileImages:i}=ul();if(a===void 0)return(0,Z.jsx)(Z.Fragment,{children:n});let r=t&&al(e.path)==="image"?i:void 0,s=r?.resolve(e.path),c=(0,Z.jsxs)("button",{type:"button",className:C0(o2.fileMention,o2.fileLink),title:s===void 0?e.path:void 0,onClick:()=>{a(e.path,e.line===void 0?void 0:{line:e.line})},children:[t&&(0,Z.jsx)(ll,{kind:al(e.path),className:o2.linkIcon}),n]});return s===void 0||r===void 0?c:(0,Z.jsx)(lI,{inline:!0,anchor:c,content:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(wB,{src:s,alt:e.path,loadingLabel:r.labels.loading,failedLabel:r.labels.failed}),(0,Z.jsx)("span",{className:o2.previewName,children:e.path.split(/[\\/]/u).pop()})]})})}function ZB(e){if(e.trim()===e)try{let t=new URL(e).protocol;return t==="http:"||t==="https:"?e:void 0}catch{return}}function cz(e,t,n,a){return(0,Z.jsx)(FB,{destination:e,alt:t,pathImages:a.pathImages,streaming:a.streaming,inLink:a.inLink===!0},"".concat(n,":").concat(e))}function FB({destination:e,alt:t,pathImages:n,streaming:a,inLink:i}){let{fileImages:r}=ul(),s=a?void 0:Jk(e),c=(s===void 0?void 0:r?.resolve(s.path))??CB(e,n);return c===void 0?(0,Z.jsx)("span",{className:o2.imageAlt,children:t}):(0,Z.jsx)(jB,{src:c,alt:t,destination:e,preview:i?void 0:r},c)}function jB({src:e,alt:t,destination:n,preview:a}){let[i,r]=(0,P.useState)(!1),[s,c]=(0,P.useState)(!1),o=(0,P.useCallback)(()=>{c(!1)},[]);if(i)return(0,Z.jsxs)("span",{className:o2.imageAlt,children:[a===void 0?"":"".concat(a.labels.failed," \xB7 "),t||n]});let l=(0,Z.jsx)("img",{className:o2.image,src:e,alt:t,onError:()=>{r(!0)},loading:"lazy",decoding:"async",referrerPolicy:"no-referrer"});return a===void 0?l:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("button",{type:"button",className:o2.imageButton,title:a.labels.open,"aria-label":t?"".concat(a.labels.open,": ").concat(t):a.labels.open,onClick:()=>{c(!0)},children:l}),s&&(0,Z.jsx)(_B,{src:e,alt:t,labels:a.labels,onClose:o})]})}function oz(e){return e.referenceType==="collapsed"?"][]":e.referenceType==="full"?"][".concat(e.label??e.identifier,"]"):"]"}function HB(e,t,n){let a=n.targets.definitions.get(e.identifier.toUpperCase());if(a===void 0)return(0,Z.jsxs)(P.Fragment,{children:["[",ze(e.children,n),oz(e)]},t);let i=ze(e.children,{...n,inLink:!0});return sz(a.url,i,t,!iz(e.children),n.streaming)}function NB(e,t,n){let a=n.targets.definitions.get(e.identifier.toUpperCase());return a===void 0?"![".concat(e.alt??"").concat(oz(e)):cz(a.url,e.alt??"",t,n)}function TB(e,t,n){let a=e.identifier.toUpperCase(),i=n.footnoteCounts.get(a);return i===void 0&&n.footnoteOrder.push(a),n.footnoteCounts.set(a,(i??0)+1),(0,Z.jsx)("sup",{children:String(n.footnoteOrder.indexOf(a)+1)},t)}function lz(e){let t=[];for(let n of e.footnoteOrder){let a=e.targets.footnotes.get(n);if(a===void 0)continue;let i=e.footnoteCounts.get(n)??0,r=[];for(let l=1;l<=i;l++)r.length>0&&r.push(" "),r.push("\u21A9"),l>1&&r.push((0,Z.jsx)("sup",{children:String(l)},"re-".concat(l)));let s=tz(a.children,e),c=s[s.length-1],o=s.map((l,p)=>"paragraph"in l?(0,Z.jsxs)("p",{children:[l.paragraph,l===c&&(0,Z.jsxs)(Z.Fragment,{children:[" ",r]})]},"p-".concat(p)):l.element);(c===void 0||!("paragraph"in c))&&o.push(...r),t.push((0,Z.jsx)("li",{id:"user-content-fn-".concat(ca(n.toLowerCase())),children:ml(o,!0)},n))}return t.length===0?null:(0,Z.jsxs)("section",{"data-footnotes":!0,className:"footnotes",children:[(0,Z.jsx)("h2",{id:"footnote-label",className:"sr-only",children:e.labels.footnotes}),(0,Z.jsx)("ol",{children:t})]},"footnotes")}function VB(e,t,n,a){let i=hB(e),r=cl();s9(i.children,r);let s={streaming:!1,labels:t,fileMentions:n,pathImages:a,targets:r,footnoteOrder:[],footnoteCounts:new Map},c=ml(ol(i.children.map((l,p)=>({node:l,key:l.position?.start.offset??-(p+1)})),s),!1),o=lz(s);return o===null?c:[...c,"\n",o]}var qB=class{labels;parser=new JI(dB);generation=-1;frozenCount=0;frozenElements=[];frozenTargets=cl();frozenFootnoteOrder=[];frozenFootnoteCounts=new Map;lastText=null;lastRendered=[];constructor(e){this.labels=e}render(e){if(e===this.lastText)return this.lastRendered;let{frozen:t,tail:n,generation:a}=this.parser.update(e);a!==this.generation&&(this.generation=a,this.frozenCount=0,this.frozenElements=[],this.frozenTargets=cl(),this.frozenFootnoteOrder=[],this.frozenFootnoteCounts=new Map);let i=t.slice(this.frozenCount);s9(i.map(l=>l.node),this.frozenTargets);let r={definitions:new Map(this.frozenTargets.definitions),footnotes:new Map(this.frozenTargets.footnotes)};if(s9(n.map(l=>l.node),r),i.length>0){let l={streaming:!0,labels:this.labels,fileMentions:void 0,pathImages:void 0,targets:r,footnoteOrder:this.frozenFootnoteOrder,footnoteCounts:this.frozenFootnoteCounts},p=[...this.frozenElements];for(let u of ol(i,l))p.length>0&&p.push("\n"),p.push(u);this.frozenElements=p,this.frozenCount=t.length}let s={streaming:!0,labels:this.labels,fileMentions:void 0,pathImages:void 0,targets:r,footnoteOrder:[...this.frozenFootnoteOrder],footnoteCounts:new Map(this.frozenFootnoteCounts)},c=[...this.frozenElements];for(let l of ol(n,s))c.length>0&&c.push("\n"),c.push(l);let o=lz(s);return o!==null&&c.push("\n",o),this.lastText=e,this.lastRendered=c,this.lastRendered}},pz=(0,P.memo)(function({text:t,streaming:n=!1,labels:a,fileMentions:i,pathImages:r,variant:s="body"}){let c=(0,P.useRef)(null),o=(0,P.useRef)(a),l=(0,P.useMemo)(()=>n?((c.current===null||o.current!==a)&&(c.current=new qB(a),o.current=a),c.current.render(t)):(c.current=null,VB(t,a,i,r)),[t,n,a,i,r]);return(0,Z.jsx)("div",{className:C0(o2.markdown,s==="compact"&&o2.compact),"data-markdown-variant":s==="compact"?s:void 0,children:l})});var c9=X1(l0(),1);var M7=X1(l0(),1);function Ce(e,t){let n=Math.sqrt(e),a=t/(2*n),i=c=>{if(a>=1)return 1-(1+n*c)*Math.exp(-n*c);let o=n*Math.sqrt(1-a*a);return 1-Math.exp(-a*n*c)*(Math.cos(o*c)+a*n/o*Math.sin(o*c))},r=.05;for(;r<2&&Math.abs(1-i(r))>.001;)r+=.01;let s=Array.from({length:25},(c,o)=>(o===24?1:i(r*o/24)).toFixed(4));return{duration:Math.round(r*1e3),easing:"linear(".concat(s.join(","),")"),stiffness:e,damping:t}}var b1=Ce(400,31.2),q1=Ce(900,48),u41=Ce(484,35.2),uz=Ce(320,20),G1=Ce(500,22),m41=Ce(784,48.2),d41=Ce(289,29.2),h41={lead:Ce(900,51),trail:Ce(400,34)},w0=(e,...t)=>t.map(n=>"".concat(n," ").concat(e.duration,"ms ").concat(e.easing)).join(",");var w41=typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("-webkit-text-security","disc");var x41='\n.bt-secret-head{align-items:center;gap:10px}\n.bt-secret-who{position:relative;flex:none;display:inline-flex}\n.bt-secret-lock{position:absolute;right:-5px;bottom:-4px;width:16px;height:16px;border-radius:50%;background:var(--bt-main);color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px var(--bt-bubble)}\n.bt-secret-lock svg{width:11px;height:11px}\n.bt-secret-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:16px;padding:1px 6px;border-radius:5px;background:var(--bt-hover);color:var(--bt-ink)}\n.bt-secret-body{display:flex;flex-direction:column;gap:8px}\n.bt-secret-field{align-items:center;min-height:36px}\n.bt-secret-input{flex:1;width:100%;min-width:0;margin:0;padding:0;border:0;outline:none;background:transparent;color:var(--bt-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:20px;letter-spacing:.04em}\n.bt-secret-input[data-masked]{-webkit-text-security:disc}\n.bt-secret-input::placeholder{color:var(--bt-ink-3);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;letter-spacing:0}\n.bt-secret-scope{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;align-self:flex-start;padding:2px;border-radius:999px;background:var(--bt-hover)}\n.bt-secret-glide{position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:999px;background:var(--bt-main);box-shadow:0 1px 3px rgba(20,20,20,.08),inset 0 0 0 .5px color-mix(in srgb,var(--bt-ink) 6%,transparent);transition:'.concat(w0(b1,"transform"),'}\n.bt-secret-glide[data-at="1"]{transform:translateX(100%)}\n.bt-secret-seg{position:relative;z-index:1;height:28px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--bt-ink-2);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer;transition:color .16s ease}\n.bt-secret-seg[aria-checked=true]{color:var(--bt-ink);font-weight:500}\n.bt-secret-seg:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px}\n/* A key card asks the user to act, so the process group carrying it stays open in every\n work-details mode (same override as .bt-group-replies in styles.js). */\n[data-step-process]:has(.bt-secret)>div:first-child{display:none!important}\n[data-step-process]:has(.bt-secret)>[data-step-process-body]{display:block!important;content-visibility:visible!important;max-height:none!important;overflow:visible!important;mask-image:none!important;scrollbar-gutter:auto!important}\n.bt-secret-ok{display:flex;align-items:center;gap:4px;margin-top:6px;animation:bt-secret-in .22s cubic-bezier(.22,1,.36,1)}\n.bt-secret-ok svg{width:13px;height:13px;color:#16a34a}\n@keyframes bt-secret-in{from{opacity:0;transform:translateY(-2px)}}\n.bt-secret-saved{display:flex;align-items:center;gap:6px;font-size:13px;line-height:18px;color:var(--bt-ink-2)}\n.bt-secret-note{font-size:12px;line-height:17px;color:var(--bt-ink-3)}\n.bt-secret-note code,.bt-secret-about code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px}\n.bt-secret-warn{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;font-size:12px;line-height:16px;color:#b25e09;background:color-mix(in srgb,#f59e0b 12%,transparent)}\n.bt-secret-error{font-size:12px;line-height:16px;color:#e02135}\n.bt-secret .bt-q-btn:disabled{opacity:.5;cursor:default}\n.bt-secret-done .bt-q-head{align-items:center}\n.bt-secret-done .bt-q-title{font-size:13px;line-height:18px;color:var(--bt-ink-2);font-weight:500}\n.bt-secret-scope-tag{font-weight:400;color:var(--bt-ink-3)}\n.bt-secret-check{color:var(--bt-green,#22a06b);animation:bt-secret-pop ').concat(G1.duration,"ms ").concat(G1.easing," backwards}\n.bt-secret-done{animation:bt-secret-settle .32s cubic-bezier(.22,1,.36,1) backwards}\n@keyframes bt-secret-pop{from{opacity:0;transform:scale(.4)}}\n@keyframes bt-secret-settle{from{opacity:.4;transform:scale(.985)}}\n.bt-secret-event{display:inline-flex;align-items:center;gap:5px}\n.bt-secret-dock{flex-direction:column;align-items:center}\n.bt-secret-dock .bt-q{max-width:min(550px,calc(100% - 32px))}\n.bt-secret-about{margin:0 0 12px;padding:0 4px;font-size:12px;line-height:17px;color:var(--bt-ink-2)}\n.bt-secret-title{display:flex;align-items:center;gap:6px;min-width:0;color:var(--bt-ink)}\n.bt-secret-title svg{flex:none;color:var(--bt-ink-2)}\n.bt-secret-purpose{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bt-ink-2)}\n.bt-secret-faces{display:inline-flex}\n.bt-secret-faces>*+*{margin-left:-6px}\n.bt-secret-edit{display:flex;flex-direction:column;gap:14px;padding:4px 12px 14px;animation:bt-q-in ").concat(b1.duration,"ms ").concat(b1.easing," backwards,bt-veil-in .2s ease-out backwards}\n.bt-secret-edit-block{display:flex;flex-direction:column;gap:8px}\n.bt-secret-edit-label{font-size:12px;line-height:16px;font-weight:600;color:var(--bt-ink-2)}\n.bt-secret-radios{display:flex;gap:16px;font-size:13px}\n.bt-secret-radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer}\n.bt-secret-bots{display:flex;flex-wrap:wrap;gap:6px}\n.bt-secret-bot{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 5px;border-radius:999px;border:.5px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink-2);font:inherit;font-size:12px;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}\n.bt-secret-bot[aria-pressed=true]{background:var(--bt-active);color:var(--bt-ink);border-color:var(--bt-line-2)}\n.bt-secret-bot svg{width:13px;height:13px}\n.bt-secret-inline{display:flex;gap:8px;align-items:center}\n.bt-secret-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}\n.bt-secret-row-actions .bt-set-hint{flex:1}\n.bt-secret-danger{color:#e02135;display:inline-flex;align-items:center;gap:4px}\n.bt-secret-danger svg{width:13px;height:13px}\n.bt-secret-add .bt-input{height:34px}\n@media (prefers-reduced-motion:reduce){.bt-secret-glide{transition:none}.bt-secret-check,.bt-secret-done,.bt-secret-ok,.bt-secret-edit{animation:none}}\n");var d0=X1(l0(),1);var mz=(e,t)=>w4("flybot/".concat(e),t),BB,PB=()=>BB??=class extends d0.Component{constructor(t){super(t),this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(t){console.error("flybot: ".concat(this.props.id," failed"),t)}render(){return this.state.failed?this.props.fallback:this.props.children}};function RB(e){let t=S9(),[,n]=(0,d0.useState)(0);return(0,d0.useEffect)(()=>t.subscribe(()=>n(t.version())),[t]),t.entries("flybot.approvals").find(a=>a.inline===!0&&a.policy===e)}function dz({held:e,actions:t}){let n=RB(e?.by),[a,i]=(0,d0.useState)(!1),[r,s]=(0,d0.useState)(""),c=F5(e?.status);if((0,d0.useEffect)(()=>{if(c)return Z5("held-reply:".concat(e.id),[e.id]),()=>Z5("held-reply:".concat(e.id),[])},[e?.id,c]),!e?.id)return null;let o=async p=>{i(!0),s("");try{await mz("decide",{id:e.id,decision:p})}catch(u){s(u?.message??String(u))}finally{i(!1)}};if(!c){let p=e.status==="failed";return(0,d0.createElement)("div",{className:"bt-held-note","data-state":e.status,title:p&&e.error?e.error:void 0},(0,d0.createElement)("span",null,e.status==="approved"?N("Sent to {to}",{to:e.toName}):e.status==="auto"?N("Auto-sent to {to}",{to:e.toName}):p?N("Not sent: delivery failed"):N("Not sent")),p&&U9(e)?(0,d0.createElement)("button",{type:"button",className:"bt-held-retry",disabled:a,onClick:()=>o("retry")},N("Retry")):null,r?(0,d0.createElement)("span",{className:"bt-flybot-approval-error",role:"alert"},r):null)}let l=(0,d0.createElement)("div",{className:"bt-held-card",role:"region","aria-label":N("Waiting for your approval")},(0,d0.createElement)("div",{className:"bt-held-head"},N("Waiting for your approval")),(0,d0.createElement)("div",{className:"bt-flybot-approval-origin"},N("{from} \u2192 {to}",{from:e.from??N("A Bot"),to:e.toName})),(0,d0.createElement)("div",{className:"bt-flybot-approval-actions"},(0,d0.createElement)("button",{type:"button",disabled:a,onClick:()=>o("reject")},N("Reject")),(0,d0.createElement)("button",{type:"button",className:"bt-flybot-approve",disabled:a,onClick:()=>o("approve")},N("Approve"))),r?(0,d0.createElement)("div",{className:"bt-flybot-approval-error",role:"alert"},r):null);return(0,d0.createElement)("div",{className:"bt-held-actions","data-flybot":"held-reply-actions"},n?(0,d0.createElement)(PB(),{id:n.id,fallback:l},(0,d0.createElement)(n.component,{held:e,decide:o,call:mz,actions:t})):l)}function gz(e,t){let n=e.length?e:[t];return n.find(a=>hz(a)!=="")?.step!==t.step?"":n.filter(a=>!GB(a)).map(hz).filter(Boolean).join("\n\n")}var DB=e=>e.blocks.filter(t=>t.kind==="text"&&t.text.trim()!==""),GB=e=>e.status==="running"&&DB(e).length===0&&e.blocks.some(t=>t.kind==="reasoning"),hz=e=>e.blocks.filter(t=>t.kind==="reasoning").map(t=>t.text).join("\n").trim();var OB=()=>({code:{copyLabel:N("Copy"),copiedLabel:N("Copied")},footnotes:N("Footnotes")});function yz({texts:e,roster:t,selfId:n,actions:a,streaming:i,sessionId:r,msgKey:s,useUi:c,lead:o,mentions:l}){let p=m=>{let d=kp(m);d!==null&&(m.preventDefault(),m.stopPropagation(),a.openSession(d))},u=c?c(m=>s?m.reactions?.[s]??null:null):null;return(0,c1.createElement)("div",{className:"bt-astack","data-lead":o?"":void 0,onClickCapture:p},e.map((m,d)=>{let f=s&&typeof a.toggleReaction=="function"?"".concat(s,":").concat(d):void 0,w=f?u?.[d]??[]:[],x=d===e.length-1,v=i&&x;return(0,c1.createElement)("div",{key:d,className:"bt-msg"},(0,c1.createElement)("div",{className:"bt-msg-line"},o&&x?o:null,(0,c1.createElement)("div",{className:"bt-bubble"},(0,c1.createElement)(pz,{text:xp(m,t.bots,n),streaming:v,labels:OB(),variant:"compact",fileMentions:l})),v?null:(0,c1.createElement)(XB,{text:m,name:t.byId[n]?.name??N("Bot"),sessionId:r,react:f?b=>a.toggleReaction(s,d,b):void 0,actions:a})),w.length?(0,c1.createElement)("div",{className:"bt-reacts"},w.map(b=>(0,c1.createElement)("button",{key:b,type:"button",className:"bt-react","aria-label":N("Remove reaction {emoji}",{emoji:b}),onClick:()=>a.toggleReaction(s,d,b)},b))):null)}))}var WB=["\u{1F44D}","\u2764\uFE0F","\u{1F602}","\u{1F62E}","\u{1F622}","\u{1F64F}"];function UB(e,t,n){(0,c1.useEffect)(()=>{if(!e)return;let a=r=>{n.some(s=>s.current?.contains(r.target))||t()},i=r=>{r.key==="Escape"&&(r.stopPropagation(),t())};return window.addEventListener("mousedown",a),window.addEventListener("keydown",i,!0),()=>{window.removeEventListener("mousedown",a),window.removeEventListener("keydown",i,!0)}},[e])}function XB({text:e,name:t,sessionId:n,react:a,actions:i}){let[r,s]=(0,c1.useState)(null),[c,o]=(0,c1.useState)(null),[l,p]=(0,c1.useState)(!1),u=(0,c1.useRef)(null),m=(0,c1.useRef)(null),d=()=>s(null);UB(r!==null,d,[u,m]);let f=(b,_)=>{if(r===b){d();return}let z=_.currentTarget.getBoundingClientRect(),$=z.bottom+220{navigator.clipboard?.writeText(e).then(()=>{p(!0),setTimeout(()=>p(!1),1e3)})},x=()=>{let b=URL.createObjectURL(new Blob([e],{type:"text/markdown"}));Object.assign(document.createElement("a"),{href:b,download:"".concat(t,"-message.md")}).click(),setTimeout(()=>URL.revokeObjectURL(b),1e3)},v=(b,_,z)=>(0,c1.createElement)("button",{key:b,type:"button",role:"menuitem",onClick:()=>{d(),z()}},(0,c1.createElement)(_),b);return(0,c1.createElement)("div",{ref:u,className:"bt-tools","data-open":r!==null||void 0},a?(0,c1.createElement)("button",{type:"button",className:"bt-tool","aria-label":N("Add reaction"),title:N("Add reaction"),"aria-expanded":r==="react",onClick:b=>f("react",b)},(0,c1.createElement)(Bp)):null,n?(0,c1.createElement)("button",{type:"button",className:"bt-tool","aria-label":N("Reply"),title:N("Reply"),onClick:()=>i.quote(n,e)},(0,c1.createElement)(Pp)):null,(0,c1.createElement)("button",{type:"button",className:"bt-tool","aria-label":N("More message actions"),title:N("More"),"aria-haspopup":"menu","aria-expanded":r==="more",onClick:b=>f("more",b)},l?(0,c1.createElement)(N5):(0,c1.createElement)(Rp)),r==="react"?(0,hl.createPortal)((0,c1.createElement)("div",{ref:m,className:"bt-react-strip",role:"menu","aria-label":N("Reactions"),style:c},WB.map(b=>(0,c1.createElement)("button",{key:b,type:"button",role:"menuitem","aria-label":b,onClick:()=>{d(),a(b)}},b))),document.body):null,r==="more"?(0,hl.createPortal)((0,c1.createElement)("div",{ref:m,className:"bt-menu",role:"menu","aria-label":N("Message actions"),style:c},v(N("Copy"),Xp,w),v(N("Download"),Dp,x)),document.body):null)}var bz=160,fz="\u2026",KB=[/^\s{0,3}(?:`{3,}|~{3,})/,/^\s{0,3}([-*_])(?:\s*\1){2,}\s*$/],YB=e=>KB.some(t=>t.test(e)),JB=e=>typeof Intl<"u"&&typeof Intl.Segmenter=="function"?[...new Intl.Segmenter().segment(e)].map(t=>t.segment):[...e],QB=e=>{if(e.length<=bz)return e;let t="";for(let n of JB(e)){if(t.length+n.length>bz-fz.length)break;t+=n}return t+fz},eP=e=>e.length===1?N("{n} line of reasoning",{n:e.length}):N("{n} lines of reasoning",{n:e.length}),tP=e=>{let t=e.split("\n").map(a=>a.replace(/\s+/g," ").trim()).filter(a=>a!==""),n=t.find(a=>!YB(a));return n===void 0?eP(t):QB(n)};function nP({text:e}){if(typeof e!="string"||e.trim()==="")return null;let t=tP(e);return(0,c1.createElement)("details",{className:"bt-think"},(0,c1.createElement)("summary",null,(0,c1.createElement)("span",{className:"bt-think-caret","aria-hidden":!0},"\u203A"),N("Thought it through"),t?(0,c1.createElement)("span",{className:"bt-think-peek"},t):null),(0,c1.createElement)("div",{className:"bt-think-text"},e))}function aP({node:e,openFile:t,fileMentions:n,useTurnData:a}){let i=a?.("turn-tail"),r=e.location,s=r?.kind==="turn"||r?.kind==="step"?r.turn:void 0,c=e.data.finalNode?.seq;return(0,c1.useMemo)(()=>{if(!(typeof n!="function"||s?.status!=="closed"||c===void 0))return i?.closing?.finalNode.seq===c?n({turn:s,seq:c,openFile:t}):void 0},[n,t,c,i,s])}function iP(e,t){let n=t?.("turn-tail"),a=e.data.finalNode?.seq;return!n?.closing||a===void 0?!0:n.closing.finalNode?.seq===a}function rP(e,t){if(!(e?.remote===void 0||t.length===0)&&!t.every(n=>/^Not sent:/.test(n.trim())))return(0,c1.createElement)("span",{className:"bt-lead",title:e.name,"data-flybot":"friend-lead"},(0,c1.createElement)(n2,{bot:e,size:22}))}function _z({node:e,groupPart:t,sessionId:n,openFile:a,fileMentions:i,useTurnData:r,useRoster:s,useUi:c,useTurnSteps:o,useTurnContext:l,actions:p}){let u=s(R=>R),m=e.data,d=o(String(m.turn)),f=l(String(m.turn)),w=aP({node:e,openFile:a,fileMentions:i,useTurnData:r}),x=t==="reasoning"?void 0:Sp(u.byId[n],n,m.turn),v=iP(e,r),b=!!u.roomsById[n]||Ap(u,n,m.turn),_=Cp(u,n,m.turn),z=u.feishuTurns?.[n]?.[m.turn],$=t==="reasoning"?[]:m.blocks.filter(R=>R.kind==="text"&&R.text.trim()!=="").map((R,D)=>D===0?D9(R.text):R.text).filter(R=>R.trim()!==""),C=m.status==="running";if(uP(p,n,"text:".concat(e.key??m.seq),!b&&C&&$.length>0?{text:!0}:null),b)return null;let j=t==="response"?"":gz(d,m),T=$p(m,t)?Lp(f,d,m):[];if($.length===0&&!j&&T.length===0)return null;let H=u.byId[n]?.id??n,E=$.length?_?(0,c1.createElement)(gl,{name:_,texts:$,roster:u,selfId:H,actions:p,sessionId:n,msgKey:"".concat(n,":").concat(m.turn,":").concat(e.key??m.seq??""),useUi:c}):(0,c1.createElement)(yz,{texts:$,roster:u,selfId:H,actions:p,streaming:C,sessionId:n,msgKey:"".concat(n,":").concat(m.turn,":").concat(e.key??m.seq??""),useUi:c,mentions:w,lead:rP(u.byId[n],$)}):null;return(0,c1.createElement)(z?"div":c1.Fragment,z?{id:"feishu-message-".concat(z.messageId??m.turn),"data-feishu-root":z.rootId??""}:null,z?.rootId?(0,c1.createElement)("button",{type:"button",className:"bt-soft bt-soft-sm",title:z.rootId,onClick:()=>document.getElementById("feishu-message-".concat(z.rootId))?.scrollIntoView?.({block:"center"})},N("Reply in thread")):null,z?.attachments?.length?(0,c1.createElement)(oP,{files:z.attachments,appId:z.appId,plugin:"feishu",botId:H}):null,T.map(R=>{let D=R.source,B=u.byId[D.senderSessionId]??{id:D.senderSessionId,name:D.senderName??N("a Bot"),color:"gray"};return(0,c1.createElement)(cP,{key:R.seq,prefix:D.role==="stopped"?N("Stopped by"):D.role==="reply"?N("Reply from"):N("Message from"),bots:[B],onOpen:()=>{B.id&&p.openExchange(H,B.id)},whole:!0})}),j?(0,c1.createElement)(nP,{text:j}):null,x&&E?(0,c1.createElement)(sP,{held:x,roster:u,sessionId:n,actions:p,closing:v},E):E)}function sP({held:e,roster:t,sessionId:n,actions:a,closing:i,children:r}){let s=t.byId[n],c=(t.bots??[]).find(l=>l.remote?.handle===e.to),o=I2(e.toOwner)||(c?M9(c):mt({handle:e.to}))||e.to||N("a friend");return(0,c1.createElement)("div",{className:"bt-held-reply","data-state":e.status,"data-held":F5(e.status)?"":void 0},r,i?(0,c1.createElement)(dz,{held:{...e,toName:o,from:s?.name},actions:a}):null)}function gl({name:e,texts:t,roster:n,selfId:a,actions:i,sessionId:r,msgKey:s,useUi:c}){let o=(0,c1.createElement)("span",{className:"bt-lead",title:e},(0,c1.createElement)(J7,{name:e}));return(0,c1.createElement)("div",{className:"bt-group-msg bt-person-msg","data-person":e},(0,c1.createElement)("span",{className:"bt-group-name"},e),(0,c1.createElement)(yz,{texts:t,roster:n,selfId:a,actions:i,sessionId:r,msgKey:s,useUi:c,lead:o}))}function cP({prefix:e,bots:t,joiner:n=N("and"),onOpen:a,whole:i=!1}){if(i&&t.length===1)return(0,c1.createElement)("div",{className:"bt-event"},(0,c1.createElement)("button",{type:"button",className:"bt-event-whole",title:t[0].name,onClick:()=>a?.(t[0])},(0,c1.createElement)("span",null,e),(0,c1.createElement)(n2,{bot:t[0],size:16}),(0,c1.createElement)("span",{className:"bt-event-name"},t[0].name)));let r=[];return r.push((0,c1.createElement)("span",{key:"p"},e)),t.forEach((s,c)=>{c>0&&r.push((0,c1.createElement)("span",{key:"j".concat(c)},n)),r.push((0,c1.createElement)("button",{key:s.id??c,type:"button",onClick:()=>a?.(s)},(0,c1.createElement)(n2,{bot:s,size:16}),s.name))}),(0,c1.createElement)("div",{className:"bt-event"},r)}function oP({files:e,plugin:t,botId:n,appId:a}){let[i,r]=(0,c1.useState)(""),[s,c]=(0,c1.useState)(""),o=async l=>{r(l.id),c("");try{let p=t==="feishu"?await w4("feishu",{operation:"attachment",appId:a,attachmentId:l.id}):await w4("flybot/".concat(t,"/attachment"),{id:l.id,botId:n}),u=p?.value??p,m=Uint8Array.from(atob(u.content_base64),w=>w.charCodeAt(0)),d=URL.createObjectURL(new Blob([m],{type:"application/octet-stream"}));Object.assign(document.createElement("a"),{href:d,download:u.name??l.name}).click(),setTimeout(()=>URL.revokeObjectURL(d),1e4)}catch(p){c(String(p?.message??p))}finally{r("")}};return(0,c1.createElement)("div",{className:"bt-file-chips"},e.map(l=>(0,c1.createElement)("button",{key:l.id,type:"button",className:"bt-file-chip",disabled:i===l.id,title:"Download ".concat(l.name," (untrusted file from a remote Bot)"),onClick:()=>o(l)},"\u{1F4CE} ".concat(l.name," \xB7 ").concat(Q7(l.size)))),s?(0,c1.createElement)("span",{className:"bt-file-error",role:"alert"},s):null)}var ft1=1800*1e3;function L7({children:e}){return(0,c1.createElement)("span",{className:"bt-shimmer"},e)}var lP=[[/web_?search|search_?web/i,"Searching online"],[/fetch|browse|browser|web/i,"Reading a page"],[/shell|bash|pwsh|powershell|exec|command|terminal/i,"Running shell commands"],[/^(read|view|cat)\b|read_/i,"Opening a file"],[/grep|glob|list_dir|^ls$|find|search/i,"Looking through files"],[/write|edit|patch|apply|replace/i,"Writing changes"],[/image|photo|draw/i,"Working on an image"]],vz={create_group:"Creating a group",update_group:"Updating the group",delete_group:"Deleting the group",post_to_group:"Posting in the group"};function pP(e,t,n,a){switch(e){case"ask_user":return null;case"request_secret":return null;case"list_secrets":return{label:N("Checking the keys"),state:"searching"};case"ask_user_question":return{label:N("Waiting for your answer"),state:"alert"};case"group_relay":return{relay:!0,state:"orbit"};case"message_bot":{let r=n(t("to"));return{label:r?N("Asking {name}",{name:r.name}):N("Asking another Bot"),state:"sending"}}case"stop_bot":{let r=n(t("bot"));return{label:r?N("Stopping {name}",{name:r.name}):N("Stopping another Bot"),state:"sending"}}case"create_bot":return{label:N("Creating {name}",{name:t("name")??N("a Bot")}),state:"sending"};case"update_bot":{let r=n(t("name"))??n(t("bot"))??(t("bot")?void 0:a);return{label:N("Updating {name}",{name:r?.name??N("a Bot")}),state:"sending"}}case"list_bots":return{label:N("Checking the team"),state:"searching"};case"read_group_chat":return{label:N("Reading {name}",{name:t("group")??N("a group chat")}),state:"searching"};case"read_own_chat":return{label:N("Looking back through the chat"),state:"searching"};case"remember":return{label:N("Saving to memory"),state:"working"};case"forget":return{label:N("Updating memory"),state:"working"};case"recall":return{label:N("Checking memory"),state:"searching"};default:if(vz[e])return{label:N(vz[e]),state:"sending"};let i=lP.find(([r])=>r.test(e))?.[1];return{label:i?N(i):null,state:W9(e)}}}function $7(e){return e?pP(e,()=>{},()=>{})?.label??N("Using {tool}",{tool:e}):N("Thinking about it")}function v5(e,t){return t?N("{action}: {detail}",{action:$7(e),detail:t}):"".concat($7(e),"\u2026")}function uP(e,t,n,a){let i=a?JSON.stringify(a):"";(0,c1.useEffect)(()=>{if(i)return e.noteLive(t,n,JSON.parse(i)),()=>e.noteLive(t,n,null)},[t,n,i])}var y5=X1(l0(),1),bP=X1(J3(),1);function bl(e){let t=Math.floor(e/6e4);if(t<60)return"".concat(Math.max(1,t),"m");let n=Math.floor(t/60);return t%60===0?"".concat(n,"h"):"".concat(n,"h ").concat(t%60,"m")}var fl='\n.bt-mw-dock-stack{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:var(--dsh-chat-content-width,min(960px,100%));margin:0 auto 6px;pointer-events:none}\n.bt-mw-row{pointer-events:auto;display:flex;align-items:center;gap:10px;min-width:0;max-width:calc(100% + 6px);height:32px;margin-inline-start:-6px;padding:0 12px 0 6px;border:0;border-radius:16px;background:none;color:var(--bt-ink-2);font:inherit;font-size:14px;cursor:pointer;animation:bt-mw-in .32s cubic-bezier(.23,1,.32,1) backwards;transition:background-color .16s ease-out}\n.bt-mw-row:hover{background:var(--bt-hover)}\n.bt-mw-row>.bt-mark{flex:none}\n.bt-mw-row-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-mw-row-time{flex:none;font-size:12px;color:var(--bt-ink-3);white-space:nowrap}\n.bt-mw-work{display:flex;align-items:center;justify-content:space-between;gap:8px}\n.bt-mw-stop{flex:none;height:22px;padding:0 10px;border:1px solid var(--bt-line,rgba(0,0,0,.12));border-radius:11px;background:none;color:var(--bt-ink-2);font:inherit;font-size:12px;cursor:pointer}\n.bt-mw-stop:hover{background:var(--bt-hover)}\n.bt-mw-stop:disabled{opacity:.5;cursor:default}\n.bt-mw-line{gap:8px}\n.bt-mw-stack{display:inline-flex;align-items:center;flex:none;line-height:0}\n.bt-mw-stack>*+*{margin-left:-4px}\n.bt-mw-face{position:relative;display:inline-flex;flex:none;border-radius:50%}\n.bt-mw-stack .bt-mw-face{box-shadow:0 0 0 1.5px var(--bt-main,#fff)}\n.bt-mw-face[data-ask]::after{content:"";position:absolute;right:-2px;bottom:-2px;width:7px;height:7px;border-radius:50%;background:#e3a008;box-shadow:0 0 0 1.5px var(--bt-main,#fff)}\n.bt-mw-ask{color:#b7791f;flex:none;white-space:nowrap}\nbody[data-ds-dark-theme] .bt-mw-ask{color:#f0b84a}\n.bt-mw-member{padding:0 6px 8px 42px;display:flex;flex-direction:column;gap:6px}\n.bt-mw-state{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-top:-4px}\n.bt-mw-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:var(--bt-hover);font-size:12px;line-height:17px;color:var(--bt-ink-2)}\n.bt-mw-tool{font-weight:600;color:var(--bt-ink)}\n.bt-mw-text{color:var(--bt-ink);overflow-wrap:anywhere}\n.bt-mw-reason{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}\n.bt-mw-code{display:block;font:11px/16px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--bt-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-mw-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:4px}\n.bt-mw-actions>button{height:28px;padding:0 12px;font-size:12px}\n.bt-mw-actions>button:disabled{opacity:.5;cursor:default}\n@keyframes bt-mw-in{from{opacity:0;transform:translateY(4px)}}\n@media (prefers-reduced-motion:reduce){.bt-mw-row{animation:none}}\n';var wz=(e,t)=>typeof t=="number"&&e-t>=6e4?" \xB7 ".concat(bl(e-t)):"",xz=(e,t)=>t?.remote||e.tool==="feishu_tool"?[]:[["always-bot","Always allow for this Bot"],...e.roomId?[["always-room","Always allow for this group"]]:[]];function o9({approval:e,bot:t,actions:n,standing:a=!0}){let[i,r]=(0,r0.useState)(!1),s=c=>{r(!0),Promise.resolve(n.answerApproval(e.id,c)).catch(o=>n.reportError(o,"approval")).finally(()=>r(!1))};return(0,r0.createElement)("div",{className:"bt-mw-card",role:"group","aria-label":N("{name} is waiting for your approval",{name:t.name})},(0,r0.createElement)("div",{className:"bt-mw-tool"},e.tool),e.detail?.text?(0,r0.createElement)("div",{className:"bt-mw-text"},e.detail.text):null,e.reason?(0,r0.createElement)("div",{className:"bt-mw-reason"},e.reason):null,e.detail?.code?(0,r0.createElement)("code",{className:"bt-mw-code",title:e.detail.code},e.detail.code):null,e.answerable?(0,r0.createElement)("div",{className:"bt-mw-actions"},(0,r0.createElement)("button",{type:"button",className:"bt-q-btn",disabled:i,onClick:()=>s("reject")},N("Reject")),(0,r0.createElement)("button",{type:"button",className:"bt-q-submit",disabled:i,onClick:()=>s("allow")},N("Allow once")),...(a?xz(e,t):[]).map(([c,o])=>(0,r0.createElement)("button",{key:c,type:"button",className:"bt-q-btn","data-choice":c,disabled:i,onClick:()=>s(c)},N(o)))):(0,r0.createElement)("div",{className:"bt-mw-actions"},(0,r0.createElement)("button",{type:"button",className:"bt-q-btn",onClick:()=>n.openSession(t.id)},N("Open {name}'s chat",{name:t.name}))))}function kz({entry:e,bot:t,room:n,actions:a,now:i}){let[r,s]=(0,r0.useState)(!1);if(e.state==="ask")return(0,r0.createElement)("div",{className:"bt-mw-member"},(0,r0.createElement)("div",{className:"bt-mw-state bt-mw-ask"},"".concat(N("Waiting for your approval")).concat(wz(i,e.approvals[0].at))),e.approvals.map(o=>(0,r0.createElement)(o9,{key:o.id,approval:o,bot:t,actions:a})));if(e.state!=="work")return null;let c=()=>{s(!0),Promise.resolve(a.stopMemberWork(n.id,t.id)).catch(o=>a.reportError(o,"stop")).finally(()=>s(!1))};return(0,r0.createElement)("div",{className:"bt-mw-member"},(0,r0.createElement)("div",{className:"bt-mw-state bt-mw-work"},(0,r0.createElement)("span",null,(0,r0.createElement)(L7,null,v5(e.doing.tool,e.doing.step)),wz(i,e.doing.since)),e.here&&e.doing.handed!==!0?(0,r0.createElement)("button",{type:"button",className:"bt-mw-stop",disabled:r,onClick:c},N("Stop")):null))}var E1=X1(l0(),1),vP=X1(J3(),1);var yP=()=>window.SpeechRecognition??window.webkitSpeechRecognition;function _P(e){let[t,n]=(0,E1.useState)(!1),[a,i]=(0,E1.useState)(""),r=(0,E1.useRef)(null),s=(0,E1.useRef)(e);return s.current=e,(0,E1.useEffect)(()=>()=>r.current?.abort(),[]),(0,E1.useEffect)(()=>{if(!a)return;let l=setTimeout(()=>i(""),2600);return()=>clearTimeout(l)},[a]),{listening:t,note:a,start:({continuous:l=!0,onEnd:p}={})=>{let u=yP();if(!u)return i(N("Dictation is not available in this browser")),!1;let m=new u;m.lang=navigator.language||"zh-CN",m.interimResults=!0,m.continuous=l,m.onresult=d=>{let f="";for(let w=d.resultIndex;w{d.error==="aborted"||d.error==="no-speech"||i(d.error==="not-allowed"||d.error==="service-not-allowed"?N("Microphone access is blocked"):N("Couldn't hear that"))},m.onend=()=>{n(!1),r.current=null,p?.()},r.current=m;try{return m.start(),n(!0),!0}catch{return i(N("Couldn't start dictation")),!1}},stop:()=>r.current?.stop()}}function vl({chat:e,mentions:t=[],initialText:n="",attachments:a=[],initialImages:i=[],allowImages:r=!1,onImages:s,onDraft:c,onError:o}){let[l,p]=(0,E1.useState)(n),[u,m]=(0,E1.useState)(!1),d=(0,E1.useRef)(!1),[f,w]=(0,E1.useState)([]),[x,v]=(0,E1.useState)(i),b=(0,E1.useRef)(!0),_=(0,E1.useRef)(!1),[z,$]=(0,E1.useState)(!1);(0,E1.useEffect)(()=>()=>{b.current=!1},[]);let C=async U=>{if(_.current)return;_.current=!0,$(!0);let r1=[...U.target.files],z1=U.target.ownerDocument.defaultView;U.target.value="";try{if(r1.length+x.length>4||r1.some(A=>A.size>256*1024)||r1.reduce((A,i1)=>A+i1.size,x.reduce((A,i1)=>A+i1.bytes,0))>512*1024)throw new Error("Choose up to four files, at most 256 KiB each and 512 KiB total");let A1=await Promise.all(r1.map(A=>new Promise((i1,l1)=>{let S=new z1.FileReader;S.onerror=()=>l1(new Error("Image could not be read")),S.onload=()=>i1({name:A.name,mediaType:A.type,bytes:A.size,data:String(S.result).split(",")[1]}),S.readAsDataURL(A)})));if(b.current){let A=[...x,...A1];v(A),s?.(A),T("")}}catch(A1){b.current&&T(A1.message)}finally{_.current=!1,b.current&&$(!1)}},[j,T]=(0,E1.useState)(""),H=(0,E1.useRef)(null),E=(0,E1.useRef)(l);E.current=l;let R=U=>{p(U),c?.(U)},D=_P((U,r1)=>{r1&&R(E.current+U)}),B=l.match(/(?:^|\s)@([^\s@]*)$/)?.[1],Q=B===void 0?[]:t.filter(U=>U.name.toLowerCase().includes(B.toLowerCase())).slice(0,8),O=async U=>{if(U.preventDefault(),!(d.current||_.current||!l.trim()&&!x.length)){d.current=!0,m(!0),T("");try{await e.send(l,x.length?{images:x.filter(r1=>["image/png","image/jpeg","image/webp","image/gif"].includes(r1.mediaType)),files:x.filter(r1=>!["image/png","image/jpeg","image/webp","image/gif"].includes(r1.mediaType))}:f.length?{attachmentIds:f}:void 0),R(""),w([]),v([]),s?.([])}catch(r1){T(r1.message),o?.(r1)}finally{d.current=!1,m(!1)}}};return(0,E1.createElement)("form",{className:"bt-scoped-composer",onSubmit:O,"data-composer-card":""},(0,E1.createElement)("textarea",{ref:H,name:"text","aria-label":N("Message"),value:l,disabled:u,onInput:U=>R(U.target.value),onKeyDown:U=>{U.key==="Enter"&&!U.shiftKey&&!U.nativeEvent.isComposing&&O(U)}}),r?(0,E1.createElement)("label",null,(0,E1.createElement)(Gp),"Add files",(0,E1.createElement)("input",{type:"file",multiple:!0,disabled:z||u,onChange:C})):null,x.map((U,r1)=>(0,E1.createElement)("div",{key:r1},U.name,(0,E1.createElement)("button",{type:"button",onClick:()=>{let z1=x.filter((A1,A)=>A!==r1);v(z1),s?.(z1)}},"Remove"))),a.length?(0,E1.createElement)("fieldset",null,(0,E1.createElement)("legend",null,"Include registered documents"),a.map(U=>(0,E1.createElement)("label",{key:U.id},(0,E1.createElement)("input",{type:"checkbox",checked:f.includes(U.id),onChange:r1=>w(z1=>r1.target.checked?[...z1,U.id]:z1.filter(A1=>A1!==U.id))}),U.name))):null,Q.length?(0,E1.createElement)("div",{role:"listbox","aria-label":N("Bots")},Q.map(U=>(0,E1.createElement)("button",{key:U.id,type:"button",role:"option",onClick:()=>{R(l.slice(0,l.length-B.length)+U.name+" "),H.current?.focus()}},U.name))):null,(0,E1.createElement)("button",{type:"button","aria-label":D.listening?N("Stop dictation"):N("Dictate"),onClick:()=>D.listening?D.stop():D.start()},(0,E1.createElement)(Ip)),(0,E1.createElement)("button",{type:"submit",disabled:u||z||!l.trim()&&!x.length},N("Send")),j?(0,E1.createElement)("p",{role:"alert"},j):null,D.note?(0,E1.createElement)("p",{role:"status"},D.note):null)}var w1=X1(l0(),1),Tz=X1(Cz(),1);var u1=X1(l0(),1),MP=X1(J3(),1);var _5=X1(l0(),1);var l9=X1(l0(),1);var d51=7*864e5;var zP=e=>(0,_5.createElement)("path",{d:e}),S3=(...e)=>function(){return(0,_5.createElement)("svg",{width:14,height:14,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.map(zP))},ct="M10 3.25a6.75 6.75 0 1 1 0 13.5 6.75 6.75 0 0 1 0-13.5z",h51=S3("M3.5 11.5l1.9-6.1A1.5 1.5 0 0 1 6.83 4.35h6.34a1.5 1.5 0 0 1 1.43 1.05l1.9 6.1","M3.5 11.5v3.25a1.5 1.5 0 0 0 1.5 1.5h10a1.5 1.5 0 0 0 1.5-1.5V11.5","M3.5 11.5h3.75l1 1.75h3.5l1-1.75h3.75"),g51=S3(ct,"M10 6.75v3.75","M10 13.25h.01"),b51=S3(ct,"M10 6.5V10l2.25 1.5"),f51=S3(ct,"M8.1 8a2 2 0 1 1 2.65 1.9c-.45.18-.75.6-.75 1.1v.25","M10 13.5h.01"),v51=S3(ct,"M7 10.25l2 2 4-4.25"),y51=S3(ct,"M7.75 7.75l4.5 4.5M12.25 7.75l-4.5 4.5"),_51=S3(ct,"M8.5 7.25v5.5l4.25-2.75z"),w51=S3("M4.5 10.5l3.5 3.5 7.5-8"),x51=S3(ct,"M5.25 14.75l9.5-9.5");var p9=X1(l0(),1);var CP=X1(l0(),1);var S7=X1(l0(),1),AP=X1(J3(),1);var _l='\n.bt-side-top .bt-brand{cursor:default;padding-left:6px}\n.bt-side-top .bt-brand:hover{background:none}\n.bt-brand .bt-mark{flex:none}\n.bt-pin{flex:none;display:inline-flex;color:var(--bt-ink-3)}\n.bt-rail .bt-row{position:relative}\n.bt-rail .bt-pin{position:absolute;top:3px;left:calc(50% + 12px)}\n.bt-side .bt-read-only{margin:4px 8px 6px;padding:8px 10px;border-radius:10px;background:var(--bt-hover);font-size:12px;line-height:1.45;text-align:left}\n[class*="_footArea"]:has(.bt-foot-account){display:flex!important;flex-direction:row!important;align-items:center;gap:6px}\n[class*="_footArea"]:has(.bt-foot-account)>[class*="_footerActions"],[class*="_footArea"]:has(.bt-foot-account)>[class*="_footerActions"]>div{display:contents!important}\n.bt-foot-account{order:-1;flex:none;display:inline-flex}\n[class*="_footArea"]:has(.bt-foot-account) .bt-connect-foot{order:0;flex:1 1 auto;min-width:0;width:auto}\n[class*="_footArea"]:has(.bt-foot-account)>[class*="_settingsArea"]{order:1;flex:none}\n[class*="_footArea"]:has(.bt-foot-account)>[class*="_settingsArea"] button[class*="_trigger"] [class*="_label"]{display:none!important}\n\n/* The update cloud springs in when a newer DS Bot shows up; its arrow drops in a\n loop while the install runs. */\n.bt-round.bt-update{position:relative;color:var(--bt-accent,#4D6BFE);animation:bt-update-in '.concat(b1.duration,"ms ").concat(b1.easing,'}\n.bt-round.bt-update svg{width:17px;height:17px}\n.bt-round.bt-update[data-phase=installed]{color:var(--bt-ink-2)}\n@keyframes bt-update-in{from{opacity:0;transform:scale(.6);filter:blur(4px)}}\n.bt-update[data-phase=installing] .bt-cloud-arrow{animation:bt-cloud-drop 1.1s cubic-bezier(.45,0,.55,1) infinite}\n@keyframes bt-cloud-drop{0%{transform:translateY(-3px);opacity:0}35%{opacity:1}70%{transform:translateY(1px);opacity:1}100%{transform:translateY(2px);opacity:0}}\n.bt-update-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:#E5484D;box-shadow:0 0 0 1.5px var(--bt-sidebar)}\n.bt-update-pop{position:fixed;z-index:130;width:280px;padding:14px 14px 12px;border-radius:14px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);color:var(--bt-ink);box-sizing:border-box;transform-origin:top left;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;animation:bt-update-pop ').concat(b1.duration,"ms ").concat(b1.easing,'}\n@keyframes bt-update-pop{from{opacity:0;transform:scale(.96);filter:blur(4px)}}\n.bt-update-title{font-size:14px;line-height:20px;font-weight:600}\n.bt-update-text{margin-top:2px;font-size:12.5px;line-height:18px;color:var(--bt-ink-2)}\n.bt-update-error{margin-top:8px;font-size:12px;line-height:17px;color:#c21d2e;overflow-wrap:anywhere;max-height:90px;overflow:auto}\n.bt-update-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}\n.bt-update-notes{margin-right:auto;font-size:12.5px;color:var(--bt-ink-2);text-decoration:none}\n.bt-update-notes:hover{color:var(--bt-ink);text-decoration:underline}\n.bt-update-go{height:30px;padding:0 14px;border:0;border-radius:999px;background:var(--bt-accent,#4D6BFE);color:var(--bt-accent-ink,#fff);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .12s ease,transform .12s ease}\n.bt-update-go:hover:not(:disabled){opacity:.9}\n.bt-update-go:active:not(:disabled){transform:scale(.96)}\n.bt-update-go:disabled{opacity:.6;cursor:default}\n.bt-update-dsh:not(:first-child){margin-top:12px;padding-top:12px;border-top:.5px solid var(--bt-line-2)}\n@media (prefers-reduced-motion:reduce){.bt-round.bt-update,.bt-update-pop,.bt-update .bt-cloud-arrow{animation:none}}\n\n/* The DSH Agent row and its expanding Session list. The black whale is the\n harness\'s own mark, so the row reads as "plain dsh" next to the Bot marks. */\n.bt-agent-ava{flex:none;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bt-hover);color:var(--bt-ink)}\n.bt-agent-ava.bt-run{animation:bt-agent-pulse 1.4s ease-in-out infinite}\n@keyframes bt-agent-pulse{0%,100%{opacity:1}50%{opacity:.55}}\n.bt-agent-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows ').concat(b1.duration,"ms ").concat(b1.easing,"}\n.bt-agent-sub[data-open]{grid-template-rows:1fr}\n.bt-agent-sub-in{overflow:hidden;min-height:0;margin-left:44px}\n.bt-agent-sub-row{display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px 5px 8px;border:0;border-radius:8px;background:none;color:var(--bt-ink-2);font:inherit;font-size:13px;line-height:20px;text-align:left;cursor:pointer}\n.bt-agent-sub-row:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-agent-sub-row[aria-current=page]{background:var(--bt-hover);color:var(--bt-ink);font-weight:500}\n.bt-agent-sub-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-agent-sub-time{flex:none;font-size:11px;color:var(--bt-ink-3)}\n.bt-agent-new{color:var(--bt-ink-3)}\n.bt-agent-new svg{width:14px;height:14px;flex:none}\n.bt-agent-edit{padding:3px 10px 3px 4px}\n.bt-agent-edit input{width:100%;border:0;border-radius:6px;background:var(--bt-hover);color:var(--bt-ink);font:inherit;font-size:13px;line-height:20px;padding:2px 8px;outline:none;box-shadow:inset 0 0 0 .5px var(--bt-line-2)}\n.bt-agent-sub[data-open] .bt-agent-sub-row{animation:bt-agent-row-in .24s ease both;animation-delay:calc(var(--i, 0)*30ms)}\n@keyframes bt-agent-row-in{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}\n@media (prefers-reduced-motion:reduce){.bt-agent-sub{transition:none}.bt-agent-sub .bt-agent-sub-row{animation:none}}\n\n.bt-row-wrap{position:relative;display:flex;align-items:center;width:100%;min-width:0}\n.bt-row-wrap>.bt-row{flex:1 1 auto;min-width:0;width:100%}\n.bt-tree-item>.bt-row-wrap{flex:1 1 auto;width:auto;min-width:0}\n/* Gear sits over the row so hover/selected fill the same full-width band as a plain row (#384). */\n.bt-row-settings{position:absolute;right:6px;top:50%;transform:translateY(-50%);z-index:1;flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-3);cursor:pointer;opacity:0;pointer-events:none;transition:background-color .12s ease,color .12s ease,opacity .12s ease}\n.bt-row-wrap:hover>.bt-row,.bt-row-wrap:focus-within>.bt-row{padding-right:36px}\n.bt-row-wrap:hover .bt-row-settings,.bt-row-wrap:focus-within .bt-row-settings{opacity:1;pointer-events:auto;color:var(--bt-ink-2);background:var(--bt-hover)}\n.bt-row-settings:hover{opacity:1;color:var(--bt-ink-2);background:var(--bt-hover)}\n.bt-row-settings svg{width:15px;height:15px}\n");function Mz(e,t,n,a){(0,u1.useEffect)(()=>{t&&n&&a.clearUnread(e)},[t,n])}var u9=()=>(0,u1.createElement)("span",{className:"bt-pin","aria-hidden":!0},(0,u1.createElement)(Up)),$z=(e,t)=>e?e(n=>(n.approvals??[]).some(t)):!1,Lz=(e,t)=>e?e(n=>t(n.rooms??{}).join(",")):"",Sz=e=>e===""?[]:e.split(",").map(t=>{let[n,a]=t.split("|");return{id:n,tool:a||void 0}}),Ez=(e,t,n)=>(0,u1.createElement)(L7,null,"".concat(e," \xB7 ").concat($7(t),"\u2026").concat(n>0?" +".concat(n):""));function Zz({bot:e,roster:t,actions:n,useSessions:a,useSessionStatus:i,useSessionRetainInfo:r,useActivity:s,useWork:c,wide:o,marked:l,asRow:p=!1}){let u=e.id,m=gt(e),d=a(l1=>U7(X7(l1,m,t.exchangeTurns[m],Ep(e,m),K7(t)),t)),f=i(l1=>l1.get(m)?.running===!0),w=r(m,l1=>(l1?.retainedBy?.mainView??0)>0),x=i(l1=>l1.get(m)?.completionUnread===!0||l1.get(m)?.pendingInteraction!==void 0)||l&&!w;Mz(u,w,l,n);let v=O9(t,u),b=t.mainBotId===u&&!p,z=$z(c,l1=>l1.botId===u)||(e.pendingCount??0)>0,$=t.questions?.[m]!==void 0||z,C=s(l1=>l1[u]),j=Sz(Lz(c,l1=>Object.entries(l1).flatMap(([S,R1])=>R1.filter(h0=>h0.botId===u).map(h0=>"".concat(S,"|").concat(h0.tool??""))))),T=!f&&j.length>0,H=Tp(f||T,C,$),E=T?jp(j,t.roomsById):[],R=E.length>0?Ez(t.roomsById[E[0].id]?.name??N("a group chat"),E[0].tool,E.length-1):null;if(!Yl(e)&&!w&&!v)return null;let D=l1=>{l1.preventDefault(),n.openMenu({kind:"bot",id:u,x:l1.clientX,y:l1.clientY})},B=e.pinned===!0&&!b,Q=!!e.remote,O=Q?ut(e):e.name,U=R||d||(Q?e.remote?.gone?N("no longer shared"):N("Friend's Bot"):""),r1=[O,v?N("Main Bot"):"",B?N("Pinned"):"",f||T?N("Working"):"",z?N("Waiting for your approval"):$?N("Waiting for your answer"):"",x?N("Unread activity"):""].filter(Boolean).join(", ");if(b&&o)return(0,u1.createElement)("div",{className:"bt-tile-wrap"},(0,u1.createElement)("button",{type:"button",className:"bt-tile","aria-label":r1,"aria-current":w?"page":void 0,"data-bot-id":u,title:d||e.name,onClick:()=>n.openSession(u),onContextMenu:D},(0,u1.createElement)(bt,{bot:e,size:60,state:H,main:!0}),(0,u1.createElement)("span",{className:"bt-tile-name"},O),x&&!z&&!w?(0,u1.createElement)("span",{className:"bt-unread bt-tile-unread","aria-hidden":!0}):null,e.role?(0,u1.createElement)("span",{className:"bt-chip"},e.role):null));let z1=o&&z&&!w?(0,u1.createElement)("span",{className:"bt-unread bt-unread-wait","aria-hidden":!0}):o&&x&&!w?(0,u1.createElement)("span",{className:"bt-unread","aria-hidden":!0}):null,A1=(0,u1.createElement)("button",{type:"button",className:"bt-row","aria-label":r1,"aria-current":w?"page":void 0,"data-bot-id":u,title:Q?O:Fp(O,Zp(e,t)?.name,o),onClick:()=>n.openSession(u),onContextMenu:D},(0,u1.createElement)(bt,{bot:e,size:36,state:H,main:v}),B&&!o?(0,u1.createElement)(u9):null,o?(0,u1.createElement)("span",{className:"bt-row-body"},(0,u1.createElement)("span",{className:"bt-row-name"},(0,u1.createElement)("span",{className:"bt-row-title"},O),e.remote?(0,u1.createElement)($P,{remote:e.remote}):null,B?(0,u1.createElement)(u9):null),U?(0,u1.createElement)("span",{className:"bt-row-preview"},U):null):null,z1),A=e.remote?N("Bot settings"):N("Edit Bot"),i1=o?(0,u1.createElement)("button",{type:"button",className:"bt-row-settings","aria-label":A,title:A,onFocus:l1=>Az(l1.currentTarget),onClick:l1=>{l1.stopPropagation(),Az(l1.currentTarget),n.openSettings("bots",u)}},(0,u1.createElement)(Wp)):null;return i1?(0,u1.createElement)("div",{className:"bt-row-wrap","data-bot-id":u},A1,i1):A1}function Az(e){let t=()=>{for(let a=e?.parentElement;a;a=a.parentElement)a.scrollLeft>0&&(a.scrollLeft=0);let n=typeof document>"u"?null:document.scrollingElement;n&&n.scrollLeft>0&&(n.scrollLeft=0)};t(),typeof requestAnimationFrame=="function"&&requestAnimationFrame(()=>requestAnimationFrame(t))}function $P({remote:e}){return(0,u1.createElement)("span",{className:"bt-row-remote",title:e.gone?"".concat(e.handle," \xB7 ").concat(N("no longer shared")):e.handle,"aria-label":N("Friend's Bot")},(0,u1.createElement)("svg",{width:11,height:11,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0},(0,u1.createElement)("circle",{cx:12,cy:12,r:9}),(0,u1.createElement)("path",{d:"M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18"})))}function LP(){return(0,u1.createElement)("span",{className:"bt-row-remote bt-row-face",title:N("Face-to-face"),"aria-label":N("Face-to-face")},(0,u1.createElement)("svg",{width:11,height:11,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":!0},(0,u1.createElement)("circle",{cx:9,cy:8,r:3}),(0,u1.createElement)("circle",{cx:16,cy:9,r:2.5}),(0,u1.createElement)("path",{d:"M4 18a5 5 0 0 1 10 0M14 18a4 4 0 0 1 6 0"})))}function SP({room:e,roster:t,actions:n,useSessions:a,useSessionStatus:i,useSessionRetainInfo:r,useWork:s,wide:c,marked:o}){let l=e.id,p=a(R=>U7(X7(R,l,[],[],K7(t)),t)),u=U7(W7(e.preview),t)||p,m=r(l,R=>(R?.retainedBy?.mainView??0)>0),d=i(R=>R.get(l)?.completionUnread===!0)||o&&!m;Mz(l,m,o,n);let f=$z(s,R=>R.roomId===l),w=t.questions?.[l]!==void 0,x=Sz(Lz(s,R=>(R[l]??[]).map(D=>"".concat(D.botId,"|").concat(D.tool??"")))),v=t.byId[x[0]?.id],b=v?Ez(v.name,x[0].tool,x.length-1):null;if(e.hidden&&!m)return null;let _=e.pinned===!0,z=L9(e),$=e.sharedFrom?$9(e.sharedFrom.inviterName):"",C=$&&$!==z?"".concat(z," \xB7 ").concat($):z,j=f||(e.pendingCount??0)>0,T=w||j,H=e.origin==="face-to-face",E=[C,H?N("Face-to-face"):"",_?N("Pinned"):"",x.length>0?N("Working"):"",j?N("Waiting for your approval"):T?N("Waiting for your answer"):""].filter(Boolean).join(", ");return(0,u1.createElement)("button",{type:"button",className:"bt-row","aria-label":E,"aria-current":m?"page":void 0,title:C,"data-room-id":l,onClick:()=>n.openSession(l),onContextMenu:R=>{R.preventDefault(),n.openMenu({kind:"room",id:l,x:R.clientX,y:R.clientY})}},(0,u1.createElement)(E5,{room:e,roster:t,size:36}),_&&!c?(0,u1.createElement)(u9):null,c?(0,u1.createElement)("span",{className:"bt-row-body"},(0,u1.createElement)("span",{className:"bt-row-name"},(0,u1.createElement)("span",{className:H?"bt-row-title bt-row-title-face":"bt-row-title"},H?G9(z):z),H?(0,u1.createElement)(LP):e.sharedFrom?(0,u1.createElement)("span",{className:"bt-tag",title:$},N("Shared")):null,_?(0,u1.createElement)(u9):null),b?(0,u1.createElement)("span",{className:"bt-row-preview"},b):u?(0,u1.createElement)("span",{className:"bt-row-preview"},u):null):null,c&&T&&!m?(0,u1.createElement)("span",{className:"bt-unread bt-unread-wait","aria-hidden":!0}):c&&d&&!m?(0,u1.createElement)("span",{className:"bt-unread","aria-hidden":!0}):null)}var w61=Ce(1e3,63);var wl=class extends u1.Component{constructor(t){super(t),this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(t){console.error("flybot: nodeActions failed",t)}render(){return this.state.failed?null:(0,u1.createElement)(this.props.component,{bot:this.props.bot})}};function Fz({node:e,rowProps:t,markedUnread:n,collapsed:a,toggle:i,actions:r}){let{bot:s,depth:c,children:o}=e,l=a[s.id]===!0;return(0,u1.createElement)(u1.Fragment,null,(0,u1.createElement)("div",{className:"bt-tree-item","data-depth":c,style:{paddingLeft:"".concat(c*16,"px")}},o.length?(0,u1.createElement)("button",{type:"button",className:"bt-tree-toggle","aria-expanded":!l,"aria-label":"".concat(l?N("Expand"):N("Collapse")," ").concat(s.name),onClick:()=>i(s.id)},(0,u1.createElement)("span",{className:"bt-tree-chev","aria-hidden":!0},"\u25BE")):(0,u1.createElement)("span",{className:"bt-tree-toggle bt-tree-leaf","aria-hidden":!0}),(0,u1.createElement)(Zz,{...t,bot:s,asRow:!0,marked:n[s.id]===!0}),typeof r=="function"?(0,u1.createElement)(wl,{component:r,bot:s}):null),l?null:o.map(p=>(0,u1.createElement)(Fz,{key:p.bot.id,node:p,rowProps:t,markedUnread:n,collapsed:a,toggle:i,actions:r})))}function jz({roster:e,selectedId:t,openSession:n,openDetails:a}){let[i,r]=(0,u1.useState)({}),s=m=>r(d=>({...d,[m]:!d[m]})),c=e.mainBotId,o=e.bots.some(m=>m.parentId)?E9(e.bots,c,m=>e.byId[m]?.parentId):[],l={ids:[],byId:{}},p=new Map,u={roster:e,wide:!0,marked:!1,useSessions:m=>m(l),useSessionStatus:m=>m(p),useSessionRetainInfo:(m,d)=>d({retainedBy:{mainView:m===(e.byId[t]?gt(e.byId[t]):t)?1:0}}),useActivity:m=>m({}),actions:{openSession:m=>{(e.byId[m]||e.roomsById[m])&&n(m)},openMenu:({id:m})=>{(e.byId[m]||e.roomsById[m])&&a?.(m)},openSettings:(m,d)=>{(e.byId[d]||e.roomsById[d])&&a?.(d)}}};return(0,u1.createElement)("div",{className:"bt-list",role:"region","aria-label":N("Bot list")},o.length?o.map(m=>(0,u1.createElement)(Fz,{key:m.bot.id,node:m,rowProps:u,markedUnread:{},collapsed:i,toggle:s})):e.bots.map(m=>(0,u1.createElement)(Zz,{...u,key:m.id,bot:m,asRow:!0})),e.rooms.map(m=>(0,u1.createElement)(SP,{...u,key:m.id,room:m})))}var Hz="\nbody{--bt-ink:#141414;--bt-ink-2:rgba(20,20,20,.6);--bt-ink-3:rgba(20,20,20,.36);--bt-bubble:#eeeeee;--bt-sidebar:#f7f7f7;--bt-main:#fcfcfc;--bt-line:rgba(20,20,20,.08);--bt-line-2:rgba(20,20,20,.15);--bt-line-weak:rgba(20,20,20,.1);--bt-hover:rgba(119,119,119,.09);--bt-active:rgba(119,119,119,.17);--bt-card:#ffffff;--bt-accent:#4d6bfe;--bt-green:#00c972;--bt-star:#ff9800;--bt-user:#070707;--bt-user-ink:#fcfcfc;--bt-tag-bg:rgba(20,20,20,.06);--bt-tag-ink:rgba(20,20,20,.56)}\nbody[data-ds-dark-theme]{--bt-ink:#f2f2f2;--bt-ink-2:rgba(242,242,242,.6);--bt-ink-3:rgba(242,242,242,.36);--bt-bubble:#262626;--bt-sidebar:#1b1b1b;--bt-main:#141414;--bt-line:rgba(255,255,255,.08);--bt-line-2:rgba(255,255,255,.15);--bt-line-weak:rgba(255,255,255,.1);--bt-hover:rgba(160,160,160,.12);--bt-active:rgba(160,160,160,.2);--bt-card:#1f1f1f;--bt-user:#f2f2f2;--bt-user-ink:#141414;--bt-tag-bg:rgba(255,255,255,.09);--bt-tag-ink:rgba(242,242,242,.62)}\n".concat(Object.entries(Ke).map(([e,[t]])=>"body{--bt-ink-".concat(e,":").concat(t,"}")).join(""),"\n").concat(Object.entries(Ke).map(([e,[,t]])=>"body[data-ds-dark-theme]{--bt-ink-".concat(e,":").concat(t,"}")).join(""),'\n.bt-mark{display:inline-block;flex:none;position:relative;line-height:0}\n.bt-mark svg{width:100%;height:100%;overflow:visible}\n.bt-mark-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;box-shadow:inset 0 0 0 1px var(--bt-line)}\n.bt-mark-emoji{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;user-select:none}\n.bt-mark .bt-b,.bt-mark .bt-eye,.bt-mark .bt-eyes,.bt-mark .bt-gaze{transform-box:fill-box}\n.bt-mark .bt-b{transform-origin:50% 100%}\n.bt-mark .bt-eye,.bt-mark .bt-eyes{transform-origin:center}\n/* Motion levels (Settings \u2192 Bots \u2192 Animation) set body[data-bt-motion]: quiet moves a\n mark only for its state; normal, the default, adds petting, pokes and eyes that follow\n the pointer; lively adds blinks and fidgets at rest and a question riding on the head. */\nbody[data-bt-motion=lively] .bt-mark[data-live]:is([data-state=idle],[data-state=alert]) .bt-eye{animation:bt-blink-idle 5s linear infinite;animation-delay:var(--bt-delay,0s)}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle]:is([data-fidget=hop],[data-fidget=sway],[data-fidget=stretch]) :is(.bt-b,.bt-mark-img){animation:var(--bt-fidget) 9s ease-in-out var(--bt-fidget-delay,0s) infinite}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=hop]{--bt-fidget:bt-fidget-hop}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=sway]{--bt-fidget:bt-fidget-sway}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=stretch]{--bt-fidget:bt-fidget-stretch}\nbody[data-bt-motion=lively] .bt-mark[data-live][data-state=idle][data-fidget=look] .bt-eyes{animation:bt-fidget-look 9s ease-in-out var(--bt-fidget-delay,0s) infinite}\n@keyframes bt-fidget-hop{0%,8%,100%{transform:none}3%{transform:translateY(-10%) scale(.97,1.04)}5.5%{transform:translateY(0) scale(1.05,.95)}}\n@keyframes bt-fidget-sway{0%,10%,100%{transform:none}2.5%{transform:rotate(-8deg)}5%{transform:rotate(7deg)}7.5%{transform:rotate(-3deg)}}\n@keyframes bt-fidget-stretch{0%,9%,100%{transform:none}4%{transform:scale(.94,1.08)}7%{transform:scale(1.03,.97)}}\n@keyframes bt-fidget-look{0%,22%,100%{transform:none}3%,9%{transform:translateX(-14%)}12%,19%{transform:translateX(14%)}}\nbody[data-bt-motion=lively] .bt-badge-alert{right:auto;bottom:auto;left:50%;top:calc(var(--bt-size,36px) * -.14);translate:-50% 0;animation:bt-q-ride 1.3s cubic-bezier(.3,.7,.4,1) infinite}\nbody[data-bt-motion=lively] :is(.bt-row,.bt-tile)>.bt-mark:hover .bt-badge-alert{animation:none}\n.bt-tree-item{position:relative;display:flex;align-items:center;min-width:0}\n.bt-tree-item>.bt-row{flex:1 1 auto;min-width:0}\n.bt-tree-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-3);font-size:16px;line-height:1;cursor:pointer}\n.bt-tree-toggle:not(.bt-tree-leaf):hover{background:var(--bt-hover)}\n.bt-tree-toggle:focus-visible{outline:2px solid var(--bt-accent);outline-offset:1px}\n.bt-tree-chev{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:16px;line-height:1;transition:transform .12s ease}\n.bt-tree-toggle[aria-expanded=false] .bt-tree-chev{transform:rotate(-90deg)}\n.bt-tree-leaf{cursor:default}\n@keyframes bt-q-ride{0%,55%,100%{transform:translateY(0)}20%{transform:translateY(calc(var(--bt-size,36px) * -.14))}40%{transform:translateY(0)}}\n/* Petting: with the pointer on a sidebar avatar or just around it (a ring a fifth of its\n size wide), a resting mark leans into the pointer and keeps nuzzling it, its eyes\n closed in a happy arc, and springs back when the pointer leaves. */\n:is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster)::before{content:\'\';position:absolute;inset:-20%;border-radius:50%}\n.bt-mark[data-live] .bt-b,.bt-mark[data-live] .bt-mark-img{transition:rotate .5s cubic-bezier(.34,1.56,.64,1),translate .5s cubic-bezier(.34,1.56,.64,1),scale .3s ease-out}\n.bt-mark[data-live] .bt-eye{transition:scale .14s ease-in}\n.bt-mark[data-live] .bt-eye-happy{transition:opacity .12s ease-out}\nbody:not([data-bt-motion=quiet]) :is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster):hover .bt-mark[data-live]:is([data-state=idle],[data-state=alert]):not(.bt-mark-poke) :is(.bt-b,.bt-mark-img){rotate:8deg;translate:5% -1%;animation:bt-nuzzle .78s ease-in-out .32s infinite}\nbody:not([data-bt-motion=quiet]) :is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster):hover .bt-mark[data-live]:is([data-state=idle],[data-state=alert]) .bt-eye{scale:1 0;animation:none}\nbody:not([data-bt-motion=quiet]) :is(.bt-row,.bt-tile)>:is(.bt-mark,.bt-cluster):hover .bt-mark[data-live]:is([data-state=idle],[data-state=alert]) .bt-eye-happy{opacity:1;transition-delay:.1s}\n@keyframes bt-nuzzle{50%{rotate:14deg;translate:8% -3%;scale:1.03 .97}}\n.bt-mark[data-gaze] .bt-b{translate:calc(var(--bt-gx,0) * 5%) calc(var(--bt-gy,0) * 4%);transition:translate .18s ease-out}\n.bt-mark[data-gaze] .bt-gaze{transform:translate(calc(var(--bt-gx,0) * 12%),calc(var(--bt-gy,0) * 11%));transition:transform .18s ease-out}\nbody[data-bt-motion=quiet] .bt-mark[data-gaze] .bt-b{translate:none}\nbody[data-bt-motion=quiet] .bt-mark[data-gaze] .bt-gaze{transform:none}\n.bt-mark[data-state=thinking] .bt-b{animation:bt-ponder 2.2s ease-in-out infinite}\n.bt-mark[data-state=thinking] .bt-eyes{animation:bt-squint 2.2s ease-in-out infinite}\n.bt-mark[data-state=searching] .bt-b{animation:bt-seek 1s ease-in-out infinite}\n.bt-mark[data-state=searching] .bt-eyes{animation:bt-scan 1.6s ease-in-out infinite}\n.bt-mark[data-state=working] .bt-b{animation:bt-bob 1.6s ease-in-out infinite}\n.bt-mark[data-state=working]:is([data-shape=star],[data-shape=hex],[data-shape=plus],[data-shape=gem],[data-shape=magnet],[data-shape=ring]) .bt-b{animation:bt-wiggle 1.4s ease-in-out infinite;transform-origin:50% 50%}\n.bt-mark[data-state=working]:is([data-shape=gumdrop],[data-shape=peanut],[data-shape=cushion],[data-shape=squircle],[data-shape=moon],[data-shape=wave]) .bt-b{animation:bt-squash 1.2s ease-in-out infinite}\n.bt-mark[data-state=working] .bt-eye{animation:bt-blink 2.4s ease-in-out infinite}\n.bt-mark[data-state=sending] .bt-b{animation:bt-dash 1.1s cubic-bezier(.4,0,.2,1) infinite}\n.bt-mark[data-state=orbit] .bt-b{animation:bt-sway 2.6s ease-in-out infinite;transform-origin:50% 50%}\n.bt-mark[data-state=orbit] .bt-eyes{animation:bt-roll 2.6s linear infinite}\n/* A question for you hops twice when it arrives and the badge keeps it in view after;\n a lively mark keeps hopping. */\n.bt-mark[data-state=alert] .bt-b{animation:bt-hop 1.3s cubic-bezier(.3,.7,.4,1) 2}\n.bt-mark[data-shape=image]:not([data-state=idle]) .bt-mark-img{animation:bt-bob 1.6s ease-in-out infinite}\n.bt-mark[data-shape=image][data-state=alert] .bt-mark-img{animation:bt-hop 1.3s cubic-bezier(.3,.7,.4,1) 2}\nbody[data-bt-motion=lively] .bt-mark[data-state=alert] :is(.bt-b,.bt-mark-img){animation-iteration-count:infinite}\n.bt-mark[data-state=done] .bt-b{animation:bt-done 1.8s linear 1}\n.bt-mark[data-shape=image][data-state=done] .bt-mark-img{animation:bt-done 1.8s linear 1;transform-origin:50% 100%}\n@keyframes bt-done{0%{transform:none;animation-timing-function:cubic-bezier(.4,0,.2,1)}13.3%{transform:scale(1.12,.88);animation-timing-function:cubic-bezier(.4,0,.2,1)}25.6%{transform:scale(.93,1.09);animation-timing-function:cubic-bezier(.4,0,.2,1)}37.8%{transform:scale(1.04,.97);animation-timing-function:cubic-bezier(.4,0,.2,1)}51.1%,100%{transform:none}}\n.bt-mark-poke .bt-b{animation:bt-poke .8s cubic-bezier(.3,.7,.4,1) 1!important;transform-origin:50% 60%!important}\n.bt-mark-poke .bt-mark-img{animation:bt-poke-img .6s ease-out 1!important}\n.bt-mark[data-poke]{cursor:pointer}\nbody[data-bt-motion=quiet] .bt-mark-poke :is(.bt-b,.bt-mark-img){animation:none!important}\nbody[data-bt-motion=quiet] .bt-mark[data-poke]{cursor:default}\n@keyframes bt-bob{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-4%) rotate(-5deg)}65%{transform:translateY(0) rotate(4deg)}}\n@keyframes bt-wiggle{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(-12deg) scale(1.04)}75%{transform:rotate(12deg) scale(1.04)}}\n@keyframes bt-squash{0%,100%{transform:scale(1,1)}30%{transform:scale(1.08,.9)}55%{transform:translateY(-4%) scale(.94,1.08)}80%{transform:scale(1.02,.98)}}\n@keyframes bt-ponder{0%,100%{transform:translateY(0) rotate(4deg)}50%{transform:translateY(-3%) rotate(7deg)}}\n@keyframes bt-squint{0%,100%{transform:translate(0,-4%) scaleY(.7)}50%{transform:translate(5%,-5%) scaleY(.78)}}\n@keyframes bt-seek{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5%) rotate(-1deg)}}\n@keyframes bt-scan{0%,100%{transform:translateX(-12%)}50%{transform:translateX(12%)}}\n@keyframes bt-dash{0%,100%{transform:translateX(0) rotate(0)}35%{transform:translateX(9%) rotate(7deg)}55%{transform:translateX(-2%) rotate(-3deg)}}\n@keyframes bt-sway{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}\n@keyframes bt-roll{0%,100%{transform:translate(12%,0)}25%{transform:translate(0,9%)}50%{transform:translate(-12%,0)}75%{transform:translate(0,-9%)}}\n@keyframes bt-hop{0%,55%,100%{transform:translateY(0) scale(1,1)}20%{transform:translateY(-14%) scale(.96,1.05)}40%{transform:translateY(0) scale(1.06,.94)}}\n@keyframes bt-poke{0%{transform:none}55%{transform:translateY(-16%) rotate(360deg)}78%{transform:translateY(0) scale(1.08,.92) rotate(360deg)}100%{transform:rotate(360deg)}}\n@keyframes bt-poke-img{0%,100%{transform:scale(1)}40%{transform:scale(1.14) rotate(-6deg)}}\n/* Idle clip: two .26s blinks (lid to 3%, then a 6% overshoot) at 1.48s and 3.46s. */\n@keyframes bt-blink-idle{0%,29.6%,35%,69.2%,74.6%,100%{transform:scaleY(1)}32.2%,71.8%{transform:scaleY(.03)}33.8%,73.4%{transform:scaleY(1.06)}}\n@keyframes bt-blink{0%,42%,50%,100%{transform:scaleY(1)}46%{transform:scaleY(.03)}48%{transform:scaleY(1.06)}}\n@media (prefers-reduced-motion:reduce){.bt-mark *{animation:none!important;transition:none!important}}\n.bt-badge{position:absolute;right:0;bottom:0;width:12px;height:12px;border-radius:50%;corner-shape:round;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px var(--bt-sidebar)}\n.bt-badge-admin{background:color-mix(in srgb,var(--bt-star) 82%,var(--bt-sidebar))}\n.bt-badge-admin svg{width:7px;height:7px}\n.bt-badge-main{right:calc(var(--bt-size,36px) * -.07);bottom:calc(var(--bt-size,36px) * -.07);width:clamp(14px,calc(var(--bt-size,36px) * .36),22px);height:clamp(14px,calc(var(--bt-size,36px) * .36),22px);border-radius:0;box-shadow:none}\n.bt-badge-main svg{width:100%;height:100%;overflow:visible}\n.bt-badge-main path{fill:var(--bt-star);stroke:var(--bt-sidebar);stroke-width:2.6;stroke-linejoin:round;paint-order:stroke}\n.bt-badge-alert{background:color-mix(in srgb,var(--bt-accent) 78%,var(--bt-sidebar));color:var(--bt-accent-ink,#fff);font-size:8.5px;line-height:12px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-badge-working{background:color-mix(in srgb,var(--bt-green) 82%,var(--bt-sidebar));width:8px;height:8px;right:1px;bottom:1px}\n.bt-cluster{position:relative;display:inline-block;flex:none;line-height:0}\n.bt-cluster>*{position:absolute}\n.bt-cluster-more,.bt-cluster-you{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bt-active);color:var(--bt-ink-3);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}\n.bt-cluster-you{background:color-mix(in srgb,var(--bt-ink) 12%,transparent)}\n.bt-stack{display:inline-flex;align-items:center;flex:none;line-height:0}\n.bt-stack>*+*{margin-left:calc(var(--bt-stack-size) * -.3)}\n.bt-stack-more{font-size:11px;line-height:16px;color:var(--bt-ink-3);margin-left:3px!important}\n\n.bt-side{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;gap:2px;padding:0 12px 8px 0;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-side-top{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:6px 5px 0 0}\n.bt-brand{display:inline-flex;align-items:center;gap:6px;margin-right:auto;padding:4px 8px 4px 4px;border:0;border-radius:8px;background:none;cursor:pointer;font-family:inherit;font-size:15px;line-height:20px;font-weight:600;letter-spacing:-.01em;color:var(--bt-ink);white-space:nowrap}\n.bt-brand-mark{display:inline-flex;line-height:0}\n.bt-flybot-mark{display:block;flex:none}\n.bt-flybot-mark .bt-flybot-wing{fill:#8FB2FF}\n.bt-flybot-mark .bt-flybot-body{fill:#3B5BFD}\n.bt-flybot-mark .bt-flybot-eye{fill:#fff}\n[data-ds-dark-theme] .bt-flybot-mark .bt-flybot-wing{fill:#A9C2FF}\n[data-ds-dark-theme] .bt-flybot-mark .bt-flybot-body{fill:#6E87FF}\n[data-ds-dark-theme] .bt-flybot-mark .bt-flybot-eye{fill:#0F1530}\n.bt-round{width:36px;height:36px;border-radius:50%;border:1px solid var(--bt-line);background:var(--bt-main);color:var(--bt-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color .12s ease,transform .12s ease}\n.bt-round:hover{background:var(--bt-hover)}\n.bt-round:active{transform:scale(.94)}\n.bt-list{display:flex;flex-direction:column;gap:3px;overflow-y:auto;min-height:0;flex:1 1 auto}\n.bt-tile-wrap{display:flex;justify-content:center;padding:20px 0 15px}\n.bt-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;width:95px;padding:6px 8px 4px;border-radius:12px;border:0;background:transparent;color:var(--bt-ink);cursor:pointer;font-family:inherit;transition:background-color .12s ease}\n.bt-tile:hover{background:var(--bt-hover)}\n.bt-tile[aria-current=page]{background:var(--bt-active)}\n.bt-tile-unread{position:absolute;top:8px;right:12px}\n.bt-tile-name{font-size:13px;line-height:18px;font-weight:400;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-chip{font-size:11px;line-height:16px;padding:1px 4px;border-radius:4px;background:var(--bt-hover);border:1px solid var(--bt-line);color:var(--bt-ink-2);white-space:nowrap;max-width:84px;overflow:hidden;text-overflow:ellipsis}\n.bt-row{display:flex;align-items:center;gap:8px;min-height:54px;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--bt-ink);text-align:left;cursor:pointer;width:100%;box-sizing:border-box;font-family:inherit;transition:background-color .12s ease}\n.bt-row:hover{background:var(--bt-hover)}\n.bt-row[aria-current=page]{background:var(--bt-active)}\n.bt-row-body{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}\n.bt-row-name{display:flex;align-items:center;gap:6px;min-width:0;font-size:14px;line-height:20px;font-weight:400}\n.bt-row-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-row-title.bt-row-title-face{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}\n.bt-row-remote{flex:none;display:inline-flex;align-items:center;color:var(--bt-ink-2)}\n.bt-tag{flex:none;max-width:96px;font-size:12px;line-height:16px;font-weight:400;padding:1px 6px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-row-preview{font-size:13px;line-height:18px;color:var(--bt-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-unread{width:8px;height:8px;border-radius:50%;background:#1084fe;flex:none;margin-right:2px;animation:bt-fade .13s cubic-bezier(.22,1,.36,1)}\n.bt-unread-wait{background:var(--bt-star)}\n.bt-shared-from,.bt-shared-wait{display:flex;flex-direction:column;gap:6px;padding:8px 0}\n.bt-shared-wait .bt-set-row{min-width:0}\n.bt-shared-wait .bt-set-copy{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}\n.bt-rail{align-items:center;padding:0 0 8px}\n.bt-rail .bt-row{justify-content:center;padding:6px 0;min-height:44px}\n.bt-side-foot{display:flex;padding-top:8px}\n.bt-connect{flex:1;height:36px;border-radius:999px;border:1px solid var(--bt-line);background:var(--bt-main);color:var(--bt-ink);font-family:inherit;font-size:14px;line-height:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color .12s ease}\n.bt-connect:hover{background:var(--bt-hover)}\n.bt-connect svg{flex:none;width:15px;height:15px}\n.bt-connect-wrap{position:relative;display:flex;flex:1 1 auto;min-width:0}ms ').concat(b1.easing,"}\n@keyframes bt-tip-in{from{opacity:0;transform:scale(.96);filter:blur(4px)}}\n@media (prefers-reduced-motion:reduce){}\n\n.bt-head{position:relative;display:flex;justify-content:center;align-items:center;height:40px;flex:none;pointer-events:none}\n.bt-pill{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;height:40px;padding:7.5px 13.5px 7.5px 7.5px;border-radius:999px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 2px 8px -1px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);color:var(--bt-ink);font-family:inherit;font-size:14px;line-height:20px;cursor:pointer;max-width:70%;box-sizing:border-box;transition:background-color .12s ease,transform ").concat(q1.duration,"ms ").concat(q1.easing,"}\n.bt-pill:hover{background:color-mix(in srgb,var(--bt-main),#777 9%)}\n.bt-pill:active{transform:scale(.965)}\n.bt-pill-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}\n.bt-pill:has(.bt-pill-name-face){height:auto;min-height:40px;align-items:flex-start}\n.bt-pill-name.bt-pill-name-face{min-width:0;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}\n.bt-pill-mem{flex:none;display:inline-flex;width:0;margin-left:-8px;overflow:hidden;transition:").concat(w0(b1,"width","margin-left"),"}\n.bt-pill[data-memory=updated] .bt-pill-mem{width:var(--bt-mem-w);margin-left:0;transition:").concat(w0(uz,"width","margin-left"),"}\n.bt-pill-mem-in{flex:none;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--bt-ink-2);font-size:13px;font-weight:500;opacity:0;filter:blur(6px);transform:translateX(-8px);transition:opacity .14s ease,filter .18s ease,").concat(w0(b1,"transform"),'}\n.bt-pill-mem-in::before{content:"";flex:none;width:1px;height:14px;margin-right:4px;background:var(--bt-line-2)}\n.bt-pill[data-memory=updated] .bt-pill-mem-in{opacity:1;filter:none;transform:none;transition-delay:70ms}\n.bt-pill-mem-ico{flex:none;display:inline-flex;width:16px;height:16px;color:var(--bt-accent)}\n.bt-pill-mem-ico svg{width:16px;height:16px}\n.bt-pill[data-memory=updated] .bt-pill-mem-ico{animation:bt-mem-pop ').concat(G1.duration,"ms ").concat(G1.easing," 90ms both}\n@keyframes bt-mem-pop{from{transform:scale(.4) rotate(-14deg)}to{transform:none}}\n.bt-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n@media (prefers-reduced-motion:reduce){.bt-pill-mem,.bt-pill-mem-in{transition:none!important}.bt-pill-mem-in{filter:none;transform:none}.bt-pill[data-memory=updated] .bt-pill-mem-ico{animation:none}}\n.bt-swap{color:var(--bt-ink-3);font-size:12px}\n.bt-pill-go{flex:none;display:inline-flex;align-items:center;justify-content:flex-end;width:0;margin-left:-8px;overflow:hidden;opacity:0;filter:blur(6px);transform:translateX(-6px);color:var(--bt-ink-2);transition:width ").concat(b1.duration,"ms ").concat(b1.easing,",margin-left ").concat(b1.duration,"ms ").concat(b1.easing,",transform ").concat(b1.duration,"ms ").concat(b1.easing,",opacity .18s ease,filter .18s ease}\n.bt-pill-go svg{flex:none;transition:transform ").concat(b1.duration,"ms ").concat(b1.easing,'}\n.bt-pill:hover .bt-pill-go,.bt-pill:focus-visible .bt-pill-go,.bt-pill[aria-expanded=true] .bt-pill-go{width:18px;margin-left:0;opacity:1;filter:none;transform:none}\n.bt-pill[aria-expanded=true] .bt-pill-go svg{transform:rotate(180deg)}\n.bt-pill[data-memory=updated]:is(:hover,:focus-visible,[aria-expanded=true]) .bt-pill-go{width:0;margin-left:-8px;opacity:0;filter:blur(6px);transform:translateX(-6px)}\n@media (prefers-reduced-motion:reduce){.bt-pill,.bt-pill-go,.bt-pill-go svg{transition:none!important}.bt-pill-go{filter:none}.bt-pill:active{transform:none}}\n\n.bt-astack{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0}\n.bt-bubble{max-width:min(80%,560px,calc(100% - 82px));background:var(--bt-bubble);color:var(--bt-ink);border-radius:18px;padding:7px 12px;font-size:var(--dsh-content-font-size,14px);line-height:calc(var(--dsh-content-font-size,14px) + 8px);box-sizing:border-box;overflow-wrap:anywhere}\n.bt-event.bt-not-sent{gap:6px;color:var(--bt-ink-3)}\n.bt-msg:not(:first-child)>.bt-msg-line>.bt-bubble{border-start-start-radius:6px}\n.bt-msg:not(:last-child)>.bt-msg-line>.bt-bubble{border-end-start-radius:6px}\n.bt-bubble [class*="_markdown"]>*+*{margin-top:10px}\n.bt-bubble [class*="_markdown"]{color:inherit!important;font-size:inherit!important;line-height:inherit!important}\n.bt-bubble p{margin:0}\n.bt-bubble p + p{margin-top:6px}\n.bt-bubble ul,.bt-bubble ol{margin:4px 0;padding-left:20px}\n.bt-bubble a[href^="').concat(k4,'"]{text-decoration:none;font-weight:400;cursor:pointer;white-space:nowrap}\n.bt-bubble a[href^="').concat(k4,'"]::before{content:"";display:inline-block;width:16px;height:16px;margin-right:3px;vertical-align:-3px;background:currentColor;-webkit-mask:').concat(R9," center/contain no-repeat;mask:").concat(R9," center/contain no-repeat}\n.bt-group-msg{display:flex;flex-direction:column;gap:4px;margin:16px 0 0}\n.bt-group-msg:first-child{margin-top:0}\n.bt-lead{flex:none;display:flex;margin-bottom:1px}\nbutton.bt-lead{border:0;background:none;padding:0;cursor:pointer}\n/* Rows without the avatar start where the bubble beside it starts: 22px avatar + 8px gap. */\n.bt-astack[data-lead]>.bt-msg:not(:last-child)>.bt-msg-line,.bt-astack[data-lead] .bt-reacts{margin-left:30px}\n.bt-group-name{font-size:12px;line-height:16px;font-weight:500;margin-left:42px}\n.bt-x{border:0;background:none;color:var(--bt-ink-2);cursor:pointer;width:24px;height:24px;border-radius:6px;font-size:16px;line-height:24px;padding:0;transition:background-color .12s ease,color .12s ease,").concat(w0(q1,"scale"),'}\n.bt-x:hover{background:var(--bt-hover);color:var(--bt-ink)}\n\n.bt-q{margin:0 auto 8px;width:100%;max-width:var(--dsh-chat-content-width,748px);display:flex;flex-direction:column;gap:12px;--bt-q-edge:color-mix(in srgb,var(--bt-ink) 10%,transparent);--bt-q-rule:color-mix(in srgb,var(--bt-ink) 8%,transparent);--bt-q-rule-2:color-mix(in srgb,var(--bt-ink) 5%,transparent);background:var(--bt-card);box-shadow:0 1px 3px rgba(20,20,20,.04),inset 0 0 0 1px var(--bt-q-edge);border-radius:16px;padding:14px 16px;box-sizing:border-box;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;animation:bt-q-in ').concat(b1.duration,"ms ").concat(b1.easing," backwards,bt-veil-in .2s ease-out backwards}\nbody[data-ds-dark-theme] .bt-q{--bt-q-edge:rgba(255,255,255,.16);--bt-q-rule:rgba(255,255,255,.12);--bt-q-rule-2:rgba(255,255,255,.08)}\n@keyframes bt-q-in{from{transform:translateY(10px) scale(.97)}}\n.bt-q-settled{animation:none}\n.bt-q-head{display:flex;align-items:flex-start;gap:8px;min-width:0}\n.bt-q-text{flex:1 1 0;min-width:0;display:flex;flex-direction:column}\n.bt-q-title{margin:0;font-size:15px;line-height:22px;font-weight:600;overflow-wrap:anywhere}\n.bt-q-detail{font-size:13px;line-height:18px;color:var(--bt-ink-2)}\n.bt-q-x{flex:none;width:20px;height:20px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease,").concat(w0(q1,"scale"),'}\n.bt-q-x svg{width:14px;height:14px}\n.bt-q-x:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-q-x:focus-visible,.bt-q-opt:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px}\n.bt-q-list{display:flex;flex-direction:column;gap:1px;min-width:0;box-sizing:border-box;margin:0 -8px}\n.bt-q-opt{position:relative;display:flex;align-items:flex-start;gap:16px;width:100%;min-width:0;box-sizing:border-box;margin:0;border:0;border-radius:12px;background:transparent;padding:10px 8px;font:inherit;color:var(--bt-ink);text-align:start;cursor:pointer;transition:background-color .12s ease}\n.bt-q:not(.bt-q-raised)>.bt-q-head:has(+.bt-q-list){padding-bottom:12px;border-bottom:1px solid var(--bt-q-rule)}\n.bt-q:not(.bt-q-raised)>.bt-q-head+.bt-q-list{margin-top:-6px}\n.bt-q-opt+.bt-q-opt::before{content:"";position:absolute;left:calc(var(--bt-key,24px) + 24px);right:8px;top:-1px;height:1px;background:var(--bt-q-rule-2);transition:opacity .12s ease;pointer-events:none}\nbutton.bt-q-opt:hover::before,button.bt-q-opt:hover+.bt-q-opt::before,.bt-q-opt[aria-pressed=true]::before,.bt-q-opt[aria-pressed=true]+.bt-q-opt::before{opacity:0}\n.bt-q-raised .bt-q-opt::before{display:none}\nbutton.bt-q-opt:hover{background:var(--bt-hover)}\nbutton.bt-q-opt:active{background:var(--bt-active)}\n.bt-q-opt[aria-pressed=true]{background:var(--bt-active)}\n.bt-q:not(.bt-q-raised) :is(button.bt-q-opt:hover,.bt-q-opt[aria-pressed=true]) .bt-key{background:var(--bt-card);color:var(--bt-ink)}\n.bt-key{flex:none;box-sizing:border-box;width:var(--bt-key,24px);height:var(--bt-key,24px);border-radius:8px;background:var(--bt-hover);color:var(--bt-ink-2);font-size:12px;line-height:var(--bt-key,24px);font-weight:500;text-align:center;font-variant-numeric:tabular-nums;transition:background-color .12s ease,color .12s ease}\n.bt-q-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px;padding-top:2px}\n/* With a description the key spans the two text lines less 2px above and below. */\n.bt-q-opt:has(.bt-q-desc){--bt-key:34px}\n.bt-q-opt:has(.bt-q-desc) .bt-key{margin-top:2px;border-radius:10px;font-size:13px}\n.bt-q-opt:has(.bt-q-desc) .bt-q-body{padding-top:0}\n.bt-q-label{font-size:14px;line-height:20px;font-weight:500;white-space:normal;overflow-wrap:anywhere}\n.bt-q-desc{font-size:12px;line-height:17px;color:var(--bt-ink-2);overflow-wrap:anywhere}\n.bt-q-check{flex:none;display:inline-flex;align-items:center;color:var(--bt-ink-2);animation:bt-check-pop ').concat(G1.duration,"ms ").concat(G1.easing," backwards}\n.bt-q-settled .bt-q-check{animation:none}\n.bt-q-check svg{width:16px;height:16px}\n.bt-q-settled .bt-key{opacity:.4}\n.bt-q-settled .bt-q-label{color:color-mix(in srgb,var(--bt-ink) 45%,transparent)}\n.bt-q-dismissed .bt-q-title{color:var(--bt-ink-2)}\n.bt-q.bt-q-settled{gap:6px;padding:12px 16px}\n.bt-q-settled .bt-q-title{font-size:14px;line-height:20px;font-weight:500}\n.bt-q.bt-q-settled>.bt-q-head:has(+.bt-q-list){padding-bottom:0;border-bottom:0}\n.bt-q.bt-q-settled>.bt-q-head+.bt-q-list{margin-top:0}\n.bt-q-settled .bt-q-opt{padding:4px 8px}\n.bt-q-badge{flex:none;height:20px;padding:0 7px;border-radius:999px;border:1px dotted var(--bt-line-2);color:var(--bt-ink-2);font-size:12px;line-height:18px;box-sizing:border-box}\n.bt-q-custom{display:flex;align-items:flex-start;gap:8px;width:100%;min-width:0}\n.bt-q-field{flex:1 1 0;min-width:0;display:flex;box-sizing:border-box;min-height:32px;padding:5px 11px;border-radius:8px;border:.5px solid var(--bt-line-2);background:none;cursor:text;transition:border-color .12s ease}\n.bt-q-field:focus-within{border-color:color-mix(in srgb,var(--bt-ink) 30%,transparent)}\n.bt-q-input{flex:1;width:100%;min-width:0;max-height:120px;margin:0;padding:0;border:0;outline:none;background:transparent;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;resize:none;overflow-y:hidden;white-space:pre-wrap;overflow-wrap:anywhere}\n.bt-q-input:not(:placeholder-shown){field-sizing:content}\n.bt-q-input::placeholder{color:var(--bt-ink-3)}\n.bt-q-submit,.bt-q-btn{flex:none;height:36px;padding:0 14px;border:0;border-radius:999px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .12s ease,background-color .12s ease,").concat(w0(q1,"scale"),"}\n.bt-q-submit{background:var(--bt-accent);color:var(--bt-accent-ink,#fff);animation:bt-q-submit-in ").concat(q1.duration,"ms ").concat(q1.easing," backwards,bt-veil-in .16s ease-out backwards}\n@keyframes bt-q-submit-in{from{transform:translateX(8px) scale(.9)}}\n.bt-q-submit:hover:not(:disabled){opacity:.86}\n.bt-q-submit:disabled{opacity:.4;cursor:default}\n.bt-q-btn{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-q-btn:hover{background:var(--bt-active)}\n.bt-q-foot{display:flex;justify-content:flex-end;gap:8px}\n.bt-q-raised{width:calc(var(--dsh-chat-content-width,748px) - 32px);max-width:calc(100% - 32px);gap:0;padding:0;box-shadow:0 2px 8px rgba(20,20,20,.035),inset 0 0 0 .5px color-mix(in srgb,var(--bt-ink) 5%,transparent)}\n.bt-q-raised .bt-q-head{padding:14px 16px 4px 20px}\n.bt-q-raised .bt-q-head:last-child{padding-bottom:16px}\n.bt-q-raised .bt-q-list{gap:1px;margin:0;padding:8px}\n.bt-q-raised .bt-q-opt{gap:4px;padding:7px;border-radius:16px;color:var(--bt-ink-2)}\n.bt-q-raised button.bt-q-opt:hover{color:var(--bt-ink)}\n.bt-q-raised .bt-q-opt[aria-pressed=true]{background:transparent;color:var(--bt-ink)}\n.bt-q-raised .bt-q-opt[aria-pressed=true]:hover{background:var(--bt-hover)}\n.bt-q-raised .bt-q-opt[aria-pressed=true] .bt-key,.bt-q-ownrow:focus-within .bt-key,.bt-q-ownrow[data-filled] .bt-key{background:var(--bt-user);color:var(--bt-user-ink)}\n.bt-q-raised .bt-q-body{padding:2px 6px 0}\n.bt-q-raised .bt-q-desc{color:color-mix(in srgb,var(--bt-ink) 61%,transparent)}\n.bt-q-ownrow{cursor:text}\n.bt-q-ownrow .bt-q-input{color:var(--bt-ink)}\n.bt-q-raised .bt-q-foot{padding:0 8px 8px}\n@media (prefers-reduced-motion:reduce){.bt-q{animation:bt-fade .12s ease-out backwards}.bt-q-settled{animation:none}.bt-q-submit{animation:none}}\n\n.bt-newchat{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;animation:bt-veil-in .18s ease-out}\n.bt-pane[data-menu]{background:transparent}.bt-pane[data-menu] .bt-newchat{flex:none;align-self:flex-start;width:min(280px,calc(100% - 16px));max-height:calc(100% - 16px);margin:8px;overflow:auto;background:var(--bt-card);border:1px solid var(--bt-line-2);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.14),0 2px 6px rgba(0,0,0,.06)}.bt-newchat[data-menu] .bt-drop{position:relative;top:0;left:0;width:auto;max-height:none;margin:0;box-shadow:none;border:0;max-width:none}\n.bt-to{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:48px;padding:6px 12px;border-bottom:1px solid var(--bt-line);font-size:14px;box-sizing:border-box}\n.bt-to-label{color:var(--bt-ink-2)}\n.bt-to input{flex:1;min-width:120px;border:0;outline:none;background:none;color:var(--bt-ink);font-size:14px;height:26px}\n.bt-token{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 6px 0 4px;border-radius:999px;background:var(--bt-hover);font-size:13px;animation:bt-check-pop ").concat(G1.duration,"ms ").concat(G1.easing,"}\n.bt-token button{border:0;background:none;color:var(--bt-ink-2);cursor:pointer;padding:0 2px}\n.bt-admin-star{flex:none;display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:50%;corner-shape:round;background:color-mix(in srgb,var(--bt-star) 82%,var(--bt-sidebar));vertical-align:-1px}\n.bt-to-star{display:inline-flex;margin-right:-2px;animation:bt-check-pop ").concat(G1.duration,"ms ").concat(G1.easing,"}\n.bt-to .bt-to-create{flex:none;height:28px;padding:0 12px;font-size:13px;animation:bt-q-submit-in ").concat(q1.duration,"ms ").concat(q1.easing,",bt-veil-in .16s ease-out}\n.bt-drop{position:absolute;top:48px;left:32px;width:min(550px,calc(100% - 64px));display:flex;flex-direction:column;padding:6px;max-height:min(420px,60vh);overflow-y:auto;background:var(--bt-card);border:1px solid var(--bt-line-2);border-radius:12px;box-shadow:0 6px 20px -4px rgba(0,0,0,.12);box-sizing:border-box;z-index:1;transform-origin:24px 0;animation:bt-pop-drop ").concat(q1.duration,"ms ").concat(q1.easing,",bt-veil-in .14s ease-out}\n.bt-option{display:flex;align-items:center;gap:10px;border:0;background:none;border-radius:8px;padding:7px 8px;min-height:36px;box-sizing:border-box;font-size:13px;line-height:18px;color:var(--bt-ink);cursor:pointer;text-align:left;width:100%}\n.bt-option[aria-selected=true]{background:var(--bt-active)}\n.bt-drop-list>.bt-option:not([aria-selected=true]):hover{background:var(--bt-hover)}\n.bt-option-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-option-hint{font-size:11px;color:var(--bt-ink-2);flex:0 1 auto;min-width:0;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;animation:bt-veil-in .16s ease-out}\n.bt-option-copy{flex:1;min-width:0;display:flex;flex-direction:column}\n.bt-option-sub{font-size:11px;line-height:15px;color:var(--bt-ink-2);white-space:normal;overflow-wrap:anywhere}\n.bt-option-icon{width:22px;height:22px;border-radius:50%;background:var(--bt-hover);color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;flex:none}\n.bt-hint{padding:14px;text-align:center;font-size:13px;color:var(--bt-ink-2)}\n.bt-nc-spacer{flex:1}\n.bt-nc-compose{padding:0 16px 14px;display:flex;justify-content:center}\n.bt-nc-card{display:flex;align-items:flex-end;gap:6px;width:100%;max-width:var(--dsh-chat-content-width,748px);min-height:44px;padding:4px 6px;border-radius:22px;border:1px solid var(--bt-line-2);background:var(--bt-main);box-shadow:0 2px 8px -2px rgba(0,0,0,.06);box-sizing:border-box}\n.bt-nc-plus{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink-2);background:var(--bt-hover);flex:none}\n.bt-nc-card textarea{flex:1;resize:none;border:0;outline:none;background:none;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;padding:7px 4px;min-height:34px;max-height:140px;box-sizing:border-box}\n.bt-nc-send{width:34px;height:34px;border-radius:50%;border:0;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}\n.bt-nc-send:disabled{opacity:.3;cursor:default}\n.bt-create{flex:1;display:flex;flex-direction:column;min-width:0}\n.bt-create-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:6px 12px;border-bottom:1px solid var(--bt-line);box-sizing:border-box}\n.bt-create-gap{width:28px}\n.bt-create-title{font-size:14px;line-height:20px;font-weight:500}\n.bt-create-body{flex:1;overflow-y:auto;padding:28px 16px 32px;display:flex;justify-content:center}\n.bt-create-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:18px;animation:bt-q-in ").concat(b1.duration,"ms ").concat(b1.easing," both,bt-veil-in .22s ease-out both}\n.bt-create-preview{display:flex;flex-direction:column;align-items:center;gap:10px}\n.bt-create-pop{display:inline-flex;animation:bt-create-pop ").concat(G1.duration,"ms ").concat(G1.easing,' both}\n@keyframes bt-create-pop{from{transform:scale(.72);opacity:.4}}\n.bt-create-name{font-size:17px;line-height:24px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-create-step{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-bottom:-10px}\n.bt-create-looks{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card)}\n.bt-create-lookbar{justify-content:center}\n.bt-create-foot{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}\n.bt-create-go{height:36px;padding:0 20px}\n@media (prefers-reduced-motion:reduce){.bt-create-card,.bt-create-pop{animation:none}}\n.bt-send{height:40px;min-width:40px;border-radius:999px;border:0;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);font-size:14px;padding:0 14px;cursor:pointer}\n.bt-send:disabled{opacity:.35;cursor:default}\n.bt-error{padding:0 14px 10px;color:#e02135;font-size:12px}\n.bt-fix-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}\n.bt-fix-btn{font:inherit;font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer}\n.bt-fix .bt-note{margin-top:6px}\n.bt-fix-link{margin-top:6px;color:inherit;user-select:all}\n\n.bt-pane{position:fixed;top:var(--dsh-frame-chrome-top,0px);right:0;bottom:0;z-index:45;pointer-events:auto;background:var(--bt-main);color:var(--bt-ink);display:flex;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-dialog{flex:1;display:flex;flex-direction:column;min-width:0}\n.bt-dialog .bt-head{height:62px}\n.bt-dialog-log{flex:1;overflow-y:auto;padding:8px 16px 20px;width:100%;max-width:var(--dsh-chat-content-width,748px);margin:0 auto;box-sizing:border-box}\n.bt-dialog-foot{display:flex;justify-content:center;padding:10px 10px 16px}\n.bt-exchange{animation:bt-sheet-in ').concat(b1.duration,"ms ").concat(b1.easing,' both,bt-veil-in .24s ease-out both}\n.bt-exchange[data-leaving]{animation:bt-sheet-out .22s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}\n@keyframes bt-sheet-in{from{transform:translateY(24px)}}\n@keyframes bt-sheet-out{to{opacity:0;transform:translateY(16px);filter:blur(4px)}}\n.bt-exchange .bt-dialog{position:relative}\n.bt-exchange .bt-dialog-log{max-width:none;margin:0;padding:39px max(16px,calc((100% - 960px)/2)) 76px;scrollbar-width:thin}\n.bt-exchange .bt-tools{display:none}\n.bt-exchange .bt-dialog-foot{position:absolute;left:0;right:0;bottom:0;height:76px;box-sizing:border-box;align-items:flex-end;padding:0 0 28px;background:var(--bt-main);z-index:3;animation:bt-foot-in .3s cubic-bezier(.22,1,.36,1) .3s both}\n.bt-exchange .bt-dialog-foot::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:40px;background:linear-gradient(to top,var(--bt-main),transparent);pointer-events:none}\n.bt-exchange[data-leaving] .bt-dialog-foot{animation:bt-foot-out .22s cubic-bezier(.4,0,1,1) forwards}\n@keyframes bt-foot-in{from{opacity:0;transform:translateY(6px)}}\n@keyframes bt-foot-out{to{opacity:0;transform:translateY(6px)}}\n@media (prefers-reduced-motion:reduce){.bt-exchange,.bt-exchange .bt-dialog-foot{animation-duration:.01s}}\n.bt-soft{height:36px;border-radius:999px;border:0;background:var(--bt-hover);color:var(--bt-ink);padding:0 16px;font-size:14px;cursor:pointer}\n.bt-soft:hover{background:var(--bt-active)}\n.bt-time{display:block;text-align:center;font-size:12px;line-height:16px;color:var(--bt-ink-2);padding:6px 0}\n\n.bt-panel{position:fixed;top:var(--dsh-frame-chrome-top,0px);right:0;bottom:0;width:var(--bt-panel-w,320px);pointer-events:auto;z-index:40;background:var(--bt-main);border-left:.5px solid var(--bt-line-2);display:flex;flex-direction:column;color:var(--bt-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;box-sizing:border-box;animation:bt-pane-in .3s cubic-bezier(.2,0,0,1);transition:width ').concat(b1.duration,"ms ").concat(b1.easing,';container:bt-panel/inline-size}\n.bt-panel[data-leaving]{transform:translateX(100%);transition:transform .3s cubic-bezier(.2,0,0,1);pointer-events:none}\n.bt-panel[data-instant]{transition:none}\n@keyframes bt-pane-in{from{transform:translateX(100%)}}\n[class*="_centerCol"]{transition:margin-right ').concat(b1.duration,"ms ").concat(b1.easing,";position:relative;z-index:0;isolation:isolate}\n.bt-panel-grip{position:absolute;left:-5px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:3;touch-action:none}\n.bt-panel-grip:hover,.bt-panel[data-dragging] .bt-panel-grip{background:linear-gradient(to right,transparent 4px,var(--bt-line-2) 4px,var(--bt-line-2) 6px,transparent 6px)}\n.bt-drag-shield{position:fixed;inset:0;z-index:45;cursor:col-resize}\n.bt-panel-view{flex:1;min-height:0;display:flex;flex-direction:column}\n.bt-drawer-top{display:flex;justify-content:flex-end;gap:8px;padding:12px 17px 6px 12px}\n.bt-drawer-id{display:flex;flex-direction:column;align-items:center;padding:14px 16px 0}\n.bt-drawer-id>.bt-mark,.bt-drawer-id>.bt-cluster{margin-bottom:16px}\n.bt-drawer-name{font-size:17px;line-height:24px;font-weight:500;border:0;background:none;color:inherit;cursor:text;padding:0 6px;border-radius:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-drawer-name-face{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;text-overflow:ellipsis;line-clamp:3;cursor:default}\n.bt-drawer-name-face:hover{background:none}\n.bt-drawer-name:hover{background:var(--bt-hover)}\n.bt-drawer-name-input{font-size:17px;line-height:24px;text-align:center;border:.5px solid var(--bt-line-2);border-radius:6px;padding:0 6px;background:var(--bt-main);color:var(--bt-ink);outline:none;font-weight:500}\n.bt-drawer-role{font-size:12px;line-height:16px;color:var(--bt-ink-3);margin-top:6px;text-align:center}\n.bt-tabs{position:relative;display:flex;justify-content:center;gap:2px;margin:16px 16px 0}\n.bt-tab{position:relative;z-index:1;border:0;background:none;border-radius:9999px;padding:4px 8px;font-size:13px;line-height:20px;color:var(--bt-ink-2);cursor:pointer;white-space:nowrap}\n.bt-tab:hover{color:var(--bt-ink)}\n.bt-tab[aria-selected=true]{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-tabs>.bt-thumb{top:0;bottom:0;border-radius:9999px;background:var(--bt-hover)}\n.bt-tabs[data-glide] .bt-tab[aria-selected=true]{background:transparent}\n.bt-drawer-body{flex:1;overflow-y:auto;padding:20px 16px 16px;font-size:13px;line-height:18px;display:flex;flex-direction:column;gap:16px}\n.bt-empty{text-align:center;color:var(--bt-ink-3);font-size:13px;line-height:18px;padding:8px 12px}\n.bt-section-title{font-size:12px;color:var(--bt-ink-2);margin-bottom:6px}\n.bt-muted{color:var(--bt-ink-2)}\n.bt-swatches{display:flex;flex-wrap:wrap;gap:6px}\n.bt-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px var(--bt-line-2)}\n.bt-swatch[aria-pressed=true]{border-color:var(--bt-ink)}\n.bt-textarea{width:100%;box-sizing:border-box;min-height:120px;border:1px solid var(--bt-line);border-radius:8px;padding:8px;background:var(--bt-card);color:var(--bt-ink);font:inherit;resize:vertical}\n.bt-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}\n.bt-kv{display:flex;justify-content:space-between;gap:8px;font-size:12px;line-height:20px;color:var(--bt-ink-2)}\n.bt-kv span:last-child{color:var(--bt-ink);font-variant-numeric:tabular-nums}\n.bt-danger{color:#e02135}\n\n/* Bot settings: fields, the avatar editor popover, and the details-pane sub-view. */\n.bt-field{display:flex;flex-direction:column;gap:6px}\n.bt-field-label{font-size:13px;line-height:18px;font-weight:500}\n.bt-input{width:100%;box-sizing:border-box;height:36px;border:1px solid var(--bt-line);border-radius:8px;padding:0 10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:13px;outline:none}\n.bt-input:focus{border-color:var(--bt-line-2)}\n.bt-input-area{height:auto;min-height:96px;padding:8px 10px;line-height:18px;resize:vertical}\n.bt-note{font-size:12px;line-height:16px;color:var(--bt-ink-3)}\n.bt-soft-sm{height:28px;padding:0 12px;font-size:12px}\n.bt-set-avatar{display:flex;justify-content:center;padding:4px 0}\n.bt-avatar-anchor{position:relative}\n.bt-avatar-trigger{position:relative;width:64px;height:64px;border:0;border-radius:50%;background:none;cursor:pointer;padding:0}\n.bt-avatar-pencil{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:var(--bt-main);border:1px solid var(--bt-line-2);color:var(--bt-ink-2);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.12)}\n.bt-avedit{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:300px;background:var(--bt-main);border:1px solid var(--bt-line);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:10px;z-index:130;display:flex;flex-direction:column;gap:10px;color:var(--bt-ink);transform-origin:top center;animation:bt-pop-drop ").concat(q1.duration,"ms ").concat(q1.easing,",bt-veil-in .16s ease-out}\n.bt-bs .bt-avedit{transform-origin:32px 0}\n.bt-avedit-top{display:flex;align-items:center;justify-content:space-between}\n.bt-avedit-tabs{position:relative;display:flex;gap:2px;background:var(--bt-hover);border-radius:999px;padding:2px}\n.bt-avedit-tab{position:relative;z-index:1;border:0;background:none;border-radius:999px;padding:3px 10px;font-size:12px;line-height:16px;color:var(--bt-ink-2);cursor:pointer}\n.bt-avedit-tab[aria-selected=true]{background:var(--bt-main);color:var(--bt-ink)}\n.bt-avedit-tabs>.bt-thumb{top:2px;bottom:2px;border-radius:999px;background:var(--bt-main);box-shadow:0 1px 2px rgba(0,0,0,.06)}\n.bt-avedit-tabs[data-glide] .bt-avedit-tab[aria-selected=true]{background:transparent}\n.bt-avedit-reset{color:var(--bt-ink-3)}\n.bt-avedit-reset:hover{color:var(--bt-ink)}\n.bt-shapes{display:flex;flex-direction:column;gap:2px}\n.bt-shape-row{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}\n.bt-shape{position:relative;aspect-ratio:1;border:0;border-radius:8px;background:none;color:var(--bt-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}\n.bt-shape:hover{background:var(--bt-hover)}\n.bt-shape .bt-ring{position:absolute;left:50%;top:50%;width:36px;height:36px;translate:-50% -50%;overflow:visible;opacity:0;scale:.82;pointer-events:none;transition:opacity .14s ease,").concat(w0(G1,"scale"),"}\n.bt-shape[aria-pressed=true] .bt-ring{opacity:1;scale:1}\n.bt-colors{display:flex;justify-content:space-between}\n.bt-color{width:22px;height:22px;border-radius:50%;border:2px solid transparent;padding:2px;background:none;cursor:pointer;box-sizing:border-box;transition:border-color .14s ease,").concat(w0(q1,"scale"),"}\n.bt-color[aria-pressed=true] span{animation:bt-check-pop ").concat(G1.duration,"ms ").concat(G1.easing,'}\n.bt-color span{display:block;width:100%;height:100%;border-radius:50%}\n.bt-color[aria-pressed=true]{border-color:var(--bt-ink)}\n.bt-dropzone{border:1.5px dashed var(--bt-line-2);border-radius:10px;padding:18px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--bt-ink-2);font-size:12px;line-height:16px;text-align:center}\n.bt-dropzone[data-over]{border-color:var(--bt-accent);color:var(--bt-ink)}\n.bt-dropzone img{width:64px;height:64px;border-radius:50%;object-fit:cover}\n.bt-set-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}\n.bt-about{white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}\n.bt-about[data-open]{display:block;-webkit-line-clamp:unset}\n.bt-more{border:0;background:none;color:var(--bt-ink-3);font-size:12px;line-height:16px;cursor:pointer;padding:2px 0}\n.bt-more:hover{color:var(--bt-ink)}\n.bt-subhead{display:flex;align-items:center;gap:4px;padding:10px 12px 4px}\n.bt-subhead-title{flex:1;font-size:15px;line-height:24px;font-weight:600;padding-left:4px}\n.bt-icon-btn{width:28px;height:28px;border-radius:50%;border:0;background:none;color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}\n.bt-icon-btn:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-set-body{gap:20px}\n.bt-drawer-model{display:flex;flex-direction:column}\n.bt-drawer-model .bt-note{margin-top:6px}\n.bt-drawer-permission{display:flex;flex-direction:column}\n.bt-seg button.bt-perm-danger,.bt-seg button.bt-perm-danger[aria-pressed=true]{color:#e02135}\n\n/* Settings dialog: a 198px page list beside the page. */\n/* #1347: dialogs, sheets and scrims sit in a tier of their own, well clear of everything the\n chat surface may do. They used to share 60/61 with the context menu, the reaction strip and the\n remote-Bot sheet, so any body-level popover opened after them tied on z-index and won on DOM\n order \u2014 and a chat element with a stray z-index could reach the same number. The tier is now\n explicit: chat surface at most 50, dialogs 120/121, popovers 130, palette 140, toast 1000. The\n chat column is additionally capped at z-index 0 inside its own stacking context (see the\n center-column rule below), so nothing in the thread can outrank these whatever it does. */\n.bt-settings-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:120;isolation:isolate;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-scrim{position:absolute;inset:0;background:rgba(0,0,0,.32);animation:bt-fade .22s ease-out}\nbody[data-ds-dark-theme] .bt-scrim{background:rgba(0,0,0,.5)}\n/* #1347: a modal is a modal. A 0.32 scrim leaves the thread legible behind it, and the owner read that\n as the chat painting through the dialog ("assistant text readable across columns", a pill visible at\n full opacity behind the Inbox). The scrim now separates the two surfaces outright: the thread is\n dimmed to a backdrop, not left readable beside the thing being decided. It is still one layer and\n still dismisses on a click, so nothing else about it changes. */\nbody:not([data-ds-dark-theme]) .bt-scrim{background:rgba(12,12,14,.62)}\nbody[data-ds-dark-theme] .bt-scrim{background:rgba(0,0,0,.7)}\n.bt-settings{--bt-set-w:min(800px,calc(100vw - 48px));--bt-set-h:min(620px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))));position:relative;width:var(--bt-set-w);height:var(--bt-set-h);background:var(--bt-main);border-radius:16px;border:.5px solid var(--bt-line-2);box-shadow:0 24px 80px rgba(0,0,0,.24);display:flex;overflow:hidden;color:var(--bt-ink);transition:').concat(w0(b1,"width","height"),";animation:bt-dialog-rise ").concat(b1.duration,"ms ").concat(b1.easing,",bt-veil-in .2s ease-out}\n.bt-settings[data-wide]{--bt-set-w:min(1100px,calc(100vw - 48px));--bt-set-h:min(780px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))))}\n:is(.bt-settings-layer,.bt-mem-layer)[data-leaving]{pointer-events:none}\n:is(.bt-settings-layer,.bt-mem-layer)[data-leaving] .bt-scrim{opacity:0;transition:opacity .16s ease-in}\n:is(.bt-settings-layer,.bt-mem-layer)[data-leaving]>[role=dialog]{animation:bt-dialog-sink .16s cubic-bezier(.4,0,1,1) forwards}\n@keyframes bt-dialog-rise{from{transform:translateY(12px) scale(.96)}}\n@keyframes bt-dialog-sink{to{opacity:0;transform:translateY(6px) scale(.975);filter:blur(3px)}}\n@media (prefers-reduced-motion:reduce){.bt-settings{transition:none}.bt-settings,.bt-scrim,.bt-settings-page>*{animation:bt-fade .12s ease-out!important}}\n.bt-settings-nav{position:relative;width:198px;flex:none;padding:16px 8px;border-right:.5px solid var(--bt-line);display:flex;flex-direction:column;gap:2px;background:var(--bt-sidebar);box-sizing:border-box}\n.bt-settings-item{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:8px;background:none;color:var(--bt-ink-2);font:inherit;font-size:13px;line-height:20px;cursor:pointer;text-align:left;transition:background-color .12s ease,color .12s ease}\n.bt-settings-item:hover{color:var(--bt-ink);background:var(--bt-hover)}\n.bt-settings-item[aria-current=page]{background:var(--bt-active);color:var(--bt-ink)}\n.bt-settings-nav>.bt-thumb{left:8px;right:8px;border-radius:8px;background:var(--bt-active)}\n.bt-settings-nav[data-glide] .bt-settings-item[aria-current=page]{background:transparent}\n.bt-settings-shell{margin-top:auto}\n.bt-settings-out{margin-left:auto;opacity:.6;font-size:12px}\n/* Usage while another page is open: out of the flow at Usage's own width, so it keeps\n its layout, and not rendered. */\n.bt-settings-usage[data-off]{position:absolute;top:0;left:198px;width:calc(min(1100px,calc(100vw - 48px)) - 198px);height:100%;box-sizing:border-box;content-visibility:hidden;pointer-events:none}\n/* The page column takes the dialog's final size at once, so while the dialog resizes\n only its edge moves and the page does not lay out again every frame. */\n.bt-settings-main{flex:none;display:flex;flex-direction:column;min-width:0;width:calc(var(--bt-set-w) - 198px);height:var(--bt-set-h)}\n.bt-settings-head{display:flex;align-items:center;gap:6px;padding:16px 56px 4px 20px}\n.bt-settings-head h2{margin:0;font-size:15px;line-height:24px;font-weight:600;animation:bt-veil-in .2s ease-out}\n.bt-settings-head>.bt-icon-btn{animation:bt-back-in ").concat(q1.duration,"ms ").concat(q1.easing,",bt-veil-in .16s ease-out}\n@keyframes bt-back-in{from{translate:6px 0;scale:.8}}\n.bt-settings-scroll{flex:1;overflow-y:auto;padding:12px 20px 24px;display:flex;flex-direction:column;gap:20px;scrollbar-width:thin}\n.bt-settings-page>:not(.bt-us){animation:bt-page-up ").concat(b1.duration,"ms ").concat(b1.easing,' backwards,bt-veil-in .22s ease-out backwards}\n.bt-settings-page[data-move=in]>:not(.bt-us){animation-name:bt-page-in,bt-veil-in}\n.bt-settings-page[data-move=out]>:not(.bt-us){animation-name:bt-page-out,bt-veil-in}\n.bt-settings-page>:nth-child(2){animation-delay:30ms}\n.bt-settings-page>:nth-child(3){animation-delay:60ms}\n.bt-settings-page>:nth-child(4){animation-delay:90ms}\n.bt-settings-page>:nth-child(n+5){animation-delay:120ms}\n@keyframes bt-page-up{from{transform:translateY(10px)}}\n@keyframes bt-page-in{from{transform:translateX(18px)}}\n@keyframes bt-page-out{from{transform:translateX(-18px)}}\n.bt-settings-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:0;background:var(--bt-hover);color:var(--bt-ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}\n.bt-settings-close:hover{background:var(--bt-active);color:var(--bt-ink)}\n.bt-settings-form{display:flex;flex-direction:column;gap:16px}\n.bt-set-section h3{font-size:13px;line-height:18px;font-weight:600;margin:0 0 8px;padding:0 4px}\n.bt-set-card{border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card);display:flex;flex-direction:column}\n.bt-set-card>*+*{border-top:.5px solid var(--bt-line)}\n.bt-set-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;background:none;color:var(--bt-ink);font:inherit;font-size:13px;line-height:18px;text-align:left;width:100%;box-sizing:border-box;border-radius:0}\nbutton.bt-set-row{cursor:pointer}\nbutton.bt-set-row:hover{background:var(--bt-hover)}\n.bt-set-card>.bt-set-row+.bt-set-row{border-top:.5px solid var(--bt-line)}\n.bt-set-row:first-child{border-top-left-radius:12px;border-top-right-radius:12px}\n.bt-set-row:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}\n/* #892: a plugin\'s rows in the Members card (Invite by link) sit on the card\'s own padding, like a row. */\n.bt-flybot-room-members{padding:10px 12px}\n.bt-set-copy{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}\n/* #1347: a row\'s copy never breaks its own label. The label used to be a bare inline span inside a\n column that flexed down to 36px, so "Name" came out as "Nam" + "e"; a single-word label is now one\n line, and the hint below it is what wraps when the column is short. */\n.bt-set-copy>.bt-bs-label,.bt-set-copy>.bt-set-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-set-hint{font-size:12px;line-height:16px;color:color-mix(in srgb,var(--bt-ink-2) 50%,var(--bt-ink-3))}\n.bt-set-control{flex:none;display:flex;align-items:center;gap:6px}\n.bt-set-value{font-size:13px;color:var(--bt-ink-2);text-align:right}\n.bt-set-bot{flex:1;display:flex;align-items:center;gap:8px;min-width:0}\n.bt-set-paste{flex-direction:column;align-items:stretch;gap:8px}\n.bt-chevron{color:var(--bt-ink-3);display:inline-flex;flex:none}\n/* Settings \u2192 Workflows (#1364): factory and your own pipelines, then the flowchart. */\n.bt-wf-page{display:flex;flex-direction:column;gap:16px}\n.bt-wf-hint{margin:0;font-size:12px;line-height:1.5;color:var(--bt-ink-2)}\n.bt-wf-status{margin:0;font-size:13px;color:var(--bt-ink-2)}\n.bt-wf-lists{display:flex;flex-direction:column;gap:16px}\n.bt-wf-editor{display:flex;flex-direction:column;gap:8px}\n.bt-wf-title{margin:0;font-size:15px;font-weight:600}\n.bt-wf-actions{display:flex;gap:8px;flex-wrap:wrap}\n.bt-wf-actions button,.bt-wf-page>.bt-error button{height:32px;padding:0 12px;border-radius:16px;border:1px solid var(--bt-line);background:var(--bt-card);color:inherit;font:inherit;font-size:12.5px;cursor:pointer}\n.bt-wf-page>.bt-error{display:flex;align-items:center;justify-content:space-between;gap:12px}\n.bt-wf-canvas{position:relative;min-height:440px;overflow:auto;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-main);padding:12px 8px 20px}\n.bt-wf-stage{position:relative;width:100%}\n.bt-wf-fit{position:relative;width:0;margin:0 auto;transform-origin:50% 0}\n.bt-wf-fit .bt-wf-plane{margin-top:0}\n.bt-wf-palette{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center}\n.bt-wf-palette button{height:28px;padding:0 10px;border-radius:14px;border:1px solid var(--bt-line);background:var(--bt-card);color:inherit;font:inherit;font-size:12px;cursor:pointer}\n.bt-wf-prompts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:12px 4px 0}\n.bt-wf-prompt{display:flex;flex-direction:column;gap:4px;font-size:12px;min-width:0}\n.bt-wf-prompt textarea{width:100%;box-sizing:border-box;border-radius:8px;border:1px solid var(--bt-line);background:var(--bt-card);color:inherit;font:inherit;font-size:12px;padding:6px 8px;resize:vertical}\n.bt-wf-plane{position:relative;width:0;margin:16px auto 0}\n.bt-wf-wires{position:absolute;left:calc(-1 * var(--bt-wf-wire-span,480px));top:0;width:calc(2 * var(--bt-wf-wire-span,480px));overflow:visible;pointer-events:none}\n.bt-wf-wires path{fill:none;stroke:var(--bt-ink-3);stroke-width:1.6}\n.bt-wf-wires marker path{fill:var(--bt-ink-3);stroke:none}\n.bt-wf-node{position:absolute;width:168px;box-sizing:border-box;border:1px solid var(--bt-line);background:var(--bt-card);border-radius:12px;padding:8px 9px;display:flex;align-items:center;gap:8px}\n@keyframes bt-wf-node-live{0%,100%{border-color:var(--bt-accent);box-shadow:0 0 0 2px rgba(77,107,254,.18),0 0 0 0 rgba(77,107,254,.2)}50%{border-color:rgba(77,107,254,.85);box-shadow:0 0 0 3px rgba(77,107,254,.35),0 0 14px 2px rgba(77,107,254,.22)}}\n.bt-wf-node.running{border-color:var(--bt-accent);animation:bt-wf-node-live 1.5s ease-in-out infinite}\n@media (prefers-reduced-motion:reduce){.bt-wf-node.running{animation:none;box-shadow:0 0 0 3px rgba(77,107,254,.2)}}\n.bt-wf-node.done{border-color:rgba(22,163,74,.35)}\n.bt-wf-node.failed{border-color:#e5484d}\n.bt-wf-node.queued{opacity:.78}\n.bt-wf-av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:650;flex:none;font-size:12px}\n.bt-wf-copy{min-width:0;flex:1;display:flex;flex-direction:column}\n.bt-wf-name{font-weight:600;font-size:12.5px}\n.bt-wf-role{font-size:11px;color:var(--bt-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.bt-wf-chip{position:absolute;top:-9px;right:8px;font-size:10.5px;padding:1px 7px;border-radius:10px;background:var(--bt-active);color:var(--bt-ink-2);white-space:nowrap;pointer-events:none}\n.bt-wf-node.editing .bt-wf-chip{right:18px}\n.bt-wf-chip.running{background:rgba(77,107,254,.12);color:var(--bt-accent)}\n.bt-wf-chip.done{background:rgba(22,163,74,.12);color:#16a34a}\n.bt-wf-chip.failed{background:rgba(229,72,77,.12);color:#e5484d}\n.bt-wf-chip.idle{color:var(--bt-ink-3)}\n.bt-wf-port{position:absolute;left:50%;bottom:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;border:2px solid var(--bt-accent);background:var(--bt-card);padding:0;cursor:crosshair}\n.bt-wf-remove{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;border:1px solid var(--bt-line);background:var(--bt-card);cursor:pointer;line-height:16px;padding:0}\n.bt-wf-par{position:absolute;border:1px dashed var(--bt-ink-3);border-radius:14px;pointer-events:none}\n.bt-wf-plabel{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:10.5px;color:var(--bt-ink-2);background:var(--bt-card);padding:0 6px;white-space:nowrap}\n\n/* Settings \u2192 Connectors. */\n.bt-connector{display:flex;flex-direction:column;gap:10px;padding:12px}\n.bt-connector-head{display:flex;align-items:center;gap:12px;min-width:0}\n.bt-connector-mark{flex:none;width:36px;height:36px;border-radius:10px;background:var(--bt-card);border:.5px solid var(--bt-line);display:flex;align-items:center;justify-content:center;color:var(--bt-ink)}\n.bt-connector-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}\n.bt-connector-name{font-size:14px;line-height:20px;font-weight:500}\n.bt-connector-status{font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-connector[data-state=ready] .bt-connector-status{color:var(--bt-ink-2)}\n.bt-connector[data-state=error] .bt-connector-status{color:#e02135;white-space:normal}\n.bt-connector-actions{flex:none;display:flex;gap:6px}\n.bt-connector-form{display:flex;flex-direction:column;gap:8px;padding-left:48px;animation:bt-q-in ').concat(b1.duration,"ms ").concat(b1.easing,",bt-veil-in .2s ease-out}\n.bt-feishu-setup{container-type:inline-size;min-width:0;width:100%;max-width:960px;box-sizing:border-box;padding:20px;border:1px solid var(--bt-line);border-radius:14px;background:var(--bt-card);color:var(--bt-ink);font:13px/1.6 ui-sans-serif,system-ui,sans-serif;overflow-wrap:anywhere;animation:bt-veil-in .16s ease-out}\n.bt-feishu-setup *{box-sizing:border-box}\n.bt-feishu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--bt-line)}\n.bt-feishu-header h3{padding:0;margin:0 0 4px;font-size:17px;line-height:24px;font-weight:650;letter-spacing:-.02em}\n.bt-feishu-header>.bt-input{width:220px;max-width:45%;flex:none}\n.bt-feishu-setup .bt-set-hint{margin:0;font-size:12px;line-height:1.7;color:var(--bt-ink-2)}\n.bt-feishu-body{display:flex;flex-direction:column;gap:22px;padding-top:18px}\n.bt-feishu-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}\n.bt-feishu-modes button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:11px 14px;border:1px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color .12s,border-color .12s}\n.bt-feishu-modes button:hover{background:var(--bt-hover)}\n.bt-feishu-modes button[aria-pressed=true]{border-color:var(--bt-accent);background:color-mix(in srgb,var(--bt-accent) 6%,var(--bt-card));box-shadow:0 0 0 1px var(--bt-accent)}\n.bt-feishu-modes strong{font-size:13px;font-weight:600}.bt-feishu-modes small{color:var(--bt-ink-2);font-size:11px}\n.bt-feishu-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:start}\n.bt-feishu-progress{min-width:0}.bt-feishu-progress ol{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}\n.bt-feishu-progress li{min-width:0}.bt-feishu-progress button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 8px;border:0;border-radius:8px;background:transparent;color:var(--bt-ink-2);font:inherit;font-size:12px;line-height:19px;text-align:left;cursor:pointer}\n.bt-feishu-progress button:hover:not(:disabled){background:var(--bt-hover)}\n.bt-feishu-progress button[aria-current=step]{background:color-mix(in srgb,var(--bt-accent) 7%,var(--bt-card));color:var(--bt-accent);font-weight:600}\n.bt-feishu-progress button:disabled{opacity:.48;cursor:default}\n.bt-feishu-step-number{display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border:1px solid var(--bt-line-2);border-radius:50%;font-size:11px;font-variant-numeric:tabular-nums}\n.bt-feishu-progress [aria-current=step] .bt-feishu-step-number{background:var(--bt-accent);border-color:var(--bt-accent);color:white}\n.bt-feishu-progress [data-done=true] .bt-feishu-step-number{border-color:transparent;background:var(--bt-hover);color:var(--bt-ink-2)}\n.bt-feishu-step{min-width:0}.bt-feishu-step-heading{margin-bottom:16px}.bt-feishu-eyebrow{display:block;margin-bottom:4px;color:var(--bt-ink-2);font-size:11px}\n.bt-feishu-step h4{margin:0;font-size:16px;line-height:24px;font-weight:650;letter-spacing:-.02em}\n.bt-feishu-step-content>div{display:flex;flex-direction:column;align-items:stretch;gap:14px}\n.bt-feishu-external{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;align-self:flex-start;border:1px solid var(--bt-line-2);border-radius:8px;padding:7px 11px;color:var(--bt-ink);font-size:12px;font-weight:500;text-decoration:none}\n.bt-feishu-external:hover{background:var(--bt-hover)}.bt-feishu-external span{color:var(--bt-ink-2)}\n.bt-feishu-permissions{display:flex;flex-direction:column;gap:10px;padding-top:5px}.bt-feishu-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.bt-feishu-section-head strong{font-size:13px;font-weight:600}\n.bt-feishu-optional{color:var(--bt-ink-2);font-size:11px}.bt-feishu-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}\n.bt-feishu-permission{display:flex;align-items:center;gap:9px;min-width:0;min-height:42px;margin:0;padding:9px 11px;border:1px solid var(--bt-line);border-radius:9px;background:var(--bt-card);font-size:12px;line-height:20px;cursor:pointer;transition:background-color .12s,border-color .12s}\n.bt-feishu-permission:hover{border-color:var(--bt-line-2);background:var(--bt-hover)}\n.bt-feishu-permission[data-checked=true]{border-color:color-mix(in srgb,var(--bt-accent) 55%,var(--bt-line));background:color-mix(in srgb,var(--bt-accent) 5%,var(--bt-card))}\n.bt-feishu-setup input[type=checkbox]{appearance:auto;flex:none;width:15px;height:15px;min-height:0;margin:0;padding:0;border-radius:4px;accent-color:var(--bt-accent);cursor:pointer}\n.bt-feishu-permission-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}\n.bt-feishu-setup .bt-feishu-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:6px;flex:none;width:auto;min-height:34px;height:auto;margin:0;padding:6px 12px;border:1px solid var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:12px;font-weight:500;cursor:pointer;box-shadow:none}\n.bt-feishu-setup .bt-feishu-button:hover:not(:disabled){background:var(--bt-hover)}.bt-feishu-setup .bt-feishu-button:disabled{opacity:.4;cursor:default}\n.bt-feishu-setup .bt-feishu-primary{background:var(--bt-accent);border-color:var(--bt-accent);color:#fff;padding-inline:18px}\n.bt-feishu-setup .bt-feishu-primary:hover:not(:disabled){background:color-mix(in srgb,var(--bt-accent) 88%,#000)}\n.bt-feishu-setup .bt-feishu-quiet{border-color:transparent;background:transparent;color:var(--bt-ink-2)}\n.bt-feishu-setup :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--bt-accent);outline-offset:3px}\n.bt-feishu-setup details{min-width:0}.bt-feishu-setup summary{cursor:pointer;font-size:12px;font-weight:500;line-height:20px;padding:8px 0;color:var(--bt-ink-2)}\n.bt-feishu-json{border:0}.bt-feishu-setup .bt-feishu-json summary{padding:2px 0;color:var(--bt-accent);font-weight:400}\n.bt-feishu-setup .bt-feishu-json textarea{width:100%;height:180px;min-height:120px;max-height:320px;margin-top:10px;padding:12px;border:1px solid var(--bt-line);border-radius:8px;background:var(--bt-sidebar);color:var(--bt-ink-2);font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical;white-space:pre;overflow:auto;overflow-wrap:normal}\n.bt-feishu-field,.bt-feishu-setup .bt-q-field{display:flex;flex-direction:column;flex:initial;gap:6px;min-width:0;min-height:0;margin:0;padding:0;border:0;cursor:default;color:var(--bt-ink-2);font-size:12px}\n.bt-feishu-setup .bt-input{min-width:0;height:38px;padding:0 11px;font-size:13px;border-color:var(--bt-line-2);border-radius:8px;background:var(--bt-card);color:var(--bt-ink)}\n.bt-feishu-field+.bt-feishu-field{margin-top:2px}.bt-feishu-setup .bt-input:disabled{opacity:.65;background:var(--bt-sidebar)}\n.bt-feishu-check{display:flex;align-items:flex-start;gap:9px;font-size:12px}.bt-feishu-check input{margin-top:3px!important}\n.bt-feishu-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--bt-line)}\n.bt-feishu-footer>div{display:flex;align-items:center;gap:6px}.bt-feishu-result,.bt-feishu-error{margin:14px 0 0;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.6;background:var(--bt-sidebar);color:var(--bt-ink-2)}\n.bt-feishu-result[data-success=true]{color:var(--bt-ink);border:1px solid var(--bt-line)}.bt-feishu-error{color:#d33e4e;background:color-mix(in srgb,#e5484d 7%,var(--bt-card))}\n.bt-feishu-management{border-top:1px solid var(--bt-line);padding-top:8px}.bt-feishu-management>details+details{border-top:1px solid var(--bt-line)}\n.bt-feishu-management>details>summary{padding:12px 0;color:var(--bt-ink)}.bt-feishu-management>details[open]{display:flex;flex-direction:column;gap:10px;padding-bottom:14px}\n.bt-feishu-management>details>fieldset{min-width:0;margin:4px 0;padding:12px;border:1px solid var(--bt-line);border-radius:10px}.bt-feishu-management legend{font-size:12px;font-weight:600;padding-inline:4px}\n.bt-feishu-management fieldset>.bt-q-field+.bt-q-field{margin-top:10px}.bt-feishu-setup code,.bt-feishu-setup pre{white-space:pre-wrap;overflow-wrap:anywhere}.bt-feishu-setup ul{padding-left:18px;margin:4px 0}\n.bt-feishu-webhook{margin-top:18px;padding-top:10px;border-top:1px solid var(--bt-line)}.bt-feishu-webhook[open]{display:flex;flex-direction:column;gap:12px}.bt-feishu-webhook>summary{color:var(--bt-ink-2)}\n@container (max-width:640px){.bt-feishu-layout{display:flex;flex-direction:column;gap:18px}.bt-feishu-progress{width:100%}.bt-feishu-progress ol{flex-direction:row;gap:5px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.bt-feishu-progress li{flex:1}.bt-feishu-progress button{justify-content:center;padding:5px;gap:7px}.bt-feishu-step-label{display:none}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{display:block;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-feishu-progress li:has([aria-current=step]){flex:4}.bt-feishu-step{width:100%}.bt-feishu-header{flex-direction:column;gap:10px}.bt-feishu-header>.bt-input{max-width:100%;width:100%}}\n@container (max-width:340px){.bt-feishu-modes{gap:8px}.bt-feishu-modes button{padding:9px 10px}.bt-feishu-modes small{font-size:10px}.bt-feishu-permission{padding:8px}.bt-feishu-footer>div{gap:2px}.bt-feishu-footer .bt-feishu-button{padding-inline:9px}.bt-feishu-progress [aria-current=step] .bt-feishu-step-label{max-width:90px}}\n.bt-connector-form-row{display:flex;align-items:center;gap:6px}\n.bt-connector-apps{display:flex;flex-direction:column;gap:8px}\n.bt-connector-link{flex:1;font-size:12px;color:var(--bt-ink-2)}\n.bt-connector-uses{padding-left:48px;font-size:12px;line-height:16px;color:var(--bt-ink-3)}\n.bt-connector-bots{display:flex;flex-direction:column;gap:2px;padding-left:48px;animation:bt-q-in ").concat(b1.duration,"ms ").concat(b1.easing,',bt-veil-in .2s ease-out}\n.bt-connector-others{padding-left:20px}\n.bt-connector-error{padding-left:48px;font-size:12px;line-height:16px;color:#e02135}\n.bt-connector-app-list{list-style:none;margin:0;padding:0 0 0 48px;display:flex;flex-direction:column;gap:2px}\n.bt-connector-app{display:flex;gap:8px;font-size:12px;line-height:16px;color:var(--bt-ink-2)}\n.bt-connector-app-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-app-status{color:var(--bt-ink-3)}\n[data-status=sign-in]>.bt-app-status{color:#c46a00}\n\n/* Shell chrome reshaped for the team view. Selectors use stable data attributes where the\n shell offers them and CSS-module name suffixes elsewhere. */\n[class*="_logoRow"],[class*="_newSession"],nav[class*="_panelList"]{display:none!important}\n[class*="_footArea"]{display:flex!important;flex-direction:row-reverse;align-items:center;gap:9px;padding:8px 6px 6px!important}\n[class*="_footArea"]>[class*="_footerActions"]{flex:1 1 auto;min-width:0}\n[class*="_footArea"]>[class*="_settingsArea"]{flex:none;width:auto!important}\n[class*="_footArea"] button[aria-label="Settings"]{width:auto!important;padding:0!important;background:none!important;border-radius:50%!important;height:auto!important}\n[class*="_widthHandle"]{display:none!important}\n\n.bt-voice-pane{flex-direction:column;align-items:center;justify-content:center;animation:bt-fade .2s ease-out}\n.bt-voice-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;max-width:560px;text-align:center}\n.bt-voice-orb{position:relative;width:200px;height:200px;display:grid;place-items:center;margin-bottom:8px}\n.bt-voice-ring{position:absolute;inset:34px;border-radius:50%;background:var(--bt-hover);transform:scale(calc(1 + var(--bt-level,0) * .55));transition:transform .08s linear}\n.bt-voice-ring-2{inset:14px;background:none;box-shadow:inset 0 0 0 1px var(--bt-line-2);transform:scale(calc(.94 + var(--bt-level,0) * .3));opacity:.8}\n.bt-voice-stage[data-phase=thinking] .bt-voice-ring{animation:bt-voice-breathe 1.6s ease-in-out infinite}\n.bt-voice-stage[data-phase=speaking] .bt-voice-ring{animation:bt-voice-speak .9s ease-in-out infinite}\n@keyframes bt-voice-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}\n@keyframes bt-voice-speak{0%,100%{transform:scale(1.04)}30%{transform:scale(1.2)}60%{transform:scale(1.1)}}\n.bt-voice-orb>.bt-mark{position:relative}\n.bt-voice-name{font-size:16px;line-height:22px;font-weight:500}\n.bt-voice-status{font-size:13px;line-height:18px;color:var(--bt-ink-2);min-height:18px}\n.bt-voice-caption{min-height:44px;font-size:15px;line-height:22px;color:var(--bt-ink);animation:bt-blur-in .25s ease-out;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}\n.bt-voice-note{font-size:12px;color:#e02135}\n.bt-voice-setup{height:32px;padding:0 14px;border-radius:16px;border:0;background:var(--bt-hover);color:var(--bt-ink);font:inherit;font-size:13px;cursor:pointer;transition:background-color .15s ease}\n.bt-voice-setup:hover{background:var(--bt-active)}\n.bt-voice-bar{display:flex;gap:16px;padding:0 0 32px}\n.bt-voice-btn{position:relative;width:52px;height:52px;border-radius:50%;border:0;background:var(--bt-hover);color:var(--bt-ink);display:grid;place-items:center;cursor:pointer;transition:background-color .15s ease,transform .12s ease}\n.bt-voice-btn:hover{background:var(--bt-active)}\n.bt-voice-btn:active{transform:scale(.94)}\n.bt-voice-btn[aria-pressed=true]{background:var(--bt-user);color:var(--bt-user-ink)}\n.bt-voice-slash{position:absolute;width:24px;height:2px;border-radius:1px;background:currentColor;transform:rotate(-45deg)}\n.bt-voice-end{background:#ff3e51;color:#fff}\n.bt-voice-end:hover{background:#e02135}\n@keyframes bt-fade{from{opacity:0}to{opacity:1}}\n@keyframes bt-blur-in{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}\n@media (prefers-reduced-motion:reduce){.bt-voice-pane,.bt-voice-caption,.bt-voice-ring{animation:none!important}}\n.bt-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:min(80%,560px,calc(100% - 82px))}\n/* The bubble\'s row: reactions hang below it, so the hover toolbar (and a group\n sender\'s avatar) line up with the bubble alone. */\n.bt-msg-line{position:relative;display:flex;align-items:flex-end;gap:8px;max-width:100%}\n.bt-msg-line>.bt-bubble{max-width:none;min-width:0}\n/* The same bubble width as beside an avatar column: 80% of (100% - 30px), plus the 30px. */\n.bt-astack[data-lead]>.bt-msg{max-width:min(calc(80% + 6px),590px,calc(100% - 52px))}\n.bt-tools{position:absolute;top:50%;left:100%;margin-left:6px;transform:translateY(-50%);display:flex;gap:2px;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s}\n.bt-tools::after{content:"";position:absolute;top:-8px;bottom:-8px;right:100%;width:128px;z-index:-1}\n.bt-msg:hover>.bt-msg-line>.bt-tools,.bt-msg:focus-within>.bt-msg-line>.bt-tools,.bt-tools[data-open]{opacity:1;visibility:visible}\n.bt-tool{width:24px;height:24px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .12s ease,color .12s ease}\n.bt-tool:hover,.bt-tool[aria-expanded=true]{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-tool:active{background:var(--bt-active)}\n.bt-tool:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px}\n.bt-react-strip{position:fixed;z-index:130;pointer-events:auto;display:flex;gap:2px;padding:4px;border-radius:999px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.06);transform:translate(-50%,-100%);transform-origin:bottom center;animation:bt-pop-lift ').concat(q1.duration,"ms ").concat(q1.easing,",bt-veil-in .14s ease-out}\n.bt-react-strip button{width:32px;height:32px;border:0;border-radius:50%;background:none;font-size:18px;line-height:1;cursor:pointer;transition:background-color .12s ease,").concat(w0(G1,"transform"),";animation:bt-check-pop ").concat(G1.duration,"ms ").concat(G1.easing," backwards}\n.bt-react-strip button:nth-child(2){animation-delay:20ms}\n.bt-react-strip button:nth-child(3){animation-delay:40ms}\n.bt-react-strip button:nth-child(4){animation-delay:60ms}\n.bt-react-strip button:nth-child(n+5){animation-delay:80ms}\n.bt-react-strip button:hover{background:var(--bt-hover);transform:scale(1.15)}\n.bt-react-strip button:active{transform:scale(.92)}\n.bt-reacts{display:flex;gap:4px;margin-top:4px}\n.bt-react{height:22px;min-width:30px;padding:0 6px;border-radius:999px;border:.5px solid var(--bt-line-2);background:var(--bt-main);font-size:13px;line-height:20px;cursor:pointer;animation:bt-react-pop ").concat(G1.duration,"ms ").concat(G1.easing,";transition:background-color .12s ease,").concat(w0(q1,"scale"),'}\n.bt-react:hover{background:var(--bt-hover)}\n.bt-react:active{scale:.92}\n@keyframes bt-react-pop{from{transform:scale(.6);opacity:0}}\n.bt-bubble a[href^="').concat(k4,'"] svg{display:none}\n.bt-you{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bt-ink) 5%,var(--bt-sidebar));color:var(--bt-ink-2);box-shadow:inset 0 0 0 1px var(--bt-line);transition:background-color .12s ease}\nbutton:hover .bt-you{background:color-mix(in srgb,var(--bt-ink) 9%,var(--bt-sidebar))}\n.bt-you-wrap{display:inline-flex;padding:0}\n.bt-connect-foot{width:100%;height:36px}\n\n.bt-menu{position:fixed;pointer-events:auto;z-index:130;min-width:200px;padding:6px;border-radius:12px;background:var(--bt-main);border:.5px solid var(--bt-line-2);box-shadow:0 10px 20px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1),0 0 0 1px rgba(228,228,228,.04);display:flex;flex-direction:column;gap:2px;transform-origin:var(--bt-origin,top left);animation:bt-pop-drop ').concat(q1.duration,"ms ").concat(q1.easing,',bt-veil-in .14s ease-out;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;box-sizing:border-box}\n.bt-menu button{display:flex;align-items:center;gap:4px;width:100%;min-height:30px;text-align:left;border:0;background:none;border-radius:6px;padding:6px 8px;font:inherit;font-size:13px;line-height:18px;color:var(--bt-ink);cursor:pointer;box-sizing:border-box}\n.bt-menu button:hover{background:var(--bt-hover)}\n.bt-menu button svg{flex:none;width:16px;height:16px;margin:0 1px}\n.bt-menu .bt-danger{color:#c21d2e}\n.bt-menu-sep{height:.5px;flex:none;background:var(--bt-line-2);margin:4px 8px}\n.bt-menu-up{--bt-origin:bottom left;animation-name:bt-pop-lift,bt-veil-in}\n.bt-menu[data-leaving]{pointer-events:none;animation:bt-pop-out .12s cubic-bezier(.4,0,1,1) forwards}\n.bt-menu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-menu-hint{flex:none;color:var(--bt-ink-3);font-size:12px;font-variant-numeric:tabular-nums}\n.bt-palette-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:140;isolation:isolate;pointer-events:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.46);animation:bt-fade .22s ease-out}\n.bt-palette{position:absolute;top:50%;left:50%;width:min(560px,92vw);transform:translate(-50%,-50%);display:flex;flex-direction:column;border-radius:12px;background:var(--bt-main);border:1px solid var(--bt-line-2);box-shadow:0 24px 48px -12px rgba(0,0,0,.25);overflow:hidden;color:var(--bt-ink);animation:bt-palette-in ').concat(b1.duration,"ms ").concat(b1.easing,",bt-veil-in .2s ease-out}\n.bt-palette-layer[data-leaving]{pointer-events:none}\n.bt-palette-layer[data-leaving] .bt-backdrop{opacity:0;transition:opacity .16s ease-in}\n.bt-palette-layer[data-leaving] .bt-palette{animation:bt-dialog-sink .16s cubic-bezier(.4,0,1,1) forwards}\n@keyframes bt-palette-in{from{translate:0 -10px;scale:.96}}\n.bt-palette-head{display:flex;align-items:center;gap:4px;padding:14px 10px 14px 14px;border-bottom:.5px solid var(--bt-line-2)}\n.bt-palette-glyph{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;color:var(--bt-ink-3);margin-right:4px}\n.bt-palette-head input{flex:1;min-width:0;border:0;outline:none;background:none;color:var(--bt-ink);font:inherit;font-size:15px;line-height:22px;padding:0}\n.bt-palette-head input::placeholder{color:var(--bt-ink-3)}\n.bt-palette-clear{width:18px;height:18px;border:0;padding:0;border-radius:6px;background:none;color:var(--bt-ink-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}\n.bt-palette-clear:hover{color:var(--bt-ink)}\n.bt-palette-clear svg{width:12px;height:12px}\n.bt-palette-list{position:relative;height:402px;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px;box-sizing:border-box}\n.bt-palette-list>.bt-thumb,.bt-drop-list>.bt-thumb{left:0;right:0;border-radius:8px;background:var(--bt-active)}\n.bt-palette-list>.bt-thumb{left:8px;right:8px}\n:is(.bt-palette-list,.bt-drop-list)[data-glide] [aria-selected=true]{background:transparent}\n:is(.bt-palette-row,.bt-palette-section,.bt-drop-list>.bt-option){position:relative;z-index:1}\n.bt-palette-section{padding:8px 8px 4px;font-size:12px;line-height:16px;color:var(--bt-ink-3);flex:none}\n.bt-palette-section:first-of-type{padding-top:0}\n.bt-palette-row{flex:none;display:flex;align-items:center;gap:8px;height:49px;padding:6px 10px 6px 8px;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;width:100%}\n.bt-palette-row[aria-selected=true]{background:var(--bt-active)}\n.bt-palette-lead{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}\n.bt-palette-cmd{width:24px;height:24px;border-radius:50%;background:var(--bt-hover);display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink-2)}\n.bt-palette-cmd svg{width:14px;height:14px}\n.bt-palette-agent{width:24px;height:24px;border-radius:50%;background:var(--bt-hover);display:inline-flex;align-items:center;justify-content:center;color:var(--bt-ink)}\n.bt-palette-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}\n.bt-palette-title{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-palette-sub{font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-palette-badge{flex:none;font-size:11px;line-height:16px;padding:0 6px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink)}\n.bt-palette-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:0 16px;text-align:center;animation:bt-veil-in .22s ease-out}\n.bt-palette-empty-icon{color:var(--bt-line-2)}\n.bt-palette-empty-icon svg{width:32px;height:32px}\n.bt-palette-empty-label{font-size:14px;font-weight:500;color:var(--bt-ink-2)}\n.bt-palette-empty-hint{font-size:13px;line-height:16px;color:var(--bt-ink-3)}\n@media (prefers-reduced-motion:reduce){.bt-palette{animation:bt-fade .1s ease-out}}\n.bt-account-menu{min-width:224px;width:max-content;max-width:calc(100vw - 16px)}\n.bt-flybot-account-header:not(:empty){padding:6px 0 2px;margin-bottom:4px;border-bottom:.5px solid var(--bt-line-2)}\n.bt-account{flex:none;width:36px;height:36px;border:0;padding:0;background:none;border-radius:50%;cursor:pointer;display:inline-flex}\n.bt-account:hover .bt-you,.bt-account[aria-expanded=true] .bt-you{background:color-mix(in srgb,var(--bt-ink) 9%,var(--bt-sidebar))}\n/* Popover keyframes move translate and scale, which compose with a transform the popover\n already has. */\n@keyframes bt-pop-drop{from{translate:0 -4px;scale:.96}}\n@keyframes bt-pop-lift{from{translate:0 4px;scale:.96}}\n@keyframes bt-pop-out{to{opacity:0;scale:.97;filter:blur(2px)}}\n@keyframes bt-veil-in{from{opacity:0;filter:blur(6px)}}\n@keyframes bt-check-pop{from{opacity:0;scale:.4}}\n@media (prefers-reduced-motion:reduce){.bt-menu,.bt-avedit,.bt-react-strip{animation:bt-fade .1s ease-out}.bt-react-strip button,.bt-q-check,.bt-color[aria-pressed=true] span{animation:none}}\n.bt-brand:hover{background:var(--bt-hover)}\n.bt-drop-list{position:relative;display:flex;flex-direction:column;gap:2px}\n.bt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}\n.bt-pick{display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 2px 6px;border-radius:10px;border:1px solid transparent;background:none;color:var(--bt-ink);cursor:pointer;font:inherit;font-size:11px;line-height:14px;min-width:0}\n.bt-pick:hover{background:var(--bt-hover)}\n.bt-pick[aria-pressed=true]{border-color:var(--bt-line-2);background:var(--bt-hover)}\n.bt-pick>span:last-child:not(.bt-mark){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-pick:hover .bt-mark[data-state=idle] .bt-eye{animation:bt-blink .5s linear 1}\n.bt-select{width:100%;height:34px;box-sizing:border-box;border-radius:8px;border:1px solid var(--bt-line);background:var(--bt-card);color:var(--bt-ink);padding:0 8px;font:inherit;font-size:13px}\n.bt-note{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin-top:6px}\n.bt-swatch-sep{width:1px;height:22px;background:var(--bt-line-2);margin:0 2px}\n.bt-swatch-custom{position:relative;overflow:hidden;background:conic-gradient(#ff3e51,#ffaf38,#00c972,#1cc3b0,#2a92fe,#a97efe,#ff5eb1,#ff3e51);box-sizing:border-box}\n.bt-swatch-custom[data-on=true]{border-color:var(--bt-ink)}\n.bt-swatch-custom input{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);opacity:0;cursor:pointer;border:0;padding:0}\n.bt-swatch-default{background:linear-gradient(135deg,var(--bt-card) 0 46%,var(--bt-line-2) 46% 54%,var(--bt-card) 54%);box-shadow:inset 0 0 0 1px var(--bt-line-2)}\n.bt-states{display:flex;flex-wrap:wrap;gap:4px}\n.bt-state{border:1px solid var(--bt-line);background:none;border-radius:999px;font:inherit;font-size:11px;line-height:16px;padding:2px 8px;color:var(--bt-ink-2);cursor:pointer}\n.bt-state:hover{color:var(--bt-ink)}\n.bt-state[aria-pressed=true]{background:var(--bt-active);border-color:var(--bt-line-2);color:var(--bt-ink)}\n.bt-theme-chip{position:relative;width:46px;height:30px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--bt-line-2);background:linear-gradient(90deg,var(--ls) 0 36%,var(--lb) 36%);overflow:hidden}\n.bt-theme-chip i{position:absolute;right:7px;bottom:7px;width:10px;height:10px;border-radius:50%;background:var(--la)}\nbody[data-ds-dark-theme] .bt-theme-chip{background:linear-gradient(90deg,var(--ds) 0 36%,var(--db) 36%)}\nbody[data-ds-dark-theme] .bt-theme-chip i{background:var(--da)}\n.bt-tabs{flex-wrap:wrap}\n.bt-soft:disabled{opacity:.4;cursor:default}\n.bt-group-role{margin-left:6px;font-size:11px;line-height:14px;padding:1px 5px;border-radius:4px;background:var(--bt-tag-bg);color:var(--bt-tag-ink);vertical-align:1px}\n.bt-members{display:flex;flex-direction:column;gap:1px}\n.bt-member{display:flex;align-items:center;gap:4px;min-height:40px;padding:0 4px 0 6px;border-radius:8px;animation:bt-rise .18s ease-out}\n.bt-member:hover{background:var(--bt-hover)}\n.bt-member-name{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;padding:6px 0;color:var(--bt-ink);font:inherit;font-size:14px;line-height:20px;cursor:pointer;text-align:left}\n.bt-member-name>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-chip-admin{background:var(--bt-tag-bg);color:var(--bt-tag-ink);border-color:transparent}\n.bt-mini{flex:none;border:0;background:none;border-radius:6px;padding:2px 6px;font:inherit;font-size:12px;line-height:18px;color:var(--bt-ink-2);cursor:pointer}\n.bt-mini:hover{background:var(--bt-active);color:var(--bt-ink)}\n.bt-member .bt-mini,.bt-member .bt-x{opacity:0;transition:opacity .15s ease}\n.bt-member:hover .bt-mini,.bt-member:hover .bt-x,.bt-member .bt-mini:focus-visible,.bt-member .bt-x:focus-visible{opacity:1}\n.bt-add{color:var(--bt-ink-2);margin-top:2px}\n.bt-add:hover,.bt-addlist .bt-option:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-addlist{display:flex;flex-direction:column;margin-top:4px;padding:4px;border:1px solid var(--bt-line);border-radius:10px;background:var(--bt-card);animation:bt-rise .16s ease-out}\n.bt-seg{position:relative;display:flex;gap:2px;padding:2px;border-radius:10px;background:var(--bt-hover)}\n.bt-motion-seg{width:216px}\n.bt-seg button{position:relative;z-index:1;flex:1;height:30px;border:0;border-radius:8px;background:none;font:inherit;font-size:13px;color:var(--bt-ink-2);cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,").concat(w0(q1,"scale"),'}\n.bt-seg button[aria-pressed=true]{background:var(--bt-card);color:var(--bt-ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}\n.bt-seg button:disabled{opacity:.4;cursor:default}\n.bt-seg button:active:not(:disabled){scale:.96}\n.bt-seg>.bt-thumb{top:2px;bottom:2px;border-radius:8px;background:var(--bt-card);box-shadow:0 1px 3px rgba(0,0,0,.08)}\n.bt-seg[data-glide] button[aria-pressed=true]{background:transparent;box-shadow:none}\n@keyframes bt-rise{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}\n@media (prefers-reduced-motion:reduce){.bt-member,.bt-addlist{animation:none}}\n\n/* Memory dialog: a summary of every entry, the entries behind the menu, "Ask or update" below. */\n.bt-mem-row{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 8px 0 10px;border:.5px solid var(--bt-line-2);border-radius:10px;background:var(--bt-card);color:var(--bt-ink);font:inherit;font-size:13px;cursor:pointer;box-sizing:border-box;transition:background-color .12s ease}\n.bt-mem-row:hover{background:var(--bt-hover)}\n.bt-mem-row>svg{flex:none;color:var(--bt-ink-2)}\n.bt-mem-row-copy{flex:1;text-align:left}\n.bt-mem-row-go{display:inline-flex;align-items:center;gap:2px;color:var(--bt-ink-3);font-size:12px}\n.bt-mem-layer{position:fixed;inset:var(--dsh-frame-chrome-top,0px) 0 0;z-index:121;isolation:isolate;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-mem-scrim{animation:bt-fade .2s ease-out}\n.bt-mem{position:relative;width:min(680px,calc(100vw - 48px));height:min(760px,calc(100vh - 2*max(32px,var(--dsh-frame-overlay-top,32px))));background:var(--bt-main);border-radius:20px;border:.5px solid var(--bt-line-2);box-shadow:0 24px 80px rgba(0,0,0,.24);display:flex;flex-direction:column;overflow:hidden;color:var(--bt-ink);animation:bt-dialog-rise ').concat(b1.duration,"ms ").concat(b1.easing,",bt-veil-in .2s ease-out}\n.bt-mem-head{position:relative;display:flex;align-items:center;gap:8px;height:60px;flex:none;padding:0 14px 0 24px;border-bottom:.5px solid var(--bt-line);box-sizing:border-box}\n.bt-mem-head .bt-icon-btn{width:32px;height:32px;flex:none}\n.bt-mem-head [aria-haspopup] svg{width:18px;height:18px;stroke-width:2.6}\n.bt-mem-head>.bt-icon-btn:first-child{margin-left:-10px}\n.bt-mem-head h2{margin:0;font-size:17px;line-height:24px;font-weight:600;white-space:nowrap}\n.bt-mem-status{font-size:13px;line-height:18px;color:var(--bt-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-variant-numeric:tabular-nums}\n.bt-mem-head-gap{flex:1}\n.bt-mem-menu{position:absolute;top:52px;right:50px;min-width:220px;--bt-origin:top right}\n.bt-mem-menu button:disabled{opacity:.4;cursor:default;background:none}\n.bt-mem-body{flex:1;overflow-y:auto;padding:22px 28px 24px;scrollbar-width:thin;display:flex;flex-direction:column;gap:12px}\n.bt-mem-summary{transition:opacity .3s ease}\n.bt-mem-summary[data-stale]{opacity:.55}\n.bt-mem-summary h3{margin:20px 0 6px;font-size:17px;line-height:26px;font-weight:600}\n.bt-mem-summary h3:first-child{margin-top:0}\n.bt-mem-summary p{margin:0;font-size:15px;line-height:26px}\n.bt-mem-summary>*{animation:bt-mem-line .45s cubic-bezier(.16,1,.3,1) both}\n.bt-mem-summary>:nth-child(2){animation-delay:.03s}\n.bt-mem-summary>:nth-child(3){animation-delay:.06s}\n.bt-mem-summary>:nth-child(4){animation-delay:.09s}\n.bt-mem-summary>:nth-child(5){animation-delay:.12s}\n.bt-mem-summary>:nth-child(6){animation-delay:.15s}\n.bt-mem-summary>:nth-child(n+7){animation-delay:.18s}\n@keyframes bt-mem-line{from{opacity:0;transform:translateY(4px)}}\n.bt-mem-skel{display:flex;flex-direction:column;gap:24px}\n.bt-mem-skel-block{display:flex;flex-direction:column;gap:10px}\n.bt-mem-skel-block span{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bt-hover) 25%,var(--bt-active) 50%,var(--bt-hover) 75%);background-size:200% 100%;animation:bt-mem-skel 1.4s ease-in-out infinite}\n.bt-mem-skel-block .bt-mem-skel-head{width:30%;height:16px;margin-bottom:2px}\n@keyframes bt-mem-skel{from{background-position:150% 0}to{background-position:-50% 0}}\n.bt-mem-skel-label{font-size:13px;line-height:18px;color:var(--bt-ink-3)}\n.bt-mem-empty{margin:auto;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:24px 0;animation:bt-mem-line .45s cubic-bezier(.16,1,.3,1) both}\n.bt-mem-empty-mark{width:48px;height:48px;border-radius:50%;background:var(--bt-hover);display:flex;align-items:center;justify-content:center;color:var(--bt-ink-2);margin-bottom:4px}\n.bt-mem-empty-mark svg{width:22px;height:22px}\n.bt-mem-empty-title{font-size:15px;line-height:22px;font-weight:600}\n.bt-mem-empty-text{font-size:13px;line-height:20px;color:var(--bt-ink-2)}\n.bt-mem-failed{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--bt-hover);font-size:13px;line-height:18px;color:var(--bt-ink-2)}\n.bt-mem-failed>span{flex:1;min-width:0;overflow-wrap:anywhere}\n.bt-mem-entries{display:flex;flex-direction:column;gap:28px;animation:bt-page-in ").concat(b1.duration,"ms ").concat(b1.easing,",bt-veil-in .22s ease-out}\n.bt-mem-section-head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}\n.bt-mem-section-head h3{margin:0;font-size:15px;line-height:22px;font-weight:600}\n.bt-mem-section-head span{font-size:12px;line-height:16px;color:var(--bt-ink-3)}\n.bt-mem-section-head .bt-mem-size{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}\n.bt-mem-topic{font-size:12px;line-height:16px;color:var(--bt-ink-2);margin:14px 0 2px 4px;font-weight:500}\n.bt-mem-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}\n.bt-mem-entry{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:.5px solid var(--bt-line);transition:opacity .2s ease}\n.bt-mem-entry[data-busy]{opacity:.4}\n.bt-mem-entry-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}\n.bt-mem-entry-text{font-size:14px;line-height:20px;overflow-wrap:anywhere}\n.bt-mem-entry-meta{font-size:12px;line-height:16px;color:var(--bt-ink-3);font-variant-numeric:tabular-nums}\n.bt-mem-remove{flex:none;height:28px;min-width:28px;border-radius:999px;border:0;background:none;color:var(--bt-ink-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0 6px;font:inherit;font-size:12px;opacity:0;transition:opacity .12s ease,background-color .12s ease,color .12s ease}\n.bt-mem-entry:hover .bt-mem-remove,.bt-mem-remove:focus-visible,.bt-mem-remove[data-confirm]{opacity:1}\n.bt-mem-remove:hover{background:var(--bt-hover);color:var(--bt-ink)}\n.bt-mem-remove[data-confirm]{background:rgba(224,33,53,.1);color:#e02135;padding:0 10px}\n@media (hover:none){.bt-mem-remove{opacity:1}}\n.bt-mem-none{font-size:13px;line-height:18px;color:var(--bt-ink-3);padding:8px 4px}\n.bt-mem-foot{flex:none;padding:8px 20px 20px;display:flex;flex-direction:column;gap:10px}\n.bt-mem-reply{border-radius:16px;background:var(--bt-hover);padding:8px 8px 12px 16px;display:flex;flex-direction:column;gap:6px;max-height:36vh;overflow-y:auto;scrollbar-width:thin;transform-origin:50% 100%;animation:bt-pop-lift ").concat(b1.duration,"ms ").concat(b1.easing,",bt-veil-in .2s ease-out}\n.bt-mem-reply-head{display:flex;align-items:center;gap:8px;min-height:24px}\n.bt-mem-reply-asked{flex:1;min-width:0;font-size:12px;line-height:16px;color:var(--bt-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-mem-reply .bt-icon-btn{width:24px;height:24px;flex:none}\n.bt-mem-reply-text{font-size:14px;line-height:21px;padding-right:8px;overflow-wrap:anywhere}\n.bt-mem-changes{list-style:none;margin:2px 0 0;padding:0 8px 0 0;display:flex;flex-direction:column;gap:4px}\n.bt-mem-changes li{display:flex;align-items:flex-start;gap:6px;font-size:13px;line-height:18px;color:var(--bt-ink-2);overflow-wrap:anywhere}\n.bt-mem-changes li svg{flex:none;margin-top:1px;color:#e02135;animation:bt-check-pop ").concat(G1.duration,"ms ").concat(G1.easing," .12s backwards}\n.bt-mem-changes li[data-ok] svg{color:var(--bt-green)}\n.bt-mem-ask{display:flex;align-items:center;gap:8px;height:52px;padding:0 8px 0 22px;border-radius:999px;border:.5px solid var(--bt-line-2);background:var(--bt-card);box-shadow:0 4px 16px rgba(0,0,0,.06);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}\n.bt-mem-ask:focus-within{border-color:var(--bt-ink-3);box-shadow:0 4px 20px rgba(0,0,0,.1)}\n.bt-mem-input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--bt-ink);font:inherit;font-size:15px;line-height:22px;padding:0}\n.bt-mem-input::placeholder{color:var(--bt-ink-3)}\n.bt-mem-send{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:var(--bt-ink);color:var(--bt-main);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:opacity .15s ease,").concat(w0(q1,"scale"),"}\n.bt-mem-send:disabled{opacity:.22;cursor:default}\n.bt-mem-send:not(:disabled):active{scale:.92}\n.bt-mem-send>*{animation:bt-check-pop ").concat(G1.duration,"ms ").concat(G1.easing,"}\n.bt-mem-spin{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;box-sizing:border-box;animation:bt-mem-spin .7s linear infinite}\n@keyframes bt-mem-spin{to{transform:rotate(360deg)}}\n@media (max-width:640px){.bt-mem{width:100vw;height:100%;border-radius:0;border:0}.bt-mem-body{padding:18px 18px 20px}.bt-mem-foot{padding:8px 12px 12px}}\n@media (prefers-reduced-motion:reduce){.bt-mem,.bt-mem-scrim,.bt-mem-summary>*,.bt-mem-empty,.bt-mem-reply,.bt-mem-skel-block span,.bt-mem-entries,.bt-mem-send>*,.bt-mem-changes li svg{animation:none}}\n\n.bt-thumb{position:absolute;left:0;top:0;z-index:0;pointer-events:none;transition:opacity .14s ease}\n.bt-thumb[data-hidden]{opacity:0}\n[data-morph]{overflow:hidden!important}\n.bt-veil{animation:bt-veil-in .22s ease-out}\n.bt-with-icon{display:inline-flex;align-items:center;gap:4px}\n.bt-with-icon svg{width:14px;height:14px}\n.bt-tag-admin{display:inline-flex;align-items:center;gap:4px}\n.bt-create-inline{padding:18px 16px;border:1px solid var(--bt-line);border-radius:12px;background:var(--bt-card)}\n.bt-create-inline .bt-create-card{max-width:none}\n.bt-panel-view>[data-move=in]{animation:bt-page-in ").concat(b1.duration,"ms ").concat(b1.easing," backwards,bt-veil-in .2s ease-out backwards}\n.bt-panel-view>[data-move=out]{animation:bt-page-out ").concat(b1.duration,"ms ").concat(b1.easing," backwards,bt-veil-in .2s ease-out backwards}\n.bt-panel-view>:is([data-move=in],[data-move=out]):nth-child(2){animation-delay:25ms}\n.bt-panel-view>:is([data-move=in],[data-move=out]):nth-child(n+3){animation-delay:50ms}\n.bt-panel-view>.bt-drawer-body[data-move=tab]{animation:bt-veil-in .2s ease-out}\n.bt-drawer-name-input{animation:bt-veil-in .16s ease-out}\n.bt-pop-in{display:inline-flex;animation:bt-check-pop ").concat(G1.duration,"ms ").concat(G1.easing,"}\n:is(.bt-soft,.bt-send,.bt-icon-btn,.bt-settings-close,.bt-mini,.bt-tab,.bt-nc-send,.bt-avedit-tab,.bt-shape,.bt-pick,.bt-swatch,.bt-palette-clear){transition:background-color .12s ease,color .12s ease,border-color .12s ease,opacity .12s ease,").concat(w0(q1,"scale"),"}\n:is(.bt-icon-btn,.bt-settings-close,.bt-nc-send,.bt-shape,.bt-swatch,.bt-color,.bt-x,.bt-q-x,.bt-palette-clear):active:not(:disabled){scale:.9}\n:is(.bt-soft,.bt-send,.bt-mini,.bt-tab,.bt-avedit-tab,.bt-pick,.bt-q-submit,.bt-q-btn):active:not(:disabled){scale:.96}\n@media (prefers-reduced-motion:reduce){.bt-thumb{transition:none}.bt-panel-view>[data-move],.bt-drawer-name-input,.bt-veil,.bt-pop-in,.bt-token,.bt-drop,.bt-newchat,.bt-option-hint,.bt-connector-form,.bt-settings-head>*{animation:none}}\n"),Nz='\n.bt-think{font-size:13px;line-height:18px;color:var(--bt-ink-2);margin:2px 0 4px;max-width:min(560px,78%)}\n.bt-think summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;white-space:nowrap}\n.bt-think summary::-webkit-details-marker{display:none}\n.bt-think-caret{display:inline-block;transition:transform .15s;font-size:14px;line-height:1}\n.bt-think[open] .bt-think-caret{transform:rotate(90deg)}\n.bt-think-peek{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bt-ink-3)}\n/* Opened, the body prints that same first line again, so the preview steps aside (#1636). */\n.bt-think[open] .bt-think-peek{display:none}\n.bt-person-mark{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bt-ink-5,rgba(20,20,20,.08));color:var(--bt-ink-3,rgba(20,20,20,.45))}\n.bt-person-initial{color:#fff;font-weight:600;line-height:1;user-select:none}\n.bt-person-msg .bt-group-name{color:var(--bt-ink-2,rgba(20,20,20,.7))}\n/* A person\'s typed line keeps its line breaks, as on the sender\'s side (#455): Markdown would join them. */\n.bt-person-msg .bt-bubble :is(p,li){white-space:pre-line}\n.bt-remote-handle{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-weight:400;color:var(--bt-ink-3,rgba(20,20,20,.36))}\n.bt-think-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px;padding-left:10px;border-left:2px solid var(--bt-line-2)}\n.bt-event{display:flex;justify-content:center;align-items:center;gap:2px;min-height:24px;margin:2px 0;font-size:12px;line-height:16px;color:var(--bt-ink-2);flex-wrap:wrap}\n.bt-event>span{padding:0 2px}\n.bt-event button{border:0;background:none;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:4px;cursor:pointer;height:24px;padding:4px 6px 4px 4px;border-radius:999px;box-sizing:border-box;transition:background-color .12s ease}\n.bt-event button:hover{background:var(--bt-hover)}\n.bt-event button:active{background:var(--bt-active)}\n.bt-event button.bt-event-whole{min-width:0;max-width:100%;padding:4px 6px 4px 8px}\n.bt-event-whole>*{flex:none}\n.bt-event-whole>span:first-child{margin-right:2px}\n/* One button cannot wrap like separate parts, so a long name is cut to fit the chat. */\n.bt-event-whole>.bt-event-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-time-sep{display:flex;justify-content:center;align-items:center;height:28px;margin:14px 0 8px;font-size:12px;line-height:16px;color:var(--bt-ink-2);white-space:nowrap}\n[class*="_scroll"]>[class*="_column"]::before{content:var(--bt-first-sep,none);display:block;flex:none;height:28px;margin:17px 0 12px;font-size:12px;line-height:28px;text-align:center;color:var(--bt-ink-2);white-space:nowrap}\n.bt-group-replies{display:contents}\n/* A Bot chat is flat in every work-details mode, without changing the user\'s mode\n (it is a DSH-wide setting): step groups lose their header and stay open, and what a\n mode folds away in a finished turn stays shown. TurnProcessCell also opens that\n fold; these rules cover the first frame before it does. */\n[data-step-process]>div:first-child{display:none!important}\n[data-step-process]>[data-step-process-body]{display:block!important;content-visibility:visible!important;max-height:none!important;overflow:visible!important;mask-image:none!important;scrollbar-gutter:auto!important}\n:is([data-step-process],[data-turn-process-hidden])[hidden]{content-visibility:visible!important}\n[class*="_flowItem"]:has(> [data-slot="conversation.chat.node"]:empty){display:none!important}\n/* FlyBot\'s pill rides the shell\'s own Session header utilities, beside the seats\n the native header renders (actions: the subagent catalog; lineage; corner).\n It is a compact control in that row now, not a floating replacement for the\n whole header, so the header keeps its own layout, border and drag row. */\n[class*="_header"] .bt-head{display:flex;align-items:center;height:auto;flex:none;width:auto;pointer-events:auto}\n[class*="_header"] .bt-head .bt-pill{height:30px;padding:3px 10px 3px 4px;gap:6px;font-size:13px;line-height:18px;max-width:min(320px,32vw)}\n[class*="_header"] .bt-head .bt-pill:has(.bt-pill-name-face){height:auto;min-height:30px;align-items:flex-start}\n/* The session breadcrumb is a 244px nowrap line (#1102). Two lines keep\n "Face-to-face \xB7 SelfA1025, SelfB1025 \xB7 739184" inside that box. */\n[class*="_header"] [class*="switcherTitle"]{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis}\n[class*="_header"] [class*="switcherTrigger"]{height:auto;align-items:flex-start}\n[class*="_header"] .bt-head .bt-mark{width:22px!important;height:22px!important;--bt-size:22px}\n/* #1347: "Standard mode" beside the title reads as a control \u2014 a filled chip with an icon \u2014 but the\n shell draws it as a span with no click handler (dsh-client-ui-agent-preset, AgentPresetLabel):\n clicking it does nothing, and the only thing behind it is a hover title. In a Bot chat the mode is\n fixed for the whole Session anyway, so the chip becomes what it is: a status word on the title\'s\n line. No fill, no radius, muted ink, and the description stays on hover. */\n[data-slot="conversation.session.header.actions"] [class*="_label"]{background:none;border-radius:0;color:var(--bt-ink-3);cursor:help;pointer-events:auto}\n[data-slot="conversation.session.header.actions"] [class*="_label"] svg{opacity:.7}\n[class*="_body"]:has(> [class*="_scrollBody"]){--dsh-chat-content-width:min(960px,100%)}\n/* DSH\'s turn tail keeps what plugins put in it (delivered files, the Bot\'s separators),\n without its copy and branch row; a tail with nothing in it takes no room. */\n[data-turn-tail]>:not([data-slot="conversation.chat.turnTail"]):not(.bt-typing){display:none!important}\n[class*="_flowItem"][data-chat-flow-kind="turn-tail"]:not(:has([data-slot="conversation.chat.turnTail"]:not(:empty))):not(:has([data-turn-tail]>.bt-typing)){display:none!important}\n/* #1347: the thread must never paint above a dialog, a sheet or a scrim.\n The chat column had no stacking context of its own (position:static, z-index:auto), so nothing\n inside it was boxed in: anything the browser promoted to its own composited layer \u2014 an entrance\n animation (bt-row-in animates a transform), a filter, a will-change, a scroll container\'s sticky\n descendant \u2014 was ordered against the ROOT stacking context instead of against the column. A\n dialog\'s layer is a z-index box at the root, so a promoted bubble could sort above it, which is\n exactly what the owner\'s screenshots show: a right-aligned pill at full opacity across the Tasks\n dialog and over the Inbox scrim, while the same pill sat under it in a plain DOM walk. Giving the\n column its own stacking context (isolation:isolate) paints every descendant inside it, and its\n z-index:0 keeps all of that below .bt-pane (45), .bt-panel (40) and the dialog layers at 120/121\n whatever any single bubble does. contain:paint is deliberately NOT used: it would clip the\n popovers the thread legitimately renders (reaction strip, message menu), which portal to body\n for exactly that reason. */\n/* Every team Session belongs to a Bot or a group, so a blank one is an empty chat, not\n the shell\'s new-session hero: no headline, no workspace or mode picker, and the\n composer stays docked at the bottom. */\n[data-content-phase=hero] [class*="_scrollBody"]{justify-content:flex-end!important}\nbody[data-bt-remote-chat=empty][data-content-phase=hero] [class*="_scrollBody"]::before{content:var(--bt-remote-empty);display:block;text-align:center;color:var(--bt-ink-3);font-size:13px;line-height:18px;padding:16px 12px 8px;max-width:var(--dsh-chat-content-width,min(960px,100%));margin:0 auto;white-space:pre-wrap}\n[data-content-phase=hero] [class*="_composerHero"]{align-self:stretch!important;width:auto!important;padding-bottom:0!important}\n[data-content-phase=hero] [class*="_composerHero"]>[class$="_root"],[data-content-phase=hero] [class*="_heroWorkspaceRow"]{display:none!important}\n[data-content-phase=hero] [class*="_composerHero"] [class*="_input"]{min-height:0!important}\n/* The right sides give back the scrollbar gutter so both edges sit 16px from the column. */\n[class*="_scroll"]:has(> [class*="_column"]){padding:60px 11px 16px 16px!important}\n/* The shell\'s running status only hosts the activity row (.bt-typing). */\n[data-chat-running]{display:block!important;width:100%;min-height:0!important;margin:0!important;padding:0!important}\n[data-chat-running]>span:not([role=status]){display:none!important}\n[data-chat-running]:has(> .bt-typing){margin-top:var(--dsh-chat-flow-gap,12px)!important}\n.bt-busy-ack{display:flex;align-items:flex-end;gap:8px;width:100%;margin-top:var(--dsh-chat-flow-gap,12px);margin-bottom:4px}\n.bt-busy-ack .bt-astack{align-items:flex-start}\n.bt-busy-ack .bt-bubble{opacity:.92}\n.bt-busy-dots{display:inline-flex;align-items:center;gap:4px;height:22px}\n.bt-busy-dots>span{width:5px;height:5px;border-radius:50%;background:var(--bt-ink-3);animation:bt-busy-blink 1.2s ease-in-out infinite}\n.bt-busy-dots>span:nth-child(2){animation-delay:.2s}.bt-busy-dots>span:nth-child(3){animation-delay:.4s}\n@keyframes bt-busy-blink{0%,80%,100%{opacity:.25}40%{opacity:1}}\n@media (prefers-reduced-motion:reduce){.bt-busy-dots>span{animation:none;opacity:.6}}\n.bt-typing{display:flex;align-items:center;gap:12px;height:36px;min-width:0;padding-inline-start:8px;transform-origin:0 50%;animation:bt-typing-in '.concat(q1.duration,"ms ").concat(q1.easing," backwards}\n.bt-typing[data-exiting]{animation:bt-typing-out .14s cubic-bezier(.22,1,.36,1) forwards}\n.bt-typing[data-carry],.bt-typing[data-carry]>.bt-typing-text{animation:none}\n/* Between a friend's chat turns the row sits in the last turn's tail (#443), at the transcript's foot. */\n[data-turn-tail]>.bt-typing{margin-top:var(--dsh-chat-flow-gap,12px)}\n.bt-typing>.bt-mark,.bt-typing>.bt-cluster{flex-shrink:0}\n.bt-typing>.bt-mark{cursor:pointer;transition:filter .16s ease-out}\n.bt-typing>.bt-mark:hover{filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}\n.bt-typing>.bt-mark .bt-eyes{transition:scale .28s cubic-bezier(.4,.06,.18,1)}\n.bt-typing>.bt-mark:hover .bt-eyes{scale:1.18}\n.bt-typing-text{display:flex;align-items:center;flex:1 1 auto;min-width:0;animation:bt-typing-label .22s ease-out .2s backwards}\n.bt-typing-label{display:inline-flex;align-items:center;gap:6px;min-width:0;animation:bt-typing-label .22s ease-out backwards}\n.bt-typing-label>.bt-shimmer{font-size:14px;line-height:22px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.bt-typing-time{flex-shrink:0;font-size:12px;line-height:22px;color:var(--bt-ink-3);white-space:nowrap}\n@keyframes bt-typing-in{from{opacity:0;transform:scale(.9)}}\n@keyframes bt-typing-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92);filter:blur(3px)}}\n@keyframes bt-typing-label{from{opacity:0;filter:blur(5px);transform:translateY(3px)}}\n/* Shimmer: a stepped sweep clipped to the text. */\n.bt-shimmer{color:transparent;background:linear-gradient(90deg,var(--bt-shimmer-base) 0%,var(--bt-shimmer-base) 25%,var(--bt-ink) 60%,var(--bt-shimmer-base) 75%,var(--bt-shimmer-base) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:bt-shimmer 2.2s steps(60) infinite;--bt-shimmer-base:color-mix(in srgb,var(--bt-ink) 40%,transparent)}\n@keyframes bt-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}\n/* New rows slide up; a reply that replaces the activity row grows out of its corner. */\n[data-bt-enter=\"new\"]{animation:bt-row-in ").concat(b1.duration,"ms ").concat(b1.easing,'}\n[data-bt-enter="after-collapse"]{transform-origin:0 100%;animation:bt-row-after .24s cubic-bezier(.23,1,.32,1) .38s backwards}\n@keyframes bt-row-in{from{transform:translateY(12px)}to{transform:none}}\n@keyframes bt-row-after{0%{opacity:0;transform:translateY(12px) scale(.94)}55%{opacity:1}100%{opacity:1;transform:none}}\n@media (prefers-reduced-motion:reduce){\n.bt-typing,.bt-typing[data-exiting]{animation-name:bt-fade-in;animation-duration:.12s;transform:none}\n.bt-typing[data-exiting]{animation-name:bt-fade-out}\n.bt-typing-text,.bt-typing-label{animation-name:bt-fade-in;animation-delay:0s}\n.bt-shimmer{animation:none;background:none;color:var(--bt-ink-2)}\n[data-bt-enter="new"]{animation:none}\n[data-bt-enter="after-collapse"]{animation:bt-fade-in .12s ease-out}\n}\n@keyframes bt-fade-in{from{opacity:0}to{opacity:1}}\n@keyframes bt-fade-out{from{opacity:1}to{opacity:0}}\n[data-composer-card]{display:flex!important;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0!important;min-height:44px;border-radius:22px!important;padding:7.5px!important;box-sizing:border-box;background:var(--bt-main)!important;border:.5px solid var(--bt-line-2)!important;box-shadow:0 2px 8px -1px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.03),0 0 0 1px rgba(228,228,228,.04)!important;transition:border-color .15s ease,background-color .15s ease,').concat(w0(b1,"border-radius"),'!important}\n[data-composer-card]:hover{border-color:color-mix(in srgb,var(--bt-ink) 30%,transparent)!important}\n[data-composer-card]:focus-within{border-color:color-mix(in srgb,var(--bt-ink) 55%,transparent)!important}\n[data-composer-card]:has(> [data-slot="conversation.input.attachments"] *),[data-composer-card]:has([data-composer-input] br + *),[data-composer-card]:has([data-composer-input] > :nth-child(2)){border-radius:18px!important}\n[class*="_root"]:has(> [data-composer-card]){padding:0 11px 13px 16px!important}\n[class*="_root"]:has(> [data-composer-card])>[data-composer-card]{max-width:min(992px,100%)!important}\n[data-composer-card]>[class*="_row"]{display:contents!important}\n[data-composer-card] [class*="_tools"]{order:1;flex:none;align-self:flex-end;margin:0}\n[data-composer-card]>[data-input-scroll]{order:2;flex:1 1 0;min-width:0;padding:0 8px!important;margin:0!important}\n[data-composer-card] [class*="_trailing"]{order:3;flex:none;align-self:flex-end;margin:0}\n[data-composer-card]>[data-slot="conversation.input.attachments"]{order:0;flex-basis:100%}\n[data-composer-card] [data-composer-input]{min-height:24px;padding:2px 0!important}\n[data-composer-card] [data-composer-placeholder]{left:0!important;top:2px!important}\n[data-composer-placeholder]{font-size:0!important;line-height:0!important}\n/* A friend\'s Bot chat: no local run stats (they are relay turns, always 0; #419). */\nbody[data-bt-friend-chat] [data-composer-stats]{display:none!important}\n[data-composer-placeholder]::after{content:var(--bt-placeholder,"Message");display:block;font-size:14px;line-height:24px;color:color-mix(in srgb,var(--bt-ink) 36%,transparent)}\n/* The team\'s "+" (ComposerPlus) takes the seat of the shell\'s command-menu button. */\n[data-composer-card] button[class*="_add"]{display:none!important}\n.bt-plus{flex:none;width:28px;height:28px;padding:0;border:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bt-ink) 5%,transparent);box-shadow:inset 0 0 0 .5px var(--bt-line);color:var(--bt-ink-2);cursor:pointer;transition:background-color .15s ease,color .15s ease,').concat(w0(q1,"scale"),"}\n.bt-plus:hover,.bt-plus[aria-expanded=true]{background:color-mix(in srgb,var(--bt-ink) 10%,transparent);color:var(--bt-ink)}\n.bt-plus:active{scale:.9}\n.bt-plus svg{width:14px;height:14px;transition:").concat(w0(G1,"rotate"),'}\n.bt-plus[aria-expanded=true] svg{rotate:45deg}\n.bt-plus-menu{min-width:180px}\n[data-composer-card] [class*="_tools"]{gap:0!important}\n[data-composer-card] [class*="_modes"]:empty{display:none!important}\n[data-composer-card] [class*="_activity"]:not(:has([data-slot] > *)){display:none!important}\n[data-composer-card] [class*="_trailing"]{gap:8px}\n[data-composer-card] [class*="_standardControls"]{display:flex;align-items:center;gap:8px}\n[data-composer-card] button[class*="_primary"]{width:28px!important;height:28px!important;background:var(--bt-accent)!important;color:var(--bt-accent-ink,#fff)!important;border-radius:50%!important;transition:opacity .15s ease,').concat(w0(q1,"scale"),";animation:bt-icon-swap ").concat(G1.duration,"ms ").concat(G1.easing,'}\n[data-composer-card] button[class*="_primary"]:hover:not(:disabled){opacity:.9}\n[data-composer-card] button[class*="_primary"]:active:not(:disabled){scale:.9}\n@keyframes bt-icon-swap{from{opacity:0;transform:scale(.5) rotate(-30deg)}}\n[data-composer-card] button[class*="_primary"] svg{width:14px;height:14px}\n[data-composer-card] button[class*="_primary"]:disabled{display:none!important}\n[data-composer-dock]{display:none!important}\n.bt-mic,.bt-voice{flex:none;width:28px;height:28px;border-radius:50%;border:0;padding:0;display:inline-grid;place-items:center;cursor:pointer;transition:background-color .15s ease,color .15s ease,').concat(w0(q1,"scale"),"}\n.bt-mic{background:color-mix(in srgb,var(--bt-ink) 5%,transparent);box-shadow:inset 0 0 0 .5px var(--bt-line);color:var(--bt-ink-2)}\n.bt-mic:hover{background:color-mix(in srgb,var(--bt-ink) 10%,transparent);color:var(--bt-ink)}\n.bt-mic[aria-pressed=true]{background:#ff3e51;color:#fff;animation:bt-mic-pulse 1.4s ease-in-out infinite}\n@keyframes bt-mic-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,62,81,.35)}50%{box-shadow:0 0 0 5px rgba(255,62,81,0)}}\n.bt-voice{display:none;background:var(--bt-accent);color:var(--bt-accent-ink,#fff);animation:bt-icon-swap ").concat(G1.duration,"ms ").concat(G1.easing,'}\n.bt-voice:hover{opacity:.9}\n.bt-mic:active,.bt-voice:active{scale:.9}\n[data-composer-card]:has(button[class*="_primary"]:disabled) .bt-voice{display:inline-grid}\nbody[data-bt-room] .bt-voice{display:none!important}\nbody[data-bt-room] [data-composer-card] [class*="_activity"]{display:none!important}\nbody[data-bt-room] [data-composer-card]:has(button[class*="_primary"]:disabled) .bt-mic:not([aria-pressed=true]){background:var(--bt-accent);color:var(--bt-accent-ink,#fff)}\nbody[data-bt-workflow] [data-composer-card]{display:none!important}\n.bt-mic-note{position:absolute;right:12px;bottom:calc(100% + 8px);padding:5px 10px;border-radius:8px;background:var(--bt-user);color:var(--bt-user-ink);font-size:12px;line-height:16px;white-space:nowrap;pointer-events:none;animation:bt-rise .16s ease-out}\n[data-chain-overlay-fallback="conversation.composer"]:has(~ .bt-q){display:block!important;order:2}\n.bt-q{order:1}\ndiv:has(> nav [class*="_marks"]){display:none!important}\n/* Every user-side bubble (sent, steering mid-turn, not yet admitted, question replies)\n takes its surface and its text from the one --bt-user pair: a skin that repaints\n the host\'s bubble surface alone would otherwise leave the text unreadable. */\n[class*="_userRow"] [class*="_bubble"],[data-chat-flow-kind=question-reply] [class*="_bubble"],[data-chat-flow-kind=command-input] [class*="_bubble"]{background:var(--bt-user)!important;color:var(--bt-user-ink)!important;border-radius:18px!important;padding:7px 12px!important;font-size:var(--dsh-content-font-size,14px)!important;line-height:calc(var(--dsh-content-font-size,14px) + 8px)!important}\n[class*="_userRow"] [class*="_bubble"] [class*="_markdown"],[class*="_userRow"] [class*="_bubble"] a{color:inherit}\n/* Sent messages get the hover toolbar below; steering and unsent bubbles keep none. */\n[class*="_userRow"] [class*="_actions"]{display:none!important}\n[data-chat-flow-kind=user] [class*="_userRow"]{flex-direction:row-reverse;align-items:center;justify-content:flex-start}\n[data-chat-flow-kind=user] [class*="_actions"]{display:flex!important;height:24px!important;gap:2px!important;opacity:0!important;visibility:hidden;transition:opacity .12s ease,visibility .12s!important;flex:none}\n[data-chat-flow-kind=user] [class*="_userRow"]:hover [class*="_actions"],[data-chat-flow-kind=user] [class*="_userRow"]:focus-within [class*="_actions"]{opacity:1!important;visibility:visible}\n[data-chat-flow-kind=user] [class*="_actions"] [class*="_timeStart"]{display:none}\n[data-chat-flow-kind=user] [class*="_actions"] button{width:24px;height:24px;border-radius:6px;color:var(--bt-ink-2)}\n[data-chat-flow-kind=user] [class*="_actions"] button:hover{background:var(--bt-hover);color:var(--bt-ink)}\n[data-chat-flow-kind=user] [class*="_actions"] svg{width:15px;height:15px}\n.bt-q-inline{display:flex;margin:4px 0 6px}\n[data-chat-flow-kind=assistant-step]+[data-step-process]:has(.bt-q-inline){margin-top:0!important}\n[data-chat-flow-kind=question-reply]:has(.bt-q-inline),[data-chat-group-key]:has([data-chat-flow-kind=question-reply] .bt-q-inline),[data-chat-group-key]:has(.bt-q-gone){margin-top:0!important}\n.bt-q-inline .bt-q{margin:0;max-width:min(550px,86%);order:0}\n.bt-q-dock{width:100%;display:flex;justify-content:center}\n.bt-q-dock .bt-q{margin:0 auto 8px}\n[class*="_toBottomSlot"]{justify-content:center!important;padding-right:0!important}\n[data-conversation-scroll] [class*="_toBottomSlot"]{bottom:calc(var(--dsh-composer-height,152px) + 8px)!important}\n[class*="_toBottomSlot"]>button{width:36px!important;height:36px!important;margin-top:-36px!important;background:var(--bt-main)!important;color:var(--bt-ink)!important;box-shadow:0 0 0 .5px var(--bt-line-2),0 2px 8px -2px rgba(0,0,0,.12)!important;animation:bt-tobottom-in ').concat(q1.duration,"ms ").concat(q1.easing,",bt-veil-in .16s ease-out;transition:background-color .12s ease,").concat(w0(q1,"scale"),"}\n[class*=\"_toBottomSlot\"]>button:active{scale:.9}\n[class*=\"_toBottomSlot\"]>button:hover{background:color-mix(in srgb,var(--bt-ink) 4%,var(--bt-main))!important}\n[class*=\"_toBottomSlot\"]>button svg{display:none}\n[class*=\"_toBottomSlot\"]>button::before{content:\"\";width:20px;height:20px;background:currentColor;-webkit-mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4v12M5 11l5 5 5-5'/%3E%3C/svg%3E\") center/contain no-repeat;mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4v12M5 11l5 5 5-5'/%3E%3C/svg%3E\") center/contain no-repeat}\n@keyframes bt-tobottom-in{from{translate:0 8px;scale:.8}}\n[data-bt-news] [class*=\"_toBottomSlot\"]>button{visibility:hidden!important;pointer-events:none!important}\n.bt-news{position:fixed;z-index:30;transform:translateX(-50%);display:inline-flex;align-items:center;overflow:hidden;border-radius:999px;background:#0c64c1;color:#fcfcfc;box-shadow:inset 0 0 0 1px rgba(20,20,20,.05),0 1px 3px 0 rgba(0,0,0,.12);font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",system-ui,sans-serif;animation:bt-news-in ").concat(q1.duration,"ms ").concat(q1.easing,',bt-veil-in .16s ease-out}\n@keyframes bt-news-in{from{translate:0 8px;scale:.9}}\n.bt-news[data-direction=up]{animation-name:bt-news-in-up,bt-veil-in}\n@keyframes bt-news-in-up{from{translate:0 -8px;scale:.9}}\n.bt-news-jump{display:inline-flex;align-items:center;gap:2px;margin:0;padding:4px 26px 4px 4px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-size:13px;line-height:18px;white-space:nowrap;cursor:pointer;outline:none}\n.bt-news-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}\n.bt-news-ico svg{width:16px;height:16px}\n.bt-news-x{position:absolute;right:4px;top:50%;z-index:1;transform:translateY(-50%);width:20px;height:20px;padding:0;border:0;border-radius:999px;background:transparent;color:inherit;opacity:.75;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}\n.bt-news-x svg{width:12px;height:12px}\n.bt-news-x:hover{opacity:1;background:rgba(20,20,20,.5)}\n@media (prefers-reduced-motion:reduce){.bt-news,[class*="_toBottomSlot"]>button{animation:none}}\n.bt-new-sep{display:flex;align-items:center;gap:8px;margin:14px 0 8px;padding:2px 0;font-size:11px;line-height:14px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:#0c64c1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}\n.bt-new-sep::before,.bt-new-sep::after{content:"";flex:1;height:1px;background:color-mix(in srgb,#0c64c1 20%,transparent)}\n.bt-open-new{display:flex;flex-direction:column}\n.bt-open-new .bt-new-sep{margin:18px 0 0}\n.bt-open-new .bt-time-sep{height:16px;margin:32px 0 2px}\n.bt-earlier{display:flex;flex-direction:column;gap:6px}\n.bt-earlier-top{display:flex;justify-content:center;align-items:center;height:34px;flex:none}\n.bt-earlier-top .bt-soft{height:28px;font-size:12px;padding:0 12px}\n.bt-urow{display:flex;justify-content:flex-end}\n.bt-urow>.bt-lead{align-self:flex-end;margin-left:6px}\n.bt-ububble{max-width:min(560px,78%);background:var(--bt-user);color:var(--bt-user-ink);border-radius:18px;padding:7px 12px;font-size:14px;line-height:20px;box-sizing:border-box;overflow-wrap:anywhere}\n.bt-ububble [class*="_markdown"],.bt-ububble a{color:inherit!important}\n.bt-ububble p{margin:0;line-height:22px}\n.bt-uimages{display:block;font-size:12px;opacity:.7}\n.bt-earlier .bt-event{margin:4px 0}\n.bt-part-line{display:flex;align-items:center;gap:10px;margin:10px 0 6px;font-size:11px;line-height:14px;color:var(--bt-ink-3)}\n.bt-part-line::before,.bt-part-line::after{content:"";flex:1;height:1px;background:var(--bt-line)}\n');function EP({source:e,roster:t,openBot:n,onQuote:a}){let i=(0,w1.useSyncExternalStore)(e.subscribe,e.getSnapshot),[r,s]=(0,w1.useState)(""),c=e.chat(),o=u=>Promise.resolve().then(u).catch(m=>{throw s(m.message),m}),l={reactions:{}},p=(u,m,d=!1)=>{let f=t.bots.find(w=>w.id===u.botId||w.role===u.speaker);return(0,w1.createElement)("article",{key:m,"data-native-message":u.kind??"assistant",...u.feishu?.messageId?{id:"feishu-message-".concat(u.feishu.messageId)}:{}},u.feishu?.rootId?(0,w1.createElement)("button",{type:"button",onClick:()=>document.getElementById("feishu-message-".concat(u.feishu.rootId))?.scrollIntoView?.({block:"center"})},"\u21AA Reply in thread"):null,(0,w1.createElement)("header",null,f?(0,w1.createElement)(n2,{bot:f,size:28}):(0,w1.createElement)(J7,{name:u.speaker}),u.speaker??(u.kind==="human"?"You":"Bot")),u.kind==="human"?(0,w1.createElement)(gl,{name:u.speaker??"You",texts:[String(u.text??"")],roster:t,selfId:f?.id,useUi:w=>w(l),actions:{quote:(w,x)=>a?.(x),openSession:w=>{t.byId[w]&&n?.(w)}}}):(0,w1.createElement)(_z,{node:{key:m,data:{turn:0,step:0,status:d?"running":"done",blocks:[{kind:"text",text:String(u.text??"")}]}},sessionId:f?.id,useRoster:w=>w(t),useUi:w=>w(l),useTurnSteps:()=>[],useTurnContext:()=>[],actions:{noteLive(){},quote:(w,x)=>{a?.(x)},openSession:w=>{t.bots.some(x=>x.id===w)&&n?.(w)}}}),(0,w1.createElement)(VP,{files:u.attachments??(u.attachmentIds??[]).map(w=>i.attachments?.find(x=>x.id===w)).filter(Boolean),read:w=>c.readAttachment(w)}))};return(0,w1.createElement)("div",{className:"bt-native-conversation",role:"log"},i.messages.map((u,m)=>p(u,u.id??m)),(i.tools??[]).map(u=>(0,w1.createElement)("details",{key:"process:".concat(u.id),"data-native-process":""},(0,w1.createElement)("summary",null,"".concat(v5(u.tool)," \xB7 ").concat(u.status)),u.text?p({text:u.text,speaker:"Tool output"},"result:".concat(u.id)):null)),(i.groupWork??[]).map(u=>(0,w1.createElement)("section",{key:u.botId},(0,w1.createElement)("header",null,u.name??"Bot"),(0,w1.createElement)(kz,{entry:{state:"work",doing:u,here:u.canStop},bot:t.byId[u.botId]??{id:u.botId},room:{id:i.binding?.personalId},now:Date.now(),actions:{stopMemberWork:(m,d)=>c.stopMember(d),reportError:m=>s(m.message)}}))),i.question?(0,w1.createElement)(K9,{sessionId:i.binding?.personalId,question:i.question,inline:!0,actions:{answerQuestion:(u,m,d)=>o(()=>c.answerQuestion(m,d)),dismissQuestion:()=>{o(()=>c.dismissQuestion(i.question.id)).catch(()=>{})}}}):null,(i.approvals??[]).map(u=>(0,w1.createElement)(o9,{key:u.id,approval:u,standing:!1,bot:t.byId[i.binding?.personalId]??{id:i.binding?.personalId,name:"Bot"},actions:{answerApproval:(m,d)=>c.answerApproval(m,d),reportError:m=>s(m.message)}})),i.binding?.personalId&&!i.binding.personalPart&&!i.groupWork?(0,w1.createElement)("div",{className:"bt-scoped-controls"},(0,w1.createElement)("button",{type:"button",onClick:()=>{o(()=>i.busy?c.stop():c.send("Continue.")).catch(()=>{})}},i.busy?"Stop reply":"Continue")):null,r?(0,w1.createElement)("p",{role:"alert"},r):null,i.live?.tool?(0,w1.createElement)("p",{role:"status","data-native-tool":""},v5(i.live.tool)):null,(i.sessions??[]).filter(u=>u.live?.tool).map(u=>(0,w1.createElement)("p",{key:"tool:".concat(u.role),role:"status","data-native-tool":""},"".concat(u.role,": ").concat(v5(u.live.tool)))),i.live?.text?p({...i.live,speaker:i.live.speaker??"Bot"},"live",!0):null,(i.sessions??[]).filter(u=>u.live?.text).map(u=>p({...u.live,speaker:u.role},"live:".concat(u.role),!0)))}function E7(e,t,n){let a=(0,Tz.createRoot)(e),i=s=>a.render(n(s));i(t);let r=()=>a.unmount();return r.update=i,r}function ZP(e,t){return E7(e,t,({source:n,bots:a=[],openBot:i,onQuote:r})=>{let s=a.map(({id:o,name:l,role:p})=>({id:o,name:l,role:p})),c={roomsById:{},exchangeTurns:{},remoteTypedTurns:{},bots:s,byId:Object.fromEntries(s.map(o=>[o.id,o]))};return(0,w1.createElement)(EP,{source:n,roster:c,openBot:i,onQuote:r})})}var FP=Hz+Nz+_l+fl;function jP(e,t){return E7(e,t,({bots:n=[],rooms:a=[],mainBotIds:i=[],selectedId:r,openSession:s,openDetails:c})=>{n=n.map(l=>({...l,sessionId:l.sessionId??l.id}));let o={bots:n,rooms:a,mainBotIds:i,mainBotId:i[0],byId:Object.fromEntries(n.map(l=>[l.id,l])),roomsById:Object.fromEntries(a.map(l=>[l.id,l])),exchangeTurns:{},remoteTypedTurns:{},questions:{}};return(0,w1.createElement)(jz,{roster:o,selectedId:r,openSession:s,openDetails:c})})}function HP(e,t){return E7(e,t,n=>(0,w1.createElement)(vl,n))}function NP({worker:e,answer:t}){let[n,a]=(0,w1.useState)(""),i=e.pending;return i.kind!=="permission"?(0,w1.createElement)(vl,{chat:{send:r=>t({text:r})},onError:r=>a(r.message)}):(0,w1.createElement)("div",null,(0,w1.createElement)(o9,{approval:{id:i.id,tool:i.request?.name??"Runtime action",reason:i.request?.description??"",answerable:!0},bot:{id:e.id,name:e.role},standing:!1,actions:{answerApproval:(r,s)=>t({requestId:r,allow:s==="allow"}),reportError:r=>a(r.message)}}),n?(0,w1.createElement)("p",{role:"alert"},n):null)}function TP(e,t){return E7(e,t,n=>(0,w1.createElement)(NP,n))}function VP({files:e,read:t}){let[n,a]=(0,w1.useState)({}),[i,r]=(0,w1.useState)(""),s=(0,w1.useRef)(!0);(0,w1.useEffect)(()=>()=>{s.current=!1},[]);let c=async o=>{try{let l=await t(o);s.current&&a(p=>({...p,[o.id]:l}))}catch(l){s.current&&r(l.message)}};return(0,w1.createElement)("div",{className:"bt-scoped-attachments"},e.map(o=>{let l=n[o.id],p=l?.kind==="image"&&["image/png","image/jpeg","image/webp","image/gif"].includes(l.mediaType),u=l?.data?"data:".concat(p?l.mediaType:"application/octet-stream",";base64,").concat(l.data):null;return(0,w1.createElement)("div",{key:o.id},(0,w1.createElement)("button",{type:"button",onClick:()=>{c(o)}},"".concat(o.name??"Attachment").concat(Number.isFinite(o.bytes)?" \xB7 "+Q7(o.bytes):"")),p&&u?(0,w1.createElement)("img",{src:u,alt:o.name??"Attachment",width:240}):null,u?(0,w1.createElement)("a",{href:u,download:l.name??o.name},"Download"):null,typeof l?.text=="string"?(0,w1.createElement)("pre",null,l.text):null)}),i?(0,w1.createElement)("p",{role:"alert"},i):null)}function qP(e,t){let n=Il(t.language??navigator.language),a=E7(e,t,r=>(0,w1.createElement)(Gl,r)),i=()=>{a(),n()};return i.update=a.update,i}return Rz(IP);})(); /*! Bundled license information: react/cjs/react.production.min.js: diff --git a/patches/ds-bot/files/workbench.js b/patches/ds-bot/files/workbench.js index b7a1b4d9d..ce52f14f1 100644 --- a/patches/ds-bot/files/workbench.js +++ b/patches/ds-bot/files/workbench.js @@ -213,7 +213,10 @@ async readAttachment(file) { if (disposed || !selected || captured !== generation) throw new Error("Conversation handle is retired"); let value; - if (selected.personalId) value = await api.call("personal-space", { operation: "attachment-read", id: selected.personalId, ...selected.personalPart ? { partId: selected.personalPart } : {}, seq: file.seq, attachmentId: file.id }); + if (selected.personalId && file.feishuAppId) { + const result = await api.call("feishu", { operation: "attachment", appId: file.feishuAppId, attachmentId: file.id }); + value = { ...file, data: result.content_base64 }; + } else if (selected.personalId) value = await api.call("personal-space", { operation: "attachment-read", id: selected.personalId, ...selected.personalPart ? { partId: selected.personalPart } : {}, seq: file.seq, attachmentId: file.id }); else if (selected.roomId) value = await api.call("project-room-attachment", { projectId: selected.projectId, roomId: selected.roomId, attachmentId: file.id }); else throw new Error("Attachment is unavailable in this conversation"); if (disposed || captured !== generation) throw new Error("Conversation handle is retired"); @@ -276,6 +279,7 @@ else await conversationSource.open(binding); return conversationSource.getSnapshot(); } + const feishuActions = { feishu: (payload) => api.call("feishu", payload), connectorConnect: (_id, body) => api.call("feishu", { operation: "webhook", ...body.credentials }) }; const drafts = /* @__PURE__ */ new Map(), expanded = /* @__PURE__ */ new Map(); let runtimeTerminal, terminalTimer, terminalPolling = false, rooms, roomView, pools; async function closeTerminal() { @@ -422,6 +426,11 @@ const revoke = api.call("auth-revoke"); api.setToken(""); void closeTerminal(); + if (win.location.hash === "#/connections" || new URLSearchParams(win.location.search).has("feishu-app") && !win.location.hash) { + selected = ""; + tab = "connections"; + taskId = ""; + } personal = personalMemory = null; drafts.clear(); notice = ""; @@ -476,6 +485,12 @@ const state = await api.call("workbench-state", {}, controller.signal); if (current !== epoch || disposed) return; bootstrap = state; + if (section === "connections") { + personal = await api.call("personal-space", { operation: "list" }, controller.signal); + if (current !== epoch || disposed) return; + render(); + return; + } if (section === "personal") { const roster = await api.call("personal-space", { operation: "list" }, controller.signal); if (current !== epoch || disposed) return; @@ -944,17 +959,27 @@ ${result.text}`; for (const room of rooms?.rooms ?? []) roomNav.append(button(room.name, () => route(selected, "rooms", room.id))); sidebar.append(roomNav); } + sidebar.append(button("Connections", () => { + win.location.hash = "/connections"; + })); sidebar.append(button("All Projects", () => { win.location.hash = ""; }), button("Sign out", () => { void signOut(); })); - if (tab === "personal") { + if (tab === "connections") { + main.append(el("h1", "Connections")); + const node = el("div", null, "native-feishu-setup"); + main.append(node); + nativeIslands.register(node, nativeKey("feishu"), conversationSource, (target, options) => win.FlyBotNativeConversation.mountNativeFeishu(target, options), { actions: feishuActions, roster: { ...personal, self: bootstrap.self }, onClose: () => { + win.location.hash = "/personal"; + } }); + } else if (tab === "personal") { const chatList = el("div", null, "native-personal-list"); sidebar.append(chatList); mountPersonalList(chatList); main.append(el("h1", "Personal space"), el("p", "Your original Chief, Bots and internal group conversations. Project agents remain separate.")); - for (const bot of personal?.bots ?? []) { + for (const bot of (personal?.bots ?? []).filter((bot2) => !bot2.remote)) { const card = box(`${personal.mainBotIds.includes(bot.id) ? "Chief · " : ""}${bot.name}`, button("Open conversation", () => { win.location.hash = `/personal/${encodeURIComponent(bot.id)}`; })); diff --git a/scripts/api-contracts.mjs b/scripts/api-contracts.mjs index 0a948f6c0..297f1fae4 100644 --- a/scripts/api-contracts.mjs +++ b/scripts/api-contracts.mjs @@ -88,6 +88,8 @@ const human = { permission: 'human-self', preconditions: ['human-session'] } const projectActive = ['current-project-membership', 'active-project', 'writable-store'] const personalSource = 'core/src/host/personal-agents.js', authSource = 'core/src/host/personal-agent-auth.js' +n('feishu', obj({ operation: choice('list', 'save', 'identity', 'attachment', 'test', 'scopes', 'allow', 'configure', 'grant', 'retry', 'card-action', 'delete'), appId: { type: 'string', pattern: '^cli_[0-9a-fA-F]{16}$' }, appSecret: { ...str(8192), writeOnly: true, 'x-sensitive': true }, verificationToken: { ...str(8192), writeOnly: true, 'x-sensitive': true }, mode: choice('socket', 'http', 'disabled', 'read', 'ask', 'write'), publicUrl: str(2048), name: str(120), step: int(0, 6), botId: nullable(id), chatId: id, openId: id, memberId: id, enabled: bool, allowBots: bool, product: choice('calendar', 'docs', 'bitable', 'sheets', 'meeting', 'task'), outboxId: id, eventId: id, cardId: id, action: id, fields: json, attachmentId: id }), json, { ...human, source: 'core/src/host/feishu-service.js', preconditions: ['human-session', 'connection-owner-for-management-and-attachments', 'self-identity-link-or-platform-owner-link-to-existing-member', 'actual-linked-card-clicker'], effects: ['operation-specific-feishu-configuration-or-identity-grant-or-retry-or-card-submission'], idempotency: 'operation-specific; card-actions-deduplicated; no-unified-command-receipt', notes: 'operation defaults to list. Human-only existing Feishu connection guide; per-app ownership, allow-list, identity and Bot grants remain separate. Credentials are accepted only on save, encrypted on the host, and never returned. Generic cards never approve native tool requests.' }) + schemas.InboxClaim = result({ claimId: id, generation: int(1), expiresAt: int() }) schemas.InboxMessage = result({ version: lit('agent-inbox/v1'), id, projectId: id, agentId: id, participationId: id, kind: choice('consultation.question', 'consultation.answer', 'project.warning'), consultationId: id, taskId: nullable(id), initiativeTransferred: lit(false), requiresHuman: bool, phase: choice('pending', 'processing', 'handled', 'awaiting-approval', 'failed', 'blocked', 'superseded'), generation: int(), messageVersion: hash, createdAt: int(), updatedAt: int(), claim: nullable(ref('InboxClaim')), notification: result({ status: str(), delivery: nullable(str()), transport: nullable(choice('native', 'webhook')), attempts: int(), nextAt: nullable(int()) }), attentionRequired: bool, source: result({ query: lit('inbox.get'), messageId: id }) }) schemas.InboxConnection = result({ enabled: bool, connectionId: nullable(id), revision: int(1), verifiedAt: nullable(int()) })